[
  {
    "path": ".gitignore",
    "content": "code/\n\n*.zip\n"
  },
  {
    "path": ".ipynb_checkpoints/Getting Started - From Artificial Intelligence to Machine Learning-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "README.md",
    "content": "# machine-learning-nd\n\nUdacity's Machine Learning Nanodegree project files and notes.\n\nThis repository contains project files and lecture notes for [Udacity's Machine Learning Engineer Nanodegree program](https://www.udacity.com/course/machine-learning-engineer-nanodegree--nd009) which I started working on in September 2016.\n\nThe Machine Learning Engineer Nanodegree is an online certification. It involves\n\n1. Courses in supervised learning, unsupervised learning and reinforcement learning and\n2. Six projects (p0-p5 in this directory).\n\nCourses include lecture videos, quizzes and programming problems. These courses were developed by Georgia Tech, Udacity, Google and Kaggle.\n\nThis directory includes lecture notes (`lesson_notes`) and project code (`p0` to `p5`).\n\nSee also: [My notes for Udacity's Data Analyst Nanodegree](https://www.udacity.com/course/data-analyst-nanodegree--nd002?v=a).\n\n## Program Outline:\n\n0) Exploratory Project: Titanic Survival Exploration\n\n1. Model Evaluation and Validation\n\t- Project 1: Predicting Boston Housing Prices\n2. Supervised Learning\n\t- Project 2: Building a Student Intervention System (Predicting whether or not students will fail so schools can intervene to help them graduate)\n3. Unsupervised Learning\n\t- Project 3: Creating Customer Segments (Segmenting customers based on spending in different categories)\n4. Reinforcement Learning\n\t- Project 4: Train a Smartcab to Drive (Implement Q-learning algorithm)\n5. Machine Learning Specialisation of Choice\n"
  },
  {
    "path": "lesson-notes/.ipynb_checkpoints/Fast, Scalable Deep Learning - Alan Mosca-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Fast, Scalable Deep Learning\\n\",\n    \"- Alan Mosca\\n\",\n    \"(PhD in Deep Learning and Ensembles)\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/.ipynb_checkpoints/Healthcare - Christopher Thompson 1 Oct 2016-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Christopher Thompson: Applications of ML in Healthcare and Pharma\\n\",\n    \"\\n\",\n    \"Microbiologist at Imperial (Postdoc)\\n\",\n    \"\\n\",\n    \"1. Diagnosis DTs\\n\",\n    \"2. Imaging analysis MRI X ray Pathology 40 images per needle biopsy hours per processs\\n\",\n    \"3. Brug Discovery\\n\",\n    \"    - nwe uses for existing drugs\\n\",\n    \"    - combine 4 drgus into single therapy -> pill or injection -> 5 concentrations\\n\",\n    \"    - fastest route? HUH HOW\\n\",\n    \"    - off-target drug actions (IBS tuberculosis antibiotics) -> more DA, hmm\\n\",\n    \"4. Patient surveillance\\n\",\n    \"5. Personalised medicine or therapy\\n\",\n    \"    - data sources\\n\",\n    \"        - electronic health records: structured and unstructured (clinician notes), BoW no cancer vs cancer\\n\",\n    \"        - epidem behaviour\\n\",\n    \"    - dna (cookbook) -> rna (recipe) -> protein (meal)\\n\",\n    \"    - rna as a market of prostate cancer mestasisis (moving)\\n\",\n    \"        - diagnosis only by biopsy\\n\",\n    \"        - survival rates vary by local vs distance\\n\",\n    \"        - gen model predict P(metastasis), log loss -> penalises wrong confident preds a lot\\n\",\n    \"            - vs current can only test if cancer has mestatisised\\n\",\n    \"        - used anova, pca\\n\",\n    \"            - F stat (take with max f stat) -> filter for genes that are diff in metastasis vs normal\\n\",\n    \"        - NOTE dataset is live: what is classified as local might go to metastetic eventually. but no otehr way back.\\n\",\n    \"        - features RNA 20k + 20 clinical features, 500 patients.\\n\",\n    \"        - Gleason score :) 2 - 10 :( -> 0.3\\n\",\n    \"        - RNA -> 0.7\\n\",\n    \"        - Filter down to 20 genes\\n\",\n    \"        -> Probablity in the next X years. makes sens.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"23me? - > what's that angelo\\n\",\n    \"\\n\",\n    \"gaddaga? oh so if you see they have BLAH they won't hire them.\\n\",\n    \"- esp if attach location and ethnicity to data\\n\",\n    \"$39bn per year US health institute\\n\",\n    \"\\n\",\n    \"OCR get capture?\\n\",\n    \"\\n\",\n    \"H l 7\\n\",\n    \"Electronic health records: there are 10 competing formats.\\n\",\n    \"\\n\",\n    \"Nature vs nurture -> DNA modification, molecular tagging\\n\",\n    \"\\n\",\n    \"Alzheimers depends on Epigenetics likely.\\n\",\n    \"Combo of epigenetic and genetic\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Climate patterns\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Baxter\\n\",\n    \"Myo\\n\",\n    \"Thync\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/0-intro/.ipynb_checkpoints/Getting Started - From Artificial Intelligence to Machine Learning-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Getting Started - From Artificial Intelligence to Machine Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Artificial Intelligence: Problems and Characteristics\\n\",\n    \"\\n\",\n    \"Machine Learning: Artificial Intelligence x Data Science\\n\",\n    \"\\n\",\n    \"AI -> Cognitive Systems (thinking like humans) vs Machine Learning\\n\",\n    \"\\n\",\n    \"#### Conundrums in AI:\\n\",\n    \"1. Intelligent agents have limited resources (computational speed, memory) -> But many problems are computationally intractable.\\n\",\n    \"2. Computation is local, but problems have global constraints.\\n\",\n    \"3. Logic is deductive, but many problems are not (they are abductive or inductive).\\n\",\n    \"4. The world is dynamic, but knowledge is limited. AI agent always begins with what it knows -> How does it address new problems?\\n\",\n    \"5. Problem solving, reasoning and learning are complex, but explanation and justification are even more complex.\\n\",\n    \"\\n\",\n    \"#### Characteristics of AI Problems:\\n\",\n    \"1. Knowledge often arrives incrementally.\\n\",\n    \"2. Problems exhibit recurring patterns.\\n\",\n    \"3. Problems have multiple levels of granularity.\\n\",\n    \"4. Many problems are computationally intractable.\\n\",\n    \"5. The world is dynamic, but knowledge of the world is static.\\n\",\n    \"6. The world is open-ended, but knowledge is limited.\\n\",\n    \"\\n\",\n    \"(From [Knowledge-Based AI](https://www.udacity.com/course/knowledge-based-ai-cognitive-systems--ud409?_ga=1.192741295.463903328.1463823313))\\n\",\n    \"\\n\",\n    \"#### AI As Uncertainty Management\\n\",\n    \"AI = what to do when you don't know what to do\\n\",\n    \"\\n\",\n    \"Reasons for uncertainty:\\n\",\n    \"- Sensor limits\\n\",\n    \"- Adversaries\\n\",\n    \"- Stochastic environments (rolling dice)\\n\",\n    \"- Laziness (Can compute what situation is but too lazy to do it)\\n\",\n    \"- Ignorance (Could know something but just don't care)\\n\",\n    \"\\n\",\n    \"(From uDacity Sebastian Thrun)\\n\",\n    \"\\n\",\n    \"e.g.: Watson (answering Jeopardy questions)\\n\",\n    \"\\n\",\n    \"Process:\\n\",\n    \"- Read clue (understand natural language sentences)\\n\",\n    \"- Search through knowledge base\\n\",\n    \"- Decide on answer\\n\",\n    \"- Phrase answer\\n\",\n    \"\\n\",\n    \"Specifics:\\n\",\n    \"- Know of the potential answers (e.g. Michael Phelps, Hey Jude) and know information pertaining to the potential answers\\n\",\n    \"- Understand the statement: Interpret words in context. May need to interpret puns.\\n\",\n    \"- Know the format of the answer\\n\",\n    \"\\n\",\n    \"Core **deliberation processes**:\\n\",\n    \"1. Reasoning (read and generate natural language sentences)\\n\",\n    \"2. Learning (make decisions and see if those decisions are correct or not -> Change)\\n\",\n    \"3. Memory (Store knowledge and what we learn)\\n\",\n    \"\\n\",\n    \"[img](images/intro-1.png)\\n\",\n    \"\\n\",\n    \"#### Four schools of thought of AI\\n\",\n    \"[Four quadrants (schools of thought) of AI](images/intro-2.png)\\n\",\n    \"\\n\",\n    \"Thinking vs acting,\\n\",\n    \"Optimally vs like humans.\\n\",\n    \"\\n\",\n    \"Knowledge-based AI: interested in agents that think like humans.\\n\",\n    \"Examples:\\n\",\n    \"[Examples of applications in each school of thought of AI](images/intro-3.png)\\n\",\n    \"\\n\",\n    \"E.g. autonomous vehicle: acts (and thinks?) optimally.\\n\",\n    \"\\n\",\n    \"Patterns of knowledge-based data: AI behaviour \\n\",\n    \"\\n\",\n    \"[Categorising four examples](images/intro-4.png)\\n\",\n    \"\\n\",\n    \"### Bayes' Rule\\n\",\n    \"\\n\",\n    \"$$P(A|B) = \\\\frac{P(B|A)*P(A)}{P(B)}$$\\n\",\n    \"\\n\",\n    \"$$ Posterior = \\\\frac{Likelihood x Prior}{Marginal likelihood}$$\\n\",\n    \"\\n\",\n    \"Likelihood: If we knew the cause (A), what would be the probability of the evidence we just observed? But to correct for the inversion, we need to multiply by the prior.\\n\",\n    \"\\n\",\n    \"$$P(B) = \\\\sum_aP(B|A=a)P(A=a)$$\\n\",\n    \"\\n\",\n    \"(Total probability)\\n\",\n    \"\\n\",\n    \"#### Bayes Network\\n\",\n    \"[Bayes Network](images/intro-5.png)\\n\",\n    \"\\n\",\n    \"Number of parameters in this Bayes Network: 3. P(A), P(B|A), P(B| not A).\\n\",\n    \"\\n\",\n    \"Data is a lot about discerning unseen cause of the data that we can see.\\n\",\n    \"\\n\",\n    \"## Data Science\\n\",\n    \"\\n\",\n    \"[What is a data scientist?](images/intro-ds1.png)\\n\",\n    \"\\n\",\n    \"'Substantive Expertise':\\n\",\n    \"- Know which questions to ask\\n\",\n    \"- Can interpret the data well\\n\",\n    \"- Understands structure of the data\\n\",\n    \"\\n\",\n    \"But data scientists often work in teams so they can complement each other's strengths and weaknesses.\\n\",\n    \"\\n\",\n    \"[Data Science Process](images/intro-ds2.png)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Machine Learning\\n\",\n    \"\\n\",\n    \"What is ML?\\n\",\n    \"\\n\",\n    \"Philosophy of ML:\\n\",\n    \"- Theoretical (Michael) vs Practical (Charles)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Theoretical: ML is computational statistics that is about proving theorems.\\n\",\n    \"Practical: ML is the broader notion of building computational artifacts that learn over time based on experience. Applied stats.\\n\",\n    \"\\n\",\n    \"(They are hilarious.)\\n\",\n    \"\\n\",\n    \"Supervised learning:\\n\",\n    \"- Taking labelled datasets, gleaning info from it so you can label new datasets.\\n\",\n    \"- Function approximation\\n\",\n    \"- Approximate function induction\\n\",\n    \"-> Make assumptions about the world, e.g. well-behaved function that fits that data that is generalises.\\n\",\n    \"\\n\",\n    \"Supervised learning is about **inductive bias**. Specifics -> Generalities.\\n\",\n    \"\\n\",\n    \"Vs deduction: Generalities -> Specifics.\\n\",\n    \"\\n\",\n    \"### Induction, deduction and abduction\\n\",\n    \"\\n\",\n    \"[ida](images/intro-ida.png)\\n\",\n    \"\\n\",\n    \"Deduction: Given the rule and the cause, deduce the effect. (Proof-preserving)\\n\",\n    \"\\n\",\n    \"[d](images/intro-d.png)\\n\",\n    \"\\n\",\n    \"Induction: Given a cause and an effect, induce a rule. (Correctness not guaranteed.)\\n\",\n    \"\\n\",\n    \"[i](images/intro-i.png)\\n\",\n    \"\\n\",\n    \"Abduction: Given a rule and an effect, abduce a cause. (Correctness not guaranteed.)\\n\",\n    \"\\n\",\n    \"[a](images/intro-a.png)\\n\",\n    \"\\n\",\n    \"ML is about **inducing a rule**. The rule doesn't have to be causal - correlations are useful too.\\n\",\n    \"\\n\",\n    \"E.g. apply abductively to figure out where insider trading has occurred.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Unsupervised Learning\\n\",\n    \"\\n\",\n    \"**Description or summarisation** (vs supervised learning -> Approximation).\\n\",\n    \"Just have input, no given labels. Derive structure from input.\\n\",\n    \"\\n\",\n    \"Differences with supervised learning:\\n\",\n    \"- All ways of dividing up the world are in a way equally good (absent other signals telling you something is goood or not good).\\n\",\n    \"- Unsupervised is helpful in supervised -> Can help\\n\",\n    \"\\n\",\n    \"[unsup](images/intro-unsup.png)\\n\",\n    \"\\n\",\n    \"## Reinforcement Learning\\n\",\n    \"\\n\",\n    \"Learning from delayed reward vs supervised learning 'here's what you should do'.\\n\",\n    \"\\n\",\n    \"E.g. Playing tic-tac-toe -> lost -> learn which moves were important (bad).\\n\",\n    \"\\n\",\n    \"Reinforcement learn is in a sense harder than supervised learning because you're not told what to do.\\n\",\n    \"Like playing a game without knowing any of the rules but being told once in a while that you've won or you've lost.\\n\",\n    \"\\n\",\n    \"## Comparison of three parts of ML\\n\",\n    \"\\n\",\n    \"Supervised: Labels. \\n\",\n    \"Unsupervised: Don't know if one cluster is better than another.\\n\",\n    \"-> But there is an assumed set of labels because you're clustering.\\n\",\n    \"\\n\",\n    \"- In many cases you can formulate these problems as some sort of optimisation.\\n\",\n    \"    - SL: Labels data well\\n\",\n    \"    - RL: Behaviour scores well\\n\",\n    \"    - UL: Cluster scores well\\n\",\n    \"\\n\",\n    \"One view:\\n\",\n    \"Compsci hink in terms of algorithms, theorems vs ML data being central. Or the two being co-equal.\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/0-intro/Getting Started - From Artificial Intelligence to Machine Learning.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Getting Started - From Artificial Intelligence to Machine Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Artificial Intelligence: Problems and Characteristics\\n\",\n    \"\\n\",\n    \"Machine Learning: Artificial Intelligence x Data Science\\n\",\n    \"\\n\",\n    \"AI -> Cognitive Systems (thinking like humans) vs Machine Learning\\n\",\n    \"\\n\",\n    \"#### Conundrums in AI:\\n\",\n    \"1. Intelligent agents have limited resources (computational speed, memory) -> But many problems are computationally intractable.\\n\",\n    \"2. Computation is local, but problems have global constraints.\\n\",\n    \"3. Logic is deductive, but many problems are not (they are abductive or inductive).\\n\",\n    \"4. The world is dynamic, but knowledge is limited. AI agent always begins with what it knows -> How does it address new problems?\\n\",\n    \"5. Problem solving, reasoning and learning are complex, but explanation and justification are even more complex.\\n\",\n    \"\\n\",\n    \"#### Characteristics of AI Problems:\\n\",\n    \"1. Knowledge often arrives incrementally.\\n\",\n    \"2. Problems exhibit recurring patterns.\\n\",\n    \"3. Problems have multiple levels of granularity.\\n\",\n    \"4. Many problems are computationally intractable.\\n\",\n    \"5. The world is dynamic, but knowledge of the world is static.\\n\",\n    \"6. The world is open-ended, but knowledge is limited.\\n\",\n    \"\\n\",\n    \"(From [Knowledge-Based AI](https://www.udacity.com/course/knowledge-based-ai-cognitive-systems--ud409?_ga=1.192741295.463903328.1463823313))\\n\",\n    \"\\n\",\n    \"#### AI As Uncertainty Management\\n\",\n    \"AI = what to do when you don't know what to do\\n\",\n    \"\\n\",\n    \"Reasons for uncertainty:\\n\",\n    \"- Sensor limits\\n\",\n    \"- Adversaries\\n\",\n    \"- Stochastic environments (rolling dice)\\n\",\n    \"- Laziness (Can compute what situation is but too lazy to do it)\\n\",\n    \"- Ignorance (Could know something but just don't care)\\n\",\n    \"\\n\",\n    \"(From uDacity Sebastian Thrun)\\n\",\n    \"\\n\",\n    \"e.g.: Watson (answering Jeopardy questions)\\n\",\n    \"\\n\",\n    \"Process:\\n\",\n    \"- Read clue (understand natural language sentences)\\n\",\n    \"- Search through knowledge base\\n\",\n    \"- Decide on answer\\n\",\n    \"- Phrase answer\\n\",\n    \"\\n\",\n    \"Specifics:\\n\",\n    \"- Know of the potential answers (e.g. Michael Phelps, Hey Jude) and know information pertaining to the potential answers\\n\",\n    \"- Understand the statement: Interpret words in context. May need to interpret puns.\\n\",\n    \"- Know the format of the answer\\n\",\n    \"\\n\",\n    \"Core **deliberation processes**:\\n\",\n    \"1. Reasoning (read and generate natural language sentences)\\n\",\n    \"2. Learning (make decisions and see if those decisions are correct or not -> Change)\\n\",\n    \"3. Memory (Store knowledge and what we learn)\\n\",\n    \"\\n\",\n    \"[img](images/intro-1.png)\\n\",\n    \"\\n\",\n    \"#### Four schools of thought of AI\\n\",\n    \"[Four quadrants (schools of thought) of AI](images/intro-2.png)\\n\",\n    \"\\n\",\n    \"Thinking vs acting,\\n\",\n    \"Optimally vs like humans.\\n\",\n    \"\\n\",\n    \"Knowledge-based AI: interested in agents that think like humans.\\n\",\n    \"Examples:\\n\",\n    \"[Examples of applications in each school of thought of AI](images/intro-3.png)\\n\",\n    \"\\n\",\n    \"E.g. autonomous vehicle: acts (and thinks?) optimally.\\n\",\n    \"\\n\",\n    \"Patterns of knowledge-based data: AI behaviour \\n\",\n    \"\\n\",\n    \"[Categorising four examples](images/intro-4.png)\\n\",\n    \"\\n\",\n    \"### Bayes' Rule\\n\",\n    \"\\n\",\n    \"$$P(A|B) = \\\\frac{P(B|A)*P(A)}{P(B)}$$\\n\",\n    \"\\n\",\n    \"$$ Posterior = \\\\frac{Likelihood x Prior}{Marginal likelihood}$$\\n\",\n    \"\\n\",\n    \"Likelihood: If we knew the cause (A), what would be the probability of the evidence we just observed? But to correct for the inversion, we need to multiply by the prior.\\n\",\n    \"\\n\",\n    \"$$P(B) = \\\\sum_aP(B|A=a)P(A=a)$$\\n\",\n    \"\\n\",\n    \"(Total probability)\\n\",\n    \"\\n\",\n    \"#### Bayes Network\\n\",\n    \"[Bayes Network](images/intro-5.png)\\n\",\n    \"\\n\",\n    \"Number of parameters in this Bayes Network: 3. P(A), P(B|A), P(B| not A).\\n\",\n    \"\\n\",\n    \"Data is a lot about discerning unseen cause of the data that we can see.\\n\",\n    \"\\n\",\n    \"## Data Science\\n\",\n    \"\\n\",\n    \"[What is a data scientist?](images/intro-ds1.png)\\n\",\n    \"\\n\",\n    \"'Substantive Expertise':\\n\",\n    \"- Know which questions to ask\\n\",\n    \"- Can interpret the data well\\n\",\n    \"- Understands structure of the data\\n\",\n    \"\\n\",\n    \"But data scientists often work in teams so they can complement each other's strengths and weaknesses.\\n\",\n    \"\\n\",\n    \"[Data Science Process](images/intro-ds2.png)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Machine Learning\\n\",\n    \"\\n\",\n    \"What is ML?\\n\",\n    \"\\n\",\n    \"Philosophy of ML:\\n\",\n    \"- Theoretical (Michael) vs Practical (Charles)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Theoretical: ML is computational statistics that is about proving theorems.\\n\",\n    \"Practical: ML is the broader notion of building computational artifacts that learn over time based on experience. Applied stats.\\n\",\n    \"\\n\",\n    \"(They are hilarious.)\\n\",\n    \"\\n\",\n    \"Supervised learning:\\n\",\n    \"- Taking labelled datasets, gleaning info from it so you can label new datasets.\\n\",\n    \"- Function approximation\\n\",\n    \"- Approximate function induction\\n\",\n    \"-> Make assumptions about the world, e.g. well-behaved function that fits that data that is generalises.\\n\",\n    \"\\n\",\n    \"Supervised learning is about **inductive bias**. Specifics -> Generalities.\\n\",\n    \"\\n\",\n    \"Vs deduction: Generalities -> Specifics.\\n\",\n    \"\\n\",\n    \"### Induction, deduction and abduction\\n\",\n    \"\\n\",\n    \"[ida](images/intro-ida.png)\\n\",\n    \"\\n\",\n    \"Deduction: Given the rule and the cause, deduce the effect. (Proof-preserving)\\n\",\n    \"\\n\",\n    \"[d](images/intro-d.png)\\n\",\n    \"\\n\",\n    \"Induction: Given a cause and an effect, induce a rule. (Correctness not guaranteed.)\\n\",\n    \"\\n\",\n    \"[i](images/intro-i.png)\\n\",\n    \"\\n\",\n    \"Abduction: Given a rule and an effect, abduce a cause. (Correctness not guaranteed.)\\n\",\n    \"\\n\",\n    \"[a](images/intro-a.png)\\n\",\n    \"\\n\",\n    \"ML is about **inducing a rule**. The rule doesn't have to be causal - correlations are useful too.\\n\",\n    \"\\n\",\n    \"E.g. apply abductively to figure out where insider trading has occurred.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Unsupervised Learning\\n\",\n    \"\\n\",\n    \"**Description or summarisation** (vs supervised learning -> Approximation).\\n\",\n    \"Just have input, no given labels. Derive structure from input.\\n\",\n    \"\\n\",\n    \"Differences with supervised learning:\\n\",\n    \"- All ways of dividing up the world are in a way equally good (absent other signals telling you something is goood or not good).\\n\",\n    \"- Unsupervised is helpful in supervised -> Can help\\n\",\n    \"\\n\",\n    \"[unsup](images/intro-unsup.png)\\n\",\n    \"\\n\",\n    \"## Reinforcement Learning\\n\",\n    \"\\n\",\n    \"Learning from delayed reward vs supervised learning 'here's what you should do'.\\n\",\n    \"\\n\",\n    \"E.g. Playing tic-tac-toe -> lost -> learn which moves were important (bad).\\n\",\n    \"\\n\",\n    \"Reinforcement learn is in a sense harder than supervised learning because you're not told what to do.\\n\",\n    \"Like playing a game without knowing any of the rules but being told once in a while that you've won or you've lost.\\n\",\n    \"\\n\",\n    \"## Comparison of three parts of ML\\n\",\n    \"\\n\",\n    \"Supervised: Labels. \\n\",\n    \"Unsupervised: Don't know if one cluster is better than another.\\n\",\n    \"-> But there is an assumed set of labels because you're clustering.\\n\",\n    \"\\n\",\n    \"- In many cases you can formulate these problems as some sort of optimisation.\\n\",\n    \"    - SL: Labels data well\\n\",\n    \"    - RL: Behaviour scores well\\n\",\n    \"    - UL: Cluster scores well\\n\",\n    \"\\n\",\n    \"One view:\\n\",\n    \"Compsci hink in terms of algorithms, theorems vs ML data being central. Or the two being co-equal.\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/1-model-evaluation-and-validation/.ipynb_checkpoints/1.3.1 Evaluation Metrics-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Training and Testing\\n\",\n    \"\\n\",\n    \"Benefits of testing: \\n\",\n    \"- Gives estimate of performance on an independent dataset\\n\",\n    \"- Serves as a check on overfitting\\n\",\n    \"\\n\",\n    \"## Train/Test Split in sklearn\\n\",\n    \"\\n\",\n    \"Look for cross-validation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((150, 4), (150,))\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"from sklearn import cross_validation\\n\",\n    \"from sklearn import datasets\\n\",\n    \"from sklearn import svm\\n\",\n    \"\\n\",\n    \"iris = datasets.load_iris()\\n\",\n    \"iris.data.shape, iris.target.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"X_train, X_test, y_train, y_test \\\\\\n\",\n    \"    = cross_validation.train_test_split(iris.data, iris.target, test_size=0.4, random_state=0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((90, 4), (90,))\"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"X_train.shape, y_train.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((60, 4), (60,))\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"X_test.shape, y_test.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.96666666666666667\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)\\n\",\n    \"clf.score(X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Evaluation Metrics\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### 1. Accuracy \\n\",\n    \"Accuracy = (no. of items in a class labelled correctly / all items in that class)\\n\",\n    \"\\n\",\n    \"Shortcomings:\\n\",\n    \"- Not ideal for skewed cases (very few Persons of Interest -> Denominator 'All items in that class' is small.)\\n\",\n    \"- May want to err on side of guessing innocent (or guilty, depending on consequences of labelling) -> i.e. asymmetries favouring different types of error.\\n\",\n    \"\\n\",\n    \"## Confusion Matrix\\n\",\n    \"\\n\",\n    \"[Confusion Matrix](images/14-01.png)\\n\",\n    \"\\n\",\n    \"Note: Tuning parameters can move the boundaries.\\n\",\n    \"\\n\",\n    \"[Decision Tree Confusion Matrix](images/14-02.png)\\n\",\n    \"\\n\",\n    \"[7x7 Confusion Matrix](images/14-03.png)\\n\",\n    \"\\n\",\n    \"### Recall: P(alg identifies as A | is A)\\n\",\n    \"(rows for true in rows, predicted in cols)\\n\",\n    \"- is like 'lacer' backwards which is similar to 'liar', and the opposite of a lie is the truth, so the denominator is the true values.\\n\",\n    \"- recall: finding X. i.e. P(finding X | ...)\\n\",\n    \"- Recall = TP/(TP + FN)\\n\",\n    \"\\n\",\n    \"### Precision: P(is A | alg identifies as A)\\n\",\n    \"- (columns for true in rows, prediction in cols)\\n\",\n    \"Starts with 'pre', so denominator is predicted.\\n\",\n    \"- Precision = TP/(TP + FP)\\n\",\n    \"\\n\",\n    \"### True positives, false positives, false negatives\\n\",\n    \"\\n\",\n    \"## F1 Score\\n\",\n    \"The harmonic mean of precision and recall.\\n\",\n    \"\\n\",\n    \"$$F_1 = 2 * \\\\frac{precision * recall}{precision + recall}$$\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Precision vs Recall\\n\",\n    \"\\n\",\n    \"# As with the previous exercises, let's look at the performance of a couple of classifiers\\n\",\n    \"# on the familiar Titanic dataset. Add a train/test split, then store the results in the\\n\",\n    \"# dictionary provided.\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"# Load the dataset\\n\",\n    \"X = pd.read_csv('titanic_data.csv')\\n\",\n    \"\\n\",\n    \"X = X._get_numeric_data()\\n\",\n    \"y = X['Survived']\\n\",\n    \"del X['Age'], X['Survived']\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.metrics import recall_score as recall\\n\",\n    \"from sklearn.metrics import precision_score as precision\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"\\n\",\n    \"# TODO: split the data into training and testing sets,\\n\",\n    \"# using the standard settings for train_test_split.\\n\",\n    \"# Then, train and test the classifiers with your newly split data instead of X and y.\\n\",\n    \"\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X, y)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"results = {\\n\",\n    \"  \\\"Naive Bayes Recall\\\": 0,\\n\",\n    \"  \\\"Naive Bayes Precision\\\": 0,\\n\",\n    \"  \\\"Decision Tree Recall\\\": 0,\\n\",\n    \"  \\\"Decision Tree Precision\\\": 0\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"clf = DecisionTreeClassifier()\\n\",\n    \"clf.fit(X_train, y_train)\\n\",\n    \"print \\\"Decision Tree recall: {:.2f} and precision: {:.2f}\\\".format(recall(clf.predict(X_test),y_test),precision(clf.predict(X),y))\\n\",\n    \"\\n\",\n    \"results[\\\"Decision Tree Recall\\\"] = recall(clf.predict(X_test),y_test)\\n\",\n    \"results[\\\"Decision Tree Precision\\\"] = precision(clf.predict(X_test),y_test)\\n\",\n    \"\\n\",\n    \"clf = GaussianNB()\\n\",\n    \"clf.fit(X_train, y_train)\\n\",\n    \"print \\\"GaussianNB recall: {:.2f} and precision: {:.2f}\\\".format(recall(clf.predict(X_test),y_test),precision(clf.predict(X),y))\\n\",\n    \"\\n\",\n    \"results[\\\"Naive Bayes Recall\\\"] = recall(clf.predict(X_test),y_test)\\n\",\n    \"results[\\\"Naive Bayes Precision\\\"] = precision(clf.predict(X_test),y_test)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"Decision Tree recall: 0.48 and precision: 0.53\\n\",\n    \"GaussianNB recall: 0.69 and precision: 0.48\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/1-model-evaluation-and-validation/.ipynb_checkpoints/1.3.2 Validation-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Validation\\n\",\n    \"\\n\",\n    \"(Insert Train/Test split etc info from Evaluation Metrics notebook)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Where you use Training vs Testing data\\n\",\n    \"\\n\",\n    \"1. Train/test split.\\n\",\n    \"2. Feature transform e.g. PCA fit then PCA transform.\\n\",\n    \"    - PCA fit on training features\\n\",\n    \"    - PCA transform on training features\\n\",\n    \"    - PCA transform on test features (usually after training SVC) -> Represent test data with principle components found in training data.\\n\",\n    \"3. Classifier e.g. SVM fit then SVM predict.\\n\",\n    \"    - SVC fit on training features\\n\",\n    \"    - SVC predict on test features\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Validation\\n\",\n    \"\\n\",\n    \"**Problems with splitting data into training & testing data**:\\n\",\n    \"- Want to maximise size of both training and test sets, but there's a tradeoff.\\n\",\n    \"\\n\",\n    \"### K-fold cross-validation process:\\n\",\n    \"1. Partition dataset into k bins.\\n\",\n    \"2. Run k separate learning experiments.\\n\",\n    \"    - Pick test set\\n\",\n    \"    - Train\\n\",\n    \"    - Test on testing set\\n\",\n    \"3. Average test results from these k experiments.\\n\",\n    \"\\n\",\n    \"Pick Train/Test or e.g. 10-fold CV based on priorities, which can be\\n\",\n    \"- Min training time (train/test)\\n\",\n    \"- Min run time (unclear but may as well do CV)\\n\",\n    \"- Max accuracy (CV)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'time' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-1-bd23e9b27a8c>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      1\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mcross_validation\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mKFold\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      2\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 3\\u001b[0;31m \\u001b[0mt0\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtime\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      4\\u001b[0m \\u001b[0mkf\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mKFold\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mlen\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mdata\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m2\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;31m#length of dataset, no. of folds\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0mtrain_indices\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mtest_indices\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mkf\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'time' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"from sklearn.cross_validation import KFold\\n\",\n    \"\\n\",\n    \"t0 = time()\\n\",\n    \"kf = KFold(len(data), 2) #length of dataset, no. of folds\\n\",\n    \"for train_indices, test_indices in kf:\\n\",\n    \"    # Make training and testing datasets\\n\",\n    \"    features_train = [word_data[ii] for ii in train_indices]\\n\",\n    \"    features_test = [word_data[ii] for ii in test_indices]\\n\",\n    \"    authors_train = [authors[ii] for ii in train_indices]\\n\",\n    \"    authors_test = [authors[ii] for ii in test_indices]\\n\",\n    \"\\n\",\n    \"# Debugging\\n\",\n    \"print(\\\"train_indices: \\\", train_indices)\\n\",\n    \"print(\\\"authors_train: \\\", authors_train)\\n\",\n    \"print(\\\"authours_test: \\\"authors_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note \\n\",\n    \"**sklearn k-fold CV just splits data into equal-sized partitions - it doesn't shuffle the data.**\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Validation for Parameter Tuning\\n\",\n    \"\\n\",\n    \"### GridSearchCV\\n\",\n    \"- Systematically works through multiple combinations of parameter tunes, cross-validating as it goes to determine which tune gives the best performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}\\n\",\n    \"svr = svm.SVC()\\n\",\n    \"clf = grid_search.GridSearchCV(svr, parameters)\\n\",\n    \"clf.fit(iris.data, iris.target)\\n\",\n    \"\\n\",\n    \"print(\\\"Optimal parameter combination found: \\\", clf.best_params_)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Help on function train_test_split in module sklearn.cross_validation:\\n\",\n      \"\\n\",\n      \"train_test_split(*arrays, **options)\\n\",\n      \"    Split arrays or matrices into random train and test subsets\\n\",\n      \"    \\n\",\n      \"    Quick utility that wraps input validation and\\n\",\n      \"    ``next(iter(ShuffleSplit(n_samples)))`` and application to input\\n\",\n      \"    data into a single call for splitting (and optionally subsampling)\\n\",\n      \"    data in a oneliner.\\n\",\n      \"    \\n\",\n      \"    Read more in the :ref:`User Guide <cross_validation>`.\\n\",\n      \"    \\n\",\n      \"    Parameters\\n\",\n      \"    ----------\\n\",\n      \"    *arrays : sequence of indexables with same length / shape[0]\\n\",\n      \"    \\n\",\n      \"        allowed inputs are lists, numpy arrays, scipy-sparse\\n\",\n      \"        matrices or pandas dataframes.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.16\\n\",\n      \"            preserves input type instead of always casting to numpy array.\\n\",\n      \"    \\n\",\n      \"    test_size : float, int, or None (default is None)\\n\",\n      \"        If float, should be between 0.0 and 1.0 and represent the\\n\",\n      \"        proportion of the dataset to include in the test split. If\\n\",\n      \"        int, represents the absolute number of test samples. If None,\\n\",\n      \"        the value is automatically set to the complement of the train size.\\n\",\n      \"        If train size is also None, test size is set to 0.25.\\n\",\n      \"    \\n\",\n      \"    train_size : float, int, or None (default is None)\\n\",\n      \"        If float, should be between 0.0 and 1.0 and represent the\\n\",\n      \"        proportion of the dataset to include in the train split. If\\n\",\n      \"        int, represents the absolute number of train samples. If None,\\n\",\n      \"        the value is automatically set to the complement of the test size.\\n\",\n      \"    \\n\",\n      \"    random_state : int or RandomState\\n\",\n      \"        Pseudo-random number generator state used for random sampling.\\n\",\n      \"    \\n\",\n      \"    stratify : array-like or None (default is None)\\n\",\n      \"        If not None, data is split in a stratified fashion, using this as\\n\",\n      \"        the labels array.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.17\\n\",\n      \"           *stratify* splitting\\n\",\n      \"    \\n\",\n      \"    Returns\\n\",\n      \"    -------\\n\",\n      \"    splitting : list, length = 2 * len(arrays),\\n\",\n      \"        List containing train-test split of inputs.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.16\\n\",\n      \"            Output type is the same as the input type.\\n\",\n      \"    \\n\",\n      \"    Examples\\n\",\n      \"    --------\\n\",\n      \"    >>> import numpy as np\\n\",\n      \"    >>> from sklearn.cross_validation import train_test_split\\n\",\n      \"    >>> X, y = np.arange(10).reshape((5, 2)), range(5)\\n\",\n      \"    >>> X\\n\",\n      \"    array([[0, 1],\\n\",\n      \"           [2, 3],\\n\",\n      \"           [4, 5],\\n\",\n      \"           [6, 7],\\n\",\n      \"           [8, 9]])\\n\",\n      \"    >>> list(y)\\n\",\n      \"    [0, 1, 2, 3, 4]\\n\",\n      \"    \\n\",\n      \"    >>> X_train, X_test, y_train, y_test = train_test_split(\\n\",\n      \"    ...     X, y, test_size=0.33, random_state=42)\\n\",\n      \"    ...\\n\",\n      \"    >>> X_train\\n\",\n      \"    array([[4, 5],\\n\",\n      \"           [0, 1],\\n\",\n      \"           [6, 7]])\\n\",\n      \"    >>> y_train\\n\",\n      \"    [2, 0, 3]\\n\",\n      \"    >>> X_test\\n\",\n      \"    array([[2, 3],\\n\",\n      \"           [8, 9]])\\n\",\n      \"    >>> y_test\\n\",\n      \"    [1, 4]\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"help(train_test_split)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/1-model-evaluation-and-validation/1.3.1 Evaluation Metrics.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Training and Testing\\n\",\n    \"\\n\",\n    \"Benefits of testing: \\n\",\n    \"- Gives estimate of performance on an independent dataset\\n\",\n    \"- Serves as a check on overfitting\\n\",\n    \"\\n\",\n    \"## Train/Test Split in sklearn\\n\",\n    \"\\n\",\n    \"Look for cross-validation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((150, 4), (150,))\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"from sklearn import cross_validation\\n\",\n    \"from sklearn import datasets\\n\",\n    \"from sklearn import svm\\n\",\n    \"\\n\",\n    \"iris = datasets.load_iris()\\n\",\n    \"iris.data.shape, iris.target.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"X_train, X_test, y_train, y_test \\\\\\n\",\n    \"    = cross_validation.train_test_split(iris.data, iris.target, test_size=0.4, random_state=0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((90, 4), (90,))\"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"X_train.shape, y_train.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((60, 4), (60,))\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"X_test.shape, y_test.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.96666666666666667\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)\\n\",\n    \"clf.score(X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Evaluation Metrics\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### 1. Accuracy \\n\",\n    \"Accuracy = (no. of items in a class labelled correctly / all items in that class)\\n\",\n    \"\\n\",\n    \"Shortcomings:\\n\",\n    \"- Not ideal for skewed cases (very few Persons of Interest -> Denominator 'All items in that class' is small.)\\n\",\n    \"- May want to err on side of guessing innocent (or guilty, depending on consequences of labelling) -> i.e. asymmetries favouring different types of error.\\n\",\n    \"\\n\",\n    \"## Confusion Matrix\\n\",\n    \"\\n\",\n    \"[Confusion Matrix](images/14-01.png)\\n\",\n    \"\\n\",\n    \"Note: Tuning parameters can move the boundaries.\\n\",\n    \"\\n\",\n    \"[Decision Tree Confusion Matrix](images/14-02.png)\\n\",\n    \"\\n\",\n    \"[7x7 Confusion Matrix](images/14-03.png)\\n\",\n    \"\\n\",\n    \"### Recall: P(alg identifies as A | is A)\\n\",\n    \"(rows for true in rows, predicted in cols)\\n\",\n    \"- is like 'lacer' backwards which is similar to 'liar', and the opposite of a lie is the truth, so the denominator is the true values.\\n\",\n    \"- recall: finding X. i.e. P(finding X | ...)\\n\",\n    \"- Recall = TP/(TP + FN)\\n\",\n    \"\\n\",\n    \"### Precision: P(is A | alg identifies as A)\\n\",\n    \"- (columns for true in rows, prediction in cols)\\n\",\n    \"Starts with 'pre', so denominator is predicted.\\n\",\n    \"- Precision = TP/(TP + FP)\\n\",\n    \"\\n\",\n    \"### True positives, false positives, false negatives\\n\",\n    \"\\n\",\n    \"## F1 Score\\n\",\n    \"The harmonic mean of precision and recall.\\n\",\n    \"\\n\",\n    \"$$F_1 = 2 * \\\\frac{precision * recall}{precision + recall}$$\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Precision vs Recall\\n\",\n    \"\\n\",\n    \"# As with the previous exercises, let's look at the performance of a couple of classifiers\\n\",\n    \"# on the familiar Titanic dataset. Add a train/test split, then store the results in the\\n\",\n    \"# dictionary provided.\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"# Load the dataset\\n\",\n    \"X = pd.read_csv('titanic_data.csv')\\n\",\n    \"\\n\",\n    \"X = X._get_numeric_data()\\n\",\n    \"y = X['Survived']\\n\",\n    \"del X['Age'], X['Survived']\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.metrics import recall_score as recall\\n\",\n    \"from sklearn.metrics import precision_score as precision\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"\\n\",\n    \"# TODO: split the data into training and testing sets,\\n\",\n    \"# using the standard settings for train_test_split.\\n\",\n    \"# Then, train and test the classifiers with your newly split data instead of X and y.\\n\",\n    \"\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X, y)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"results = {\\n\",\n    \"  \\\"Naive Bayes Recall\\\": 0,\\n\",\n    \"  \\\"Naive Bayes Precision\\\": 0,\\n\",\n    \"  \\\"Decision Tree Recall\\\": 0,\\n\",\n    \"  \\\"Decision Tree Precision\\\": 0\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"clf = DecisionTreeClassifier()\\n\",\n    \"clf.fit(X_train, y_train)\\n\",\n    \"print \\\"Decision Tree recall: {:.2f} and precision: {:.2f}\\\".format(recall(clf.predict(X_test),y_test),precision(clf.predict(X),y))\\n\",\n    \"\\n\",\n    \"results[\\\"Decision Tree Recall\\\"] = recall(clf.predict(X_test),y_test)\\n\",\n    \"results[\\\"Decision Tree Precision\\\"] = precision(clf.predict(X_test),y_test)\\n\",\n    \"\\n\",\n    \"clf = GaussianNB()\\n\",\n    \"clf.fit(X_train, y_train)\\n\",\n    \"print \\\"GaussianNB recall: {:.2f} and precision: {:.2f}\\\".format(recall(clf.predict(X_test),y_test),precision(clf.predict(X),y))\\n\",\n    \"\\n\",\n    \"results[\\\"Naive Bayes Recall\\\"] = recall(clf.predict(X_test),y_test)\\n\",\n    \"results[\\\"Naive Bayes Precision\\\"] = precision(clf.predict(X_test),y_test)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"Decision Tree recall: 0.48 and precision: 0.53\\n\",\n    \"GaussianNB recall: 0.69 and precision: 0.48\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/1-model-evaluation-and-validation/1.3.2 Validation.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Validation\\n\",\n    \"\\n\",\n    \"(Insert Train/Test split etc info from Evaluation Metrics notebook)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Where you use Training vs Testing data\\n\",\n    \"\\n\",\n    \"1. Train/test split.\\n\",\n    \"2. Feature transform e.g. PCA fit then PCA transform.\\n\",\n    \"    - PCA fit on training features\\n\",\n    \"    - PCA transform on training features\\n\",\n    \"    - PCA transform on test features (usually after training SVC) -> Represent test data with principle components found in training data.\\n\",\n    \"3. Classifier e.g. SVM fit then SVM predict.\\n\",\n    \"    - SVC fit on training features\\n\",\n    \"    - SVC predict on test features\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Validation\\n\",\n    \"\\n\",\n    \"**Problems with splitting data into training & testing data**:\\n\",\n    \"- Want to maximise size of both training and test sets, but there's a tradeoff.\\n\",\n    \"\\n\",\n    \"### K-fold cross-validation process:\\n\",\n    \"1. Partition dataset into k bins.\\n\",\n    \"2. Run k separate learning experiments.\\n\",\n    \"    - Pick test set\\n\",\n    \"    - Train\\n\",\n    \"    - Test on testing set\\n\",\n    \"3. Average test results from these k experiments.\\n\",\n    \"\\n\",\n    \"Pick Train/Test or e.g. 10-fold CV based on priorities, which can be\\n\",\n    \"- Min training time (train/test)\\n\",\n    \"- Min run time (unclear but may as well do CV)\\n\",\n    \"- Max accuracy (CV)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'time' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-1-bd23e9b27a8c>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      1\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mcross_validation\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mKFold\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      2\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 3\\u001b[0;31m \\u001b[0mt0\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtime\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      4\\u001b[0m \\u001b[0mkf\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mKFold\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mlen\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mdata\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m2\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;31m#length of dataset, no. of folds\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0mtrain_indices\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mtest_indices\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mkf\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'time' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"from sklearn.cross_validation import KFold\\n\",\n    \"\\n\",\n    \"t0 = time()\\n\",\n    \"kf = KFold(len(data), 2) #length of dataset, no. of folds\\n\",\n    \"for train_indices, test_indices in kf:\\n\",\n    \"    # Make training and testing datasets\\n\",\n    \"    features_train = [word_data[ii] for ii in train_indices]\\n\",\n    \"    features_test = [word_data[ii] for ii in test_indices]\\n\",\n    \"    authors_train = [authors[ii] for ii in train_indices]\\n\",\n    \"    authors_test = [authors[ii] for ii in test_indices]\\n\",\n    \"\\n\",\n    \"# Debugging\\n\",\n    \"print(\\\"train_indices: \\\", train_indices)\\n\",\n    \"print(\\\"authors_train: \\\", authors_train)\\n\",\n    \"print(\\\"authours_test: \\\"authors_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note \\n\",\n    \"**sklearn k-fold CV just splits data into equal-sized partitions - it doesn't shuffle the data.**\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Validation for Parameter Tuning\\n\",\n    \"\\n\",\n    \"### GridSearchCV\\n\",\n    \"- Systematically works through multiple combinations of parameter tunes, cross-validating as it goes to determine which tune gives the best performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}\\n\",\n    \"svr = svm.SVC()\\n\",\n    \"clf = grid_search.GridSearchCV(svr, parameters)\\n\",\n    \"clf.fit(iris.data, iris.target)\\n\",\n    \"\\n\",\n    \"print(\\\"Optimal parameter combination found: \\\", clf.best_params_)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Help on function train_test_split in module sklearn.cross_validation:\\n\",\n      \"\\n\",\n      \"train_test_split(*arrays, **options)\\n\",\n      \"    Split arrays or matrices into random train and test subsets\\n\",\n      \"    \\n\",\n      \"    Quick utility that wraps input validation and\\n\",\n      \"    ``next(iter(ShuffleSplit(n_samples)))`` and application to input\\n\",\n      \"    data into a single call for splitting (and optionally subsampling)\\n\",\n      \"    data in a oneliner.\\n\",\n      \"    \\n\",\n      \"    Read more in the :ref:`User Guide <cross_validation>`.\\n\",\n      \"    \\n\",\n      \"    Parameters\\n\",\n      \"    ----------\\n\",\n      \"    *arrays : sequence of indexables with same length / shape[0]\\n\",\n      \"    \\n\",\n      \"        allowed inputs are lists, numpy arrays, scipy-sparse\\n\",\n      \"        matrices or pandas dataframes.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.16\\n\",\n      \"            preserves input type instead of always casting to numpy array.\\n\",\n      \"    \\n\",\n      \"    test_size : float, int, or None (default is None)\\n\",\n      \"        If float, should be between 0.0 and 1.0 and represent the\\n\",\n      \"        proportion of the dataset to include in the test split. If\\n\",\n      \"        int, represents the absolute number of test samples. If None,\\n\",\n      \"        the value is automatically set to the complement of the train size.\\n\",\n      \"        If train size is also None, test size is set to 0.25.\\n\",\n      \"    \\n\",\n      \"    train_size : float, int, or None (default is None)\\n\",\n      \"        If float, should be between 0.0 and 1.0 and represent the\\n\",\n      \"        proportion of the dataset to include in the train split. If\\n\",\n      \"        int, represents the absolute number of train samples. If None,\\n\",\n      \"        the value is automatically set to the complement of the test size.\\n\",\n      \"    \\n\",\n      \"    random_state : int or RandomState\\n\",\n      \"        Pseudo-random number generator state used for random sampling.\\n\",\n      \"    \\n\",\n      \"    stratify : array-like or None (default is None)\\n\",\n      \"        If not None, data is split in a stratified fashion, using this as\\n\",\n      \"        the labels array.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.17\\n\",\n      \"           *stratify* splitting\\n\",\n      \"    \\n\",\n      \"    Returns\\n\",\n      \"    -------\\n\",\n      \"    splitting : list, length = 2 * len(arrays),\\n\",\n      \"        List containing train-test split of inputs.\\n\",\n      \"    \\n\",\n      \"        .. versionadded:: 0.16\\n\",\n      \"            Output type is the same as the input type.\\n\",\n      \"    \\n\",\n      \"    Examples\\n\",\n      \"    --------\\n\",\n      \"    >>> import numpy as np\\n\",\n      \"    >>> from sklearn.cross_validation import train_test_split\\n\",\n      \"    >>> X, y = np.arange(10).reshape((5, 2)), range(5)\\n\",\n      \"    >>> X\\n\",\n      \"    array([[0, 1],\\n\",\n      \"           [2, 3],\\n\",\n      \"           [4, 5],\\n\",\n      \"           [6, 7],\\n\",\n      \"           [8, 9]])\\n\",\n      \"    >>> list(y)\\n\",\n      \"    [0, 1, 2, 3, 4]\\n\",\n      \"    \\n\",\n      \"    >>> X_train, X_test, y_train, y_test = train_test_split(\\n\",\n      \"    ...     X, y, test_size=0.33, random_state=42)\\n\",\n      \"    ...\\n\",\n      \"    >>> X_train\\n\",\n      \"    array([[4, 5],\\n\",\n      \"           [0, 1],\\n\",\n      \"           [6, 7]])\\n\",\n      \"    >>> y_train\\n\",\n      \"    [2, 0, 3]\\n\",\n      \"    >>> X_test\\n\",\n      \"    array([[2, 3],\\n\",\n      \"           [8, 9]])\\n\",\n      \"    >>> y_test\\n\",\n      \"    [1, 4]\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"help(train_test_split)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/1-model-evaluation-and-validation/1.4 Managing Error and Complexity.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 1. Causes of Error\\n\",\n    \"\\n\",\n    \"Two main causes of error: Bias and Variance\\n\",\n    \"\\n\",\n    \"**Bias** due to a model being unable to represent the complexity of the underlying data and \\n\",\n    \"\\n\",\n    \"**Variance** due to a model being overly sensitive to the limited data it has been trained on. \\n\",\n    \"\\n\",\n    \"## Bias\\n\",\n    \"Error due to Bias - Accuracy and Underfitting\\n\",\n    \"Bias occurs when a model has enough data but is not complex enough to capture the underlying relationships. As a result, the model consistently and systematically misrepresents the data, leading to low accuracy in prediction. This is known as underfitting.\\n\",\n    \"\\n\",\n    \"Simply put, bias occurs when we have an inadequate model. An example might be when we have objects that are classified by color and shape, for example easter eggs, but our model can only partition and classify objects by color. It would therefore consistently mislabel future objects--for example labeling rainbows as easter eggs because they are colorful.\\n\",\n    \"\\n\",\n    \"Another example would be continuous data that is polynomial in nature, with a model that can only represent linear relationships. In this case it does not matter how much data we feed the model because it cannot represent the underlying relationship. To overcome error from bias, we need a more complex model.\\n\",\n    \"\\n\",\n    \"## Variance\\n\",\n    \"Error due to Variance - Precision and Overfitting\\n\",\n    \"When training a model, we typically use a limited number of samples from a larger population. If we repeatedly train a model with randomly selected subsets of data, we would expect its predictons to be different based on the specific examples given to it. Here variance is a measure of how much the predictions vary for any given test sample.\\n\",\n    \"\\n\",\n    \"Some variance is normal, but too much variance indicates that the model is unable to generalize its predictions to the larger population. High sensitivity to the training set is also known as overfitting, and generally occurs when either the model is too complex or when we do not have enough data to support it.\\n\",\n    \"\\n\",\n    \"We can typically reduce the variability of a model's predictions and increase precision by training on more data. If more data is unavailable, we can also control variance by limiting our model's complexity.\\n\",\n    \"\\n\",\n    \"## Improving the Validity of a Model\\n\",\n    \"There is a trade-off in the value of simplicity or complexity of a model given a fixed set of data. If it is too simple, our model cannot learn about the data and misrepresents the data. However if our model is too complex, we need more data to learn the underlying relationship. Otherwise it is very common for a model to infer relationships that might not actually exist in the data.\\n\",\n    \"\\n\",\n    \"The key is to find the sweet spot that minimizes bias and variance by finding the right level of model complexity. Of course with more data any model can improve, and different models may be optimal.\\n\",\n    \"\\n\",\n    \"To learn more about bias and variance, we recommend this essay by Scott Fortmann-Roe.\\n\",\n    \"\\n\",\n    \"In addition to the subset of data chosen for training, what features you use from a given dataset can also greatly affect the bias and variance of your model.\\n\",\n    \"\\n\",\n    \"## Bias-variance dilemma and no. of features\\n\",\n    \"High bias: Pays little attention to data, oversimplified\\n\",\n    \"- High error on training set\\n\",\n    \"- Low r^2, large SSE\\n\",\n    \"High variance: Pays too much attention to data (does not generalise well), overfits.\\n\",\n    \"- Much higher error on test set than on training data\\n\",\n    \"\\n\",\n    \"E.g. \\n\",\n    \"- few features used (if you have access to lots more) -> high bias.\\n\",\n    \"- Carefully minimised SSE (used lots of features, tuned parameters) -> High variance\\n\",\n    \"\\n\",\n    \"Want min number of features (simplicity) to achieve good accuracy (goodness of fit)\\n\",\n    \"- Few features, large r^2, low SSE.\\n\",\n    \"\\n\",\n    \"[overfit regression](images/p1-4-1-1.png)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 2. Curse of Dimensionality\\n\",\n    \"As the number of **features or dimensions grows**, the amount of **data** we need to **generalise accurately** grows **exponentially**.\\n\",\n    \"\\n\",\n    \"e.g. KNN: distance or similarity function that assumes veerything is equally relevant, you'll have to see a lot of data before it washes itself away.\\n\",\n    \"\\n\",\n    \"e.g. 10 points uniformly distributed across a line segment. Each point owns a uniform part of the line segment. (// KNN)\\n\",\n    \"-> Move from a line segment to a 2D space. Each `x` still represents 1/10th of the space, but now it represents a bigger space. The farthest point that the first `x` is representing has a much larger distance. \\n\",\n    \"-> Q: How to make it such that each `x` has the same farthest-point-'diameter'? -> many more `x`s, e.g. 100.\\n\",\n    \"\\n\",\n    \"Think of it as points covering a space. If you want to cover the same amount of hyperspace...\\n\",\n    \"More features -> more volume to fill.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 3. Learning Curves\\n\",\n    \"\\n\",\n    \"A **Learning Curve** is: a graph that compares the performance of a model on training and testing data over a varying number of training instances.\\n\",\n    \"\\n\",\n    \"- Should generally see performance improve as the number of training points increases.\\n\",\n    \"\\n\",\n    \"- By separating training and testing sets and graphing performance on each separately, we can get a better idea of how well the model can generalize to unseen data.\\n\",\n    \"\\n\",\n    \"A learning curve allows us to **verify when a model has learned as much as it can about the data**. When this occurs, the performance on both training and testing sets plateau and there is a consistent gap between the two error rates.\\n\",\n    \"\\n\",\n    \"### Bias\\n\",\n    \"When the training and testing errors converge and are quite high this usually means \\n\",\n    \"-> the model is biased. \\n\",\n    \"- No matter how much data we feed it, the model cannot represent the underlying relationship and therefore has systematic high errors.\\n\",\n    \"\\n\",\n    \"### Variance\\n\",\n    \"When there is a large gap between the training and testing error this generally means \\n\",\n    \"-> the model suffers from high variance. \\n\",\n    \"- Unlike a biased model, models that suffer from variance generally require more data to improve. \\n\",\n    \"- We can also limit variance by simplifying the model to represent only the most important features of the data.\\n\",\n    \"\\n\",\n    \"## Ideal Learning Curve\\n\",\n    \"The ultimate goal for a model is one that **has good performance that generalizes well to unseen data**. In this case, both the **testing and training curves converge at similar values**. \\n\",\n    \"- The smaller the gap between the training and testing sets, the better our model generalizes. \\n\",\n    \"- The better the performance on the testing set, the better our model performs.\\n\",\n    \"\\n\",\n    \"## Model Complexity\\n\",\n    \"The visual technique of graphing performance is not limited to learning. With most models, we can change the complexity by changing the inputs or parameters.\\n\",\n    \"\\n\",\n    \"A **model complexity graph** looks at training and testing curves as the model's complexity varies. The most common trend is that **as a model increases (in complexity), bias will fall off and variance will rise.**\\n\",\n    \"\\n\",\n    \"Scikit-learn provides a tool for validation curves which can be used to monitor model complexity by varying the parameters of a model. We'll explore the specifics of how these parameters affect complexity in the next course on supervised learning.\\n\",\n    \"\\n\",\n    \"### Learning Curves and Model Complexity\\n\",\n    \"So what is the relationship between learning curves and model complexity?\\n\",\n    \"\\n\",\n    \"If we were to take the learning curves of the same machine learning algorithm with the same fixed set of data, but create several graphs at different levels of model complexity, all the learning curve graphs would fit together into a 3D model complexity graph.\\n\",\n    \"\\n\",\n    \"If we took the final testing and training errors for each model complexity and visualized them along the complexity of the model we would be able to see how well the model performs as the model complexity increases.\\n\",\n    \"\\n\",\n    \"## Practical use of Model Complexity\\n\",\n    \"Knowing that **we can identify issues with bias and variance by analyzing a model complexity graph**, we now have a visual tool to help identify ways to optimize our models.\\n\",\n    \"\\n\",\n    \"This will be one of the core tools we use in the upcoming project.\\n\",\n    \"\\n\",\n    \"In the final section, we will introduce cross validation and grid search, which will give us a concrete, systematic way of searching through different levels of complexity to find the optimal model that complexity and learning curves give us a holistic understanding of.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/.ipynb_checkpoints/2.4.1 Kernel Methods and Support Vector Machines-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Support Vector Machines\\n\",\n    \"\\n\",\n    \"(SVM 1)\\n\",\n    \"\\n\",\n    \"Drawing it in the middle gives a biggest 'demilitarised' zone.\\n\",\n    \"Intuition:\\n\",\n    \"* There might bu other minuses near the minunes we can see that we risk chopping off if a line gets too close to the current minuses.\\n\",\n    \"* This data is just a sample from the population. // NN algorithms. Lines very close to e.g. the pluses -> believing training data too much. Overfitting.\\n\",\n    \"* Middle line is **consistent with the data but commits least to it.**\\n\",\n    \"* Interesting because it's not a complex overfit. They're all just lines.\\n\",\n    \"\\n\",\n    \"Hyperplanes:\\n\",\n    \"$$y = w^Tx+b$$\\n\",\n    \"* y represents the classification label\\n\",\n    \"* w representns parameters for our plane\\n\",\n    \"* b moves it out of the origin\\n\",\n    \"\\n\",\n    \"Taking some new point, projecting it onto the line, looking at the value you get when you project it.\\n\",\n    \"\\n\",\n    \"Value is positive if you are in the class, negative if you're not.\\n\",\n    \"\\n\",\n    \"Decision boundary being as far away from the data as possible without being inconsistent with it.\\n\",\n    \"\\n\",\n    \"Hyperplane equation at the decision boundary (neither positive nor negative output) is $w^Tx + b = 0$. \\n\",\n    \"\\n\",\n    \"What are the equations of the grey lines?\\n\",\n    \"* We know labels are {-1, +1}. Line that brushes up against positive example: want it s.t. the output of the line is +1 on the first point that it encounters.\\n\",\n    \"* $w^Tx+b=1$ for top grey line. Similarly, $w^T+b=-1$ for bottom grey line.\\n\",\n    \"\\n\",\n    \"(img)\\n\",\n    \"\\n\",\n    \"Need to maximise distance between two grey lines. The lines are parallel to one another. Choose one point on each grey line such that the line between them is perpendicular to the parallel lines.\\n\",\n    \"\\n\",\n    \"* Point on positive line: $w^Tx_1+b=1$\\n\",\n    \"* Point on negative line: $w^Tx_2+b-1$\\n\",\n    \"* Subtract to get line $w^T(x_1-x_2)=2\\n\",\n    \"* Divide both sides by the length of w: \\n\",\n    \"$$\\\\frac{w_t}{||w||}(x_1-x_2)=\\\\frac{2}{||w||}$$\\n\",\n    \"\\n\",\n    \"LHS: $x_1-x_2$ is projected onto the normalised vector (unit length, some direction).  This is callled the **margin**.\\n\",\n    \"\\n\",\n    \"w represents a vector perpendicular to the line (eqn of a plane).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So we want to maximise $\\\\frac{2}{||w||}$ while classifying everything correctly. Let's turn the condition into a mathematical expression.\\n\",\n    \"\\n\",\n    \"That is,\\n\",\n    \"$$y_i(w^Tx_i + b) \\\\geq 1 \\\\forall i$$.\\n\",\n    \"\\n\",\n    \"* Q: Why geq 1 as opposed to geq 0?\\n\",\n    \"\\n\",\n    \"* Solve equivalent problem (LHS):\\n\",\n    \"$$\\\\min \\\\frac{1}{2}||w||^2$$\\n\",\n    \"\\n\",\n    \"This is easier because it's a quadratic programming problem and people know how to solvo those in straightforward ways. They always have a unique solution.\\n\",\n    \"\\n\",\n    \"Transform into quadratic programming form:\\n\",\n    \"$$\\\\max W(\\\\alpha) = \\\\sum_i \\\\alpha_i - \\\\frac{1}{2}\\\\sum_{i,j}\\\\alpha_i\\\\alpha_j y_iy_jx_i^Tx_j$$\\n\",\n    \"s.t. $\\\\alpha_i \\\\geq 0, \\\\sum_i \\\\alpha_i y_i = 0$.\\n\",\n    \"\\n\",\n    \"Properties\\n\",\n    \"* Once you find $\\\\alpha$, you can recover w: $w=\\\\sum_i\\\\alpha_iy_ix_i$.\\n\",\n    \"* You can also recover b from having w.\\n\",\n    \"* It turns out that those $\\\\alpha_i$s are mostly zero. -> Only a few x-s matter. Cause some datapoints don't factor into (don't matter for) w. -> Can find all of support you need in some vectors with the non-zero $\\\\alpha_i$s. -> **machine that only needs a few support vectors**.\\n\",\n    \"* Which vectors matter (will be part of the support vectors)? (Those closer to the line)\\n\",\n    \"\\n\",\n    \"* Similarities to Nearest Neighbours cause only local points matter. Like KNN except you've already done the work to figure out which ones you need and which ones you can throw away. -> Like instance-based learning but it's not completely lazy. (?)\\n\",\n    \"\\n\",\n    \"Dot product of $x_i^Tx_j$ -> Length of the projection. Measure of similarity (of direction) -> If they point in opposite directions it'll be a negative, if orthogonal it'll be 0, if in same direction it'll be positive and bigger.\\n\",\n    \"* Eqn: Find all pairs of points, figure out which ones matter, and think about how they relate to one another wrt their output labels wrt how similar they are.\\n\",\n    \"\\n\",\n    \"## Supposing not linearly separable\\n\",\n    \"\\n\",\n    \"* If have **outlier or intruder**: Can tradeoff: Maximise margin Makes the minimal set of errors while maximising the margin if you were allowed to flip a few points from pos to neg or vv.\\n\",\n    \"* 'Linearly married': minuses in a ring around the pluses. **Transform datapoints**.\\n\",\n    \"    - e.g. $\\\\Phi(q) = <q_1^2, q_2^2, \\\\sqrt2 q_1q_2>$\\n\",\n    \"    - $\\\\Phi(x)^T\\\\Phi(y) = (x_1y_1+x_2y_2)^2 = (x^T y)^2$ (dot product, circle)\\n\",\n    \"    - Different notion of similarity: Now whether or not you fall in a circle vs direction. Distance in different spaces.\\n\",\n    \"    - Chose this form but doesn't require that you do this transformation. Can still simply compute the dot product.\\n\",\n    \"    - This is the **kernel trick**.\\n\",\n    \"    - Turns out for any function that you use, there is some transformation into some higher dimensional space that happens to represent your kernel.\\n\",\n    \"    \\n\",\n    \"### Kernel Trick\\n\",\n    \"- The kernel is the function itself. e.g. $k = (x^Ty)^2$\\n\",\n    \"$$\\\\max W(\\\\alpha) = \\\\sum_i \\\\alpha_i - \\\\frac{1}{2}\\\\sum_{i,j}\\\\alpha_i\\\\alpha_j y_iy_jk(x_i,x_j)$$\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Kernel is mech by which we **measure of similarity** , mech by which we **inject domain knowledge** into the SVM algorithm. Just like KNN.\\n\",\n    \"\\n\",\n    \"And in higher dimensional space, your points are linearly separable.\\n\",\n    \"\\n\",\n    \"**Common kernels**\\n\",\n    \"* Polynomial kernel $k = (x^Ty+c)^p$ -> Like polynomial regression.\\n\",\n    \"* $k = e^{\\\\frac{-||x-y||^2}{2\\\\sigma^2}}$. If on top of each other, similarity is 1. If very distant, k close to 1. It's symmetric. Like a Gaussian with some width.\\n\",\n    \"* $k = tanh(\\\\betax^Ty + \\\\theta)$ -> Like a sigmoid.\\n\",\n    \"\\n\",\n    \"**Good kernels**: Captures your domain knowledge, your notion of similarity.\\n\",\n    \"\\n\",\n    \"**Requirements: Mercer Condition**: it acts like a distance. Positive semidefinite (well-behaved).\\n\",\n    \"- In practice stuff often works even if it doesn't satisfy the Mercer Condition so it's que merciful.\\n\",\n    \"\\n\",\n    \"#### Applications\\n\",\n    \"x, y can be discrete variables as long as you have some notion of similarity than you can define that returns a number. You can think about strings, graphs, images.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\\n\",\n    \"- Margins and relation to genelatisation and overfitting\\n\",\n    \"- Want to max margin\\n\",\n    \"- Optimisation problem for finding linear separator that has max margin (quadratic programming)\\n\",\n    \"- Support vectors: SVM is as lazy as necessary\\n\",\n    \"- Kernel trick (transformations for non-linearly-separable data)\\n\",\n    \"\\n\",\n    \"General alg q: What are the levers we have for expressing domain knowledge?  \"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/.ipynb_checkpoints/2.5 Instance-based Learning-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Instance-Based Learning\\n\",\n    \"*Nonparametric Models*\\n\",\n    \"\\n\",\n    \"**Prev SL tasks**: Given a bunch of data (x,y) and we would learn some functions, e.g a line, to represent them. And then we'd effectively throw the data away when we're making our predictions.\\n\",\n    \"\\n\",\n    \"New model **Version 1**:\\n\",\n    \"Instead, put all data (x,y) in a database. Then when we want to predict y for x, we look it up as **f(x) = lookup(x).\\n\",\n    \"\\n\",\n    \"- Remembers \\n\",\n    \"    - But no generalisation :( \\n\",\n    \"    - Overfitting problems, sensitive to noise\\n\",\n    \"    - If same x has multiple ys, will return all of them.\\n\",\n    \"- It's fast: No 'wasted time' doing learning\\n\",\n    \"\\n\",\n    \"e.g. housing prices example. -> **K Nearest Neighbours**\\n\",\n    \"Parameters:\\n\",\n    \"- Number of nearest neighbours\\n\",\n    \"- Some notion of distance. \\n\",\n    \"    - Note: Distance might be straight-line distance, driving distance, may need to take into account that crossing a highway in Atlanta is metaphorically a BIG distance.\\n\",\n    \"    - Some measure of similarity\\n\",\n    \"\\n\",\n    \"Free parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n16793MM8wq+bmZk2ERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABEehsAl2dbb6sF4GWEdBno2VopVgEREAE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEzo3A6bnVpIpEoEMIyAnWISfqkpup6/CSn2A1TwRE\\nQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoEBATusCCkUugoAccxdB/XLWqWvpcp5XtUoE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKB9CMi53D7nomMtkVOvY0/duRqu6+Rccasy\\nERABERABERABERABERABERABERABERABERABERABERABEaibgJzIdaN7PwrK8fd+nOdqrdR1UI2Q\\n8kVABERABERABERABERABERABERABERABERABERABERABETgchCQA/lynMe6WyHHYN3oOrKgzndH\\nnjYZLQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAItJyDHccsRt0cFchi2x3lohRU6\\nt62gKp0iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi8P4QkNP4Ep5rOREvx0nVebwc\\n51GtEAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIF2JyCncbufoSr2ybFYBVCbZuu8\\ntemJkVkiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi8J4RkMO4w064HI2dccJ0njrj\\nPMlKERABERABERABERABERABERABERABERABERABERABERABEXjfCchh3OZXgByP7XuCdG7a99zI\\nMhEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgeoE5CyuzujcJeSEPHfkFSvU+aiI\\nR5kiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIdSkDO4jY5cXJIXvyJ0Dm4+HOQ\\nZoHOSxoVpYmACIiACIiACIiACIiACIiACIiACIiACIiACIiACIhAZxGQU7I9z5fOywWeFznBLga+\\nuGfnLlbZWUlSBERABERABERABERABERABERABERABERABERABERABESgPQjIAZr9PIhVdlZNkZTz\\nrSkYMyt5n3m/z23PfIFIUAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARE4L0m8D47S9/n\\ntp/rRS+nXetxvw+M34c2tv5KUQ0iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUJ3A\\n++BIfR/aWP1Mt0hCjr0WgYXay8b2srWndWdemkVABERABERABERABERABERABERABERABERABERA\\nBERABETgYghcNsfqZWvPxVwViVrl9EsAacJhpzPtdPubcAqlQgREQAREQAREQAREQAREQAREQARE\\nQAREQAREQAREQAREQAQuFYFOd7R2uv1tdTHJGdi809GpLDvV7uadOWkSAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQAREQAREQgfeLQKc6XDvV7ra6uuQcbPx0dBLDTrK18TNzfhrE9fxYqyYREAER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAERkJOwNddAJ3HtJFtbc7Ya0CrHVv3wOoFdJ9hY6xm4\\njG2qlYHkRUAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAE2ovAZXRYdkKbOsHG9rpSYY2c\\nbbWfknZn1u72BeKdYmewV6EIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAINJtApzg4\\n293Odrev2ddNQ/rkpMuOr11ZtaNd7WhT9jMtSREQAREQAREQAREQAREQAREQAREQAREQAREQAREQ\\nAREQARFoHwLt6PxsR5t4xtrVrva5mmCJHHnZTke7cWoHe9rBhmxnT1IiIAIiIAIiIAIiIAIiIAIi\\nIAIiIAIiIAIiIAIiIAIiIAIicDkJtINDtB1siM9uu9kT29YWcTn5Kp+GduNzUfZcVL2Vz45yRUAE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEkgQuykF6UfUm2x+O282eYNeFh3L8lT8F\\n7cLmvO047/rKn4HsOZ1oc/bWSVIEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKCdCHSi\\n4/G8bT7v+spdH+1iRzn7LiRdjrWz2NuByXnZcF71nKWcntJu9qRbqVQREAEREAEREAEREAEREAER\\nEAEREAEREAEREAEREAEREAERqJ1Auzkrz8ue86qn0hlpBxsq2XeueXLIleK+aB6trr/V+ktpFo8u\\nqt6iBYqJgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQGcQuChnZqvrbbX+amf3ouuv\\nZt+55ctx51FfNIdW1t9K3fGFel71xHUqLgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi\\nIALvE4HzcnK2sp5W6s5yLVx0/VlsbKmMnHpmF8mgVXW3Si8vxlbqbvbF3km2Nrvt0icCIiACIiAC\\nIiACIiACIiACIiACIiACIiACIiACIiACItAYgU5yJLbS1lbpbpXeLGf9IuvOYl9LZd5nB9pFtb1V\\n9bZCbyt0Zr2gL7LurDZKTgREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQqEbhIR2Qr\\n6m6FTvJrld5K5+Yi661mV0vz31cn3EW1u9n1NlNfM3VVumjPq55KNihPBERABERABERABERABERA\\nBERABERABERABERABERABERABNqJwHk5SJtZTzN18Vw0W1/W83tR9Wa1r+ly76Oz7iLa3Mw6m6Wr\\nWXqSF2Wr9CbraYfj96mt7cBbNoiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIhATOB9cuy1\\nqq3N0tssPTy/zdQVXy+V4hdRZyV7Wpr3vjm4zru9zayvGbqaoSNckM3UFXTWGraDDbXaLHkREAER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAEREIHLQaAdnIrNtKEZupqhI1wdzdQVdFYKz7u+Sra0\\nNO99cbCddzubVV8z9LSLjkoXcjNsrKRfeSIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIg\\nAiLQLgRa7Yhshv520cFz1gxbajn3511fLbY1RfZ9cMyddxubUV+jOi66fPLibNSepL52PX5f2tmu\\n/GWXCIiACIiACIiACIiACIiACIiACIiACIiACIiACIjA5SZw6R13+dPX7HY2qu+iyxNLozbU+sk4\\n7/pqta8h+cvu0DrP9jWjrkZ0XFTZcAE2Un/QUU94UfXWY6vKiIAIiIAIiIAIiIAIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIXA4CF+VAbEa9jei4qLLhqmmk/qAja3iedWW1qSlyl9m5dl5ta0Y99eo473Lh\\noqu33lC+XNgqveXqU7oIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAInBeBVjkcG9Vb\\nb/nzLhefp3rrjnVkiZ9XPVlsaZrMZXXInVe7Gq2n3vL1lKunDC+0esslL9Jm6UnqbdZxu9vXrHZK\\njwiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAi8zwTa3eHXLPvq1VNPuXrK8Bqst1y4fhst\\nH/RUC8+rnmp2NC3/MjrFzqtNjdRTb9lay9UqzwurnjLxBdlo+VhXWrzV+tPqVJoIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVCLQaidio/rrKV9rmVrlA896y7F8I2VD/VnC86oniy0N\\ny1w2Z9t5tKfROmot327y4aKr1a5QLi1spq40/UoTAREQAREQAREQAREQAREQAREQAREQAREQAREQ\\nAREQAREQgXYh0ExnY726ai3XbvLJc1mrfcnyWY7Po44sdjQsc9kcc61uTyP6ay3bSvlW6k67KGut\\nL01H1rTzrCurTZITAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARHobALn6RxstK5ay9ci\\nX4ssz3ir5eOrqta64rJZ4q3Wn8WGpshcFmfaebSj3jpqLVeLfDvIxhdiLfbE5crFm62vXD1KFwER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIFmE2i2Q7FefbWUawdZnoda7IjPW73lYh3V\\n4udRRzUbGsq/DA64VrehEf21lG2FbCt0hguuFt2hTAgbKRt01BNeVL312KoyIiACIiACIiACIiAC\\nIiACIiACIiACIiACIiACIiACIiAC50vgohx/jdRba9la5LPKZpXj2WyVbPJKqaWeZNksx63Wn8WG\\numUug8OslW2oV3et5bLKZ5HLIsMLJqtcrbLhYqxFfyhTKWy2vkp1KU8EREAEREAEREAEREAEREAE\\nREAEREAEREAEREAEREAEREAE6iHQbMdhPfpqKZNVNotcFhkyzSoX+Ncq32i5UL5SWK9NlXSeW16n\\nO91aaX+9umspl1U2i1wWGV5YWeSyyMQXaa3yzSob66k13ojNtdYleREQAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQAREQgfYkcFGOvkbqrbVsFvksMjyDWeSyyGTVFa6arDqDfAjrLRfKVwpbqbtS\\nvQ3ndaqTrNV216s/a7lmymXR1SwZXnBZdCUvzHrKJHWE42bqCjoVioAIiIAIiIAIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIiIAIiEAjBJrpLKxHV9YyWeTOU4bMs9RXi1zyPGbVnyyX9bjV+rPakVmuU51t\\nrbS7Ht21lMki2wyZZujghZRFT7jgapENZWqtIy5Xb7xeO+utT+VEQAREQAREQAREQAREQAREQARE\\nQAREQAREQAREQAREQATal8B5O/jqra+WcllkmyHTDB28MrLoCVdQLbKNlAllq4X12FNNZ0vzO9FR\\n1kqb69GdtUwWuWoy1fJ5sVSTaTQ/XJDV9AS5ENYqH8rFYTN0xPoUFwEREAEREAEREAEREAEREAER\\nEAEREAEREAEREAEREAEREIFmEWiGo7BWHVnlq8k1mk+G56EjnKtqdQW5OKynTFy+UryVuivVW1de\\nJzrcWmFzPTprKVNNtt3zeXFVszFcgFnlgnwtuuMytcTrsakW/ZIVAREQAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQARG4PARa7eyrR3/WMlnkqsm0e358pVWzNZYN8XrKhLLlwlboLFdXw+md5Dhr\\npa216s4qn0WukkylPJ78SvmV8qqVzZKfVYZy3KrZ46XK/220fHnNrc/pZNtbT0c1iIAIiIAIiIAI\\n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\\nQAREIKsJUAxeyWI4WLrmmvDHfs/MTLs76evXrttXX31l3d3dblHMcwX5BVZaXurr6jY2RNbSW11L\\nN86GdbMeWtVSdG+D5TCth5tgkU1307kcOC4KwowKIiACIiACIiACIiACIiACIiACIiACIiACWycg\\ngXjr7FRSBERABERABERABERglwnExc9dbmpHq6dQS3fPo6OjbkX8uPOxzc7NJtuorKq09957zz76\\n6CM7fvy4W/rGBeKtjpvr8dIVM+ucmppyi9tDhw5ZXV2dr98bOsD6t9pGqENbERABERABERABERAB\\nERABERABERABERCB3CQggTg3r5t6LQIiIAIiIAIiIAIikMUEKL7SJTLdOh85csTOnjvrgjGFY1rA\\ndnR02MWLF+3dd991QXenrHvZ3tGjR21+ft7X6K2trfG2ampq3LI4IMtlcZgMGcMYwjaMTVsREAER\\nEAEREAEREAEREAEREAEREAEREIG1CUggXpuPzoqACIiACIiACIiACIjApglQtKyqqrJTp07Zv//7\\nv9vFDy7a5MSkC5t0/9zS3GLHjh9zC19a9+5UqKystDNnzlhbW5u7sy4qKrKmpiYXqveLkMpx7Jex\\n7NR1Vz0iIAIiIAIiIAIiIAIiIAIiIAIiIAIisBkCEog3Q0t5RUAEREAEREAEREAERGADBChgUpxt\\nbm52i+GTJ0+6y2davtJamOJxQ0PDjq8LzLWcufYwo4IIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI\\nrERAAvFKVJQmAiIgAiIgAiIgAiIgAtskQJGYYjBF4sbGRltcXPQamc71huNrDm+zqRWLU4xmkLXt\\niniUKAIiIAIiIAIiIAIiIAIiIAIiIAIiIAKvLQEJxK/tpdfARUAEREAEREAEREAEdpsAxdkgCO92\\nW5n1s90gEmee07EIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMDrSyD/9R26Ri4CIiACIiACIiACIiAC\\n+5uArIf39/XV6ERABERABERABERABERABERABERABERgKwRkQbwVaiojAiIgAiIgAiIgAiIgAhsg\\nELfgje8Hy+INVKEsIiACIiACGyYQudaHc/0Nl1BGERABERABERABERABERABEXgdCUggfh2vusYs\\nAiKQcwSCqCBLsJy7dOqwCIjAa05gtef2aumvOS4NXwREYB0Cm5U/N5t/neaz/HQYLbvJ/RVE4niW\\n+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\\nCBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/G\\nuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFg\\nUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrE\\ne30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMF\\nFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7\\nFVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQGCygQDwaVjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwWECBeDCodAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENirgALxXp+M\\ncxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGABBeLB\\noNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI\\n9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAYL\\nKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2\\nKqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z\\n5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSD\\nQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ\\n7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGCygQDwaVjgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwW\\nUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjs\\nVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWECBeDCodAQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30y\\nzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgH\\ng0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg\\n3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgs\\noEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDY\\nq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQGCygQDwaVjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECAwWMfeKpwAAEAASURBVECBeDCodAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xz\\nESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg\\n0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3\\n+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgso\\nEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYq\\noEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXgUUiPf6ZJyLAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGCygQDwaVjgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9iqgQLzXJ+NcBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWECBeDCodAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9Phnn\\nIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINB\\npSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv\\n9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQ\\nIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxV\\nQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\nYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTKn\\nz/XGFBJfLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ3KaBOdZfag++lQDwY9JbTKQjfMrD0\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZwuoYZ1N9uZtUCB+8+y33Nm/vtiiJIYAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQGAvAupbe3kSC+dQIF6AeROm/WF5E9DdkgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4NYF1MFunXj7DRSIt1uJJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwL0WeOZen/5+Hj7+hUS9nqoDfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIPXCA/UZztA3+5\\n+3p5PkG8r+fhNAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELg1AQXiW6OVmAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAvsSUCC+nefh4/C34yorAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIDA4xBQb7ul56xAPBb2rt6ocR8XAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTdT4C5q\\nVndVf3szHe/03grEY7jv4o2Zf8CyHXNyWQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhcXyBr\\nV9leP9P6zsh/2/dYP8EDWVUgvh8P0pv9fjwnpyRAgAABAgQIECBAgAABAgQIECBAgAABAgQIPGYB\\nNa178PSfuQdnfGxHrH9wnnpsL97rJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBACUfPKrwfx\\ngh7Ki/AJ4vOeZC3enrdTNAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECtyGghneGqgLxdqzb\\nemP5lxPbn4FIAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB+ytwm3Wx26rl3V/thZMrEC/ANNN7\\nfEPd5h+g5uUbEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELgU2Gudao81vUu0vXQUiJefxG28\\ngW6a86b7l1+tFQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLXE7hpDeum+3unvo2cvfvcuzkF\\n4v4jG/mGiVz51b/b+uzIs6zfySoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBmwlct7aV9bTr\\n7u+demSuXv57OadAfLuP7aZvupvuv91XJzsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnxW4\\naY3rpvt/9kRmLgUUiC8p5k/5Xo3uvhdvdG/2u3d3RwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngdsV2EMdTB3u4hkrEN/um/02su/hD9BtvC45CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE7peA\\nutX9el7zaR97gXjEvxS4bo5z/8Bc9z738G3pyAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvdM\\n4Jxa1rl1skpxzn3qvtofkaPmu1f9x1ogHvXQr5Mn9py779z4e/UmdFgCBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIEHIXBuTes6dbOAOvc+S7ij8izl3+X8Yy0Qj3gYt/mG2fqH4TbPMMJIDgIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgYcnsKVGtbXedV2dLWe4bu4Hve+xFYhHvFH28mYe8Voe9Jvb\\niyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIELg1ga21qq1x1znoqLrdbZ7xOq/rVvc8lgLxnh/q\\nOW/cPb+OW32jSk6AAAECBAgQIECAAAECBAgQIECAAAECBAgQILBbga01rHPqYm/Gi936Ot6Msw27\\n52MpEA8D25ho1Jt7VJ6NxxZGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4EYCo+pbo/Lc6MU8\\nxM0PvUAcb5ybXufkuKs36jlnuunrt58AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAT+Aualbn\\n1t9GnGlEjp7XLuYeeoH4psjnPPwtsadiTq3H69kSc9PXbT8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBLQJbalenYk6txzm2xOR5z4nNPY+mfagF4rt+6KfuF+tbYpbeeFv2L+01T4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQOC2BU7Vs7bUyrbE3PbrqPlPnafG3pv+Qy0Q3+QBjHzQkWst33XX\\n4vWdyn0TA3sJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILAlsqVNdtw62JffSuXrza+foxT/4\\nuYdWIL7pA77p/q1vmLU39qm1rfcQR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAuBJZqbKfq\\nXkv7Rp/5pve56f7Rr+dG+R5agfi6GFsf6ta4tXOMyLGW3xoBAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACB+yIwona2NcfWuPtid61zKhCv/wjoinpbb5jIu5S7t9abq+c8o5+psj1jq1ACBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHHLtArMvXm0mltLWOu20buLdfWuC257mXMQygQ38VDvIt7nHoD\\n7eEMp85onQABAgQIECBAgAABAgQIECBAgAABAgQIECBA4HEK7KGWdRdnuIt73Oo76CEUiK8LNOLh\\nRY4ReeI1rOXq3WOOf+ONN16/LoB9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBM4RuKhNLdW1\\nejWtSL8Uf86tM3ZUrqWz5n0ebPsYC8RbH/apuLX1WOut9+aW3ly92Hbux9/5znf+dSnB6fmnppD6\\ndXqHCAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgccrcFGb+nEj0NawYrk312y7HPZiY643n5vW\\n1iLm1PrWPBn3YNr7WiA+9Ya46QM69YZZW++tLZ33nNjea3rt85///NefWFi60xNBBgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgTOF7ioTb22cedS5eqcGlkvNm+/thYxp9Yzz3XayH2b+a9zpk17\\n7muBeNOLa4JGPaClPL03QW8ujrU03xy5G1f3/vuf/dmf/fvlpljJq/ZzTkuAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIEDgBgIXtamsT9W6VWbtzeVabZfievO9ucwVayOuUXlGnOVWczymAvFtQp7z\\nhmljY9zOtWftxcTc1/7gD/7gK1/72tf+33lD/LTovGo/5za1eavabtooiAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4AELRE0qalPTS/za9BXFpHplcanOtf1eTJun3VPH58TWffpF4DEUiLe+UbbG\\nFb7h3VNnaNe/8rd/+7f/3+///n/70uHw0+kw0/JTF1/zn8mYO/crbtF+ZY52/txx9VrbW+P0CRAg\\n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\\nLuNru7S3xugTIECAAAECBAgQIECAAAECBAgQIECAAAEC2wW2/t37Wtw5azW29uPEOW7btbVTsXU9\\n+5kvxktzuZZt7Imrxh9njt8zrtf29mWejD8npu5tz5DjjOnlzZhz2pov9/Xmcu1RtArEpx9zvEnW\\nioDter6pYk/tn77TMaLmy/5anjYmsqydN8+ROXOc+3J+KUeuZ3y07VyOM0eMW486l2vZRs68ci7b\\nnM+2ztd+rvfaiIsrzxn9nIt+XHXtOHP1vcauxV3t0CNAgAABAgQIECBAgAABAgQIECBAgAABAgRu\\nS+Ccv6vvxV5nru7p9XMu23jt2e+17VzG1/no57iu17mYr1fdk/3a1tilfhsf496VcbFWY2q/t6+d\\na/O0+9txb387Z1wE7nuBON4AtVhXXtrcXVtfW2vz5Ljdc2qc+5badv9SXM5nfLY537axXq8wyrns\\n99xq3oyveaJf92VMzi2NM0feO8eZL/flfMZlm/NtfG89Y2Mtrsyd4zo3B2z8dpP9de/G2wkjQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQKPViD/bv86AKf2nrte42s/zlbH2c+2rudctrmW49rWfsTFFXM5\\n3xvXuYzNNtbiqvuPM8fvOV/js59tjW/7dX+7tjbOfWsxda2NPzWue5f6bY4at7YWcafWa67d9e97\\ngfg6oPHAegW73nxvLu/ZrrXjjKttjcl+tHHFmXIuxrUf47xyPvflfLs/56PNPbXf7o+1zJH9aOvV\\n21PX6/52PsZ5jtpmXO5t21jvzeW+XI8282Y/2rUr8ubVvra6FjHteu7TEiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAmMFRv6d/Fqu3lpvLl5dnc9+tvnqc5xt3Zdzp9rcU+Pafox7c3mO2i7FtvO5J/Pm\\nONucz33ZxnquZWy2dT77S/tyPff22jamHdc9vbXeXOxZmq/5HlR/LwXihG+LctfFjnyjcuUZas7a\\nj/V2nHtqmzHRxtWer7eesccdP7sn56Nt98dc3CPnY5z9bGMur5iLK/ccR09+r2duc/T2Z3yuZba8\\nx1KbcdFmTDsX4zxDm38pNueXzpXr57SZa23P2vnW9lkjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\n+gJb/+59S1wvpp1bG+datnHi7Gfbm8u1aGs/YuNq5zPmuHq1p45zT23bXBmf87Wt/V6Ourft1/jo\\nx5Vz2Z8ny7dT6yV07mbenK/j2s/1m7Yjc47MdaPXtZcC8Y1exMbNgb61mNfG1b21v3brjIs2rjbn\\ncfa875mr7oq8ea86H/2cz301NudyT54v9+R8jnvxda63v65Hvrx/5r7OXC9H5mvX2nHG9dqIrVd7\\n9rqmT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLy5Atf9e/zevt5cvLp2vo5rv8bmfLa9tZzLmNrW\\nfsTFlXPZj3HOZT/bjIk2r4yNccZlm3PZZmy2MV+vnM/9ta1x1+1nvtif9zqVq8bVfu7rzeVabbfG\\n1T33sv+YCsR3+YDiDZTFybbwWM+xFpdrNb7Xz7ho86r3zvVYy37b5lrur23NlfN5r1zL+aW2xmU/\\n29zTjmM+57LN2GyX5uveGpv9PH+Ot7Rxr951nVy9POYIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nmwuc+nv7c9drfO3HSeu418+5bOuenKvt1n4vLuXatRjXr15cPVft93LV9cy11Ob+up5z2da12s/1\\nbOua/g0F7mOBON4IS8W6cznaXHVc+2t5a1z041o6X8bWuHbumOGqOJrjbLMounSPiKs5Mz7ms9+2\\nuRZtvfKcdS76ee+8T8xlbObuxWVMrMVVY48zV3NraxmbbT1PzPX2Zmxtc1/MtWercTft1/vcNJf9\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgoQvc5O/sz9nbi90ylzHZ5vPIcbYxn/22zbV2Pse99XYt\\nYuKK+d7XvNh8y7iYzny1rf0a06S5HNb46Nev3N+bq2vZj7Z35f5ci/GWq8bVfuxtx1vyLcWMzLV0\\nj6Hz97FAvAYQD6Atxm2dW8u7tFZz134vPtez7cVsmcv90S5dWSBt24hv53LcyxVr9Tp1z4jN82W/\\n7s9+e88cZ5tx0S7NxVrvPEvxvdjIsXRFnnqdu7/u1SdAgAABAgQIECBAgAABAgQIECBAgAABAgS2\\nC4z8O/m1XEtrvfk6V/vxqnKc7da5jI+29uv+Xr+Nr+OIzyvn2zbWYy6u2tZ+b63N08bPCa/xbWue\\njKtnu8btnthSc+bC1rmMv3ftQysQX/cBxIOuBcE6PrefZ8h90cZV8x9n1r/X/Vn03Jpjbe/Wtd7p\\n8v71NWW/F9/O5euo8zeZizy9/afy1/Wb9tNkLc85Rmt5rBEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJHga1/974Wd85aG1vHvf6WuYypbe3HK41xneuNjyJXsRmTbeapcXUu8/fm6lruX2oztm2X4nvz\\nsXdtf67F3nP77Z4YP8pLgXj9sccbKwuAS/1ehozNdimmN59zWfhs21xfa9s9OV7bE2sZF21ccf7e\\nlXGxVvttbK5lW+PrXJ2vOdqYpbjc04vPtdpGXFxLr++46jsBAgQIECBAgAABAgQIECBAgAABAgQI\\nECCwV4Gtf8e/Ja4Xc2quXc9xtuGW/Wx7c7kWbe1nbDtfY9p+xmYbOeI6FZfxNe7cfdfdOx+w863N\\n1wmZpzIuBkv9pb2Pdv4hFIjjYWfBrz7I3vzWuZrn3H7vHpkj17LN+dFt5m/btftEbHu1rjWmFmMz\\nLu8XeTI247Jt79GOe3G9udi3NJ9r0eY5on/qinx5nbMv92gJECBAgAABAgQIECBAgAABAgQIECBA\\ngACBuxG4zt/jL+1Zmo9XUtdqf20t47KtsTm3pc2Yuj/7uRZtfsVavXK+tnW914/YuNr2ODv++5b7\\nZMyou/fybZ2LM/RiR53tTvLchwJxINfC3W3BrN2nrtV+nKWOa789Z65l267XccQsXVkUzbYXl2tt\\n24vNuYitV+8Mma/G1X5dr/0aE/1cy7ZdfzPGezrLm/H63ZMAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCNwngV4dY8v5e/t6c5mrrtV+rNdxr3/OXMb22joX/fzKMyyt53zE5ZV7l9qIy3217cW3sb2YzJH3\\n77UZk+1aTL1nxtV9tZ/r2a6tZcyI9q7uc+2z3ocCcby4gIwC3nWv3v7e3Ln5a47ar3liPq7e+XPt\\nGHH1vRebq3mfbHO+trnWthnTzse4vZYKpnW+9tv9vfFSfG9+61zcJ2Lj6r2O48rV917eq1U9AgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4D4IbKkJ9F7H0r5z5jM227xPjrON+exn25vLtWhrP2PrXBvT\\nW+vF5FyNz/zR5nVqPeOibWPrWu3Xe9d+jcl+rue4tnm/mKv9GnNOv5ejN3fTnOfsv5PYuywQB2gW\\n8m7zxd30PtfZ39sTc3H1XvPa2nHX1ffMXfe0c1fR23pZJG3bdnc9e94/YnJ+6znyPm3+dtyL6821\\n+7aM65m3xC/FZJ5cry45pyVAgAABAgQIECBAgAABAgQIECBAgAABAgTuVmDr39efimvX23G8qpzL\\nNl9pHWc/296+XOu1dW6pX+8bMRnXm6/rGVfbXD+nbV9TzZdnWGvzXr2YpbW8R2/P0tx19tRcN91f\\nc6317+o+h7ssEK+94LtcC9y2yJf3r2u1v3W9F1fnsn/q/vUNELH1LNnPNnNuaWveNr6eqReX52j3\\nxbiuLfVzX13PuXPbyBFX75zHlfHf34x7jn8VMhIgQIAAAQIECBAgQIAAAQIECBAgQIAAgYctcKp2\\ncO56L76dy3G2IZz9bHtz7VqOa7u138bFOL/i3nnlXK/NmK1t5Igr29qv+et89Nurja3rNXedj35d\\nq/2Mq3O1n+vZrq1lzINq77pAXIGz4HYd0MxzKkfErcUsrdf57Gcb56399vy9td5c5qn746xrsfla\\nMibac67cn3uW8mRcmz/Pl/trW9dqP2N6c7HWm+/NZR4tAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGBJoK1ttHHnrvfi27kcZxv37PXbuXac+3K+tm2/Hde9sZbrS/N1PWLiyn1b29wzb77Yn/3a5r3a\\nvDUm+xmb42h7c7le17Kf7dreGpO5antqfS13zXOqv+U+p3KcvX7XBeKzDzhwQwBH4bF3La315tu5\\nOq79vM/SXKwvnSfWYl+9atE0+2v7c2/ev80X6zXP2nrmqnvafm+8NLc2H2s3vfJ13TSP/QQIECBA\\ngAABAgQIECBAgAABAgQIECBAgMD9EujVO+oruM56u2dpXOd7/bW5XKtt7cdriHF+1XHt99ZzLtqM\\nzbautevH6OXvNb7tZ97l3U++lhqXuZbm2vV2HPt6c2vzp9Zi/cFcD6VAnA95S8H0Og8v8vdy1/m2\\nn/ep+5bOmXtzPfbWfZkr2158rrVt5KnxOT4Vl+t5jvZsOT6VL/Ocapfy5L5T6xl3W219vbd1D3kJ\\nECBAgAABAgQIECBAgAABAgQIECBAgACB6wnk3+Of2n0qrrfezq2Ncy3bOE+vn3Nb2hqz1s+1vGeM\\nc662OZ9txrdtri+1NT76vavujfUYt1fG1Pmcq/FL/XZfHY/s1/uPzHvnuR5KgbiFiweUhc12Lcan\\n1nt72rmaY6mfe2I9rnqmnMv5miPmclzjYj6uLJbWfDGfe7Ifbb3afRmf96jrOZf7c21pnPN7aPN1\\n3cZZei63cR85CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWWB9u/rlyOfXDm1r11vx5Gtnavj7Gfb\\n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\\nECBAYE9g99/oR/W9eBvbGdfa7Gcbb5j9M21vzlGs5nv9PFMvF7FePOdEG0/WtP3/JJv8LNabn2u3\\nba82165tzquxWX+3frbW03P/76Ydr16mrcwf1fTibayOaz9ev457/YxlW+dkbNT2attYO7fme/1R\\nfcZ7cyLWPrU+c6uxrD/bjv7SjOKjfXr1EZvFe7ne+rlOtr0aMQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOC9BPLf9bNdOV3WRts+mevFj2J1vdqPeTnOtsZqP/Nn2t6cUWwUz7Nkvh3P4pmLtvZjjXhq\\nrPYz14tlrtdGrH1yjYiP+rM57by29hXj+h6n9r/rvyCOg/QuF08d6sGTzp716rw6P/vRxhN2GYtx\\nr5+1kc8nzUe5jNf1M5ZrRJv5o1jN39WP8+R7tGu2uXYc9b3YLJ65aEf7Rq59Yp/es7NGb74YAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsC8w+nf7nZWO1hjle/E2NhvX3FE/81fa3twaq/3wi3GNteM0\\nbuN1Tq1p++28Xj5jO23uvzMnas/O293njvpbznrXBXHF+7QLs4DMM9d+fqRZLHOjNteobVsbuRqL\\ncZwnYvFkv3fGrPmp/Pc96tzMj2I7+Vq70s93W6mNmrb+aNybk3u1czOebeTzSd8cr7Z1jdGcs2uP\\n1hMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfLLDyb+9n33917VFdL97Gdsa1NvvZxjtm/462rlH7\\nuc8sNqrJeLTx1DVG/Z/Kf2sz1rZ1jciNxnVe1oxivXytfcf+rWd+5MXVmbVX5vRqVmJtTR3v9LO2\\nbePH0sZi3Iu1tbWm9rOuxnb7vTV2Y1l/pq1zVvuzusjFkw4/o58/e7HMz3JZU9vd+jpXnwABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgPgd2LtVl9L3cUa/N1vNPP2ittb+6ZWJ2z0o9fQtSNajPftrW+\\n5mp/pabWz/ptrjfeiUVtffKsNXbUPzPnaM3/ufO/ID7c7EsK4kPE5WHbjl5vpS5rYo3s1zbiuees\\nH7n2qfMyV2PZzzZrapu5tq01j+ynRd1jNZZzoj6feI+jp9ZH7cqcozXlCRAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgccKtP++v7LbypxezUqsranjnX7Wtm28XxuLcS/W1taa2s+6Gqv9o3yvNubEk7mf\\n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\\nHQLvcJF45xnuWOuONfLXcedaueasffZ+s7M8NPcXL9he8c537nnXWnet0/5AH7Vuu887jP/Su76D\\ntzMQIECAAAECBAgQIECAAAECBAgQIECAAIEq8Gcu9P73pR/1rnete9c68X3vXKv+Xmb9V+w5O89D\\nc3/1gutV7333vneud+dasx/ts/aZnUGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIPBOAs+6oLxz\\nnzvXim9x93qr3/dV+66e7/a6v3xZ96p3f9S+j1j3EWuu/ohfuffqGdURIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBGYCr7x8fMTej1gz/B617uzbvHLfo3M9NO8S7n/+55UGj9r7UevGj/GRa9/9Y/+k\\ns9797tYjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIErgm86tLyzKkfedZHrf2odVf8Xrn3yvkeWuMC\\n7Yf31Q6P3P+Ra9cf57P2qXvqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgT+ksCzLjYfuc8j1175\\nLbx6/5UzPrTGpd6/vK/2ePT+j17/X83f0av2/T2BHgECBAgQIECAAAECBAgQIECAAAECBAgQIEDg\\nMwRedYH56H0fvf7R1331/kfne1rexd1/U7+DybPO8Kx9/lu5H3m38/RPKUqAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQ2Bd4twvKZ53nWfvMvsg7nGF2vqfmXMiNud/F5tnnePZ+4y+wnvnEM6+/nUoC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgnQQ+8bLx2Wd+9n6j38e7nGN0vpfEXazN2d/N51XnedW+\\n868jS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0Aq86lL0Vfu275/jdztPnuvlrYu/tU/wbk7v\\ncJ53OMPa11NFgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhOgXe4BH2HM9Sv+27nqWd7i75LvvXP\\n8K5W73iudzzT+pdWSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4H4F3vPB8xzPFF3vXc73Pr+l/\\nT+Iib/9zvLvZu58vxT/lnHleLQECBAgQIECAAAECBAgQIECAAAECBAgQIEDgboFPudB893O++/nu\\n/t1cWs8l3Xm+T7D7hDPufoFvfKddA/UECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAewl84wXlJ7zT\\nJ5zxvX6p/3sal23XP8knGX7SWa9/meetwPV51nYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIuBR/z\\nG/gk108662O+1oVVXWxdwGumfqrlp5674TckQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYFPjU\\nC9ZPPffiZ3lOmcvB+50/3fTTz3//F7UiAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCzBT79YvXT\\nz/9Wvx6XgY/7HN9m+23v87gvb2UCBAgQIECAAAECBAgQIECAAAECBAgQIECAwGsEvu0i9dve5zW/\\nimZXl34NyAOGf8H4L7zjA34aliRAgAABAgQIECBAgAABAgQIECBAgAABAgQIbAv8hUvTv/CO2x/+\\nrgku9u6SXFvnL3v/5Xdf+3WoIkCAAAECBAgQIECAAAECBAgQIECAAAECBP66wF++GP3L7/7U371L\\nu6dy/99m3P+P4rDD6pBIAQECBAgQIECAAAECBAgQIECAAAECBAgQIPBmAi471z8Iq3WrWypdvt3C\\neGkR3+AS38Mm+y4Po7UwAQIECBAgQIAAAQIECBAgQIAAAQIECBB4moDLx6dRb23ku2xx3VvsEuxe\\nz6ur+R5XBc0nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4RwGXwm/yVVxIvsmH6BzDt+mgCBEg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHyMgEvhN/xULiHf8KN0juQ7dVCECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE3k7ApfDbfZJ/D+Ti8V+PTxn5bp/ypZyTAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIPDdAi6EP+z7umj8sA82OK7vOIARJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQuFXA\\nhfCtnM9fzMXi882ftaNv+yxp+xAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvlPAZfAXfleXiF/4\\nUSev5HtPcKQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9YwGXwH/n4Lgz/yIc+eE2/gwMgaQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAlwi4CP6SD3n2NVwMnpX7W/P8Tv7W9/a2BAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwOcKuAD+3G/3lJO7+HsK85/YxG/pT3xmL0mAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAi8UMDl7wvxv2Vrl3rf8iU/+z38Dj/7+zk9AQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nsC7gknfdSuUDBFzMPQDVkl8h4O/GV3xGL0GAAAECBAgQIECAAAECBAgQIECAAAECf1zAZewf/wF4\\nfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD7BP4/lAOziQiZtnUAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 17,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Image(filename=\\\"images/5-01.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## KNN \\n\",\n    \"\\n\",\n    \"Given: \\n\",\n    \"- Training data D={x_i,y_i}\\n\",\n    \"- Distance metric d(q,x) <- Represents domain knowledge\\n\",\n    \"- Number of neighbours k <- Also represents\\n\",\n    \"- Query point\\n\",\n    \"\\n\",\n    \"Algorithm:\\n\",\n    \"- $NN = \\\\{ i: d(q,x_i) \\\\text{ k smallest} \\\\}$\\n\",\n    \"    - If there are more than k that are closest, just take all of them. So take smallest number $\\\\geq$ k.\\n\",\n    \"Return:\\n\",\n    \"- Classification: Vote of $y_i \\\\in NN$, take the plurality (which one occurs the most). You can tiebreak e.g. by picking randomly or by picking the one that's more frequent in the entire dataset.\\n\",\n    \"    - Could also do a weighted vote (weights depend on how far away you are). E.g. weight by 1/distance.\\n\",\n    \"- Regression: Take the mean of the $y_i$s. Don't have to worry about a tie.\\n\",\n    \"\\n\",\n    \"Simple algorithm but a lot left up to the designer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running Time and Space\\n\",\n    \"\\n\",\n    \"Given n sorted data points in R1 mapping to labels in R1.\\n\",\n    \"\\n\",\n    \"1-NN query running time: binary search. Query space: constant because data storage accounted for in learning space.\\n\",\n    \"\\n\",\n    \"KNN query running time : lgn + k, similar to merge sort. If k >= n/2 it dominates -> O(n), else log n dominates. Query space is constant because we can point in place. List is sorted so only need to point to first and last nearest neighbours.\\n\",\n    \"\\n\",\n    \"Linear Regression\\n\",\n    \"- Learning running time: involves inverting a matrix but this is scalar laned so we can just scan through the list to populate a constant-size matrix. n.\\n\",\n    \"- Learning space: 1 (m and b)\\n\",\n    \"- Query running time and space: 1\\n\",\n    \"\\n\",\n    \"KNN learning is fast and querying is slow. With linear regression, learning is expensive and querying is cheap.\\n\",\n    \"- If we query more than n times, NN is worse in terms of running time.\\n\",\n    \"- Tradeoff: Want to balance the two.\\n\",\n    \"- NN: Put off doing any work until you have to. **Lazy** learners vs linear regression **eager** learner.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/5-07.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### How KNN alg works\\n\",\n    \"\\n\",\n    \"e.g. R2 -> R\\n\",\n    \"- Distance metrics\\n\",\n    \"    - Euclidean distance metric\\n\",\n    \"    - Manhattan distance (l1?) (The distance between two points in a grid based on a strictly horizontal and/or vertical path (that is, along the grid lines), as opposed to the diagonal or \\\"as the crow flies\\\" distance.)\\n\",\n    \"\\n\",\n    \"Different k and distance metrics can give completely different answers depending on the assumptions you make about your domain.\\n\",\n    \"\\n\",\n    \"- KNN tends to work well.\\n\",\n    \"\\n\",\n    \"### Preference biases of KNN\\n\",\n    \"*Our belief about what makes a good hypothesis.*\\n\",\n    \"- Locality -> Near points are similar\\n\",\n    \"    - Further biases depending on distance function used\\n\",\n    \"- Smoothness (Expecting functions to behave smoothly) -> Averaging (Think intermediate value theorem or something)\\n\",\n    \"- ALl features matter equally (as opposed to $y = x_1^2 + x_2$.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Curse of Dimensionality\\n\",\n    \"\\n\",\n    \"(In separate notebook)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Other stuff\\n\",\n    \"- Distance metric d(x,q) \\n\",\n    \"    - Euclidean (cont), \\n\",\n    \"    - Manhattan, \\n\",\n    \"    - weighted versions (can weight different dimensions differently to deal with the Curse of Dimensionality)\\n\",\n    \"    - Mismatches (Discrete)\\n\",\n    \"    - (Comparing convoluted features)\\n\",\n    \"- How you pick k\\n\",\n    \"    - Special case: Consider k = n with a weighted average.\\n\",\n    \"    - -> Regression-y thing on a subset of points. **locally weighted regression**. Can throw in nn, dt. (Replace average with regression or dt allows you to do more powerful things. \\n\",\n    \"        - E.g. locally weighted linear regression -> Get something like a curve. Cool because we start with a hypothesis space of lines but end up being able te represent a hypothesis space that is strictly greater than the space of lines (with locally weighted linear regression).\\n\",\n    \"        - Allows you to take local info and build concepts -> can build arbitrarily complicated functions.\\n\",\n    \"    \\n\",\n    \"    \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"Domain KNNowledge!\\n\",\n    \"- Instance-based learning\\n\",\n    \"- Lazy vs eager learners\\n\",\n    \"- KNN (K Nearest Neighbours) (Lazy learner)\\n\",\n    \"- Nearest neighbour: Similarity function (distance)\\n\",\n    \"- Classification vs regression (KNN can handle both)\\n\",\n    \"- Averaging\\n\",\n    \"- Composing different learning algorithms e.g. via locally weighted \\\\$x regression\\n\",\n    \"- Curse of Dimensionality: The more features you include, the more data you need (exponentially) to produce an equally accurate model\\n\",\n    \"\\n\",\n    \"+ 'No Free Lunch' theorem: for any learning algorithm, if you average over all possible instances, it's no better than random.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Doesn't work\\n\",\n    \"\\n\",\n    \"def imgshow(file_name):\\n\",\n    \"    Image(filename=file_name)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/.ipynb_checkpoints/2.6.2 Bayesian Learning-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Bayesian Learning\\n\",\n    \"\\n\",\n    \"Thinking omore generally about learning theory\\n\",\n    \"\\n\",\n    \"Claim we're trying to **learn the best hypothesis we can given data and some domain knowledge**.\\n\",\n    \"\\n\",\n    \"Try to be more precise about 'best': **most probable** hypothesis (most probably the correct one). I.e. **$$\\\\text{argmax}_{h\\\\in H} P(h|D)$$**, where D is data.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Bayes's Rules\\n\",\n    \"$$P(h|D) = \\\\frac{P(D|h)P(h)}{P(D)}$$\\n\",\n    \"\\n\",\n    \"Follows directly from the chain rule in probability. Numerator is probability of D and h together (conjunction).\\n\",\n    \"So $$Pr(a,b) = P(a|b)*P(b)$$.\\n\",\n    \"\\n\",\n    \"Ask what each term means: \\n\",\n    \"- **P(D)** is your prior belief for seeing a particular set of data.\\n\",\n    \"- **P(D|h)**: Likelihood we'll see some data where a hypothesis is true. Data is training data. Is set of inputs and labels corresponding to those inputs. $D = \\\\{(x_i, d_i)\\\\}$. **P(seeing labels $d_i$)** where h is true and we have inputs $x_i$.\\n\",\n    \"    - P(D|h) is a lot easier to compute.\\n\",\n    \"    - ? version space.\\n\",\n    \"    - Kind of like accuracy?\\n\",\n    \"- **Pr(h)**: Prior on hypothesis. Encapsulates belief that a hypothesis is likely or unlikely compared to other hypotheses. I.e. our **domain knowledge**.\\n\",\n    \"\\n\",\n    \"vs kernels and similarity functions for domain knowledge.\\n\",\n    \"\\n\",\n    \"**Priors matter**. E.g. if we only give the test to people who have certain symptoms (add evidence), you can increase the spleentitis prior. It's actually changing the posterior but you can think of it as a prior. IT depends where you are in the process when you're thinking of it as a prior.\\n\",\n    \"\\n\",\n    \"Q: What's the boundary of the prior at which a pos result will make you believe someone has spleentitis?\\n\",\n    \"(Philo Q: so what)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Algorithm\\n\",\n    \"\\n\",\n    \"For each $h \\\\in H$,\\n\",\n    \"\\n\",\n    \"calculate $P(h|D) \\\\sim P(D|h)P(h)$\\n\",\n    \"\\n\",\n    \"(Denominator doesn't change maximal h)\\n\",\n    \"\\n\",\n    \"Output: \\n\",\n    \"$h_{map} = argmax_h P(h|D)$\\n\",\n    \"\\n\",\n    \"MAP = maximum a posterior. Max posterior given all priors.\\n\",\n    \"\\n\",\n    \"Hard to say what P(h) is.\\n\",\n    \"\\n\",\n    \"So it's common to drop P(h) and compute\\n\",\n    \"\\n\",\n    \"$h_{ml} = argmax_h P(D|h)$\\n\",\n    \"\\n\",\n    \"ML = maximum likelihood hypothesis. Maximum a-priori hypothesis.\\n\",\n    \"- Dropping P(h) -> Uniform prior. We're saying our prior hypotheses are equally likely.\\n\",\n    \"\\n\",\n    \"But **not practical** because we need to look at every h in H.\\n\",\n    \"\\n\",\n    \"### e.g.s\\n\",\n    \"\\n\",\n    \"1. Given {<x_i, d_i>} as noise-free examples of c. Binary classification problem.\\n\",\n    \"2. c is in H, finite hypothesis class.\\n\",\n    \"3. uniform prior (uninformed prior)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- $P(h) = \\\\frac{1}{|H|}$\\n\",\n    \"- $P(D|h) = 1$ if $d_i=h(x_i) \\\\forall x_i, d_i \\\\in D$, $P(D|h) = 0$ otherwise.\\n\",\n    \"- $P(D) = \\\\sum_{h_i \\\\in H} P(D|h_i)P(h_i) = \\\\sum_ {h_i \\\\in VS_{H,D}} 1 * \\\\frac{1}{|H|} = \\\\frac{|VS|}{|H|}$\\n\",\n    \"\\n\",\n    \"P(D|h) = 1 if H is in the version-space of D.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/.ipynb_checkpoints/2.6.4 Bayes NLP project-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sample_memo = '''\\n\",\n    \"Milt, we're gonna need to go ahead and move you downstairs into storage B. We have some new people coming in, and we need all the space we can get. So if you could just go ahead and pack up your stuff and move it down there, that would be terrific, OK?\\n\",\n    \"Oh, and remember: next Friday... is Hawaiian shirt day. So, you know, if you want to, go ahead and wear a Hawaiian shirt and jeans.\\n\",\n    \"Oh, oh, and I almost forgot. Ahh, I'm also gonna need you to go ahead and come in on Sunday, too...\\n\",\n    \"Hello Peter, whats happening? Ummm, I'm gonna need you to go ahead and come in tomorrow. So if you could be here around 9 that would be great, mmmk... oh oh! and I almost forgot ahh, I'm also gonna need you to go ahead and come in on Sunday too, kay. We ahh lost some people this week and ah, we sorta need to play catch up.\\n\",\n    \"'''\\n\",\n    \"\\n\",\n    \"#\\n\",\n    \"#   Maximum Likelihood Hypothesis\\n\",\n    \"#\\n\",\n    \"#\\n\",\n    \"#   In this quiz we will find the maximum likelihood word based on the preceding word\\n\",\n    \"#\\n\",\n    \"#   Fill in the NextWordProbability procedure so that it takes in sample text and a word,\\n\",\n    \"#   and returns a dictionary with keys the set of words that come after, whose values are\\n\",\n    \"#   the number of times the key comes after that word.\\n\",\n    \"#   \\n\",\n    \"#   Just use .split() to split the sample_memo text into words separated by spaces.\\n\",\n    \"\\n\",\n    \"def NextWordProbability(sampletext,word):\\n\",\n    \"    corpus = sampletext.split()\\n\",\n    \"    dict = {}\\n\",\n    \"    for i in range(len(corpus) - 1):\\n\",\n    \"        if corpus[i] == word:\\n\",\n    \"            if corpus[i+1] in dict:\\n\",\n    \"                dict[corpus[i+1]] += 1\\n\",\n    \"            else:\\n\",\n    \"                dict[corpus[i+1]] = 1\\n\",\n    \"                \\n\",\n    \"    return dict\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.1.2 Regression and Classification.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Regression and Classification\\n\",\n    \"\\n\",\n    \"(Charles and Michael)\\n\",\n    \"\\n\",\n    \"**Supervised learning**: Take examples of inputs and outputs. Now, given a new input, predict its output.\\n\",\n    \"\\n\",\n    \"Regression is special because we're **mapping continuous inputs to outputs**. vs discrete input to discrete/continuous output.\\n\",\n    \"\\n\",\n    \"Origin: Height of children *regressing* to the mean.\\n\",\n    \"Term misused -> people were really referring to the idea of finding a mathematical relationship based on measurements of points.\\n\",\n    \"\\n\",\n    \"Similar with Reinforcement learning: mathmos named RL that but that's not what RL (first in psychology) actually is.\\n\",\n    \"\\n\",\n    \"[Origin of Regression](r-and-c-03.png)\\n\",\n    \"\\n\",\n    \"## Line of best fit\\n\",\n    \"How do we find the line of best fit? (Least squared error)\\n\",\n    \"- Calculus\\n\",\n    \"Loss error function chosen: Squares because it's well-behaved, **smooth**.\\n\",\n    \"\\n\",\n    \"$$E(c) = \\\\sum_{i=1}^n (y_i-c)^2 $$\\n\",\n    \"\\n\",\n    \"Differentiate with respect to c. $c = \\\\bar y$.\\n\",\n    \"\\n\",\n    \"Fitting polynomial functions.\\n\",\n    \"Parabola has more degrees of freedom. If the best fit was a line, the parabola wouldn't have any curve in it.\\n\",\n    \"-> Can't go past order = number of data points. (n-1?)\\n\",\n    \"\\n\",\n    \"[img](r-and-c-07.png)\\n\",\n    \"\\n\",\n    \"[Training Error with Degrees](r-and-c-07b.png)\\n\",\n    \"\\n\",\n    \"[Polynomial Regression](r-and-c-10.png)\\n\",\n    \"-> Solve through least squares:\\n\",\n    \"(X^T)X has inverse.\\n\",\n    \"\\n\",\n    \"['Solving' for polynomial regression](r-and-c-10b.png)\\n\",\n    \"\\n\",\n    \"Need to use least squares because of \\n\",\n    \"### Errors\\n\",\n    \"Not modelling f, but f + $\\\\epsilon$.\\n\",\n    \"\\n\",\n    \"Sources of error:\\n\",\n    \"- Sensor error (physical)\\n\",\n    \"- Misrepresented data\\n\",\n    \"- Data entry (transcription) error\\n\",\n    \"- Unmodeled influences\\n\",\n    \"\\n\",\n    \"Want to fit signal, not underlying error or noise.\\n\",\n    \"\\n\",\n    \"## Cross-validation\\n\",\n    \"\\n\",\n    \"If we don't like e.g. a linear model because we think there's too much error, we could use a higher order model.\\n\",\n    \"BUT then it wouldn't generalise well. Goal is to generalise.\\n\",\n    \"\\n\",\n    \"**Test set is just a stand-in for what we don't know what we're going to see in the real world.**\\n\",\n    \"\\n\",\n    \"Nothing we do on our training or test sets make sense unless we think they will be **representative** of what we'll see in the future in the real world.\\n\",\n    \"\\n\",\n    \"I.e. \\n\",\n    \"### **count on data being IID**: \\n\",\n    \"Independent and identically distributed (coming from the same source).\\n\",\n    \"-> Fundamental assumption in many algorithms.\\n\",\n    \"\\n\",\n    \"We want to use a model that is complex enough to fit the data without causing problems on the test set.\\n\",\n    \"\\n\",\n    \"### Cross-validation set\\n\",\n    \"We can take some of the training set and pretend it's a test set and it's not cheating because it's not actually the test set.\\n\",\n    \"\\n\",\n    \"Folds: (sheep?)\\n\",\n    \"[CV](r-and-c-13.png)\\n\",\n    \"\\n\",\n    \"Blue line initially higher because predicting on some data it hasn't seen before vs red line predicting on same data it was trained on.\\n\",\n    \"\\n\",\n    \"More power tends to overfit training data at expense of generalisation.\\n\",\n    \"[CV](r-and-c-14.png)\\n\",\n    \"\\n\",\n    \"[CV](r-and-c-14b.png)\\n\",\n    \"\\n\",\n    \"## Other Input Spaces\\n\",\n    \"So far have talked about \\n\",\n    \"- scalar input, continuous. x\\n\",\n    \"\\n\",\n    \"Also have:\\n\",\n    \"- vector iinput, continuous. x\\n\",\n    \"     - e.g. Features: size and distance from zoo for housing prices.\\n\",\n    \"     - Generalise to planes and hyperplanes vs lines.\\n\",\n    \"- discrete {0,1}, vector or scalar.\\n\",\n    \"    - e.g. predicting credit score features: Do they have a job? (discrete) What is the value of assets they currently hold? (continuous)\\n\",\n    \"    - Encoding features:\\n\",\n    \"        - Enumerating (red is 1, beige is 2, brown is 3. Implies beige is between red and brown, which it kinda isn't.)\\n\",\n    \"        - Boolean vectors for each\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Historical facts\\n\",\n    \"- Model selection and under/over-fitting\\n\",\n    \"- Cross-validation\\n\",\n    \"- Linear, polynomial regression\\n\",\n    \"- Best constant in terms of squared error: Mean\\n\",\n    \"- (Input) Representation for regression\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.1.4 More Regressions.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"Using data to build a model that predicts a numerical output based on a set of numerical inputs.\\n\",\n    \"\\n\",\n    \"## 1. Parametric regression\\n\",\n    \"\\n\",\n    \"Building a model where we represent a model using a set of parameters.\\n\",\n    \"- e.g. polynomial regression\\n\",\n    \"- Biased in that you have a guess for what kind of equation the underlying model is -> Can be good if you do know.\\n\",\n    \"- Don't need to store original data so more space-efficient\\n\",\n    \"- Can't update the model as more data is gathered.\\n\",\n    \"- Training is slow, querying is fast.\\n\",\n    \"\\n\",\n    \"## 2. K Nearest Neighbour (KNN)\\n\",\n    \"\\n\",\n    \"**Instance-based methods:** Data-centric approach: Keep data and use it when we make a query. (Best for where you don't have a guess for what the underlying mathematical method might look like because instance-based methods can fit any shape.)\\n\",\n    \"**Take mean of k nearest neighbours' y-value.**\\n\",\n    \"Repeat across the x-axis\\n\",\n    \"- Interpolates smoothly around datapoints.\\n\",\n    \"- Unbiased: Avoid having to assume a particular model. Good for fitting complex datasets where we don't know what the underlying model is like.\\n\",\n    \"- Hard to apply with a large dataset (takes up a lot of memory)\\n\",\n    \"- New data can be added easily\\n\",\n    \"- Training is fast, querying is potentially slow.\\n\",\n    \"\\n\",\n    \"## 3. Kernel Regression\\n\",\n    \"\\n\",\n    \"Weigh each datapoint according to how far away they are vs KNN each neighbour gets essentially equal weight.\\n\",\n    \"\\n\",\n    \"## Numpy Polyfit\\n\",\n    \"\\n\",\n    \"numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False)[source]\\n\",\n    \"Least squares polynomial fit.\\n\",\n    \"\\n\",\n    \"Fit a polynomial p(x) = p[0] * x**deg + ... + p[deg] of degree deg to points (x, y). Returns a vector of coefficients p that minimises the squared error.\\n\",\n    \"\\n\",\n    \"Parameters:\\t\\n\",\n    \"x : array_like, shape (M,)\\n\",\n    \"x-coordinates of the M sample points (x[i], y[i]).\\n\",\n    \"y : array_like, shape (M,) or (M, K)\\n\",\n    \"y-coordinates of the sample points. Several data sets of sample points sharing the same x-coordinates can be fitted at once by passing in a 2D-array that contains one dataset per column.\\n\",\n    \"deg : int\\n\",\n    \"Degree of the fitting polynomial\\n\",\n    \"rcond : float, optional\\n\",\n    \"Relative condition number of the fit. Singular values smaller than this relative to the largest singular value will be ignored. The default value is len(x)*eps, where eps is the relative precision of the float type, about 2e-16 in most cases.\\n\",\n    \"full : bool, optional\\n\",\n    \"Switch determining nature of return value. When it is False (the default) just the coefficients are returned, when True diagnostic information from the singular value decomposition is also returned.\\n\",\n    \"w : array_like, shape (M,), optional\\n\",\n    \"weights to apply to the y-coordinates of the sample points.\\n\",\n    \"cov : bool, optional\\n\",\n    \"Return the estimate and the covariance matrix of the estimate If full is True, then cov is not returned.\\n\",\n    \"Returns:\\t\\n\",\n    \"p : ndarray, shape (M,) or (M, K)\\n\",\n    \"Polynomial coefficients, highest power first. If y was 2-D, the coefficients for k-th data set are in p[:,k].\\n\",\n    \"residuals, rank, singular_values, rcond :\\n\",\n    \"Present only if full = True. Residuals of the least-squares fit, the effective rank of the scaled Vandermonde coefficient matrix, its singular values, and the specified value of rcond. For more details, see linalg.lstsq.\\n\",\n    \"V : ndarray, shape (M,M) or (M,M,K)\\n\",\n    \"Present only if full = False and cov`=True. The covariance matrix of the polynomial coefficient estimates. The diagonal of this matrix are the variance estimates for each coefficient. If y is a 2-D array, then the covariance matrix for the `k-th data set are in V[:,:,k]\\n\",\n    \"Warns:\\t\\n\",\n    \"RankWarning\\n\",\n    \"The rank of the coefficient matrix in the least-squares fit is deficient. The warning is only raised if full = False.\\n\",\n    \"The warnings can be turned off by\\n\",\n    \">>> import warnings\\n\",\n    \">>> warnings.simplefilter('ignore', np.RankWarning)\\n\",\n    \"See also\\n\",\n    \"polyval\\n\",\n    \"Computes polynomial values.\\n\",\n    \"linalg.lstsq\\n\",\n    \"Computes a least-squares fit.\\n\",\n    \"scipy.interpolate.UnivariateSpline\\n\",\n    \"Computes spline fits.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This function takes in a list of regression values x and y and a degree, and outputs a polynomial in the form of a list p = [p[0],p[1],...,p[degree]] as in the model above.\\n\",\n    \"\\n\",\n    \"Another tool you may see or use in the future is the SciKit-Learn preprocessing function, PolynomialFeatures, which you can read about here. This function adds features to a dataset which are quadratic (or higher) combinations of the previous features.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#\\n\",\n    \"#\\n\",\n    \"# Regression and Classification programming exercises\\n\",\n    \"#\\n\",\n    \"#\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"#\\n\",\n    \"#\\tIn this exercise we will be taking a small data set and computing a linear function\\n\",\n    \"#\\tthat fits it, by hand.\\n\",\n    \"#\\t\\n\",\n    \"\\n\",\n    \"#\\tthe data set\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"sleep = [5,6,7,8,10]\\n\",\n    \"scores = [65,51,75,75,86]\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def compute_regression(sleep,scores):\\n\",\n    \"\\n\",\n    \"    #\\tFirst, compute the average amount of each list\\n\",\n    \"\\n\",\n    \"    avg_sleep = np.mean(sleep)\\n\",\n    \"    avg_scores = np.mean(scores)\\n\",\n    \"\\n\",\n    \"    #\\tThen normalize the lists by subtracting the mean value from each entry\\n\",\n    \"\\n\",\n    \"    normalized_sleep  = [s - avg_sleep for s in sleep]\\n\",\n    \"    normalized_scores = [s - avg_scores for s in scores]\\n\",\n    \"    print normalized_sleep\\n\",\n    \"    #\\tCompute the slope of the line by taking the sum over each student\\n\",\n    \"    #\\tof the product of their normalized sleep times their normalized test score.\\n\",\n    \"    #\\tThen divide this by the sum of squares of the normalized sleep times.\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"    slope =  np.dot(normalized_sleep, normalized_scores) / np.dot(normalized_sleep, normalized_sleep)\\n\",\n    \"    #\\tFinally, We have a linear function of the form\\n\",\n    \"    #\\ty - avg_y = slope * ( x - avg_x )\\n\",\n    \"    #\\tRewrite this function in the form\\n\",\n    \"    #\\ty = m * x + b\\n\",\n    \"    #\\tThen return the values m, b\\n\",\n    \"\\n\",\n    \"    m = slope\\n\",\n    \"    b = - slope * avg_sleep + avg_scores\\n\",\n    \"\\n\",\n    \"    print \\\"m, b = \\\", m, b\\n\",\n    \"    return m,b\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"if __name__==\\\"__main__\\\":\\n\",\n    \"    m,b = compute_regression(sleep,scores)\\n\",\n    \"    print \\\"Your linear model is y={}*x+{}\\\".format(m,b)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#\\n\",\n    \"#\\tPolynomial Regression\\n\",\n    \"#\\n\",\n    \"#\\tIn this exercise we will examine more complex models of test grades as a function of \\n\",\n    \"#\\tsleep using numpy.polyfit to determine a good relationship and incorporating more data.\\n\",\n    \"#\\n\",\n    \"#\\n\",\n    \"#   at the end, store the coefficients of the polynomial you found in coeffs\\n\",\n    \"#\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"sleep = [5,6,7,8,10,12,16]\\n\",\n    \"scores = [65,51,75,75,86,80,0]\\n\",\n    \"\\n\",\n    \"coeffs = np.polyfit(sleep, scores, 2)\\n\",\n    \"\\n\",\n    \"print coeffs\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.2 Decision Trees.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Supervised Learning\\n\",\n    \"\\n\",\n    \"## Classification vs Regression\\n\",\n    \"\\n\",\n    \"Two types of supervised learning: Classification and Regression\\n\",\n    \"C: Taking some input and mapping it to some discrete label.\\n\",\n    \"R: More about continuous-valued functions. Mapping pictures of Michael to the length of his hair.\\n\",\n    \"- MAPPING TO discrete / continuous output.\\n\",\n    \"\\n\",\n    \"## Terminology\\n\",\n    \"\\n\",\n    \"- Instances: Input (Vectors, sets of). Can be credit score, pixels.\\n\",\n    \"- Concept: Function that maps inputs to outputs. (Like a concepts of 'what defines maleness')\\n\",\n    \"- Target concept: ANSWER. The specific function we're trying to find out of all the possible concepts.\\n\",\n    \"- Hypothesis: Class. The set of all possible concepts you're willing to entertain. Could be all possible functions but it might be hard to figure out which function is best given finite data.\\n\",\n    \"    - Already now our hypothesis class is restricted to classification.\\n\",\n    \"\\n\",\n    \"- Sample (Training set): Set of all input paired with output.\\n\",\n    \"- Candidate: A concept you think might be the target concept.\\n\",\n    \"- Testing set: Determine if candidate concept does a good job or not by testing it on the testing set. (Apply candidate concept on input and check predictions against labels.\\n\",\n    \"\\n\",\n    \"- Testing set needs to be different from the training set else it's cheating.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Decision Trees\\n\",\n    \"\\n\",\n    \"E.g. of dating and choosing whether or not to go into a certain restaurant.\\n\",\n    \"- Some features have to do with the restaurant and some have to do with things external to the restaurant (whether or not you're hungry)\\n\",\n    \"- Some irrelevant features (number of cars parked across the country)\\n\",\n    \"\\n\",\n    \"Consider the representation of a DT:\\n\",\n    \"- Ask a series of questions and depending on the answers move from the root of the tree (top) along different paths down the tree.\\n\",\n    \"- Leaves of the tree contain ANSWERs (output). Nodes have attributes (features).\\n\",\n    \"\\n\",\n    \"### Algorithm\\n\",\n    \"Thoughts:\\n\",\n    \"- 20 questions example. Think about the ordering of questions.\\n\",\n    \"- Goal in asking questions was to **further** narrow down possibilities as much as possible.\\n\",\n    \"- That is, the usefulness of each question depends on the answers you have to the previous questions.\\n\",\n    \"- DT vs 20 questions: with DT, can build entire flowchart at the start vs 20 questions asking interactively.\\n\",\n    \"\\n\",\n    \"Recipe:\\n\",\n    \"1. Pick the best attribute\\n\",\n    \"    - Best: splitting the data roughly in half (say)\\n\",\n    \"2. Asked question\\n\",\n    \"3. Follow the path of the answer\\n\",\n    \"4. Go to 1\\n\",\n    \"\\n\",\n    \"UNTIL got an answer.\\n\",\n    \"\\n\",\n    \"If an attribute node splits data into half but doesn't change distributions, it could arguably be bad because it doesn't help and only **contributes to overfitting**.\\n\",\n    \"\\n\",\n    \"### Decision Trees: Expressiveness\\n\",\n    \"e.g. Boolean A AND B.\\n\",\n    \"\\n\",\n    \"A -> F -> leaf; No\\n\",\n    \"\\n\",\n    \"    -> T\\n\",\n    \"        -> B ->\\n\",\n    \"            -> F -> leaf: No\\n\",\n    \"            -> T -> leaf: Yes\\n\",\n    \"\\n\",\n    \"The same if you switch A and B around.\\n\",\n    \"Cause A and B are commutative: The play the same role in the function.\\n\",\n    \"\\n\",\n    \"Also: OR, XOR (exclusive OR)\\n\",\n    \"- Representations of a truth table.\\n\",\n    \"\\n\",\n    \"### Size of DTs\\n\",\n    \"\\n\",\n    \"For AND and OR, need two nodes. For XOR need three nodes. Scaled,\\n\",\n    \"\\n\",\n    \"1. n-OR: If any of the n nodes is true, n-OR is true.\\n\",\n    \"    - n nodes. Size of DT is linear, O(n).\\n\",\n    \"\\n\",\n    \"2. n-XOR: Parity, e.g. pick odd parity. If the number of attributes that are true is odd, then True. Else False.\\n\",\n    \"    - 2^n - 1 nodes. Size of DT is exponential, O(2^n).\\n\",\n    \"    - Sub-trees are a version of XOR.\\n\",\n    \"\\n\",\n    \"-> Want to look at more **any** questions than **parity** questions.\\n\",\n    \"\\n\",\n    \"-> Can feature engineer to solve this. **The hardest problem is coming up with a good representation.**\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Exactly how expressive is a decision tree?\\n\",\n    \"- i.e. how many decision trees do we have to look at?\\n\",\n    \"- e.g. n boolean attributes and output is boolean.\\n\",\n    \"\\n\",\n    \"- Nodes: n!\\n\",\n    \"- Truth table: 2^n rows.\\n\",\n    \"    - How many ways are there to fill in the outputs? 2^n cells to fill, so 2^2^n.\\n\",\n    \"\\n\",\n    \"n = 6 -> 2^2^6 is of order of magnitude 10^19.\\n\",\n    \"- Decision trees are expressive.\\n\",\n    \"- Need a smart way to search all DTs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## ID3: Alg\\n\",\n    \"\\n\",\n    \"Loop forever until solve problem:\\n\",\n    \"- A <- best attribute\\n\",\n    \"- Assign A as a decision attribute for NODE.\\n\",\n    \"- For each value of A, create a descendant of NODE\\n\",\n    \"- Sort training examples to leaves\\n\",\n    \"- If examples perfectly classified, STOP\\n\",\n    \"- Else iterate over leaves to find best attribute that will sort leaves\\n\",\n    \"\\n\",\n    \"### Finding the Best attribute: Information gain.\\n\",\n    \"Gain(S,A) = Entropy(S) - expected or avg entropy you'd have over each set of examples that you have with a particular value.\\n\",\n    \"\\n\",\n    \"$$\\\\max Gain(S,A) = Entropy(S) - \\\\sum_v \\\\frac{|S_v|}{|S|}Entropy(S_v)$$\\n\",\n    \"\\n\",\n    \"S is collection of training examples you're looking at\\n\",\n    \"A is the attribute\\n\",\n    \"\\n\",\n    \"**Info Gain: Reduction in randomness of data based on knowing value of attribute.**\\n\",\n    \"\\n\",\n    \"**Entropy: A measure of randomness.** \\n\",\n    \"- E.g. fair coin entropy is 1. -> No basis going into flipping the coin to guess if it's heads or tails.\\n\",\n    \"\\n\",\n    \"#### Formula for Entropy\\n\",\n    \"$$-\\\\sum_v p(v)logp(v)$$\\n\",\n    \"\\n\",\n    \"c.f. randomised optimisation later for more details.\\n\",\n    \"\\n\",\n    \"Previously we said we preferred splits that were less random (lower entropy). We want there to be info gain \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## ID3 Bias: Inductive Bias\\n\",\n    \"\\n\",\n    \"**Two kinds of biases we worry about when thinking about algorithms who search through space:**\\n\",\n    \"- Restriction Bias: Hypothesis set that you care about (e.g. all decision trees. Not consider quadratic equations...)\\n\",\n    \"- Preference Bias: What sorts of hypotheses from this hypothesis test that we prefer -> at the heart of inductive bias.\\n\",\n    \"\\n\",\n    \"Inductive bias of ID3 algorithm\\n\",\n    \"- Since making decision top-down, more likely to choose trees that have **good splits near the top** than not. Even if both represent the function that we care about.\\n\",\n    \"- **Correct over incorrect**: Prefers ones that model the data better to ones that model the data worse.\\n\",\n    \"- Prefers **shorter trees** to longer ones. Comes naturally from preference for good splits at the top.\\n\",\n    \"\\n\",\n    \"## DTs: Other Considerations\\n\",\n    \"1. What if we had **continuous attributes**?\\n\",\n    \"    - Use ranges or '<20?' splits, binary search.\\n\",\n    \"2. When do we stop?\\n\",\n    \"    - You might think 'when everything is classified correctly.' BUT if there's **noise** :(\\n\",\n    \"    - Or if we've run out of attributes (doesn't help when we have continuous attributes)\\n\",\n    \"    - No overfitting (overfit by having a tree that's too big, violates Occam's Razor.)\\n\",\n    \"        - CV?\\n\",\n    \"        - Stop expanding tree once you reach a certain accuracy on a validation set\\n\",\n    \"    - **Pruning** -> smaller tree. (vid 28)\\n\",\n    \"        - Need to have **votes on output**.\\n\",\n    \"3. Regression\\n\",\n    \"    - Q: What are the splitting criteria?\\n\",\n    \"        - Try to measure how mixed up things are using **variance**.\\n\",\n    \"    - What would you do with leaves? (Output) -> Average? Local linear fit?\\n\",\n    \"\\n\",\n    \"## Conclusion\\n\",\n    \"- Representation\\n\",\n    \"- ID3: A top-down learning algorithm\\n\",\n    \"- Expressiveness of DTs\\n\",\n    \"- Bias of ID3 (Inductive Bias)\\n\",\n    \"- 'Best attributes' (Deciding on splits) Maximum information gain\\n\",\n    \"- Dealing with overfitting e.g. using pruning.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.3 Neural Networks.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Neural Networks\\n\",\n    \"\\n\",\n    \"* Synapse: Gap between one neutron and another\\n\",\n    \"* Info travels down axon and causes synapses excitation to occur on other neurons which can fire by sending out spike trains.\\n\",\n    \"* Neurons are computational units.\\n\",\n    \"* Neurons are complicated. By first approximation though (by def) they are v simple.\\n\",\n    \"\\n\",\n    \"(image of artificial \\n\",\n    \"\\n\",\n    \"## Perceptron\\n\",\n    \"1. Inputs x_i: think of them as firing rates or the strength of inputs. \\n\",\n    \"2. Multiplied by weights w_i.\\n\",\n    \"3. Activation: Sum the w_ix_i. and see if it's >= the firing threshold. If it is, then output 1. Else output 0.\\n\",\n    \"4. Output\\n\",\n    \"\\n\",\n    \"Artificial Neurons can be tuned such that they fire under different things.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Perceptron class\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"class Perceptron:\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    This class models an artificial neuron with step activation function.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    def __init__(self, weights = np.array([1]), threshold = 0):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Initialize weights and threshold based on input arguments. Note that no\\n\",\n    \"        type-checking is being performed here for simplicity.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        self.weights = weights\\n\",\n    \"        self.threshold = threshold\\n\",\n    \"    \\n\",\n    \"    def activate(self,inputs):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Takes in @param inputs, a list of numbers equal to length of weights.\\n\",\n    \"        @return the output of a threshold perceptron with given inputs based on\\n\",\n    \"        perceptron weights and threshold.\\n\",\n    \"        \\\"\\\"\\\" \\n\",\n    \"\\n\",\n    \"        # INSERT YOUR CODE HERE\\n\",\n    \"        \\n\",\n    \"\\n\",\n    \"        # TODO: calculate the strength with which the perceptron fires\\n\",\n    \"        activation = np.dot(inputs, self.weights)\\n\",\n    \"        \\n\",\n    \"        \\n\",\n    \"        # TODO: return 0 or 1 based on the threshold\\n\",\n    \"        if activation > self.threshold:\\n\",\n    \"            result = 1\\n\",\n    \"        else:\\n\",\n    \"            result = 0\\n\",\n    \"            \\n\",\n    \"        return result\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def test():\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    A few tests to make sure that the perceptron class performs as expected.\\n\",\n    \"    Nothing should show up in the output if all the assertions pass.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    p1 = Perceptron(np.array([1, 2]), 0.)\\n\",\n    \"    assert p1.activate(np.array([ 1,-1])) == 0 # < threshold --> 0\\n\",\n    \"    assert p1.activate(np.array([-1, 1])) == 1 # > threshold --> 1\\n\",\n    \"    assert p1.activate(np.array([ 2,-1])) == 0 # on threshold --> 0\\n\",\n    \"\\n\",\n    \"if __name__ == \\\"__main__\\\":\\n\",\n    \"    test()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What sort of things can ANNs compute?\\n\",\n    \"/ How powerful is a perceptron unit?\\n\",\n    \"\\n\",\n    \"**Perceptrons are always going to compute hyperplanes (lines)**.\\n\",\n    \"\\n\",\n    \"- Representing the region in an input space that's going to get an output of 0 versus the region that's going to get an output of 1\\n\",\n    \"(2D plane)\\n\",\n    \"    - Linear programming (x_1 = 0, threshold x_2 = 1.5)\\n\",\n    \"\\n\",\n    \"Computations expressible as perceptron units\\n\",\n    \"- AND (x_1 in {0,1}, x_2 in {0,1}).\\n\",\n    \"- OR\\n\",\n    \"- NOT (One variable e.g. when x_1 = 0, good. When x_1 = 1, bad.) w_1 = -1, theta = 0.\\n\",\n    \"- If we can combine the perceptron functions together, we can represent any boolean function.\\n\",\n    \"### Ways \\n\",\n    \"- Perceptron rule (threshold)\\n\",\n    \"- Gradient descent (unthreshold)\\n\",\n    \"\\n\",\n    \"### Perceptron rule\\n\",\n    \" \\n\",\n    \"- Threshold foldled into weights. Add a 1 to the x inputs.\\n\",\n    \"- Run while there is error:\\n\",\n    \"$$\\\\Delta w_i = \\\\eta(y-\\\\hat y)x_i$$\\n\",\n    \"where\\n\",\n    \"$$\\\\hat y = (\\\\sum_i w_ix_i \\\\geq 0)$$,\\n\",\n    \"\\n\",\n    \"$\\\\hat y$ is boolean and\\n\",\n    \"$\\\\eta$ is the learning rate.\\n\",\n    \"\\n\",\n    \"If the data is linearly separable, the perceptron rule will find the separation line in finite time.\\n\",\n    \"* But often it's not clear if data is linearly separaable, especially if the data has many dimensions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# ----------\\n\",\n    \"#\\n\",\n    \"# In this exercise, you will update the perceptron class so that it can update\\n\",\n    \"# its weights.\\n\",\n    \"#\\n\",\n    \"# Finish writing the update() method so that it updates the weights according\\n\",\n    \"# to the perceptron update rule.\\n\",\n    \"# \\n\",\n    \"# ----------\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"class Perceptron:\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    This class models an artificial neuron with step activation function.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    def __init__(self, weights = np.array([1]), threshold = 0):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Initialize weights and threshold based on input arguments. Note that no\\n\",\n    \"        type-checking is being performed here for simplicity.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        self.weights = weights\\n\",\n    \"        self.threshold = threshold\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    def activate(self, values):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Takes in @param values, a list of numbers equal to length of weights.\\n\",\n    \"        @return the output of a threshold perceptron with given inputs based on\\n\",\n    \"        perceptron weights and threshold.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"               \\n\",\n    \"        # First calculate the strength with which the perceptron fires\\n\",\n    \"        strength = np.dot(values,self.weights)\\n\",\n    \"        \\n\",\n    \"        # Then return 0 or 1 depending on strength compared to threshold  \\n\",\n    \"        return int(strength > self.threshold)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    def update(self, values, train, eta=.1):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Takes in a 2D array @param values consisting of a LIST of inputs and a\\n\",\n    \"        1D array @param train, consisting of a corresponding list of expected\\n\",\n    \"        outputs. Updates internal weights according to the perceptron training\\n\",\n    \"        rule using these values and an optional learning rate, @param eta.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        \\n\",\n    \"        # YOUR CODE HERE\\n\",\n    \"        self.weights = self.weights.astype(float)\\n\",\n    \"        \\n\",\n    \"        # TODO: for each data point...\\n\",\n    \"        for i in range(len(train)):\\n\",\n    \"            # TODO: obtain the neuron's prediction for that point\\n\",\n    \"            prediction = self.activate(values[i])\\n\",\n    \"            print(\\\"prediction for i=\\\", i, \\\" : \\\", prediction)\\n\",\n    \"            print(\\\"train for i=\\\", i, \\\" : \\\", train[i])\\n\",\n    \"            # TODO: update self.weights based on prediction accuracy, learning\\n\",\n    \"            # rate and input value\\n\",\n    \"            for j in range(len(self.weights)):\\n\",\n    \"                weight_delta = eta * (train[i] - prediction) * values [i][j]\\n\",\n    \"                print(\\\"weight_delta for j=\\\", j, \\\" : \\\", weight_delta)\\n\",\n    \"                self.weights[j] = self.weights[j] + weight_delta\\n\",\n    \"                print(\\\"self.weights after j=\\\", j, \\\" is now \\\", self.weights)\\n\",\n    \"            print(\\\"self.weights after \\\", i, \\\" is now \\\", self.weights)\\n\",\n    \"\\n\",\n    \"def test():\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    A few tests to make sure that the perceptron class performs as expected.\\n\",\n    \"    Nothing should show up in the output if all the assertions pass.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    def sum_almost_equal(array1, array2, tol = 1e-6):\\n\",\n    \"        return sum(abs(array1 - array2)) < tol\\n\",\n    \"\\n\",\n    \"    p1 = Perceptron(np.array([1,1,1]),0)\\n\",\n    \"    print(\\\"p1 weights:\\\", p1.weights)\\n\",\n    \"    p1.update(np.array([[2,0,-3]]), np.array([1]))\\n\",\n    \"    print(\\\"p1 weights:\\\", p1.weights)\\n\",\n    \"    print(\\\"should be equal to np.array([1.2, 1, 0.7])\\\")\\n\",\n    \"    # assert sum_almost_equal(p1.weights, np.array([1.2, 1, 0.7]))\\n\",\n    \"\\n\",\n    \"    p2 = Perceptron(np.array([1,2,3]),0)\\n\",\n    \"    print(\\\"p2 weights:\\\", p2.weights)\\n\",\n    \"    p2.update(np.array([[3,2,1],[4,0,-1]]),np.array([0,0]))\\n\",\n    \"    print(\\\"p2 weights:\\\", p2.weights)\\n\",\n    \"    print(\\\"should be equal to np.array([0.7, 1.8, 2.9])\\\")\\n\",\n    \"    # assert sum_almost_equal(p2.weights, np.array([0.7, 1.8, 2.9]))\\n\",\n    \"\\n\",\n    \"    p3 = Perceptron(np.array([3,0,2]),0)\\n\",\n    \"    print(\\\"p3 weights:\\\", p3.weights)\\n\",\n    \"    p3.update(np.array([[2,-2,4],[-1,-3,2],[0,2,1]]),np.array([0,1,0]))\\n\",\n    \"    print(\\\"p3 weights:\\\", p3.weights)\\n\",\n    \"    print(\\\"should be equal to np.array([2.7, -0.3, 1.7])\\\")\\n\",\n    \"    # assert sum_almost_equal(p3.weights, np.array([2.7, -0.3, 1.7]))\\n\",\n    \"\\n\",\n    \"test()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bulding the XOR Network Debugging\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# ----------\\n\",\n    \"#\\n\",\n    \"# In this exercise, you will create a network of perceptrons that can represent\\n\",\n    \"# the XOR function, using a network structure like those shown in the previous\\n\",\n    \"# quizzes.\\n\",\n    \"#\\n\",\n    \"# You will need to do two things:\\n\",\n    \"# First, create a network o f perceptrons with the correct weights\\n\",\n    \"# Second, define a procedure EvalNetwork() which takes in a list of inputs and\\n\",\n    \"# outputs the value of this network.\\n\",\n    \"#\\n\",\n    \"# ----------\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"class Perceptron:\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    This class models an artificial neuron with step activation function.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    def __init__(self, weights = np.array([1]), threshold = 0):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Initialize weights and threshold based on input arguments. Note that no\\n\",\n    \"        type-checking is being performed here for simplicity.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        self.weights = weights\\n\",\n    \"        self.threshold = threshold\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    def activate(self, values):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Takes in @param values, a list of numbers equal to length of weights.\\n\",\n    \"        @return the output of a threshold perceptron with given inputs based on\\n\",\n    \"        perceptron weights and threshold.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"               \\n\",\n    \"        # First calculate the strength with which the perceptron fires\\n\",\n    \"        strength = np.dot(values,self.weights)\\n\",\n    \"        \\n\",\n    \"        # Then return 0 or 1 depending on strength compared to threshold  \\n\",\n    \"        return int(strength > self.threshold)\\n\",\n    \"\\n\",\n    \"            \\n\",\n    \"# Part 1: Set up the perceptron network\\n\",\n    \"Network = [\\n\",\n    \"    # input layer, declare input layer perceptrons here\\n\",\n    \"    [Perceptron(np.array([1.,0.])), Perceptron(np.array([0.5,0.5,])), Perceptron(np.array([0.0,1.0]))], \\\\\\n\",\n    \"    # output node, declare output layer perceptron here\\n\",\n    \"    [Perceptron(np.array([1,-2,1]))]\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"# Part 2: Define a procedure to compute the output of the network, given inputs\\n\",\n    \"def EvalNetwork(inputValues, Network):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Takes in @param inputValues, a list of input values, and @param Network\\n\",\n    \"    that specifies a perceptron network. @return the output of the Network for\\n\",\n    \"    the given set of inputs.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # YOUR CODE HERE\\n\",\n    \"    x_1 = inputValues[0]\\n\",\n    \"    x_2 = inputValues[1]\\n\",\n    \"    input = [1,0]\\n\",\n    \"    for layer in Network:\\n\",\n    \"        output = []\\n\",\n    \"        for perceptron in layer:\\n\",\n    \"            perceptron_output = perceptron.activate(input)\\n\",\n    \"            output.append(perceptron_output)\\n\",\n    \"            print \\\"pw: \\\", perceptron.weights, \\\"input: \\\", input, \\\"output: \\\", perceptron_output\\n\",\n    \"        output_temp = output\\n\",\n    \"        input = output\\n\",\n    \"                \\n\",\n    \"    \\n\",\n    \"    OutputValue = int(output_temp[0])  \\n\",\n    \"    # Be sure your output value is a single number\\n\",\n    \"    return OutputValue\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def test():\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    A few tests to make sure that the perceptron class performs as expected.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    print \\\"0 XOR 0 = 0?:\\\", EvalNetwork(np.array([0,0]), Network)\\n\",\n    \"    print \\\"0 XOR 1 = 1?:\\\", EvalNetwork(np.array([0,1]), Network)\\n\",\n    \"    print \\\"1 XOR 0 = 1?:\\\", EvalNetwork(np.array([1,0]), Network)\\n\",\n    \"    print \\\"1 XOR 1 = 0?:\\\", EvalNetwork(np.array([1,1]), Network)\\n\",\n    \"\\n\",\n    \"if __name__ == \\\"__main__\\\":\\n\",\n    \"    test()\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"Running test()...\\n\",\n    \"0 XOR 0 = 0?: pw:  [ 1.  0.] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.5  0.5] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.  1.] input:  [1, 0] output:  0\\n\",\n    \"pw:  [ 1 -2  1] input:  [1, 1, 0] output:  0\\n\",\n    \"0\\n\",\n    \"0 XOR 1 = 1?: pw:  [ 1.  0.] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.5  0.5] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.  1.] input:  [1, 0] output:  0\\n\",\n    \"pw:  [ 1 -2  1] input:  [1, 1, 0] output:  0\\n\",\n    \"0\\n\",\n    \"1 XOR 0 = 1?: pw:  [ 1.  0.] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.5  0.5] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.  1.] input:  [1, 0] output:  0\\n\",\n    \"pw:  [ 1 -2  1] input:  [1, 1, 0] output:  0\\n\",\n    \"0\\n\",\n    \"1 XOR 1 = 0?: pw:  [ 1.  0.] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.5  0.5] input:  [1, 0] output:  1\\n\",\n    \"pw:  [ 0.  1.] input:  [1, 0] output:  0\\n\",\n    \"pw:  [ 1 -2  1] input:  [1, 1, 0] output:  0\\n\",\n    \"0\\n\",\n    \"All done!\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And I figured out I'd got my AND weights wrong. Missed out a threshold=1.0.\\n\",\n    \"\\n\",\n    \"WOWW I'm such a moron.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"1 XOR 1 = 0?: pw:  [ 1.  0.] input:  [1 1] output:  1\\n\",\n    \"pw:  [ 0.5  0.5] input:  [1 1] output:  0\\n\",\n    \"pw:  [ 0.  1.] input:  [1 1] output:  1\\n\",\n    \"pw:  [ 1 -2  1] input:  [1, 0, 1] output:  1\\n\",\n    \"1\\n\",\n    \"All done!\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Ah whoops threshold needs to be 0.9999\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# ----------\\n\",\n    \"#\\n\",\n    \"# In this exercise, you will create a network of perceptrons that can represent\\n\",\n    \"# the XOR function, using a network structure like those shown in the previous\\n\",\n    \"# quizzes.\\n\",\n    \"#\\n\",\n    \"# You will need to do two things:\\n\",\n    \"# First, create a network o f perceptrons with the correct weights\\n\",\n    \"# Second, define a procedure EvalNetwork() which takes in a list of inputs and\\n\",\n    \"# outputs the value of this network.\\n\",\n    \"#\\n\",\n    \"# ----------\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"class Perceptron:\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    This class models an artificial neuron with step activation function.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    def __init__(self, weights = np.array([1]), threshold = 0):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Initialize weights and threshold based on input arguments. Note that no\\n\",\n    \"        type-checking is being performed here for simplicity.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        self.weights = weights\\n\",\n    \"        self.threshold = threshold\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    def activate(self, values):\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"        Takes in @param values, a list of numbers equal to length of weights.\\n\",\n    \"        @return the output of a threshold perceptron with given inputs based on\\n\",\n    \"        perceptron weights and threshold.\\n\",\n    \"        \\\"\\\"\\\"\\n\",\n    \"               \\n\",\n    \"        # First calculate the strength with which the perceptron fires\\n\",\n    \"        strength = np.dot(values,self.weights)\\n\",\n    \"        \\n\",\n    \"        # Then return 0 or 1 depending on strength compared to threshold  \\n\",\n    \"        return int(strength > self.threshold)\\n\",\n    \"\\n\",\n    \"            \\n\",\n    \"# Part 1: Set up the perceptron network\\n\",\n    \"Network = [\\n\",\n    \"    # input layer, declare input layer perceptrons here\\n\",\n    \"    [Perceptron(np.array([1.,0.])), Perceptron(np.array([0.5,0.5,]), threshold=0.99999), Perceptron(np.array([0.0,1.0]))], \\\\\\n\",\n    \"    # output node, declare output layer perceptron here\\n\",\n    \"    [Perceptron(np.array([1,-2,1]))]\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"# Part 2: Define a procedure to compute the output of the network, given inputs\\n\",\n    \"def EvalNetwork(inputValues, Network):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Takes in @param inputValues, a list of input values, and @param Network\\n\",\n    \"    that specifies a perceptron network. @return the output of the Network for\\n\",\n    \"    the given set of inputs.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # YOUR CODE HERE\\n\",\n    \"    input = inputValues\\n\",\n    \"    for layer in Network:\\n\",\n    \"        output = []\\n\",\n    \"        for perceptron in layer:\\n\",\n    \"            perceptron_output = perceptron.activate(input)\\n\",\n    \"            output.append(perceptron_output)\\n\",\n    \"            print \\\"pw: \\\", perceptron.weights, \\\"input: \\\", input, \\\"output: \\\", perceptron_output\\n\",\n    \"        output_temp = output\\n\",\n    \"        input = output\\n\",\n    \"                \\n\",\n    \"    \\n\",\n    \"    OutputValue = int(output_temp[0])  \\n\",\n    \"    # Be sure your output value is a single number\\n\",\n    \"    return OutputValue\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def test():\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    A few tests to make sure that the perceptron class performs as expected.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    print \\\"0 XOR 0 = 0?:\\\", EvalNetwork(np.array([0,0]), Network)\\n\",\n    \"    print \\\"0 XOR 1 = 1?:\\\", EvalNetwork(np.array([0,1]), Network)\\n\",\n    \"    print \\\"1 XOR 0 = 1?:\\\", EvalNetwork(np.array([1,0]), Network)\\n\",\n    \"    print \\\"1 XOR 1 = 0?:\\\", EvalNetwork(np.array([1,1]), Network)\\n\",\n    \"\\n\",\n    \"if __name__ == \\\"__main__\\\":\\n\",\n    \"    test()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"### Gradient Descent\\n\",\n    \"- More robust to non(linear separability).\\n\",\n    \"Activation\\n\",\n    \"$$a = \\\\sum_i x_i w_i$$\\n\",\n    \"\\n\",\n    \"Imagine the output is not thresholded. \\n\",\n    \"-> figure out weights s.t. not-thresholded value is as close to the output value as we can.\\n\",\n    \"\\n\",\n    \"$$E(w)=\\\\frac{1}{2}\\\\sum_{(x,y)\\\\in D} (y-a)^2$$\\n\",\n    \" \\n\",\n    \"Take partial derivative of E(w) with respect to w_i.\\n\",\n    \"\\n\",\n    \"$$\\\\frac{\\\\delta E}{\\\\delta w_i} = \\\\sum_{(x,y)\\\\in 0}(y-a)(-x_i)$$\\n\",\n    \"\\n\",\n    \"Looks like the perceptron rule.\\n\",\n    \"\\n\",\n    \"### Comparison of learning rules\\n\",\n    \"Perceptron: guarantee of finite convergence in the case of linear separability.\\n\",\n    \"$$\\\\Delta w_i = \\\\eta(y-\\\\hat y)x_i$$\\n\",\n    \"\\n\",\n    \"Gradient descent: calculus. More robust to datasets that are not linearly separable. Converges in the limit to a local optimum.\\n\",\n    \"$$\\\\Delta w_i = \\\\eta(y-a)x_i$$\\n\",\n    \"* Why not do gradient descent on $\\\\hat y$? -> It's not differentiable because it's discontinuous (a step function).\\n\",\n    \"* So we want to try to smooth out the threshold.\\n\",\n    \"-> SIGMOID.\\n\",\n    \"\\n\",\n    \"### Advantages of having threshold vs returning \\n\",\n    \"\\n\",\n    \"### Tuning perceptron parameters\\n\",\n    \"- \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Inputs to perceptron networks\\n\",\n    \"- A single perceptron is very much like linear regression. Therefore it should take the same kinds of inputs. However the outputs of perceptrons will generally be classifications, not numerical.\\n\",\n    \"- A matrix\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Variation of Perceptrons\\n\",\n    \"\\n\",\n    \"I just took the number of perceptrons in each layer and multiplied them together to get the total number of possible outcomes for the quiz. Somehow I think that's wrong.\\n\",\n    \"\\n\",\n    \"As discussed in the previous lesson, to solve the problem of having only a very few discrete outputs from our neural net, we'll apply a transition function.\\n\",\n    \"\\n\",\n    \"We'll start by letting you test out a variety of functions, numerically approximating their derivatives in order to apply a gradient descent update rule.\\n\",\n    \"\\n\",\n    \"We have decided we need a function that is continuous (to avoid the discrete problem of perceptrons) but not linear (to allow us to represent non-linear functions). \\n\",\n    \"* Logistic function is appropriate\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Sigmoids\\n\",\n    \"\\n\",\n    \"Sigmoid: S-like.\\n\",\n    \"\\n\",\n    \"$$ \\\\sigma(a) = \\\\frac{1}{1+e^{-a}} $$\\n\",\n    \"\\n\",\n    \"$ a -> -\\\\infty$, $\\\\sigma(a) -> 0$\\n\",\n    \"$ a -> +\\\\infty$, $\\\\sigma(a) -> 1$\\n\",\n    \"\\n\",\n    \"$$ D\\\\sigma(a) = \\\\sigma(a)(1-\\\\sigma(a))$$\\n\",\n    \"\\n\",\n    \"Q: Difference between sigmoid unit and a single perceptron in a binary classification problem?\\n\",\n    \"* Sigmoid unit will give more info but both give the same answer.\\n\",\n    \"\\n\",\n    \"Determine update rules using calculus.\\n\",\n    \"\\n\",\n    \"### Potential problems with gradient descent\\n\",\n    \"(to find locally optimal set of weights)\\n\",\n    \"- Local extrema\\n\",\n    \"- Lengthy run times\\n\",\n    \"- Infinite loops\\n\",\n    \"- Failure to completely converge\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Layered networks\\n\",\n    \"\\n\",\n    \"### Additional layers don't give us more representational power if the units are all linear.\\n\",\n    \"\\n\",\n    \"(Neural net diagram)\\n\",\n    \"\\n\",\n    \"If entire neural net is made up of sigmoids, the mapping from input to output is differentiable in terms of the weights.\\n\",\n    \"* That is, for any given weight in the network, we can figure out how moving it up or down by a little bit changes the mapping from input to output. So\\n\",\n    \"\\n\",\n    \"### Back-propagation\\n\",\n    \"A computationally beneficial organisation of the chain rule.\\n\",\n    \"Info from input _> output\\n\",\n    \"error info flowing back from output -> input\\n\",\n    \"\\n\",\n    \"If we replace the sigmoids with some other differentiable unit, this also works.\\n\",\n    \"\\n\",\n    \"The error function can have multiple local optima. -> Could just be stuck at an overall non-optimal weight setting.\\n\",\n    \"* Imagine combining many parabolas in a higher dimensional space and considering the local minima that are quite high up.\\n\",\n    \"\\n\",\n    \"### Optimising Weights\\n\",\n    \"\\n\",\n    \"Methods\\n\",\n    \"- Gradient Descent\\n\",\n    \"- Advanced methods\\n\",\n    \"    - Momentum terms in gradient: instead of being stuck in a high bowl, you can have energy to bounce out and pop over to the text thing.\\n\",\n    \"    - Higher order derivatives (look at changes in combinations of weights vs individual weights. e.g. Hamiltonians.)\\n\",\n    \"    - Randomised optimisation\\n\",\n    \"    - Penalty for 'complexity'. // Decision tree, regression overfitting.\\n\",\n    \"        - Networks get complex when we: add more nodes or more layers, have large weights.\\n\",\n    \"\\n\",\n    \"Some people in ML think optimisation and learning are the same thing.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Restriction Bias\\n\",\n    \"What are neural nets appropriate for?\\n\",\n    \"\\n\",\n    \"Restriction Bias tells you about the representation of the data structure. - Representational power. \\n\",\n    \"- Set of hypotheses we're willing to consider.\\n\",\n    \"\\n\",\n    \"e.g. Perceptrons -> Linear. Half spaces\\n\",\n    \"Sigmoids -> More complex.\\n\",\n    \"* So not much restruction at all.\\n\",\n    \"\\n\",\n    \"Types of functions we can represent: \\n\",\n    \"* Boolean via network of threshold-like units.\\n\",\n    \"* Continuous: Can do this with a single hidden layer as long as we can have as many units as we want. -> Each unit can worry about a small patch of the function. -> Output layer stitch the patches together.\\n\",\n    \"* Arbitrary: Adding hidden layers to stitch patches together even if they have jumps between them.\\n\",\n    \"    - But that means we have a **danger of overfitting**: We can represent the noise as well. \\n\",\n    \"        - Set max number of hidden layers.\\n\",\n    \"        - Cross-validation: nodes to put in each layer, number of layers, max weights\\n\",\n    \"    - Training NN is an iterative process where error decreases as no. of iterations increase. VS other supervised classification where at some point error increases as no. of iterations increase.\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"## Preference Bias\\n\",\n    \"\\n\",\n    \"Algorithm's selection of one representation over another\\n\",\n    \"(e.g. DTs correct trees, max information gain)\\n\",\n    \"\\n\",\n    \"1. How do we start?\\n\",\n    \"    - Initial weights: Small, random values. (Randomness gives some variance: If we run multiple times we don't want it to get stuck in the same place multiple times. Small to avoid overfitting.)\\n\",\n    \"2. PReference bias\\n\",\n    \"    - Prefer correct over incorrect\\n\",\n    \"    - Prefer simpler over complex\\n\",\n    \"    \\n\",\n    \"**Occam's Razor**: Entities should not be multiplied unneccessarily.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"...Better generalisation error?\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Perceptrons: Linear threshold unit\\n\",\n    \"- Networks can be put together to produce any boolean function\\n\",\n    \"- Perceptron rule - finite time for linearly separable datasets\\n\",\n    \"- General differentiable rule: Back propagation and gradient descent\\n\",\n    \"- Preference and restriction bias\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## I totally don't get this activation function sandbox quiz\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Josh: ML x design\\n\",\n    \"\\n\",\n    \"Teaching a computer to recognise sketches\\n\",\n    \"* Feature extraction and engineering\\n\",\n    \"\\n\",\n    \"Applications\\n\",\n    \"- Teddy search\\n\",\n    \"- Search Doodle 2.0 semantic search horse running annotating motions\\n\",\n    \"- Simulate physics \\n\",\n    \"- TEDDY 3d mesh\\n\",\n    \"- Shadow Draw / Sketch\\n\",\n    \"- (Comparing comments)\\n\",\n    \"    -> UNderstanding comments (Good or bad)\\n\",\n    \"\\n\",\n    \"Data: 250 categories, 80 images per category\\n\",\n    \"\\n\",\n    \"Feature engineering\\n\",\n    \"- Word expansion -> Synonyms\\n\",\n    \"- Lower case normalise\\n\",\n    \"- Bag of words could be two-word groups\\n\",\n    \"- Convolution\\n\",\n    \"\\n\",\n    \"Feautures\\n\",\n    \"- Colors RGB\\n\",\n    \"- Gradients (hog)\\n\",\n    \"- (Feat Engin still) Cluster using KMeans\\n\",\n    \"\\n\",\n    \"Train: \\n\",\n    \"...\\n\",\n    \"Test if in 'Top k'\\n\",\n    \"\\n\",\n    \"? NN extract features for you\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.4.1 Kernel Methods and Support Vector Machines.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Support Vector Machines\\n\",\n    \"\\n\",\n    \"(SVM 1)\\n\",\n    \"\\n\",\n    \"Drawing it in the middle gives a biggest 'demilitarised' zone.\\n\",\n    \"Intuition:\\n\",\n    \"* There might bu other minuses near the minunes we can see that we risk chopping off if a line gets too close to the current minuses.\\n\",\n    \"* This data is just a sample from the population. // NN algorithms. Lines very close to e.g. the pluses -> believing training data too much. Overfitting.\\n\",\n    \"* Middle line is **consistent with the data but commits least to it.**\\n\",\n    \"* Interesting because it's not a complex overfit. They're all just lines.\\n\",\n    \"\\n\",\n    \"Hyperplanes:\\n\",\n    \"$$y = w^Tx+b$$\\n\",\n    \"* y represents the classification label\\n\",\n    \"* w representns parameters for our plane\\n\",\n    \"* b moves it out of the origin\\n\",\n    \"\\n\",\n    \"Taking some new point, projecting it onto the line, looking at the value you get when you project it.\\n\",\n    \"\\n\",\n    \"Value is positive if you are in the class, negative if you're not.\\n\",\n    \"\\n\",\n    \"Decision boundary being as far away from the data as possible without being inconsistent with it.\\n\",\n    \"\\n\",\n    \"Hyperplane equation at the decision boundary (neither positive nor negative output) is $w^Tx + b = 0$. \\n\",\n    \"\\n\",\n    \"What are the equations of the grey lines?\\n\",\n    \"* We know labels are {-1, +1}. Line that brushes up against positive example: want it s.t. the output of the line is +1 on the first point that it encounters.\\n\",\n    \"* $w^Tx+b=1$ for top grey line. Similarly, $w^T+b=-1$ for bottom grey line.\\n\",\n    \"\\n\",\n    \"(img)\\n\",\n    \"\\n\",\n    \"Need to maximise distance between two grey lines. The lines are parallel to one another. Choose one point on each grey line such that the line between them is perpendicular to the parallel lines.\\n\",\n    \"\\n\",\n    \"* Point on positive line: $w^Tx_1+b=1$\\n\",\n    \"* Point on negative line: $w^Tx_2+b-1$\\n\",\n    \"* Subtract to get line $w^T(x_1-x_2)=2\\n\",\n    \"* Divide both sides by the length of w: \\n\",\n    \"$$\\\\frac{w_t}{||w||}(x_1-x_2)=\\\\frac{2}{||w||}$$\\n\",\n    \"\\n\",\n    \"LHS: $x_1-x_2$ is projected onto the normalised vector (unit length, some direction).  This is callled the **margin**.\\n\",\n    \"\\n\",\n    \"w represents a vector perpendicular to the line (eqn of a plane).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So we want to maximise $\\\\frac{2}{||w||}$ while classifying everything correctly. Let's turn the condition into a mathematical expression.\\n\",\n    \"\\n\",\n    \"That is,\\n\",\n    \"$$y_i(w^Tx_i + b) \\\\geq 1 \\\\forall i$$.\\n\",\n    \"\\n\",\n    \"* Q: Why geq 1 as opposed to geq 0?\\n\",\n    \"\\n\",\n    \"* Solve equivalent problem (LHS):\\n\",\n    \"$$\\\\min \\\\frac{1}{2}||w||^2$$\\n\",\n    \"\\n\",\n    \"This is easier because it's a quadratic programming problem and people know how to solvo those in straightforward ways. They always have a unique solution.\\n\",\n    \"\\n\",\n    \"Transform into quadratic programming form:\\n\",\n    \"$$\\\\max W(\\\\alpha) = \\\\sum_i \\\\alpha_i - \\\\frac{1}{2}\\\\sum_{i,j}\\\\alpha_i\\\\alpha_j y_iy_jx_i^Tx_j$$\\n\",\n    \"s.t. $\\\\alpha_i \\\\geq 0, \\\\sum_i \\\\alpha_i y_i = 0$.\\n\",\n    \"\\n\",\n    \"Properties\\n\",\n    \"* Once you find $\\\\alpha$, you can recover w: $w=\\\\sum_i\\\\alpha_iy_ix_i$.\\n\",\n    \"* You can also recover b from having w.\\n\",\n    \"* It turns out that those $\\\\alpha_i$s are mostly zero. -> Only a few x-s matter. Cause some datapoints don't factor into (don't matter for) w. -> Can find all of support you need in some vectors with the non-zero $\\\\alpha_i$s. -> **machine that only needs a few support vectors**.\\n\",\n    \"* Which vectors matter (will be part of the support vectors)? (Those closer to the line)\\n\",\n    \"\\n\",\n    \"* Similarities to Nearest Neighbours cause only local points matter. Like KNN except you've already done the work to figure out which ones you need and which ones you can throw away. -> Like instance-based learning but it's not completely lazy. (?)\\n\",\n    \"\\n\",\n    \"Dot product of $x_i^Tx_j$ -> Length of the projection. Measure of similarity (of direction) -> If they point in opposite directions it'll be a negative, if orthogonal it'll be 0, if in same direction it'll be positive and bigger.\\n\",\n    \"* Eqn: Find all pairs of points, figure out which ones matter, and think about how they relate to one another wrt their output labels wrt how similar they are.\\n\",\n    \"\\n\",\n    \"## Supposing not linearly separable\\n\",\n    \"\\n\",\n    \"* If have **outlier or intruder**: Can tradeoff: Maximise margin Makes the minimal set of errors while maximising the margin if you were allowed to flip a few points from pos to neg or vv.\\n\",\n    \"* 'Linearly married': minuses in a ring around the pluses. **Transform datapoints**.\\n\",\n    \"    - e.g. $\\\\Phi(q) = <q_1^2, q_2^2, \\\\sqrt2 q_1q_2>$\\n\",\n    \"    - $\\\\Phi(x)^T\\\\Phi(y) = (x_1y_1+x_2y_2)^2 = (x^T y)^2$ (dot product, circle)\\n\",\n    \"    - Different notion of similarity: Now whether or not you fall in a circle vs direction. Distance in different spaces.\\n\",\n    \"    - Chose this form but doesn't require that you do this transformation. Can still simply compute the dot product.\\n\",\n    \"    - This is the **kernel trick**.\\n\",\n    \"    - Turns out for any function that you use, there is some transformation into some higher dimensional space that happens to represent your kernel.\\n\",\n    \"    \\n\",\n    \"### Kernel Trick\\n\",\n    \"- The kernel is the function itself. e.g. $k = (x^Ty)^2$\\n\",\n    \"$$\\\\max W(\\\\alpha) = \\\\sum_i \\\\alpha_i - \\\\frac{1}{2}\\\\sum_{i,j}\\\\alpha_i\\\\alpha_j y_iy_jk(x_i,x_j)$$\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Kernel is mech by which we **measure of similarity** , mech by which we **inject domain knowledge** into the SVM algorithm. Just like KNN.\\n\",\n    \"\\n\",\n    \"And in higher dimensional space, your points are linearly separable.\\n\",\n    \"\\n\",\n    \"**Common kernels**\\n\",\n    \"* Polynomial kernel $k = (x^Ty+c)^p$ -> Like polynomial regression.\\n\",\n    \"* $k = e^{\\\\frac{-||x-y||^2}{2\\\\sigma^2}}$. If on top of each other, similarity is 1. If very distant, k close to 1. It's symmetric. Like a Gaussian with some width.\\n\",\n    \"* $k = tanh(\\\\betax^Ty + \\\\theta)$ -> Like a sigmoid.\\n\",\n    \"\\n\",\n    \"**Good kernels**: Captures your domain knowledge, your notion of similarity.\\n\",\n    \"\\n\",\n    \"**Requirements: Mercer Condition**: it acts like a distance. Positive semidefinite (well-behaved).\\n\",\n    \"- In practice stuff often works even if it doesn't satisfy the Mercer Condition so it's que merciful.\\n\",\n    \"\\n\",\n    \"#### Applications\\n\",\n    \"x, y can be discrete variables as long as you have some notion of similarity than you can define that returns a number. You can think about strings, graphs, images.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\\n\",\n    \"- Margins and relation to genelatisation and overfitting\\n\",\n    \"- Want to max margin\\n\",\n    \"- Optimisation problem for finding linear separator that has max margin (quadratic programming)\\n\",\n    \"- Support vectors: SVM is as lazy as necessary\\n\",\n    \"- Kernel trick (transformations for non-linearly-separable data)\\n\",\n    \"\\n\",\n    \"General alg q: What are the levers we have for expressing domain knowledge?  \"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.5 Instance-based Learning.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Instance-Based Learning\\n\",\n    \"*Nonparametric Models*\\n\",\n    \"\\n\",\n    \"**Prev SL tasks**: Given a bunch of data (x,y) and we would learn some functions, e.g a line, to represent them. And then we'd effectively throw the data away when we're making our predictions.\\n\",\n    \"\\n\",\n    \"New model **Version 1**:\\n\",\n    \"Instead, put all data (x,y) in a database. Then when we want to predict y for x, we look it up as **f(x) = lookup(x).\\n\",\n    \"\\n\",\n    \"- Remembers \\n\",\n    \"    - But no generalisation :( \\n\",\n    \"    - Overfitting problems, sensitive to noise\\n\",\n    \"    - If same x has multiple ys, will return all of them.\\n\",\n    \"- It's fast: No 'wasted time' doing learning\\n\",\n    \"\\n\",\n    \"e.g. housing prices example. -> **K Nearest Neighbours**\\n\",\n    \"Parameters:\\n\",\n    \"- Number of nearest neighbours\\n\",\n    \"- Some notion of distance. \\n\",\n    \"    - Note: Distance might be straight-line distance, driving distance, may need to take into account that crossing a highway in Atlanta is metaphorically a BIG distance.\\n\",\n    \"    - Some measure of similarity\\n\",\n    \"\\n\",\n    \"Free parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n16793MM8wq+bmZk2ERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERAB\\nERABERABERABERABERABERABERABERABERABERABERABEehsAl2dbb6sF4GWEdBno2VopVgEREAE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEzo3A6bnVpIpEoEMIyAnWISfqkpup6/CSn2A1TwRE\\nQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoEBATusCCkUugoAccxdB/XLWqWvpcp5XtUoE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKB9CMi53D7nomMtkVOvY0/duRqu6+Rccasy\\nERABERABERABERABERABERABERABERABERABERABERABEaibgJzIdaN7PwrK8fd+nOdqrdR1UI2Q\\n8kVABERABERABERABERABERABERABERABERABERABERABETgchCQA/lynMe6WyHHYN3oOrKgzndH\\nnjYZLQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAItJyDHccsRt0cFchi2x3lohRU6\\nt62gKp0iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi8P4QkNP4Ep5rOREvx0nVebwc\\n51GtEAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIF2JyCncbufoSr2ybFYBVCbZuu8\\ntemJkVkiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi8J4RkMO4w064HI2dccJ0njrj\\nPMlKERABERABERABERABERABERABERABERABERABERABERABEXjfCchh3OZXgByP7XuCdG7a99zI\\nMhEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgeoE5CyuzujcJeSEPHfkFSvU+aiI\\nR5kiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIdSkDO4jY5cXJIXvyJ0Dm4+HOQ\\nZoHOSxoVpYmACIiACIiACIiACIiACIiACIiACIiACIiACIiACIhAZxGQU7I9z5fOywWeFznBLga+\\nuGfnLlbZWUlSBERABERABERABERABERABERABERABERABERABERABESgPQjIAZr9PIhVdlZNkZTz\\nrSkYMyt5n3m/z23PfIFIUAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARE4L0m8D47S9/n\\ntp/rRS+nXetxvw+M34c2tv5KUQ0iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUJ3A\\n++BIfR/aWP1Mt0hCjr0WgYXay8b2srWndWdemkVABERABERABERABERABERABERABERABERABERA\\nBERABETgYghcNsfqZWvPxVwViVrl9EsAacJhpzPtdPubcAqlQgREQAREQAREQAREQAREQAREQARE\\nQAREQAREQAREQAREQAQuFYFOd7R2uv1tdTHJGdi809GpLDvV7uadOWkSAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQAREQAREQgfeLQKc6XDvV7ra6uuQcbPx0dBLDTrK18TNzfhrE9fxYqyYREAER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAERkJOwNddAJ3HtJFtbc7Ya0CrHVv3wOoFdJ9hY6xm4\\njG2qlYHkRUAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAE2ovAZXRYdkKbOsHG9rpSYY2c\\nbbWfknZn1u72BeKdYmewV6EIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAINJtApzg4\\n293Odrev2ddNQ/rkpMuOr11ZtaNd7WhT9jMtSREQAREQAREQAREQAREQAREQAREQAREQAREQAREQ\\nAREQARFoHwLt6PxsR5t4xtrVrva5mmCJHHnZTke7cWoHe9rBhmxnT1IiIAIiIAIiIAIiIAIiIAIi\\nIAIiIAIiIAIiIAIiIAIiIAIicDkJtINDtB1siM9uu9kT29YWcTn5Kp+GduNzUfZcVL2Vz45yRUAE\\nREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEkgQuykF6UfUm2x+O282eYNeFh3L8lT8F\\n7cLmvO047/rKn4HsOZ1oc/bWSVIEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKCdCHSi\\n4/G8bT7v+spdH+1iRzn7LiRdjrWz2NuByXnZcF71nKWcntJu9qRbqVQREAEREAEREAEREAEREAER\\nEAEREAEREAEREAEREAEREAERqJ1Auzkrz8ue86qn0hlpBxsq2XeueXLIleK+aB6trr/V+ktpFo8u\\nqt6iBYqJgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQGcQuChnZqvrbbX+amf3ouuv\\nZt+55ctx51FfNIdW1t9K3fGFel71xHUqLgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi\\nIALvE4HzcnK2sp5W6s5yLVx0/VlsbKmMnHpmF8mgVXW3Si8vxlbqbvbF3km2Nrvt0icCIiACIiAC\\nIiACIiACIiACIiACIiACIiACIiACIiACItAYgU5yJLbS1lbpbpXeLGf9IuvOYl9LZd5nB9pFtb1V\\n9bZCbyt0Zr2gL7LurDZKTgREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQqEbhIR2Qr\\n6m6FTvJrld5K5+Yi661mV0vz31cn3EW1u9n1NlNfM3VVumjPq55KNihPBERABERABERABERABERA\\nBERABERABERABERABERABERABNqJwHk5SJtZTzN18Vw0W1/W83tR9Wa1r+ly76Oz7iLa3Mw6m6Wr\\nWXqSF2Wr9CbraYfj96mt7cBbNoiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIhATOB9cuy1\\nqq3N0tssPTy/zdQVXy+V4hdRZyV7Wpr3vjm4zru9zayvGbqaoSNckM3UFXTWGraDDbXaLHkREAER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAEREIHLQaAdnIrNtKEZupqhI1wdzdQVdFYKz7u+Sra0\\nNO99cbCddzubVV8z9LSLjkoXcjNsrKRfeSIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIg\\nAiLQLgRa7Yhshv520cFz1gxbajn3511fLbY1RfZ9cMyddxubUV+jOi66fPLibNSepL52PX5f2tmu\\n/GWXCIiACIiACIiACIiACIiACIiACIiACIiACIiACIjA5SZw6R13+dPX7HY2qu+iyxNLozbU+sk4\\n7/pqta8h+cvu0DrP9jWjrkZ0XFTZcAE2Un/QUU94UfXWY6vKiIAIiIAIiIAIiIAIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIXA4CF+VAbEa9jei4qLLhqmmk/qAja3iedWW1qSlyl9m5dl5ta0Y99eo473Lh\\noqu33lC+XNgqveXqU7oIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAInBeBVjkcG9Vb\\nb/nzLhefp3rrjnVkiZ9XPVlsaZrMZXXInVe7Gq2n3vL1lKunDC+0esslL9Jm6UnqbdZxu9vXrHZK\\njwiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAi8zwTa3eHXLPvq1VNPuXrK8Bqst1y4fhst\\nH/RUC8+rnmp2NC3/MjrFzqtNjdRTb9lay9UqzwurnjLxBdlo+VhXWrzV+tPqVJoIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVCLQaidio/rrKV9rmVrlA896y7F8I2VD/VnC86oniy0N\\ny1w2Z9t5tKfROmot327y4aKr1a5QLi1spq40/UoTAREQAREQAREQAREQAREQAREQAREQAREQAREQ\\nAREQAREQgXYh0ExnY726ai3XbvLJc1mrfcnyWY7Po44sdjQsc9kcc61uTyP6ay3bSvlW6k67KGut\\nL01H1rTzrCurTZITAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARHobALn6RxstK5ay9ci\\nX4ssz3ir5eOrqta64rJZ4q3Wn8WGpshcFmfaebSj3jpqLVeLfDvIxhdiLfbE5crFm62vXD1KFwER\\nEAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIFmE2i2Q7FefbWUawdZnoda7IjPW73lYh3V\\n4udRRzUbGsq/DA64VrehEf21lG2FbCt0hguuFt2hTAgbKRt01BNeVL312KoyIiACIiACIiACIiAC\\nIiACIiACIiACIiACIiACIiACIiAC50vgohx/jdRba9la5LPKZpXj2WyVbPJKqaWeZNksx63Wn8WG\\numUug8OslW2oV3et5bLKZ5HLIsMLJqtcrbLhYqxFfyhTKWy2vkp1KU8EREAEREAEREAEREAEREAE\\nREAEREAEREAEREAEREAEREAE6iHQbMdhPfpqKZNVNotcFhkyzSoX+Ncq32i5UL5SWK9NlXSeW16n\\nO91aaX+9umspl1U2i1wWGV5YWeSyyMQXaa3yzSob66k13ojNtdYleREQAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQAREQgfYkcFGOvkbqrbVsFvksMjyDWeSyyGTVFa6arDqDfAjrLRfKVwpbqbtS\\nvQ3ndaqTrNV216s/a7lmymXR1SwZXnBZdCUvzHrKJHWE42bqCjoVioAIiIAIiIAIiIAIiIAIiIAI\\niIAIiIAIiIAIiIAIiIAIiEAjBJrpLKxHV9YyWeTOU4bMs9RXi1zyPGbVnyyX9bjV+rPakVmuU51t\\nrbS7Ht21lMki2wyZZujghZRFT7jgapENZWqtIy5Xb7xeO+utT+VEQAREQAREQAREQAREQAREQARE\\nQAREQAREQAREQAREQATal8B5O/jqra+WcllkmyHTDB28MrLoCVdQLbKNlAllq4X12FNNZ0vzO9FR\\n1kqb69GdtUwWuWoy1fJ5sVSTaTQ/XJDV9AS5ENYqH8rFYTN0xPoUFwEREAEREAEREAEREAEREAER\\nEAEREAEREAEREAEREAEREIFmEWiGo7BWHVnlq8k1mk+G56EjnKtqdQW5OKynTFy+UryVuivVW1de\\nJzrcWmFzPTprKVNNtt3zeXFVszFcgFnlgnwtuuMytcTrsakW/ZIVAREQAREQAREQAREQAREQAREQ\\nAREQAREQAREQAREQARG4PARa7eyrR3/WMlnkqsm0e358pVWzNZYN8XrKhLLlwlboLFdXw+md5Dhr\\npa216s4qn0WukkylPJ78SvmV8qqVzZKfVYZy3KrZ46XK/220fHnNrc/pZNtbT0c1iIAIiIAIiIAI\\niIAIiIAIiIAIiIAIiIAIiIAIiIAIiEApgY5ytpWaXnUUbUL8zGEtbc8iW02mkfxWliWYavoDvKxy\\n9cqHclnCWm3JorPpMp3kuGqVrbXqzSpfTa6R/Eplh3GVTGOfwn4V+yj2XuzcKpVrRr6rJEM9QS6E\\n1ewKclnCZurKUp9kREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAELj+BZjr+atWVVb6a\\nXNb8Y5zObexr2Bexz2PfxV5uq6S3Uh71NZofbKqmJ8iFsFb5UK5a2Cq91eqtKb9TnGmtsLMenVnL\\nVJKrlMeTVym/Wt5HKP/h3/zN3zz6x3/8x8//4i/+4oO7d+/eHxwcvNPV1TVS05UhYREQAREQAREQ\\nAREQARFoKwKnZ34x+i/Hlb4iowHVfpZVKp5WtoJ8UryCaFuRlTEiIAKXnwD7p1P8yaFjyiH+bsfs\\nN49P7Vf/+q39P//1v9rLH763rtN9+/rTu/Z//59/aX/151/Yl5/csaGhAUjn7DR3al1d3XhioZ7t\\n8l8taqEIiIAIiIAIiMD7TuD09HRnf3//7ezs7My//Mu/vPqnf/qn7//bf/tvz8DlBfbn2JM/f2Nk\\n9eZRRyNlgw2VdASZZFhPmaSO5HErdCbraOg4jCxtSEmLC7fi10c9OrOUqSZTKb+RvH6cgy96enq+\\n+M//+T//u//wH/7Dn01MTHzd4vMi9SIgAiIgAiIgAiIgAiIgAiIgAiIgAh1IgE+r3A6vcS4HBzCO\\ne7q7rbevx/r6+q2vt9e66RDWJgIiIAIiIAIiIAIi8N4R4IDDoaGhTx49esTd/vZv//ab//Jf/su/\\n/v3f//2vTk5OxgDkO+yH2NOcoMHXVWseObNsWrmQx7BcPvO4VdLhJc7+rafMWS2lKa3QWVpDg0ed\\n4CBusIlnivOk1LplKVNNplJ+ubxy6bQ/zvviyy+//MU///M//+8YNfx/1do4yYuACIiACIiACIiA\\nCIhA+xPg199qvwOb0YpQB+qLq4y/fZepJhYvI6JkERABEbg4AvluLRiQw6jg3MmJ4SEfutec9fR2\\n2+BAv42MDBlmIrPu7gwdX1CmUAREQAREQAREQARE4NIS4IDEv/u7v/v6o48+mvyHf/iH4cePH7Ot\\nv8cevjCGH9Ixg2p5aWVYnuXK5WXJzypDuXirVm8seyni7f46aLiAmgW7Hn1ZylSSYV65/Gp5ae1O\\nlvmYI4flHE5DpTQREAEREAEREAEREIHLRCB8EQ6hb1ul340VWl+ihDq4c+LVOI7jLhxzL6SnxZGd\\n34JahtpEQAREoB0IsNcKW4hzuulTOIVPcnQQH6GHy9nAQK+NjgxiH8bU0nQQh0dGXZhZGr2aOraA\\nUaEIiIAIiIAIiIAIvJcEOECRvij6pADg4whC+CkcJRWi5b5FVitTrhwVV8oLFWeRCbIhrKdMKJsW\\nNltfWh11p4Vv+3UraGHBZoOrVR/lq5WpJlOpfLm8cjrT0odh48P/9J/+019p5HALr0SpFgEREAER\\nEAEREAERaBMCaV+JaVpweSTMTCaH4gwLDt/gFA4hCyXjPC63J+Wpu7gxN2lGMVcxERABETgfAq4v\\nSnRGdBDn4CA+hoO4qytnw8P9NjY2jH3EOYidU7hgXuhACwmKiIAIiIAIiIAIiIAIvIcE6IuiTwpN\\nf4idPqp4K/elsVw6yzKv3FYtr1I+dVaqt546y5WplF7NxkplW5rXzg7ilja8CcqrndRy+eUuyHrS\\np//6r//6k//4H//jL5rQHqkQAREQAREQAREQAREQgQ4hUO6rdgXzC0WCy5ZhcATHYTJeyTGcpiPh\\ngcmblJ5awV5liYAIiEALCIS+iGFwEHMEMfvD4SE4iEeHbXSUU0z3w2lMA5wkI9pEQAREQAREQARE\\nQAREwBGgT4q+KRxMYy/82o7wMK0Z6VSZpieqqmp+LKt4RKBdHcTVTnjUhEzRWvRRtpp8vfnlytWS\\nTtkgP/WP//iPn3P+90wUJCQCIiACIiACIiACIiACl4ZA+Epcb4NYnj+HQsh4T7T3wi3i9xzCsIe0\\n0xJZlg26ENUmAiIgAu1IINFtnqKXy51iBPHxMXpCOIgH++AcHoSjeMj6+9E7Og8xHMScj1qO4nY8\\no7JJBERABERABERABC6EAH1S9E2h8qm8Afymmfi26XLS0pjRrHRXSQV9cX65OoNMHNYiG5crF2+2\\nvnL11JTeW5N064VbAanZOivpqycvrUzWtKsYzv9B60+LahABERABERABERABERCBdiSQ9rU5tpNO\\njdLNuznicnHcy4ZSyTCWTMZ5HKeFWtPSQp5CERABETgvAr7v87W5OP6c5uAgPsE6xMd+BPHQYK8b\\nRTww0Ge9fF+Gm+sI1ZN5GPorAiIgAiIgAiIgAiIQCOR9U1fDcT4MXxzdt8gKacyibCyXF6+YTpm0\\nMkwvp4959Wyt0Ec7ytlfj40NlWk3B3FDjUkpHC7GlKzUpGrylfLL5dWSnlU2yI3dw5baEiWKgAiI\\ngAiIgAiIgAiIwHtNgL+5ws5oF444Ri7/ayx8o8ZxFMVRsVRU2mkKcnEY4hw/nLqFn35BMFVIiSIg\\nAiLQGgLJfiz0gRwUnKODGGsQc++yExsc6DE6ifv7ut2cCM4i9l1U4kYTqyNrzVmSVhEQAREQAREQ\\nARHoPAJ539QYLA9fEsOvXzYmfIuMG1ZOjjJxWR6nyTKdW5pun1M5r1rZoCMOK9UVy3Vk/DI7iMMF\\nlPXEVJOvlF8ur5b0NNlqab2Dg4N3sjZQciIgAiIgAiIgAiIgAiLQyQTK/WJMbxOludMdwg0u3MjB\\nEXJOkHOMP0fHZoeHZvsHPn6CtByKnnKH8Gl+ilV+Qaearm64m7F3Qy1H2g31ddlgf7cN93dZP35l\\nMd19mecfVxah21xqOFAoAiIgAudCIPSIIcTAYTtCx3d8dIRRxJhiuuvUBtCPDfT3WE9PV+GJXNE5\\nfC5mqhIREAEREAEREAEREIEOIZD3TcU+RvfrNzI//PjlV9B4S8oxLy2tnvRKZZjHrVxdPvfs31rl\\nz2po05T45LWpiediFk9wpa1Sfrm8tPRmplEXlgTqGqlkuPJEQAREQAREQAREQARE4P0kgK/L/MZ8\\nyrG9HDnc7f0cTMJOt/EB/uzBIby5bbayumsrK2u2vLxuW1s7cBYfw2mcg+OEI+xybirWU3qLsdFB\\n3I1fUnSidPd2Yd3OXrs2PmQ3Jyfs7vQNu3Ft3MZGuwxZfmOB8JM4pOWzFIiACIjAeRNwL8bgpZiD\\ngwO8FHNoOa5BDAdxH0YO9/Vi9DC7zXhzL7mg81L/FVNRXAREQAREQAREQATeawJ53xS/IXJP/uIN\\nx2QUvkXWkxbKx2WZxi2u16cU/1bKq1a2qOWSx9rFQRwukGbhrkVfNdlK+eXy0tLrTctarlnspEcE\\nREAEREAEREAEREAEOpgAfzf66aQ5pTR9s3Tr0iFyhKxDROgUhg/YNrdytraxA8fwhi0sLtnCO+wL\\nS7a+sQUH8ZEdY2ixcxDDMexGEKP8KX/3QmdXN5zDPXCkwJkyMtRv16+M2p2b1+zh/U27d/u63b55\\n1SavDtvYcI8bUezKdDBVmS4CItC5BNgrcuPDBcbZH3LGhL29fdvHfoIpE3rQp/WiT+PezY4zbCwQ\\nH4d0hSIgAiIgAiIgAiIgAiJQJBC+aoaU8IUyfBVlelKm0bRy5ZnOLa0+n+P/VsuvVzYulxZPY5Mm\\n1/K0dnEQN7OhAW4WndVkK+WXy0tLz5JWj0xamSztlowIiIAIdDwBPqjHm2od3w41QAREQAREoBkE\\n4t+cGPELlTmsORycsszFYDnb2jdbWDGbW9i2N7OLNju3ZPMLa7a4uAIn8aqtra3Z5samc5icYv5V\\nP600fSNwNMN5QicJRxEzHUt3wtGCNAy168Oc0nQST8JJfHPyuT28e8M+fzSN/Y59/sldm5ocNgw2\\n1iYCIiACbUGA00tzOv2tnT3bwZ6Dg7gPnRRnRaCjuJv9XdjC9+0QhnSFIiACIiACIiACIiACIuCd\\nsIFD+BIZ/0BnWvKY8sm0+Jj5yXLl0iqlV8vLkk+ZsKXZFPI6MryMDuKsJyJcrOXkK+WXy0tLT6Yl\\nj1l/Mq3acVqZcu1QugiIgAhcSgJyDl/K06pGiYAIiEAdBMLvyDj0CwC7UcNwhGzDMby6Ccfw4qG9\\neLNsL2cW7OXrd3AQL2Pk8IZtrW/Z0f6uHR/QUXIIB0mPDQwO2eDQAKaPHrCBgX7r7cNPJzhIcnAQ\\nH2Jk8T6GIu8eHNnB/pGbjvpg/9jW1zdt5u22zcyt28LSCo7Xnb7DD2/b1PWrNjQYretZR0tVRARE\\nQAQaJcCekuuucwTxLpzDuxhBnIPH2E2bjz6usH56SUXJRxQlmToQAREQAREQAREQARF4vwnwy2L4\\nQU4S4ctjSEseB5mQH44ZJtPi4yCXTKuUXi0vSz5lLuV22RzE4UKrdrKqyVXKL5eXlp5MSx7TzmRa\\nrcfV2qp8ERABEeh4Arzrhzs/O8lkR9nxDVQDREAEREAEMhFg/x/uByxQjPu7Q/HY3yuO4BzGksJw\\n2u7Yd89m7Mnzt/b0xQIcuCu2Co/x/vaBHWPeaU6nOjDYY+NjEzY6hPWEr4zZrZuTdvPGNZvCPjY2\\nCifxAEYRd9tx7gRTVB9h3eJ9W17bwmjkFTiDVzECed024Wjeh8NlFg7itdVFjEyes/W1RdT1mf3y\\nz//E7kxPuJHEuo9lOt0SEgERaCKB0D9yhgU6iA+wzjqnmN7DnPt0ELuXL9E5uf4J6xGXbjhmkkYR\\nl2LRkQiIgAiIgAiIgAiIQCAQfubGXySZVssxdVUrkybDNG7Jsj7V/62UV61sLXpi2baPt4ODmCem\\nGVtWPdXkKuWn5aWlsT3J9FqPkzrSyifTmsFROkRABESgDQiE7w5cQ9J/k+DDLMYZMsI4O0FO2Ylx\\nYm73qThwm7rIQEKhCIiACFwmAqF3532AG6d5Lsb9feIIzo8dTJ+KQbz2/PWS/fDjG/vm8VP74fkb\\ne42ppXc2d7xTGCOEr90YsxtXx+3m9Qk3RfTE2JBNXht3jmGO+r0+edVGx0asrw93G/zP4Ua0f3iK\\nqVkPbBUO4fnFVXuHfWFx3d7OLzv9SwuLtoHpqr/bx8jkw33Y122TN6ack/naxKBfk9jZfvZHg2uU\\n/oiACIhAiwiwvzzGnPuHB4e2v79vBwg5dT59v8FJXNozhW/dLTJIakVABERABERABERABDqZAH+i\\ncw8/y5M/2eM8tjMtn+mhfJCpdBxkkuVCelyWaWFL2hLSQ1gtv1a5IF8uzFpfufINp1+kgzhcCA03\\nAgqaqaucPWl11JuWLFfLcVK2nL1KFwEREIEOJRDu4Qz9Q//gHD5CCp5h2SEiR3iy1Qvv8NgQpgHt\\n8ZJFF4G6yg49+TJbBERABDIQ8PcH9vS8P7gXhxDymDmcVnpt2+zFqz377umM/e6bH+17jB6encNo\\n3pU1OER2bXCwz25PT9oH92/Zxw/v2Af3pu3enZtwDGME8fCgjQz3YzroPjclNGaXtl7+amIF2F0d\\nWN/46HgQjuJB292/gdHEmMJ6Y9deYfrq33+L+p48txfPzTZXluzpyxVMT/3cbly/Dsdwt3395UPr\\nH+13etwax/DKUHW8+RbGKYqLgAiIQK0E2JNwS/YweQfxEabIxxfroyM4iLGoOmdI8A7ihLzrkNqh\\nVwrtSW+Ta2qVP0FDooWFUtXyC4IuEqRDajmtIb9MSDWForHOQmKZgo0mx3VRV+31BQ3pJUNusDNd\\nKuSeRxgs8paEo1DzxdsXLGnPsDyv9JyzqSGlHP/S/PakIKtEQAREQAQqEgg307hLj+MsHI4Zp3yt\\nxywXl+FxUk+5NKY3c0urtx79SW716Ki7zEU6iOs2uoGCAXY5FeXy09LrTUuWq3RcLS+ZX65dShcB\\nERCBDiOAez1v9+jlGPDhP53DePZuc1gvcgWjsnZ292xseMA+vHfLpq6N2kgfxAvT3oXvCuomgU2b\\nCIiACFwiAuzfz/bxvE/QMcy1hjHTs72a2bVvvnth33z7Ag7bVzY/t4D1hXfdOsK3p6fswZ1J+/Tj\\n2/bow2n78MG03b19w40YHh/vtkE6hHH7wLtHFbccfknlBrGP4+WlKdY9bJOT97Fu8QgczMNYx/PU\\nnsKwlXcL9nxm3dlz7eqw3bt91cZHUQBb8b5VrCq0jqHuYkUuiomACNRPIPQr7FNOcYAZpTG9/rF7\\n4fIYL12e4l93Vzf6Lbyw4oYS119Xu5YMDLLYd279bzDq3CrM0vpsMsF0SneC+Z1mb7azcM5SMUSe\\n9ZLf3sVvLGnXQ1y0nvxzbqmqEwEREAERqI0AbwLua2a+WDLO5HAriPOYXutxWpla0srJMj1sSZtC\\n+qUML4ODmCcsy1ZNrlx+ufRknWlyybRKx/XmJe3QsQiIgAhcEgLhu4N/6L8HD/Hs/Kb99//5W/vu\\nyVNMG7pq925dt//j3//S+j97aIOTo9bdw9saHnGhaOH36iWhoWaIgAiIgAiQgP/KzGml6RQODxkx\\nW6pt4iWimbcnmEr6lf3xu1f2+MlLjCJ+ZytLW1hf89jGrwzaR/dv2E+/fGBffHLfPvnoDtYEvmpX\\nMeXzyFCXGyXcw1mkUQVroX4/MwVdz3Sf8C9z/M5po0P9eEfJxuAsvjttNjwyaRMToxA+thMs9Hm4\\njzWL9zfd9Na3bgzZl5/ewUjlMTiRh1xdKFrQw7g2ERABEaibADslbmfWEPbJvh9Dn4NIDqOGcycn\\niOd7NnR+3RxFzN2L+7/uAH9KEmOB84iHhtVfVxbzs8h4C9LsYVp2Da7jL2lOUmeN+kp0VTtI1lVN\\n/n3IbyXvy8AvXNvFayfMgpLtuo/5FnVcBjJqgwiIgAiIQIEAbxahk0/eOLLmUVksm3ZcLo3pyS2p\\nK+SXS8+aX6tckG+78DI4iLNA5QmvtJXLrzU9riNZNj6O4ywTH8fxWvLiuhUXAREQgc4mEL5OoBXs\\nFE9wvINRYQtLm/btk1f26988RnzZvnx033725SPbuT9tuat4GM8Fic98F+lsFLJeBERABETAE+Ct\\nwe/F5QfoGD6AJ3d1A87hNzv2PaaU/tff/WCPv39pr2dmbQ9rDff2YTrpWxP2OUYMf/nZA0zx/KGb\\nVvrO7XG7OmZG527YinUU68J44pAdhZCkhwV3Kb6QRAn4lm0CyoYmETkdsPXVD2xrY9OWFlZtbmbT\\nZt8u2YsXQzY7O2e3b17DSOV+6+nLj1OGrtPEm03JHwXQqk0EREAEaiTg+ynXeUadCpYcdo7hHBZV\\n584v3N453OPCM29aRmVrNKBF4vl2tUh7ulrWWW3LYldehkyDyoJDv5BQraILz4/NpzFZWn6RRsf2\\nlr+c270VF0OwQMWB8/TClUqLyvP09hZlS2PFcn6pjZBbTE+2lxLlc5PSOhYBERABETg3AnHnHOJx\\ntx7HaVR8HMfL5TGdeoMsj9O2cjK1pgfd5cqF/EsRpj3t6KSG8SS1aiunO5mePKY9cVocT+YljyvJ\\nxnlxnDq0iYAIiMAlJODv++zwMMDBtjEybGV9H47hLVtY3rHDvVM7Pu7GumkI4UEufktgieLRJQSj\\nJomACIjAe0Qg9OdFpzBH9jKV+y4G984tmj19vmq/+e139u13z+3HF29teXHFDnY3bWS0zz56wFHD\\nH9ovf/GlfYoXi27fvGIT4z2GJYbdNNLUE985QjzUwWNuDEPcxXAQ0ihLu3hMh/MVOJ4/+fCubaxt\\n2Y8/ztrC3LxtbyzCOfzOXr58g2mmb/g1iYODmK1xhvga/F8o0iYCIiACdRNgp8LNdS4+mj/0I4hz\\nmGqaDmL/PZpTS9NJ7BzFiRdWkiqKyto5FtpfycaYTaWeN4uuUE+Q9fetotZ8uqsyHy9khjKxjkJm\\nSGx6GGqtryY/8pxGeT2+vTz2+urTyvKt2kotCkeBQqg1eRzSg3w4vvxhIMGQOwkECgxDPqIpW5As\\nSoVYyPGFikfFWFAXSoRjhiHtrHQspbgIiIAIiMC5Ewgdc9xRp8VpGGWz5lG+kmycz3ism8dhK5ce\\n8hsJW6m7Ebsyle10B3GWRvIEVdqq5cdlk7LJY8rGaXE8mZc8jmXjeC1ylNUmAiIgApeDAG7/p+gN\\n+S2AI4gPDuEk3svZ5vaJHSA8Pe3DFHgDyA3jtkLXGcLLgUGtEAEREIH3lwDvANz9FqaV5oTPuCXY\\nzoF3Dj9+ivV9H7+0f/3tj/bj8xnbWd92kz9PTU/aoweT9ieYUpoO4q+/egjH7BUbwRrDJesL01OC\\n3a8HjHuI/+8qdfcfVLiPCvf3Dq379MSG4VkeGuixASxU7CeuOEEROFY4hjhfdgS3p9s3zT7ADBd3\\nbt/CyOHXtrX0ypaW121xYdnWMOSZ63+awRhsbKW7eyGS9Ms4Af0RAREQgSYRYH/jHcSYYpoOYjec\\nmH0P+jHMs8+9pCOisOug3J8mWdFENWxQvIXONLp/+GwvyL+lLSmm+Fhpbqy6lrivLerfWdgl4k/I\\nLNgaa25O/bHGtHgwgXm8vzZSK8uW6ksyTrOgXdKS1rMxcWuQ3wicdmlmjXYEAnHI71/uRCORSPA+\\nSQY0KXwLtlQCy5pD7fkChUOUc6PuK5UvVKKICIiACIhA6wnEHTLjocdOxmlJubyQTpm4XPI4mZfM\\nTztmWrktTV8sWy0/lu3I+EU4iAm10S2rjmpy5fLT0pNpyWO2KS0ttDWZFx83Eg/6FYqACIjApSLA\\nbwbh2wF/o/MhfS7XjYdYXBet17p7e22gb8D6+wetr7c//2CfCELJuGu9VGjUGBEQARF47wgE5zBH\\n6fIB5QZmlXgxc4hlB97a/4Rj+PGT1zb/ds72tjaNvo3bt6/Zn/30of3pVw/sT776wB7cvW5Xxgdt\\nyPtjcaegJn55z99peMvIe2bzKe6LPZYPtncrcETPY/Tv65dwEB/aB/du2d1b1+3WjSvW2x/uNSdw\\nD1Ob18gfWeMjZjevX0Hdt+z5rRs297zLtjEdxvbOnu3D48zZL4pbiAd9xRzFREAERKB+AuxbzvYr\\nzkEMx/ApRw9zqh72XugDe3r8FNP+hZlEremqEkKtPoz7yrxBZ5uXN4IZRXnfP+PY/69gqC+TyqBC\\nqbNZ1JNmXJTmbKFzFpEoOXFwVnXDKTEbKitna1pFlE3batGRVv4i0wJ837a4hf6uHvIv0sbzqzu0\\nPw753evwyDCDF36TnxxZL75rDeGFOYaUq0woeb2xLZVLUIKfWW5x6bBmukuvrsKV1x8REAEREIFz\\nIRB65fi2kIzTkLhbLxdPyiUbEJcLecm05HElnWmyQW+lckkZHofbZ5yXNU47uDWiw2uo4e95O4hD\\nI2swsWWi5WxJS09LSxqWlImPy8Wpo1xerelJe3QsAiIgAp1LAD1guBuG0D3L59OsfEK3e4jVnX+Q\\n1dhb750LSpaLgAiIwPtBINwL8GzSNrEm/Zv5U4wafmH/9ocf7fffvLB3bxft5HDHRkd77QGcw199\\net9++fPP7KvPPsAU05N2Bc7a8OWaunK4n9ChW/x96uMuj/n5fQcjh2febcMB/da+++Nj6z7Zs42N\\nbTvBE9KxkWE4nDFUmI5lTHnBgFq44XmpDeGX1pUJs+lb1+zW1BXr6++xIzxd3YNzeP/gyE3t6oTd\\nHxbOOwkKWoq5iomACIhAswi4r9Po7Oho4ehhhuz73Ajibowi7mLvGHqzZtXaiB5ax58ADH08u3Xd\\n+RK+pHM4sbt1Gv2fOB4lu0Gk7NdLpXz9IbV8GAhSPihh6I85S1LpdiYhLxvXlyZTqqWWI3/H8fq9\\n5riufPVBoRNI5Ie8fPvSWlwQ6YBITMLd0DvA5laaGM52+D60hRfz5t9t2ubmph0d4PvWSJ/duzOF\\nl+9G4CTG2c9weVYXYa3eJV8Mo1ZSwZmKfJlISlEREAEREIHzJxB38YyH20g9cVpfrTxlYt08TtvS\\nZNLSWLZcepreVqedqy3n6SBmw85zq1RfpbykjWmyybRKx8m8WH+cF+IhDHLxcYiHMMgoFAEREIGO\\nIxDf7ZPG+7zSro5Hbkemz8FjovCEyykI8iwd9pBW+u0iWZ+ORUAEREAE2pOA7829W4AW7sFDPLtg\\nGDk8a7/618fOSby8vIWcY7tyZcA++3DK/t0vPsOU0h/Zpx/ds5s3hm0Yo4aLdwPEqdS5cBli4zEe\\nOLpbCgR5yAeinAB6Ew9Ef3yzZr/9btZ++9tnGD6zZfu7e9aHYcp3p2/Z1YkBTDONQvkHlqyHO6ew\\nZjgyZHZjchzrDY/bAIYvH25DxXEOo3ByJSOInQrI+1IuUvjjzE3NKYgoIgIiIAJVCbiuLi/lv0Kj\\nb+UIYhy4vot/GMP/Yq/LJJeb1j3ltTUv8P1dGDdY1Ovt4d/QIzLPuzhDUsjx7WQ7gqOpqCffEtfe\\nYmqZGIXPbEwMNSUzkReySsp6iygdHNSMl4gw4cxGfUEhMxHP32vOiNaZ4J26oY58mK+zhLXL8vne\\nbv7N7y7Bp9KMYqxOo86tWGi3v054xJ328yWv928r8ojbztQjDB9eWNyzX/36sT1//hLfg1axZMc1\\n+5u/+rn1ffTAxkYHI2Zn9fhronhlBIm4Hk+fOdgxY1guL86gWLI0zvK8XP0ZjAowQ5sIiIAIiMB5\\nEwjdNTtzxhlyS8aZVkmG+fGWLB/0UibOSzsul8b0tC2pL5aplBfLNSt+bvWdp4O4mXCapSuph+Cr\\nbUmZSsdxXqvj1exWvgiIgAi0DYH4bh6+FZQaxy4zeiyRL8CH+oXOlL8GsTsncX5qvFId+UJOU6FU\\n4VtIqayOREAEREAE2o0Ae3E+TOfdwMf9WsBzCwf27NWSPf5h1mZnFqy3t88mJ0ft8w8n7edf3rO/\\n/NOP7ZOP79jU5LANRk9588+8880MY51Cq3GfwP8wUiY4iHfhkF7aOLY3S/s2v7BnJ3ubduPKqj1a\\n2sBI4GOMvoMzOO88CY+Y/R0HM1xAdT+c06NY9HgUixL39/W4tZNPoBw+Yowg9nWHuxVDryPY5Nsf\\njnx+OFIoAiIgAnUSQGfC/jCHDoyzKbgDp4qjAIvfmUu0l0kukWnwgH1c+hYcxrERoQ9HWj6ZAXX4\\nw3xiPo19Nbtc9rt+2RrIIs6dWxdye7pPsWzNKUZDov/GXtBQVOqFXU55a/NCZwJXAkqDHbwPcCl6\\n2sZbFafq7ccTOi6TgAGZ0RbqKkmM8psRZR35evxbVMX2O/XBBh7QjrwtoVhHrwfLRoQ7uF/G4gTn\\n5RQXh5uxCifDnRM2nZsX9/FL+Ze/r3F+/X/XXEx8Ygsr2/aHxzP2uz88seODVdv5/I795KtPcQ0f\\nhyunARrhQsrDzV9e/Kzw83EMBzU/u1gy3X028HXK+vA54XlxXRaLXf4T0wBfFRUBERCBlhPI99yu\\nHsbzHbo7TsaZWE0m6HM9fCQfl2WcW9Dlj84eh/Q4TJaJ8xqNt1J3o7allu9EB3FqQxKJ4SJKJLvD\\ncnlp6cm0Wo5j2XLx2L5yMmnpcVqsQ3EREAER6HgC4e7vbvFxa/IZ8XMrOodz+KXI6fGa8Ms0rk1x\\nERABERCBCyfAr7zF35OM8SHl0sqavcWawMtLy3a8t21jN6/bpx9O2//2v3xpP8eawx8/uGaTHNmL\\nB4e+tL9HeHdCytfo+MaCOkKtKOUcCcdY9/60u996+ofxlBJO4lw3HoieIuRDVAjlN+/G5kFwXCAG\\nZd0wpAd7F5/456unrHvBKRROvYlRDyXzhQqyioiACIhA7QSSPQn7oFN8jw59UXAOF3uwqI5iVxwl\\ntiqafFUm1SLXaybbxOPQLTNkP+4csXAw8f6xvWe2u3tsuzu7dnCwZ8dHh1gy4AAcDjDjQ7eb7eHa\\nlTEbHx11juLyLYxrolTekqRBrhf3dgRdRzCMdqxvHtsKnG77+3u4Xx3b6HCfXb82ZhNjQzaMt5t6\\nqIs3Ed5oEvepoKuRkHy4e9u94a5Kl5bxDws4RXltTo3XlVHDBYn5lvvK+XqAP0dM5Ythq8vrdoDz\\n0t/bixe8BjGN8pgNFJ6eQoqCLTgn3p6L+Bvz8PW7JiLKFyowcYqtru3Y6zfL9vL1og327tkepnRx\\nlyZepqh989pDHf57jv+cM40bQ3zVcp+VldV929raxmd2371sd+PaqF0dH7ax4Z78LC4sEEqytDYR\\nEAEREIELIBC+ALBDDt8QaEaWeGxuFvlYJllHluM0mWBDUndIr1Qmlum4eOErTsdZXt5gnsRyW7m8\\ntPRkWi3HsWwcj+2K06vF0/KZFqfHuhUXAREQgbYmUK7zin/Wud94QTDf4/FlZrdmF0KOeDiBY/gk\\nd+If0idanPxGErKDynCsUAREQAREoH0J+D7bOwsYd4OUcnvWfbqDh/e7Njx6ah/fH7evP522P/ny\\noX368U27OoqRJZDlfYDTp/pnuK506bfn+KaTR0CpcP9wJfCHa+txSukeDO/CrIf+voPhRd6xwoKu\\nJqeBDzm5unFQjYE1dnCYcztHv/g1PvMjxDBazW8I3VNWHrNWbkVLQopPb+XfYE9aHednRVrtShMB\\nEWgOAfdJxh92Oe5FS0RiBzH7qLAXanT9U+v7gOAW9v1osWelg+qQDl447vYOMOoWIb7+ewEE+QGv\\nxe4TaRxpyP0EcpzSf//w2LZ3D2xzaw/7tm1vb8JRvG2Hh/t2jPXrjw/W4XDqt0d42eijh3et/8Gg\\njQ5iCgi3xX1zPilDwFJhp7l0DGPiCVvbMJub27K5+RWbn1+GLdtwEB/ZxPiA3ZmexPIF17BP2pWx\\nfsPS9W5N6EJjM9SbRSTYlQydoxSJbqQ1DjjCme/h8uzTD9gLezjSmTsd2O69J3dp+OvDn0Nq5ebT\\nfLxd/+JlY9hJi3FZGd4dsIXlY3v6ZMa211fhgByw6alJzEoyYAM4H36DtPtiwVK1tjGwyatyQa06\\n4rLNjvs2BStpGT/+/Mzt7ezbxvqWbW/sWP8ER9v32EB/Hxy2vTVT8FYX6+J1xyPu/Kzw876NJT5W\\n8VlZWNrF52UeDupV24OnenCg2+7cHLd701ftwd1JuzYxDFt4LQaO1BJvIT1OU1wEREAERKDJBNjZ\\nuttGImQ1vsP3IY+DXBwPnXWyE49lKsWTeVmO02SYxi220acU/1bKK0p1UKyTHMThQjkPvLXWFcs3\\nI15NR5x/HjxUhwiIgAi0nED8LYDjpeKNR8WU/OMjPK04xpOfYzz5OTk9QX6QYD4fLTEsdpfFWKxZ\\ncREQAREQgU4gwD6c+wA8v5NXhvBwcAwPB+EJPu63P//6gf0pRg4/uIMH6kjCc2t/R8BtwT8vZAq2\\n5I2Ax8VbhxOJ/7AUH4YPolI+BOXDRzqcc7jvFGavYAH39JyKgpVwTOCIO/wReMC5Y6vrdETgyTN0\\n9MLZ3Ien69y58W6FuTBgd95Olxr0uYMW/gkAWEUxXlp7FVAttE6qRUAEWkOAn3FOoetGEbuPPh3D\\ndAJytgPsvvNsTeWpWkP/43sf/g396A66zqVVs3eLRzb7bsPW0Z8eYeRvzs0DDE8SPViQdj0w/vCQ\\nzuFjeJaPsHjq/sEJlgQ4gsPp0DYxdHcLo4f3djeRvmsnR/u2v7dmOxvzdut6v/0SSxQcY0Tx1I0b\\nRQdx2emT2XtzC784cMQE3itcarEN7n6Adswumj17sW6///339uzHGVtYWHcO4u6uA4xa7rHb0xP2\\nxSd3Ycfn9gmc1VNXh52T2N0p0LDGTou31t91vG3eem82HaQYFGo7GC1K5xz81uB1YEeHh6j32AYx\\np+/Y6BCcpn0Ybd1liBr8p9YH5mRf3BwEHIawmNNOMf/bMfyF8x4n6d2a2eNn8/b//n+/s8W5GbuJ\\nN85++uUjXA/X4bC/5tvpGpulbYF3tVYHuVKK1Uo1Pz/YUdQcUviZcjsWBu7t6cUo90G7OjGBlxpG\\nMdq9370oUCyVvR3++09iBDc+0ov4vL+ePbTvn761Fy/n7C0dxKtrGG2/b4P9p3bzWq998fEt+6s/\\nx+fk47tYUgQjvPF9zW001JkQ7AitCMdFSxUTAREQARFoOgF2tux4Q8gKQjx0xOXyy8nG6ZXizKu2\\nBVuqyTWaH7e1UV0tL99JDuIsMAL8NNlyeeXSYx1Jmfg4jsdl4ngsUy2ell8uLU6P61NcBERABDqc\\nALu38GMuagqT+ao6thM8+eGaR8d4OHSC19z54KW4lXaPpUdFKcVEQAREQATalwD7bv/YvXg/GMAA\\nnltT4/bZo9uW2//EertO7E9/8tA+eThl16/0Gsf3OGncI7yDI7oDhJ+icZN9JXGKizOZOx3EQ0OD\\neBiOKavh0KVDhfefEziJOYLYV0bFwUZfH+9JB/izjtEv8+9W4NhYw9SIx3Bw99oA5qnsx0KTnHba\\nb2ilczL7svnERFApLyGa+TC2O9jvC/vaQp3MS4tnrkiCIiAC7UYAH2vv9Cn2A+wz+SIM9/N3EBNQ\\nsR9izI0kRGQZ/ej3zzfth+fL9mJmw5ZXd+D4PcDU0JgzOofZHPCiKF/UobOpi85c/D/BlEP0Hx9h\\nfulDzOKwjyGJe+iDd+EBPcQ0tcdHcA4fc9+zw71VO9pcxJTCQ/bpR7cx4wNfPi2eMP/iKRNCP+jz\\niiJMLx4xznsXU7jDDNuDifNwen3746797tu39m+/e2MvX8zb7saeHWGq61PD1LmDJ/YSQuvb+3gp\\nqR+jdE9tuP+OXRuHJ5ZbafU+LfPfvDUM8l7mYBv854bBobYBhzBmVraVtX281LSLKbB3bG1zD1wO\\n8PrSoQ1h5OaVsQE3svnqaJ9byuHGtWGMvB6E47jfTcEc7mq+5Q0ZnLlljQjmqbjfkRw9PLdi9nRm\\n1X7//azNv3llH9ycsMlrV+E0xwsJEHbTfruzGp/ztHYGzZWsSytXSf5i8rxjGB81fszwweDLbEP4\\nMjaM70aDCPPvuhWoZLcyOOe9gxjv09kOXlBYWMY5eLFt3z19Z988nrUXrxcw5TdGD+9s4+N+hNH2\\nh/ZyYM+9WDGK664fw+yHh4dsYDT/eLvwQgfPQWcwzs5MkiIgAiLQtgTY4XIPnW8IaXCIM+SWlIvT\\nKsWZl7YFfcyL42nH1crH+UldWfNiuY6IXzYHcTnoPKFpW1p6Mq3ScZa8WKZaPC2/Ulqcl9Y+pYmA\\nCIhARxJwnRseXoRvD2yEm1oa93o3fRQEcnAKH8NBfIi5zxiG6fE6ssEyWgREQAREoCwBzggRtmF4\\ngO/fHsZIq0/t0b2r1gMXws1rExjJMoK1Av2vT3o9iiVCydpD6ujDiOWxkQE3asqP+MVoXzqIsec4\\n+o5q85XlYE14WYkjsTATo80tbNmPL9/ZS6zbR1/GGNa17B8as95BrGfc46erPGU5PNDsxo3urFOm\\nGS2hkWlb8T7riZXWxaOSlHBTLklM06s0ERCBdibgHcOwkJGSDd+zwwjiKJ1Svrc4jw+/t4k1wR9l\\n8JXam/lD+++/fmL/9s2cvcP0v9scUnx6CJ/wAX4PcP1gOoo5mxA9WH4kMd1YXBPgFP3qqQt7kM9j\\nLgHAHg81dPm03v4B65+8anfuXLMPPnhg09O34PgaLBJwAAKrKgzQl7Me3gtYgjtfFlrCyNSnL3ft\\nV//2vf32m5f2dmbBdrfgeO3BFL0jfCzXj3vKnq3BMfvdj3MYDXmCOwNGMsMBg2qDAAAAQABJREFU\\nOzY6CCccLa5SN7SU31gWLBAEu8iX6+3SKfzqzaa7T72YWbK379ZtBaO017f2bQde0yPML9wF3v29\\nORuBk3h8pAdLOWC0841R+/D+Dfv44TSWd7hnN6+PYW3aYCdqYUX8k3dI86idtsAhhPAB2/zSFq43\\nvISwjjVvd/FSAV4uOMLc4ByN7h3ErlFoBkLCLHtK+IlJz/TXnyeRLnGRlNg+b1XgwnZzqvYTMODO\\npvd0Y+1fvOTW7a5Ll1SD0Z5A4BM+K7wWZ+Yxgvvpgv3Lb57ZH5/M2SymYt/dhOsYRnR1DVtvP7ie\\n7GA94h17/noJLyv8gFHs3Xhx8LpNjFzDS4NJM9iKkBjHk3I6FgEREAERaJBA6GwZhg6XIbda0+Iy\\ncTzoidMY55Y1LynrCifKh7RysnH+pYi/Lw7iZp0sXmzltjgvjgf5OC0tHtJCyHIhHsJyaaEOhSIg\\nAiJwqQiw84u/UfABQ1f+AYlzEMM5zGnP+OCCD+rTtrgDTctXmgiIQGMEwmc0aNFnLpBQ2AwCyfsA\\nng3atRGz8aE+u3PtDl0AbtQSR/oyTn+HuwbTLsS0NBp5Jt07D4LuCcyheWV0AA4DrLMH2WO+oIT9\\nBA8s889KoYLOYYxYgzrejTDoymbmOJXoIh5irmBqRDgCBuDInrpi127dt9Gr0/A+97t7HJ3Jp10Y\\nUYyQdXI/uyU/aUHijPEho3xIVflibCkPkzsLUyTY48TzZfIBRc5pK9f2uPqsViV1ZS0X16W4CFwC\\nArz0E447d4h0hqWfFB6dx2cF9RQ6cecTwohfOFeXt+zps7f2BKM6DzHKF4OGYR9G3Z7u4oUdrEeP\\nKWfHMMp2aKjXrxfvZhtCj9pFBxbDXsj3uXVNdzGPsBtBfHiE8ofohk/h8By12xgl+vVntzC984d2\\n59YURvDGj8ocrIoMYkKMc+f9gPsmpmt+/Xbfnjx9ZY+/e2avX6Ade3vWN9hnN6Ym3AwVJ7kjrI0M\\nx+S7I1vDCOnHT1/b5FivffnJPYxgnbAr4yOGGZ7zG+8ywaaQlgxpATfvsOZR+KXEEc1Yltmw+oHN\\nLdE5vGxPnr22Zy8xne/rdxjBuY71mfH7CiOp6WDnOeEobd7heMfo6clhuulT4+jhN1CwtLplh8en\\ndgBH8W2MuB0d5N0Mv9ncJZOn4cxBgktD9oVuZMLNO3EDG/yktA3cvNfWd+AYP8L043SIuuaj/aFM\\n3nCvwOnIpxQCZsV7yAhNpwud+f64oCiItUUY7Oc1w+85mKkdL2VjZL370sMXtrudk9i9uJ3ZYt/W\\nWDfj/A7E0dvzmH798Q/z9m9/eG6/+cMTe4OXFY72QatnwEbGJ7AsRz9G/p/YEYQPcO2urO3Ys+dv\\n3IsKP/vJ57j28NIg3rs7+6JdZgMlKAIiIAIi0BgB3trYtcchNWZJowy3UDYZd5kZ8tPkQprCMgTi\\nb71lRBpO9t976leTpXwlmXJ5aenJtPg4jrM18XG1eC35gVQoE8K4zpAWwlBGoQiIgAh0LIG4Q3Pf\\nDPAnvOXuGgWBMPUdjzm153HeQXwMBzHXhUxusc5kno5FQAQaJ3D2U1f89t+49k7RkKRwtucJEj4n\\nHIX2nZUPOQo9gUCIoX/szNErOMDoXpeGPwzd7uKMcQuhPwp/eQbSc5jOXLp6e5xzlD6C8dEurLc3\\nhFEqvXgoCgcxpyzlg1I6iCHNnVMu8kEqH7xzmkSun/ftk3n77R9f28zsBu5XvTZ2/bbde3jX7n30\\nuV2//QEHjDlZlqc93AvP/xEv3WBX4dKJrUdiwslTWi5x5HRQF1oKNTyk3S45H+fDWvi/rQs7R+Ng\\n9saC8xpZLd9oS7GFPArWhaqLuSHFy6SlFyWKeoI+yvOhf3q59NRYXzPiwZag63xqDbWlhcGioiUh\\nhdLF1LSySusMAuwy/E4nHt1V/rzSN+scYejbijPzxOe/9e3jJ5I10iL2Q3sYQby5dQin3QGcQifW\\n2zdkvVhslDM5nGLaY44Cnro5Yj/58kO7Oz1po1gftx9T+VNDF5zD3VgvlbM0HJ/0uOmSZ94u29t5\\nOEHf7WBWh5xdw+wTH92/Zj/HOvY/+fSeffFo2m7duILlAHi38VsXnGFZNm95+Ju/H6ANyxg9/P2z\\nGfvjdz/am9l528dUuQOw8+7dSfvpTz61a1fGbQ8NnZtfsm/R+NWFt7aMQi9m3mEGilm7PnnFBjGd\\nb19xkVWYQ0KBVNI6pnPn5onStQtT3MZ71Cqmk345k8No5he4V72y569mbO7dkm1tbmPabXDGFNdD\\nmLKDSyz09eJmi/LHSN/DdNOH+3uYcnnXdt9u2LulTcyUgRHHq+u2vvaR/eUvPreBO9fdtMP+qmKV\\nwU6EvPFwK2b643P5G5jQIn+3Zwq58D6MCamwFATXrOYyEjAQ1xavn+4ehLgGSkzmQVEdDvzmHcn+\\n/kq9FAk7i4TvMIx7fWcVUd7nIXJmiystL+WL1SJ7pqJC8/gT+wCflcPDYwzUxwH7jGhnybOtOKvP\\np9Cm0jWHOf06X1T47umi/erX3+F70wubxWLdh1g3fGBkzCYmJ+3O9G2w68Oa3Wu2jlkD+gb4osie\\nLWLEN5fxWFvbxLri+zYEJ3KX+4LIenxd5SxRugiIgAiIQFMJhJtSuCWEkJWEeAjjikNaCGP5OF4t\\nP5YN+suVSZMtl1Ytnfm84ZTbaAO3SjJeIv1vo+XTtSZSW+0gDo1IVHvhh2l2JdOSx7HRcV6WeCib\\nJhvSQkjZEE+GaXlBt0IREAERuFQE+LM9voO6B1kcPZz/gU4HcQ4PKugc1hTTl+rUqzEdSCB8VsMX\\nlw5sQstMDmxYAeNiVB9qcguP6EPIhJhnHC/NKdYZzkfaufD3Hf/YmPmshyO2hjHT6Bge5g/CU0o/\\nAZc22Ds4xJqWRxhVw2lN/YNmPmDehr/iHZwBT17m7A/fz9mT53jgvoHpObuHbXhiwsau3rSewSu2\\nm+tzax3SAX0Cjyzrgv8Z03Nix7N4ptMxy7X9etx6ehAIDQyNQFJNW0o5JvEhNgZK2Q68BtsYrQf/\\ngO3vozV4+Nrfc+xGg42N9NkEpjkdhFObTvJgSmr9VFpRAPmxLZFsSC5R4RJDTjndkZJUo0JipAdG\\nlHMOU7rEhlD8koeldKqfxkuO41I3L/0Tg88ELgL/DTy+GlqNgnWV1scjOqbQzcJhxz4Jx3jRprt/\\n0Dt9MXqYbejuy9mN68P29RcP3DTH42NYC7cfnSgVoMMuOIhz3baK9X6n3yzazMyIzb7pdmsQ38K0\\nyI8+uGk/+/KhfYzpkm9NDqMv9nScCqipZWOZsLNfXUN/OrtwgPWT32JGiVnbXN2ATWY3b121zz+7\\nb3/6Jx/DAXwVU+Ye2PjEuK1hWO/O1pZtLq3YLKZ6fgYH8Z3p63b79i0bK3EQV7fO93CU8zbxBSbc\\nomxl0zCzxQkc1m/tf/xuxr7/YdZWlpexFvI+HG/9dhU8b05ds+tXx20CI5cHkHZqvc5JuLV9gPWJ\\nN21xcdHWV1cw4hZrQx+s4Twd4sWtnE1jFOfoyCAc71hOIfjYeVG5LbrqQhLTo2Qv19q/oWqGYed9\\nED8rMSuV309zMArTkbvfnbzxuz1pV3nDqZejtPmdYAcjyHe3cSGcHmHd3n68xIBlKzDanaezqMHH\\nYtuKecl6GzgOFZQoDxRCWNTPFAwOx2fwCC8HHPoRxPjG4n+Ph1dL8vIULtFb1FMk7YX4l9+ZeD0u\\n43p8+hLrPn/3yv7w3azNvMaSHKhvCNfQgw/v2oN79/Hyxz072MNU38evHMtDjCo+POjCyyP7to5p\\n2Xd2sFY2vpednuJLijMC8Av2+B6NLyfweYI2ERABERCBlhFgLxt63xCyshBPhuXymB50MR62OC1L\\nPJQLYVyGacnjcmmh/EWGabY2zR48emjZRsMvestqQzW5cvlZ0oNMCMkkxEMYcwpp1cJYT1xecREQ\\nARHoeALsAONvDuw1+YOOb2+7tY54AAFOM32C3Y0iKDx86PjmqwEiIAIdTSD0XumNqJybXkapngDv\\nDdxC6I+a/RdnCPeT/G3GOUOdsxYj0voxJXQXpirdPzyFIzVnW9h3D7sxPai3KIwc/v3jA0yR+NK+\\nwYPOubkNOCF63LrDw3honusatMW1Xet5gYX2sGbmCR6qHx7sYWSMX9txbKTfTWd9ZXzYro4PupHL\\nY8MYNxM/1aTDmBcStwZg8IE4H9DSabDhpkA9sJm3K/ZqdhmjcdYtd7iF0ThwvlwdtAcYEfb5Jx/Y\\n9NRVGxqg0xqFklvhPpyWmRSOjqO2sGQ4jCQQRQ71hxOTzyzIIrvGWkvV60gE3mMCdJ+4kY/8QOFz\\n5j7KhQ9XAIMEjv5syQeNSvMVRvqdOa56vpzDKf6xw1GJjtROMdzztAtOyb4juzrWZx/DyfvVZ1Nw\\nTuLFHoiE7ih0GezvdjA99e1bcCQ/vG6LCzfcuro3r0/Y9I0Juz01ZldYlm/r5LfIlJBUJvS2B3sZ\\nsuwBOtf5ZcNI4AV78WrO5ucWMGXunk3CifrlJ3fsFz/90H72k9t29QpHSQ/Bsd2Pe8aKLS8t2c7q\\nWziLd+35yzn0vzfty88/tamJQej1dZUxJEr21rPdnBODpeD7NPjS7OXbE/sfv/nO3aeeYNTm+vIG\\neB3bOAB8cO+6ffjBtD368B6cvZNuauv+gQHk+3vf1s6hzS8s2w8/YtTxixl7/WbOdjaWMU31EpZ+\\nOLUP701i1o0BOEIf4r6XfNyYhWjcvizyUZMrRmO9havNlWAOd76QgPeP3U4HsV+/ungtnVXPUkUb\\nnR5ccE4XcoAKS00cgdGsvXr5DCPWdzENMta5vnvLPvnovl3H+fT30qKOuI5S7XFOiJeTYHotG+sP\\nZbwtYYYRauH00jt4S2MX+zEg+RH1eZvDB61qdXm9ribvWHbfPfBS2uu3B/ab3z+xf/3dU4wcfude\\nVBjES2kffHDD/tdffmGffPyxTeJ7CD4WGFm/akvvum27C9+fjjENOPZDvqyHF/f4TKDYDhoU+KDu\\n0DwmaxMBERABEWgFgfyNIbox+lpCZ5wWxnawfCzDvEppcdlYNmt6kAt1hONyYVa5cuWbkd4yG5Lf\\n2Jph7HnrIJxatizysUwcZz3J41B3WnpIC2FcPqSFsFJekEmGoW6FIiACInAJCYQuzzeND3joHHZT\\nfHXj6Q1+kNIxnMPoLYY81iYCInB+BMp94ko/uednT3vVFH7bpFnFh4dh3GIlWmmEvXycU0lDWu3v\\nexp5xfySPJjP+w23cBY50yidw719GErcPYSH/qe2ttNtixs5W9roMsx46sq8gyPg+x9P7Le/f23f\\nfAvnMKbfPNzFxJ6YprIHU3TmcpjiFNOkPvtxHk6AJTuAo+AAI7a4HiYnqB7B8OGxkQE4hkds8sow\\n1nccxVSn484pO3l1xEaHuvMjjmCgG1WcN9SbW/0vxF3b8eSXg6PoHObUjhzhNjOfs2+/f4OH/m8x\\n7egSpgtds5MDOoiPbXKi3z798BZus7AS99s7t67k15gsMiqhmsU2ml7mRPgs/ynxj5GZAnEGPuqO\\n6/vjtfuyidFPSEyaFK6B+urqvFIN4+28Jr/XFp893/zccQsh4/ycUPKsNHNbtdEOt7NafO/vxt7F\\n6QuYjvVwc1iz17oO0BUeYGaDE/Sb/XiZxWwET7j4kCuUZwnfJiwXgMGFE+ivb8ERujX1AC1COSSM\\nDaMcBh0XH46FEpXb7F2BQT+PfApLs3/FoEZM27xrrzBV9Nu5d7a3tYa17Pvs/q0R+/rRLfvq41v2\\n4KbZKOzCEsq2tzNs9+9O2dvZSVucHcb9YxfO2A1bWNrAKFSM3oROuMrdP0TLbN522hIcwyxHZxwG\\nW8IZx3VeZ+0P3z61J09e2trKNn5bddn0rXE42W/Yl5/eg3P4LhzF03YdI4lHwaYXYOh6OzjugpMQ\\nLzlN38UI4X7MKgFoyHl+uGObC/NwhC7YUziOp6eu2F2MeB4fGkN+tLmXmxJM3WHgDVn8nuNRuA9H\\npaNoQkeUkyXK0tyjWl2cPyVzcIByL+al8XYW5qvycf4Ne+C9jnvr85llsH5t3z/+HlMmb8DZP2m7\\nGFJ87coE1r4etCEidBtLcyttm9fucyr/DeUpVaFUqfpIZcgo6mGMO3yvWAv8ANcgHMTOCRtkSxlG\\nylKj/nr000u7zwfeqoM/2J4+n7PvnrzACwcv8RnZxXTqA/bxwyn7xVe37S+wP3yI9cX5GcXLabdv\\nDtvMRLetvNuHUxjXbu4AayTjZRFchzxr7ntCSu3O4qLZKRJKEgEREAERaAKB0NOGG1HWkFWnyTKd\\nOuM8poUt5IXjECbT4+M4HuSTYRaZuEyt8nHZtogXvwO3hTlnjCDgere0smlpSf2VZOK8avE4P9QR\\n0kIY0hmGtFrCIBvrUVwEREAELiUBPijgG8s9fEiUf2rAH/AndBJj5zcGbSIgAudDIO3zxi8lhS8m\\nQcAlhINgW0EqJNQcBo1lNVUVqLnKOgrQCP9YPZhTVOIfIhfsPyOAhPKZhfdhKOIehlG8IF+sJVIS\\nJ7738VRUZJkn47gizpD+CC5n19vT59a+tJ4hPJQ8ces3vsG0oVPz+5brGcSoYqw5/HgdD4Lf2u//\\nOAdnwBqmSMTI3/4RnC88tDzFiGNMb7q7u21v3r6FowNLJORHv+S48CFq78O0pgMY+jaEKSgnMJKY\\njtkHd67aZ4/uwUF72z758I7duIKRzG6EW7lWOFX4E2/+eio4L1CUD2e5wyRMh31if3j8yn792+8x\\nBeo8pgyF03pvDy9g7Vr36T6muT6wxeV1tJujdPYw5fanNoTpUWlGiRUlB6RZkoDjxMbsAN1lhYMQ\\nMhtCeTVVtCWUFw+DtuKnMdYUxwtVpVpTKpmmv5iWPXZWa9He7Focx7Oq0hXUXEFWxenVKbX9CPCM\\n+u/VwfnlzzEdZO4G466R+LzH8Va1h3Xg+zz7S0QLlyniXcE5DKPpBHIuJjqFTjGl7MkeRhNjWCx3\\ndmp4wkVNLM+QWzimL44+zaFxs0n0sdxc/54X4Iszrnt1Of5PsCNKclF/F2eU9ninV5BhGY7W3dzC\\nyzezSxhdO2+rq6twZh/Zralx+xwjmL/6ZNo+vDNmo7CXdtGxfW3C7N7tG/YGI4Zf/Dhqa7vrto2X\\njLawBvPe/rFbIxdL4mILLWM8seUNDgzp2CWWfaQvrhr6+ln09c/gyJ3FFNGrrv1cu/kvfvbQfopp\\ntr/69AGmtMZLQHDIcUkBt5wrqnN6oOMYPt8r2CevTGGk8DAch0dYt3gdI56hb2sHaxm/tft34Gj+\\n/BObujbm1rF3FgaTQ1gwO2+wO0ac+e6eySiP4wKBurszQDDOyyukupTkfG7lAGV5/bmLh1Xjn/vd\\nyeuPSkt084Cbr4xHYSfvPdzWl9axru6zd/bbb2fsx2dzdrC7hjVzlx3Tjx/eN45eH8CU6Hz5gVvQ\\n6A6iP0wv26S4kHs5KxSsWCoIpYTFcoyxLVh6GC87HDon8REdxO5zGM5FioqSJK+Pf8PudOIYs63b\\nk2eL9s3jl3gxbR4j0dfxXcvswd3r9td//sj+7Gef2JePJjEFO8oCwN6OYarpYbw4N2gvn8IxvL+F\\nKeYxiwDK9GA9ju4zU5vwnGEnPO7lKTJTmwiIgAiIQGMEQm/rO37f7TMty3Fcc7JMtbwgT7ly8VhH\\nUi6ZF45jXZXSQl61ME1ftTLnlu++Xp5bbbVVRHDVtiwyjeiI9dcaD/WGcsmQ+cm0eo9DXQpFQARE\\n4PIQCD0iWsQonw904ylFD34F8kERN/6Id6OI4SjWJgIicD4E0j5t0ce11Ijwc6A0taGjuP5U9VUF\\nGqo+pTBbH1eaIlJPEh9SOrBJ3XhMmX9gWuCeKsdKWbYgVY8Vl75MKd3AKjx89vT4gLwHT+V7egdw\\nHxoG1WNbxwjiF2+3rX9k2Za2rsPxe2S//8Mbe/LDor19s4VRMDnI437FB6m5Y7ckwjEcy6d4yGpd\\ncB1grUZ3GjG6mOscckTwIbJ2eF9b3be33TvWj1FxM1iDcglTUq9v7sI5cGKPHtywm5MYTcN5r5Nb\\naWPyuUzEzv+okA/5mULnBXwONrsIh8GTefv1N2+wZvKirS1iRA7W9uvuHkXYhykxMZUjHMbPjlcx\\niroL02l34+H/NaxLOYz4QDTVNLV6foyFLRANxyGvND2f6q55H3cP46GPR85mRHirdzuVIU4dfB7s\\nnPgI8x8L5qZu1OX1pmafSaR+lgmbLx+OfFgt30mlFSxVUzjKpK8gjUiyQJxXLZ5mV6yPALRdXgLu\\nM+PvJ8XPDvof9kH8LEYXl79UWn9B+MuveBE63w66yG589+/BMFb+DmCvwBdu3JhYOFxP8SLL6fGO\\nC/HWKF5q4Yuk+KyzDa4dRbupj9P1cznZpCfYtdHJ50+5K+ZSHYmilny+C4q2hlTK0QHGNd1X4CCc\\nncdawpg2en971/oHuuyD2xNY83jSHkxP2E1MLc3ljlmGO0cy34DTcOrGpI2Njdn6Yh+ccjnbQGe9\\nhX54F2uw9mEa7B43kprtyxdE4Dcm+MQQY7gPXFx3+PXsgf3xhzmMIJ7DGsJrED3BlNtX7KefTduf\\n/8lD+/qzD+zhvQnDBBbOnrxSF7h+GEYydKM5MeL54HDUnr6Yspcvr9ps/wDauG5zC6v2Dp7obQyf\\n5shTOrTDyO90e0MttNRv4TtOOC62Kcj4ewOZlWwhm+GZzBLJ1INwyXg1+c8GLpRw3/AqmYudF5Pb\\nipXlc7xDHhfBxs6JzS3v28zCri2vYjrk/SOMxu62Tcw9fYiZSHg/Yxm/FWNpxjM31BhKRIWLKgpO\\nYkqHUiFeKInIGW1xpivJ0jzfnGJ6F2/B7WKN3xMazQ4jqIw/MyUaeABZ5kOW36qojzvX5uayFm8X\\ncnAQz9sTzKqyhOuR05xPTU3YF4+msCb4Pfvq0U2bvobrDeX5nYUvJjy4O27zD2/Y25mr1nOKKdDx\\nZsU9jHafuDJuA4MYYuw6M9YSbzRWmwiIgAiIQIsJhM6WITviekOaWa4s88IWZHhcazzoCGFcPqTV\\nGmbRkUWm1nqbIp/yZKEpei9aCYEntyxpsUwcT+oKx7FMWjykhTCUYxjSGg1jnYqLgAiIwOUkgJ6S\\nPuFeOojxw7qHT+ux+VFZ+O7hfpwmfwxeThRqlQh0FAH3LYd/9PlMnrfwBTCZXjh2D7l4xIdqXjr8\\n0kov6zkHmYKewu+zYopilQl4ksWrlqeiu7vHOUyd87Sn3/Z2T/FgHA7VzUM8LH+F4yOsnbeGtRwP\\nsMYkHyxjdgusL5zLYT/Zx1k4xlqZp9Y/3GujE2M2Mjxg/Rie1Ucnshv1gslO8eB1/+DINjd3MFJm\\nC6N4N+3N3DrWodzCqKMV21hbsc2Nh/ZnX3/k1jHkrbBwLZT9iDHDXxUhxpCjm+bgHP7+2ZL95g9P\\n3Qji9ZUN2NJjVzBP69gY1sPEsLa9HUxvOtdtR3ur9uOrBZsc77XPPp7G9JhjmEL0Jtrk78e+Cl9P\\nJbqB7VkZ5AB0sJFyQZYPk4EF03HTIQFHOkZc57B+cw8YD6L+UbAc7MdU33AksUz9G2sv3egYCKlp\\nuoONpaUSR2kFEyJ1H6bqDhbHWvOCaVmxmOLvBQFeBu6KwGeOzju/pii/TsP5yll5uKc5fgr3pdZg\\n8ldp9JlDgvv+jw93P16K6eXiwrScTipucBTn+ALOMRxXxwfwdx7CQUyPJNsUZLzW0Dm4NjLfTdbs\\n1fCvkwrtS3xO8hqKwiWxAs1CKnx/bvTw4vKazc0vuXVTj4/2sWwAps59MGUf3b9h169gemEo5r0h\\nh2HP6L5cnzsx1oM1icdtbHQU/Sucrhi+ub65ZytrG9C5bWNDI25UKysrqdnZzD8+lX/p3OOO2amx\\nvvwh+vvXWEbgjb17u+Cmr57CSMyffXHf/vLnn9jPf/IxZqwYsWH0+769sQam9UBzd6HOQQiNj5pd\\nv3bFrl2dgPO733bWT2DjLvYd24dD0a0JSw84NZb8VvM1ICPairqjRBflqHGWD4NBmeg1+LYm5fOF\\nglBqdrnEvLV5/ZRi7fn6zxRiOkrgPy0Je3CqHmFK7sOTHtzb+3AdD1jv8KhN4gWAyes3bGx8DA5N\\nrCndzVIswdC3CpFsG69XFgtbuH7dcdAVh7FwKJQMg7xXzZcdjmHePtb55X4CFafuDQvKhT2pIzrO\\nq2PNbCU3fv+Yx/cPrq/9w49Yxxqjh/cx7fbElQGMrL9rf/rVQ/vso9t2G9dnP+7zvO74+eA07B/e\\nG8NI7Pt2uPXIVu6N4nM0Yp9/fN99HxkdGXL9RRFKVHk+6gzQHxEQAREQgVYRYG/LLr/RMLavnC7K\\nhLxkPC4fxyvJx3mhTNa0IN+x4WV1ENdzQnjSy21xXhxPkw/5yZCyybRmHafZoTQREAERuFQE8Gze\\nOYY5gthNxYUfwe4nOx8YuP1SNVeNEYG2JcAvL8lHTMljfuMJX3J8Q9JKNd7EYh3BAoQlVQWJEDZe\\nZ7qGov5giafkXbtpuUUuiJU81GNO0VEW9PHBGh/Scao/jjQ9hYOMU/EN4OErnWR0FvraQgnqCRvT\\nilaEVIWll0twS5BjoMVTw/sPHRP9eFjPdYh7enJ2jPk6F9/BIYyH9hi+hnWEMQXoJqY8POSUlBxp\\njFFsfXjs35uzPoy8HcZo27GxAThWR9wIGY7A5Tp7fXB60EHDOk8wv+k2nuQvY6jXAhzC8/M9trqy\\ngh0P2/f27QQOBsOIuSso29vXh+lI8YC55GE+jKXh4RKggyQfz+GBLq8hPuzlzrURX7xatu+fYKrR\\nZ89sdX4BdphdnbpmX3x6zW5OXbcB2La2iiFwdmjzsxjFvL6C9SsXMWXqItbJvIVRbjfctQcBVBNT\\nY0q5K85fpQUJ2BtSaB/NdQ+kEXHTWmKU0TpGvm3AQbK1vY2R2ntwotPpfgTORxjF3GvXxgdt8uqY\\n3YRjexwOeLxHVrIFJAzLb6w5D6sQeuni1ZBe+qzecCVRvjS39KhUX6i9NJVHyRx/XEwNWplSTPV6\\ninkh5tPxt6TfyeeeESpIK9LpBPLntnCF4LgbfU+8tm/J0i15QefXO7e2wyj/39XIjzJ9woMDvXip\\nBs4ijBA8OezBbAr8VPJzBgn0m27dWIwepmObszGEz53rW9x1Ducj9DIn9DP0MVOcOzP4ng539h9u\\ngC6SuSGpsLE8N/8J51FxZ10hn30X+60lTCe8uLhou5iCuRezRtzElMsf3LsJZ9YNtAdTC0MD3V+s\\ngzvv6UNwgo2MjODFoyG8FNsPR+6hbWzv2SoUbsHxenJ9CFNSsyQ2d3JQMjaSyXlb2Jfi6wJeZGJ/\\nP4e+/oXNzb6x/a1VMM3ZwzsT9vXnd+0nn9/H1NYjNo4BmNxcf+50hxahbajDtZZ/EIepcNrDXrzo\\nNIydL/GS/wEcwwf7WKvWvchDuJSMt9hYMvMK+ZfSbscBB4lTkueCSwuF5YXyViAn1oNDbiEpb6NP\\nrPw3FCkWZ2Hs+RcM3IsSJR8ClgilQujriI94XZ2cYK1sXJcckc9/fbiOr18dtxuTV/ACwAjusWib\\n08VWV95i3V4yn5IPeM599KxkUTPz2L5KWzGfMVrmvntiOPjh4Qm+p7Asrj/OfoIvDaFWppZuLO13\\nfk5ZjDuvSbxDgJH1q7gm39jMm7e2vbaKF7xO7B6WrvjJp3fty4/v2vSNCRuBuVy32H9GumwIVd7C\\niOJTrE/ce/SpbW/dxKjiYZu+OYmR91fcLCe+9ayXsbAjqk0EREAERKDVBHwX7Dvf0BE3I6Td1J2m\\nq1ybgnxcNk02lkvLf2/SLqODOFyQ8UnMmhbKxPK1xGPZoCuEIa+ZYdAV6lAoAiIgApeEAO/93PPf\\nAtDb0fnBkcNuFDHC8FzTOYfzP0BdAf0RARFoMQH/MNN/QllV8etISCumRKYwMzUjkskQpYrCszqn\\nj4rdE6t86WBFUEah/MNUJiHbmRI6kSBWSxiqiNoTkvJVIGAm7fK8mO42V3nyIJTmw1L/kJkpoVXU\\nhOfNtoNRlMurh/Z2dh4PYHfhDOvDiKRRN5p0FA+buRUf1gWdLhl/wnFkdMh6z8MkER4HWjyNvXDC\\nDuBJ+ODgEB6qD9vBDtaCxJyLB1sHdrB9jJFre3DecgTbCZ4p4wygAEcHT14btqlJOC6x5uStG+Nw\\nDF+xKTzEnMKDz/GxEYy46nOzYrAOPgSlg3gH04murG1jKtAFe/z9C3v6HA9QZxYwdeeGff98AVfy\\nEUZtDbrL6+svPoGDFsa5DRa7huCPC/PJiIe2MOR1hCUtbWEFayY/eYG1/36wxfl3eIi9ZxNwsn76\\n0aT91S8/sgf37sJxNICpUZdtZ3/PtjF16N7GO6wZuGfzmEJ0aXkDjtpj55D1NeG6ZQWF6mMjvIS3\\nBEIUdNkcMVac9prF+fCYU0lybeR3C3iIPLeKtQkXMApvGY7zVT8yzTmIDzA164GNwply/eogRjXf\\nsV/+/Cf24f1bNoHPBR1ffvNGhaN8YhQwnxvDeHeJ+T8sHTQE+ZAf0nns3Cou9Efhs+w/lUEyhEFT\\nOGaZM1uhs4O0E2QdfFweNl8Hj5jjNx8W+wJfAyUZc1Pv5p1mpe2KLYnjebUKLg0Bnn7u3XDw9OAN\\nGI4g5qVGhxYdeyd4ASncaClXuAzPgQCvvHAls246IfmCDfvMEax5u72edzhiKmm4DSFMA3m1I2Rh\\nV9p/Svw9lM6sUsPZz8DXZRi0iBkbcnZ0iLXWu47xwkkPXrzBFP4D+WmqC8WSn6l8BpPzuhn1d3yM\\nkIRXdgULrC4sLtsK+q1DLJ46jjWPb2P63Pt3ruNlFqw960bWUk9orT8neA8WLxXhhSRM2dyNe8kx\\nhmxu7x7gJZkdhLtwaIdvBsWSzoTwB+qIhBv7e9ym7N1Szt1Lnv340jZXluCsPrJ70+NwxE1jWul7\\n6DevY9kCV8RbUzjhUMST4BrplbpDL+oazB6co7VdT4RydBLTYX/K3enJQ2LxYlOdBh7GO+0lu328\\nC7WHtY27oXcca/RikgiMJPXf5FwvRr3eHKfnzJ9KeZFwMCmIF82Lrcr3rEEoYhGpctFiebQLB+4l\\nBESck/jk2P2GvYb77CQWmx7FtRwm4PAUChUk1SaaWpQL9YWQBYu5Z9TkEypJQBPsPQX3/Bl11zSd\\nwlx7+JDObi7UTccwHMRuyaeSCyK9TtrHnZ87nFqsVW328s07rFf9xr1EkcPo/+vXh7GExk04iB9g\\nlP0tyy8R7trDb/Asz287E7gWBqYHbGr8C/RXh9aPtyr4MtvwUOG1CUjl20jbWFCbCIiACIjAeRBg\\n58udPW+zwzT7k3VQJqRljSf1xuVDXta0IN+RYac6iHlyGtmS5ZPHtehOKxvSqoWhnmpycX4cD+UV\\nioAIiMClJ8DfeD2YZ45OYjeCGPd+P3LYP4DgD3FtIiAC50eAX0iSHzsec+dDIEbc+qCIOvdseFAT\\nvslQpuGNtYVHsqF2JLmRH6woVEYZxCnitpDuj/xDTEhkeNDlnvrltbinsJGqyAIn4cdWhFSEoX4X\\nsmA+wengH5LyCplDq/nA9ACRDYz4fPdu116/mbUfnj633e1Nuz7R7x6oDQ/04IH2pOsfIZ7fIv0h\\nSWEGAuRWPAeMYelLTAXZjVFdo3gIOWpb3VzzEqNYeaVj+kM+BeZU0SOj/TaKp5pXJ0ac4/7WzXGM\\nbJnAfsU5iCcnxzGCeBT5fW6UGPWGs8Rz7R6eHnF9Qo4wGoezYsiGh8dxWYzazKsZ21p5Y89mVuzq\\n4xewZchu3bxpYyMY6cuBPM7kcIF5+9lYpvBRb8g5REVci/LNu01Mkf0WI3hmsV7yhg3gCfzD+9fs\\nq8+nsd+ye3eH3KXeP3ADD3Fv2ZvZt7YyN4iRP/uYGnIdI5zX4Vw5sBycs+6qRZWhDtabvkHC3axh\\nBD0Y0UNoXueYPdq2uW4nBmW/fXeI6ScXMK31vP2I8O27VYxg3rQDjKT2jgcOo9/GCOoDmxiBAwUO\\nmNvTN+EsHrPRwXF8T6ATqbpFBTsp6voNngnu8UaeRaZFvfn0uBqng2VDmaKbNhYLEgzLbQVVhXZQ\\ng7fPW0MHO2uia8Y7f/0xNQZ7i/WzP3JtdFlBV1HOtyscRzqKSpmorQMJxGc1mM+pmznTAb9XO0cP\\nMtwIYjqBsPO0X8xWtJbveXCU5QjWxL2KGRPGR7dsZ+vYjS7l/bKL67fnuNN2Oq+wznvhPorCdHzj\\nuuenhv3rAf7soY/BQFzb2DiGExdrvGO93N2dbUzyjCmgr2IK6A9u2a0pzEaAkYmctr7s5voyUGKY\\nNznUswMv2MLSGmaBWMQsE6u4Xxy4kY50DE9NYo1fzgLRQ8LeDeecq1DCfpwjpjld8//P3ntwx5Ec\\n+b4JoGEa3jsa0JPjR9Jopd379rxv/s657729VyuNNH7IoQUI74GGRwON+/tHVnRXNxqOQ80MqUqg\\nurLSREZGZWVlRWREtGF+OId0/Jj+7YL4Llq5Zj2h6oOn+i7ZFTAiZOZUEFpjvp9d3AqT2mgzt4i7\\ngJ3Qy7z9wZ0RfL1eC7eu9+E6gG8r7yjwk+6QUk61XOEZ8+KvUJE1k6gpC3FJyCHh1iGN3wocB15J\\ncRz9/uhafpuxfm0WNNZWtCHqiA1Wohkbq9hs1ZVnozAgbK2mCh4qYD3lymeBsMPhCwL9KaHKLJ/X\\n6mulQyqZQqAqTxUrwWhEWQnOG1kU5xFkasODhJrl4ZUA1/1PQTUgaqleUDkvq3GneJHIwcEJYwbr\\nJVRs4dluxYIJp0uE0y15GzIrLQGxjpLtPgCgCYnjKvcs4I6fw9HmL5Thw9LaESbPl8I0N3tvawtL\\nKo3hFhsnHt4ew4T0EJr2HeVnL6Ie33CKS8M/zx65fjbh0cNy095W7MXpvpQLZpGMAhkFMgpkFPhn\\nUqB2Atb0rLTLnB2vq5ZXPa/jMK5yrq1be31VWCrvr6Wr1P1Vy/4WBcS6EW8zXBVeuvxF8Xr56TT1\\n47xr5Xn+Zc5nlXmb9MpgZRTIKJBR4DdJAX00ywynhMP6wNY713enu3DnN4l4hlRGgfeKAr7W9TV+\\nZGt6qroqQY+Yo8fYpGuB+2UmkOFU6RlW0PN6KUFsLH6J3wg4YqR40pCdPV69Sn/z9mlFIFOcQu+7\\nzsakIyL+WWRqqbBYgOTIXqKCVYh4xbox7oxspSlFZzG0pf0jbc/J18vhxyc/hSeYBH7y9DlM8o0w\\n3IMJ4s/vh2toqMrErhjKTmeqEhxSvMp+r04BUVBKunmcRfZ0dyAAzoelBgTE+L2U1lQLguN8ax6G\\nf7MxsK+ND4Q7CBjGx2TyEH+DmJTu7WkzTVdpwsETNsZnWcEV+LrXOjRCpK3c1ovGHFoy3V3XYeQP\\nMoRQk6XEq2IhbO+shB+ezZqA4d6diTCAMFq+LHOS9tg4A5INKf1YhJrRvCMJYZ8HVL7/Xk4uYNpx\\nIWyg3Saz1aND/eH3H93E999EuI2PP9wkmmnSza0GNJ4RIAz0hZn29nC0txuW0B5eQKgiX5PFY3xP\\nMsQlClBr6oe3a9HyT8yJhTRvCKcKXmIcbyC0eT1XDD88ncFXJhshOKZmMbG9toPPQQmET9C4RlsI\\nU7PNjS34Hc2Fw+KOCaynZ1sx5boSNm+OhJGBTjSNIuv94vkGrO15BgFjfKsX8ekV6i4OqfRJ/Yh0\\nrfQ6XscnXPFIixgTFMGJz7OaEnQ9pxFD5So/DTemxWYoaHjFfNEtxiptJKXtVAdKOrtOnBpJ/1XX\\nQmoSUR8M5tUBJ8Cy02+FArqXHnSLNWVIe1iuW3TWuDVTuBK0akz4c+GVdFZaanyks95m3MednhXJ\\ngbo6G3jHIVjtKfCcbyEIVmvKzYFrjnmIA7PTxeNGfKRiZr6hms2ldck26xJcAmPadhff7sv4jJ8L\\nswhM5/ERvLXJS/ZoM9y53h3+888fh88/fhDu37sdmhPLHJV+px4E0aFMo0hdocVMZQJo+R6emV3A\\nvHQBkpXsXTDU3817pJ13Rs6e5PjcUyGZU9SjFr1v2rSJCD/1uiAUsU5RxMSvBH/CIB1iy/E5VZ6O\\nOBchLGRixVuBWYKYX1gJ25ub3G9M+bJ56dMP74SPHk6gMd3usyXdqcx4hpMBjy3oN922tcVPsVhE\\nA/vQzqJHG8LtdtYiLbw4NbbicPGaOjvGFZyFr9Y7K3g0+Or76fDd9z+Fl6+eI1jfCzcQHH5w/0b4\\n/af3ER4Ohz7etTkBNYQcLpWvGGr7o+rxmZBAlfmVAhIMm/ZvHHDVLdQDUF2CK8HRXK3CEWXF9P6P\\nKZYcf8oJ5cjpMqni6rno5mf5vV7bPA6TU5hsxld1HpXrIcxZ37w2zEayOI5S1c+OVpo32AafH429\\nY2mFW5txq4BGS3rEVAONgGL5mIPhFduwML+0GWZ5PpZXVrG+coBGdSdWQK5jweRGGMYMexvf+d5S\\nrCkKqqUKcv7spNOq28+uMgpkFMgokFHgF6aAT9I6a/r3a49fdBa6KqPgMOLV2dfpch73cy2cs9K9\\njfPO6brnlbtMnmApeF/j1a/8W71y/pWRoXkn0pticpn6lylzXvv16l8mrbZM7bXa9LSzzvXKnIdr\\nlpdRIKNARoF3mAKV96VNivzoI9sExPpqJ+jj0D8Qf2Pv13eY7hnqGQUuokB8NuPTJ5ZNDGLAYnEW\\nBtUR2oYLYW93B6EY/tYQkF0b6UcbsiX1vF7UxkX5jsNp5pTj42dB0oxhR5w6TgG/msAYyAmcMnOO\\nJJQpw9r6fthBOn4EE01++QbQgkAJyYR3MuVpOCV10/gJIV2LQSomn0xfCp60hheXD8MrzA0/ezEZ\\nfvzxx/Ds+dMwMzVF4b3QMN6N5tMY2jtoVBkEQTmjk+Rk4WoUcGpKiwzZKMKJfOjuRlrRUIRxfBBa\\nGd/jo+1oYPWG66NoOQ12h2tj/WHi+khiRhrNN2S7bXxx+UeX7o7g+iGMFFfQeFI5uYFE5hzy4zTV\\n0BYK2xNoBW2H7cJ8mH+9genlAlq1S+HV1Dx++vBl2IE/PjkjtnsPNAEsj7P4jAi2jm2EsFPTa2jn\\nzoR5bDgf7m6FHvp1m7H00b3x8BDTjsNd9JeyEnQgy2AcIzDmyCO1Luye4M9yJ6xvbqHRto/gIgq8\\nI5PWe0JFC9XXkZHMcwBujo/akNBagoHJ6UJ48nwmfP3di/Dk2Wt8Hc8jXNmBBo2hDaHwQH8vQiJt\\nhkAoTXeLh1thf3c9bBXawjh0kE/PHIzli56AFHkimqwpTkwIq0sXaCRZ8XSpX7Xr/bIzP/LdKKa4\\nTKZub+2bafgT/CfnUfvuR1gk0/AaX+5fMz7HsQdl6tml7uNp+JJPeTk/1+u/0qSRrOWThBPlQ9RK\\n1lTeyTScGE9jJUhZeNcpoLsorcJmBl9zM88N5gz0HtR4khCohMqg4h5+rbtuAlN+OtAY7MHEdBdm\\neRtlwYHnqqGBSQAz+KXjPJqyeeaRVjSE29ikhsAbxHmFBtzhYrY/mrRdWi0hlNoIL6eWbXPMzNxs\\nWFxcRIt4NexuLqNZu4gAlfn7Wi9z+BCmtm8AQRqKIgSHTjXPil1DqCgoi8+n/A9rnl1CGi2z+EVM\\n9LfjG32UjTYjQwOsCfI2z0fyGtDynCUBpWlM89LowhqF1k3q7BFC2CPMfx/X1eyOMPQb8ahoTOOy\\nnffFLoLwJRPGFfd3Qn9fe7g53hvu3R4P16+NIMzVGycJBkp3m6NswkCJDjuSweY30rD2jyUJrXv2\\nDMccG3j6e7tCH/N0u/opG8oGJ8IwQJGQ9htxjmsf7QGSMPvJs9Xw5TeLCIgXmON32CS0HdY3DiED\\nvqch7oM7owjbW430tnYzIPzU3pvY2Jm/aYxUqPqZQANakyQhaqbreaitYdnxJxa1uKHjWYaTRjGa\\ntrzHFOys9Lr4Vr9JBSsFmivHId5j3QeloDRsPq9fTW+GL7+eQit+KXSzqe3exLBtasu39ZvwO+lS\\nUqsacgU22UlQCS9lm7IlKHcU0oU8fuocIaiKDpTgGYcBlxHLjEvcVxS0YYENagMdbKwbCzdvjBm+\\nAqOaRvIynRwTpcd3UmWMeo3YTqWk0rOQUSCjQEaBjAK/IAVs+qY9P6tpj591TqPnZTztous0fK9z\\nVlo6/6J4bbv1yl+mTL16nvZz6zuct3J2XsVbAfYbBCJiXxTSZS6K18s/L83zLnM+r0y9PKV5+kV9\\nzPIzCmQUyCjwjlGg5uuT2U7fh2aujIgLc+xjvaboO9bRDN2MAu8oBfTgRYGFP4IyZbi0dox266vw\\nP//rb2FleSlcG+oKHz24EVr/+EloGx+xZ9ef3zfvOC0aw7G6/fTCCP4sWkVi7EVBiPEo37zBOjUj\\nQ1gZMr0nge78cjH8/R8/mvbGLk70hmAEf/G7R+HubTEzK9qCopcOhfRCTow+mdjdhLEsLac5TELK\\n9+qrqYXwHEHgNNpOy4uzYWt9JRQP0LiAoXb/7kS4c3si9PYiMENilqat2ojw062o1SxcTIGKkFHU\\n0wcTvG4Y6x2YOZWWNiMM/7d9aO5++GA0/N//8WG4D9O6p7MV5n8OoV/UepMpRDH8I1s4tlq5L/H+\\npK9VQtcKEnDA38XUdAgfPupDU/Yu9/912OT+ry8fhNml7fDTixnzaXljrCd0pAXEAgAgyTwdnsaX\\nmMhYVA3P8Wv89NlU2FxdR6BaCtdH8D18e4hjJNwYxv8mCKvfwgFFNvqcp+9doR0pzdZqY9jbLwaN\\n8SKST9M0tNKxJdXzNhWvXCkWN0koX/jokF9t9pOEJy+Ww9+/+jH88OQVApzFsA5uRwe7CMqbEML3\\nYv56LDy6fwttsjETsrRiknJ/DyH1ziYC4jWj/Qf3J6BXv2mtAToJcZ6IuMSkdNxx9YcxnecQLnv2\\nupoTtMFDQiKZsi1sHZqfxdmZSfyR4k96r2A+SP/w2QfGFB/o6zRTv0YrF0Kw1nHc/Cw8FC/yIzO5\\ngn+A4FnuYisan2SCSBzBwqjSf7xcmwBdtJOJTpntRZHR7rNge1At3ZvYLiInmVG3a38uvKeWnP28\\nIxTQXdM9jfeV+84DLi1P+VfXWRswzcQ02qoyGVxXIPYWbr23nybbWWCVrvlX01s7gzaPMDO6mZFZ\\nbDadnWAKH+HwYaktERA3mcVpWSRY5/lYWMIqwewOm09WETguIWxkgw1z5wYv2oP9LYSaMkvdFpqa\\nO3ivtvKEoIXMwuFIpqrLAtI0pvXiEXv96kmREGxru4gJ692wpQkAAW9Pdz5cZw00NjqE4DQKZPVk\\nihZ6qpwmNueS3dWZMysRXR0ShJ6Y8NXMOLtgrB4apAmODuGhzTfs4zHhsDbtba5v8B11xDujg01N\\n/eHaaL/5W0amWw4uxAQlgn4col/rnMAnSz6c1zH9rw1DxcMiG3lasZ4xxDHMZqpOs5hRgUPFSCqD\\nIcgeZBp5HVPY80uH3K8D1lPMc0e9vGNymJw+QhC9wAab3bC5sW4WPZpbrtm71gxKAURj1aiYmjdj\\nU6kGvTHNsfqorAl6Tzcx2FrZ3CctaFmrEL6aWyUkNqGkkLaqaewjIKXUHioszKw9BMRaD2id5jOp\\nakZI1WlqwlvQ2ZpUYQsxRb+6zzrLNcPkzEH4x/cz4f/5r6fh9evXoa/9OPzbZxO8M4d5fyOw1061\\nakAG7dRP0qCK+mFrGI095ZUxO1WzKkFF0wevKRsvs/PrbFJb5BuBzRO847twzTE+3MmmjGHei32M\\nGWst1gaBiE414um1bqXRWLJyncUyCmQUyCiQUeAXpoC/NtRsvUnZ02rP6fK1eZe5Vn21nS57UVo6\\nvzau63rB26iX986nab39roXq1cHVsK+tW3tdD9plyqiel/Ozw/Lri871YHidennpNG8rO2cUyCiQ\\nUeAdp4De6TpOB02I+iDUju5TH4b1q5wGkqVkFMgo8DMo4M+nnyNT0x8/ZEZhaVVCq7nwv758Ehbm\\n59FIHMbvXhvCkgOebAka0kubN0HF29a50r6YZKalB0d0D40ZaQwdotpyjN+/Jvz8yVxjO9qeYpDJ\\n7F7U2Ltq++m2K+2L6bUnM45re+Hbx6/D198+gyl7gFBrEOZdLuyh8XJrYgjtUxi9Yg4ag5CZDhAo\\nA8GIjweuVU1jeGkV85cw0CZhoD1/Nct5Kczhf9XMVJaKmNftDCMS6N0aDF98/iA8fHgfAXF3WSgm\\nzDxELP0qO78JBTRixT+XVldPVytmn1thHMvP5QG+IotoSzUi5OtDeNkRZMVR+mbO3iy3pxsROavx\\ni8EYxDEpvtvim68hKaNnRRrnykPmDCNfjP6RMIGQVJpghfVdGPKHCFIXwu1rfeHjh9fM1LQxnfWM\\nJYNA4FwxVuMUZdywuLRjGw+mZ5Yw27yH8Bc/1jcHw4Nbw2zo6A64pqQ6QpOkF7hLNCHCID6Ruzrz\\nYRmmucb0NhLQPdTzJCSuOEFOmz8V9h7iSNSvnlXhss9FAeECwxyT0kvhmx9eISB+HiYZ87tbe2g0\\nYtp6dMD8Yz66O4IA/hoabxMmeOhHe0x+Og8OhhG27pq1ghbKD6KR24VGrpjwMYBDgkbEwNPjWWkK\\nftaGkiNk/xLwHPFM6/ks1xOopKBApshsZbQhRYJhWVGIGosHaA8Wwur6Fse2aSpOT79CUIz5z+3V\\ncB9696MJLS3iPky8mjqn4WLiBKFFqMxxoplgb0MzaVuvru2HtdUNYGHmm/txjFAv+smMSMZux8lG\\nQh/hKwFxC8LhDoRO3QispOmn8dyGlFjjWz6xRVeZVLfNDbSpUWjjynqZEECokZqFd5cCGg/m6xbh\\ncB7Bq9wTNDYgXJU/WWkQc9QVEP/M+54eQWnqKb16RMUUpWn+1SavVhCWIDsKMUlAQNwQmLBK7cxJ\\nzWF5/ZDNJodY4cD8PM/uzPwBQrON8OzVCnPlKkKpjbC6sofVBKrwLIVEA1kzUkMOf+9dvTyPWCkY\\nQMsXf8cyj1wJtRimsGViUK4OHkMsPsiaCHP0xnbYRbtWmtr9mGLQmkAaxBI+VocKLIqaMFyWJ3q6\\n8mgRs24Assw4HzE5RcG9145PprVM4yfcVOGgoPlCm1TWN0qYl17mvbEc9tlRkm9tZENQd7iBpYtB\\nLJwAPtJdKtnpOyBAZbQiVP16suY6CZ+XV7ZME1S+nDUH9fXlbY4eGx1mnmlPgYgwbCJKoDg8wJrv\\n3A3gLa0WcamBT/ltNMNP+sGhlbXcLpZUNM8vhCYE3MODHYyDhnB74lroaY9CXKEaW0jaoWXFyl1Q\\nI+mgl6MeAkKlRpwDZdq7XW4MWCiqhExMS3M7boaq0MAq66dOIw4zCod1VzUH66zg83rlfsX0mOdx\\nga3AqdRSqqfrrnGbA14fwtPJlfDtk8Xw+CVm2Ke3w3zLtm1om8O0+PXxQeZ+Nk85CmUIdZAv58Wu\\neYkoIE98MQtJz1C8Jgg/P5SluG2cYm2+vIyLisV1NlBs8U49CkP9PaxxetGwl29uNms0WmlVI8RG\\nlKKQblLx9NvSn0I9FSqfLqu69RMtJ/vJKJBRIKNARoG3Q4H01Bun6Tgdp6dxn6LTZ7VeW/6sa8e0\\nNt/Tzzp7+bPylV5bpvb6vLq1eT+nbi2sX+T6XRQQ1yOMCF8b6qXVlklfp8un4+kyHvd8P3t6+nyZ\\nPC+jczouOOnrs+Lp9rJ4RoGMAhkF3jsKaNVgh34U+JiX5kAThwuaYhl+vUwsmf3+y1PgogHhr9Zf\\nklDn4fRr4HPVvjuOlX4o5lcyNbi0vIH2xxKmYVfQdC2EAwRPAaZzYyP+9vBxKAgO5aqtx/Ji/OjQ\\nX4RkwiZ+UDgM09PLmK5bgWm5CYNxB6beARpz0pRrMRO5N/ALe51jdLjXBMWCGWVysRc+r9THzTF3\\nNlQsJcGQtPnWNvbp+wYCcvwZbh2FheU90ggUKgYAAEAASURBVI9gUi+GRw+uhXF803Z1daGdkkfA\\niJ9EuGXSwtzZOTCz1OtoGy2tbiEM3gTOCloz6zDSNsIejhNl7rMZxm4/JozvXO8JH90fRXP1mvkP\\nvIl/PjHVJMjxe1Ef/yz18hSII8xHq3iq8h3czjjqwOxnM5sMYNmHw8NtNGDgapd2oT8mHClXHpXR\\nBmryElPL5CQMaV0p+IjSjVM83kFdqH3GCGn6WEOWF0YGG8ME5hdnMDc+h1/e3c01xskyvql70Ihb\\nxf9xj5kujdp1wGBgpwUGEi6u4G54BgHz7OxiKKxt0l4Jpmxv+ODBTRPA9kr4TXsnEpjYGdPOyDIG\\n+vBliBp8d1cnJkOb0eY6QHtVB0x7djb0IAhwE8n2QFk/43OiXgmW+xuWXEb9WkOI8uTZRvjm8Qzm\\nRF8Snw5LPCsHSFdbEFjK7+QfP7sVPvnwZvjw3li4BoNbvpzh25vw0vCDLicIV0sIiER7bfwQA1x5\\nHtJxT/OzPy86i3mNAhyC1xBeTaLdxByyj3quBANNANXcIPOcgmd9JaJ6JoQnovrHpQZ75jfQGpRw\\neBbG/BLM8DWcK29ubeI3fDXs7awiqFkNpeJ2+OKzh2jFXQd/5kkPApogbfCTdN2/pZVSeIUm5PdP\\nZsIrzK8uct83EUBLCHUI8hLQlJB8SdtNoSGZe5tQi2tE1a6xsYQwsMm0GWU2fHQYDUK0lzvQDO/u\\nbMPUeDtmvHvCyHAfZbSZRmINhfirmOHEj6HIT4KqsrLwm6XA6btkzwsbAdoQhkmQJ3PADQhESwhs\\nonBYnUnX0533kE73tLdxTrehuAtAGYEgLHmt+YbVRlGtJ1hX0APGdmfY2msMzxGQHbMjprOz0d6p\\nEgy/msHXKSaWtzYR8qGNGhAeN+Xamcc0iJt4ZopoErPZp4W5kA0p9+/dCI8e3WczDpZPyoLciIv1\\nMBV1+sQ1Sey/zSGsReSjfY1ns8jioBnpdj++4keHB1iH9PIu0SyrIGAKkZ4OmttiGv7dbK7rQFKs\\nueeIZ9uFxHHNYhX5qYahVKVonpXy8gqbSLSpSP7Zj/D12j3YZm4Qxkf7sHSBNQxVUBBQuyinxHRB\\ns3/eTmQJtkocMIkvMh9NTs8heJ8NK8A/Pj5kLYJmMhrEI/Q1rwkkCQZeFb0dzqIbU6bBY48Lc+SJ\\nraNkGeH4COE/eXKd0NTSFk6Om8jfRfi5CE2+Za4tcmbuutGPP2Lg2oYqwXQMveX02RCwhLhxyssK\\nkzjWtGmiEy3obnZmteqlTxXzvZto1KtGVRBIgqfr7HHLsB9DsHLpBUSLK4fqFnSfZXVmdqFk7wVZ\\n4jhAEz7X0gfex2GzcIRZ9VXWo2u2kbBVu4AseNtJB5LU9MlbsjOvFBeU2z20u+aQHFaltqB6qs56\\nI0lLnFcVbmh27dk4ZO3Q3NKEe45+W5f3solC6434tlGteE98rU/CuXdX+R7q9soSHSsv+SbnutDf\\nBFBWJ6NARoGMAu8jBWonyTihx556vPas3No0XdcLgn9R3nllBDOdn47Xa682rba8rhXOwinmvgO/\\nvkJ4B1D92Sj6TXNA6eurxh2Gn73+Zc5nlRGsy+TVK+d4ZOeMAhkFMgq84xTwabD++1VMEj/UUSv1\\nRh/Y7ziZ/uXQrz8eLiaD1/Oz19A4U5qPN6Wn47p+m8Hb93M92Gl8/pm41Gv7qmmOH+cU2tKc2UEj\\nsQC3ahvNmQOEny05NHcRiMqEZUXEcNX2KnQrcZ90JYaRhEw6pIUoc4STmGH+8QkaiFOzxpzd3tqG\\nYVk0k6rtMCpHBrvCnRtD4dG96+HjR7fRcpEmT6MJmwwoP7E73r+z8FR+Ciei8sO6h43twvYR5mSP\\n8It6gsDmIHxXmoMZth3mltYxLdmHMKYvtGN/WP4exfDd3t4zE5Sb5tN1GwFewQRLyysFYOxjmbKE\\nxnBb6B+WhkVfuH29zzQPH927hsndEbRCBhDOsWmmCtXYCyVd1JOqatlFDQUqo0F0lHBCmpZtjCUJ\\nMDUGdtFe3d6WH9wdzCEzCMyPJzmqymEap+Jy67CQjidJnFRcv7FU5VcxtYQcNGDhGa2vgXATc5FP\\nel+HnfVVtKrWwzTC3vnF1XBjfNieNdOeVcP6hwsuRrjgHEjDf7kQ5uYWzNzx4d4OGyea47iawBcl\\nTP28TFAS4lMW60noiuIw2mztaLPl0Tps5jnH1Cdaviurm5hq3cLPuBjS6SdcPRKU2Bc9t2IQi5m9\\nw88aMvWXUzvhy6+ehn98+zR8++OrsEofQgkBA+as70z0h08e3Qz/9rv7aGbfwPRkX+jtRABsUCOz\\nmaiR1VqofgCUdU6oUFv3yekj5rUY7ZNzW+GvX78OLybxo879ldZek/waGx3jDBTjURhhMPiRdpk0\\nL/ch9BaC83U2yMgHqcyi6lnXjNXcfIwGH+Mohz/l3nb8izaXtdQcYfVH8J121j/SDtmAs7C4HJ48\\neRn+8pcfw+On07QhE9v4/kS6orkiro8EKdI/stoNImNBpnSLCMfQueS+9/R0hqHBPjMD2w5SPd0d\\npoE9ir/4G9dH0XTsNRO3EpR0dSAsBm/JtUxI7kipKQURwdJqM2J29vtrUkD3JI55YeFXelolDJP7\\n2Y7ODhMQN0pAzBjWONZRqZVUFAALPr78+vJnb99rnB4xgq3ZQjmVOUXKl405ts0wCTTIrrAmOjSA\\n5aNdAuLdnQae2VUEjJuM0X3mp+3wcno9rK0chOMD+RVvC7m2HgRSbIIxu8RoSmNh5KSEj/Owg6WT\\nRjZejYdPP7gTbt8YZ06jbEXdMsGHk0JN9/WsOq0k6FzfOGJuXA+FAiaseXDb2ZTRzSaMPjbYdCKI\\nl5Db70lt/3WtWViyybbWVp47TGrzXikhfN3HTMsBVhs0J6FnXIYRYXG/kvmeDNNk3mYTzur6Jhvm\\nZIFky9ZCQ2wM0btCm0Pakvle5SvBe0JKVRTz4yT5uoulSng5OR+ePp8MM7OzbGTbZAw1oyXdx+Ye\\nBMSYCm6V2nc1GLt2uALvh3y1y1z1FraS93FKf3x0ghCf+4YFGPX1GMH+8XEONybb4asfZ80M9OjY\\nOEL81jCMJrRcIficqUYiXWupm+RUJce7J1GksEVeyb3ifvHSy3MTdKu0SUj+nzXHa6oTRlUgBDYJ\\nVelc6NrcI9k9p67BAI6eLwE7Faqhq35tKWqWcRDdZFVieWWbtQCC4IUCtMsxxts5N2OVpohW/Rpr\\nhDX8+2KWG0s61aG6Pcuj0VNtkuD9P7v3yqGggYzPhKI6NG7kD3x754TnY4vnkw2cjONu1g7X2Jhx\\nDe16WSgRdupzhKGIC4kVj0Hw6gWrR0blaUxKJeuhSq/SENJxh+qQ/FpnT/NzOi+dX5ueXWcUyCiQ\\nUeBfigI+SersE2y9uKf5WUTyePqsdMFJp513rfK1wesq/arx2jq1sN+r69oVwnvVuX9SZzSgFGrP\\nMfX072XKeZl6cJXn+WfFT7eapWQUyCiQUeCdpoCmu/Sn/rvWGV8POd4+jfv1b+jsqF6AoherxfyC\\naknxSu0Yq9SqxGoh+3Ws4RBi+eRKp3MBqADHKSaMKqUrKk65shCHyysFteMhDdfTdE5wsaQ0Tgkr\\ng7ZjzQSXKvzScN5O3DE+C9sLW0kAOLbWO34aTtC0E5MSplVzU0vo6+7BT2svghCJuGLQ7bg0qe3e\\nqYLqRlqJSakgFimWnBHonIS//P1J+Pq7pyYgnpldwETtjvnplVBEQpMcko0OfMMO97WEzz64AZNq\\nJ/zukwfh9i0YZjKpK4SEdBJ89rFmlaYOKhjiuijnVO4sphBz+DFszfeadpNMQW6D4LPdNUz6LiGU\\ngemITz6Z8pTpSml3SPtS2n+mAYgW0xFmJE9gRirkYSiPoOl868ZoeIBW073b18LdidEwPoIJzF6Z\\nnsR3JEzRyIIVio6kVU9hGK+z36tRQHfYD9WUrEBmj1tgWrdCeAksduDAb6xjKpFjZ2sLTd8+CmqY\\n8GOSx8o4qTvoya7ctaSsxnySqOGm+6schgN++hDe4cdSgr3lufmwg+9dCYcXYP6usxFhZGjIhKjC\\n10eEw5fZ5EW02mbnFvHjiI1iNAUH0R69NjZo2rkDgxKIqCXViE+ArtQ+7q0RVGizB6ad0SA+wun2\\nGkze+YVlhM6raAD1oPlDIWEKM9ahkGBCBUEUgxgZdUCmjNbwhgmG//blN+GnZy/xhYxvTEoMDraH\\nTx6Ohf/rT5+ETz+8G+7yfA4O5I357x+tgiX4Hrx/fq1zOt/TYz39VmoI05iOAJbHbgmy/PRqNfy/\\nX06Gb3+YwnTzAYIZYY1ZTZ5XCVhPTmTKGYGs5gubnzhbh3kCKSNBbUnCBOKaU1qgm7R1Zc51aKCd\\nObEFIVEDvsnH8S19H3OpaMBp90ESNF8p6NfAJucDEJxHw/rp05fhm2+fYIp7kXkkZxrdLWzCkX9o\\nCfBlLthMozJAJew7ZOPCDvOMNu/sMu8dHrCJpxCPuXnoLi1MtDFbuLfykzqEyWtpEI+N9DHeJOwZ\\nQGDGvIOW10C/hMVRUC8cFWw+FxWdkIZ1zMt+f2UK2BzkNyaOqzRGMiPO6wjBTAdatx1sHpCAWAIx\\nBMQcEmJVhRQIvW/iZSqxqvDZF+fX0FgCCQs5m0YV1ZQq/7A5hI6KR7PpOc7ySVzC1Dwm99EYDg27\\nbNJYZ4OaTEkjUG5kU0sXm8E6+ngH44oBQfFRET/D+5hm39/kWS0wnx9iqn8o/On3j8LvP70XRnkm\\nW8vC4YR+jnQNSXwOEY7K0mYxCb/kl3cHiWcJDeVWbZRjHpBGajM0jttlVJpDJ9tJxElRDs25al5l\\nZbFBQu0iQlM9x7LaII1ndoZRitYNLwGJoAwccVn+l+9zbVQp8G6SpnSXmbnWBpDhMFzl65UKybwT\\noQhaDIKnQ5q+CpoNCzQ/PX8cvvnxRfjm+5/M8oNyxkZ6WKOMYelilHdUD/OTVYk/emEKUgpfZQi2\\nggSdEiDuM18d8n6xF4YJmJsoA1GboEO+y+bWmYWN8Pfvp5mvvrX5+c9/eBRGmV8VJCRPVtVJW5U2\\nrID9CAkfv7LVEbHQrzZNdHU0sCEKf9dsBBPaWssdgWD0Q1wPXgWyx9SCDu1jkGskuYxQStyoo/dJ\\nHONGDlUqR3RRHdJZcZ0Xf1VKy0W5NNjkXm8UimxWA/axzJKjdY1QfWvnGKshq2gYrxLf553PBgXr\\nr3qbhixoSou00FU6+FLcs+N7SpSurZPU19xDSE52f6UZrnXKOjuxdqRKzJiT1vD18SHGTj/fCcJb\\nIcFLoJKoTvUxU/lKSIonCQlujnx8WZHn6Sp2GqqPjAQIKAgqhz0jPlr8m81LOZxqDDw3O2cUyCiQ\\nUeBfhALJhGmTq0+ImiBr456Wnjw9Xksq1a0tX1tG17Xl/Lpe2SytDgX8W7tO1hsn+Y2/CoDL1Dmr\\nTL302rSLruvhmq7jcT+fV97L6JyOq06969q02nLp/Hpxlc9CRoGMAhkF3kMK+JRXmTxjTOmVvHe2\\n47VLoF+pS45GVfOeKOJWZfzS1E4jorZT1/bBX51UwY5y9iGv8slhDDh1hqMMRhGlxbN28ztznsS3\\nFJL2HQ+HmqJrjEY2S4ynMr38WzyXuw9Mp8DlwYNbQvta9ohgmElT2E8SFIsh1iymHszRal9+NQ2n\\nETIg+iGU04kYYyeytcRWk7BpE6bY1FzA7+90+N//eBn+8d2rsIj53SO0GxsxDdmKJEPM1RKMvX0Y\\nY+trO2EVjct9uJAd8i8H87ULjZ62cRiZjA9peajJcrPE6wfdnwpbzOtgBBpOoLSZ2uFlYh4RP2ql\\nk33MQu5gUrYQttYOwmpzEV+HmNxGECfme6l4CIMT5icMyAa49W0IeLr60Rju7QjXENDcvjkU7twa\\nDXdvjYWbMHXHYaLhGjFg4bjq0TScHfGavPp9yFIvooDush8qK9mphMNtqCq1YWq6Ceb14T4Me5jv\\nu2gRH+4zIEtRQBxhiyFMEJALQuXWVRcWBB9fUvwZ7G8yTZvxkcHwmoGwuzGLoHYH0+QbCCQwd81Y\\nz5smb6ylaVDPizZTyC+mCZMR6soXZTPjTeNJ2mRDmKfupIHI+qQG1W0KpZ7O0iKWWdRWhMA5pDTS\\n7pKQcQnNtDV8Tx7IvjwaxgpxXlD7ledJOOyRhNXl8GzqMPztm9fhb19Nhp+ezoVtzKrLL+74cHf4\\n+MEYAppb4c+f3wr37ozaRoiohEblstComkZqU8EZ0TFXv5VywqY6xBQxghXTIQ1iWSNY3DgOk4tH\\nYYMjanhxFyStEYOfRk4QEsvUpjH4bS6ktrTDOBqgjcZIZxemyNEO7kSjbgAhvJjfY1gBGKWP/ba5\\nI4cwvyfcujkOgxxfp6b2ncJQCAFSJwW7pP0WTK12s+lmfGyMfMwCIwyWeeAu5rouNp/0dndz3WZC\\nac2/EmpovttCxWwLjcpNtAi1OWaPsbqHpvPeQYlNKkeYvS5isvzYfD8vLyNom97Cd+UK5se7wsR4\\nf3h9ew0h8RBzkMzzd9OnPH1D2CWhnchchaihnP38ViiQejDSt0pxye8w7sHmAsYSR4731hFym0PU\\nYA/ZrCTNyeoQb3T8jc+O4Pys4GNHQGydpgStxeLT6a4TJBxuQxO3lecqapbqmSQRBPRo6jUqtxZ6\\n3x4fIomic61dfaFrYCSMjl1Hu7WbtQC6wjuH+CHG9PPBDtfbbMQqhbuYKf7845vhkw8msF4whgap\\ntHMVwEXoWCdrelpOV7nKPCJLKruJIHdfglzmrXbeGZ0Iv7TJRgLICCn2U7Vt8krAeyuad3WYcBEN\\nYgk+ZXGkgPBZcLUCia0aBENTgB2qLA5sIIiTBvEW8702tshkteb6ocFeLAiwIUADoBzUILWT9V2E\\nRJqAQmDB1bqLaT+8nA3h+6cz4YcnU2gRoz28s8281Ip1lhvh4YNbzHe40zDfyRGKKtt7QeDKGCpe\\nuWKqwnXBMQJiNLvVkM21mlPpJ5tYcs2MTzR7i2iDF1Zx5zG3w3vkBVYvGm1ubc9PmBBemx7iy0B9\\nIW5tcq4bVCDSUcVUVe8bWczowsx0W6vco2h5dgxucilRNMG77mEErPqng2D5oVx9V+heqi1b92kT\\nkTZflGmtPIWLEI7txdVnLK2UeLQCroVDY1eCVpw6sDlij2dBAvVp3FGs4lZiBMF9R6vWu/Xbiy1E\\nmCqh4GnxSr+V3hmYSsaZMd1fhq4JhzewmKMNHRrb2tQ00NvFuyv6la4GUA1dV6dxqdSwMaYSVogf\\nm080hymBs4GzzFjJ8iv1PVbdqqf6WfVjiUrM87JzRoGMAhkFMgpAAZ9G09NkvbjSFFT+rPx03kVl\\nDFjNT219ZXtaTdGqy9oyF12fBVf1FLyv8ar69zJlqmtU07g2742vbXnzxrWrK3qnqlN/+1dpvNNx\\nx/y8NM876+ww0ufasspLp50Vdxien67nedk5o0BGgYwC7y0F4sd1unvp6TCd/mvHz3v/J7hRxErp\\nJ/lAjR+2vzzu/zQqWt+8P2rFepwkVGV6odQ5XVbJletyTANCF+WEyss0MvLJ887Z2S9S6aqeYtCI\\niWOXFE2VplSdoHbPK+R42cBVwXJCHWDKFRMjXeqiBuqC+YUSU/1JaKCTuio/w+ZrGBUf+eMUQ+0Q\\n4ZF8Y146OKnKFWIjYuMpCNIuP3PLASHT4/CXfzwNX30/iRbLijHfetCIvH/3OiadhxGm9poA5MXk\\nXJibmQnri6/D8tpe+N9fPkEo0xBGR4bQnmrDvGSzMavEcHXm2/k3OOYaqqCls/h95qsO5p80CZvg\\nIna2dyEMboO52IqwRtqI0jAUw9PrS3jeiLnEZjQ7ZPpxkCP6Y5Ov5BuYkB7GNHYvzNeOPNqrMHRt\\n8a4GIzmIJFEba3aZ/fxsCkTi6tfJLIZqvg3/ljA0deTQBjtAuCZmfRGBioQpXtYGRM09qrk8G0Pd\\nRxUmCJ4OXcrPojYHDA/hR3t8jLE7G9YXpvDpd4Q/v6iVcyD7pgjuYo3IlJai0jbCgpW1Q8xPovGL\\nr8jDPRj6+POduDGM0G8ETSyY71ZLoz/VD9LUvvqucSpNfG32KMG838XcqbTkNpE8H0ptrhwS5LnW\\nrKZDKVikDk+eb4e/Ihj+X18+DS+ezSCoZrMGAlKZTv/00fXwH398GD7Ct/ZNNm3IH3Ij70eboxGy\\nNGhyFm2EUDok15VkxSo4nK6gPB2USyrpSngWtWkjYEI8jzZ17zDNYRYaM/Sd4CIzsTlM3J6cICQo\\nYtYZk6880EabHFKJdrTNJBQZQPAyjL9m+RztxF91H359pU03iBZxfx9p3J+WHKbjkURIAFEWGJVR\\njvj7u8iT25G/P7x/G3PAfeHunfsIig6YWyQ0bkZrGHPVjMluBMVtCI1bmmPfNO0eIHDZYYOMNA+3\\n0XjflWYlG1P2YNAXMD+6zNiZmVszc9gbmOfdp5yY9/O7q2EJk9bPXr4OX32XZ2NCL8KzwfDg7ig+\\n1W+weWUUQRACOMkjNKEpgKzk+DYVJbSNGdnvb40Cuj062L9lWud5TB/nkBYf7TeaH22Nj0PUUPVc\\nJHe3/Nj8U/pi4yVpiQF0oo1m9hdby0mQ3YlAiU1dLfINrElJQQ8I85FFEYJK6JnrZpPVUHe4dxdf\\nwrduh+vXJ8jOhenpxfAC6eb89ErYKyygkbwVro90h//808Pwpz/cNz/s/T2YoDY01HPgGuikLWvF\\nWkpiFRGtoUGqhJtF5kOtfWQRRILubuaBni60+8FbmypObUS0ZgQh1Q6XWivYugcBqdZTG1tsdGMX\\ny/YepqbZpCMT2NrchspoVVWuuIdsyMEE/QpCwT2sBwiPLjbx9CGM62GeaMfZq0hYblVNly+Ic9dL\\nbPQTaZUlauwDmFdI+Ps3r8Jfvvwh/IR56QLWM5qajsz1we8/exQ+/egBVh+06S6Cs2mbulWg7VpQ\\nY7rw1StEc5U2J9jcR1oJlwMNuqfMl/nOZhMiFg9bKIsW9fZKePx81ixraK0kc9x3b98IWMQ3hL1d\\nrtJU1aXh4qlxzRevhJHuvfzg5lmTtTI5a+OgnoN91rG7bLaRdnNeCzGb80QV9cyhWdRSlGo5Mbuc\\nofeZNhdJkzj9/RFLCwOvEOkTK57+VSkboeArAz16LrpY77a0FcLhDviR25TrYN15iA/uLXzXLzPP\\na9NPb2gb7uTdoTe+rGEwwmzCVhunv0QdG509rpIKVq1cN6bFXy8dnw/1RO+irZ1SsmbAwg/rJq0p\\nNA5F67bEnHelvsOrpkOaQl7Cz2rVemCF+BGNbfZSjraaKCN9eM3LnGOfvGeqIUinQ8TidHqWklEg\\no0BGgX8JCqSnRsU1KSp43PPTk6XH65X1tAil8puGl65fm16pUcHhrDSvm87/rcfT9PzZuBqP6WdD\\nOev9+BYA/xNAOAGvCvrn1kvX97jO6bjj5Gm69riXTV97+eycUSCjQEaBfwkK+AQYP6rPWi/8dklR\\nxtg7wvn05/gviL8hVMaq0rDwU7LjWcmpiV1YoKY8jAhvrhxRkYvhRJScGZeclciRnMorUG9UTdUe\\nnqezeIBijNjZMwSMcKnulwupki4UkjNJYuxVUiNgXYtxJaGNgngrYtKZucSYlKqVJLzlkzBxvCJW\\nV2zgjErqSwPqFtKia4Sbe3JwYAy1bUzJibl2ZqhFyJEzPJUpwFGELrIhkwtY1A3PJ1cwb/gsfPfD\\nT2FFTohRIRoe7UKL5Vr4w2f3w82bN9BqGTITe6OjI/ju7A5PGvANOD+Dn+LNMNA9Hz77eB6GWR/C\\n1wGY4zKRS0g4i2q5KpQTKgiWkyiIUU7kRQiBS7vEMWnd2R3u3x7ELCu+DxsP4VVFDRRpo+i5j37p\\npMGFf0+EOjJDK1N742jfyMTr0IA09RqNASrM1JZatkOM44SxV2HukZmFt04Bp7sEtMjgjEndh7am\\nBCr76/JDfICGFuZ7dxEUwwR1S8vxTqVHSAo13cSarKrLqosISfMUwwTNr1wYGBwMfX2YJm5FQwhN\\nuOXVbQ5MmiLUGeqlkMGPbxcsxSJMxEch2vNzmCheWVniUdkLPZ2Yl0azdWSoH+GnuOrJGFNdQ66C\\nhLSopHEvwUyzVA5hjh/B0d9GM1VmVKNPTNVLh1hfzH89/bjkxF/lXPgOf8NTr/Dvu76LydBWTBj3\\nht99did88dnd8DnP7cR4LiBPMVPZqitxtc3S4FDBSEgaosnZ4yqhePqcrkdWGUqkj9dUjrLE95eG\\nYhNazQ3MF3mEUqMjebTUusyPuTTWjhFQyNy0GNCav2UiWsKfLrR3++Tbtx8NPYTu7dIiRmjchXAD\\nmYw9y2LdR91Ni1R+NO+UcYsx9UJBOXIXOjoMnM4h8xctbTsFMdmbEQgjH7HxgRKoCcmUJ62t4lET\\npls7EL7oGELAgcFWfD/Kl+n2LtqU6zthbmHF/LYv4zNZvlMlVFpHWLyFf+kCxwZa4jJR+nphKcww\\n+S6t7XLshQd3iuZztJf+aQjFdxkNC+Hq7gidLPzGKKDxxZ4uNkE0m4nxZgbRHpu7dnjJyhfsLvOJ\\nzWl69kwQJIGlQhyZPj4t6U1/UkDimkmWQthgBjzNGzJprDh7HExY2dySNxP/8qUt880nvHND6QCM\\ndkkvhl58mmpOuYXljXv374cbN26F4ZFONvIgIG3dDyeHy2F9ucTz1IhZ4oHw+Udj4YvP74cPH0zw\\n3LabBinNpcZvCsFyRhzckRaWaHTRNhms0ptfcAlliwf7PIsnvMc7Qn9/J1rMuKEQ981oqXrArgFf\\nhql0yjWgJd3Y2IqwFn+yOHBfKxyGTcwI7x6xcQVYEqNHGNwkguqLXiy/0CDGBQKbeIpcyO+ytDW7\\nMSWex654sx5WC6pRbpW4NUwK9CWqNZfgFaC/llk//rQYvvrmp/D9j0/D8vwCpQ7DtWvd+Iy/Fj7+\\n8Ha4fWucTTC8gwiCFEcMMV1YiG15qzrrHkvZepubLFP4JyWExKSWmGdD0yGC8BK+6RH4s54qlXrw\\nR7wdFqZ30BjfxCXAMtZjJrEK040Vhb7QMtZpm6m0vjorRLzq56oarzqzmJHT7gk2FuxzU7ewslBA\\nOC/TyF3arWOmEyhs8zbFiAquDqem4iKzH0YN3hkyVR3NVXvJpJIqXCGotqpokxFWyFlLstbEv31R\\nnWjg3ZRrB71dxoHm760wNbNiLiW0aQmFbPDUmEnhkIqfQsUSuJv27aY6lXrxTUrSOUHfPHtsTtrB\\ngsUuVn6OeHbb2CSVNwGx1hUSxjsARfzCe6m82K5/WUUM/CrWKWNl1d0cdIQbazOmiXAbKokqS5rS\\n7eBSSVr3+L2TtrP+4lOWxk5PShYyCmQUyCiQUSBFgXrToqbgZLa1kvXiXu+ssuk6qeYujP7S9S5E\\n6J9Q4E37WIWKlqg/N/hN/Llw3lb9Wnxqr9PtpPPOiqfLK+7lLnOuV6Y2rRZmOr9evLa8rrOQUSCj\\nQEaB95ICWh0opM8SipiA2BNjkXfm11c8PsG/HcSdaaeX1JtAFlYJQct0BQ7xRDGjDppqSYXPaK8q\\nWYAcsM7paxVMHVX1qptVlgtdBUXX+lg/q4rKOHMLZQtjdMoMoYK0BMRUgddfVT+2Ect4G/Hqot90\\nzUpZwdChICabmK1ihCFTMTOlrc0nMEgQAuKTMhFPUsphec2zeiio9cNFNa8OMd2OQ49p5SuASkDc\\nCFMt19qGFtouftHEnCqYyUUNAeNb1Ws8naa4AyWuqDErOet+ygzs01c74esfXoUfn06FRXyqnqAl\\nMYIJ1y8+u41w+F74w+8ewbQcQuiL1gLlh/Hl29fTF47xv3kI03tjcSEsLu+hTTSPUHYAIUc3WiHx\\nDuhpanS1GdqzUMYvQcw645l+ljYGph8REIuNNNLfh0/DW+GDB9dpW/4HGxCqUQaJnQmHjRiMRQZj\\njsEo5nE3WkYd+CqWsEXoSNtIYzzSII4MQyX5yYTDTvu3cfZBFwluV8l9V1z8YAn5+nulDYoAEI2d\\nDaSJYmrLjOcagjRp8HZIkqdgjFQqUdkh65zcOitixcoxj5wqbXU0DjRCcTcLI7wrdGJOuLmtPRxg\\nrnFhuRAWFzcQBCOUwARwjrbtWaS8rMQi68NPMX4I8c+9vrLCmDrCF26rbULoR3Nd5qMVNPbjxgNd\\nVWZ4EyLBwG1HVSnP0YSU4xhN2n3MFB8gfKhYCPDOcqaj6qsJFzAtObd4EJ6+mMdP6FI4QMCRa0OQ\\nOtIWHj28Gf7Hn38fPvtoFIE15j0hn4/5iJWhIoRSQZB1iFapNu06adjyU1UsqjoKqlcd9DhKiCIt\\nafk4LeFnuHS4HY4xE93ZgZbzzZ7wewTYMhXdFJjEpbXHPKBnUNYIJECXH+Y2NIklH5EcXWTVofeN\\nxo9aV8uOhWHgCUJAwVCL8XQ5bVBgijB/zCgBMheaaMjmVFVTdTGz02DUtuYRdwEveDJVWzpuRtOx\\nGU3HDsxN9zGGrzN29tFQ1GaDjTAzjyAYk6STaFxKMLy8UjAz/TPzmKzdfI2J2Q1MzM6Gjx9eDx8/\\nkmne21g76A0YY7B7FztKR6xvajULvxUKpO+GD7VGNji4r1tGKuNB/kxllhxhzj7PKtYrmnxg0ZEI\\nIw0p3TuDmiTEMjYM6hWxOTJm6B2vuUJldUg4LKEkcuqAkYSABX3wYhsWUssWXEfk2MBRZEGnzS7H\\nxW0EZEXeuc3h4w8Gwn/8+V54gJb74PAYcyXeWBmX27s8ow29HIOI/MbC0UE3/nIHwgf3Rhm/N9go\\n1mlrwjKu1t86faxJUnkFwxlJJ/KvsMm7YJN1zyFrIPkbH2H9McpmnE7e73pGLVStMVRbs69nQmPm\\njAazyIKVkeY2clpY+6CBuY35ewmIaUt+6WOQdmQMgqR1kvbkaQOPzMsfsyFELhHkWqOdjU2aqzTH\\nxhDbtjh9Fg7xiLlaMuPeNkzNh/Dl1y/Cl988DV9/9zzMzyzg73abfrWHf/vd3fDvf/wgPMTE9PAg\\nAloDrv4kY8WRiyCrfoVrkYLyoys3CbJIcWwLda2VMAN+jMsQ3HUM9feETzEDLr/rx2wIOC7uY0p8\\nD5PF++HLb18zJvII4QdYZ02EYXylS7inIE1d+y5Kjd+Y479CTpjGoCsV1RpN1nA0ox1iil8WG1bX\\nsJiB2e5BNv21SlW9Jng3DYZqCg545HgB6B2h94W0wrVJUALinxvszjnqdiGc8JusdwPNSYP4+Aht\\n3aNmLEUchBdTi2wukl/5/tCNmwy7O2W6OKDTWBnocrLuqzRzEw1o9amcd3ZE3S1i9/wAYXuR9bok\\ntM0scNsQELdq4xlx0a1+8BZEM8dGZ6+hMasb7teVmKeopsYyLq4RVMfnQ9r+GAExYbHiKP2j6cy9\\noU96Z7e0aq5h3tA7FEsi8qKB0Q+oWwnxmXX8KunpmOc6Lum8LJ5RIKNARoH3jAI+1elcO/2lJ+56\\n8XT5s/Idvudf5lyPxLX41bZ9UR3lp2HUK/9Lp/1sfN6GgPiX7nS6PR8c6bTz4pcpny7j8dqzt+Hp\\nfu3neukXpaXza+N+rXO9uLebnTMKZBTIKPDeUoDvNZYZfIjaUVlx/PY7HKdtQz9BVh+p9mFKovY3\\ni2+g3fzl7/QrdspXNKqmuL8ozgSTrmA1lJAwKwyJCoRKLA2tfmq6RFU83V7dqkr0o6pmzUWsLEzF\\nSDRWAT9iPOgj3860JYGIDgljkV/YgbIUwgyZ/cMXG8ylJjQSOtuaQn93PvRik64LoU6zaQRUr/aE\\n+pkoK9P7ZoX0cyoxMiXAR/63lldgMq2inYXW1tHhPsIEtEvQeLk+3mcapO3yUVcFC5BXDI6Sqile\\nF/8rwrTip4CJMVSBbpsJ4GpKgzgndQakLFsIzwr4vtzDJ18RJmWLpPKXCRWwZRLrnsu09BLaw49f\\nLITvfpoNr2dX0ITbR5uyIzy6M4KA+A4C4tvh4Z2BQJLV7eB8BHKr6+OUG0JY0oNgbxvzqg1hfmHT\\nNCsP5LAvwP0hpJq268pN1mW8vypTS+cSAiMxLiUglhnevp4GNF76wmcfjsFQREsYfpzGqQau8S4F\\nJDlMaxHSyP9dmvlEidhOou4QBcJUUr06mCo1C29CgfTdVP14Y5LbY1cauRLcd3dxb3u70U7vMAby\\nFhpF82hgLi6twuTeY05Beqdgc+mphybm1fza7axJ80vP01ljQ4LHPIO6oxPBbhsCvs01Y5LLF/EO\\nWsxigDYyifg44rGD6X6AZugmxxpCi53QN9CFpno3GqnaOIFgRNxQgtrwZzpNEWOW0q783XaggdYE\\nx/RY5uPRItZzfZrZXaktDWYUVcPm9jFmjBEwonkq68zyd9qSa4WhH5nDesdrjizCjHWLqabBQ0d0\\nFg4SPEhQaox3w1cYc+hUDlUX1Q9qOUsig/KFPWO6XdLCbUMK2wrTWrKBI3z1mjnpozbu/QhmltvD\\nvVv4QUUzy14XSTdFPRMECE/FOSrQy4gR0RqGX/1YoJT91y+tVB1eWrA1V8QJhHOd4GWZZqyYzkrT\\nIViinbQY5b5V7ipLnfRzkPdjsQ1t9DZM2A6EmytDCPTXw42ZtTA1uxomOc/Or+LDfQU/xTth8jUa\\n6xtoH2/uUn6HcYAP470bYYJNOX1dvEvBsTz8ra80qsaz8JugQGXrR7xPWDC2Zzq+t3NRg5gNA9ua\\nT1hElTABG0WKProu3w2v4eMv1kyn+viU11TWa/xsIxheYVPL7JI2JBzY9f5hMxus2hFco2HKXzOD\\n7GhPVjuYTw622CwTwhim3R/e6Q9/+PRGuH9v3LQq7ZkBLvs8QsM4G7UaB0JPPm7wmEBQdm2kN4wh\\nHPZ9PY5Z/QGrXD8UqwxqaR6yzDHf7Oto4G+yaUiauy3dmEbGnH8vWpvaPOJBUCq1PbVy1vMTLbLI\\nDQUC4oYW1rKN+HEvhpmlQhiY2wh7+ALvZUNZew5T+NoNp8mRIFxksnkPNwBygSCBZAuSLZmg72L+\\nrqzDKGhriwQbe2jj6NBS5YBkLNBjOSCEH54u4s7jefjmhxdhdnoJE8GHoQ/T+R89HA1//N3D8MmH\\nt8w/OXK0GBLB7InBTJKSLFFOLepQOxLM7e6esEFFmxIk0CaBlbOEw+G4AJ2O2aQzijuEPoTsnWiT\\nY+Kf984B57WFReaoHYTfc7gVecEmHYR6j8bDYC8LP90hkUR9NIG8IxdpH++fsIhBRXXYFEvFJr0E\\nmCiP8F29weYrWVpYZA68NtYVOhBIVwfBiW+VGItzbXxvSUAsixSgAS51NYirgV3qyrpGSdFPGwJk\\nVeL4mNQGjRnaa8TEeRPr2oZ8KKB9Polp9RtjCwjyr7PRDVPtvFD1fFjQPO0bNrwDnudFyFdW8hKz\\n95hdV5VTyulUfZ9J+FrkXaF7JwFzK987ed63bSystOkjNVSAod6lg2BqhtAR4Ud9Xi8X5w/lakzp\\n0DOgQ2sgfQOiuMyGiRJa9VoryVx4iTzuB4WLfDDK9cIRmxMkxG/EnUQb78fWlhNwO2FDYEsYYd00\\n2NeO+wg2WvD9qHHirROtG9KUUPyi8nWBZIkZBTIKZBR4dyigaU5Hesqrjas3Xua8uPIU0mVjSv20\\nemW9bu25XlmHnT57vXTaefGrlj8P1i+eV1ml/uJNX6lBEflNwnn10nnpuLdTL+2sPC/rZy+nczrN\\n436ul+95Onv8vHLKy0JGgYwCGQXePwrYx2qcCH0yNOEwH24V1sK71219vOpDVb7BZIIO1cfQieRo\\nCMaWfDBdPaQ/P69eO3KbtYqTBoJT+rJwLtm2ffVfFXbEIbYQ6yruH/+4KjNm3Pb2SdhJzLvKjLEY\\nJPIXVuSjfw9JiUyubuGvbXtH5hJ3EVRuwnxCI6GhyEd+a7hzbTDcw5fiI3zWDqCW9UYamVVdq2hf\\nCF8d8CDCEuZVX06th2++fRKev5jBF+g6GrY7CA0Pw+0bveGPv38QPnp0Bx+P12F0llk2kQhX/BU6\\nkW7VC4krgrlccRoywXBS2hhuMNWamuGswFiTz7ZtVEP2EOJKkNSMZKKaCXR+M2J0OnzRERkXQuFC\\nePJsOjx/NRt20TbJw/l9eHsk/OGT2+GPmIp8cAetIXh3ooPGi2sI6Er3t7EJf8MIpo5h1BXgRBcQ\\neIgJ7kHmvs+nXGSgqrzorEN4HvMjv6TSIm5G+IUVYphJ+CTtywV4wwGFp3hfQMqHjPdNMJRYfe8i\\ndGvNK5RLlBNUMwtvlQLxRqQprLhGBbxn0w6V+WCZ6pRZ8t2dTRivC+E1xybCstGhLhOQ2UA34Zie\\nigjzcmhSNs2sjbXtzqu+tELzcC6lCSbT5AWkO/uo2Ek4rPMR5hJO4i4TG28a2lv4mt1E02oHM5nS\\n8B8fGwoTN6+FsbERTLLiJ1udi6OTuVG9rQRlSe4gZmk3zHkdEu4eHWAmEoavfC/b+PUqqp4M7DIk\\nCogpfoQjwpKYwzwD0mqTOdFZnIl/9e1jNs4sodWMWWaEKE2Yx8whgZXZSZm0lhA5z3uyE62njjym\\nVXm+9boUbtgs8JZrzjRahVhNNpfCz9DlLBrIhHi8tzCssexwAL0O4SqvrhyHjfVuBNub0KLNhEnI\\nmwy8mnA4fq40q3tvsxClFBgJom8NjWNe8usIpRI1B8R1j2YxhTimVLSChZewRFrSO13mehEc6EBN\\nb5++5Gi7G0G/NKFife4v+RKgiabSNu7v78Y0b3d4+GAC7fRD/FeuMt/Omc/RqdfzCIrXWL/shp/Y\\nqLOxuc7miMUwPXM7/PsXH4eHd8fR4GvHX7r6CWB7Bjj/C4bKRoDY+TdaX7xFutntsBFRGT8a91KG\\nlOZ8s1TleP/tMY9ozbSH+fzoXxzho4UIoTJyLkbudA2NSA57BvBzG6/sLKEOew7QdNzFv+xM+Pox\\n5ujZoLCFFnNzSw++vSdCqYhpfwSDjZhubmCeCFgykBZxDgHp8GAHmuz9bH7pCbx6TQvZ4ev9i+eG\\n0NPRz0aGXobmiW0S1MatZmB5qF0HV3K81wn+GtyKclIftQaQZRj58V5ZXg3rmGUvoS3Zwnojz8PW\\nylGldJrU9Xb9rGQFy0Yo3NjYxtHOvNzOXHsSVtiY8RhLDAeYr+5pK4VROnr7Wh++6YdDJ5t9tAHE\\n6tNxCYY1z8pkcwumh3vZ1NTDwqQ19a0RP7WgBvcdo8SxMr/S6kVhNjx/XQz/jebwV2gN//D4eVjA\\nCsUB83YPWrRffHIt/I8v7iEg/pDNcGPWzwiAynZ/hUxEKPZLvxp7lSC6Sbipz6Et3p/ylV7SDk8E\\nxNrMeYKQ+ORIdNwH/1wYv6Y7dId37EnYZnPUHuvLXbR6X06vh///rz9YnU5M3ksrtQMT/1EvVeNE\\nMGk5NfcKj4hXBR+PmQUO7l1DYzP3NsfGhIPwamo2TFzvwXXIUOhnkRn7kUARoBrYtpHJni9mYuZD\\nf/7L37I/c27U3VK3pLVe2JTLBwTn+jjSdg4NtkbGT5Bv8S42zG6Fydm1MD65gIWIlTCEcH+wr9M2\\nXsU+V1Mi9i3mVP/Gd5H1AfzjubpEnPPJS+ghyOpqiZutdcAx7hnkE1vawx2sYTpYXEhYXCZfGRVh\\nYSvg8lnvtArdK1haG5TSSp7PPgTiehaLvJ+wZIQpgvUN3uNrO2yS22ajmjT8+S7h21A+r+UfWeuY\\nYz4WJMBXaGzE9zWuYXL4125uPkKDvS3cYYPCB/evYZb+DlrYg6wFGV+Ggn6S8ZVgZ0Cyn4wCGQUy\\nCvxrUsAnZ5/NdZ2Oiyq6vqicl0nX9bhgKDhsP8fUSrpfp8+1ZZWXTkvH0/Vqy9XmnXd9Hszz6v2i\\neW/Cif5FEaQxEfKy4Spl3xbM2jb9Wud03Ns7K83TVa427tc6+1FbTtdZyCiQUSCjwHtLAfu45Eem\\nn7S7V8Emx/IX5T+j67VrEG/Dp2W/Pv/sUHTWJ+Tm1hGM1rmwtLgEs3wPH5A9mNd8AIOnz5g7Zeiq\\nUL6o10aErCLeRvyUPrdSGabqVI5o3k8+C8WskSaEzscwZk4QYudgxkj7Qf4U8wgfpMnljDTBON1i\\nJVUxBZ3Vf90+aZVF/4hxh7fv8jYtYBUiPzIUED6QeIJKma6PT2RWMAp/ZTpvHUH7xsaWmdGLAhJM\\nngLssFhCEA/DBAanhMQ676Pdd3C4hWk6tIhP0PTrag7TfPDvFu6ZtkE39sNMgEnzaZrSbJ3+1U9M\\nULe+ik0jZsUyQs2fXmyieTEZ/vrlc/xwToe1tW0EDzswIHbQzOoyxoSEKt34rc1jAi7Sl8oKZyIQ\\ns+v9nr4fXkrAasPZpatKVhWLcNLQFBdDSALWJvluk+AKgf0eQmJpmMkMrZhJziQ7v2NiQiFaoU3R\\nVAGrl2i1FY1JNzkFDXl+5HtwBF+9Hz0YN1Ont64PhwF8hgpV1dNZ1gq30YLZ2FhHILwJIxIThjCo\\njhiE2jSwC2eyKBUMC1WdTNLSp/iEWV9J1lnmy1HUoa+lcMiglmZEc64Es7QBrZZobtY06ihr0Cs8\\n2HidgC/DVAQokQLUOTXHXYRjAjA7/UwKxHHk1NZtg+VqgtJeGPG9mGZuRZq2v3WCb8ZNxuYa2mPS\\npkTYov0Ral0/up8ORGmXDrGSRlw84sCREn4X46qH+aoDzRsxnjV+95nnisx9R5pgZSOZwNA3xvvq\\nmsxgow14iL/als7Q0zsI/kNoY/XCmKV4FX4RaVMmIqorfTBKkNKLdnQfhwRJuPQ0Rr6EEHqua4OD\\n9Lo9Hfj8HGoPg0P5sMAmHWnX7SCEmpoTg3af53qe+U+aujD3eWCamQSb6axpGWEjtgN7qr1owHUj\\nRNa5HYTke7cF05StLRLAcG/AUbKPKJvUXJSQ3vDzG1HB1XEU7mbCmY0cPeDQ0yWtJkzt4oP4kPli\\nE9oVNqL2tVST1CcdglSBxkUqREaz5gPNebqHCukW0/FUxdpiSZZGo6DpRRjbjRte4owUK1VwUWoU\\nDiNbC0sbJzDF18LywiwalCfh1o0xhG1o4yEVluBMQSfRQILjTg65spZAbWQAwdvAWBgbbMOEb0t4\\nNtSB//c5M1deWF1GwL+O1p98cB+ZMOWQsSgm+vBgd3Iv4nMkvGsGmrX7Pv+cnrt/G73VyPNDGo7I\\nORB25GyNJ8GSTOXvsgDc515qU0dV0BCksurXD8rxkahzcv+tsK45ksqCrPe0Dl7v5md4djGEbx/P\\nhr9/+zx89eNz20BSZLNfvgf/2XclTBqg/JFp+IdGPRFRqKNnLM4FMvPOZEDQLGjTIe3pedXc2aFI\\ne9xWkgx9YPC8sM60zWE1HUv3hppJiIW8l7rS2hWZbdjZYj26uRn2WXScsGFMa+ccD5Y29jTapCoQ\\nqqlee2P+TKcoR5a0PxubEOI1dSOwwnUF62D5k3/+YiWsocmaO94IE/hHL2E5RQLyNjbvyC2FQeen\\nhCnfEjg0cLShYt2HgLiX94ZrEMv4skzV68PDMfL1DC7rEbpuh++eTIX//vtjfA+/DCvz8wjo90P/\\nQAfm5UfDv//hEdrad5lPsM7CXCIYOmKvvG8kJGnKSweV0LTA8hChvzQ893mPHYAzm1s0z/HtIXMT\\nDbSZO9lnE8txYFoJLTfBuzjOfDZhG21fvJhDsLwdfni+gNAxh+uCQTYp5sFrxDbnNbImLWNTQVCt\\n22F41CLGO1TC4YamVo42NjuehOm5lTAtNw34dR7F1UALGx5tQ5U6YbAiEMHToc0X2uikzRcyM60x\\nah22vsW4akbc4m+EUP/X3yKqo6AaGnfsNUW4rjmYdTbPrm2eUONs1pTmea6lg3KHYQWt9skZNvtM\\nzmOxqId3KNrkmEAvhwoy5aRyhGLxSVb5WEfF1XXHJ8b8ys/pVI1zaexqZYIfcF7Weo+3ISAWLU+t\\nQ0gQFD/okD01utbTo+9IfTtqzSXXPQwfrB4gHMYcuCyqLLEuW0UgvIpwWFabVtc5b6B1voF1BDaH\\nHrJw1wYK0VCS9riO0VMhPNmgwJgLDYfcx6PQ1dUQpqfyYWNtnfdkxODm9VHbZEJtwzFFSSVZqJfm\\nedk5o0BGgYwC7yEFfNrzs7qoSdOvFVfQdTqutPS116mX5mXTMJRWe620dLgoP132svGrwLxK2cu2\\n/1bLaYn8rxJ0My4K55XxvNqzw/R0XdeLn5VWm+7XOnvcYZ53rTJZyCiQUSCjwPtDAT4MfdLTysA+\\nQuH0mGku+xjXJOmfq5T0wm+FAr4WOQuYr1k8Pylfmyy8vUgS18Z47WD+y98eh+9/+BEzbZvhQ3yl\\n9ff1wPjuMgadmNuxJrWNE1fbuTTU2EBtiZjqv+nysaR9D1daMTxlTk4aA0vLJZggy5xXwvbWGh/z\\nMGZglsv34oM719HO6A+9HfiAc+6aN1M+q73YZvzUjhliCcC7QLMXZgbaAtK2kLmvwvYOQnOYG0il\\nDzH1e8QXf9R8kPZD8gHPR7zSJNQ7gJskoWOB3fISEKuu/IAqTWakJUAWneMhc27yW6ePfxjYiY9Y\\n+eWaazwI069ewGHYQcA4gdk4mEowR93XnijllPPz2XQWQ0HMtvKdM/N88pv3Ymo//H///RP+256H\\nF+ze31oXK7QdBdsmBDvHYXoBDYm/PTHmxMgwWiCosfUjoBBjqQLt7JYpVBMc23Qyafaf5AHOn57Y\\nxmXhq34CQz1OODqVVOCIKQVjTUKqI25C0bQMk80daZTKcGrbjtCMaUt50VSMZJRE0GRbCM9eTIW5\\n+UUzlSsBx53rA+HTD25iWnIM7SC0DykrprGM5wmyeFFLmKqcnHqJluc02m/LmI7dD0cIueQ/9RAt\\nn1NMcOrZpGP9c/x0jwUb9hHpwksHexFsPBfQ4DyEmS6tpmbM00lInIOB7Ro9kW4Oi4rpAOCqHLvg\\nJ5nrYlEvISw8ngaSxd+cAqKn6KpQoa1ifqWzpjwUkzBV3oUGTm/oRlBcWG3G/CSm47HFucmcJLOe\\neZlLPHN+BMhFwcadRppCfBIETuNNgoZu/Gr2YSKyE6GpmM/y2WjCYebHErsq1BOVPSSChfewsLQV\\nFlb2yEOo2obgDv+/uRY0oGRbthy8t04HMogKFT1T0iCWOer+nm5o0Bq2wc41giq0KwOLSarLgVwC\\n05bt4dMPbzLPa8MIvsPRZtqBbjtbm2FhbgmtZAmEEfRybqVPOV4wEn7LX2Yrm5OkadTd2Y7wNmrB\\ndaJGnEcY0NWF4ANaDCE5GB/pM6199xVYvgXqmi0i1CHhaAl29pjeZ/Lp2YOFcPln7mIuWW/CGgUb\\nSHYQ/O8U1sOBNpcwXzRIWg5hIiNZ0AyoACcB6sNEPp3u+Vc9RywNXtJu7EO9tuP99xYYkuHZq9Xw\\n3Q8/hcfff4WQ5ST8558+wyTsffwqo/VHV3THbapJuqFr0U5itn7uHfvCEBb3hZtoKt5DQ/iHp9MI\\njF6FJ0+aw9LCMmPsKHz/bJl3+j9s3bC3/wkbdm7xTu3HFCtALECT8nqmll5e5v0/+2YKf3f+sj2O\\nc0l8k8WWbdwjJNLmDG040XxSQuJyyNqkyMvNN3b5eNPYiKPxNOZ+V71MLKErhfRZYqKczVGap3Sw\\nvwDTyTJlvBT++o9X4esfpsLSKn58yThhftPaXxNRkzYocuDJgoBwmEP7YbSJcAet9m0EtPts/ML5\\nsOGpTQ+Ol2qkg+Np+ZqwzyhYnayrNAUTegBMG3Xk8kLHkaTFrDkbWQ80CkcOs51vouqk14mkXXgo\\nRWfHyTS78SHb3IyveY7GHFrTmAzexVTwq8n18Op4PWyvT4b71/MIQU9CX39/GBy/jqYtQAQHgKXj\\nIgrWrDfZENcGIfqYGDV/avONleHn2OaT2K7WWSjKIgjVpsbl8Pdv+E558tI2hGzgnuD4cDcMD3eG\\nLz69E/7t8wfhz198FO5NIIRl849CNZ1iSqSWZSf5mp/U20p5rdHk5UOWXIp8JJycaNJgrMrXAILN\\nBsyIN7JVClzwAABAAElEQVSpqAGfxK0IzHn1huOb7aHw+UN730kw+HpqBsHgVvjhxRIuGB6zyQHR\\nN8Ld5pu9Qe52m5IXsm1SLGMqaivouYg00PvOimIB50R2+NHCbWpGexs8FrB7Pot/9uXV1XB9u5/3\\nIfclGTeC69AESxQx89KA0DtM7zNrIxFE+jxAsRjKCHhC/XPEVIVjQDkcAbEsKWmTmL6TGG9sSrAX\\nN1hoLd7EpjB2ZLFm3uIZ22IDxiTjoB3f2MNsNmMTAqDiu4p66kQFfFWftIEiHtxDIxQFdU6CvUO8\\n6QSIwHnQnGfvTDR1tYJuY7DmWVBJo10bG+IoorRA8myorh8OQyNHX1B87tk3ZIFv1tV1NkAtF8IC\\nm/SWuUfrCIdXJRBe20XzG2Ewz8w+H7jHbDw4LuHYCd8KJydo5ssKQfK8xJaAbmOOeYVnpqTvRexv\\nNGBxapcNvY+f4WJhp0Cevhn2MdfeGTpGeww1Q5lYhRqWnPxUUSGdkcUzCmQUyCjwvlFA06BPieqb\\nT4s+Eaav0/HasrUwVL9emtdz+OlrL+9n5dWG8/K87GXKeNl3+pzmCrxrHdFNOi+cl5/OS8cdXr00\\nz0ufa8vVXqfLKq58L+Pn2nS/1lkhXSd9na5vBbOfjAIZBTIKvM8U0IenCYdhEhmjyJcJ9pFKz9PL\\ngrdNCPvqTQG1D+LaBpmWbWauTY+oKUs50po1X1Az6zDAZmA6LxgT54vfL8JMHcbUdB+ML5/iE1h2\\ncvgpPC6KWj39JHBU3kBHVoA+tOEthH14MLibY3c5TJaZLYRwy+Hl5DJ+NRcxw7WMxi1mfFtL4RbM\\n4R0EscXDm6Hl1kjohuvikHV2rGN7lRRvRwK+ucWS+aFcKxzZh/sG27038Tm2TuYOXJ4DtFaOzEeV\\nhMOYIzXNU5geOsNFEvNDgpADGHF7bBmXGcRDzCGKkVnSdnKwaJCJY0ySyk9mI4yZZpyiydxlg4R1\\nmAw7oj+HOzB/MLl2XIKRJx4UNSPjhUgqqE/eRyVXepUqlESVp0OwxGgTTSfnSuH7p3Ph7z/Mhh+f\\nrqBVgjHvxp7QCbO9Ee20nc1mGKDQ+/U6pltnwicfzIYRuF+d+SEEQWKSgYGPvwqBSb9scOw5U78C\\nwmPK9/hlYaqcw411dGWHPY9wXMS9lYCY51VC/fTGjkqNGLvoV2N0F6LKJ+Hk9GJ49XouFNCEkBna\\na5iSvMdYvDsxjH9QNCIkt6G8GIsntC+cJKCSCUkJk3p78R+Gz8EiZviGMDE+jqlJMVZbMJl7cYh0\\nKveVCsJNApjFlRMOtJOlxoBgKIePaxcQi/8U9fM1MoBhjC/DMqG80shSbmxCMQ4llhOIZ+GfS4H6\\ntI5sSt2JOG8ytSCQbAuDg/1o4vaEhRZ8tyIQkJaK/Pxubm4xN6JdxDwUwwX3Mbn3VvYUCpqV5ADA\\nWeoIiOGioigGc7oDDdAo0DmGu26mEnnBSI6iYSOw2pCzjW/HpZXdsIYWLGJee7/swiyVm4PpmQU0\\nYEbCUF8zQkA31hwrCxV/vaon0sztxKx1J/6P22DqyoSx5mj5EzQtYma+iH789fGrunmSIJdthiri\\nI/EYk53PMXW6iYl4uQg4kNAY4cA+TO6CmZ+kgrR0eI6ldaV3Yk7axGgS59Ha7sy3Y1oes9OYge5i\\nM01/f6eZlb1lPkXxrYyG2wD+OXsQHufplwmJDC3BVMc4Emw9Jua0NJA7QLYLqaZMWTehOVSCESx/\\nm/LdLLPaum7AkoU58WWmFy++wmXWhQ4FP8erdHsxxfMNGS90zjmOv1jA6zgMpcZ8T9FZQwELrOH1\\n3G74/qel8Ld/vAzdrcdocg/YcYM1hyRKGmMN0tazkSZKcHeTJsysOq+iToQycq/d1T0Q2jGvLl+g\\nba358FP7a3ySYgYYQf+Pz5cYc4fcJ96v0KaJ9+81Npa1mjlgAIKUCWgMtveB5t7DoGdC2tQlhCHS\\nys3pMC05qM07PdLh16FBZU6L8wn7LkxwKCsqrewEkY/XXTa6yLqGNt7Z2sq5RhpYZ6DtYy8WqFzF\\nNQzX5XoRA62T9hikWwh75tAc/vEnrYunww+M1bkZNmMwnzViGrmppzkMjA+H62jstbf0gk+BeYMF\\npQnCVEY0PWYMFph/eQ+TVxqOAmKtArzZiJFfpQado6pznexUyVTUqZgkUdc2McqKA/OxtHf50SwJ\\nSHBsYBzIJHYSEnklV/5cx4ZFEz2Jem5ldnn/QD2QJjEuULR+PdwLG/sF26yyu7oRevOshZk7jzWm\\nEthaMsoc9RHC4RJWgBp5tvOav9kNkmeSk+DSg6y02H2gUZnl5ZVga9Vvf3wV/oEW9xRmlfewYSwB\\n5/jocPjkwShmpR+amd37rL0Gu/294RD1mFeIqJhfxXTHMilvuNJn7rXcw8htQeD9EK0uaH4thibW\\n6U2lvdCEgFjzkebzYd4nD++NIihsZG1YCgfHTWw6mkJ4uxe+erLAmGhlA5fGwM1wc7yLdzKbtoRL\\neZElPPxIcElSVNA2TyFcbUR7WEvxEqrVhe2CfavILYne+T2aEAW0HAQvJujXBMS8AGXhQkJi3XNZ\\nwIpWkTQHlCvGSBlWOVJTwC8r+SIXqCAchnYIxU+47yesPwW8QRteW7CMxPu6WOS9W8TiErg/fbnA\\n+7gr3L09gcWMm9CG96t2JGgkCKlKNyLNyLEWoZ3RzwavNoixgYRvMp3LXXHUdC4nUp/rmCX4GnFa\\nI7MZzGjDGPJ65FhIrvXEyNy5NmKy/9f8kbPE4j5wrLPu4n4vL++wCQ4rLvOrYQXz0QU2DReYVGTV\\noohT82N8SNND6M+6hXGRY05p1PqMLsenWPiLZjrYoKAnEKFwA+sl7LNYXDD2tjf4Ri6wqeol66/2\\n8MGjh2aqW2uj6NJB9xS6l8dY0pfslFEgo0BGgX8tCqRndH8TeFr6Oh0XhdLXitfWqUdFlfF6yq+9\\nrlfnrHLpuul4LYzz8s6CXQvjN3ntS/3fJHLnIKUbcpVwmfL1ynjaWWfHwfN17XGd03Eve1YZT0/X\\n8Xg6rzYtDTeLZxTIKJBR4P2kAK99fbO6tlL8GI1rgfSk+PY6L6jJWsNO+oRMtSdkqj4A01ik6pZf\\nAxGaIJg5LL49j45zaMI2IXA9gnlfQGN3PtzCF24v6kstMs+bqnv1fqkl8HC0pKVgPVA/4uewUvTh\\nzbez+cd9PoVfV8y0/fB4Cl+5S/gd3MZc6hYM8U2OAoymzfBsuCNsbSyZ1vOANKzaYS6nQmxVvwp+\\nju1ot/f03F74n//1DYzq2bC8jm8otI5kBlrMrV2OI5hDJbgdJzAcjIFiZ13r4KMdRqsxPdQLdQAm\\nhcxoShjZgjA4h1abTL52dnaFnp4eBAeYYEWI0IpPX5n4k0C2hCbC3s46PiVhIMFsGu5twrz3TT7y\\nB9FSw19X1X21jlzqR731Q6wPumv+cr97/BLN4afhJf5y92DM5FoxkzowEG5N3DDt0vlZhDcLmC9F\\nuDi/VAjPX86E66P9UdiJqVUFwfVbaQkX/qRLx/utKulUBxHvkkbFm4cIw+84kERD7o00DcrPrRe6\\nZEN63ryKmEPSxF5Y3g1TM4umwXGwu839bcEX3JhptY9hC7WLey2hcQoTg4EMDT/PnTx7d0Iz5uKk\\ncbzLxoL+7pbw4d2h8CGmEnukNpgKxuRJXTsy9igl6brPMt+6vhEQWiPkn8IHLYwp9dkZgzqL8RXv\\ngveo9l4ovZYwulbFSh1r1i9ri1tm9vO2KVB5evSMRKLLTGk/pneH4VD39/WGFoSVOxtoECMgnp1f\\nxh/rEGZ5ZcZTolF/fpN7fMX7pxaTmta6ruEzI6iVQEfzm0wz8h7ZPbZNM0UEtlFQIJEE8xC8TVlq\\nWMdvZUGbU3KdwGuEmbqNyftXvIiw3rB2HY2wW/juHMAMqTSfk1YZyOpz7HVsV76AzRwkPsbFQD+U\\nX1sJdmlIjH0JwWINYU19HhhNB2I9d+Pb9sEdtBQ7MenPHPh6ZoV3HyYgZQUC85gbbBKS/85thDuy\\nJHEs4ZrN+3Hu17thjw1Ku9iaXz2BQwzcBhjhTQh1JZDs5Z00ip/A6yPd9ozfu41v+Xs3wvWxAfJ4\\nP5getPASZRQq/XMaS/jOawCLGfgNxe5uI7TQu0gCMvNRCA7yjxlpoloeHELypFuWEIwUjOW9rM7p\\nuun0q8YTyN58Ul2X6qUOCQ9W1g6YP2VxAzPkrUXG6DpuDtDO1A6CDo1T1Yi1BFFWNEQdEdlzdA8x\\nJIKZaejT3oaJ0ntsLOhjU9tg+GvL0/Dq5WTYQ1tL/oqPS9+wttnmvSsfjbfD+JDMTQOB+azsIuQ0\\nUWjh/Qh6fxRQbZucnIQOO5hH72ATQ38YHR1lncGzI/rqRfErBJFdTeu5VNA7CqXS0N/bgdCjy3yb\\nbyF92WLD3jqSmAImCIpHfWwG0DihUu07yaDEn1O3NNVFjSfNPQqGA2emp4C3DfzcHiOUnA1ff/M8\\nPP5pJiwsrJoG7gkbNDqYOG7cHUMY8yD87qMPwB2B6ZE2ia0hvIv90OaREoIdmf5dXcMyAWOviHBU\\nppTjfBSf+Qp+HtPZ40QVUjjbdVV2baaVKP+IrhrfWqqW2AiDpI5nkHVcA+aXG9BabJROvoJoqaM6\\nCLqsPuAeNSwuBzZpbvHs7iHgwqcsvoitL/TzGGFoA/Dae/vCyAibPcZGMfvcz/MWhb0spW0jpTYo\\naAOPtFxbmLNzbGZqwtT0iSy8ENSe1jG4Wkc7FksDL9cRzs/xbniNEHEmLM3PmSC6hQd/Avcdf/78\\nVvjDJ7fC5x9M2Puii000VeQR0HOCRkBc2VXWd4YDt0ebATTHRlPf8b6qvN5kTQjumhAqNiK4k7to\\nvaLwsgAO1DsZ5huC9T3vnv8+3AnLc3O833bCV49nrO4OmwbCHx+FOzeHzVqCU738/KU6IFw8NLDB\\nsImXSxN0a8QizAna2NJALUJcs9bBuzb9CHtdgYujDTwZ7rxSeadgyh8pot6ZJcbEId9/xVIO2uPf\\nmPJ6KiTAvCg49WKNWJpXEvjwLYfGv1tKOsbqU0OO9zF45/HH3Icw+OiIrQrF1XDAhqyp+c3Q93w+\\n3L01zbOfZ5MllotsaGozQqR5vEPx6VFLNmeApeYurRF0Lf/kRW3oBQn1X3NKrMFVrMB1bVBJ2iBD\\nZrebdADPyyk3Aosn3lCB5YFZt1peOQhzCIKncWswu4DlEZ6PNdxnyBKVvqVlYluWD/TsnZR0p/Vd\\nyPefJLiiL/dU99VMh9OirEppA49cztg3JpsRtKlDPru14aSBDSi6hw3sEGhEizyvXVJ8Y8zMr5mr\\nm8WlVcbgkK09tFYoByNG+aomcm5mTdnsMqNARoGMAu8cBVKTYXlqVydseufs+enJ8Kw8T1d91aut\\n42npfMUVPO+scywVf71MOq02fpky6TpXLZ+u+6vFL16J/HNRE9HeVrgsrIvKXZRfi6+X9/Nl89Pl\\nFa+9dji1eUqvl+bls3NGgYwCGQXeSwqYubRkt7IxGFkiSJinD9W4o9m7rbVDev3g6Vc9x2nZBUKV\\nz1fBEfx0uFx7KgXviENfnGLQwCRgx/fm5nZYhBu0ggm3O7cmokO4NPj0G8LSlSBo54WYb0w5ituZ\\n4mJGiCGkndgFBAfLa8GEW989mYQxNBWePHuNb+R1hLXU5wM511zkA1mCVfxX4oNLGhq7COeOZLoO\\nOGnU0nGyLNcxlWB8E4Hzi1dT4evvniGUlik+sLFd62IDVUKF/yh2Isx4PtKb4Ao1I+SVzyo7MDna\\njEBYzK5GfI01cs5xNKMJ2taWt6O7Kx8GpDHa24owBUEKpjXlP20XP7Trq73wOQ8wVdeK8HCI3fQ9\\naJmKmXj1INydvoqLwYebKzQx9sLjp5jhfPosbKygHkNvhqXxencwfPToBuP2JDxtxR9yER+Oqwto\\n+MG4eb0QZtCG3Xp0EwEmXFuCCWxiI9UEt9yzf1RF99vvucV188kQU9gOLissPtVQOI8KXiaW9N9K\\nqurqaYlnMeHSRwW28iu1HI7ORksePH/2xOyUtsACTvHmeU421lehHfeuH0HQxGiYmBhDM7jLtEpi\\nXf2K5RaD+NoSajQGTA023Q73rvegbXGIhmDOtOKvjYopjm3ZJJQZh3Zdi2Mcq0qVrz75O1tGe3jq\\n9SramOthfwdkYQBKO6GRsV3xaRjpUem/t5acK4OehFra6DoJqagnZed/NgXi0+2khw/NJhQJibtg\\nyveiUdmNgBjz0miszMNlX8YUw8Ehvulkr/gyofZ219SpzRbbU2aB2xFg5pkPmxC8ickp0/sHCEXk\\nBxt9NRtFkv/J/ObWDtpZ+2jpNHby/mmAoXqAL8LNUNwrmNnO0UGZHmX+RCM6ahIJicgqVkw4iKHb\\nhAQiZ4IGTOQj7NjnIdjZKyKEPoBJjzAHQYKb6HcGsZ5EPS9t1McVYmi7Bv3aMFeMIHcNgc46amsF\\nrEjIl/wq/v0KaBXvyd2AtOJwMRA1lOWnGOsRtCfToTvkyYKE3BJIECTtqcJGCVPVPIvTeYTP/bbh\\nRvdkE1MOtxEODPYhtOcdkoNBHGdFYaVDvYu/yhFDX34R2xG+yxKF1Mc0dx7AYN/F3EZkxOvVFXsW\\nIWhe8Lkhzl1KV/Cz4nrMRUfdndiqt67ctx+Et969e9BHDPQi7/A9mOLyvyiLHaJpDGAjxAyreBaG\\nVbiTq1WL3htYJQ157mM+N2AmwY9ZDzTniuHly72wtbbCex7hHUKogT7l6519Cz/GPDTqt9pRE+9x\\n0JhdWVkJX375Je4NlhDijYT79+/znpLPbxcS/noE8DstDMQMkgnxbuYrmR9ub+/gvjdhLh+Turxz\\nV3gm9w6GECTxLNgo1+3TuEnfxHScLAv+POgiPhOqpYMhaZqAy9pcNbMbvn3yOnz/eDL8+Ph5WJxf\\nQZB1HDp6mhBsdYQJhFcffngrPHwwwfo4xwaRk7A830W5fFjE1LTGrQRvR8yB68wdaywWthHKa5OJ\\naW0iHDVcE4FVBe96OFO0KvAE6CGwZ8OfBj9XCipFh+bW4//D3nt2V3KcCZoB7z1QqEJ5SydRUqu7\\np2dnz+6e/QPzg3f27Jc5c2Z6Vt0yJEUWyfIACt57N8/zxo17E7eAqiJFtUj2DSBvZIaPNyPDvJb9\\nvURAZjoIS4PpuG0w7Z30o0K7j6s9wScT/fe7ZKrGBAdzC3QpmSiZShPacdHmcwajxW56/O1riGDM\\n03ByhkSrrIf2l4+wf2AoXRu7lz766Eq6efMmsBoL5iFhWwiG+8yVh0iOnnne6KBmVFaf0iYZGHUo\\nbMhmZTwHwOD2xy++TZ9/+Tx99c1sWl9BpRB75DHsjrtH1ozHP/3mw/Txw5vp9nVM4rzH8nYewhlK\\njh2lNUucr8VpSG0zoYkC35ETIDeVG0Eu/4Sqb9PL0ThKtzAznA4+nGKtQL34xkL6E8TR9dWtIK7/\\n69lLS4ApaYj30gXj5RgSs8xjBMbeLEZjnrltXd2ZiQa4j+tgbLVznbBu0DTWI5mF6IGHubozg+Xk\\nMR/ZCVF7jbRJmY160X7Rhp3o06NezM/AVHbcmzb2OxN8O+wbUWV8vBdzaT8cSgOsP11OtG+4UrK1\\n5bOca7zS5jushRI6fWe28xQCtGZshmD6uHFrCKIn582jsbQ4t4Ua9oP07av19IcvnsNkJlNtH4yp\\nQ1nNs+tjTcJXSFtP6Wn26WV8U44ztTkh1c58Jzwk9AK4WquLX3u0nDgP6Jd0+b2WFPW6iAbEwcCM\\nlvn0YvYILRhrQZjV5v1LCLQyTyzByLy7Rd0wUARDhm+AtvmtqEkqpNBj0QUgfHWOtag7zuDWxsen\\nZD+mJBBPJz3puPQ7YPBTW4lmh3zfR2hdOdzt5jqFEWWDfd5qMFGHJDnMqo1+l960/BYEWhBoQeDf\\nLQTKAuBEW1xzmM8l/m1x5i9pi1/KLH4JL34Jf5f/rvTvii/lv2+6kv4y33J0BS756d/w929JIC6d\\n/yG621xW8/NldZR0xa+mK2HNfklTwsuzfgkrfokrz/rlvpq+mq7EX5T2orCSt+W3INCCQAsCP0sI\\nlEnRg12oqQUJpC+SMRNhCiEmp3y/FbU5Vanl4hW5EVtAXEIopxRVgkqS8DOC3STV6HbsWknM7EDV\\n1Sn2kHZ2D9Pa6nraRFrDg/Y5V834RkSp/FwED5n3u4Gwzs00tcdkbb0trIAQerGd/oR9sS8fKy0w\\nh/TbMhLC2FcC2P2ojxyDuDqFRFZPF6rLkCIeG+5MHyCVNTNzlYOz0gxvcU2d9jHeITfarmoH+dEN\\nga6XcnpQedcFEll1YyLdJfyLZxDZ0AWGpa8bpBoIFhGYqvWS8Ktq1W4QLoH0ws6YkhmqLt2TWIGR\\n4y0IDmQBQd0OMmsQ6QHUwSIkCm4cNWxILu/cAVkPQaMfBAqIzxHs7wVu44Iu2U/br2vuc/SL8OKb\\nRiQfgq7p62cL6Rskh+fn50HMb6VRdKx+/OhK+u1v7qdff3ofhAbIozZU1W2tpLmXs0hqrKdXc8tc\\nCxBONrAPNhYSMIEmikZYS3MLrFGX4/zVlfZktAhtIkB1hVuo9j47OQR+3agb7IRQAwhzllqu0tvz\\n9eTS6wnrN6W+egA3GeVjfpBlJAiCqzdvuJzmjWADaggocykFubx6BnF4FSaKNRA1u6iXbQ+E1l0I\\nxNevTqJGNm9po/UinxhDUTe30ITSCP3sReB9cmgahNY03xlyPYytQdTJKmEcAgaVhgQRo/7WS9sb\\nZZoUQQXeE1I+C9toAMD2GVKZaHMEKagkeiEB2SKdfu2KoBJOcCm+JKPhBVyBciRpJbWpWu7fEALC\\nvrwifb9Hpi3US/aieUAp4gmQrqsQYY+RzFxHxSWMAqjKL87vof4GL3uRb4SXGnMpBY1qMusX8axA\\npkhk8chBIAZRu8vcpzSv9j1Np/p8iQWHR0gunYjEhLAb30YXRGI0Fmwtp6Hek/TRg+l0FRu+I0Mw\\nWiiibEXxAeFzX1rjZ9mOVGgXmhDaUNO4f7gPo9EhaitBzoOl7oX4JQE9u7ICZQgYZrHapL0xiQQ2\\nBKBDJBP3QVqrmX0H6R+lFXeRElbyTeSzKqw1LaD0sKrq/eZ2mb83IXAuQ1B+jSTsIpKwq0gfb0Ec\\n2kf6eHkV7RSby0gabaOSfhHCx430H377QfoIwsaNa2NpUDBEp0QG555V4SuBuA+pqoGB/kDqxzpN\\n+t3DNuplbaF9xyfYBY0pR4JA/l6DjkHJBVb6XjQ5iLQi7a0OE8usqdV5lwThTC2E/nJXSolX6CKg\\nylZIKu2skx2YWlAKU2KWbcqu5MBnfJR2lDuTOZ6Kb/gg/b95lf50sU71/hK72DBpdRynrx7DSLa2\\nmZ7P7aT/+j++AABHaRQChJLng0hmO24DNjQuz7MU9jNyrncSJ1+9epX+y//7X9Ljrx5D4PyYMXOc\\nHj16FNpN/ibdrQyv6nj3vbr+ySM1hGqCfqn/EBRlInnJXuTV/AT3N9gLouKYtDE88hv0qdaVSuER\\nksPjPfvMY7lX0T3m2tOLeewNf/kKyeHnmOF4CZPVfNpYQWyWRXQYbQB3bk2kX35yJ330wW3gdjNN\\ns84jiM382oY6+aE0C8PBczQHbESjOpgvzvjuYTRhH72N2oSDgwMYPehUaWK9XSWg+Ll9EV3/obU2\\nuDg/pGpAJatJfIwU6GvWxqnEyDYkfts7hyEsDqbtw24Ivx3Rb4WIMWMeRD3tw68hHrkCQXMV6fst\\nGMyW0fagBp/5hd00zze0uYaZjgMkGJl8nVHdG3VDuLo+M5L+4ZdT6T/86lq6f/8m61BWqQ0dK4jN\\naueRmUUC4hnfvxLMJ219CXoxVlXzOeAl7+DJs1UYQ19BFH6JBpvnaQ6b4jswrXYgfTo9PZg+eXgt\\n/eNvHoVN8Qd3ZuJMoLrqc67AqgaXmldLUiIDQoTldcGnSMeP81BoaADO/gU0A+a5CE4EpGWt49eq\\nyxLjaQm+pnT/FmW13YbpdId2d6XfQ/hch/v19SLqptvmeR+daKrYox8fYDN5AuZL5q0oWphSuXXF\\nWpD3eBFFu4LYCMG0TVvE1H/G+7WtJpfQmAmdprYnfkkNZ4jtDIYjPi6ZEFWX7t5TAvHmQXeaR7PD\\n9l5bevHszxAe19MEc+h1JMIf3rsR9qLrpdWAVVZSmhBzsf1XQ8QahqM30FB0jJ1kZh/OOWjgYIHq\\noL6R0eF0957S5TJYwWwAIfo16uMXkcb95z8+je95kO++veN2mrnCmudBiH/hUnsTdT86Tp2+C5m2\\nXacP+c6OmO9OONB0KNIfsLD3DRfl8KOEs4TkPP8IS5Q5wx0QaqpJXuozt6aPZCB5/HQn/bfffcM8\\nMcf+agviLEy+aEw5hMH4mDX57NgFne+DfUusJzY/9jgQ8pUEVrqZepUIjpcXBGMS0VTtmWuCqBfG\\ntl40TXUjbdzNOtXLvDIMs8zE2BRldcG8tsv+/jXntIW0u2mfYUqDq6MQxxs9teX2ouVaEGhBoAWB\\nf7cQcCIsrnpfJscS5nP1vprnsrQl3LTmLWVUw6tx3uua05bnHJt/S1jxq3EX3Tena36+KM/7hv2Q\\nZb1vnZGueXv3nTL/RBIL3B/SVcsr98Wv1mNYNfxt99U4y6g+e18u43TluZoux7R+WxBoQaAFgZ8p\\nBDyUhyooDpMSiD3VSkwM1VR1YswP0/nqLiMO4vyInHYf0sXh2TrfJCZetEdpTNM5N0UQ1I7asp4e\\nbL1xKb9xAAZnG2mevT1Uydm3msslNsoo4Q3/oriMXrGtGQ2TEdQiqREiQm1gViX3zbP19GeQQr//\\n0zcghWbTCifxIw69qmiemBgCOTcdqjmnpwbhZucgf7KbVCenqsjbqCLtg+u86t5oScYixs7NdCF1\\nNzSCtOctkGUdIMMg9HNC1+adxN5eqLldcGx31AjEZu8EyCJXejm0DxA/hA40CcQSdOWw70S666y9\\nL52AlFCb3xaSJa8XtKu5gL+WtpEkGOpDpeqVkzQ+NJyujRYJYYglxyOxmEoLefNdVnv2fve+K9+c\\nCBsls5+92klfYefrxdwSHO4bIB5SunVtMP3yw2vp04+vp0f320Bgot57YTK9fD4B4nMIO2qbQWCa\\nQ03tCpTHnb1dkDpDtC9Dt4ywy1uUU5S2+M4lU22AQEJjIyoLt9PK4hz4+l0I4j2owc3vchykVC8S\\n2hkOb9ZiiC6PqHwXAU0/JZ3BImii1QZy1YnEPufuEFhuzIFrejSpMFU64vXSBirlViDIrkM02k9X\\nIGbNXB3Gbvc46mqx9yrVpTjqduzrxAVJIPaSYQBNs+GKhKXorGbXIFpYhq3QZb98U4ZoE01baMsr\\nO9hB4/uF+H6K6scuBm1ugfm5yFpQYuZ7o6MmqzqeM/TyrzWXWaFWYjV16/7fAALlFfkuvA+CCsSK\\nMSQCR1Ez3YVo7OHBdlrEBrESxNtwY9S/l9r3+92bmcdcrrGM6PwkgbiDwd2OdgWlZLIE8SG2QxmH\\niKKdhJxaJhQg3AsiF9WRpxB1SRvIbmzxnRwhgbuFuuGlTdqM7WSoFQ2JUltL/aXjtcb7ySqZo8aG\\nNtaxA5DN2xB2t/hItVlalwuTkuyT9UVJWfrLHtl2v0Ux9D47TzlvHp52MSeO0VaJ2iKNgSAIZJHI\\noeKZj+CIBuxC9NiCEL6ysYvd701gDtxXd+iHKiexQchato3e2vkFVeS+pm1IZ1GRBGeJLDewVd6L\\nNok8r9qC7DLSOiP0h9HeMIZWiX4kzzq6WWMgsu9AeZGYoxr5vB8wH4SLGozO9YUHwJGYwkFmI6kH\\nse0Q4kViHVX6e2q0D3MS2pCGqFqZumpNedMrzazV9WaCHGKykrSkCWIGsE1n2F+EeUVonyFBJbGj\\nMapMTeHRmTcr0dSr5RoT5XNjs9Wi3jbFDVKJZ+0PYs06RrXn46/n0u76Wvrzk6VgRLqDBKIS2Xdu\\nzaBq/H06TJk/YSfM3Z/2oOVEgqvSg9q5b6wtf6POxcvLdfNpxgv1bYSdaQiXmjgZxW5rJ1pYDna2\\nYLJQa8cytmmRyIXA3c1GLo8OMtvJGDOW9+aYMczh5NrlpTkThJKD6PMCSf+vnsyn33/2DcTJl2n2\\n1RL2PbdYO9vSlWsj6dGdSZjprqdPf3E/Pbh3Lc3I2AEh0BqPYfSDhoZq86FgHAyY8l2raneXTZXE\\n4dBAAGdMNJE8za6M+0arLbniymMjAZE+1PocfrmvfRPEMlUxX9EWpDXb2ZsmYHqUBtL88mF6/Hw1\\ntfVMYBd3CEJmZjRZRVx4CRX7C8y/q6id2cLsyvrGYdzvskc+hnh4diLTDWqOqd5jiETLTqVMIWCN\\njo0EAVBGS/cytkhp3GAGhIlmdw+tAW6OIXId8V1uUP78ylnaJUzTA1998xoG0ZfYfn6Vnj2fT2vL\\ni0i4wujD/vAm8+QvsDf8q49voFb6bpIZbwJOOzVBWE8VuPFMUN6xGFmcMSVW35FQfO+Zh3i0XydQ\\nHMN8EAFtXP5FUgcR85Xj1RnL8Qp7S87Lr+1B+286vW6/YbwE6Hsnvemrtpdpc2UhzS1BwDx9zXzM\\nGgTx+AgtQvdvjqE9qC+YfDotP/9TWsNFMN+w6x2LHUlcQ5UOpxVUn8cWGcPp08CKMyTmSLCt2n1W\\nGlUCMSsb8O9NS+wdnyDNm06202d/fIzq56XQqiHB9RrmK0Y5G5XSo2z7T6NKLUJA4j8aoyGabsMc\\nAYOxC1U763DYnabtSMUODp2lmRtDISV8xN75mEG6jUaRTTQbPJ/bgKnrJWe+YWDjnHUzXUObSBdM\\nRGGzt9If+3vqeykNIIX3PuZ3VY+o5GrcRr5IzCgBpq5BmjiQkUM11Y7bAFgtywHfM/x2qJ9fT//z\\nT/Ppsy/mYQDDprYcEDI8ccGllvcj+nwX/Meccxb7Du1+UygbjmA8hpNO4WiEi+lrG4zJMAejfnsE\\n6d9RzkCDcI71wsDUw9Ur8yzn1fHR6dC88vz5EoT9bTSUMP/AxB3zh2OD9xHzT/2tvB0GDWi07loQ\\naEGgBYGfLQRcusryVSbF8mynq2Hl3vCSpoT5fNm96Uuc97qSvvjVsEjwA/xUy/4BivvxFcES+aN1\\nAv+HdtUyq/fvW0/JU/yL8jXHVZ8vu7cc48pVffa+uBJf/BLe8lsQaEGgBYGfLQSc8HQeyOs2ADlp\\nenjX5o+HwrD9Y8D3dmWPcb6MILB5ANfmoerWONpPwqU/hCRrLwSpOBiKtfA/iqihnc4Xc65VnCmD\\ngNSP3UoRh9rNOuVQf8Kh0/5VTt/ke0tB50ptPNiCfHlkz8gE+wGeKIiEX6P68YuvUSX35SukW+eR\\nbpUjehsk1GkaRGL43q2psNv46Sf30m10t02MoXKw174epR440Ac4VA9yDcB1bZcvb2Guu6QBPwLB\\nuSf9n//p79MHH3yAxJnEhPY0jGSRiOMeRKqUyLI8X2W8X3yl4wxX4soL5m4QrRkxbeJjLvFf+our\\nbbwnVHavLyPF9BiVo0tpdR4J5dO76dGt3jQ9ch3VchA3BJfYNNxfNGzIb//Ea+gLZ7Vmr4DU+Prp\\nXPrq21fYOoYyi12raQjrH9ybgkB8EzucSGeD0NqmDVPjgxA7sZ+LxPYSLVOS5DUIWcfbNtT8oQH0\\n4UlRCVegWXt8w8swL+1R1fUaNImnsyfpd589Q13hcxAcL9IhamVHsDv5EITfP/32o/TR/Zl0vdiI\\npMwzPrYMl1Jvqchn2/A2ZxrRhNk3fRCHCX1XTks1Tbnsh7gghifq5JbTLNJMm0hW87aB2wCSFqOo\\nLR1mDCEpEU0tNeTaSXju/ZZYw2MM4JewyG7Epc6UOVXJo3TmNrbPNpD8UX2ruLmsXhrkMGrrAnlU\\nyqtnLzXpl/tGO0qyRkweXxKjRYAbLmFQ6ecfgrGhNK/lvwsC5a3ndI4fNcUODQ8i7YZ6+t5+JIBA\\n9vP9LqB6UBWEu/tKtovYr73N8nLfVlWkOV9XNXmUZHQkyV+635eI9QMIoDtQI3chPqi6VC2KMlcg\\nVEscOZVqC1w3yG6R3qdZTfQxdhUlKu+Tr8qgVBme0YSolp8zmJra2pTM6wWxi+TwPpK1uxJuWRPq\\ng5L6rKz2hcFiFGU05oUcY5n2yZQsMyBnCfeSgBkVRrZIbAkSko8kJINg3zscoa/XgiFnYwvmIKSL\\nnjybT9+iDeMxzE+Lr19D5FpJ34Dc3YNSu4FNWNeT9nSHtWiYNdxjcIahbSizljaIJ8Z70tTUJMQc\\nbOf2DqAVAlXa9HN5DaLz5iGE8c4EnSpc6YMlOecyHSRoPjCOHEGw1iY1aseRZttkXTrcXUFKrDN9\\n8uhG+vDh7fTwwT2YmCTaOk867zqybM13dE1ZqqDzFbh/kvcsiMIBW9aKSNSU8S11u7pEauYf/3xr\\n9rmHQAl2p2eocT36BVLEvJuD9vQUhrPd7e309fOF9D9+9wXrOOs96tgH+oZj/s2I9e/Yz59AcvvV\\nwyC6fft2+s//+T8jfbbOWJpKt27dYp0vo+av3BFflK/oHc5kjji/BCWIJ8ZHY9z3Dw6jZWUP4iWM\\nF+h4XUdN+x4Um45+bXnrYvDEXTB60ecYHcFBkkdwSeEYiX0RS/fzuYP01dOl9MevZtOX386lFy/m\\nUGUMcyLzT99AZ7qDndtPP7iW/uHX99IHD2bSjRkIZRBverrcLeZag8FiHELyJKYhIOa0sxaqEvuU\\nTaCMJbbzEL3NMnHURmy00/bE+L10jOfY0m6TWed5l9NES/iA4huqBZkvpPL5vk4hxqqCv4txcHTc\\nhTYZiOxIPX71ZBFmwa5Qjy9T6Lq21yHkqpngEA5O7cTajzPmZGZEGAQHw35qO3Op3/AZm11Wfr6x\\nbtIyH/Fu5he60soMBC4Ixj0QviS2umfSpvu2ZaI9oq2dOeygE/ijr7d7lk/3FE0L6+mLL5+mp89e\\nw1SzyfveheiGSumJgfQhNp9VKf3bT++lR3evQLAcSMMY/ZXRLsOxBqXa2hZwOA8onkyjE0Dl3nOD\\nf/oQ0onx2OPcdBrSufTdfkYeYeDlPJMJinnOskTLMzS/IWvAhHb6+AGahXrusw5xRkPLxedfnKRV\\nCKFLy7vpDyezmCLIkqAbn95lPz4Dk+E4EsiZ+EsRUWpUTYF2TdXSYbPWQKqMXhTfDJE4bpruc5jt\\nkjnWd+6coESvmot2US29ANNA1zecv7YX07/869esDUtp8zbjHeL8zu594MGothEWEjXnXtsGg/T5\\nbNCWdIZ09AbvezvOkm2YBDo73Y+xqbmIwb6TdHWiO1250otJgPupG9X/W3CNfiMzGYvVk1crqfuf\\n/8z6v0dfHdMzQSTuwbSCznp4JbV3pJ/HvfNcFyYnuiG6d+JLhM3uHIBqYXg2mjzB2B1loz0LUy/b\\nULjVfOI324U9mFIK25m0hiaKOczKvITRdmd5ney2iSuqcKCw6UZy+ayd/XaNcJ/kZqIfNqejG21Y\\nSAc7hwwjaj7A5ZzRg4TwEGaHPN96jTF4hojr5qDaSVxIFrMsuxdYWWb/xJwyN/eSseo5/Sje52CN\\n8Uf75+fXMiEWLw3/Ive2uIvSt8JaEGhBoAWBnxwEmic6J8biSlzzZNmcpjyb/qJ7y6vGlfKLX+KK\\nX8Lfx6/mqd6/T953pbE8XelTfvqR/OY9/o+kMe/ZjALQ90z+nZKVsi/zLyqsOa1pSlhJX31uvq8+\\nX5beNOUqafQvyluNb923INCCQAsCPw8IsIQGghMKiTaqVDfpqqodLlUVe+A8f0D7Pt2OEqPcsmJL\\nlFnbOkmvZpfhsn9CI05AKtxIt65PpisQ9rRvpivp31ZrSeOhtZtD8ADiEP0QmkVunVJuVoOFfzGm\\npVbL26b98+2X/1vki6aElWidW0zp2+dr6Q+fP02fffUifYn0xhpI62MQ/D1geKemhtI9pHw+eXQb\\nAvGt9MHDW6gbA+kE0kWCLLIwIGNE1TSQZpe3xpjS45xeCRVMdqae212UOx6EC1PAVB9EX3AMdTpo\\nlMuPtAbvhZmIqeb6zS9Nzn5KONiGYHOKarVtJHYXFxbSyvwcGBSQjtMgXLa2ggjfKWHfUi246oR7\\nhDVHNBLlmFq/4j2B5CLQEK8gyEIYeI3K4WfPX6VXL0FIYbO5D4mph7eRiHlwDVtukxCqgSnpT9iF\\nyXCgKulxELMvQU7sqW4QpMgmxm13wf6EQHkeZrndjeZU7nILRKp5JzJHuFAMxJH9QMb+8788gWD9\\nEklx1V1vBsJ1GYniTlXngaHr6bydpkG4Bn0niBSlV83w8NnL+POumjIjATMiyVQ+v90RX0Mul5p9\\nr0rhbW6dho1u7XQfQHDoQ6L9GtJD16aQ3hxWJV55nbmOTIQic7VBpXKTVMLLY/FLssv8XEOOFbF5\\ngIq9fd7TkaIcYGZF3qr6vkhONsoxZ8lNg0lZDfGdeRWEqWVrm1BpyiwNtIWEKh8ytsC18zqNjsQh\\nmCu6RczV+2OJ9QfuW+6vBQEh7bcZyG3Gbbu2BSEMrGpPHgKxyPdNxmo3qgO+8/upv0bfpQ8NF08E\\n68f3LlKUB59PQNweQRk+olExnghE6yTfzx7j1BCJFhlxKu32FESxs7P5sv1imHZiwiE4nKVWWkC9\\nTg3t2LLswJZle8cQRIpDpHl70gIq4F8tHEDkOUHyCYT+4R6SsTAUQXXqRsxUckDD5XmhEcIXS9l+\\nFfnL4Maue9Wct6aPftX8E9aOE+ZS1aXuHcAcdAUtEeN9fBv9tKE7Pf6mPT17itrW1ZX05Pky76Et\\n5ltt2A/2YxMXLQRWkqtxxXRtkIFL9eFtII5h3BnEJnM38yJw20Ml6PL6CVJNJ2hlgFGK7EpF+umL\\nzNbWMxYaIKodoPEAG5gw+szPvYZAjEaIlVXsYi6m7bXZNDOJutfjndCEcevm9RqBmIp5kf4Ji3Od\\nv+DRoPdyAE24xRiJNSs/uM9owL9aUgnNUKnHNLXJx3KJTNC6MMoc0tn9EdR+3oUgs5n2dkDuo752\\nCQnvP3z5Moijt2/dwYepYqA97IDWy/+Z3Wi3cnJyMv3d3/1dSMfJDDiI4XIliYv7y/espaRL/KZX\\nWE9Ve8Xl/fnN6dTGPDU5mq5OTyGVOs543UQ7gARiVNIuoSUDydYeiG5528sEwmTgHKSzyLh41Pc7\\nlUlFKUAlHGWae4m04pcwzf0ZiWH3oLMQffaRGu5Ae8mVK4Pp7g3s3H54PZjoPv0IJo7r2HfnG3eW\\ngvxTL1e+DoRw0SYDwQeiZQd7OszCxvwrs4vMMNoLP0abx1kwqVBAzEDuEm2vLSzffX6q7j1ijiGZ\\nfl7j+bZ31WKQmSR72cwOsIfvkNskdz/3nfRKWAaxM/YymE2hsRI+F9lraWv9KSpqnYO1m36I1KQS\\nlMcSsz1s0FZNz3ShWagXxsC+vgEYjMY5G2C7eKcdAi7Sn0oUS0ilnzswWT5/sZgGundgmEOBPEyn\\n15C0lkC8Q3u1v75L+lPyt0OQ293vRd0+Nt/Jt8++f3ltOT19+pz5cZ354RStQF2xp3qEzWfh/8kH\\nt9JHqPa+Ook9dmDuNlSYOHfkbvMrKCvu4llFWNcAFWl5L5RUz2oxPGgzV1XY+Y27h5Kw3cWr6eL9\\nYo6AfmuD3vVK7ULOk5ZaH788dDkR3XTfNMPe9jC1n2ylL1F7r1aJVeahP6HFQU1Nztdb2JJ9BHyu\\nwmg42A/82JSzhFNP3nsFkxXsEO7ndLbZM2CmYAckaIO9sBXlt9YrPL9v2+YwcQ3s6uqBkMpHhp3g\\n/V20KMFAdHoI4xB2k+deLlH0errB2uVeUnjEOhBF18qkBQXy1mca94dKgm+w79hmv3F6fERrVKd8\\nRL1taajnLE0McL4b7Eg3YeIZYnHrOJ5Blfsqde+wPu5yRtmAaWOFCjX5g31qYLN//2qa4pyG4Hrs\\nSW2B9Z3AoCCjopo9bJ9n4DAPhPhxg0BMYttda3bNi31QB+k7gUNXN3BgvEsg1lzEDmpOVIneibYo\\n90vmEXaaNxri3VwZ70xbV9xLUY/vhEt11hLAbUM331knDEieFT1Tt3Ng7EYbQT+MzCMQfifHBtGM\\nkM0TBUMyKkwGMbw+OtzHWo9WKsYNShOivx6JNCFuGwLGrOuu/4fohT882If2fJrGKG8SDSMjZOyD\\nq+38+KYD9v+ceyPgXGzroQWBFgRaEPgZQaB5wmt+LsuC4eW+dL+kLeHVNNV701efy33xS3lVv8Rd\\n5lfT/lD3pa4fqry/ejnuwn7qTqBXXfNzNe6HvL+onmqY983Ppf6L4qppTdecpjlvc/oS3/JbEGhB\\noAWBnwAEyrpfmnrBlBYn5BwfB1PO48eI7Hkp5RSICE6oIuKUwv1uyLZSX2kHvpVEqSBgiDbFPgfl\\nuYXN9K+fPUn/z//33wJB9H//p18Rgx05Dp2ZQGzKfFg+v1chuMmZUuSakmeDqA+TY7mTQywFUz0d\\n5NAdV1O+dz/mtlu/d6IuvCRYqlL62auU/v/fz6bff/48/fmb56jqXQZ5y6kXlM8IhO47N0bSrz66\\njkq/m0gO3AwbWGMg+bXNWnBgtr1c3Ma9vs7whvPJVuQjs08e9A2RSIxm0wQDNyqfI0mUL0IgkCG1\\ndJE4R/Ob4yzHS5dLz7739lUfDYggXrZApm1BBEWKDtVlO1sHqC7cDvXZp4wdD//1grjNdZG7FG7Y\\nBe58tLU5AkUZiY7JxWh7eH7xBGLEXHqOcbc1CEXa+5Xw+ssPbwFf7Pih1g6wRnW++vGR9nRtehIk\\n1UT6Flthe0jZ7II02YMyqjTMOYSQ+ayafHoXOdsJ/gZpNxGyx+m//vfP0//8wwsIxVtpHem3E+x1\\nnR4PYO94F9te6+Cq/sT9Ngh71KvBLj+M9EKoPKWCQIhdJtEWDeCnBhg932F5j6GKjvHc3M7m59wH\\nQ73y+C1p7IfqcTfQ47ywuAIn/xoSakdpZKInEJnTqJbuR6y81gSKyGUEkPyIa4+5jtxU21fKL+HF\\nb0pegrMfHavXFGExL4GNzapwCaJOVdjmSwRmRmLmAiydizRxVymqFhPvTUkreAOCuL+6cQoScQUC\\ni1KICzA+oKLyaAtp76H02189Svdvz2B3EPuffqQ6G1RegI9clWpM0XLfCwJCMjvh6ZOMN2hdRYJL\\n1aBoYHCWA+G5DTF2EUmXBTQHqPJxdHQsbM6aOyPWKeFtLyXiSi3matw3WlELtkwu5x9dG9hRJYPb\\nkHoyjE+FNpyFfV6l6sR+K4EjAjWhelHJqJDiYu0J9Z6Mn1KWJVt2uSzfpsjI09UNc1Q3Kim7Rli6\\njtPWfg9aCmA06kMSDQlqljYmoc00gUaKh/dugZwdAcFqP3SUGx1poFT9IpznGilyypy6cV99Nq1o\\ne0e+vmtq3xREI3TIT19BTea1CexnonoerRePvz5Lm7Tr1eJu+h//8ph1+zTm5EEYLPqYP0JKK76+\\nDEvnP22dKh3e3z+EVNFQ2oOIdXQEgZhvcmHtKC3DCAQYggC/zv0Kc+siRNHZ+dW4XmGTeomxsQ2D\\n0MH+biDu91iXtlgTDiFK3ESCeXn1etgwpPnZ1QAQ4DkfVFJc4pccBYJ51MQTP+f8WgnxDshWckZw\\nJMwh+TcC6u+lUbnh+X3VZp4YN2qOvn7FcTcOIf0BNhqRDENt6vLsTnryYg2i/at07+4zCKW9jIvp\\nkBazTOvKNfn083ASSyQK37hxIzoUxCK/z8r8/LfvaYa8sPc99vENXWFtmbnGujL5Ir2eX4EgeZAW\\nGdtPXq4Qvg5hZDjBn1Rz+a3lsZKDvGcbFqYtlKRnuKeX8wdoL3mVvn7yKn379GV6ObuQViFKnkBw\\n6UU/8K2ZsfTLj26zR7qNndvb6TYMmBOjqOamPbbLMpGr5S9LF/p9ylg4iOaQAQyad/MNa6s85mDS\\naG/26LgDAjWbvdrAsoxoJwO/jLV4rj35PUQaIsMn/T43ftsLi/sQYl/F3nJssD3W3/to2hlmfnA/\\nZnpdbN/5kaisjW+Jm+1S2JhrDzCougcsWTVYJugJTZOwra3TLvZcEpt7oVCpsWB0fDwkzgcHsRvb\\nPoYEelv69ts1JBiZO5DMP4FIegRxc2kflbezr5AGJW/PDpKPvWloYizaI7OKqv8P1OqAvdsOVMDv\\nQyB+/O1q6nhxAhF9h+cNiM7YGuZ9KjX8gD79mvfw8UNMoChde2U0tLNACw/n2hD7z/wYv+cYWiuw\\nLkkKtI0ql3eqa/bZ9ytRLzv3cl4QhrnO2KxrxqAN1fhHqHbeZ9Hdh5h+yL64m0GQy8srRynCpkIH\\nTB/dgzjYexfzNMzj2Nf918+foT1nkfl6J33xrWvzcXo2u5E+mV1Pjx5cT3cxqTOJOR2URQSzgftO\\n+P54p7bT0n3Rebfvjt81K1+1ptc8e2a7HK220LHh9sxzn9K2HUiVt2En+BAC8cb6KWsBjKAQSDVN\\n4lozMTbONzbOPUT95rmi9mz5Oseba7zSrTu88APGl+txPgEg5Up9U8PdaZo1cawXMzsMxUGIxB2o\\n6Dg6eATx1RYepSdP2xgHB+nLZxswVnwZZjJkdHv08EGauUlbOKtZl9/IqQTizI0RULGO6JfncNqX\\n22avuWtqv3R2GeZkMulRVQh7kZ1dVWOj3YODqt+HxFu2JQE3NQXcZG6Q4eOYeu/cXOFs5xnmFA06\\nSAHDudyPSqk+Jq4Brm4YvyQSywSsuaIeGbFRFT0MIXgMQvCgmr8gGCsV7PvQTIjMYDKckDwGI3wl\\ndYI4rx+tKKzx7KEWYfJaWuLcjDqWLsqf4bx26/o1GGomgtErj2H7/Ua3IyzHBFTiufXTgkALAi0I\\n/MwhUJYqu1mmwNLlElcNbw676Lmkf1tctY6SvoT9NXzbUq2n+fmvUedftUyWxJ+1K4PHTr7rvsS/\\nr18ts+Sphnmva457n+eL0hhWrii4qewS1vJbEGhBoAWBnyUEgn4KITUkiGtSTkoPd3jorhCIPaK+\\nSZa6DCROq2Vd18+I6hJywFl7BVVcz2bX0r98oe3WPQ6FVzmoTnNoPUZ1FyduXcza8ZOf67+WdD5c\\nPDlm6VB11QdyS85+2gtyq86VHpjbegFNN2+WV09QifJWZI4ES4Q0kBzdgUi4gPTwQlpCDecB+qbb\\nOagPQRx+cHsg/fKDqfT3n0ocvoqd3Mk0CnO3UhvFXQzPggwoqap+o8/elSfRLB7Mdd4XZ3t1xTdD\\n/T5HxW8pxyO88tGqFawimkRenSJheYp0xhmIklPUdh+DPDlCylPisFiORhmlwuaafD6XqtKCcmua\\nRj5hLTET2lB6Nb+cnqE2UZXIquzrRSrj1tUxJM+vIaGNylK44d18mVsC8QhEBjnRp6bGICZBNJjt\\nRFLtCLWwe4H0ORYZY0KdmS5pWnlHJjGLUjvzS7vp8y9RJ/7ZawjlIApPUAXXOwoCpZ80SFUjvfPF\\n10sJHCVMAlMg0nqxM3cdG5G8JOuxsDdcUwPeaFOOz4hD4M1jG4M+q059o7CmgPz9CU8dwzckzdfR\\nl6iquQORMzRtEtudN6bHkWwZAaldG1DR2DcacyHMMtouqqj9NEIuKKGaMO4LWPQz0gzCGtItwVkC\\nAdi/jCzL34gQqdcQSLMMI/spoRHccUZESRgGIb28eoTNQiRRl9aQPFoI4vDrxdfYi0UK8ng9fXx3\\nIqReriDtNTKCCGUQiKutqtf2tiETfWn9vA0C8YYjQYGuD94ztcDEcRZqHdeRDFMCTALFAfZxlYpR\\n+l/b8iJWi/O2CWdaot7wHVfVtH5PDK26s6yszpTwSMtaCNWhWwk/JHT8fmkKCPFjkK/7gVRXLKYM\\nv9AvEWIyoLvJH5c9q1IASJzHLvHUp2SaUu3a11TFdAf20U866S+ql5/MqoL2NQSg49TfvQ9RfJu1\\nZQqVtRNh07QrCMQU0ORKl7Q5GZA1IO59ysj/yFWAARDeQJzXykRTKBKFetupPgAAQABJREFUEI9Y\\nv/ogznV2PUDyj3eDtN1j1IvubqyFetsxkOYyQ00gBTTDPNIR2OGC8Kd8FieRyH2oJuhFdXgXYmkd\\nnWe8YyQB12AAerWZ/vT1QppfGwW5fQAxFHvHqGidf72e5iAQLyxuIqG1kw60Qw2D0BkqRYX3Mfry\\nj5F0PoXw0Q0xSET5Oamr6EcVRvk7bnzNtY7GWyn37+sLzeIy1M8Rd0pUQL3+EDfVVbO8LwvzPngN\\n8F3PvcCdp6sQ6j98eCMk6Bdez6ZtpdtQuf7kFSptH7/AduxguorE6FDPcKVNZLaB9Qq4/4k73+2b\\n7/dH0ClhXBsM3haQSzCBlwNpXhnWptOLV8tp/XCb8Y39XFQjT05MpPGJqdR5Hc0VvGc/aYtxbtB3\\n3yFTJdNNrGMLy2gVmOe9P19Ealgbt3NpeQG17zCkSciZgAB55/pI+ujBdPrNJ7dRKX0j9tbjQxB4\\nKC875zdqkKFF4i+BapNh6xxS/pNoEhkdHYQAu8MWmghsbKt1ZBnV2IuoXx4bRzvLUK2HMZ/l9TmX\\nXQvnwbnVPrjncD1G4zP9Zj+HSuanz2fTnx8/gZi3lW4iTXtAe69OaloAamJtXjJvXBSkenypXEHk\\njDkWiUfmpk60THQzpwxg93QY9bYy4ynF2I80o8Q6NQoNswccpc0TqLfv6xtjP9sOYThrUVmFWr2z\\nyT5OCWIoWRLKdvi2nqIW+uq1jnT1BoTdj34ZkpA0h6YxiWEHWU0P7R3DlNUJowxmBM4gSJKnDUD2\\nD6F1AU1Bj+5NpE8eolYaRsYHt66kGYilKGGojw3Liw4GyBpwyyuElUWK+HG+KvAw3nvHiGuMUrmu\\nI/FMHui+zBNcEOF2MOXjXJ2JxBCK2zinQGA/wzTCIQn3EO1V0nQP1fUDTvJRKeMiCLfWRF7K7KdM\\nlD6kjhs0+ewu6wB2f9v7YWAaDo0Oe5gaePZqN63uwKiALd7Xa3sw/eym6zPXYZgdZ79qmzRZcER9\\ntImGn3H2tNUdTHgSH71CgpzQ4soSJaAKOPQNlwjfAVFT1eCJvffxAWrGt9sYU9jg5aORQNyDrfsh\\nzFUMoZqiR46n4mKBF4q51PodN0rzHrEoHwCTY845Z6hAZtEhpetwZ7o61sfVm0a7kcSlhCP6doam\\nh2M0PZyePoAoy/qEKvNnaNgQLl8/W087nJkOIMiuQcR+tNeXJq9gq5lmr6/zjmA6OGJjccZLFOKd\\nSvHSuQ7mutLn0mzh0IBEhoFMM6rZ7x8Yin3KwQGqsdGatIYt7i0OLTKgSCC2LISJYRQR6vwAu5uo\\nn1dKWon7Lvc6UHf7oSKrMrqPb6ibDL6TTCQWnu2pj0vV+c4XJIn1iWKZSS52EoWBYMwzMmuuwuAy\\nj+aDublZtGIsQ1jfD4LznZtXMcE0g2pqTFDUsen1N3OucEOLuzhFiW35LQi0INCCwM8CAtXloHpf\\nOlemxWpcc9jbnkuc5VlGeS73xa/Gl7D39at533Zv3M/K1Ze0n1Wv/jadcbAVV7037H2eL0rTHFYt\\n37jL4ku6lt+CQAsCLQj8CCFQ1vFq0wx7y5RGtGdk1VqF9DAEYiUxPAjKvewB9ftLZli3V8OVJ2mK\\ne2CLdrhEOh1DENiACuhB9kjW7Qud/cgllHJKMmM4n4NcgKsdZNCgkgMEHMn1LdG7OUPJ+C6/ks/b\\nckmw/PbZZvrjFy8hBC5gkxFJJuw39gyMph4QVHduj6bf/voGyLmrqJObAinUlhCQqCDncsUZxSOi\\nzpJBC9QxIW95Z7U25xS5gY3UjTuTlafiG9aMvM51Wk6glsIXBYdVvICpeUTsd4LA6QSodW52skh8\\nsOxymTa73K4G4EsLDC/3Ja2+4bU8EZ3T2CJwoiFt8uLVAgTiWezqrZD0CETiMNIJIhOmkVobQZUz\\nCWuujugc6QPxCoF4bBSpql5UvJ2G/bgNbMhJZMo2Km3RZe3KBZbWOW5VO7e2vhtSbVtQHc9OB7DH\\nBZKMcSfx4xi1gwfYDd1BkuebF0vpd398DPd+NwgP1O2Fjcj8nmu9LU2+1BcSDYg1cmUkOe8IbLL3\\n9aFTL6mk1S8jLUdCcwv7qRsQ4CSYnyKa04dkxfTUOLYJp1EROx6q++pFVVoQt9WiTdRoYCPLe99Z\\n2HmEl68jCHeML+cmL52jLVRbgjw7Bdsl3jqPU1Fq2Zky7CvznhCMTrOLqyDT15G2WkuzCyCkUEmp\\nBOLGxipSiGshvXR6tAlzwRb2q5mHQObtIyGvpHZ2llzua0Et7weHgFAOSDM2j9DvuL2NOvjN9XSI\\nlOjZsRJiSoep3pB1iasxV5KvvPz3apXfQgW9WsnsW3aoZQIxb504zS1o59DvoxfkucmdB7Ttt7OH\\nalIfouWuQI4U1VgiQYy03QkDVKk75HIYqwUxnSeq0mTnOAnOzis72NIMIjHSUKqbFmn6YnYVAinr\\ny+EymiKwcd63n472HiIZ+DAdz0ylM9bpPPrzGM3dCUhGe879RHB8RRkGkVhoSJTKLcpl5fmi5C3Q\\nQkgINdP2sRek+Sfk6UGa7iw9hWC7ubkGcWAxffX187D/LoK3JwjElmINkhkk5oCgFqHMYq1q0I7O\\nzHCkLcs//vll2kTyrhfE9AaUpDVEJVeYa7fwDyBynKC6IyS1+f474AZTK+khGi0cG32IV9+6PpE+\\n+uBRunv3DnOu4tbZRZ+if/arQL7EVv3czhyS4VmN9d7QiOEn7p0nylxRKbp5nbX/Af7mAi95tqXK\\noeex6h0EGobQnZusLbt30vyrV9he3krPwLavbRxhquMFa2J/+gAbpxPYnJBxII9IK7CNtcZV2nhJ\\n1a3g7wsBX1I4R1njffvFI2wJw1pPug6joFpNdtYX+Ga202eP55lfUOk8MMKeBE0oqMLtx9SD84Jb\\nVxlHWKLT6ia2OmGWUOL4GQRmicyzr9fSMgxP+zB4nZ3uoT2nB0bEMRgSp9OvPsacyb0rjBekZrEF\\nqtRgnnlsZL7yJ98YJRJ3wl7yaBsShuPp+bURNDm4x0G9LmeB7T20BjxdhDjMPrdvKJ3dmIh+9XhO\\nIO9FznBnSOhfqIhPaETYxyTLHPPEk/T10xcQuV8hebmfPro5lIZ7j5G0vZmb11SgbXUfGrZcIdbJ\\nONTO/NIPUXjqyhB7wSsQIseR1B5O4xC2hzgD9CtFzL5Vu6i9cLj0oX5dSVYJlSzxELaYu54NpBcv\\nVeNLIwGLxPL20AahLeL9GjMZEpa8A7aQIWE9BPG3n/53dsOgcjZANqWJc/s6WJuGxzsweTKEWRkk\\nh395Mz3E1vCNKx1pnLoL+fUcrJr6GnEXhdXGVMnrGJERTqnmDdRbS+B1/TpJfemETq5AeAS8mGbZ\\nQqqZ1PTLUeAc2gGB+BSC6gkE4l3OYZ6/tN08NqzUda68rAK1pSFGjWMEoVGI3cLiGgy5YzA+TKQ/\\nfdYHLN2fw8QDYfiz/ZehUenxk5donpiCUfMmTJ3jEF57wr7z8vJGaB9Sc42njR428ANMcP2IsGtT\\nuNQZfaVPAJr3U7toni00DUOvRkiV8K2JAWR3sU9wDBH8CIbQUwiunRA9LbePwS2zV3Ext1pk/NUK\\nJTKYGgjXLEQ+F3uOzMyztnUQRk/PH1cnMEcC95RQ9V0gVBuaHtraRmjfx8AHSfj2b1A3/irtba1g\\nUmkNWO+ll7yPp7N7aEG4jbr8q2ltdTutrHImgYDsXlcGEceje3uZQM+5WGvy3FJg5DI7PNwZds5H\\n4Yztggiu6nbXz0U0fKxy3rl2rfb6KcyzMUeSWMsHUOkhMzO8vzHfWC/Hf/ZYrNH0R8bj+DZsU71d\\nhHPv5VAhef2KjygaDAAdMbQ3q6MnIU44aZ7jOSYSvnr8DQT052iEQg346QEaUYbSg7sws9yCmVYb\\nTMVZVGTPZZTglt+CQAsCLQj8O4OAk2CZCJ0Zm91FcZeFVfOb5rLn5rjmOlvP7wmBxu7jPTP8zJKV\\ngVj8d3WvpCu+6av31fyGV+Oq95flK3mqaath5b5aT+u+BYEWBFoQ+JlCoDEVuhvwCqQ4h2GRmkoP\\nSxzu5pAuErcgjgVGQXp5/3ZX2WdYXUFOestlfcewaB8hLawEqraPJQwfIz523lbjZbU0+mAKnzyk\\nynE8ADvzAAihDiQjDiEQv4moNUfVnS+rGnPRvanR4IcE4gqqhl+jHmslHYHdb7dOEN5KL/WChVJd\\n6Flbf0iBabN2j7YpBaQ66FCLJmKDk7eH7nLQz8hgaxVK361d5jJf4A/ywzt/q0SWRuJy3G+E2L52\\nCHKq+I08SnPwEoOIVnvV37fFuZZqX4VCdnKcixxdXtnHrt5ruM3nURW9BkL1LNQl3rs1g0pkpIcV\\nb8OVfJbmRkyzhAPYnBMJom2uw6MD1NbuQOBF2hupAN4GF84MIeHXQOoanMtrtE3Yyr9wgIrPfaRe\\njvYQhUFipKMHXvzRgbDF1dYxgMrpUxBC86EW9rOv5kDYj6Z7d+4imTMEckmkijDO/ayUbpU1R2gj\\nohbmu/USxSKSB1QmVyYOv5G4nqd2U/fsk33YCOkCJGdACoqI7ofAMoaY0zhSNsO0U8mF7Czb9lTq\\nqNzWElXSng8pT+ez2IrG1XjjOXXERF9r/fWeAgIRS5+18XoKEQ1hjBiPjpOQsqJfSnivoU58AV21\\nc69Fps+DTF/kW13G3uMmzAbYjcVW3tkJNs/aj1GNd5YGYCQYYb67cRWpTGyf9aIFIKvHLa1v+PbD\\n9p3vTyO+dfe+EMgQrMLRESdysrfrNOzjaU91GxWO7UiOjcB8cwuC6CTjcwhkr8jJ8+4930rkE/Vt\\n+obzSUIGOGVUYKoqFGWWzHFZRanSNCCuWVtso0JP2rl0DpG5IhzfR6iWVv1qoIyRruLvSIYRr+Ou\\nkKKzjrBFSDY1UWyDmH29hE3zJ8fp5as1tA+AMAdpr9zQCevh7oZqlNdgosImZv9+GgeJrnS/hI9A\\nIOfa+bV+Hwpgil/Cav01mI8px+aw8pTzVvOZNzv77WwpMnx6DFjdG0x7u7dp81JaW1lMC1uzMM1s\\npG+ezqUbEMHu3r6ZRiHSRLv41VmyazSfGpJHWUppo3MfhgxsR6IOdB512mvrSPO3wzhG2CHwDbuR\\n5OxCSnAIws8YWg4GEVvqQfvDEfaY15BE8sVNDA5hzuEqtj3v8R1P8w3bUp21lisC4ufiXhp1flw0\\ncjTdUUAu1RthX4Oi2bmqAuNRZFRomkJ2OV+e2UxS/BJr6shKQA83U0ii3rnRh1TozbQKB8wKBLwN\\nJLCezy5BoBmCGLSM5CJMUajprU/hUaollpJK6T9dP6+FMgzkPhX/b9ujAt88FnyKOQ0fhScJxRQQ\\nYyax23oFogjfy/weDExo73iMtpGBF2kN6crrV8dhcGSTwLs6Zm7xG9hkUVuC0DP7ehXi6uv0AvU1\\nS1Bb91m7HR0yVFyBCHznusThmfThA6+bzJejEPyYT2mI4+q8K21thLIlDQImilfSgzsTaXXtKoTD\\nnfT8bJc1EwIkC+7XqDTv7Jll7e1PK5sw6sVYc05ibqCP9lfnrKgUpvwzmmNRavjF3Er6CnXYj588\\nT998+4Q93RxS8KhIH+Gsgapm1dIXG7iWYQsLDB3Lzgtt2L89O92B+MfajZTwDPu/jx6Op09/cRvC\\n0jREMiSQEdFVENZ5xvVEmiDTRxATbZ9z8AEaZjZRMT02wjyEaGxbB8Q5NBK4c3RIxffMXkutOSdc\\nzvmWNTRoniEYUd1T7sG0AlEylgCl2mFcAQbGXZlCGvrqNdQrX8WmOgUC3F2KV712mRuif1EX1eKC\\nBuoNaeJ91Xzv3Xvqe3byXl/eGAQ/eU+q4V8BzjsRfnLm2jPMXqc9vXoNkxHryi7E/Tbs0IQUcZta\\ngnhhJxDBaf8uBFXH2LZqhk8ZMA6EAvnyfTVCEsLaCWU5qWuG+Rwp4qG+m0hFHyFR3sH4nI85aHdz\\nAzXdm2HK49mLFfaWG8AZrRKdSqUfI0G6Gcw9J8zh7RBzBzHFMsKc5d6zH5vP575nAaXTdy8YDzzy\\nLIFYk0SdHqp4PoV5oA2uirOERDf7fSjGrBVdwTg8AIFYJteLXL3MWqTPp3AgnfLivdrCRjJ7EWzm\\nKlU7wV7ZcaA6ZptlqbE+8v7b0PTQfjrCeLnF2n3IWnQCIfQwmFsXYVbc3DpBureDPek+xHPM9LDf\\nWGQekIivvhTHmZ2Lccht3UUjrS077wySQJw1Jg0FkXWAvfzuejvvHxXuEKVvU+eNG4ecPbA1THpf\\nr77MWgNc8LhGOZZlmRddJY7oerz3Ded7IZWDE5dXrczYFHMBYQzBtMH+/OWrUzQHvEhffvUkzaHK\\n/WhvEwnvbr7fqfTg/g3aOh1aRqKg1k8LAi0ItCDQgsBFEGgsBo3YPAHnabqElrDyXJaOi55Lmc15\\nTFvNV+6LX8q6zC/pin9Zup91OMvtz8r5Mot7n/uS9l1+tayS9vuEmaear/pcDbeOalyps/glrjlP\\niW/5LQi0INCCwI8eAmVVf++JzAxcIaWHr9SwHNx9UNcyJ3elpMrtdwJELZ9VlSLiAFmr27A45CuJ\\nUENIXFx+yd2IrRUR5UqA7UPMSfVXKIqDCARGpnZgrVccWT3KZmRto6SmOwsujvvSLINFfO2BndlF\\ngkzV3OHEYEH4k9i2vr6Xvv5mDvXD6+nZs14Qgz0c4EFwgyUchON8BMS5ajiHUfkn4tDDenb2r/TI\\nkIv724h5M7600zRVVwjl74ZvAwFTzW/fsjrjTFyReCJx5BTsWJQtnC+r/FxBlz+UnuvrVJsnse/1\\n4jrIxMW0tLCIDeStQM48QHr4Hmqbx0YhZpJWJETJZ14d+Lq6pFo7GMIj1GSvrMGtj+rSfRCMps8Q\\nrObMyN0SUnzTefmu5JrvAFl5egrxBhWM3bzHyYlb6RZSLL0QcJaWekGMIU0xj5pC1H9OfT2fHj6Y\\nBQHWj2TJGOOzbBPLOKTQiivtsr7oFwF14nCMZ0YvhFJtoxai/XnQ11ptAVFYJkp4a3lKz6wDgxUk\\noLc1CkfP+iCADQxiGxTMqhKT58qLBwv7bq7WivOZSmAU50O5mpI5rvyYyvdLG8/o72kQiLH3DIFY\\nCeLoD0WAb0xoHwcJvYHUzGJ6/nwWm4yvA1m5vLoB4W0HghuIPuaYXkQ9RodHUcnan2aujqRp7ARe\\nGelJd7HR+MkHt0Duou5TzGPd2dhG/xt39QStm4BAebkFHJdByvCSNn9v5vDbAveaJkZ6k7Yo11am\\nmcMhCBx3pg/UyvCru3zzqjAeqzAwqCK1uFymvzmsEVNSvM13vpEhZQNi5Q6qLSTQKBHWh8FF7fHB\\nNxDlipw/cf5zfJZ+yPRhdRpjRwVpGxLAgabGNvkuai9VrdrPUiFSX9WfEkyWsLm7APPLS9Stfv0t\\nUoEvNrEHDsOGDakRcVVt2cV6NoJ6zAc3rqW//9VNrofYV58COd2YR97WrxwXjcvtLRSKxiuw4RcW\\nYWhjfcq9leAEDTht30HF/8ObtHkpba68YC5Zw0b8Unr2cgHmmE2+L5D9MPM4mZR3EkxcSEiOYgpi\\nBELYYifUIyLpJlLCEKF4ATJuOHd32m+IRyMg4q9OTUSfZ65eSSNDaG2gUbvYHn69MA8DwUG6eWUg\\nPUJS78MHSGWhNeI8IYAG1xpwvpflycjsyl2JKeEX+iTKmhxqjFN1GObdxYV5IvDi0kvdtabm7DwI\\nPddtZyRJhxIaH4FIV/Ls+cvVUIe7tq6E2iLSkPOh3ltbm13qEi2uVmWpowQX/+IWldgfn1/2McX/\\n27cQCAaFL0PSX78bZwjfgqwSEl4/fDAJU9bttPB6Pm3BrLQHh8jTV9tI2D5N2iq9QqIBtJHI/CHD\\n5B7MTNswIGoOQlXIK6xlB7vsO06OkOKFUIX2lLuYsfjowbX0IeY2Ht69mq7DwTEKwYVigpHGNpx/\\nv+efiI5422sMW1MYLfjAWW9dL4dZG5+/eIlt1830LWrgVzafpRevt5FOnoPx7Rpr6CSMO6MQT/uZ\\nIzOBVcKwc90Wc6mMI89h1Hr68jU2s+fS69fYrN1Y5ptX6rkXSeer6e9//Un65KMHMNoBJCHHQJUp\\nzPYAivjeO9qRGoZAfHICIfRoG2aTESRZb6fffnot/eNv76P9BFXTzhtczg/mM78/luXYL+OfZSak\\nqgdR7TMIgbgd+8VnEAFjnxXT+lmcSUaZa2RAtFznLhQjpHFUC0vM7OndhslHAjEZhBVMlGq56ET8\\nsh1K8R6E13mkRQ+wUdzLXNYLU0tuH8w9NDDaaDsFvK7WQIuT76jssZViPSEgfNYdYXuMpOzG1gHz\\nHzaU2fjMzi9CeESSnHniBNvCp9hH3j/sZk5GQhjGgz20U7QHgVgypnCEwY50aqzYgTC5USMQq/Y5\\nu4BcBhy3PtlM/VpMwkw18y7S8ewZr4x/nG7fmEyff/Uc0zsvYVZ5BSPEGqqeMRWAyZXVRTWAbDCn\\no5abtfLsBG1RSNMeHezApHfEetDPeoEKcFRRD7IP9d3ZklIXtzhCCDDMOOHWKUzZr6pZRJhKrVdq\\n+Axr3a6djpk+pJOHWGskEBfp6CghKrC087UQkCuQ8u8FgdixwVuhXae0l2+C9gaTQG2fKGz8zi0S\\noXa+QcZLN6Za+j7Gnu5A+tehTqTmuxj7KzCPnqZnT1c415xRzk7AYw+NKQeMF9ui1hIl5S0tr5zc\\nRsmE1fbiBQb6MssxHPkGUXuNevmJ8eG0ttATzB1fcA6dRJ/03Tu3OCtNxjtz12BvrKHabh7rzjid\\n5eua/RxquG0uqfPZMbead0wm85nC+lBYlL5+fobmrWfp93/8Fq0XT9M6e4eOziP2dVPpkw/vYJ/5\\nNjbZJ4J4TZaaK7WX55bfgkALAi0I/LuEgJNhmRDLxFsFxEVxhpm2Oe6i5+YyS97mOt4nXTXPRffV\\nst/n/qIyflJh5cT+k2p0pbFlwFSC/qLbUl6zf1mhF6UrYdU8zWGXPRt+UVwJL3617NZ9CwItCLQg\\n8JODQHXFru4GGh1xuquk4lb6i5KgHqqdKjs5bA9gx29AlZqoqqpKEDfKufxOBEtMuPGT01myl87D\\nIoLDIE2wJalKNJBgIvmyykkQK2KG39vlklWmaHWe1UXCeClBDBaC0FxzpTm10jNxrlT1ZnyJedO3\\niX0gRQZQg9Xdv40NV3sFYgbO9f2dg7QE8m5vdxOipsinNhDhEKRQ/zeijTSwKpOoEbxxdRRJn5Gw\\nuTYCkkyJKA/6b2tHgaEt8v5taU1Tde9GpFraxaUaE2Qc3lMm54C24D07duovtlrZ97zPxWWUiPfa\\nqpaQMr+wjv3JVWzFboKkO00z2KlTvfTNmStIool6tX3ksEG1Nkab+dGWdqcSoUh3H+5ug2jd50Ii\\nRjum5AONUUPGmONiZ1vOxYI0akce8PRMRCU259oHQL50pus3xpEYmUQFY396+fIZaiQ3QQLvgBRd\\nS1+AOJvACPU4Eit9YvjPOWvwKq4BA0Mi1r5xKc3AL4gvbIKBSNLW9oV2iGsIprq4SikHX+HpTShW\\nShEfKs4IzLTNJlNIN77SGAQ1XMH0NEK+3121i/Guomf1njdHZ3RTrqognU75+E4gwh2C2ESAiXkE\\ne+ZrSCXMo7bv5RoIqBX8xfTq1RwExlW+R9VvHoOs68EGYQ9IyGFUkktwGoTgNIzKz1EIxINIv/Sm\\nKaTAp1EdGJIW1f6fA8b363or10UQEMj5rXvnzC/6emykDQLYDEMXqSQkRtt4fw9voT4YIsg17Hj2\\n97oukTB/GZWPM383Jab6CkuYfna57uqYE/GO6cmYH7aQpjpkoWpHnKcHAnE3c4gqF0uZ+jGncpOH\\nh6hWHOqlQVmzFvWDfD9OKxsnMTbHnm6nxfVB7EHuQejZTXML26iM3U3zi3vMbzvp9Zx2MLF1eNQV\\ny5ZEB5HEft/jjMsHqNL/9MMr6R9/DRL1vowxSCiVxuSa3/OXTNFpfywAvwChPs6ZU/w+dYTVehaP\\nzpkhKQUspqEh3Uba5yXXk28G0sr2Kmrc14NIvLC4hjQkqmjHVFkaWaM226zCB9UgjyPe2NUNZwec\\nHkpOKSneji3JPhJM831Owrgxypx5hW9SgriqeVWDP8jeRNjs7u1AhJBB6BhJwiEuvm0uGcTClX7l\\np9zPC2GW4VBN7n0j6fknwwWVY1ACcYcbAgNIFkxTEFmqc1dgyi2tBl/u6iAvTav7RhZXa5DQoZbI\\nY88UML15bTAt3r6BlOKrNAtheHNxkbEEgf7FLNo1ptI1pKgHagRip+93ufM9fFfqH0f8u/c0/9bt\\nLIAWmnkfHPuL2hekQP2Nq0p9zqTX8w+wK9yJZOEaUrT7EPmOkBJeQyr2MAheSipKBD4IItoekp4w\\nI6K1QEJVd08fEpmjMAIMQ6RF6u4OjBGoFpfB6TphIwPsJWlBfZyVb1lwRBNLOw3Ig6z6jcu0qL3r\\n07ZxpjNs+zIHD3N98xTpUEw1vF5C/fvWcnq5iHTqwh7t2IAINhYMcL1w+HS0d4Zq7N09JSUhEC+t\\nBoF4HsLw+so6EpO79KGLsTuY7t0aT79GHfanv/gACUJUFvNt66otjG+NBnZAxO3oAAYJsxhHaJKB\\n0DiFNoNbV3vS7WvdaaqilTYKqfx4EnDuyjv1HOHWUUK6TChKP+eJ130tF/NvD3vHKSRFvVgCwj60\\nNlehDYZGiW4MyO5BFA4QMncJZs8Amu1YXFqnD0dI966wr8oaH7pcS/gmZYbt8GJi1JdgGi7qdY8n\\nkRNzA/ULTRQwDcmwJGPSEcThQ+y2b2CnfR6zGQswUC6iTeBAXdNRFm8fKWLZEjgNcRXJYTopAxNm\\nD9rQwiIj0yn3mvnZRoX/LhT9kzgH1pqDF++hNjk4lu1sOW/Zak27YNIZYqnS1VewgdsT9m6nYBh4\\niRr0Bdq3hoTz/g79OWQmc01l4myHCUgGXiVs23pOWNNhngW4AzAqchTKNdXqzWPBB12eWX1y/pVp\\nq5d9ay8vqEPRW2HId3N6KoH4KAiNgwzoUexay8DQWV00Yz7OpUeFtdvw4sdaXJlYiwuBmO8y7FrL\\nNAYjddYGlPcuuXWeKWRMhXDL+tjZxTm69x71chYcGIZ4jiak15vYJT5FypfzIowfweTpeQJ94dEv\\n2iixWzjlF1BK1s+uNmJiPPutqzJaBpQb16a4rqCNYwjNEnvpObbKv3q6kD5E/ffoUBfzDxo4JKZL\\n7Kay3GV/rSs/WUN8A9EaW+RFdPZIWQurZYvIWmiek/NI8VtzOGFuOmG6PD2bPUu//3w2/f5PSA9/\\nPZuWOdOFuaBptH98ci/94uP7qImf5PvKa11Ux09uVqNtub7WbwsCLQi0IPDvGgIXTYoxbdagUuIN\\n87457m3PFlHNU+6Lb/xFrsQ3+xel/T5hpdzvk/dvnse1+qfiBPQP6b5reSV98ZvbUg2v3pd0zWE+\\nl6ukKX4Jb87zvvElXctvQaAFgRYEfoQQcGqrrvc28bLpLjff1DKMg48I7nQPYkoNq+JuEDVpEoze\\nJBC/vcxccvNvPlKKpPFSsmAdduINsPHam+xBd6Ic4EofqNLzXa60oNpbc5m1i8N1FzfazM32m6zb\\nHCVXhlLj6V21NeLNYz3aabsBl/O9WzuB/N/f3oUTfjcdYgfsAETCDghrFE9TP8RvLhFbndg7U7pZ\\nZMXUWD8IXqQf7kxjp+xWun9nBmKnqpJBCtDO3Lbv08JGW/+yu4vrNjQkVx0oBZkQgUZclKc5rPm5\\n0cr8LvO7CsQCUQq3Lq3sgARbRXJmHeTbIUSFASRmJkGMXoVAMRbv2lIiJ8VbTrlsUgeSHEWi4wxC\\nxA7Yil2uQ9S6KaVRl96IXOfbV8qx/HIf3wsPQagVCXW2R/mHcPC3Q7wC4XkfhOIE9ti+uZ5WFpfS\\nMkiR1yt76fefPQlGgZvXx0G2In0SSJpauWIWqSF/JeX9W2uOz5WDPArpCL4g0kvE7aIMiROBlLGI\\n882P/NUfkwhbeDJCAl4peBlDlETWrqvlWe451bVmsgE/BJHY9kV53jQugyIYXyc4ylcbD0aS/Ezk\\nJwjZY5CxeyDTFpAYfvJkIX2N2so/fzsfhHiJblsQ4I4gHonwVf2mKr61qXgbSSsZC65fwy4j0sMT\\no/0gtXtCgggN8QnBkJDwOYeXixa1fr4fBGov7sLM9cEQsT45t4qnR0to+sUHqBpE5fevf/EokLOT\\nw71IFkPkh9HGNSlQqQyUBpHIEt7uztfomMtfnK30knFpc/MM29XYUQRxe4SovfSK3kDqZ4kvy/Dy\\nOxHpW7cR6KBFNTRi7rSJOacbu35HO9gQXmeNfYKk8G4gsbewsbuCmvs5iMLLa9paRtZpn3YcSmjo\\nZt2C+sC4DcR5B+opkbbVtu7//k8fpb/DnuWjexOxfqhiuhm6Pl/kzkEmEp0LqWUhLAqsxTXN5xnl\\na9+V2KatONfBa0gsaVdVm8Mr823M0zBGzS+lOSTatH86PjzJHJznNN+vxGXtsV6ZGoXwOwpMFgiR\\nIIKkNPuASSg+95EE/vST29iXnwxpvTG+01DrinpXVceqGlOnPcuDO6gtpeED5OVTT9Bicj8iRfmx\\nT5dBp6R5m/8mvAxx7bBvqvr3WcJOIeqcubjo6tVyE3NoLsvfelQkvOAnEjXSlzyaqcBMPHCfQnpz\\nKj0B9puLwJ5xq+TeXcT6Pnh0P03wzehKvgtqaAX9VSHADMO8UAj0Er7GhxLaEbowU/IxxDRt2aJu\\n+RkStWj0OESN8yHqVrOTEUwi2hHj7JS9cVsaZN84zjudmR5hz3gFNe5TEFWxvQsjxhWkWlFQklzH\\n8teZR1eeJUonHQnNrrHfKOPE/ND5QgpyYGgUxgwu7MxOTDxLv/vDk/TqxWuIkTC2zK6gPWAzfdH/\\ngvMCDJNQqVS/2w7h8/i4HQnWU/ZbR8EUs7eFSQ6I3H7rw2iIuHNjNH38cDr95hd3URE9g3rsSdSn\\nM2+yVzaNq0Fprb7fmnwY7R30C5XECbvF7W0HMIOqQvgEZhnCgizud8Z9EEpLCfkbcA7L8IBASmrn\\nL4RWYUTR7q3wYj/Hvv3sTJXSzL3s12fggpE5xTnLuQv+2VBd3cXLlHlHCVNVU0u4V6Xx4SESw3uH\\naWMVO8uU34164SAWcibpAi4y9UnIDMYS1hDvg8HP9aN2ZclhCcTMizGnZAKxxFunFRmZDo/aQxPM\\nIUT4I2zXaqonDnLM264/Tt9tlN2hNHNQ9oSpfdQJBWdj33RHrHt7qvmHUqyUcnE2p7EMmNdLZhV9\\n87saZKij1Tt1KE2MLe2bMyMwc92GcQVmvecL6dUcTAWsd+ubh9QBcZsz3ymMiWiaxqk2nPdHUzLD\\no+W+6ayx0f585yuGV4xx1wNhGSI/G7hjpHBPIAyfHEksP4QBSenaHtYRbFxDxdasT3HnRkftQS9g\\nx41MGu20zfY5LpDpZ1jZVvffzPuxrtkyvyHgUgOYBHSdqrhZHhmf3exbHrGOc867MYe2kAVsb69C\\nPN/FtALvE47NNsac33qiLse4ktF5nJRWVv1876+XtblvQjs3+9sp9sXX0KAzDuPJOvuL4/QNKr5/\\n96dvGbeun/dSL8xXnBxyZr8Vxm5+wIsS86+jJMO9FlqaQGCEl4mNF5HHU0lgOfmsj5brxHYgff1s\\nBeny+fS7z56nx9++SMuolz892sMGc1/65Yc30n/8x1+mX396j30EDIE5O59D2d+VkFpEy2tBoAWB\\nFgT+fULAybBMiGV6rkKixBnWHH9ZnOEXpS1hF8VbfgkvvmHv475r+reVaVm60tb89CP9/bESiAsQ\\nf2iwvU+5JU2zX21LiTPsbffVuJK2Oaw5vDne5+ar5NFvuRYEWhBoQeAnBwEntbJKNk96dsbjnvHV\\nSw7fY37kTtf1QxQeQoJnCOlYpWQzAr6WQ++igiOnPyJgcPU0+cZsOu2EemBcXDmD6LcG1/t6OkYq\\noh/Eksh2icN1hHvO8tZfj+X1qkjpwV7JSg/u54k8RDQwHbUyz+d9oyILLg03O48FtaAkyK2ZIbju\\nr0Bo2+Pw3waX/AaH8R2QH6gm5ZwvAVEN14EwPj5ArdhB2kKl6CIIpVmweC/n+gMGq6ijXt0gHsTG\\nLYhYo0gZ94oBxuXfuP03+rHG0ulKlQYBP8dC/jMup6uGVHLUS2n0oXHXSEcZUbZeRt356EgEhCAX\\nsSWLmrr5xWWYCbYCUXr1ylDYIr2GNNnoSH8wBZgjt8aSawVyJwJJyfRupIc7MER3BvFGidkD1ceC\\nUBOfk11pWyOv4QUaJZnfCnTluLIqPgJA5ohoHB3sAEnbnW5Ooz6VAfLRg+tpdWkJ9X4QpNfXkWxd\\nDMnxRw9voVZxGKTreKh7y/VbQ6kl+6VFER/RfLtKponAo+FKoUjQDUkD3kvJncu7/Nd0akUXDtpR\\nDftqfCyWJayUavHbOefM1Bx2LsHFD9Us59pHREai+UVJcCpf1kXllJymgRSE5MsxhLgdkLDHEEX+\\n8PnXqKv7Kn2N7dPlJZDsMBW08677Uek+ia7MG1fHgvniLhKYt29c4X4KaSfVuzPXSfyjWDftb2vB\\nRa1qhb0vBN41ePIoKfDXR+Nn6kUaZhI1xIfTSIsSpuppTQiI0o51LIaFMTk/N7gyVgythudYf0uo\\nc0yeczKS22ftD69vHcZcvoVaTIkEatMYwj6iair5RGKcsEwxR6N6GmYqEf3hqJqpnR8R/qBfO7ED\\neboPg8tuSLrOYT+0DYTz7j4MDEiYbYEsB0/Ot4bayy7sXg+MBjK/jfwnrAXH2GY8O4X5hPllDILK\\nPZiI7t+7iWSf8mC5pzV8NE/0qgnMpZ/RtspPFUIZGJdBqpIpbk2Xc9tj7xACRFqsLYi9SgS/AEbb\\nrIMriPSvMeep1v30FEpmxfn+lNwbZ+6W2aeXtfAM4s7Z8W7M0VchEH94fwJJadSJYwdVwoxSexKG\\nJbBZt32r94N4W2a5tTdRiSSw7i6DSD3Be91YSinJeVJCQRCs0VjiXHqs1B9ri1pZGs77kqsRakg1\\n1fkUlSduffIyvfOVe5CJsQ6IV2PAfzjNPlWVLJLocM0sLq+imvgg0jZKKTU1Qiim5f6qEMiwLhD3\\nvSHcG0Sjs/t97EtuohHljHWqC4YKiK2oDHdd0+6235qMWmF7G5MIMjNNwTmjhosbMDjdhglAxoyr\\n0/3sP/k+GPyWr4s3zY/zZOzfbYCBpSEmanJGRTTpHNfOMY5raNhBLO7txC5ozMEn6fFwO8St5bAj\\nu8cmbYN9/PoihDTbwCQtwVNmvLxV4etkfyKhboL90STMWrdgklOt9IcQhj9+dBsCt1LP1BkN4Ofc\\nt5MbKkOOqoRlYG1nIj7ZA0K21f2+czB1FCcTX5mr6neN6JgnBEfMX6NqaECrC7buU5uqu2k3Kqzb\\nsGE72NufrkJBVu2364/zizCReNfVpTQz8xYEzlM0XbRBrG5rh5jP/Slz2Q77+k3m/zMuSWUSk22r\\nzcySoTxLYPTMQ4rosj9cWYK55htEh0JtckSb2pawT0PbQid72y61WyAdqrYcmac0p9LZBTEUe79q\\ntzk66uD8wdy0Tx9dpKwn4MEPRD4Jz+4Hj5RQF3gXuRIccHbGzUWU1jAdxfoIfTgYvKZhWLg+dT1d\\nv9IPM9Q4RMu9YIhaR3J2BSnyhXkk5ln/QpWy7WGwnDF/xqBpqj+fKmsNKGKspHGcSiAexJDuMIxj\\nfXwnO0cQ01m3T1Bf3tFxEGvNMGcqzbsMsJDU1+uoI/ei9KVarWu8asc7OmlTu5quYEjAlEFXN5Ll\\nMA70uh/A+G9l2NXvfTu21m/INasHhrdB1q+RAfad/bfS9PhAmrkyDPMYdpqRwldt/DZMY7to9FF9\\nuq+oGyPPMkw32ptHtG3VVX3vXf/ULHHjWltoFHhy+2pa32AtRpJ9fmkn/enLOTRroHa+b5CzTydj\\nHoYO2tThXqUUZsF15+zRcPkd5GfpwiXOrN679QFSwcDAUAqpdCzYoG3gEJMTi+nzL5+lP3/9Mn35\\nDaZ3sJed6Of0VB9aUa6nf/j1A9RL30ZF/ES8L4qpuwubVostdfv4tnT1wlo3LQi0INCCwE8fAmXq\\nu2jaK1OzvWxOV40r8frV8FJmCStllPQXhRunK2mb/Rx78W9Je3Hs9w/9a5X7/VtEzrJH/4sK+QEz\\nC6Qf2r2rzBJf/LfV/z5pmvNflOeiMPOV8Gb/sjJLuub41nMLAi0ItCDwI4dAPri/byM96GWOdDnU\\nPd6JiMVWLtLDgxCJVRcnF3Uc/2Jb8B7TYyWJWcplsAfH13ATP4FY9vUTbITOLYAI59ANMj3qicN/\\nVETqdzuPsP6VXltHIGC4iRgRDy4BNaRGo0RTvoernP6jbLJ4+IdekNCGB0JCYtNI+tXHN7EttYRd\\nV+xIoTr7BBFN1ZKdwJ19DLV4CzW3SqVpl3EZ5Mg+BILllUPCX6dXqBp9hh3BJZBsv/nFnfTLj7CB\\nikSD9TS30uf3hw6Jv5crPT2fOYjDYgCJjjZUG9LU0HpUSVt/Q+fLzE+8KQZiFengSNQcFyb30iz2\\n1eaA7QG2+HpAymhf7wbS1hIkEBrIas/EqNTecR4RuWTxhl1gJlWbrN+O9GkQ7VHXF8TWaGhT4y9q\\nImEmlUCs2uv9Q+QJeBAcHRA4VN02hhrxMaSIR0EGiXj5xUe30+bGLqoGd9Mz7LutraPq7dkCnPxP\\nsB3Yh/QQ9jlBDOui6dGW+CEkj2lbVlpnjBLEXqKKtJHbBUIwJIjFlNWc6RpPBkbOKLE8iQNUUkSm\\nkCBk0I8iQSyB2PbUy4ib+pNFnHOWfpG7KIefY0kvQis7peYr9dVCA0ka/c0BIp3blJYO9ZVtfDva\\nk95Jf/z82yAQb2+AWKOk4WHU0aKGWJtm90CSeSmdL+FpDAlUkWjgmIOxQLDZTpFbtsv7arur90S1\\n3DshUCBW3nLJUKBbnotv+gbq0XGg0zcHPEN88433klMXZhCeGKjVmtqYRM6NXQt7izNvHbHJvQTi\\nDTRbrDGP72HnU9Lx2HAfc80gWjW0I5kRsSKPtWcYtim7NlB4asu4nMRoPeQDxmkPc0x32ket/e72\\ndnp9usKz6lElJpBMJgbtW6K+dGx0ijquMpf1UfchSN1l8omU3iUPBGEQ1QNonuhHmri43G9+rdPg\\nmlfiL/LNU67m9I2Sc85YOrmNttYKq6YRbn4/qhYVPlMQroZQ47m5vABjD5JR+6rohlhSCrKs2gVe\\nHXi28a0CU6hObfTvdG+XPQBqYpkT79wYxpbqRLo9Qx4a7Hgo32ppQ/Htz0X3BGdXIsvze/oXZTPM\\n+nTeO/8rSegloUMCh8RhmcKcv867yHE+yDLeCGkKqLyAUoLwENEg8fwa0p0Sif8MHLeQ1lTyfZMx\\nrHp031GeZ83Z3B6CWu6Hh0C80PJWgXnt/fnOylvo5+VBCwlmzMnxR0jSziB1D2EfYs4ahKJ9NHso\\nrShDiowpYyPYFkXiXtMIMj2NwVwxjMimjGkSOZ0nS9n6UXtl3EQnI7B0t4yFc4H1eddQU+h7oYU5\\nwZ/C2jmN1P9QSPw+ez6XXrxaSPMQtmVIWGd/c4hU8TGTaEj+ka8ThrMeGqmKfM2p3KLT925PI+U4\\njXaBafo0zPzKPFibV8lCxaVt8ZTbQSN6kA7tg6Orn3NJN9wiRzvqDVAdc74iYWTxW7TVAiX3wF/T\\n6ue73C/hq+3WUdrQh5rj1Eb7URF9diKzyhEEPQjaiHyPkcg5S+c8FERiTJ1kAjFUTiSP2yEWc4zB\\nHAFMtZyZDve52CweH0CAlTPWiUwiKP1jCxlNgxYd7bLc6DdJbKf/4Wh/qB/WD6ZXicJIIQNX1SoP\\nYatX7ShDTML9SNH2QEDXBnJ3dz9wn6AdQ+ngpJuzxX56/HghrSKxegqHY5gvkDgtfFg/pMuesCdW\\nWjnDqF59BpSP0aYSS17+qmPaJMZ60cTUA2MBS2do+Xm0N8bc5H7+LMHvmb59spj++b9vpc212diH\\nOW8eoR3o2AuV07qoqVQXISU0B9oc9/cyDrHswCwKIxdcM3uoyqaT9OmA9wTzMfEyeA0Cnz4+lrxj\\nKACuFUyR1aq8tw9daH2SINzGWDiWgaltn7NEO2MQhgJE7HssLzLm8oRJKcnhYqhzsLt8aNipU1Xc\\nNOjmzHWYI66HeYlXmEZ58nQ2ff7FfnqC+ukdiMWHh0ib90zE+VsV5OdcWe9rgfYn1wvMqUOzD/fv\\nTKaPP7iDGZk9GNJgtN3YTF8+WeKMf4r2rlMYtHc4Z96jHQPBmNFUQ71ke1MgpV/uawnqMCv9xJQ1\\nNscx+YJZIAnfz2eX02PO+U+YK56/nA3mpR0YfdWodRVV17/5+Eb6v/63T1EvfT+0pHhuckyVmgK0\\npbJL/PdJc0nWVnALAi0ItCDwU4NAmfKq03O1DyW82a+m8b7EV8MvCqvGX3T/PnlKmuJfVI5h74q/\\nLN9l4Zana166cujf4Jcl+mfpCqAv69y74i/LVw2vlnHZfUlvfDWN4SWshBe/mqc5XclTwkvalt+C\\nQAsCLQj8/CAQRNjcLYnDEm21xyqBWIRBHyzZA5y6wx4pq9mbKqbfByTn12OfvDysvpo/Sd9CKHs1\\ntwqCYBtkTFYv5kE7Du/19p0v47Jay+G4TORy5xcVubleSuWmoIcuK+fy8MYy4uHVMpV0gAE79Uxz\\n4EdScWZ6GlV7g2kbLMhRqC4GsHRI5PgRFEntWS6tbqU5bIW9pN9zCytIOyLlw2n65exe2t6dD6Sy\\nEmv9iDS2t82EzSzVBWaXYZF/G+0psX91nyoLoioj34ADfYtLiOSGXdKM3F6TXNzynNn3452XBGLV\\nS28gZbe4Ahc8rOiqIh8bF9bjXGMgfbSthvNHLMwFhYvA74Ya2NvTC7JV5FB7IMMwDRqCCnlcVLJW\\nGmlxuWXZ995vZWvnLG2qohoEvGNWhNEwGN8RJIhV8aj9PjT8gQgdQxLxXnr6AqQvkgFr8wdpdnEn\\n/f7PLyGODCL1NQUC6GrC9C1SBhSkzWwpt5V+eFuuPIiJB4lni0K1KVisLJVSyURsw5Ue5BCfyuXY\\n9PId6nyvWX34uSZEXLVNOSD/ni+9GlO5ryUSrxUXUfYArYiM+WMQk1DlIPpq+zwEgcxaukPefMuv\\nLxMCP2jZfIUdPe3DYj94HBW3IyOBfFMl5B1USd+7cxWJ4cmQSpjClqkSSryqGgLKSrILgRnhEBXp\\nlxlFWJWG5LTnn0oJLf9NCAip9xodpMvwfhO2jpKqA4Edj6ZEQs1vptldEFRPUm9OHlTN8w34/ATu\\nMuxlLkHwUIWqWi2mJoZg2BkBCd0T875VSJDRHIB2DXtB1m+AOM4flrFcjFOJxKdnXCf6ShojaQpS\\nX2mnARDZA1D3RrHBO4VN3cnJaaRpZ2Au6kBF8DK0hL20vqrqUNcTpbuc/3ZQm8m3csrkQv3xFdHm\\n6ng19F2ugE1wOM96OQXIB2ax0BdiXuM2nOl09sxOxvKcH0LySCn8YSgBY3DGDENEnyWVhOFjmKQk\\nONSml8htNi+JLRKWR/koR8jbjeTXIXOq9gjb27ZQ9b6LxNUx0pYsgFEX36Ul5I/Uu3DVx1qyEpX9\\nCDwf9N2fciH+FlhYhs8SivrhUurjkoBzzNp/7JzGxqre72obqvcW8k7XyOBdJgbIBpOZaiR+XIFB\\n7SrroQwMWwhm7cGgtqd2BZmgbHCjCB6ae/DOBrQSfAcIvAndDHx/45PFN433moeWiOZ3MDWBpovp\\nAYjDE+x59lEdjF3WGoFY9fYjbBImkbZXk8AwIshK8ta3hpQVrjrg6u+8fkOSautqeYpXicpjLOez\\nnUYpYdjNWIM+zH63nzF3JyQgNdkwN78K4Wc1LTNnbsEIo/Sz6pYlpPZCQBvCYO8V+nfz2lhoyHFN\\nDql3pCiVqixwicHq3iaqzmtCWQFkyOljbzWKKvUxpHkHEZne3USTCGeWvT3s23LJmFHYIaKQmOjy\\nntJuWmLMInTIKKupz0MQiEeRiu7qOabcfea4g1BtP4P2kavMz2PM886LOvvFlA9BtoNLpjXNjCg9\\nfEJfsfF6nbWCveAZRMojtEAc7O+EZK6QdK9R9s0+xx/vrezBogKfbS2N9JIg7N471g8Y5GQKlDA5\\nyMc/OgLDwMQo8y8EYgaFZnpCVXM3dnz7Jpnbu5L00mcvj2BW3Es7mMDRNIcEWeergD6TqGAPddbO\\nW/w1nPe1jodfnnOYvyW2kSePGc9IMlSpevqIcS7ZdxP10uMQiI+OJ9MXn6HmW80RqudWpY1Mnl7n\\n6s9PpbbG28y1OXZCxTTMRiNoGxmEELzSvk9/eCenMlkcsT5n0z4h8etyEuOi1kcLbrotPZSJUILz\\nBHvHoVFMGezI2HXEXnOM9Zp3DMx7OKCFBHTsTBqQ8K48qXzZ9ykRFoHgIBTDL5EmUKxxFe0oMzMw\\noHGu6WhbY4xtpWedu8FoehtTKNPsZXvkkKu7UmoOyN9qLt8QhmVCkBp18Cl9+OhO2to7Teu7HekZ\\nRNqd7fX0+Ok6e4mXaXPnFI1V2AXenIZxg2+KTKqfZljVTazkGvKv62x5M/oyyvq5wUvBu8yMdXyC\\nEKQ1CYRd7MUNbI4vpycvMf/y9DXM04t8V6vshfZTHzC9eW04/eLhlfTbX95Ov0Gt9D3U5Gt3uDGn\\nCTFcvKvchtZvCwItCLQg0IJAQMDpsSxVzSAp4frFXZS+Od601TCfS7633Rv3fVy17Ivyvyv+ojw/\\n+rDGGvejb+pbG+jL+Wu6y8qvhjff+1wNs30XhZXw4l+WxvjiSrnFL+EtvwWBFgRaEPjpQqBsF2o9\\n8OhlkAc9D3m72LDaQWIhE4jb4bLWjhjI8JBOLN0mB0iKjLYpYc1+bW9REFW1w53ozKiL5B4gnz1f\\ngUC8lFbX90HwUOaZCBAP2hz3m+rIyIrLazWmitCwStVUFxtfttDm2LJzSBgjvqNzYbAcfRET3osE\\nQaAjpBKvgUg4OR4IAmSAgESmkQgPzhaiIofn1aP06vUa/Z9LXz5+lp7gL4Jg29raSf/6xXMIAnBX\\ng4Q4hJP+048fpp6R7qjPTlhW1G4D/gZO2AbSqlZ3EBiDAGDbbJ3Xd21c7lXJV54UuEAILSShVC2t\\nqlKl+UbBKM5cxX4stit7xLAWVxtr1l4uyxKxKJJSSXglbiOW92HbawAtJVR8czZQUT558anEe1zd\\nQMIPxoZ9pEMcs51gffopfwgxmH7sYKIxMsYFmozT1v2rMATchwFgL/1pfwO1g0vp86/nQfp0g3ga\\nBdnXlh7eu4KUgiNKAINtqcOS25qLNjgGauPAcR9fI/0OlezfEewFRgEs6rPcjCCkJj/WqrNy3Xes\\nwzFR5/WovZ9SlMThlZUtCOiM/c31kLqZuXk3jYyiKpGqRMLWx5tqGbkyMQgkK8hE3+sQY2EE5PP/\\n8R9/kz6+f4PmHUMERq0hSDWlra5MDRHPfAYSWsRcEL6iI75JW5KhEAww9b413nskbf38BRAQqOWN\\nv08xpi3pq36+P0X1cia85rJK6WW4+gV51V0poh7gzfnA8uRXh9AlklZ7MOzMQ/RYQIJ3B6IBKnyv\\njMUlQ4pj0zwi4UeH21D7impoxXYIFel+xoCPdYyPSMS3s0Y7E8Iw4/Ta1REYWyDmgZCdgOg8hB3y\\nUQgdY9pGHBmGwJfSKsjzPighe3sb6dUr1TUfMvcx3yxjw/H1Qlq5PsocOJm6laTnz2+s7sptfSzX\\nY+KmwKlE+wztOZi2jrAVmmBO6oHy7Tzm91J3lhuZuIk6nC+4JczvVPy12kaUZhtA80hIPEU6M9HK\\n2rfvu8khILJ5GKK/4yyeE0gkDkH82t/GFubRblpdWUpLS6/T5vpKOhqfhnnG7xXmNSv0cp+QG1T7\\n5fFCZ20/vIuuUez/Yu893yPJkTRPUCAkDfcAAEAASURBVDOogloztayqrqqenpmdu5t9du9Pv/sw\\nz+32TKvqUpmVkkmttSbv9xrcwhHBoEhVXVnlID0AhzAA5nC4O16YmaijsRNQiHkISWhJER/tojUE\\nYPYEJMjzWQsyHrxfa+KiuXov2jp4jAAQdTLX9cPPUlhkYhQIFW2XZoCUWFZVsUpWx1QlFycfhAO1\\nXI5PlngN9U6sUa03khI/zQBovR2Mn9Fu7oFuA+x0hbRhSnONgEyBN7pvtDlF5fJRoJpwNsYuu65K\\ny/JagXo/WbpucLKrRDxi67XBSu+72hQyAsL14HY/5lGQDF3fxgSItC4IqBXoh9Qlc6He0aRpQffH\\nMOqxe3vaDAiSxLCkdyGHU53Z7KTKzFUClqrnPViovfeNY5demyLWF5oAuw54h4jq7PcPQKhQ6ntZ\\nD3OqsV/ipTSKDJSb6Q9t6zoLG5gzEQAsCecH9yaZswcBfEvWQs3omhq1MWMA0LCvFxXALUirnm3b\\ntDTYXwpffzFldmBlE7eJTX+HbPLRJjhvl3wL27scIfOJdKdEayg/XFO9n8T3bkBGBoQ0vEhSuAP0\\nVZtCykg363oQRVpWVIylodLCsw1bSiTOTXejmWIt7LOJ9RTTBU3Y5zWAlvemaLpEPgV0uIsNtXZU\\n2uRpqV/Jp0gf4wrrKZWBo5zJtIDMBbRjlzmwCerwAPAc/rQwVprYoaQNWTKd4k7vpf78qL12yqNu\\n6r4QTdkZ7mJ3ZiNAvcB5aevgC5f7h3d0SGoM6RZJ6YhGbYS6oueaeDrIxobbN/rDm5nusLl0DI0T\\nU49+Cwl402BEfyI9Y0BOzO6fGCcb5LFebWyMTmOIfcWhFZCYRz/P9F7MzTxGnXlzeDmpjRNNmFi4\\nH+7dm+KZys6IxNkjMDlXUG0QL1Qj7DA754/vo+u74TFAcLwGr55jC1ymbp7P856xSZ/mrW93brCJ\\nEpX1w3yPDLH5YoB3kg42bNlYElE5KlC9BgzTCW303tjk3tvYZlMLB5qS1vguWl7dRXJ42wDi2cU1\\nzvl2k9psvmebsRU+xDv5wzsjqJWeDH/46g7zxwjv6wDwum5Uo6emzTTGv8hZq7/4KThQcKDgQMEB\\nccAnRvn+4KnHGc+nNOWrl9/zpHQ8zsvJT8umYaW5uyje09/H9zal7Xwfev+wsnr2/1acX7R6/b0o\\nrV58bVx6noa9novi6sV7GflKT480zsPyC1dwoOBAwYFfGQfy6VFPWX2sSiJym63E26hrPWQ7sD7G\\nBQxrJ7qAVgNq3oYLyeM7+9Sz0orGNBQ2egN2d/mAnN9lEVyfhNiXbNTiSyuLPbRH0rdaOcOp/NVO\\nlHVkefFMClIraxnKdMLHptTQpUu2yn059aQjSSP0qS3nNephr4PveXbkn6fprdPCkiTUxoZaWHAa\\nDqODpdCP3r5eFpe/hdczb2bDBir6vn++bx/nzahD7u3tZwF6zOy/Nas/9MPrvbztVPaBnRY4tMoR\\n/Yy41P+qRfqY11HXvV1LnYp2pcMOQMQVJOlWw+HONgtaZyYlMAL4N9jfw0KSxk/q8rqsuSRpYUgS\\n2VqsazXbeLRYfNR4sHan5bOwGpGR8jGoKN0vCPbQLqmL3mWsksrGBtkIbQcp6GC1vsRKrgBisIKA\\nUApSNqiaxsbW7s5m2FibDc8OWEjFNt33zxdY1H9hQHE7mzFuTPSFdhDMZkSPJfXg9alOheOhNmtY\\nq9/kYnfHkexda0E2WdTLuUA264hKR+d8EQlfjBOghcAPi5hIv0FLqqcFMuhaR1p5eY9xerV+Xjdl\\nKmOCdrOkLSq6tbVst7QZwo+o05t+9QJAaBFJyt7Q0FpGknA0NLHoFm9dNcAP1QwFRL8baVwrmygk\\nKTEBCF9qnAwHt3tZYDrlWiPxAeDGGpctGrIGV3GqX4d+4qKjWuuHEqJTPZbPIyrxNRHF6TU4IP7W\\n4+ZlRZU/XheF/Dli+CDnuickuYIGYzY3nfHsYicJ46ILCRQtEGuxscVWgymtQuecqEquJ7ZMvm1Y\\nAJydmVsKM7NzYW1lmcRj5uhOFjD7bcNBJ9JCmus1hg3gRAqoG9vzbWwK0caOCBAD3FL32ZmAEmym\\nNwMy94Zwe6ocfvfZ7XD75rDZEO1DhKgT0KETVZUdAC6YOTbJnUXCKyvtgMNIybHqvSp72zw4l1b3\\nwo9PpmmPAJZG2yQjsCC3T0ij6jj1TU6+2g12aWq0tcArlZ8baLBY39xAAo8NOCd7LCy3Ic0zaovE\\nsvmp+9DuY93LzL92SMorY6vo+jNBqt8jOK47yPkuP4b16zO2+KhF/T7USQ8xn/ejnnpjpQ11rNto\\njNhCInEN+6ZbYRs78z0AZ1KjH3vh9PCNrFqQOMUl804ElJP0S4Px6W59SvMZvaQ+sYFOqy8CaMtc\\nkzKSndIkscNEuseLzC4b7g6Ym8VztTx356jnSVeG1D6V1xGdnm/CD7qQ6pSkWRx7AoY1h3OdyFpb\\no7/DiEJOya9SRrjw3okDNvyykjY8K1Sc0zFWvzo0hgTo6H1BWkd0pM7zyZeTHyll7y+cVa6n34iW\\n86KfnEJVDq+gar70NsecaqvuWwmeSrMN2GhgP2Rgvx5S6128z3fZO7zetXUPCiDWO4YkEwWoCohF\\nS3TN/QDByv0a67FeZs301qpuNAQDyDaF4eEugLv28AIbwIeH2HfHfIvMARzz0ui8cUryvWsxTtyK\\nMfpVf8AVAa9L4eHdobC1Ph5KqCXuZNPPP3912+wjDwKa6fpIAlZldIk0dw1hBmZogA1tLQBgx7yj\\n7gMg8jdYbgh3pnp4z8cECv0+RlJTm9o0UebzIkRw9g5qrVbLY7vcr8RQzv5IVg492nTfa3OKpGd1\\naH+heKRD5XRo7lGbuSxow6BNk6WwNNcaVpdWwgHSpMdHAu42aRuqkxvbuU6N0NRmPAqZc0rUWmmM\\np9X41nT9pBkV1tNa7dKGJq4/PzyeOY54h0PC9xSw+piPQq6ETCh0ahOWOlfjjHwS5+fylVvzsGzZ\\nyzZwQ6PmPqk5512RMdjKO3n6PRt3Lda20ylmPIamxjj7UMPju8OYBLoRSmdsHOC98w9f3MX8gTQ8\\nddj4sRJGTjQyOubph4TkvvQcGndis66bgGIUCYXmU5673afh9lgXoHcD4Cn2m0drN8JSqI4TXb9s\\n8jthClZVuLbt3BvYOUfKvaNxF+0kx3yHbGL/eZlNHStsXu0IL1/3U8+gbYQYGx4wleBdXZ2MazY4\\n8Ez39htALFXgaMjYkYkkdoYsr66byaQVntVrfBet8F20itmXdXZD77MpVhpEWrg4fcNs7OU5fw+z\\nL58/nOK+mkLF9iTfwWh3oq26hmKhbQjAj3x0bllE8VNwoOBAwYGCA5ED2cPFHzhVD17nkabUi5zK\\ny9XmcboxNf6mcWlYqbXnF8VdFn9VmtJ/NU7P/p/T6QJ9CHddOlfluyg9jfew+2p/Gq7tT720enFO\\nR2l+eFwtzdp4p+d+vfxFXMGBggMFBz5JDtgHWDYtKqxPd9YwUQu3j/QUu7m16k563KUucNiXUtTd\\n6mlR5atjlEeu+n0j1pnXtbN7BsCGTd4tPuJP21lA6gonTQeAwkhLbR8QL/V6gpDeztVri77LVf8J\\nC6XHtmCati0N15ZO02rbobS4OKxS4mGaOw2nJfUB3E6BJhZzWQNBpRdqSwc/CyNDAyzKtNtu7elX\\n+1yLzfDXH2eRwmpBlRkAMQts2uHdzMqagVpaeEsJ/4xh8dOPvNfqMce7NiphWEbJ+Cl1ZUuLq2Fu\\ndh7pORbfWABsA4gVoD4EONyL5B77GBKXN0Ah0ZKvtaYOAIZOVM/lAHFcPDegWE3XAmVePKHpwZho\\n9wsrbpvsiN9EDaEBxCxtNIGitDSh3k8bKwg3MdaAVmxsyB7xZ/e7AF7vIZ04DyizF+Znl1lYOQj/\\n66/PTR2pJEKOTwCPpgBDWCzy5RL1QXXawYmAW8U1ApbIZvMOasul0nF/f89UGLZXqaIjY8XF9nsX\\n5Ysv7SzclCjThC3UQxZ1D7nvpNpSC63Cm7UnIfJFtepIKXBa4zzVslbSKMcinVPQnY3igPByZif8\\nxx+/C9988xdUrSPJcHMi9A2x6DYwYlLYqtvAJgacypoDfGlg0a+JRSoBxJ1IoSBIFAa1wnbWb+t+\\nWjw1aWF8Nb9eq+PdqxTlqHWxtnTmq81RnL8tByoj4y0KAnJxfSrXnpKiovHDsA8rqyHMscj5ZmYm\\nvJ6eZoPDAfb0esNd1Ip//vAm8wQ3Hk4jz+bN7MxGRAZIiLYOPfWkzn5mHrWIr2dMenh3CzXHzLmj\\nDLCJsSixJqBDbdChvSla/NdcHqVttSDNvcp9yTYPwtyTh+uk7yOJ1hv++fdT4d//2+cmsWNlWCTn\\ntrN53+4zaMqhiAA1soxppO1kz7cVaeLTo2ZT2/j//fFbwhtIF51S/x02mAxGaV0VVEdq2Oz9k685\\nRP1k6sK8QcB26HJ4Mf2avs4BPq+wmLvBfbUTHrCAe/bf/zm03L9pKtvjhE9B45lTjBuD9CQSXW0y\\n2z84w+7wAYD9IWCJYnHKLpeBTrrb/J7U81CADxpjw8iwpP17w9ybEu8h2Khc3mID2Rp93mB+2wvd\\nJV1LOieA2tqRdtTDlcpyPnibPcmyen5Imqs9z4t7jug7EY0njSrN8Fx7+lBG+rCvtwPJ7+awwty/\\nzbuU7Fhrbt476MO+KvKienBSSk3Kx2N1DVedZRSqsomssHM9Q/Qc8nkrdj3Ou7FA7XtD7Hf8rSJZ\\nnLwnB6p56uMmJRpzaPzI1cuheKejdB1+rrToFMNhY8vjruOfp1QpVZWUnyjk7dXd7Sl6BWOPC6Aq\\nbQQsjuNOqdlcSVCbTPxQSqW/BJKne9IP5Yqnnld1U41thhjsx6ZxXzvvJ5jF0bsP0rlRpbvnVumc\\nto/8SFUJlZABU2r7+FBz+Nff38P+ecnsQbeD3P3u8Y3w4NYw2h/oGE5t0Lyl0iiEQBOE7CpjiqeE\\nJqSDJQDiTTYWHaAJYZxNgoO8m3QHpnHTIHR2Skmv1n3o+NzoLU+TLFk/OMV7mvviqd3/8pM8Cmcz\\ncOwfEShpAJzrCcvsQHr5CjvlSBIf727yrrfGPqhtANY25uKS9bUeQFupHNpyaq/qOe/yWB8vusZq\\nj8qIfwJF2wHh25EobW1C0vdkh/fRTtQsYyoEkwstEoWu65xL8mMLVJvqES+0UbOJo8E0TmizgNRo\\nS4odO9gc2vAsfuUtjDRiVRoleYpoamzzqYG06wRAcUv47FYPcceYjhnjnWCIMaAc7ry3fu6+08yp\\niwdes/eEvW1haqQhDPdOhAMkbJuRptZmN/a12ruGU3M/ltevXKxDv2qFYtWyEie8uoTm3w2w4QsV\\n9WijGkZzyQ9sNJudW2ScbofXW3xj8d7T0THLO5NU2DNme7q5z1BRLoCYl5S46UvvNmjGABzW/bbH\\nBqgNtF5tsstM/g6bzA/3uQ959uvbQRq82rixtJF3AqT6Niqk798eDfd4P7s1OczzHq0hfJdpw4ic\\nP6nic1IxzjdLrDpVauEKDhQcKDjwG+WAT47y04eAh1O2eB4v42mX5fU88r18GufhNM3D7l9WNs3j\\ntFL/qnSnLb9eP1Jal4VVj7v3oeM0ruWnbw3XKvAryJQyurY7aVoa9nxpXBr2dPfrpSnOD89X63s5\\nz5eee956cZ5W+AUHCg4UHPhVcUBPQ320mwQx4kTbphpOauEAuPiQtsVGnxVreu5PUvkXZLEUWyzK\\nMmjNWIJeaKFDFR0qrXf4ej0tUVdXaGo5ACBrYNF/h8XhdUBi7C4OlZFU4IM+q6FeXSJdLz7GkpKt\\noEQJYqn8VO7o4sLUxa33fPX9WKtK+8f++XzkqVRHTv718S41t1IpWGLhoYNFpqamERaRJfGDROjR\\nfph5fcLC+E749tki9qme2SJEH6hhCRuDqs8Wl52uIj6i82q8CqsurZNwstZWFY5l0sxO5SI/zysg\\nwwBi1KouLCwh1YG0wwFAASpdTUIQW2Od6CgUGOgut8OpVvuSIPyG11IV1yW1qag7lHSEdrWfovfb\\n7WOqRF67U6yMIotQHt0vkmzeRVJkdw8QlTErCWLdK82s0reA9JgKSBamBEKqeVpDYnN+2L3dF2Y/\\nv4e6v5Owf4IUx8IykoqbDNFpgKZSBH9ZgBHI1dUGAMSCf8p/YSxaRLG2Uo+kdHa5Z7WT/4DFGkn+\\nxhbX6wlJmVOq2iUVit1ICZQB0mSjGUFM+oQtbBZ7tpHIEVDcLANyRk61cljll9O3PKpL95oAHYuQ\\nH/m3C8IHrheevFwJf/7+Tfjbt9Nhd3uVxaQe6j2CvwKftBmCApVDAdFgfhJADO0WZGPakIrogr9S\\nVZmtM5End1YrP+fvdeiJoSJb4wS8p2O6Jrk4/Wgc0NXKD6lg1ZnmAh16TknqdZ3nx8IiavpnF8PL\\nly+QiHkRfnr2nA0aR+F3j8YBa09ZwB2pAMRxDKYX2uuAKM7mGnywyPAKe3nPX8+aLc2zk6MwwCLm\\nDWxsTqErfqi/m8XMSEf3j+Zx3R6YFGajhUwaICkmNaLcl1IeewpAfHK8ySaWEzYCySZ2V7jHHHCT\\nBVuV9xZ5a7yf0lbd24vqalRb6t5sK3Uy0luQktsKP/40i4aCg3D/1iAbi3qRvtUGojjyNTP4s9IY\\nRx1xzohclQbpDVRov54L4ZvvZsIPT19j5uB5eANAvLK+iiTZNhL5hyzYn7Loix1RSeMxH+VPOIVj\\na6VGW079kPmETew2LyP1u4JEkRaMNckKcHAJpBwQpY0qqncMPAN8wF4kQTyEGm/ZZN5YaETlvNRU\\nbrCIvRJWpjYAbZDUkr5L3cmUdd4RUeNiu6yd9qzn3OpTNpXS4XmcSiWDMp13nj0rp7kk8jpSsueL\\nSfCymC/DsMxRm5hDWFlb5xDAPRDaUEUb7X2KvAheXmelSnJ6K1Wy4mxujWcSTJQk/R4bjw6w+xyv\\nGeU0iWW8qqLhxKsiK5SLwM/IAV2CyhYYrkt8uqfXXDmqL1R8luUXUXd9fvZxG6+W6K0krVF3o7Xw\\nfFPrN8Yaa53Nupa1XuM1Ukr8GONzm3LoXW5ivA/7qhNhZeFBONrbDPfu3gJwGmJDTzTHIoqxjday\\nCtV435FIjNVGRn0iaB7TRr57NwcBx1rDLdT4tzDXT44PAAwimS87MtbvfGOoNvJIgnhspAMQrCnM\\ndGIWZm8LYA5NAo1bAKDYUGfzCI+HWIEq+aiOidjnPLWVyR/5bXvf1cwpm7e3JluZWwdR3z9E/9jA\\ngj3iI7QdSDvR43uj4eaNMbNnLBvH51xkqkVnVwz6+RU7l98ixC+fLwUSa+tU3EwgPt+/hcQ29meH\\nytL60hU+e3wP+81jXEcYl7l4BXWS1hqvr4895dEmq2Zp4EF9j1RMow6D6e+E5wbS6+i1LrGbS/2K\\nl0El9DyL1zXvhcZ2rNFokoN9paYFqLdrOEwOAjLzbB9gV5O+J/TembtYLj/3UHW8n8nXoV7p0DWy\\n123qC91cN7z6zvkQy8V82XimQEyN/VBfteG0bVi0sZfcdC+UeefvK/fy7J9HkxcbVVfWwy7P7PU1\\nJIvXd9Cgwnt12zbPbgHqAof1Li5KXEc2Zp6iqUUgsd51jthQqs2kx5nKr2Yktdv5qO1BsrqfATcy\\n2AGQ3ssGOd5/OG4CDI+PoP2pj+uhDmcuPrNos80B8Qp5WtahtLOVpCJQcKDgQMGB3ygH/PHhvtjg\\n4fhYiIzRI8HjY0z1b23eNPWqcv4wqpcvjUvDKX2FL0urzfurOK96bfjIPRJzfw73vvW8S/l6ZRRX\\nL148uCytlkdOIy2TxtXmL84LDhQcKDjwyXNAT3Q/tCjNmiLA0AGAnOxo8ZHGl3YjqyZRetinxKzb\\n/qpxJRfyjF6XhJMFDq+usYC6eYy0omgjvdiMlFSbJAD2wyw7maffYH8QkHgUtZ7d6HHTQrxoRMAp\\na49FEFfTPGWTi3WSqA9bPjoFDKtvtn4Ss3yAX29E2gyPy/xsId0r8894LZTor5M3hYkRliq+HMU+\\nk0CADUC/3bA4f4qazd3wp29+Mgm1sREWJOBFF3r6JLlm/VZnLgC5vL6P6etb3seJtccqu+CCvEVD\\ntGwjqFMAsQCHJUDi3e1dpAyQNmA1vl3SAFLjnIE1TtprrvUFIku9oezgtYG+SCWrQI0jjGnJ/rZ2\\nu9u4sMUJv35ONfeVonzKf4KBZB3Gf5acVKcWN3TPqFlx0Tcu0mgdRDv5BRL/01cPSWwNO2wI+Ds3\\n3pbsnb5ZCf/vybeorF5jwW4zfPl4ymx09fej2w6ny626rXlaXpMdVi3+sSizDzC8D6h7BC0t2tgG\\niJgxlhGBGqe2iqZswUkV8yB2xzpZ1FmH5gbihUurm0g3ow4bSX5JGNs6jmiq40ZbrXEnavUcecgr\\nDmiIqgSlzZc9vGevtsN3T6fDq5llABRUqgOQlzHE1mFSCyxIiaSR4C5RnXbESMksir9NAMUNZ9jQ\\nI9rys3CnemI4/VU5dzFe+eTiWQz7r3XRTwr/Z+OAxoquiF8bVawYjZsdpPbRigmAuxqev5gPT3+a\\nCS9eIek7O4P0y0xYWZwHVEUlP/YjH2DP+1gPNXNQ002LHcj8asd6fDxKBScm9Gxh9Mmzaei/Drub\\nsondiEQ/Ui93boSpyTEkm9iwxM3g7ROwoAVi3UddnWgQKCFdg2izVImenSJBjI3HUyRymapQkcxB\\nnlILtrO5h2Pd2kQianoaaEy3W7ykkaUevR+bvGUKlrgnTo8aAAC3wzbA6dw8bZ1ZAMQeD7dv3WLl\\nV6Ckuhk5mN+jUIf8Ke1ULSjnAPw+CH/6+6vw//zHD+F7AOKNTexRIjl8sL8N0H2Kest2QFpsKpeQ\\nHmKejbREHSK66yAkWgKI4+wWgfv5RTQCAKy/mVlk89eGzc09bOLpsDkX24K2wCw6ohTbqV+fh4ZR\\n0zo2XGbDCiqSiTzYPeT5hzT39AzXoB/1+73wWVLEiVOTqlwSERtJqgLySNMFs35YjCI9kIWVrriE\\njnJURRthotT/6DRfyAZmCX2kJQaD1Gyvo11ibmGDayWAewigHzDBNvxEyWsnm5G40KtpidUZN07E\\nkaM2yOTB0vI+myZWAOd3bMFeqQJM1OX681kt5QubUCR8cA6kvNddkI0k7inTZFI5V8W6Q+S8zHlf\\nMT4WLetH/VFNqV6H2pq9fbWN8Hyka0DqfqwZmMoRS8ffnELkkX7l9C53FzX9bc1fhskhJlY0R9ya\\nHA1TY8PMl0ycuFoKFllJ8bZAkTZ4Xkm19mNvvqezD3us2oyJ5CkfH61IoMZtRJqns3cTYrQRsA/z\\nAuOou7490R3WljvDzkZ7GOlvgw62cHnpa0TNcdwGozdafW3peqpGr9XbQpQ5T0vTlcfzeXyWvRJP\\nuiZnO495Beo1U6eeOHreSK3z1ChAZMMQ79HNSHKyYXHmBd9hW7x7tXA+Er764qFJe7booZW5CNpl\\nJ6pGwdpmZMkXefFrJ6byeLO2TAKs//u/fRXuYs5gDZXHMgFz/+44oHw/c2kCEFNXfK9V+dg356Ga\\noUNc1Xu+nsfa+NjAJieZfBBILK1B3Ww86kIPvwDi6zbd84m2VE23MbTKHX28d1IH7LG5lTRrUdYs\\nL0N05mpivPmeqnseCnm0zmIZxXlp951qtZ+mRnoaC26GRldSar2x4BBKD7qQer8f7ty6iWrpFTSv\\nzKFJZJHwgn1zb2/JJjRjlvvzgB15p2ySsz1iaomNL8YwEQ28T+k5LUC4jevWDOO70R8/yCa6UTYy\\nT2FXZ2y0D4AYkHioiwOp5LI29eodiHJiaqXXug/prTEh7Ut1L4uzggMFBwoOFBwwDvhEKT99VHjY\\nZtMreOU06uW9KM3ru4J0VfK7lEkJvG/5lNZl4Z+rHtskd1lDfilpYsj7uHrl68W9bR0pjTSc0lH8\\nVWmex/20fG3Yablfm16cFxwoOFBw4FfDAb0VaOFAINnBAUATYigCnQT6NQHE6ZAt34qr9xpRSawf\\nUBEdoiLJy9X1s7CIajPZJzra10e8dil3hDMWziV5JWBqZn4dFZjrLFSwCx/gKN/M7g1I2mTVxk/s\\nqlgtQFmt0Ye0fd86BSv2IX+8k5VHkur1yNpaObcP+LjY1MOCF9p1AfkGAIZvoGZ7CxWqh2EL27vP\\nXi+EARZvHt6dCL0AaDdZCOtCWi26jK4ttn3IzuS0qnhKdL4GFeu2BTZWCvJltrxs5fGsrBmhWnrG\\noyxS2XRoTMpWtVS+bkh92SbSbKyCa5GoCfRVdocFDmucVtGzeiIVX2bRmRZIhHUIWG5pZjs9Y+7g\\npNHo72F49IBx2Q6leDVieYrUdeq/Fkyi9LFO4nKOFjhUpxqkBXxf2FX7dCa/zFrmnclGFvCnDERp\\nxN7n92EnrC4uh+nX2ITjmsvW6DaA6e7eCdIcLFZKapFyUiEqIODwsNHuI90r3KzYbjuiLXRABoTt\\n4lCRO2OO/VgMJcwpxhaN4Ek/knlS7doLIrWAQbv9/d0wu7gVnr5cCoNIPZY6u8NAl/hML/iPNPQb\\n+y2CohfjjQNExDozjtj1VD4BcVtS4zuH7eEnr8KTJy+QZFlmUfwI8LzXbK31IcYjCSHxTN0R4N4I\\nsCKwIzoijecZ32NTMsAqtkKsSRd+vT2V8tZip1f4/2gOZJfQmqGw7n8dmKK3e5S1Y8Cv3fCKhcyn\\nP73ieB2ePhMwvBD2tlGTeYi0S/MxqhN7se/eZ9I9kn5xZ6NShG1YamsBcCxhyNtGFAm8vp4JRvP5\\nizdhYX4eQHYnDIz22Lx7/+4NNlH0ARa0Vtom2no0ygakbBCPDLeiHrMpzO5hB5MNGw2NbdyXW4zt\\nPRZEsb8HQNjbxQYV7XbC6feUDSoa6Lpd8rtJC/gsoHPP93RjTxnV6R2IFe0jWW+399EhGgO4j1B/\\nvYvEaGp33O9Cq8DuSHoOLfVT/Nygn8/h4bc/vA7fcMwjLd2EHUhTA4mZgwnUpd5DFfbjhzdDP/1t\\nQYorgpFqr2hFjQZ+fY5oPtNUQFMlvJvjurxkg9c8aibR9IBE2DgLxcNcjx5MKTQmqh50PdQX3aO6\\nrbVgPDrYwDOwDMjTG5bmu8Mq4LoUhO4d7HMQPtHsISeQJruYFS/GRK7GZ4KBGmJy5pTV+CefI05R\\nsf4si6fkp5UQJRJaHq0o0VIf2EfD4jfqWXtkQ70rbK1thcU1QGIMra8glTU1ye4gc8pNKWuE/WTx\\n1V5enfLIxbw2dnVGB3QdBD+tI709PbNim21k9kAr9yV0d3dwCOhRXyO9jGpOnNKF+8dzQBckGwt2\\nbZJzu3LpBfOwj4u89Z6Sx3yskGrSkbXZqsnag2dwV3Ya77Msq/LZYKSsJVTT0Fmty+NiSGTZt4Ma\\nXkl2joQx1Ew38O7TV+5k82Sb2eLNaahMTiGP91A2V3AqurozBVxpM5+pNqiUzel4SPk1leud7sZo\\nOfzLFzdCf8cp8/QoG1162NSCqQzmPWmWkdPcI80kFZJWoyVlP7qzY146FOPMi+EshhwKVXJaOCOQ\\nhT2nTkUv76MAbYShQzMgcVtzH/ZpW8L8JPbtj3cB1ksAh0h6oi2j3MW3nzUloyU6Fox1ezNVb9Zi\\nBS9x1bnEXh3sTQzNd8bZINtvGx31Xi+p086OqIUnJWhdSSOSsKjbJQPE7UClcQdIeHMLbc2kiGX/\\nttyDNg42D7Syk6e6NSLkMe4nxCGjugVq61JKS0jqKmwh8rI2VsqoCitUiVFJ/lKQmAz2n2e251lW\\nJI/NW55TU2rmVA+nitH7vmmtQopcqtGlkWp8eCzcwtbx7I0+tLHw3OW7XN9au3x4HbEocAhALFNP\\nCuudWoO4EWC4BUa0aOMEzxZpHjL13QD6UsM+ONADGMzYQv32EKY5+gCF0VgNeMyYg4Suk5yR4zdv\\nbdbQmFz9m2eqji/OCg4UHCg48NvlgGbGbJY3/yJOXDSDqmyt87wXpXm8111b/m3O69GoF/e+NN+m\\n/M+St+Y14mep820r8YHwtuXeNv9l9aRpaVh1pOdpuLZ+T3O/Nj09V56LDuVzGu6nZYtwwYGCAwUH\\nPmkO+NNdvh38SDvUIeiTQOITTiQl1Qw43Cx1XCzsVk2G9hVcFXMJP/TRG/PqV0Jdy0jFzi+sIi0J\\nQAw414y4VEMTaqb5+BTYtYM008IyYMDMUpiYGETN5gC2zSJ0l78L1avSF4nJRZ9Ury3I8Ekawywt\\ne6crxS/uR2y3ClS76hLZmWeTX50hK6zImEkhtVRs1AKvFu/18d7FIjkCEOzgv4uayJOwwkLvU1QH\\nbwMEPJteZEH/Bbv8ZZ8LNZxtJaMRKeiTu26lxH8YF9sMLbogkNYOTrWsEZefVA+5tAB2IQ8uaKUu\\nli2I5fxRSOAQeCkqZWXrChAU6VWBsCbVbl22q0rOehUqLl5Bb7sWvAQqmwQBEl6QDFugGxuI1e2g\\n8llgTHRxHKncRaQFEJ8J3GFAqf9qU8wcKcSiseb4G+PBEEI/CzR3bxA6e4ykiqTKTsI3lF9mQ8T8\\n3G74j73nJnn2Cqnihw/WwoOHn4dRqZxm97+k77e3j5EY1s5+jRwAcxZr1C+zGU7Y2h2rq/mNKd4e\\ncUiSiuBAYRRwaBiA9hWq57aR3H81tx7++LfnSBG2h96+AWw3d4eSFRfjJYmfgTRVlfl1sNFNLt13\\ncYSqIcq6C44N/oZK6ZfhL988CT8+fYmkJtIrgGeS1Lx7a4x7oN+kLa0mCMiupuzhSeW9VpfEd5Mm\\nMeqRrmjHLQreoHRcqvaLnbf64hxFysfkgPhfe2hkHxK5zHh/8XI7PH0udcjT4Rn+6+lZwOJlVCKC\\nkp4eAoQ1oQJ6LNyeHAhfPL4Z/tsfPguP7t9gMZgbxlxCHcl7nblErepBkJ9NSYxJVC7/51+ehOcv\\nZ6C9aWqjb3LfffHodrh35yZALauqOCnJ1JQlEE6jTZJFfYAVN29y/8x0hPn5HTY+QTB0MF8BFId9\\nNvS0YvuvhFRZiXsujlH9NmnXR2Ucy1pidEqzDS0YrO9AOrgdrQca/yYRxAp1M4e0INgmCJt7soIV\\nz3rJdJzfg8CGAcwyvJxeBiReQZU7z962ztA/hNQWaq+/+mwyPLg9FG4gvTUx3A3Y3mnaA3TP6Tml\\n+1Ht0hGpx80eUlf97Y/z4T//9B339RM2OC3SrhMk8PrDXRb/b96YQHX0gN3HFLXSvtjt9MTDMfDT\\nrRtD4c3DKbRorIWniGn1sojdgyrPDjRn2P1vNbORzOYflVbbsvnG+BBbqRSfzS2T5WMzAA1Hm6pR\\nkaQZ0wptjX3yfNG3C1wVVT8m0tLUJDXjWiAf6O8DHO/HJMIxUumnYQFTEasbANynaltWF5XaU+Y8\\n0aROJeqQi2E9bU7OAOmzNjOdBpQ8hHmp62fDxE/PZ8MOm4ta2LUgO559HFK5K2AjOq+wEuEJhf9R\\nOXAZv5Xm1yVthJdxX2kXhatTUiofJ5y2w2vI4vAsdC5L1sdziYpQmrtzBUnI7pcsC7euSaC2Azz1\\ndZbt9VH3st7x4l2mjJww/0VXS7P6XLnSFmi+S3PEsH7zkOiqHVI/fGu8J3T+++/Dv319n/eyfdMk\\nIKCsB4nK1gqiGOdrlXM6MVznlxvcpjOrLtbpuarPPNZ974X78T0o5YJSpPYabD2MoNL5wa1HzKdo\\n5gE9bkOEWtowxMfqeqojqtO87qt8lVJ7cieJbYHE5U40Z5xqiyZ1Z9exKmPlRK13CgrHcyvHmdQz\\nl8vtHGi/kMisAcSn9vyUNp4+HtSp6mqKJC55709iNXeqFjnVk7bA4ypNygNKutiJUMWdp2pcIjpm\\nq8qclarmY4VUJaDCMY8+rbwP3g9pS5ddbParYZ+4GzXf3Wj0muTbYo8NeYcGDB/znn3Iju49No0f\\nHqJGWiqXePHRczNqcWpmvDQzbpAexm8hQc+aLqSJZfpHIL+EwCVpbdc0a1t+b8XvM+9lpenX5WFe\\noAgVHCg4UHDgt8YBfzDIr30s1fLCp/7aeD9PaVyU1/OoTBquPa9N8zpq86XxHzp8WRs+dF3vRE/v\\njp+6E5PruXrx142rR++6cfXq8LKe5r7HF37BgYIDBQcKDiQcSN8AFDZ1u0gmSU2tJCMbtVjAx552\\nBwugyd11plfyWDYBOdX5Jaks+4SraztIQSERBUh3hqSXFr4lGXqGqriT4xYkbvbD81fzZrvoxuQ4\\nu/S7IZm1Om08Das5zZtqdat+DgEDnGth/8L8yTtWnqe6/SKutPOxSslcliHSSHMqrI/iPEUyQALS\\n5MRl1mvC7Zvd2Im8wyL+elhe2w4Le+thcXUv/Mji79jIIGDFbXbZs/BEMVtoN7TiylZZHW//k7af\\n1lONJFej9Kp6433JFiOoQHlscaumsmpKyqgMypwFk/wCShCOY6wccEia9iCOS1Y6NE4EimrRI5YU\\nIRGRnxySqAWoEGeVVYv4zfw0NYPEN7Zgb/M0rG4eAOosIqnew8LYkElqK68BvhV6VhGxmcuqiMk6\\nkYvXVfxQfMwSy+l6N1ocPCJKi29DYFdNtwE9Gu+w+IJ10ZaO8M2PM2ERw7wbiEt+t7PMBoHjgPnN\\nsLjRFqam7oQ+gIcdQJ3Xb9hcwf0j21+SuCgjDiDpCEmvtQIMOO9jG2Lr4tVRjJ9HXwtFFEX6sWxA\\nzpv51fByZ53Foi3sX8+jarYTCcBBwKgbSBt0hm6kM9Qrjbs4ap1mdW12PcipxSCBGAcE0Bgb3syH\\n8Nfv3oQ/ozb9hyfTYW1p3a7JBDbJPntwA1W+kwAb2ENWHRxy2qRittAk2mOR4rIWq2KvlEeLYLHf\\nZFDYMjoF5fB2Klx7FuOK3388B3y8CPRiD1F48Xor/O3vz5B4fcVmghnUKi+iwnOdC3hkoKHGpmxF\\n3sWo7/07o6iWnggP791ArWEZrcu6/lx3uyF1/eMYOAOUVUgzA48gq+fJi20A4lfhux+nUVW9xug5\\nMzvgj+6NM99OhjHQy3btprARrVbK6Z5n4wIhBMXCrRs9bOzoD69et7LpQaret5lHDrg3m7l3upFs\\nLgMQdzBvp+PSw7qbfME0DnMBHmh5RiIVswKs5C4sbEUb48y/mp8EEuveiLYB1R456NlmGwVtNjKq\\nxld+9ujvOp1eZ5PJ0TFS+c0lUws5znPlMaD6Fw8neeai1lpSZpEa5eM9rACmwU3bwh73sqSuZ5eC\\n2TH+5vsX8O9ZeDM9b5oehge7TQr58cPbSBINotpTz3gIGf/kq6Xxyae2aR5iXR9JskZA/luknIRO\\nwFZpzh6bGGXBH8mvCv/hk/WRBmXzkEDiSDE+XUVTGij0viGtJWjhD+y1sgXwrU0m1bMDNr2gBpaO\\nDkm9fkUjBwWtx9ZYndhZ6isca1OauBPnQqm9VTuHhobDwOAwQDnPrf0GtKFsAMovYhN7OLQAgLdy\\nXTWV6TkQ5yxo2LuKKLsT3ezwvsI7jTeV0djVsU6fXs3oGrwJT57PYa95nTHC4v9AOdy6OYktz1F7\\nLsS5OiMZK+Uk71veW4sufn52Dlx1Ba5K/zkb/I5tScZdvIPSNl9OM6amv9w/FDf8tzK4U3oevpyu\\ncl2dI6WVvHNkZXUvY9o19GAnPpxx4DTXSeNJSluzhO7o67i0nOevF+dpuZ/m8tpim51NilWbBaba\\nixbvf3G2lx+dl6zugae+i5+3S6H8LM6DdjF1Qd/K5VQ8pE1VvUggDwB6drHpsFmi5ieoNAaw7Acc\\nlgam1kSzSGxJbJH3Wb7Tiyn5POnNS/N43Pv5sUav9/1oVZfWdbdvFfk6qERxeuZK5bgk5U8ZtocD\\nLQDCLZjdic9N7X/Vs/OAnXpHPFRkY1hPV9nlbuU7yqSHtXGTFwVp+NK9qHcWAcJ6d6i9nFZ35Q7Q\\nmVxtj2vPY67it+BAwYGCAwUHPgoHNOlqQna/XiWXpdXLf1VcPXrXjRPtenmvqvMXla5nZOEu5oAu\\nsLuLwp6e+p7X/TTNw0q77FA+L5/6tWWcXuEXHCg4UHDgV8kBWz+3xdRjwFkhtkgW8RHYLsklVhEk\\nueOTZFzRrJxdwQ8WJlgUih+G8Q1EC7YC+3ZA/04kTkzlqr9BqiubUP3VxJZjVHOub++E73+aRV1V\\nV3h4/34YZJt5iQV/k6Cyb0t/n0nfFJI4m8n1o09hFmb4ejWraXwdV4PWeRl1xkgr8AGcaj9PL+Vd\\nBATUQjktarfxVT3UHwAb+uj3LdRxb4adzYWwv7kYXmEvSqD5AmrARlEJ3NeFVJm+yrWAbBcxo51W\\nYZQ/zI/1xao6NQlS2XOWs6r5yU6vV1ksWpVXUR5tGwmwCboMELqKcdBNpKJk/rYJyV9tWGiU5F3V\\ngiOFjeGx83EzgK658sW0uGin8YyNSI4zQKal1S0kWX9E3R5SV033QiM22MrYKWvU6v1lzhpLnyWS\\nHhmAl4WtXFpe11mghn6xfUy6sCttBrh3q4ONGL8HhB0NPeUn4Zvvn4fXr6bDztp6mJleo+9H4eUM\\nqm4Hp1ngQsSO8bu2ugT4sBQOUWXbiujdOOoNx8dGkI4oAyiBUlRcHF+VU2NEZIfi1AUt4kgCZhjS\\nAmg3EFHeWJ0LC2/YmAAg9edvXxmwvra2Gv7py7vh1tQIahOx/8z9epnz3mtMCxwGczPbp989eR3+\\n6y/fh2/p58LMfDg7PkC6sDs8ujcVvv7dI8C9W6i/iyC02qdr1gKzJKnQxKqmhnuU4CTVK1FGPxTn\\n8QRzp0hlqu+UUrdY/exF7AfhQOS6Xzr5ujd8I8H//ssL7s1n4e8Ajy9RhbyDFKaeGW2AeUMAww+x\\nVfj4/kR4/GAC6fNBNs8AwKI/s5N7QlhinB5EVTOs5n024zRgFzirh6cPmzAC99xS+F9//il88+3T\\nMIu92/2d7TAy0h6+Aqj8+ot72L7FriVqnhsNqNMiqZ5D1aMJAddw50YDap9HwvzMUDjaW0FN9RoL\\n8UdINvcimTsGnRGk9XuJqx1pGTE8pejQ3aW1WwSreB6w4A16+gx19Me76+EUe5Fnp7LD3swB8JrQ\\ny6dE9bLGQVjTpqRLZVtY85HuT91UzTx729FK0daOjUYqjhyL5UVJi8a7gPY8jrALvMczaAtweNNU\\nfj9B5fdzbA/PI8Z6sLPJYnwzEklj4V/+6fPw5RcPQn9/2VSxGrVKswhQv/dX9anPZA2/+/xG6B0Y\\nCqOTN9kUdBjujHWHPgDn5or9YXKqYOJUXqTVH/koJuFayJzFkZmzWMaWsUxXLC0thLm5V2TcM3vH\\njx5I4vzr0AaIbYLdRreGOPTciXaeGtuvONWP4BTqNBuxvzgcRkfH2CiwhfrzLTQmrIbeb1+Y3dQt\\npLRuTA6HQdToawODroGcA812Yj9eC76eKxmvVLv3dZsBLOntP/7pSfjjn58iXS+72Ztcv0ZseA6E\\n3332kHeIO2wwiKBVTjv2Qr+F+yVywK/9L7FttW36edv6MWvLade7M5Sa5/CQ+bo9SbVpWAFPrMOq\\ni5Jqs36Y8+ra/Mz9i+qI2llIzeami/L9UuLVH+8TijYC2o2Z27v5ZsQGdFdj2EddiDT1DPajUUEA\\nsdDxt3RO/y2L/TKy03i3a65+xNFtXyQWVpwObTiW9R1/hrp/Av+AhXkM8WJARj2ndWi8GyedQEZH\\ncYrKKdmJxcX4+Ou58tQYKn4LDhQcKDhQcOBKDiQzbyWvpnfF1/qVDHUC8ZFwPqGWzvkcMcbz6eyi\\n8EVlf7PxBUAcL70GTOrS87cNOx0vJ9/DnnYd38vU+tcpW+QpOFBwoODAJ88BvRX4m4EWz6MtU4G2\\nR3xEoyqKXdddGAeUlGLF2WKlzvLFUZ9EK3nqBFSPFv+jNM8hEj0AfkgLC6QTLdk2bDAgmgXvo3Z2\\nMu+z+LkdfnqJOszXiwZ+jQ0hJcmiqgnb0I4G2uyzv9qgz9iKs84pRkf8pBU4J8CwGjajpPJmnZCX\\nUKmQUyDLUhV3+YnXFEtW082pKeQc1ksDuC/qPQUejrGgvRTmprEPtb0SllBV+WpmObyRxCu2Hbva\\n+7AfWfOakZO9vGnvmKo+CBg+lRQxftViEnVbHz9AGySpJg2yG5t72CCW6nMtV6BWle422kYCQERJ\\nAgJuOJfNtzZojGhTQASD1CZJk7EvgQP7v6eSstVGhAaA54Pw3Q+oUm7ZhectSNNivwy9aC3aFq8F\\nMo2xmisvenao/5U/4rJzpeqvtpyzRb5GpFQ2NwEStwEstbeOA8SeGej/fU9TePFqhmu/yuaA7fBq\\n+02YfYPK264lFv/hwek+INY69op3zLbX4GAPgFk/Uoxd3Kut1BwBfLtDqcPrpUpzOvfWadxJkAQz\\nx+HhHSSUtyeQoBxHCnA7bICezcysGwi+h+jhwVEjkv3H2BUdQBKjEz5JJSGAk64JhERXeLmpceW2\\nFr8lZbi2dRKmZ1fDt4DD3/34Inz/w9OwMLeAdmDA4cGO8PVn4+H3X9xHAvQGGx/6GdOxfZAzQKsN\\nNbslRB2kZrdBKA4SDZqv2FGiLMZr9cc2SlR6poiLXC1HYj6jkRWpn+MiekX823NA3NYRZ23dZTrb\\nQTJ1djGE75/OAXo9CX/625Mw83oaoG3bNiyNjHVgo7aPuXHUJF4f3J1kM80othO7zK5eOhvaPagN\\nQaqD8anngOqRRDu3vYHDT5Ec/jOqzv/29x+xAT4NwLmGKvdm1G4Oh68/v2t1DLA5SdI21lboCdTT\\nqfdANKUiGTOK4eHt3rD19c1QLp2EWcRrm1Fxee9GOXyJ+uaxkSHsI7bbvSJqRsAC1T+irZGt+xLh\\n4XBzvBwWbvIMeNUW9jaZ07q6sUM/gFTzEIA4gDPPzWrno1ctjE4x2pQi1aKDfSVA51J4zX21u3GE\\nqul9A3xfvFpFMqg9bG6gzp5nv2wNcqOZdpE9jLRL88cSc8Ib+iVNA7MLa9gbJjw7xzwFcswTfnCw\\nLTy4ORr+9es79PkeG0rGQydaB847GhMvv/FS6eqFFvgHefahODwsbQybnfaNnTOkvA9Dd+cZEtjS\\nHhHnGvVJJMR/ze+YSzRJYWme2KBfS6jKnwO0fo3B8/mFJbSWbBhAPDv7go1Yh+He7WHGVFP4/BFq\\nYc/YISOCldYoHJ3XY8mkR99T8zy6XihcYE7rD8PDQ6GrvBT2GNBLa9iZ/4nNMMzbsht9zO4nbUQa\\nZvNbq0mzx6eFnlnV9cd7Q3GVfvIShTWEIJvcvAYwn74CIP6OzQ3PsNuMam/UmU+iFl2bfR7cu0V4\\n1DYR5K1V66t7UH2W5yxCBQc+BQ7I9IiczcsfBNR8izuCGzObxmpvq1886yrv7r+AlqZt8U0z9Zt1\\n/tooxg9pldbGyxsj3eGLu2z6OZ4Khztt4T4aRiZ5XvaiLif9nK1Xx/ka6uX6xOKSTtl+YtvsFkeu\\nfz/p6eN7zZRScfE1uzLOndeVdALKX1WGs/j+RWxyT8anZ9KYlEgRLjhQcKDgQMGB9+GAJldNxbX+\\n29D0CTqlk5Z32op723BtmZTubypc76v4U2aAD5q0D9eNS8tcN5zSTsP1ynu6+/XyXCfOy8v38HXK\\nFXkKDhQcKDjwC+aAf75dMK0BuJydovL5RACx7FG1Aj61AzphywmJlIpjwdimxoxMfWrK40c+kTpA\\nfIhx2SPUWVt9AMQC8rRqLrXWoQm1YOi7OgY82mIV/+XMFhJer2lHB7vB7yBFjOSTGqMfA4ny9qRt\\nibUTYzYn+cIFgJbtvlM/F41zLlIw0tb+PEP9ZeE8PYZUq7s0HONyGrEGOp6ysgISKzdsR+KsgwXt\\n8fDTk4GwuDgLOLABeLIOaD6DytJyGO7vANjUa4bonK8v1vp+v/Ez3xeqrSZhBgaGCii2WlW9unSh\\nU66aDDqtRMcTnRo9fJnX3d09A8A9RHLtBMlBcY/NA0gPN5ldbJbjhRZTsQFAlJHz8u4rTsuHsje8\\nugEotHaIvWG1H0liVooEhL54uQAwsY2kXzcAZRfSBwA5EkFMnDc3iaKupMVksDN+bLErbYAVEgUd\\nEQhRstqlWgTaTI3id0yY/c/bNwbD909e2uK/7IVurKHebf847NDWBvrf2noUTg6QpgQgbuxpY9Gr\\nw+xNdqBiWk6cMgAV3tiwqLo41koba74wpBhJKt6aADw7mgpbm6vWh7999yKsowJ6emaTe/GIsbdL\\nnmnG5RCLbYNhYrQfMKfP1KoKxNXikiS/BQyvoSJ+Dh3BsxwzHK8BlZ4jBToLiLG9skj9h4BJnQYO\\n/9//19fhn353B3qD3N/NBuA5+6TdXt2S/dcOQOIW9LMe78N5FoXtXrbBaN3mx0vJj7zOQ8oT4xS6\\nylWXuyp3kX6eA34tlFLLd6X5EUO6FwTcIuQZ/v7DTPjff3oa/vL3V6gsXmHj0gkS9J3hzlQfgO14\\n+PLxXcC9ccbgAGBnF+MiSgw36hkWB7wRjXMXc35WvTw9g3aoCPP24W/fr4S/fvtT+PNffwhPn70y\\nqf0SdvM+u4f061f3w+9/dw8geiJ0ILFs44GfOIdX90dn7GkI3dzHt8YZq//nZ+Hrx5Ooaef+BGQd\\n6G2jne3cKx2Am9VlKRZdFi1PT1urD1+qnh8AZB7t3gzrK0vY2zwE3By2Nn7++EGYmBjjWZ3MVXav\\nq7RcbK1CoknzkP4PzHNDYQZVxE+f615cDUtzW+G/tpGuXVgOf2Lj0QgiWN2otI4L6aiX5OLsM4Fu\\n7OyGFS6Q7ukVEMqdnYNwuL/H9dnFVrkkZ3vCFw8mw7/94TH2jG+h7nsciS2p0Y/90W+l99ZBzsRT\\nPLVPY0BOm0yoKs4ZGCw/3d8Ik8zLu189CLcmpTK50aScZUFApjGkClPqo5dX9w0Unl9cBRBesfln\\nTgD23Bzz0Ya9cxztb7EJYBltDY1hZKcL9ZmHlM9mcs2XsQnnfpWiJntPYoZ8NKic+iC1rf1ochga\\nHKKO/rC2vIMJga3wEnMR8/OzYZkNX1LRqXzSxNDa3AndE+tzfIieb4Hq1b3BI8CA4TmA4Wevlngv\\nemnPiZ9+AhxeQMvI7g6S713MpXfDP3/9CJXWE9jG7qnw3ygnz4LzNVFJ4QoOfGIccEDR/Z+t+dyY\\nujcrt1ScIDTtXun02nKZi/fqZTneP+0ifqVg7fvXcj0KastV9Rqvq8iJS1Gjgkf7c/jGWCn8+78+\\nDI9uD7ARcRup4hJmKCaRJEY7UNX1iTRUviraCf4qfHEuG3DZwIu9zntsqVkWMUIpfioWeFi+DqXr\\neZe6ShnPrOdp5eZQTuWodfXiavMU5wUHCg4UHCg4UMMBTZ4+7bpfk+Xap17e/YsKpulp+KL814mv\\nR+e6cdeh/4vMk3y1/yLbV69RuigfytXSSs/T8GX1pfkUTs9ry3lamq82rjbNz90XTS9TS784LzhQ\\ncKDgwKfJAf9oy1rvH3rytQH/RDaGAG1PUPkqgLiEyFQZlFILxS2mezEWVP53mSC1+KtFTsymstgs\\niVCkh08RF6Ous1OkIgGkO1G72MyC6eF+I6oSG8M2UkNzS/vhmx+msYUKYI360MbbqOJFqrlNX/kG\\nBkBZH6L8pV3Ud7D6Jat9jdibPQOKOzg8Bbw6CnvUL6DANkbbB+zlPbo8FULmVHtVC7J492qpZOcU\\nkT1FtV5/sjEoKpJIkxTx5PggKoQHw2ukiHc2dlCJvIfqyvnwBgmyR3fHkKhy9ZG19L3eD+tbL2Gu\\ngcP4tqgjHvpxrjrnifx6bVScp2UL9cRIglh2I/f2T7luupayvSh1qlxRrqcAf1uiMAniSFlUNM50\\naKyxDyHIVuY2YAO4JIDIMccCUsnHtF80tCgFVMm42Ecn6Ymkom3ZI21nBDW8F5A1p3M/8m6pPH+W\\nOQFDyOCjU5TTHmuRRT1pBr3pGgJkQldtV8d9JAN7UM3aj5TgCtK3W2F5RZJ+qKc+PGLYb7LoRT/t\\nXpXY2NyCAABAAElEQVQq+GZUSyP1jNrYaqeGpH3RmdeucEzXryQv+pG8uDnZAvBzl5RmgLVSePJs\\nJqwvo+p6VRs2VpBg3wVAXwuTo0vhxhiScoBJrtpaQ+AYtEbXbAWpuWlUos/MA9QsLmNDey1sbWwB\\n9O+jxrY1TLDB4fP7o+EPqK0WEHcXidCeTtRI0xbdm8ZCfIFLJUCy7q6S2Qxtlogh94sAYo095zVZ\\nk97EPkYa3kvlqO+8Lk9V6cJ9bA6I67pTbRa2ay7JSDQBY0t1IXz74yyaEjZQo34ayqhYfninN/zL\\nl1NIpU6hjvwm468/9PJMaNKgM6c7XpuboKsNRyaNGYFd1XJENILn2N8NPFOo49k6aqVfhG/YBPEC\\n2627G9umGvnercHwL1/fR536/XD7xgiS9dk9JbJWDwOSsE507rUrSVrpMSUeeibZeDLay7zSWwEN\\ntd+kSnJJNCrOTyI1/YorigX7DqMDbJq4OwoAeD/cu9nDs+EUKep+bNVPmU1F2WSvdtXnekza45JM\\n3EbYpe0PD9cm0dABfwHfN7g/t9b2w49bC+H163VoLpoWBad7DE8PeD/Y5dm5A3K7A69OUAXShLHB\\n9o4O1GZ3s8GlG9B+ABvGN+DdQ8B8VN4jie2vDnHx3/up1tJGneKptTp8wVmgrwDiWVR0f//TXNhe\\nWwrTvSXeTZqZS/Z4L0FTAnWfsotI883RSaNtJltA5fU85hdmucDyV9gRtIlO7D3Ab21Ga2WDSVt3\\nH+qrO5l/2sOduyPMr2OA2yV7fNGES53aGF0eii33X6S+GS4D/a2mZnpQdogXt8PB9knY3dkJG0jB\\nt7IJ7tHsMrwaoe0asyoLPTrvTwnNfzr0DNQzTO9M0qaxgunt2fmd8PL1Qvjx2Rxjlw0Ub2a5HmsU\\nPw0jY+Xw1aPx8C+/f4Qd57s2N8tkhdgs/lcv1hNZuIIDvwIOXAdc/FjdrDx+VAG3sb2PcMPZDJFO\\nEx+rAR+B7j9qnrB600dE0jePlh/Zqt8Yq5A/OxTW4xClOqHh9lDY57nUcHrAJq8mNmp1moYKp0VW\\nnEr8Gp1zSn7WYxucaV9zTlRxIYuuxOl9Oz5F4uuVSCiPDf6YK35XRG7GvIpxCu57QflyaXyMKX4L\\nDhQcKDhQcOCtOKCJ1GbkOqXqxXuc+yrmYfn1nE/Wnu511subxqX50rDy1J6n5d42/CFpvW3d75Sf\\nT/vCfQQOaCDIuR/Pzv96uvtpjnpxaXoRLjhQcKDgwK+EA/5MP98dpUjq7xBJmkNA2yMkd2WZUPYN\\ny92dADMdqLCsLef0rppG/bMyvn0YYAfot40OyD3sp0rF9KmgPFZCmwCIJ8Z7sJfXFg5228PycmN4\\ndbAZtrdXwzc/TvP2wgIvH/lHAGQCCIZQw9sEYOhONSFTWHnL0eLq8Qk9OZNa2nYky1pQd3sU1gBZ\\n1wGqdvYGUNGshXMtLdAfdemq7qiyC/Op8MUEnGMiIWc5a7I7iKh0gQnCfodRwTuJ7crRV0Nhfm4l\\n7KDm8w0L4JKMkh1ngR++OKJyH8NVNVOsQlLv1I6sV8rAYkG9Pr1de2JNoipwX+rIudxIEzMAT11y\\nHC5xLU9RQXoc2llIj/V6G8UPaaOWauOltTOAgh2k5XZQ2bwefny6jC3TJdSkYsMTYPgUcEHSyL1I\\nwd6YGg63bt3CduSo2eiM7Y79y3p5riuV9REyaPylkHD9Mt5KXX8HnqMdUL+GUil750YT4PB4uHlz\\n3ACRadRLzy5g93P5AAm01bC8+CrMY9dyg96fHGuTheAENSKvVTVVFmgUXala+dQVAQYxj5JUv+6m\\nASQMP3+I+nKAlJ6efqQJh1DB/QwgYiHsbe2hfnoTScb18Pz5NCp9W0wVrYHTADaq4/QUcAzAZheQ\\n2KS/dzMpQ9rYiI7b/sEuVO72hi8fAmR8fZd7eQKwaxAbrwKH2SzC0QA4rTbZ2KZhkiDu7moygFhz\\ngNp+ekpe7m05dce6VDnzc1FJum5n8SemxHxpOMlSBN+ZA/nVuA4Jv9aycbuC5Pkb5jmpLz46OAtt\\nnahTnuoNX395I/zP//FFeIx0bxm7gtJaHO8Zr0tniGXafJ5fd6Xq7tjiuYNgKfZgo0aKb3mmfP8E\\n1cOoOt/bXEMKuSHcR1L3XxmT/+P/+BoVvRNsvmmvALVV/fABo0gq0KkAWNWl0Sl1683cTNrkozRX\\niRwHqXIlBCyoH8VHl6RGtdA8p25OlgFuf2/P5+aGE5NqLoP2tjB/ucspKCZS0a9LTCmdWzaA3TKn\\nTtj82of2ge+wvTzD/X2Axo5ddtPsboNG4rxVZtKBkwYeSpozdA+WAO1HBnvD1Hgfkln9HANs8hg0\\n4HpooAcNGGx1EgFzca7xNllXbfL09OjrCqqIcNNdnm1Ly2gfmMX2NPbPF+cB97FHP1B+iqp52ZFv\\noA9sauNBfwj6Ly0TW2ib2NreQ03+LpvM2AQG0ixLAdp41tfXgZ12Ntxgm3Kkv4129jDPDiCRPIy0\\n76Bdo+rWXHSmFlZzWu1WjMaZNgKgYZq6+gCfh5Fi3gyrvOccofHhtA1tKY2dtLUZsL3Bnl/qsc93\\nFDc6go1lhxscHhvKZ2F5bdskvp+/mgccXkRltp7/65gA2Da6LS2nbCTrR3L4Zvjnr+6GfwUglk3u\\nDrQ6GM3kuWARxU/BgV8RB+Lmk39AhyrzW153nWktT0xC182XFPltBOvwVB33Wbc6OT+zkCbhLEqv\\niUNl3q15oeZtwTYq+QYtbZjKlDf9innqvMm+KumzZK3jFznd5pkQv1iSZ7MxJmGJkyBnpOJ5laeS\\nWBWMKZ7mfkIzLZdGF+GCAwUHCg4UHPjQHNAkrCdj6jzO/TQtDXu6+2laEX5PDuRf7u9J6BMorgF0\\nHVcvXxqXhi+j5/nke/iy/NdJc1qpf51yRZ6CAwUHCg78sjmgWc0WCrMPRk4VZYAaC/N7ADm7rNAf\\nSlyF94k2Vjo7O9pCCWk/LXC7s4UNFTSXfJF7VOpnyVYPYUmCSm3wNvog9/b2TIL47OwwqqhsaUO9\\nbrMtrJ6edIe5uSYkpgAKpreQXtxEkmgBCS9UTx+3APy2swA6HMpIHHaweK5FYK1cR1vDETiQWlFk\\nnFi0ZZG/BTWODe1my3YZG4pLSERubAywWN6JlmLvHA209sbOadk2a37ao+Rpo9To7PO5whOPi+Qs\\nV5bVpbi8XE0RovMYtUogSB874aV6dxwQ7YcnpbC5Bz+Qilrb2EDq9QCpV0nUsnDvRD+yL/WfBg5n\\nEpyquAFQplGdM0O079cSLy3t4VIzfaoD0LEB8KcR9eNK3ztsCMsbZwb2tLSXGaukUfcZjTtEH+oO\\nYMEqooJvkF6dnl0Lr95scGyG1xy7m/vQELiIYs9jNh2AKQ3097A5YQQgfgy1x/2ALtmYuGBh3a+8\\nks8qK02+hKLrzp/SKiPIS6QXRz2J8QrpUK2ydSq7vl2ADANlpAcHS1z/UlhcAuxeCeEltol//G41\\nbK0yOFjQkf09rev4KIaEOa9RdI14jLbfuDhpKZbkdcvvYGGtrZcDIKm16Ubo5R4b7G4Iz2nHLHZH\\nV1aQBMbe6PH+bljbPQ5rqNDVta9InTAWdB8KgD9hg0YjQE4HRMuomh0aKoebE4NIg46gKngyfP5g\\nCun4ntBJfwWsqaFR0i022dsldawCiTtA3FpbBVKxQUGDo+71yftlJCs/zpFKhAVibgXzUH6mMtXx\\nSivcB+KArl/GXgWPuKSa0zYBKLcQIT1j51Jjeym0tWHvmhuipzyG32jzvUA0SQVLf7SPZ/kWldHS\\no0zq5LVZZHFlP7xCov3p8zfYa/0JNf2zYWWJLRZHB6HMZqP7twZQK30HgO1+eHR/KowNIZFfdelF\\nmYiquBilStNohdWW2C5O6rm0QE26J6lG3deaVlsY/9KcYWr2a/Lr1G4FTQQKc0Qa+tWTLJ7L1yYQ\\nFHEEzDYzX05AsyEMdp6G16MdALBbZmd4Dx3xR2wYk515TS66v1sRjW0vtaKtoDWUkOLvB3SVZgtp\\nuLg1KR9AFBXTZTaYaA6rzEeVa6zaL3aeqnlA068UBXQCcLZBbBPNJnsAvz8hRvuS3WpxvmF2jQ8H\\n2qm+ULBisuHM1I73YJaiH+nmYcTJxkb7mN+HAIh7Mc3QSVwXAHc36vnbTVuK2hvbEHnoZ5e2OOub\\nyvmhMYOZyzA00GDP7TfDqwDu62F/uxROm6VKmmf4bktY2WoOqzstoQN+gWXbu5E2Qym8iwr9DZ5T\\nS7z3zDNGF9jZMA0o/OzVnElHb6Le+4iXqWY2BwwOtvPeNIw2hvHwB8bu549uAnwPmR1OtSkfCxf3\\npEgpOPApc6Dy7vEpd6Jo+5Uc0HxW3zHL2S4me1zZZKxPQm1srlsme05W06qbszrLJ3LmTzA1N4Z5\\nr650L74PnOdMWoqC9vKiQml8hUhW3M9rfdV8XZfSVxmndd3yRb6CAwUHCg78JjmgybJ2wqydUN+F\\nMU5TtBS+Ds00Xxr2+uvFeVrqXzdfWuaTDOsd5ZfgxPAP6T40PbUtpZmGa9Mu6oeXke/hNK/Hpeke\\ndj/NX4QLDhQcKDjwK+JA9oxnUfOMjz9/4gtn2WUBfZNV9N3tCBDrE1J2DVux9ymViFUL3T6TVjjj\\n7xCVCALK5DXEeNkJlITY5vZx2FJd2MuLNoiRIj7ZQyKqi4XO1vD44SASQm1IzPQgCbSOKurdsDx/\\nDDB1GP7rb7Nhde0E+4I7SJJNhgd3JwBOB1A9zR5xFtAlsaQFZtUuLcRnLGyfNWL3sZVVWADizc0D\\nJHrWoL3Iojb2K7EN2dwM+mQu60dcabeYqn5nufK8CgkCjLxUae+xFpsVFoihfmvxWvipFo/zheiY\\nR22t55RPLxBSCTo20s9i8zASnd1he30VnhyjxhfJTERsBRAaglCPyAeIS9unNXhhBpLMEjBtAChM\\namQHgWwDC6T9UIt14p/4diakX1LgXL9GE2WXXeKD8OTlemj/j+/DD8/n2cTAJgDqlq3SfXiziW3M\\n5dVtA4jnlwSoH7FADyB8JI5iv9IuOedIy0vocKCvFwBhOIwMDwIYSOIgvTZxQUXtSV0EyuFANl7U\\nb+URqKJrIhDd+JMVUlrKyxjtizVxXFifs/waxwJrWwCJBTiMDAM4oH63u2sibK6+CK9fwBMaKlBc\\ndduRlY2tz04qg7i2B5XMlTHpbVQ70egaHtxEgr13PNyd7OeeuQPAvhhmZxexpbkAmLQRDhiDx4Ds\\n4kF+21Ba7THQuDF0Ydx4CDBG0nu3QKWi/eL+MIQ+6x6khsG8rP7YGvFDcg45/8UHCSe3AhS12Xyk\\nvtJS8Vf1iuv8q8227mdMtrNI0n7JkDprrCKyeOOR7mSv14hkJZQnPc+ivayf1s1TSSwC9TgAW8Vd\\nO8RijjiWNY8wCjhOQIHXEf9dWMSOK/a4W1vZGMSmGbDKimRsZYhTXs8zAcObSF8uLu+hWp75no0N\\n03PLbBJZtrl/XvZat7YZPydmB/vLB+NIX94K/+2fHqH6l00ifREc1jiUU9Muc5X6s0wX5ldCZUNJ\\nLcXzpbz+bJRWCvh5VQk7iTHx13PF9jstJyKQuPUGQCb39z0ktFfQ7b3Gphp7NrN56wAA8ojni/rW\\nyg1YagfMRI19CcYLIJbK9wFs7fZiJLncjXkI5gupV66olKaivEmxRV63JeTNq7qTdL/r2g71l8JD\\nnvGr60jJom1kmYt6fMzWHkwBnGGWgpnWHnvNoMktbGYrdUqbQRsq+tuZV5hzkGI2QHhkIIwO93Gd\\ny0j2oqGku5228r5AHZL2FRgt3ngLNTXEsAIeW2l5FlC8OpCnKyQ6esJoYxcWAmxT1/joWlhgvtxo\\n5PlF547Y3La23RQWVk/Dm4UjNjk0IfV8Cu83MSOwQX+3AIfR1IDU8PzyOtouNkxVttJ3GNTHAPfN\\nzWehr789TGAv+sGdMbP3/Ahe3b05Qr/ZTIG5ArWn0roL+0GmwhUcKDjwkTiQTHL53fiR6vqVk3VW\\nVia1mv4qPpuSL8oSS0RCMbuHk8I1ZD/VU2dX6iusnqbPu6r+WeYsl2euPEkUYRmSIpdzOslYJ1hL\\ny7N4/PvQdlqFX3Cg4EDBgd8UB2onTk2oHudhn2SdMVelez73lT+lkZ6nYc//vv6HpClacmn7Y8zP\\n/Ktvxd+ac+bX9rtefL04L1ebVnvu+VI/zeNh+WnY83ucn7vv8Wk5Tyv8ggMFBwoOfPoc8NcEeiL1\\n0tuAtpuoXd5CNeMxC7GNLChqUVhHEyu+9dcX/fnqU2YNW7Jkr0o45j4A8S5ShztIKEmdtRZ6GxqI\\nPNtmUXM3DPedoLKSRd6eBhZy+8Pa2n0DIn9AX+cSi/yrq9hB3EO17tYJ6nZ3wxLqSG9ObYXh4Z7Q\\ny4p3R1cLC9hIOiFVjJANqhkBE3cB6wAXG5raWfTeQ23jPguwO2ZL0cBVa3YEuGI/L+iP8nlnsjLm\\nZdECT2GlAcKsYQPgRsm1Xeo/2t8MLY3HtpDew8J6N4vZCEJWHkxOJ/oCqiJIpg/5dhZ7+0AI+1hx\\n7sAYq+wpH4OCHB2iXhPfbAGT75JWV5N/zzMtoKvOaIM4EhMwXAGHYWJ26d+vJhHhkCRqBIglJcx1\\nRHpUqmffLGDH+nQ2/PhiObSD+DYJTGIwH8CXHQwPr3Od11lkP9hDCfUZZTEO2l7uRfVrC3mPwiGS\\n7AdbquCUBXeUfHKYFDTVVvOyfn9iHn41aKzP5Mv4IvA8H1tXs0G0VEvkW6xP115OmwoEOLQDErcy\\nrtc3G0zdcmuLgGGNW2OS5RUdd0Yti0jjPT36Gmkeir7q1Vg227/UV+YY4GdseMLsvi4ujWJXcwUJ\\n/C20AAAiIfYW+6vWQ402NTZGqUPxtKuzzUCLsZHeMCGbxQA1vUhstgOWqG6vnyDXIp7pV+0QRfkC\\ncQQSt8CMZnaBqN9w2Pqu7pszP6XoCVm6e1ZAaRzyVCTxrQX24wXSDB5X+B+GA5G3EZrX9WWsY9O2\\njw0bvb1lNizJZvUpoNlueP56CWD4BeYBdpEK7UW7RdwUoo0Idg/SIF3GI1QO77FJZA39vG8AhWc4\\n5M/x/FgGcNvHFqwMeJcYl2NDXSbN/gfA4S8f3Qif3R9DupQNRSJZ20GLUA3uzuWgjKeT5kFlT7Om\\nYSdVx0+zKZyS8+xpXJpf6c5Tz6v7SE75dPj9jQAtIHFH2J7ggDU76DY+4Nl8eAR4KQluKGmTmExO\\ndAAMt6G7s5UbsoQ0f2eJ+5jnU+2HruakyAtqqm2YGiFXJ15RaifYbQB7Do/uTjGfAwTT0ZflPp7Z\\nJ6bh5PRE7yin1o4unve9gL59bOwZYFdLH4C1zofQlT+OnWrNN319bEbpbjMQu40KnBdUU+OoyObU\\ni9550ux5BxRSf0W3KeuY+NKFiYjOzvjMDmdtzIstzJWtgWEYfnq9HTrL86H8psT7yDYg8GZYWFgB\\nGN7k/WaPeR4NDRx7vJMdHeod6YRnVxuS291olegIN7E3fPfGYLgPQPz4/g021w3Q//hekbby+uF0\\nNKlU3r/r0yhyFhwoOFBw4ANyoHZaSs8vnKI8k/veHi9QHa935fxN2PN+mr565r2Tr3f5YwL77KlC\\ncZd977c28UznoV1i0yV7Lm1TV+x/VlJe/Bg2WpFr+tWR5SFUPCOMCcVPwYGCAwUH/hEcSCfl2snZ\\n25PGe1i+nM30ma9zT1f4Ilebp/Y8LVcvrV6cylwUn9L7VYVrv5s/tc7pgl3mLku/LO0imrVlrjq/\\niI7H15b3+It8z+/+RfmK+IIDBQcKDnyCHPD3gdh0nR3z4biJ6sY11Etube0Dvp1EST107zaZOsd0\\nOdU/Dt2/fKo08CrLIolLhF8ATo9NAvZEFRtAfIxkDQv2LUfYLTwJaK60xWHZBz49uQuYWkLVZGv4\\nru0VdhKlrnEnPHu5gMrQtfBieh7Jyp4wPIRdweFyGAGE6u8fCp1do3wMN4cXL9eQGN5goRt7iNgh\\nPkZi9ASRXoF31rb3uoJxCRwFv/YRLnD4kD6CPSO5dmw2NGfQCby0uBQ21+ZCR+spqh8HkVCbCA/v\\n3w1tXVoG1xta7VK+RVd+tJDfhvRWqdRuaj4lqSvJNwchBdT+HK5SC9dTvLND75ecR2lRBbJlluya\\nv2+7VKdJEVtAEsqoWGUB/+RUtjK3w6u9Dc6P7M3SLoKuKysiYolxlfaUWKDv7h0AJBgK/QPDJmm8\\nvYlk1iJA0tYaQPcuwMi+jf/l1XVs7paxrdsaBCTk76w59GOx1meABpOSVWdjhyU9rOtyDLAiFcjX\\nH2PqoKhYR82PMeqH1KTHzQfql9WGDVIB5Ur1a6FOV9UXSXnTRL7GxTYr0uuNGbQ5Ie+vXmLBW0L7\\nkDYqlMKtqVLY3xvjHgaMQ1JTt/EJql5tHKpOyBpAzCKUwFypiBWQ1IkqW4awqY4V4Gv9sAqznmZe\\n2mBdAh1aq5KaXd0LjdA1CWL6blLa5+5lCFVoxfakNI2YpzOW0pZwEotW9PFFHsV7lLw+vpWxcJdw\\nQHxzJl+SLUlindLMBQz1N4c7SELOLayHdTYAbS7iL22Hv+9vhKWlBaRAuwGKe5gPsb+LlotGiWVS\\nnca+xuAh994eeno30FIhsG0doHgX9cRmkxawuZWdCcPc4/ewl/vl4ynUnE+aHeyJkW7ULaO+mjHx\\nbovFaX/TsHcyjiU/u5YvMlZMbaqmafNbTLySVKw5llfY72/F6P6WineplC/z7D0GwBSIqXlUz2zl\\nF2BumzT8HhQN4nRP8p85UcvqUCEFK/eXnWT56nk5z0VPY6EMuProXgfSwI/DaH9veIN68NU1AFM2\\nl51he1jtEWhdzsBgaSTo7+20c5tvALC7OgC2AWoZJlFSmHapaeddbLfi7drXz3S+WCWfXx+BxDyf\\nyWn7FvBPT3inOtrH5zmFiQRJuM8vb4X9o102Oc0xR8rkxi7vXnscO8ytvKOwycHUe4sa72DdzLvq\\n2yjqsaewNXxnqh8TG9hPnhjgeYWabElwC6ivtOd8U4uYggMFBwoO5ByIc57eKeX0jhVdJcCpz4tp\\nnOf7R/neJtWvsLeNsHVCcemhfJ5H4dQpn5yn157H1E/x13siDVbslWVD9T6b7Ob51t9iQ20D39lt\\nmFjotfepfnaJyWazqSSyzuqNN3cKO4fSUJ6jCBUcKDhQcKDgwD+IA5qefZpOp+6rmuPlrsrn6bX5\\nrzr3cpf5tTTSvJelKd9V6SmtX1z4UweIfw6G6gJf5mrTde5xafgyGmmal1Wch9+FTkqzCBccKDhQ\\ncOCXzwHNdNnrg79FCODZZgFdUrW7WpxkAbMBIK4J1csNDXqE5UvA1kFbUcimTp9B6/WcxeH0M1ML\\nzmijBYAGQEMqSGqK1QZbZObjFAwUm8BIHLJY3UmVUlnZOIU0UcM4S677gHaN4XsWQqdRc7uxvm4S\\nzztIg03PLaF6uR07skjWoHKxv28pdHUtA1y1AtQeoBJ3GWCaBWUWWk/ZSq0FWdlXFrhg0me1bb+s\\nT848Hh1quyA6HbAwoPUYieaAOtO98PzFdHgFeP1mdgmpoLmwtvw69LHgvbs1ZSp1b06OhYYMIK5c\\nkArtfHkDshF8pjLYlQGA8cpFlcKXNlbFP7yjegNjhB4wFtQCAaW5BHFaZWxrHqPz67VZ2IIdlIjA\\nZ+S2ZEfP4PjpKZKrJ9gpPTsgHwvz5Dcgg2sr29ld7DDo6ekEGEa96NBYGBgcCQMAxEeMgek3kjg+\\n4LqsoHr6CEmtA2wVr4bvf3wFUNIIkD8RtGhiC+41zdWp1qHiAdTCAFY4AlQRHD7mppI08zlXt/uK\\ndJdXphEmmsIqlUO3nR0KW4yXydNreZtTy/NeHFLu2BYvpzMHbCRpgHBnONVBvC6/xiT4LGFtWsiK\\nU1j8sPuawgJyNIvY+hP+la4CKnlrMloQkK1x4YFRyg8QhUpPOIxPRtgbwQlBqdK3LlmH7CdWT3xy\\nlpesjYy5+Y33e3WyzlRf4d6NA+KfoMp4LXRZ2T8Q0AwcHt0ZDruAZgcH++Fp63HYxub1/u429+02\\nG2+WkGJtZ/7WBiYBxBHu1D1hG2cAD6Ua+YDdSEfsYtBGjSYmhk42ffR2R5DtDuCaVPN+/vCGgdFj\\nwyV77vj1Fa2GC1VBX9RbL610xkV6Wn1yEYEr4kXQx1vkWX52eVHlq2pOkl33tw6b65Iv1rSMyvqR\\nFLWg8un+q9whXpH7tQXqnKs3aV/UHh73oYWxIPC6XBoLt8d6MBGxhxYSdpnxMqF5RRpOpKGgD8PH\\n5Z4WU8WvTSiSjrpozvH2ipeRi0mDqtpcdZJkOh9McyqsQ+0rtZ2xKeaYdgocpt0kaM7c42XhgHet\\npWVeiM4OeR/iWSZzEYxVPUvbUOXdxQtQuRvNIaD2g4DfI4DDZvMZkxqTaGIYGykj7U7/4Y/uHTnv\\nm94N3t69S5m3r6UoUXCg4MB1OeCz4nXzv30+00JDMdWUPlX0DLRIkeSd7NxcqXhzH7GN1yJ9SSbb\\n6Ed6ZWrL8+YhdcLeHvC9l0qtFFKGT8jl7VaIvUaY2zjh+2YZE00/hdn5Zduk2c8OrMmxoTA1Nmhm\\nX4YHutigLa1h6iol47/1O6dop8VPwYGCAwUHCg78Mjng07U/xPxRp3gPX6fltXRUJi1/Fb2r0q/T\\nhl91nuRz+1fdz8s654MszVMvLk2/TjilcVFYdDxN/kXhtL56edL0IlxwoOBAwYFfDQeEY+3sHoQt\\n7LbuA9yeotK3sVE2X5sNBJIkS/pWcL2OZ2V8Ns0KsXYPSAy8B0gn26l635CpSbBbUznbDnjbikQo\\nn6m26NkPqNo8iQRjxx1bFJ2cGglPnr0Jz1/OmMpQSd3sYytxd34Htbc74elzPn5b3yBxW0aCpwMA\\nsRWVlNhV3oUmkrctrILLlmIPQEFXZ6dJk1b6Y0+ImgZXEhWI7dVjxEOKFQwI2wKmLsOf/74c/vbd\\nc4DGn8L0zIJJBO0gpXqwNYdNxUZsHrdgJ3AUlZEsFptLKSmc1+Iph1SwxYLyJjYzd7H5emKLyI3w\\nDPXfiFRKHXgsacUjgcu6kWV7W89Jqi6zs8sivYABuUYuooCa+IRVTsV7u7LWGQFPUynCFqewXNVJ\\nHpVFCxg+RVK1oRFmS72oVJ12diMh1s2CB5JiDKISyEBfd4dJWkm1qOxODvT3hzJS5d29/UiWBzZC\\nyKZvCxKF++H19BKgPTaKsVf83dM31Ilt7J0NQGIkttvGQxdixG7bV81QT7LeZCAowLgW47MFeUmm\\nHwugYieE1H/DoNgP/RI0zElRla56eiUiz08BcVApcNaqEDkDZPmR9Kwt3NUrSikDCUjLk/NQUkkW\\nVJru2TxPHopZ1FJvureHIWjoRNrNWmxCdCL1SKeWbqWFBgzHPM6VeBb7r7qa2UBidXL91f9j8UGH\\n2m4NhCdqpf2Le4qsX2P9lNhH1eul5HtY8dXu4pTqfL/Fs8t4U52mMw0l+WgDRmVuH/M0KoGxJysg\\n7BkbbhaYYPf2UQ3PZp9d5nNtEIlKfSln0vTS5aD5AZl7AGGpN28vt2LDHbW8qB0eH+pD+n0U2/PD\\ndoyP9pod7O7OBlNfrvEgF+85WlLdREuxDNf6OVf4WqUuziR6tSPWF7Prl/ISnqp7O7Yq9lTheJ6P\\neeeByniawhfFW77KzV+PonK4cyrkszL4WSWZ5xkjYM2Z4stIxnaMhjCBbd3j406b/zRVmAQzGfTu\\nINXk7BWIGgaIs/mJsl6jCHsd8amUpiSJyljJmZf3spac/ohMNm95Hvk6JLVc7m4wtc/lnsawUNLG\\nuEMDgQObk84C4DAbnZqaT1Gr3szCfCsS0U2o3+9EnT8AMMfo8EAYHsikvPq60Y6ClDuSX9o8pw11\\nUrsvl/bm3cDhSKf4LThQcOBDc8Bnhsvopnew56sX52nX9a9Tdz7jxfcl6s2q9vd7PTkszcg5zTzf\\ndVvzrvmsxpQdWRNi+7w9KXXPHN9ovR9pDoU9l8KRSuRAPFNqQjsJxvw1EYqscin1qoSPc5JWx0u4\\nWqfnoD5D1jDR8YJvnf/8G9+mT1/zyDqx96IRni13pobZKDfBO9eEaVIZ6i9FbRtZK+Pz8qq+vkuX\\nnGbacNHx+HehWZQpOFBwoODAb4YDmix1+MMqnUzTeDHE86ThevmV7mVrwzp/F5fS8/L14jztN+H/\\nmgBiXcyL3GVpH7LMRbQUrzZ4O9Kwp8m/yqXlr8pbpBccKDhQcOAT40B8H0jfCgQ4SSXnruyJShQW\\ngPjktCEcHJ1g82+fxfh9FjqF1NZ01WfLmuj8VLUkEA2n4HtI8eqjFbiPQx/uAnzaMchb0sGiZxu2\\nelkutepUZQtVd7Ag2tnVi41hVC3yUTsyPBhez6yG+aWtsLKyhWTRNrYlUeUIeHCInaUtVFFq8bWx\\noY2HAkACYIKAvPZSKxI5SJViz7ebPhmomTXYl8+z0xov9iWN9Bi0lmLvNoTXsyfhT9/Ohj/+5TWq\\nrefCzvqGAbhNjUgD9fSHocG2MDgwiFRrt0kzR1pORX61E9SlJWTZhVxcWgsLS6tmN1mL621tLCYj\\nKtVi9nQBMVVc18PI8PPW0m+Uretiu6outcjTBgH8vvDiKqa1OB1L1CVGpFKrqNXNaDn4kW+HOkid\\npwweqS9uZqyUsTF562YZvnaELlSQd2Ifs8SqvOxPjg71wOuuMIDYdg/2m9tZUW9D8lWL9gwXVNf2\\nAA5LTS2RjLXDw4Ywv7jN+NlEzW1jeHjvDvZJ+1ALjj1SllnUBu+XwgInNG5b2W6vQ+NIvDhFPEzA\\n8DE3koB8tbnWXcqBSnbrtVWaAq4iZ1KzqoObycgrq5z5+YnGs5/FDJf/puBwJOeLa5G2aHmeSjNj\\nUuWSpvUpj+dTvB0VfqQ5nQh+4rysopQbjfds6mgPXd2l0ASQ0rgPCMgFbcI+eRP81/4EuzDKbf/q\\nvyyoakzGcZm2KaVv8fxoz4qFIaWNMwj22TVtYNyZBDVqa2V/tab15C7cW3PApHtiKd1PcvI6uK9G\\nBwT4ce8132Ku1oaPMpLDG6iNRnX09iEbZvbMVIG0AWiDQCMq15vYOCLtEHqWdAG4dXW0MF7YMIIm\\ngEEBxEhg3pwYChMjUstbRp0ykprU5dcyDk2ufnrDWave/UdjSc7rqNwQVZGW5eIfETECFSqX51Xq\\nBVlje3RfeMuq/bxYHjK+8BPvItH2tIt8b4DT1nnqPF6+00hDcbOAbmcuDxvGSOO9QIdcXiKe1/46\\ndYvnpKqvXli+VV/dhpR6Sqc2l9eptxsn6XHu8zji+dPApoS+8MXjCVSbt7AJ7wTpdtl1PgTcPWGs\\nMt4ZhB2mgr+FZ08zmxkEEPdiZ7gPFaBlVEsj2YU2DI1lAcNiQ1qnP4MVmc74afvVprSMt7HwCw4U\\nHPhQHKi940T3srsuzZ+GVc7P3Vfc27jL6r2Yjs+V/mj2zSaRWi1NzmujLib9/il16opReYLPxvk8\\nGPmX51Azcp5Wx3uax8r3sNKu65x+rX/d8sr3lvV6VZUqYnlF27VEI1hobA+njR3YIm4Pe7J5v7wd\\n5hYPMXeAKY71LTbObvHdfxTu3x7j26kHzR28Uxu9lPhbtqvSnssCH4PmZfUVaQUHCg4UHPhVcUCT\\nqCZq96/qXJrPJ2Avr7LppH8VravS07quyuvpl5W5LM3LfxJ+7ZL6J9HoOo30AVQn6VpRb1O+Xt56\\ncdep+LrllO+6ea9Tb5Gn4EDBgYIDv0wOaKZLHv8CRQQGHwCuSihR+mMPD47NLvEiKnhX19b5YCyH\\nkkR03NlsefWUqQVUOf1qoVmgonCzY9nYUwASjUh7dYAMdwHelkBh2pD8aqaEYBg1Rx+psgdLE5AM\\nxm7SyATqQScATPdQl7Ue5gEOFgFP1/jI3UEK2qRtN7BRu3scjmUn9QBpTqSMm1iQ7WWxdWRIYO2A\\nAbWSwH07p574MkosiVAb4EUIPz6bDX/97nV49mwR6dTT0N7Rg0rjLsCOUhgbaAr3bvSELx6N2gd4\\nNzY0IyUYwBe8Lb8TVH99kQPuhB3A9MXVEJ6/mgkvOLa2Nk1aTkCZbDO3gZo10ofKmr2oRsKxcR/t\\nV5XgsursQmaNiF4cG/rNclr2i39izjR/pKAScAUJQZO40mCF/+3Ys72Fmtj//m+P4OcoUlXYqQY0\\nb9VYYrAIINKmAoYUIBMUIKZ26WprUb6rswXpxDaAZsDdJi2eyDbkXlha2TTJ9OXlVRv/A+V2xo1g\\nilgvAQ1ZU2VdoUNdjYytM1SFCsA+RYJYks5n2nlRcSqVcyIHozK6eZLRj3ljpLDxjLVGTYDYCfYs\\ndUjVNrpLk/SEkHLrVFW/pUuLRHu/IuAjE1DO6ClXVU6LjT9Z27M+a8HOcqojNU3MCylHPmOohLLq\\nmukKyJboIJsCBO51AJicHpawL10ObZ29AMbdYkOW0wI6qXJqs/a/CPiVmldNP7pEBgpTkXydK820\\nKqC+fnllOexss6PgeA+V4yWk/8cBfcomvV+5JmpkyoaqWouTyzkQGadfXWexUodAMIQlQ+udEmYD\\nboZH92+GNeb0DdTBb2ztY1d4B7Bt30DiE+63RmkU4D6XBKaAYdml7cYcQTdhP3rQVdyLPl6mzqiC\\nmArjCIsXMF7PD3chRfW93YdrziVNsacPjKfFmTRsOqCtCZV2KJD2rJIQ6Ved1uZNmmD5qjJXEj02\\nllZdXl9M0ZnnSUN5vpg/5olUInHiK4WJtwwx1//P3pt2R5Ib6ZrgHiSD+5J7ZWatUklqqaXpmTln\\nznyYvz8f7p1ze6Zb3VdSa6mqrFy4k8EluMzzGtzcEU4PMsgkmcxMeCaIzWAAzAEPd7wwQ8xPwzFl\\noL8lT7GMzzlxkoYvFjz5/Vjkt/p3gMQ7YXPn0DTgR9jQoHMgp/Xew7ic4UiEqclRO95gEpBYY1Xj\\nVucK62xo/QTZpqSeBqni4t7Z4KVW7qGZ1e+hy5EsgSyBwSSQTObBChRUKle/LnueKD+W8zcrj8eH\\nU3NbKto4+6taY331WqtaKkoPpbTNtfU+Yb3cffXT/sQ2nk9537Y33enetH51VlTVF2SVFtuleFW+\\nCl3c6h4uFFLcOem3Y2GxFV6+fB7+8Hs2X0/Oh7//7VV4924zHPK9/NPrfb6d/8xxBxzdtL0etra+\\nCf/yz9+HFpZb9O4f2+DcLm5Hzs0SyBLIEsgS+KAS8J+Nnp+FPi0S7SB09eJN5ZrS6uU8fhVaL5P6\\n71s+5fXBwsmK+gdrQ7+KJeCbvi7jeVm+t6eJrinN6a/ii4/zSsN1Hhfl1WlzPEsgSyBL4OOQQPE6\\nIE9OZxQdARAfYcvYAGIAS52fur9/ACC5E3Y7e4ApEF3hct4qorA/cA2EwbyVwOFoLpjFTzTy5jlr\\nb45zBCfRipXpZKdXeQEH+iHVucQtQL85HApl4cnKZHj+cBIN4vnwbmOeD9s92gqIsLUf3q0D9rEz\\n+u07TE+/Pgzre4B3aO1MTU4DHMyghYhWKZqiERRQC7ms0rS1Mbnf36KUaV2vbXA25s9r4adXG6Gz\\nvoO202lYYBf21+zG/o7zNL/8Yi68fDIbvng8i1nTKeoWBK6LpQKQLUlXcfkChuW2sUL949sQ/vy3\\ntfA///pT+OHVz6F70AlTaBI95qzlB5ifnMJ86kiBVLkmURGFw01cccE75aR2xrYKzKPFEe2sSGLH\\nqnhPKL2zaUZDIZFyz8+GkQZmx88CZjlPDzF/NmKL589WWuFXX62G779bJR4X0nWOps5+ZO3dxozG\\njjhLE9tHsMxyTgIiT4HwjqOBKoBdWvOnmD4/woT37g5ncaM1rzNMpa1bXVoskU5q5K2zLleWJsLq\\n8jj34TTsjHTR6JYG4whg5hhhjVpRF1dj10m0KvSniYC0IlmcwL9xmNEdAuo804YOTO3S9oD2pEy1\\nV/de/PrxLNpT81SNNaWWHhuQ8pIUHMhNiavSVahovJEVYW+kE6Uk0FVRbRJRPVGTQdpzTzmH9Kuv\\nHnCu+NPwmjNlW2y0OArtsLaLBjjnfzOtTEYYJ+Bs4mI+ceN5vJk28MEho4jNL3rWdXVONA8kM6Ev\\n2iJ8gnnwblcgJBYKfv4h7GytwawTXjxB+5+NCO02mq21Z5QJrmp4KpQc7icByUtjoJCbR33GTBJo\\nMa9RIA487jhKYCLs7cu1AYeXmaOc48qmJmnsM3vt+IAJ5t4UOwm0AcQ2iACwaWOBtDnJwlZAWZ1V\\nbZio2mdtKBqi+A1c3p8eVjdbRQ9riwzM31uXFCiDHnA/qebc3C1odB9v5YqM42O4qARPWlGx5riA\\nbVpSSf0R5/b2u18QiI33wwdfUtaDKlXU2Jcq/jqmVDGsstrkMM/YGwcknuEYhBePZ8waiM7HHtGG\\nBs66Fxg8xe+Ixip7lcxctkxma6yqPF55eS1K8Kdv1c+ij73epe0vmedAlsAnI4F0pqSdKiZHmQSd\\nk5ZZnuBEZYYn4NdpkqyeILO0Rnrewk7FP5I2v2+nbJ2l/DSc0njYuTudp7uvfM9LfbVb78vyS1fE\\nVdZoRVPkW5rTFgRGo7Au5cVQ/FtEzOvJSIkI00DrQwNNQ1Ksw8vE4pGhMal4W7RI009B6VSGuDbj\\npL5Ilebpiuty39viceXV0/zORpqUUtTNl/Nozk1Sy41dSqt4q7w+bzBaFZ4+nQq/O/kqTGNRSZuk\\n//q3N+EHrHBtvn0btrd2wx+P3oQzNp1qY/byAt+WExMc14OFJH1Q5StLIEsgSyBL4L5JQA97uaaf\\nCv8hUF4aft8+NNXXlNZUz2V0l+U38bwoTfx0Nckn5nzAv1oh/NQuF/hN9quJ5yBpTTT92iXalD4N\\np2XqdGleDmcJZAlkCXw8EvCfRX/aEVeSnBYA5CJ4IsBEWpDx8Seg+Jj4URftW4AUBx8hv9Ll1auQ\\nLzTYmaGmYSkYVAuj43ZW7PIyZ8ROTbFIyvnHlhO1iMVDcbVVl8IUCVOAxBxLGA4BifcPJwEQABFA\\nAnd2z9B6PuQM4M3wx/98Ff6/kaOw8QaTvNieHh3mvFq0blWndlbHy1sZ++6p8r3uWKtiODoiLR0v\\nJflJc3mXc4KPABm1rCtztwtoK3//3Yvwh99+CUiM5iNmUwVgYbmrXPh1Hl6X4tJyxBJlePUuhP/x\\nx+3w//yPP9u5y2/RkpaW6vLiQvjmy2fhxRdPzEy2y0qLxnERgpSYKLY3f9FInf9q91E3VZJQlVpR\\nKcaPL4b0NESk1q7zjVNWKVDPlo+shhwgPjswrdwhzKXNorW7Mg9QDkDLUaIGCgs8LYqU3S9aJ+6W\\npnzddmlltUCNxkCLh1kAOTumxbR/BPBZbgi0teqDSlNefbU6IkisRf0nLPo/fzYX/vhvo2GzdUa7\\nKhPm7XZqwlz8I5/qrxIiz9i6KsdChoKYZCyqZRqBB9KwH8cNj2iSHgKQwVtjyjTJz1VSY3pxtLe0\\nx9QGD1fl6/Kpcs5TV6WrUAPLop5Ua0HPgDj3BaS8eI5x1tOvwkFnh3Npf2QTSzdsdEbCf/xtM+wd\\nYjJYQDngi4DfYza1dHnOaPNL5+DYNo9so30qs/kHgMQy9WqWDNQ93BljWmbBj4+k5bcTdrbX2GBC\\nHXvrYeysE/7wm5fh6xdPOBN3CWCHxuTr/SWQDAcx86jueXFbIlDGcxMrvLY5SBuapP19fDLBM2jC\\nflc0t+RsAwV0WhQ1R5ov7DrPtNFxTnqtac7NhG+P82Dtq36lmlqSpinsEhdvz8P3YFplT1ofGqMX\\nofhe9Ypl9Iyx3zVulFVpz8SCV7IoXjVH5Yr22G9RWm+RniZdEq74XkAYBxEE8RdYlCqn3xn5bY1d\\nfqM49cCsE5ydkUAzNS41RvWuoHGruC55RdDeeTxsmeWfQh5l3WVGWVYpzWUr2hzKEri+BOrz+uKn\\nzfXruUrJok32Xkq5cgIoQF75TPC2O73TKi46PF0N8ytmWGYMGm1ZwNJikp4HzZe94ZRtO09zQVbF\\nvyimOtwpqafOIlKm9WGsbyuJzDbW8duqbxo+/WxTnY4d0u9t/M2NzzCzvMI71gkBbfbVe1P8rtO7\\nF2m8S/k3o3zxjnEaQCQCy6QTsHw1nMueamqjGoyvY4HiTYw8jBEp9ftS9s+oKUM5ldU7vX2X+G+F\\nGgJzsbVjcXjojpjjvZ+HsTb+ydcmZTltJtU+T51xj4Eic4rrPVzPa39mq0m61NqmS+8eynMnmn60\\nykuvtG9pem/4PDelqKx+hzBOEVbZqDQ2PRVWH73kPfpF+PNf3oT/999/CH/589/Czz8OY3b6TfiP\\nv6yxOWmE4w0W7cinX3/3lG8NvevG+yS5Dd5y0eYrSyBLIEsgS+CWJeA/AE0/F/5ToCZcRNfUxLSs\\nl6/XUafpR9fE/yppTfVcpfy9o+Vn+bO8fBA2db5fXlN6v7Q0XeGrxJva5GkpH0/LfpZAlkCWwKcl\\nAZ50+pUXGKlzNvcxwWwmpkk0cIwvQX0sjwOm6pzb9KzeqwmieqTq29wWGQCctZggQEYrBRPYBl1Z\\nWsB8LMDL5CSAkD6nZVJYD3ZbMijCfJAXlYurmZTl6/cMLZ2TduyLNEX3OU92d68VFhcesgDBebMb\\nrwHw6GcHjVCZ/wU4OrE2QKyvZ/v5UG3NV2xHb57SyhI0RmaKR0bR5h0ZR3762WdFBU3poaEjFhOO\\nOTM4Li6oOi3GyImB+qGw3QcC4FgBRejwFm3IP/9tJ/y3f/2v8K9//Ef4x0/vOB+3G2bnp8OXzzFT\\n/fXz8OzZYzSPakBVJW7VcENXL1PrOzczLvyo9bEjcTHmsip7eTm1Ul2eTiHQUwszoxxCOYQMz8IB\\n44Yd7iMtzhWdDasAxFjwDrMaAwUjL6voEPK3AYCUh7knvjYoLWOBjW1UUqexNzvGys8RIKsWqzT2\\nR4Y511YgsVbu44qItc6XPwUdqz6UtwELh8PXX66EHzljcmG6G+bQ7v72mxdhlTOyp6enIw81xq60\\ndRelJeTeaJJUWppl05geXVmeDU8fr4S/f7GKKV7Otua8ZJ2pPaKVK7/U9qYqPX9gP2USJR0h8oEZ\\nXINQS6g4jbOiGzqLVGbmnz0dxxT484BRADZOvA5/fd1BAfzH8Je/A+QKIGbSH/N86fKwOcIdsMK5\\nv38CQNw18/MCi6VFfMz5tXoe6blkd5SALCecYE76pLsVDg82wsHuW8ZOJyzPYu5emtraOKCBma9b\\nkYCPNPe9Eovrj5zEf80vK91rf1pEnvZXiZ/gFefq5R1rkoHSmtIv53aeQnzOt4WZ3VOHP1/r5eMb\\ngFKT9liwKpGG6uXLeFLc09JWNWQ7WX+/p1CMeJKexP40juej92eT5qRtOi+3ShppmRzOErhPEuid\\n2XfdMp9B7mtGEk7epWKLlFbQFCTVfEvLpu332e1pxC3J06Mfky6eq6qhdAQ87JzNL9Kt+QW93rgF\\n5PL6wmY5fL4Z5NgLZ+8z8uWsDPnqIv/N4ZW+wkaD5xZXeP0xi0iHR7xt844kp+9CWVs55ttJ70fy\\nZbXDNtPpW0phKpSVKQOLefcSSKzvO6tX9RdAsIRlacRlnce+IayNSiW39m5lIC7plmv0Rla8lkvK\\n4hHT/D4o1b9h9d1avsLHmq2M+ArclT8CjYHCvDsbKFz44/jjHKs0gWkHbSadxOKQOR1lg4kivWpr\\ng0+sL7ahfOUWb8vgdQUao+WdxcBmfL3HSzG33BgkemtZ9GNfIk//a+z0Z8DLxaKhoDGj3yKM33AO\\nsRgMcU9XObJjOOx12EC5t8u7bidsY/3qL3/fDP/xpx/DkwfzbIjEOpPO5Chbp7L5yhLIEsgSyBK4\\nhxLwn5HLmua/JP4zcdW482+qrylN9P3SL8vzuj45/5rLGJ+MHHzQDdqhJvqmNPGrpzfF62n92iG6\\nOm093q9sTs8SyBLIErifEqg/xYhr2cKTpfC6D9Cyv38ISIyGJmZrw8gZQJPOBZ7gzN5ZO6t3VF+4\\ndsUP/IqDc2rqvvJivt5CWBMwMFpayacC7+zjnrP4AIiXlxcAvdi1XGrmUc6+/FVStcVd30SKq+Kr\\nBMX03WtmGaVdjFPJjY3l8Pd/zGOWeYyP3xO0DAGJ0CDc2dvn/Eo+1NFA9r5oscJ2m1PuKpdMQy4s\\nzKDZOwt4B3g1zOIHiyjr6xvh3//4J3ahH6Gh+iLsPF3ElPaomSAuF0JopBZnDhHHzn7AVPZ++OH1\\nBh/pb8Of/osd3biff3wVduAljdVvnj8Iv/nFCzuT8+njVRYv7Guf5qq3t3NJtu7KGmyxRssO1Etm\\ntVsfeL9akSnJLw+oBoGC1VK/FlAE5E5PSWMWGaLFeQp4py6vLgCKLnAGLSadq7ZJBpFPlEdsm1KG\\n0SAAOrRmiC8b6cP83BRa3lOcYzseuvta3JJ5tTMWc4YBpkfx9foWy6hgFYphnTH5YJlx/d2TMHb6\\n+7C5/gVnRo6Fxw8Xw7MnD6hDsrAqr/8nkaXu9AT8GGamydrZ+Zb2HnJ291j47puXYfXBCgtX/sqJ\\nJK3u921Avek3za/OP4kXQ3pYzwE6oyeQlqpmmbMrnEUsgH9zeyf8wFz5r//6O+NCNNCyMNnVIiaL\\nlraoyQQ7OcEIMZsATlkdO5OzxWJJVA5ZqQ6Naa2soqUfhvZY/DsKEzwDHwHGf48p89/+5tvw6NFD\\nniVT739fqTVfzRKoRlgxAJrJrpaq+8tV8k7m1dUYfcrUpXRSSb1fh/0Wmrw94izT+jytn38ZrfIT\\n/ufAoPN8E+pqXJwnGyBFnHrb579ival1VufLqQtWxv6kLVTZi7nVued4lsDnJQGfL8wT0xhN54vC\\n9XiTdCKNAZcEmzfCVXyqUBOvi9P09iyQF1zVjvkBU+U9hfdJfH0raXOrvc4QVtydQFxw29Dhzw5H\\noexx1MIBppPs6Aw+JI517AKArm2CFWgr8BamBsjCMG7srNomvse8I5nFFeiPuqd8C0ZweJ/NdEds\\nsBMgrPwIBMewA8VRczjyFUgsYNjB39S3x7N+B9Q3OTXBwgXISzhq+8b05EFYNLagIxZ/vs9L31LI\\ntM2qMIhAsYqrNsrzT2XrTt8sleawNIj5BgDZHRNIzDu1AGIdSSMnkLjFR5/SRSeAuaqPOnkPHZYD\\n/ZU/ylECOnZmkg+GKZ0rzzdim429U7y3T5KuOkRrPIouqVzVF9rLa6qAZgOklaE+qFvFpf6U8vRE\\nyZawxtghY4k9kmGfcYOxKzY/Rn5tjluan5sL0+2ZMMb5TcMjOsLjOPz405vw6ueVcMC6QL6yBLIE\\nsgSyBO6tBPRTYI//ooX+05Cm9Wt8E20TvyZedTrV0ZTWr+7r0F/E66PL89W6j67hAzTYB9YApH1J\\nboJHynwQfimNwmlcvNK0el5aVw5nCWQJZAl8ZBJwgJcFB1oOXho6IMQ7nV38DgsAh2hrnnL246gB\\naMsLs4Ca0/YhXHU0gioxftEjUnmC3OLbi5li5sO0c7jPAoK0a7WYcGK7sVXHHE67tcuLgq49aF/0\\nZUYM2Oe+0cQ2qFW6BCQpzFFLANyjnG0MkDgJYoxWaOfgLLzd2At///ENIFM7jD6eCzOyv8Vj/6Ke\\nQBAbUwJKsKOA+sbaQVhZGArP4PX8yUzYWJ8Me1sdzm/eC//5l59tsUamcH94tQioOcXCwDhlXYZD\\ntjgjgHhr9yC8frcJ3TsA4lfhh5/Ww/ratpnGRhk1fPNsOfzh11+G3/7yy/Ds0QrmjFnIiA3jrxYY\\nFLm0F1bian/UyygfcY81aPQUK1hIIV1wuRrviloLJFq80qU62DcQFueGwtPlyfASU877m+3Q4axZ\\nneX8JZqzj83UL2q8565CBibj2HZvtUi1a1/n2c7PToTF+UnO5xoLO2s6j/aIBZjTMAqCrA0RcmpT\\nenlMvkbqHNWPrqJNHF6y6LJKm4cBMNFwnuMsbYicPuUxeFilK3n4D5D0+gAAQABJREFUiAHXDi+f\\nLnPvvwYsZrGKBahvvvqCDQpzpvU/OP/7SllIreq+ydHndZupvDTbCksz42GCc5+POhthdw3tcjTs\\nDeg1mcUzmbU4N4Ia+ggm5WUNYRQN/2oxjgU8xohGtp6KVitawlrwm2Alrj3VRlN9lHPD58Mvv36C\\nexpWsXQwgVZJ0UK/PfdVkJ9cu2xxu6FX5f1I8s6nkdKT2BNJSubg7UigV96Kxaeb35be/MY2JCRe\\ntqIrOJ7P8AoqUkIJqyrdy7pJ0rKFFUm/kBd1X8+U+FQhxRJjzrl6i2ZHvmluGlZuPd6vJTk9S+Au\\nJNB/PPbPaWqXz5hB8no510t6bvFrbgztzbVOWOQUL83l1BKZuYKRF3PfW6g3X11Ktzdh/gjYNeCT\\nRIG7xatsSedxHZEgq0369tKxONLWPeoeYdK5GzV1DdyNJpuFCkeQVfxl0lnmnwFwj9jsCni3xa7S\\nXUDifb7hDgGJjwB2uwYQd6M1FDbKSau3PBKGFptmrzVGjVQ7xTc6A4lp4CH8dTSHXASGXSuY9kB7\\nJsC5cP7Obt9j5KnjkouY2+91jFhKfJ/2u6SkGDYe0Mlqj6XU3rutsP64EJvylVemx7e68pFpbfKG\\nxO8Va58JwBhXwC481A6BxnKjfDCMY2talq70fSo3zjvlGO+Bo3xTRi1lgcRqO87AYcoLIMbpO6I1\\nEQFiA4f5PpjlA6Q9NQHgDD82lcpal/VddateyUEgcRFW3Exgmx+/S5QXHe0nbHIv+ilRRNmfccwK\\n2uCgxAfsBu+gcn7Q5ZiWo5GwtX0S3r3ZC3u7O6HLN/nZiTbhHrFJAYs7Bx02HGBJRxsm85UlkCWQ\\nJZAlcB8l4D+m7vuPnNpaT1M8zW/qzyA0TeX6pd0Ev5vg0a99HzQ9rt9+0CYMXLluwoe47qretB6F\\n0/iH6HeuM0sgSyBL4I4koMdd9W6gkD79tEF4d28PjdpdFhx2ADMP2PF8imblpJmxXUGzdw6kVTuX\\ndUUOgz0+tUijE0RVhqUI2/W+C1C62xEQfcwHMDksXoyisazd1a3WBGHXVI51nVMEUCOKi89je4p7\\nz2LbYqaF+cO3OcAQgI9A2dExFlZOwz9eb4b//q//gZmvLhqoX4eJx0to+RZgoDMR03MXiZavD/Oi\\nfdAIIF7lfOGvXiyF3/7qGYs+Hc4+3gtb79bDq5+OwvrmbvjbD+8ADacAJVu2G90AYpjoQ1677o9Y\\nlNk74Kxk7EtLK3IHd3Qgk8qngNyt8IuXj8MffvUi/B//8n34BUDVInwqSZ1r6M0lqL+JLBTUPUEX\\n0+6uScHyTTBJvbWCSc5lQasDIp3X/BC5fvflMgDui7AM4L+7sx0eY075N798GV48Q5uz1DinQLmb\\nQDU4F408GymWopjkJs3kOcwGLy2wMQGQ9adhLaTFzRGjILs6m3gEsFf3ufeKCforPvLBmcPUoykW\\nzaZsngiA1rjT9X5SqEoX08/4STv+2aPZsDz/dfj2y8dWpzZYTDOHWD9KrtjWJOHjC3ID1AvvliQi\\nU9PzbI5YRYP88Uo7vGVgbG+hNbyvJ440QTiLGM2MmTYgMpr98/MzmN+eMfP10Vx+vDmiHcZOvXzV\\noXttC4I8lybGTthgMhoewP8hh4c+XsUE/kKbhT1kLOJ83YEEXNC668VVjIcy6oEr+c73SoU+QuLr\\n9LO3TCL5gfvfy6EoVj3Kevg00iYUaf0pbZqekMffgPgjXSWnBavUWgiOJVMPyPewyNOwM3U/sksp\\nFI4bVuLvRPzrFEU5/4HpZaOSkWH+myVwoxKojb9zvC/LP1egJ+Hqo9brE5umcJom7lU8hvSNUV0l\\nMGyJsTWer5ilxOSqUC3k2V6uyde3k6wvadMrp/MY0HtkYC8amwC/URNYloTYBCtAFXoBvdLElcnm\\nXY672WZD6NYOG0l3Zc1oHy3gAwOKj0CPuwDGMucsINZBVn0LCKw9FoAL4LcPnz0BwwKE0fpV+qkc\\nNKKVNZRYVjxw+icfp825ENAqOkCH4zsQf3keSYYUN185JlMDHgtBuYCIRgDTE/D9pdhJiw84AzIN\\n8CyAT9Voz75YVu2MvCpg1Fi48CETpaL2tlbERaNvKPVJ8hWBPL88LIBcGQ6aVmHJI8rFyhC2FilN\\n8ubeIUXTuN2NBFZ/pKKt9maqt9MirPdJvaNYUmyk3slHeKcU0DzGhsUJNI8nZbIaYHiSjxxZKxrB\\nWtEwH9lDApzxBRgPKwwjgcMlQEyenY/MB8aw0egd1lpcNL/oIzEbL/Shyzg6ZHwcMlgPAP4PCB/J\\nahibpWVeem+Hb3/OHz7Y2wknR/thaGoELWfAa0xWSUM6X1kCWQJZAlkCH60E/AfCfxkV9/Btduqu\\n6kn7UO9rmnfvwh8TQHxd4fkNuaz8oHSX8Xmf/MvacFn++9Sdy2YJZAlkCXxACejxxgdk0QK+gW1H\\netw1zqIEANnJ6QFAykh4AmgqM7nSSpQ5LIEiXo4vYAs3PyydynMFJdoyBCAo5q2w67yHpvIxZ8kG\\nFimGhgCI+Xge58NZZz6dA1+Sj98mwVW1eM+0EGKGZk1TdApty1nA1AU0oVuo4Wox5x+vNsPU2J9C\\ne+IUjd8FQCQAcMzGCtizS4LpW28k0l859VY/8jNopD56EMJvvn9mu65HR07Cn//aClsbnXDEIs6P\\nP+5hsmsP8F0f9rXFEbhokcLO90J74AzwXIsK7ZkpNFxb4Su0RX/3y2doDj8P33/zNDwCsJJ2rTc3\\n3owyRmtu9oojJvLXcoGB7ixqyMSamUIja1y76nHaLa80v3w0ePwqPsd8BY5cDl88mgwnv/oiPFlu\\ncVZWB63i6fANgLnGpnb291yqsKqeSFzg8HYoSylgrJytBbC/MmOa5H9GHfhUO+htxzyLOfTDNIh7\\nmEXGzkN8jC8JWIs7d2kY+aiMi2HnSC5JqOoTYewJPsnjANyzmLoLC+pJzIvUFv1E/tCj4n563xWd\\nIKJx8ezhQvjd9y8BxscxJb8dDplnWrAbA9ifYuFtfnYqrC7PsdkFM/nc7El2Bdj41Ny2eyNZarkx\\nSk7JimtNbHz0hEWysbDERpk5+MyyaIYSSP8rsuifn3PeQwJRuMUtMz5Z3O8hzgGLpvIesIiRqdxN\\n3J96/fX4uTaVBKq9iAzSECMtC8ey9g6gNHdem9PpieTM3VeKwv5ESUicjxc3dtAqrgdPefUQlKk5\\nkCXw/hK42bFV55aO4r5ttfHuuc4h9ZvCTi8/rSWGq9mmeJGP55y8dHwfI1ZkeL58+0YhAL5qTt8q\\nMuWsOHirYakqLyclWeWjsItFIr5pOl0z8+ymno9QDda7/Im0b3mfl8atykhLV2DdPgDwLmW2dw/D\\n5s4BG3TRABY4jN1faRIfo0l8DMoszV+rUL3SM0JdszbwTcVmSIG4JwDFUaPX+yVp6EVFgCVgJY8p\\nKyofF8FKAEu+H7QxV+/yAi7t7F0AR1lPERipQqYRS1h1U228LF1tUb6cgjFsaaJS3HwLWn4EOQVm\\nCgSN9PbuJQZc9rgl7HSUFJuYbrxi3IiVZ2kx3wFeAfEGEtNav1cii+H4jRW1sQkjPIUjkK6wA8Xq\\nKfCveZHOaeWbqW4zx63xgfUn5I8FbvN1uzRm1I4TAdYMHgPkKSdLWRplnPxLvzjKBhmYdjGyV5/P\\n6OyZbpB6hm9ykqxI130w+uLe6B7ZeywvqvH7K8qQwtQT2y8AW/2LGwriONRYPGZMnmps0gdh5qpr\\nCAh8aOgwTPC+O9FaCC8ezYRvvn4enjx5SNwtNJUjQNXkK0sgSyBLIEvg/klAPwYXPawvy7+LHg3a\\nhkHp7qLNt1LH5wAQ34rgakw1UAa96rSK19PqvJpomtLq5XI8SyBLIEvg/kpArwp9nn76ABe+Bq7H\\nrmYWC4a7fDTusXN41jQTvy3M1o7zERs/O/uyurD/KqtvUb5P0VjusECyz4erzFkBhA4dsyhxaqBM\\nXBCo3m3KB3Cf9vdWGmtJljKsb2BD4dHqXHjyaCH89e9T4TVmm9/hjnZ+CIvT3fD7X3+BCdklTA6D\\n8JbAJrx6tFF7a/KYN0uf9fqh19mwv/lOGqnfh5XFKcDnVUxFc4YwZwpvs0u709lnEUiLRwKBJRF9\\nn7NbXCaNuRFj7Cpvo/XY5kN9jrOKn6zOmCnlr188CN8BiD59OB+W5jCrKzBS3S1F5S0Rxxu+YO1a\\n3KpFfRU4PYMa6wzalCMA4SOYJLd4exJzaeO2+71YwnmvxmiZq0WFK3OYhP7FF+HwxUMWzY5tI8Fc\\nmx3urF2oPSYI3S+/XC5KKm6lZylJTrylRfz4wQxyneH+Y3r8FJNqrPacsXnBdvuzYFbNnYJZwUgx\\nXdXMiPGkAIsuVO9t8exr+GLh9V1UfFC6i3jcn7xCeCZALSzGlqmPgsTZ0xG+fs59m/5d+O33X6NB\\nvItJPFZsGQdaPNPZbjOMkXmsHwjonWCsYBWQBbVKlmLpcnVftWhMiY5pCdgcfR6B8fIbqpury9Nj\\nLP/NEvjMJXDFp5DIdd3EPBIP59eXYUlg1fanj8xYRo90+GkTZRklPinS1Eh6PkXpSpXjd1/PkJKo\\nDIgoX1kCH40ENHJ9dgw8insI9fYkDs4pfWskzX9rJREr529b8kWb0idTSvRczlU1mCNBQK3Ypg6s\\nzDSBZe55txPCNpsQt6RVuYdmLztKpaF7Is1cAZBMX4GA0uDd43zeLbR/ZeZ5GxcBYs7sFT3vkXLH\\n8kEODajD78JAoCKKnOQLYMSXljF5BiICJEaQr/g+oM1mWpgXkbFiE+a4mSSWtRgBwBx3wbuI/glU\\njACvNrlF08h6F9KGOVnEMTPJlNV5ui2szUy2ZPZY5+sWZpPNZHIEiMXTJWqy82eW6vJ3HxNyjMez\\nfikT/ysnXopDbwCnytIua2/BR222GwU1OTHfyzqLgjbyTiqw+8gIom2V071Whv03rmQaWBrTCloD\\nk+M91beYlTcC9TZeZv1BvIlGoDcCyhoDJ6eYaUaFXGc0S4u7wznQOqqpg4Wsfd5DBfQfJibD9d2i\\ns6BNqxtfwHR5njMDStq9Oju6KwDXwFu1UxUXLjYpxhGBy8x7WcZFj7zMqYyV9/FFRKhwUX5Um3x1\\nnjKbH9tY2JpnQ/LK/GMsNj0I/9vvv+VIlce8X7MTs7x6Ki5TcyBLIEsgSyBL4INIwB/KetL7pTRd\\naVpMqf420SjtojJV6fgrMihtWi6HEwl8TgCxD7ik+9cK9uOj9HpeU5oq7Zdeb1ATXVNavVyOZwlk\\nCWQJfIQS0Gd4fEDqx0nmanWW50vO2dz6+mFYmB4xc6q//u55ePnFY0BAVHALegtc8Y/XpWL6sD4+\\n1llbaCoDEAd2UgtcnJjgjCfU87SIoW/b8krDZeJFgdg3UejNRQAPyqYAxLPhV98+wZTWRvh3zGdv\\nbpyGuVaXs4A5Qwpzwrbg0VNXFVGo5y2oylI1pSy1XDyNQMcxiTxJf6bGvggPMIErU8A/v14La2g4\\nbm7toDUAQI7awRELR1os1s59LdboPKq2zqbiI31uBo1ntJ4fgow+f7ICuL3EPWkDwkYg2tukdllz\\nam0i+T2vGsOiQt0b9VNj5tHybPiac4B/+PoRZp+nke/j8AU7ztssKIxo0YerR27EexaWjOL8H9F4\\nv8RFVbNuFaYB34cwBS14UGmeR/B8RZaY/GGlxet23soVwPwUgPjbL1fCP759FCaHtsM4pqa/QOYC\\nFgV2p+bbIg/V3nvFhZy4kOTj1+uL8fNlejkMFhMX1WW+FylYp/3yrE/NdynquSXAWCbH25PD4dmD\\nWc7gm+W5QgaCMA1gwGApWGP8AFPycUOAl5fvYZdRPe7p7ku+LntPy/7dSkD3SPchX3cjgf5z4qK7\\nYDOFBhale5j0RGInPMkmVy9fZfWm9Pa7yvPfDGeWsK6IIi9/QPeyKpvrJZNiVi5ti+fJF4xjPn/U\\nBXeit9aQpmeVNpjIj5phKqHLKGIw/80SuHUJaLz52OtX2dXGZJx5dV6xjt6aIl/fZuG1nJUb+0jx\\nRGdXi4tfkzPQl4koX5fR8EfAr8BcvRccyvwzPrgdGp+AcwVgJy3dLiitALqOmX0GHOZ4l/WNLd7V\\n99AQlmYvGr3kC+gVeHfMh8wRIG8HQG8HYHBnD3CQd/oDzv89wXyv6OxjR8CvLNLooaBWqYvqk+1S\\nE7CLA+Ad44WFIGGkw4utzPqO8tI7JnAXEG+S99DJSb4PeJmZYlejjuIZGxu3PJkiHhFQDGOBsArH\\ns2oFEBcbTwte4+zsbAEyT/BiNMn3loHEmL5Rmp2p6xrEyTOyaHnsAk0vs+iH8nQpTc82z/P0mBvT\\nlWf58osylkZ/FffLeXhcflquh5iKrC75SVhlTOQKFJc/lxX1cN13WvneJtscW5Rx7WMbb2fDjBsB\\nxADCgMI6D7pTuAPSDvnOPWLgyWmsaUxoE4BAYjnX7O3yHXiAvecILh8Z2Cye2mQgbXPTRC9MhgtU\\njpsUIqAtsDd+daQtj6237w8TcPVNrPExOsK9ZlxNaDMyY2lhvg0wPMn3TrSWs7rUDs+frYRffIWl\\nKr6bGXrl1XRvyswcyBLIEsgSyBL4UBLwnyz7SSwa0ZTW1L5+dE3pTWnOU3lp/Z5+Vf+m+Fy13jun\\n11rWx3j5ILittl/G/6L8pjyl9Uuv96EfbZ0ux7MEsgSyBD5uCdhTsfc32x+A+nFq8wH4BJDsX373\\nLee9Toe19S3Ayenw+998g4np1dCSCt2Vruox7CGBeeb0x050Yjf1GeZg0R4eawGmookqzdmWzgnW\\n4sklV29vIrH3yX8GFFfLBWY+edAK/+s/fwfwOmGaxDvbm2FxZiT8gvNbXzx/hgnqGVtcMU7WaP6Y\\nX/Gu8mKa/jqJfDlppcpfBJSefD6CKeiH4RffPAzb22gZAAxvc97Y9s4emgbxvDEtFIyxeDPF4s8c\\nH+kCh2fQwhVYPM3u/mkWb2amxw3IlNaw+OvyxY+7+WCPvdMCkNXNn2mA1ZeAw2en3zE+hjmfaz98\\nyaLC188fcc7ynMnA75EVu2JDi6p6+KhuT1e450ozeiqGijwtkSi5WsyMIZmFfvoAA2uY7w4Hvw+/\\n/voBC/kn4cXTh5hYX0XDGDDaeDvTnlrLiC3BQGikZVvKQEl33UDK6SJRpnTXret+laNH1qnYs7R/\\nekpw+1gMZa6h/D/PmLQFP9JEZ44/epyINi1L9NxXTP0O1+lVJspeOXVq5eqqpzdxiZT57/UkkCV6\\nPbndTKn6+K7HVYunya/frSLNSPjTk03cfth600Vi5GJtV0+hJE/PdEx1FjSicqek8jfT8pM/Bbve\\nOpJ8gnp+1PMVFzisbV5gRxGAEviEk1agFLXMSshZF/BliM1d/M5jDoNXHNOSo9h5ppaY/2QJ3KYE\\neufP1WtqmAmaXD1spf0Y05xaQHDUuleNvCsV9PKcJubob41dTCr/il5zDyzWjowR+KszVaM2rrQ7\\nCSsPQHhPoC+awBubu2Fzey/scu5vh2NuojnnQ4BfgDxMPsv6yP6BgLpDtIj3odsD+IsbOWWaV0Cd\\nwGSz/kPfZA5YbRDgHUFv9UQumv0VSDsGIDsxisUf/ElpaprW7rgdxTIyKus7UQs4mlXWuwwAb6Ht\\nqzItyugc2JlpfRtM22bdaUC9CQBd8TZwmHpMC1e185Jumrq89EiDuAwjbMX1rgQ2aI5i0ToKL1Ha\\nSOvvSfauVNwbWJbPTQurjiLv3D1LyojWLw2DHtqETrycn9M3+WWRMpBQFczTOiy3ltATJeJxta9+\\neTXue34cwzFV9/70lG+H03HG3TgbBqYBdLX5gLFX7A/QGDQtYe2Mxtmc0NjBCWQW4CsQWBsLNO52\\nGJvbaKSb5jrxA1TaNS61mVgAszvTPhbgbDaivXV1X3OMtuLixgHOP9aGA41FPiZ1xvD8XDusLs0b\\nSDzHQoC+NWW9Sv4Mu50Zrgb8R851adTry/EsgSyBLIEsgXsqAX+A13/xlN6Upm40pdfTvLtNfDxP\\n/mX5Ke1Vw/36dlU+d05/1dX1O2/gLVToN+sy1pfRXZSvvKb8prR+7WiibUrrVz6nZwlkCWQJ3GMJ\\nNPyWK4mnnB50+nGSvzQTwi9ePgwPQTb3MK82yQ71549XwgKaxVo88Eu0DRw9u8cXrV8Ki40WKLRz\\nWaZeu8cHfDwfsADSDnNzLICg6qvFj0pjs6jJ7RtT/vK6Ywv11+sUiLRA/75++QDt1jHOrZ0OB51O\\nmOUD+BHnkz5cXbYd+T0LFSrccDXV7/U4OV0MOjtXmotzuO6iziqbZPFpEm2EJRYCTll4OmRR6pAF\\nAs5f5qNdJt/aoK4ChFEitl3b4whM9ycRv1XhCxo97fXKb9xX72KvvZ+K0dywignt0SFMkGGiTgto\\nKwh5GTeljnNVJS16pT8qKzf4lVAnwbR8hIT9DkYw1844Rgt16MlcGDv7Juy8XKXeU0DumbC0OG8L\\naH3YJayhuJwoob+Z4Aeo8mYafhUu6qRrGBW3TkmNY78+UZJ6rGhSPsnqCfroKBMLIZ+XdZXiZaqU\\nsnQOZAl8whLwka8ueth973YSL4M+U0iwNM8ofFfZMhYxLZbwcvI9HOvpAWjIcoqSSmyKiNcWS3r5\\n2BTW9UtwKS7us4hPgagxVvjQ6DdYa/4CA2SWltcJrGigQYYmobTJuqBVJ8f7AEoHuEMW5HnH4ixz\\naWQ94ziLWTaq2ePKG5i0r2xo2sAczhL44BIoZo4GfzpH7YW0yCvbyIz0sW1pRCzBwdRIaCQJnbgw\\npWy+af5p44XANmkCp3NQQLBA4U7nlKMlAH1lCpp36kPMQUsjU9q9R5wPu390CtgbzUCvbeyGDTZq\\n7gAYS9tXAHG3e8C7q+Zq1BA+FgiMk1noY0BjPwN4iP6q+bKMMzwyEUYxSTKOauUYQNsoYO0oHzR6\\nj5fWr8w+y5TzJEDcFC/Kk7hpdoUIkNM7vjaDyqSzaKXtG81EC8TjXZ+PB4HEZhZaADF00hbWd1Eb\\nkHiashPjWFvio0bfUnJql8vawvAxHzlqU6fEK6fnjTtPc5+sj/dSJz7wpXHLcO1xSovpI/xe6Kuw\\nSJBHhuXxR2NbGu72O7LPhoY9aSQDDjPAD02TmN8TbVCQ9rFAYkBh0ySWdnoxFxtFoPdmBoKd86zN\\nAXK2+YBNCxqboL+zbEZeRIN4BnCYIWZHF+m7s2itNTn/yRLIEsgSyBL4aCSgnwP9vKRXU1qan4ab\\naJWmq843psZXjH55omni6WVTf1C6tMxHHf4cAWK/YT6oPH4dXzxugo/qvohXUx0X0V+nL7lMlkCW\\nQJbAB5ZAfNT5w02LBmwaDuMr05ybO82HKB+IJGr3cAUO+29/02Oy1h2R1sgU1UcnG+JZHAUEneTs\\nrcPtcHywzU7lubCM5vIS4GK7LZNr4qfP7XNsLK3/H9VSVa6YNwNramF5jjNJp1fC00fLBszK7GwL\\nhFBnlaq/Ttuf//kcLyM/6i5VcjqFo7oigHqYP+CogNJagEbz4GwS7SLUHrm0mKP6JWv5kpPKyUX+\\n4lnxFb3nKHT7V2xF/Btr00uNNLPHuG/zsy9p3hlmy1i4ovHSUPArLeNpV/O93yqVhp2LarhaLZFa\\nkEK8P+rLPBsIpjGpdnr8yPoi03ytCcz+eTXZ/3AS0E2o33qL6w/OFqudwH01VwWji9sBlHbxVd7v\\nMtBEX2WmtTVR5rQsgfsngWTUGrijFvqYxvdgY8M9Uzw87OVJMy3Bgr/zjj9Y5RyusKW0riJstOIr\\nl7Szpy7VF68myjTPwyoubilHixeJetsQIMVxkmzgAuzdP0Oba5/wAedJxjNFu1qc16I8tCeAT8e4\\nAzZ77QIKb212wjqWV7a3dXyEFvb3AZ72AJl2AYt32UR1yma0qfDbX78I/9f/+b+E1ssnpgWo9ucr\\nS+DjkIAmUWHQlrniR2iUG7joxJnPdSacj+26f24OqlzhBJZhWdfm4NbuCWf7djDfLPD3iPmm+XfG\\n+/OZAWean5ubO+Ht282wwfEtO9L4lZlnaQNzwK/OCGbqhkO+Zw45K/aQADiwbQA5g8/Z2bE5fWsI\\nSBV4FgHbqPkrbV8z0QwKq02tAmdnsXKko0fkZtC+nGI3p4HEWFkS0OvmnnVUjgBigcNyAuMEEE8C\\nFEt7UxtkJSoDcPFLsfHSX6brW4B3aTm9U8vZ94HokZeXUdgvhVP5Kt1oE1/fFdWl+6kvlX5X/5x+\\nJfqne8vcd0qvw9Pd9/zr+s5X5dNwE7+m/Ho7PC5f9JKkW6yoUjxHtYjSSjl7fAU9vfQZD7McH3Qy\\np9+WMcboGGBw2zYh6Xtcm5H0c2pO5Y0pgQuupMo4VlQ3ThsRfEwxTDFvHr89NRbVI5UTe/n5yhLI\\nEsgSyBK41xLQo9of22lDm9KU74/2AX5FUnaN4Zvi1a+tjZV+SomfAkDsg+A278td1HFZ++9DGy5r\\nY87PEsgSyBK4vgTsKRc/ARWMn7nxnM4hPhYvu67zkPR6WCNhoXQyfPlkNrx8Nhu220fh+28eEX7A\\nTubpICC3h7+tgvSkXNI80VbvPV5S3dICyyRunvOB2aPfW88lXD075e68q7yYUtUe+6K65axCkSDw\\ntGwaFln90i7xqP1aUPrKUJ3wluNpO71Psj4Ops+V5t5WQ1RHXbpXravioZAviIBtmxlvG4DnWKZ1\\nnsvMCXchgeq2JbUpkctvD/PEg1oJi0vU0Pgz5BwPqAsWkZH/9cSSm2cUvtIjzTmWNcoczRL4sBJI\\nx7CH3adl5VBP0iwxZuiXp/lqSictST73M5XkpTxVc6MrLAd4y0pguUhw/uWiOXykZSiNQ3MCgwCI\\npG1oTuASq+2n0sDSs6JwCgt0OiK/gzlPnSe6JfBpaxdznx3AqiNAYpn5BKCCl8yMnrLJ6+RkGC3E\\nU9P42t05sHNL9wCpDjBT2z3qAEZth+7BVjjsrLHZqMtRBlOAQyfhn//pa9rzwADiVA4mhD4y6qHL\\nkSyBa0nAZ5IKp2Fn5oMv+ppX5VVmRQ1gn3uWX+SJXI7pVwJYzsPy+GNawcwhMFzTAI5moTmzl/mn\\nuXvIxJWZZx3DssYZwOub22GDeagjWbpoB8u88ymbNKRZKa3hza2dsLa2ZXO1s7/PfDyERnMcZgC2\\nQyNo6WLKeUiIGB83io/ihtnJqO+BCfzJiZaBv9LSnUIr2M7iBTXT0S9yo4RbpOvYF5l5XmQ34Rzg\\n8AzhSdJ0RrCA4SGQN5l6lrloAcsyKy9NX3Bi2xg7wbeP4pzIYu+dkp2LVWG/mtKUV0+XTJsuT3df\\nNCpbL690f2OK3xhKKeiKZ2/zOIl0A/+l4rQt/VpS8WtqaZV7O6ELWmhZ/Kk1K8pOG4aqDzoncV9t\\ndc5pmqcrz9PNFyt9lCSXl0+SzgWdx7kMEjwv5aM0T/cyab6PjGqbh1NlP0sgSyBLIEvgnktAj/fe\\nR/rdN/gu2nAXddyq5D4FgPh9BVR/F+nHb1C6fuX7pYtvP95NeU1p/Xjn9CyBLIEsgXsqAX/snX9X\\n8BxvuCjkPN39mN8b8zKX+VYqYSqA+AXmfA9//Tx09/4p7O9th+++eh6+/+4F5yFNl3XHhqj0YPX2\\nUsWYp7nv/VObkyb11OC0F/XrYpr4SS3+te/88m0tbYe3Rb7zdb9Mc4BLCecucfMrLelpN+lHrVvV\\nktaahm++Bc7Ra/G496se9/QmX7Ti07zs4TWkJa/CPS2Xw7cggaabUS5kkmn/k7vYNG96ePREGhqc\\n5id8jdLj9bGUlmlgmZOyBO5MAhqj7lSpj1kPa6wWaeWw9TRAUOaW5TKPypJlQDyqS6U03cyvkgcK\\neRlwIzMvKxDJQV5OYIjaU6RZI9wnqnJ+CQ8C3zUznWC6nB/aMZBJIFIHcEnnOx5gUlYmaA85czQC\\nxQKlAKcAjbsCndA43EfzcFfgE2Zod/YOwh7lOqgVSyNR2odngMLhTJ/02mAG8CSnOHUb4Mx5lDqX\\nUmcPAznjAIrRND6Exy78dKapAKwITkeZeR+ynyVw8xJIJ6yHm3yfhXFWaT7ZtkSRKqnwe6l6W+tk\\nmsfS3O1iAlpzRnOY6WWO4Q/gu4+2/XZ4t77Bpop4zu8BasNHzENp/+5BpI0ZAoZNg9g2aWAOGhu8\\np9jiHYKh5tAxGzbKs4HtLFZajBqkAN0pgbkFiDuNaWaZaR6TGWgzBT3KGcAy/8w5q2gE6ziRRWjn\\n52bR8p20c1oF8A7h4tnA0eSzzv2VJnA0EQ3YiwUdgcwC9PzZ5xIxbUwEgrVoy/O48iWnpqtfutP6\\nrfB4nV756ZU8takzUutvb7kiRgfKdL1TlZGU4/XDl7IrCeq9uH6dsWTBuM62rM/5NxB4UknrCc5Z\\nGTX+RJ3cqT3uNaW+54nW6dP8QcOXlb0sv7eeSO1t683LsSyBLIEsgSyBeygBf2Snj/umNG/6RXlO\\nc11fvNN29OMzKF2/8h99egaI4y30wXjZDR2U7iI+N8HjIv45L0sgSyBL4COSQNPvcNQPiksD7IfW\\nFv5iJUgLHvap6/5VeypWDU9hrK1xVi21fLnC0uqvMMG4b2cAP1xdYvFFeqlXvxqqKZn05LHqpUWT\\n6q2FXCPooSrLvk/gHEcqLdMIV21QLR4rKPBKWguUsUuaJD6D0l7C6qJsqumpRauJF7Wzh/gixhfl\\n3QgTKqj4KCSnxfrySsJmQrEiL0nSQFLSki8hT4teK3zX9V2rkXdeKJF6fHBdqQUu04RLQ3nlOmVD\\ndk7KErhXEtBYdZegqtZGH8f9RnxMF6gh46NObUX7FNGrgzAaPT7NEfbXCXukkp4WFU85MFkDg8Ff\\nA7gsAFFAW1dA7wnagDpPFDBITqadC1dVQmGYn0kjGHS4i9uHyfauAKY9wKU9/H3TNIymogGJUVk8\\nxMlcrd4ETmnkiQAn+HQBdo9w4tPFJG2XRp126YgQLzSGw5kAYYDhIX3Sx3AgPDREWNqDI5KzzNZy\\n5qTZBJ0II2NToT23GBZmF7Ca0g5Pnj4N0+3pqHEIdb6yBG5PAj7LVIPCupp8pWl2aktjnKWl+Wii\\naQmNcA1tOaaQ+SLQ5gymaWBfBRsr5I7CHuahDzC33jXTzqemob+HCeh3AofR+n0DQCwtfW3CEDB8\\nZJs0AIkBgS3OXO6iuX8CeHyG5vAZ6vs6C3hC2r0AvS3MAY2ivTsGSjuKWq7cBOabpdU7PzcVVpfn\\nwjxWiWY4Z1WmnQUKSyNY2r52RjAfI220huc492V2po35aDSCW/AR4FuAvrb/DBnILC/VGiCMYnB5\\nDAziuN5VCNVlKyZR8golqeUGuB6CXhoV4fLy6ReO8SLDvvGMragsoShTxC1W/FHSB7tuqfJL2TYQ\\nnEvyBAmScHGbPNVEVmQp7On2+2eZ+hML+fe1YlbEkvnD/fZyZREFSIzpRmhZMVTFI309HstZqmcV\\n78hlPWV6rMdrivzy3yyBLIEsgSyBz0QC+lnwX4TrdnlQHoPSXbcdH0W5Tw0gLt8rrin99y0/aLWq\\np19dl+UNWkemyxLIEsgS+EgkoMde029/TKuwlYLGnp79HqEXdLlWpOIrvRtMErfYff+oDVD8a1aY\\nTmyxZlyLPCzAqGZbklYhi8SUfrXVqmogK/oivrJRydd62p4IkTcUu6kkq75qg7GlHbHd3vpaflr3\\npbv5xeOC8imvK4cbePdUVUS8G2U7ioQy/coV32GBZDxoJSdtcxouW9SYWObmwB1LQLejZ0xerf60\\nqMIX3933rOxqTcvUn60E0lE5iBCqUVuV1EKzfkkBVgE9y4sfv/j75wvRynNXUpUBQUbiWfEts8qA\\n8sCGIrjL+b2dzrFpykpbtwvYIy0/gbviYptxAHT1C8jJnwbGHoIsSUt3B1POApa20LTd3UVzV+eJ\\nkiZzsl0ApJMu5mWNF+CugcUCjo+pQyad0fKFzxGg7hEqyAKbpBV8hKahaf+CZp2Capl5aXwDUei2\\nvwvIBO3w2Dh4L2AvJmgj8MuZogBOw5MyU9sCgJoxwHd4mMMiT0cNPD49ghMA8in1nJ7umwnck26H\\n8C6g0n5ot0fCk9VH4bsvl8Jvf/VF+Kfvn4cnTx6ZyVqv+0LhllLOgSwBSeCimaj8ONcjlc9rjfaY\\nLorqiqnxSXA+P02JszdqBrP3gvN+McVeaP9qE8fh0alp32/u7Ie36zsGAK8DAm9v7oYDNmzoDGGZ\\nae8wlwUI7/NskNbwsTSBcdqgocloWrs6z5ePgWHmoc73bQHi6kzfKQDeRcDeh0tzZuZ5pj0FSDzB\\nvOTbQecHc06IAOJpzgWWCejlJUxBA/5OT6ExbGagI9ArsFebX6Tdq28OmYAGNzZgWGf8qt9yevWW\\nHF3iehaWeYQlEz1h9SSLVMrV5b6XVL5fBYeCpDSbr+yymJcjQWklSFwSVI0qyxW0YuPFlRcZWCgN\\nxoT891oSKO9Hn9I98tcdqCWUxXz+kWDfpoVvN0pEKlcvW8Sr2y3CePUg0U4Xx4z91Z+SXUz3ouUP\\nYTlIavklYQ5kCWQJZAlkCdxjCfQ86ZN2+kO9/BUYMC8hu5Fgv/YNyvx9yw9az53QaU08X70S8IHa\\nm3q9mHhdxO+6eWrNZbyv1+JcKksgSyBL4N5IQI853hnKFUtv2EWPTqe5mq9FFo7hskWZOTu8Nv48\\n6o3FXL0ZSkyaUbSUxJ5ki1/+h9IJL0Xej9/lNfZUUJJ7O5LGeD/l3+crFZg6l3ThPje7f9uSDiTB\\nSO8J/W+KKDzXqfvX9f45d13f+7f4Dji8h+CzPO/g/uQqLpGAP0GcrB739GbfwE4exA4CqbRPiSFA\\nWGm3phwVLl2S4UGVdY1AMBzT7NWZodIYPJNzQnyFpU14CIGbdd7a2g47qBHKtPMBZmGPAIlPAXId\\nHD5lU5jC0jA+BsQ9xB5tB7cHeLTbAXhCDXEXzUNpHx6QdkQjBBALHD51tUU1RHxOBRrHPGkZW8ek\\nzWvnj4L+gASZdrNkAiIkE7RjgEkCoAQ6mcYhINMkpmUnp6bCOOeRjgIUDwMUDws01nmlxMfGp6Cd\\ng/0k2s3DYXNzP7x+tR52OWtYwPPZaRe3H0aGD8LoVBdQ6iwsY7L22aPp8NXzxfDtVw/D998+C8+e\\nLGPSdor2FXfIZUn7ypumcL6yBHok4APFfc9M4xGK8ueAU6QDy58LKuXWARR2LprL4LXMOTT5MQcN\\njhu6qPkf80DQ/BK4u6GzgXFraxs2z7URRIDvPnNYZ3e/AxTe2NgOm+tbYW+bc4EBh495BsiUu2nW\\nU5/mYgSBAXZBZWW+eRJgtz0zxdm+bUBezEJzaO84dpx1JvBUizOA0QJeAPB9sDRvZqF1BnCLdJWP\\nTualRw00np4aQys4YA6abw0+OngS2PTy/td9shsvl418L+OykuWCCL1Lkul1/g7EXFHh0u8sJTnD\\nkoUnyucq6ZP0EgUuaCKh/e1tTNpyaJ1FpMx/ryqBc/dqEAaJ0NPbVd6o4h6VeQV9ExBtY8EbURaI\\njSjHRO2ep01Mi/SwIcPyUoK0YA5nCWQJZAlkCdxDCeihLedP9KYmXpR/WZ74XcS7qb5+aRfV1a/M\\nJ53+qQLEutF3eV1Wn/IHoenX5kHK9yub07MEsgSyBD4CCfgj0n/vPS5faR73rtTjnn41P+WiWuRY\\nh7LL88wv/0BRhgvCGn1var+Yc1eNujweY4rXUzznxvyej3rnmtZK2KPuO9lA/rUKDcS5alhCfpvV\\nJdXcfVAdaxonF3f44tyb78Vd13fzPbhfHK8mz6tR36+e5tbchQT8CVKvq3nkQG0F+FMSNHAoUVm4\\nFnRlEr8vKiFYwkuKpGTXENZvr8w7o5RrwK+AIQGp7svU885uCOtbnfB2DbBneyd0OAv08PDQQB4D\\nR0QPaCRzzQKCd8jXmaIyGysTz3sGEHPuL+CutAT1i38mc86AxXIqe0KFp2j8nrEYfnomIHsE4AoT\\nzYRl/jl2LPZkmAVwbTAzDUACMi07jupfa2wSfziamhXwa4DRCCAUrlAXFDA8Qp60DU0rkTNJ29I0\\nnJ9B0xAT0AtzYRZEaXJyErAJs9GUQyQIMQLsw9QxNj6DlnMIf/9pJ/zbv/81/Pzjn8PO2is0iJH8\\n0Cn5J5x7OhoerkyHL79YBBB+HL56sRpePF0KD1Zmw/wsIHQLEEud4NL9K+9RGYh5+W+WQCmBcqIz\\nYHyGOxhU5vn8Z9zaWIoDSn9T5zyVphmJ4i9a9tVzYJ/xbfMeLeCf37wLa4C8O5iK7vBA6PKw0PnA\\nG5vbYQ0A+N3aOvN9x871PiJPmz1MG5h5q7l9xpxXM0fZrDHOfJufGgewjef4amPGGKq74/gTnOs7\\nxznAq6uLYWVlKazgy+SzzEGPyjGfZWFoAnqdGzwNn8nWKPGo+avX69Rp74WmPcVMU1h91eXSU1xh\\nXQp7viXU/qR0nlVM31iplS9TnMRSy0h5j7wm90uKWkC11lvmZeR7flrM85XmNB5O6Bx0bGKRkOVg\\ngwR8MDRkXZ5U3J9GuTfcL7tPDcTehvJ2eyCl9bRLWlWSlYGkQFNakp2DWQJZAlkCWQL3VQL+APdf\\njHo7ld8vT7SXlXeai3iI5iavy9p8k3XdGa9PFSC+KQH6QByE3yC0l9Fclq92DEIzSHszTZZAlkCW\\nwD2UQNMjrint5pru3Id5pbC3Cl84IcNgWvO9Pqf2+Pv6N83vqu350PVftb2fK32+T5/rnc/9zhJ4\\nXwkM9LXsROWjpkiw30OFi7jl8yf5nazaxy+m59vnSgQpVFLApsAfOxOYgCnbkiGtYIHCOu9X2oF7\\newA+e/sG+kpLF5wWE8lRg3APk8+bAENrG3vh9bttNAa3wy7I0SFAsEBeaQJKe06awAJ5jwCBpV24\\ni1noXbQIDwgfY1L2DO1eoc4ClIN++EGM7KgHUJxhtAgFHo2MoAUIEDQ2NmHauiOjaPCSPgw4OwzS\\nM2I0nA0K4jOGGdkxgN8WaoFTEyNhGvPPM2gLTgEyyels0TH4jlBOoLCcUCLxGaasQOIxtBUnQJem\\nOKtUoPDS4hymaGcwB42WMHwFLEmkBphLxnJSRsb0CcqRnFs6Ew72ZsOf/nMobK11yRoBbB5Hs3Ey\\nPOXojOfPOG/4+Wr49uWj8OzxUlhdwsztBDySS7dUbOOfJCMHswRSCTBO4qVA4hQU+mqDSBR6g46D\\nVb5T6lnA9GOOxnmtsMa1NISZppzPrTO7O8xdTLkfnpkG/xZav+/ebYUfX70Nb99tAAJ3MBHNWcIw\\n0Rneuzwz9vZI43lwesiDRE8cJs0wc2psAs1f5uOo5hjzdJq0Npsu5mcmw9L8lG2SmJlGW5i5Ojau\\nuQjQS3gGzeCV5Xnm4nxYXJw1EFgbKQzopVuwsnnJ9DZfi2pl1wlfdNlzShKRUBqvyKmJn9KiPnD8\\na8XPEZ5LKGop0vWgTusuw7VyZbo3spbvyf163lO+X9mSSW+bkuQcvGUJ9Nwn6rJbxZ96er/7rOZd\\nRjvA7R98Bt2yPDL7LIEsgSyBLIGbkICe/Od+HWqML6O5LF/sBqHxaq9C62U+G/9TB4h189/3ugoP\\n0V6F/rptu4s6rtu2XC5LIEsgS+Cjk4A9vPlj5iaTJ2xc7P7oupMbnCWQJZAlkCWQJWAS0E9av69z\\npQ852FtSxx9BL2MwREEzhBbRkP0wQpP8VlrR2h9lywHVBDBezL0C/uxwHjBn+e5xBughGoCHBvDo\\nvF/O+d3eDW/frqEhCAC0uWOagUddAb04zhTdPzwJuwfxbGCBxTIDfYz2sEw8DwnspZdqmgAcAb2q\\n3IAomaNFc/AMFGoEAGgY8Efgr8KjY8No6I4BsLbQEJzCXGw7zGJKdmayBWA7AZ3MOoPCDoECAQ5L\\nkOr/MOCTAN9RgcMAvDpPdAoNwhlQ11ncTBttYHgYQAyqNGIgNE2UQNQ0eJwJTIsMrb1ulnZsDJ5U\\nCUs7j9S6onJcAtKkyGUuJoVhzNYePgAY/mIu/OqbpTA3cRgmMUv9cGUhfPf1w/Di2VJ4/HA+LC9i\\nKlfANcAwXT932W09l5oTsgRqErCxqEGodEUsUBApbgRFPMa0v0EzVJtEmLZo8oeAom/YQrN/D7Pt\\nOqd7R6ag1zfDm3fr4dXrd2GdnQ8Ci/f2OT+ceS86bfQwYJiNHtLm1yYLVad3d/0bEyAsrXjOBV6Y\\nnw0PVhfCPBr5Oht4kjxp9U+jOTxLfFEAMMDv/Nwk838c89Ey3665LfCXjSLQtiaGMCkd56I2aXjv\\ntMdDl8cVVv8cBpcfSQpCixXz3fKKfM8uqMmKl03GMrNIrLxYj8frdPW407l/Wb7Tpf51yqTlc/ij\\nkoCPw4EbncfHwKLKhFkCWQJZAp+HBPTDcOVfkyuKxn98Bq3nJtp0Ezyu2M27I//UAeK7k2RvTRo0\\nPlh7c64Wuyk+V6s1U2cJZAlkCXymEogL359p53O3swSyBLIEsgQ+cgk0fSNHPb6qY5FGgEr8dPcy\\n8bNDsTMBmPhe0qxLFgwsXzQEFBYwYuAP6A9H8gLmYh5W54QSl4YwWA7n+Z4ACHXCBuZhdV6oAGBp\\n/cnU8z7gcAf1YQHEAoc3NjYxCb1jQJDOGBUQhIJwBEcx6HwGWCtnv9cAw6bRJ6AWVb7JCYBaAN9p\\nzvCVydhRTDOLQG2NwC6gsDSD0SY0U7IgpaKdARyeAxxe5IxegUcCdydAhoahHQIxkiFp9dVwcsQ0\\nZJrE0jbGgRzZ2cFoHkp7GKwZECoALoVAE6To2/ejUDz9GuTDMQWGVVZyb9PF1Xnk/mw+HPz2i/DN\\nU8xStybD6vJCePnFg/DowTTno4YwWQBcXp/51iFCGR3uEUuOpBKoRqnDnpZbjBlPs/lBhj8XpCEs\\nywB6HqDkj6ZvPD9YZ3qvM//X1rfZEIJJaJvrR5iN3gUg3kJDeD28fvuO58GebQLR3NcGDX8/V7UC\\ncCd1pm9b5p11NnA0Cz2uOcgGjznA30XOBX6wyvnaAMTT01No+KMhTDnRTjO/Z0TH5gqmO88NNmNo\\nXifdVjiNV1Ko0j0t9p0nqplIIEbBmCfpECkY+fOUh1JSUxIUnTP1Qkn2jQaLNt0oz8wsSyBLIEsg\\nSyBLIEsgS6BZAv7mUb7pNJNdmnpTfC6t6HMj+FwAYh9A9/H+qm2Dtm9QuvvYz9ymLIEsgSyBLIEs\\ngSyBLIEsgSyBLIErSsC/pOOHgMecSf3zwPPlK8990Vd5goDjP6ciBQTSwWFRq7Sc4AwvKbxGGsEC\\ngOX8vFBpBW5scB4oWoBrmIOVRuA+CFEHlcG9g27Y2tkzDcF1AOINAcScCaxzgo8OOUsUM7EnnBkq\\nbWCZiz7FCQgaxY7rGEDtFFq5LRDXcYCdMWn2ol5rZ/cK8LFzQDkzVCZjFwTyzoTF+TYmljkHGFXc\\nEXhUwC4QDXFp647q/F+dIwpgNAnvKVAiAUemNcgXsjQGBT5LAOq7O4LIqJKN2llYjbazfBUWKCyf\\n/6XcVK5+iadodLl8Y6z5b0rj5fQxPwcgPf50KCzNfB+Ou120j+kT2o/gYpyHHPsiMFll3PVUmDak\\nueqc+llKQAMjuvhXGyV85FVjV6LR+DqCSM8DMxe9x/Ng6yysrW2hFaw5j0Yw5t5lJv7dxg7nBW8a\\nGLzJs6DDZhE9C455Fhyzu8SsAlDNKHO7hcp7mw0cmp925u8kJqLZhbG0MBMePVwKyzqrm/xp6LTx\\no9XiPGDNZQb/LJs+ptgZYVrATErbTAJfMw8tn/nNI8QcXs+l/va76nnV8xEuPBD0TIhXGSCahj1f\\nfo2bkdVpazRp8YHDdZ4DF8yEWQJZAlkCWQJZAlkCWQLXkYBePgZ5ifGXlEFor9OO9y0zaD/et54P\\nWv5zAYhdyD7oPH4dXzxugk+/ugflPShdv3pyepZAlkCWQJZAlkCWQJZAlkCWQJbAPZZA+qWs8GAf\\nAKJMS6qDHq/yKiBDfAUZy0VTsAJ87HxQAjJtDHYbwHDNVLTA4L39U9whAHAXDcFj0xB+9xbQ581G\\nePN6I2xu7oUOAPE+KPIBpqJFu723F/Yp3O3sh1OATNBg6qNWO9N3PExMo92LFrDO7Z0CuJ0CsJ3D\\nXOz8XNu0fKcITwAQjco8NCZgZTJ2grBMOc+gtrs4h7bsrM4V5Yxd6MZkShpUKPaK6tRh/SdNYJEc\\nJGbSGSwqgKWGQT+OXZr97keUcvwL23NXeVyrMzpHQUKdeaHxa9qUaDGrqEik/dgCJJ5v6S5yfnKt\\nqFVhZrhF70zdh1jXRe1Qfo1cSfn6lCWgAVG5OG7iTNKzwTaKkO2bRMB40QLGdPTuKZtDDgGE2RAC\\nMPz6zWb4+fU6Z4fvhh0A4m3cFsS7AMX7bBo5Kc4QlwX3sVG0gdszNp/bbAqZm2Muz6MNjCno2ZkW\\nGznQEMYc9Azna2sTyAO05JdkQpq5rzOER3gejGE2fgyz0GDF5jSnBeBePHy9n1Ap2HOlCc7FfRGS\\nTzSmeLr7PYz6RAahHYSmD/ucnCWQJZAlkCWQJZAlkCVwdxLQS0v68tSv5kHp+pW/KN1fnAZpx2V8\\n3pfHRfzvVd6g38D3qtH3pDE+4G6jOeI9CP9BaG6jfZlnlkCWQJZAlkCWQJZAlkCWQJZAlsAtS0Av\\n+/HLNNXdSytNv1vTsH9OuB/LOEW/jwiBP9IQ5shPtHzxO8do96EJvI8Z2D00hLc6aARuogW4bZrA\\n27sdzgc9wGQ04A95O1v7YWcbjcD9bjgBWZZ55iEz1QygSaUCgsYBesdbAn0AdNH8nW9PoxUos9Bo\\nDEoLEHC4DegzT/48QNAi54nOAvpOkSYAWUcCm/afAF7C4MkG8kpblmwz7QxWZB9TJThUdDg10yyJ\\nCDN2GpGo/wVp6StNl8vO/V469dSpItTuwLQll3+KUl7Y08XU0uoZBQHJVQ7EAL4jBUjs7VO+XG/7\\nTkkjxQoXHIzAqQr+2csS6JGARk0cL8WosVyNGns+sL8D5V/MwZ9gMppnwtp2+OnVWviZDSJv322H\\n9fUdzER37JmwzfNgn+fHsUzGU14bNYZQsR9jc8fM3DwbO9ps6mizuWMas9GcAc6zYJ7NHktLWANY\\nmg3LuJm2zL5rQ0h0rXE05NkUwaPCztTW88AuGqtnjNrs7fY57fE4Q9STOE97ZoyI9JA4d1nGudSy\\nkjRHrJtY+JRrykvL53CWQJZAlkCWQJZAlkCWwMcngUHecJzG34puupfif1u8b7qt94rf5woQ+4B8\\n35txHT4qc9VyV6V/337l8lkCWQJZAlkCWQJZAlkCWQJZAlkCH1wCDtPUG1J8+5rHn0IdOFJX4I6X\\nEpmBM6lPwnGhGayzQu28UM4K7QAIC9xZ40zQra09AOBDA4e3d/bDOmeGCiBe01nC2zvk7WEmumum\\njU/QGD5BW/jsGMagNKOAvROYg52ZxUz0FOeAcj6wTDoLAJ4BCFpZnDMNQJmFltnYMUxH6xzRcXyZ\\nlJWZaJ0JPDMzRHnAIJ0Vmny9OrAr350+mhQe5JJM5FRGvi47Q9U0dZEkMjUay+QPhKaFHElFXYZS\\nHjFROpdKTa96nDwrGHnHSEpfhL2Y7nFVpWUqy1mk1Zn5cPph+cXYaOYvioJJDOW/n4UEagMpHTz0\\nX7l6XrjrkqBzhNkHwrMghPWN/fDz2w3OC+bcYMBhAcM/vXoT3pCmZ8MeJuZPsDetZ8EZG0WGQXCl\\n/T/JPG8DBGsDiIDgBYBhaQIv8yyYn0UbmPmuc8HbPB8EEs/y7Jid5ZzgybgRRBs/pCGvOS6/GL2E\\nei+1350Cbk4/SHXfcrxs5FDNVeJKEllf7srjKudVjDpfi6n8RY3rl+essp8lkCWQJZAlkCWQJZAl\\n8GlIoHyzGrA7/pZkb2MDlhHZVevpx/qm+PTjfy/Tk0/se9m+226UD7r3qee6PFTuKmWvQvs+/cll\\nswSyBLIEsgSyBLIEsgSaJeCv6dxJwZ0AAEAASURBVPmtpFk+OTVL4EYl4BPO/RrzAsg0YAKtt7NC\\no7QOKWu6ioOZhcUHxw1gumEfsEdawmvrnA2KOuDm9h6g767562gIvwbs0dmhO7sHZiL6AAT5gHNC\\nDwUIH3cBf444a/fMzLpK83cCQHcCcHeCQz8F8CwszIaV5fmwsrpsmsCTnA/aMhPSo6ENWDSHhrAA\\noRnKSSPQzgYF+ZHpZwuDAElDuEzv89xRcpolUMuuQmzncBzPx/dype8B5dj/6KcyFduSLAmnabGK\\nmBKboXDRoJhZ8ag3sJesoJZ3vgZLNXr+8L+HFZHeEkWsNzHhn4OfvgT6DS6lxw0RkkEJDBM+IMKx\\nwQDAh7j18COawj/g/vHTW3tGrGNOehvU+KDTCcccQHyGbfoRnQ+OSeh2SxrBrbCAJYDVVZ4FK4DB\\nqwtmBr4NEDzH+cECiWdn2piP1hngMjUdnTaDaO7rGaBngoZt6tTO2GqF6rOrou2dBL55RjP6sonQ\\nJ79PcqwxtqXxb99yjdQ5MUsgSyBLIEsgSyBLIEvgY5eA3n76vXzW++ZvSoPSp+WvUk9aLg3fBI+U\\n30cV/twB4o/qZhWN1YD1SfMxtj+3OUsgSyBLIEsgSyBLIEsgSyBLIEtgIAkU38gGBtc/AZSHK5KH\\n0KsrUsozQqXMe0KitP9Q6gPojf4upqN3OStU4M5rzg5+h1bwBqDwJlrB2wYU75G3y5nBB4A+J6ZZ\\nO4z6XnRTgMFDgMFDYXZqLCzPTQL0RNOwOiNUQPAswM/i4gxmYufC8vKcxVumHcwZoQKPsAs92RoO\\n4MTRJPQlslC/eq/YU08vJUOCiaogtnQ3GWvag4irB0V1DipQCrK3qiqnB5C6GGCKvFLu4t8br6op\\n268kRVLCNFwVKUMR8pKOZLyqdvVwLelzIEvgIgloHMnJlPQ2z42f3oXwtx+2w3/+6cfwX397HX74\\nCW3hn9exJLAROlgVODWLAQC54xNhEu3gGc4PXpxthZWFdlji2bDA+cHLPAtWVubYMDKH2egZMyXd\\nKs4Pb2NZwIBhgcF9GuZju8pOtmwUmXG087dn2HtvVDLNkA5ydYkqza1yktBlBJ7f09ieyCC1JBXm\\nYJZAlkCWQJZAlkCWQJbARyeBxjeij64Xn1mD+72Df2ZisO76AP5QfVf9H7oNH6rvud4sgSyBLIEs\\ngSyBLIErSaC+6KjC9deIJporVVIjhn+9ihpFjmYJZAlcRwI+V9MJVk9zcLGgMS+CHGkp1S7tP6xE\\nB44HDju43b2TsAYQ/DNA8GvOB33L+aA6S3h7B81hAJ4N8nbQANzb64TuwWE4we706QmgMIyGhkdC\\nC3OwU2j6znFW6MzsFOaeJ8w87Nz0WFiZnw6P0Axcnpd52BamYMfRIBb4OwbdmJmGbXFWKNgw2sbR\\nLCz4MOfnxrh60AvVqAfxcgnEHjkgpFRcgQJHrLeQgAHBwKM9ALB4VZziMyyJl3ni4ekFPxW1tCpe\\nhSyzz5/BqFSbU6bhHqZOoERvXg8BEdGQZ6TGqC+3eskczxJolICeITIr/XYthP/7v//P8N/+9c/h\\n3/749/Djj2uhw/Oke3BszwmZkZ9bng2LCwDAi2gJc17wA+IPAIMf81xY4vkwx6aR9vR4mOZ5MdmS\\nZnE0F+3PAZ0frGdAMYx72hOHf3GOtuVobBeXD3Ob75HScnxDiE2Ygr6aHJAktM6r7qckXk+dpl+8\\nLJu0tR9tTs8SyBLIEsgSyBLIEsgS+Dwl4G9MH/KFSW34kPXfmzufAeLbvRU+2K9by/uWv269uVyW\\nQJZAlkCWQJZAlsCFEviQ75H96u6XfmFHrpmZX1GuKbhcLEugkEA6X9NwKiAHhUljyomq7qQdfAKa\\nw9G/oYvKHxagTUt4a+eYs0ABgtEC3uAc4bdrW+Gn12sGEr8jfQvk+GD/EM3iIzSEjwGEKQwiLNOw\\n02j0SQt4EiRnGvPP8zMzYWExmosWSCxTsG20BGcBiufRGNRZwnMzOjcYbWA0gmUSVuZhx0B9CBoc\\n408M+R4mWH6Ru9ZvryRirAcEViHjkFIWHOUJHDoHEFuhhj/ikbamX7hO18CqT1LK0bl4y9O8c8Wb\\nMpXmhesFBu5zvWCOZwn0SsCHHpaibdPITz/9GP78l7+Ev/31b2FnY49zwicxId+y88FXlubDk0fL\\n4eGDxXiWMADxEqbll3leLC+IhvODMRutDSKjMK4/D9KaNbT9OVCl+4CPrfK2VflpShFOkyrCMqRs\\n51omXhS4hF9z0aYarsWomX1OzRLIEsgSyBLIEsgSyBL4uCRw5VewWvfet3yNXY6mEsgAcSqNKnyT\\nb+/i5a6qYfDQTbZl8FozZZZAlkCWQJZAlkCWQIMEfNHP/QaSW0/6kHWrc3o1eZ825FebWx8iuYJ7\\nLIF07njY/aTZJJ3WQD+nku/nCXcAhLc4H5QjhDERjclowN9361tm/vVnAOG365ucK7xn5wpvcr7w\\n/v5R6HZlMvqUcz3Pwghmo1tTo4DCaAi3J9AEbocHmIVexJ+ZngqzAMA6K3hhHuAH0EdnC09wjrDM\\nSwv0kZsYi2eGShNQTTZHGzXT3XnP1HY5T5dvlwJklHEllv3vSW0gFHFxlWU8QbXVrzq/NL9fnvNJ\\nQHuK9aNOOXpYtN53T3O/Px+vV5RQORMvaH5TYn+OPUVz5DOTgI+LdFw1i0BgrZ4TGvGa74tzrTDf\\nHg+PVlbC4wfL4enDpfAYcPgpbnmJc4Xnptk8MmLPA44hj6CwtIOpUrVKS1iXapbzlqS+h0UXr975\\nVs4Bzz7n1zko7n2t8qrQOQbvkeD1NLG4nRqbasppWQJZAlkCWQJZAlkCWQL3TALpC9lVmpa+QF30\\nonVVnjfF6yr13mvaDBD3vz3pIOxPdbWc9+X5vuWv1tpMnSWQJZAlkCWQJZAl0CABvU+6a8i+MOmm\\nfsrr77Q3xdcbX+fv6fIvykvp6uG0jWm4TpfjWQKfgwR8Hsn3sPeb+QHQqVkiU69yBggT4DhgO0+Y\\no4HNhDR4MGajDwCEt8Obtxt2lvC79e3wDo3ht+/Ww/bubuiiViyz0VLPGx4B3G1NhUnMvs7NogXM\\nWaFzuEXOCl2am+Lc0GkA4tmwANgzg4bwNGrBbTMR28KENKaj0QY007C0yQEfgn0vnYw7RA/OzqkG\\nxj7GgsXzoPAqZucSiqx+6VXJ/qG0bBquSqR3o06R5qlEPV6nr1Porl5epmrLIKHIL9Z8vv5BOGSa\\nz08CGim9I9Fj7gvY1fx/+vhh2D88Ds8eLoZxEh+tLuMWAYkXwkPMSS9z1vDsDFYHZD2gJkjxcn5x\\nbBI7jan2hCsHrAfcrxg1zZkqd5DQeZ79SnlbPf/ykvUSXjL1L+eSUudwlkCWQJZAlkCWQJZAlsAn\\nIAG9AA3yotSvq+9bvonvbfBsquejS6u/w390HbijBt/Ht3q16T62645uSa4mSyBLIEsgSyBLIJXA\\nZe+et/GTGXn21nxxWoR80nZfHO7lXf3wq5bb6FG/1qTtSMNOr7SqPRXFeSgklqhonUPddx6XU9ZL\\n5niWwP2WgMZ0NWPiyboej+M9HfUCh4/I7hzG84Q3t88wF70DKLwTfgYU/vnNdvjpreJbYQ1QeGe7\\nE44OugYKHx8foSU8FCYAeuc4C3QW7d9ZtIHNLPTyXHj0cCGsLM+g+TdFGmCxzEbrrNDWSKCIaQCO\\n8bUozWAzD5toA8a5HVsq7NdCacOtj8XZoRBUzwKIeugU8f7fxp1z/uLdU3FjZWrJXV6Xt+guW5Pr\\n+rwkkM6NODt8/Gvzxxj2oB8sj4T//Q+/DL/89ivOHe4EDA5gWYDNIjwnZiaHDRTmyHEzK68yXj7K\\nUbG4QUTxcqy7ln+ZYGQi6Xt5kb4EjRm9/YskaaWNhW448a7ru+HmZ3ZZAlkCWQJZAlkCWQJZAoNJ\\nQC89TS9fg5W+Par72Kbb6+01OWeAeHDB3dbbvU+gwVuSKbMEsgSyBLIEsgRMAr1Lccny28cjnyt1\\nwYnTn2RPc9+77vGU1vPkF+k1rTYdXxmvMuAJSXpzntco38NeuB739Mv8lFcZJuD8zE/jnnEZ4yLf\\nesIf75EWYcuw8yjSzqV7fuKLxkFwhbU07OWcrB633pTtJtBDoAxPcN85ZT9L4D5LoBzURSPj+I2p\\nVdjj8kttYQJYgbbzhHf3A1rAmI/mHOF1zhN+u7YdXr3ZABiWWw9viK9t7Ibdnb1weIBaMdp5Y9h8\\nnrRzhMcAftEKBgzWmaA6G3RhbsZMRi9xbvDq6nxYQPuvPY2mIOcHSzsY69GmBaiPRAE+6axTG+Uc\\n7D315yeJMZ28tICXVpo/XC3fieo+dB/4sqYWbfDWpU1K89N0hZvo6zRp/Kr0Zdk+Bfskl8VyIEtg\\nEAloHBlAjM++kTD5IITjlXGOKB836wEyK49VeXtOpGPOnw+yVGDXUNz+4jPDnxHVQyIp7cGiaGTA\\nX08vE243oOq8CXdc9e12LHPPEsgSyBLIEsgSyBLIErifEvBXLn8Fu8lWpq92N8n3k+OVAeKr3VIf\\ntFcrlamzBLIEsgSyBLIEblQC/d6dPP2qP1dezht51fJe7op+Wq3C/vp2rvqUUHWkxEU8WZBUSu8V\\nGTuXIQMqPAY3KxvjcTkTehY2fWWy3pw0XnGJNdbjaTs8r+J8vkxTnoNGssp4QuS4cCcASOaIn+I4\\nKtDWZdUdF0fqi7cub7+Bweoqzs4IZEVYvszHjqIRNKw4TuGRRENIC8eQnLuUljoRNNGlBVPZl41W\\nOS9YNrpIsA4BTxVRJ0t55nCWwO1KwAelaukzAn3i9WRjbJmBa6WL9JQT0zcc4/b5I0B4cztgJvoo\\n/IzZ6B9+ehNe/byGlvBGWMN89PrWbtgGEO7s74fjoyPmv84THgrT7VFMRbcx/boYVgGFlwB/VzAX\\n/XB1AYBY5wrPovk3GVogPJOtEFq4cZAen+ua++n8VvvSNhIteqwO8LS0fhSdUV4VtHynNr8nj2y7\\nGhMHyCtIBvYuquc8k/PUvSm9sfPle1POU59P6S3RG7uc+nKKXo45liVQSaB39KQxPQtsowiJ0hIe\\nkiPNXf3ZIJ5W3h4EyrWYkhtDllH+KWirImXO+wWuzvBqJZy6Lg1Pf7/W59JZAlkCWQJZAlkCWQJZ\\nAlkC15KAXsbqL2jXYvQ5FMoA8f27yxrA7u5f63KLsgSyBLIEsgSyBCQBf9W6zhqYl035eLjOz2nT\\ndEsrMgTkGhijuMJ4Bu5aQBFzDvwam+oPeVAkcdd3VWm/Bg2L7oQ/4LYG4iqsYz8dxHVA14Fcl6Ga\\nr7LWfAXkaJPSBRo5MCyNQrmjLu74LHS7x6FLBSegxsdUJv8MYtELQZUnJsa/8F026rO6LV/A0gjO\\nQCLio4THQIVHQYtGsC07hp3JcVAkAUkyOSlzs3JRbqqEMHGVH5ODxp00jQxgVj2qULSFs7AxUQqt\\nNc8ar6zqso4QLcpXGVaqKTklyeEsgbuRgI/TtDZNPr8Y6+mccUC4S+CQeS0T0tt7AfA3oCV8aCak\\nX71eDz++ehf+8ePb8Bpt4c2t7XDQOWCun8DrLIwyKWdmJzkbuIVmMOcIz0+Fhyuz4emj5fAAf5Fz\\nhBc4U3gJ89LSJJ6ZHAIcjqAP07TnOj/zqra7xnAsoKdkOotJbZibfRJ76hyMplYkR7MEsgRuXQKa\\n0npG8JNeXj7Ne58V6XNCpE7lvqeJLk1T+qd0fcp9+5TuU+5LlkCWQJZAlkCWQJbAB5RA+sJUvUR+\\nwAblqqMEMkD8cYyEdAJ9HC3OrcwSyBLIEsgS+HQlcOGrXD3zkp8wZdfXDc+xqPMoCORZMOYLBBYA\\nY1qpAmaIKO1M6GWxMFmF0ttT5x+pBeCIfekTEPhq2rrKI6x8v6Tde4T238FRCHsHZ2j3HYU9UJ99\\nEg5BgA5Bdg8PD8Nxt2saf2qnOcrJP4W58RRT1YMzkJnEY9SGjwCDD0GI3R0R7sqRrvxjGuA8hos+\\nywRsWYe11iRiHZSshvkj4FYgseIjgE4jAMNjAoY5dFQg8Tgob2tiPEygQjTOgaRjHEKofGkbSqxD\\nlFV5pbfGh8MUCFSbA0xnZyYBpdp27ulUi3xpKlJE4LKBxi44852ZJ8Z2SyARjCLdhK0KnSb7WQL3\\nRAI2NtO2+CCN0KqyixFuRIpLW7jDn82dCAj/9GYz/PDzZvjx563w02vOFn67Hd5xrvAGZqX3dvZD\\nVztDeBqNMR9nAXylHfyA84Mfrc6FJw+lMQwgLDAYt7wwA2iMlrBMRgMIS/tPmzZ0jrDNQWuF/4mN\\nj0/L3jSPRd/71Jt6eey65S7nnCmyBLIEbkkCxTOtZ/ba5rveZ1n1FtRD2dCoy/IbiuSkLIEsgSyB\\nLIEsgSyBLIEsgY9dAnoJLN4sP/aufLrtzwDxzdxbDfbb/upx/u7fTMszlyyBLIEsgSyBj1AC6U/B\\nTbxrpfwGEIfIe6pNI2lYvDye1OHBc1meUWuD6HqyIugSEZeeDKvN2BbJCjvAq7ADsKnvtRktf1zz\\nFwVdwFi0dgF8hc10uwC1J8emvSeTrnLG0GoA8AGoPQAh7gAI7+wdhB0OD93Z7YRO5ygckHYAs8PD\\nA/gAEKMBeCqNXwdw8Q3MNZAYcBTWancEidEOpq4j6I9QN+waWIxP3IFhaQ+f0nABxBLWkABiyYCo\\nUtROq6u4HwYGkT8EKixg2Bx5Q9Qq4FcgsWkQA/yOguZOcDDp+KjA4ZEIDqMuLK1jK4+vsDSNJwCv\\npqbGDRSe56zT5SXOOJ3DrC2HnLY4FxUyQGZA5MlxA5Jl5nYcAEugsTvTZLY+xLap+fnKErjXEmBc\\n1y/NOzl//sjXs+WQ58p+qS18HF5jQvofmJD+4ae34e8/vAEc3kSDeAcT0p1wdAAhD4MR5t78HPNq\\nBvB3ccZMRj/CbLRMRz9cmQ+PHiwADgMKT4+W5wmPax5TpwDh+qV26RmgZ0J5QW/4j/WlqZRTNnTW\\ns7KfJZAl8GlIwKd5+Ygg4GHPs572RD6NvudeZAlkCWQJZAlkCWQJZAlkCbyPBPSCqDdH99+H10Vl\\n/UXU31Ivos15F0ggA8QXCOcaWRqYPjivUXzgIndRx8CNyYRZAlkCWQJZAh9SAvEnod8b0a39YBjj\\ntFYPuy+ZKOwtSNMLeVmW54s60uucTr8UslhSPMkuuTu9/Kp0BGcUFzgj/Ttp9wpzQZEXTd5o/tlw\\nXv6AsYbjs2E0dU/Dnmn/HoQtNPd2AXp3947QBD40DeAuBY9xMvN6doY7lTuG37GBwNIYlvZwBxTI\\nwGGAYWn7CkA+OS4AZgG6ha1pgTQG1tB/A3hJL4EboaUlgjtMOpSKA/tYKcnFZEMavstOwK0kYT5h\\nxSTfM/ppcladJEr7N16kql76wh+AXGcsOrmCToCSboDVqaaJSeQ/DKgsYHkcdcUWAHAbUFjg8Cxa\\nxDPTbc48HTctRoHDC5i7XVqcRetxISzMt03jeGpyLExPBYBjHJqPKByfu4pqSY8hb736mq8sgbuR\\nwMVjTSPTnbdHz599ppZMSL/bDIDAnfDDqzVMR7/CvcGM9Jvw5u1mNCHNc0ObR0bQyG+3JzAP3Y4g\\nMGDwI84Wlnv8cAmgeDbMoaU/M828mURTmAmjTRZ6ZGiTh7dSbfGwt0cttHSf155hhOepPTv7WQJZ\\nAp+ZBMrHgQf05Gi6PL8pL6dlCWQJZAlkCWQJZAlkCWQJfCYS0EthvxfGmxKBv3jedj031d57zycD\\nxLdzizRQfbDeTg2Za5ZAlkCWQJbA5y0BfxW65NdGZH1JnEddkn0LpIRe2H3lKezxmu9R4+0VyFdG\\njAtmFOgpzMLJyYxXkSBPGOWpaPClkWfALgiMnfGLL9xVDOQp/0jn9qK1x9GdYXsravXK9LM0ek/M\\nPLOAWwBc6Low3j8CID44Rgv4MGxt7wPqHBYAsYDeI4BgHEDvKaBwOItOALG0go8LINh8hXHS7D2D\\nr4G+BfirHkdsFfPMoDrmpIlLOGrvDqO5SzqagyNo7Q6PjADmDlMGnUD3CzPSAmnNSY4G+Bh3SzP8\\n1/ILmRT1Gyht5IW8lQ54rD4JKJYmsQRsMBJ+1JhGk1mmrHFdaTIjVIHiJ/RR8jsFXDbQe5jyI8dh\\nZLwbxluHYXxiB9C4ZRrGY+RNtdCGnGlFTUi0H2USd44zVOc4S3VhTm7KzlKdmZ6w81IFfOksY4Ff\\nsWf0xULc3PLysCjylSVwlxKoxp5C7nic2LOHvSJhuxPCGmcLv3q7ixnprfDXn9Aa5lzhf/z4M2cL\\nr4Xt9Z3QxbrA8PBZmGhNMhemmB/t8GhlBvPR8zjA4dX5sLo0G1ZwypuZxqQ7c2OMIc/UOHeVrbJA\\nESunR5lblCszYtyz61xrZPXsHM8SyBL41CWQHwKf+h3O/csSyBLIEsgSyBLIEsgSuKcS8BfRfl+r\\n97TZ979ZGSC+//cotzBLIEsgSyBLIEvg5iVwY69UekdzZv6+VmtuqvJrGrAVnFEv4dzSdAG9ulSL\\nmVzGFygss88Cffc6p5hyPkBb98C0fAVcShP3GGBWZpll9nkPrbytnb3wbm0jrG/shm1MP++TZiaa\\nATm7OJlvFpB8eKxyEVQ+PtL5v9R7AmRqmCkZAKiCn4FNAWFPAHXko/FHt4aHR/BlfplzetGIHUYd\\nVsDusIBdgbeAraZly1m+Os93HLPM4+NjAKFjmF2ewDzzBFq0LTQCW6GFxu04B4iOcnivAGTxETAq\\nEN19gerxf0xzsFiJhhWLUlnF5ZrJ7is55gMFGxAsWCtK3DSHra4iD1kKhD/ERq4A9l1kuLW1E3aQ\\n615nH41p5A94fojAupjilvxFfyBt7J0j04o8O+vC8QT56CxVNCSnpP0Y3cJsywCwh5ypKi3JBytz\\nBiKvoCkpUGyWM1VNS7Loy//P3nt/13Fc27qLyDky50yJIiVZsiTbR+ecX+7wvefdcf/id98Y9rFs\\n2cpUYhQzCJLIkQgE+Oas3rXR2ASYxABAX0u9u7u6qrrq694gidlzrTRx7fu5sKjtpTBElyacSvmA\\nwKsikH/2Ff2nn1Ha9VbvmMToZOEWvnrzfly9eS+u3lIY6cHxuDcyo+/ObMzNzOoFC30n9CVs1wsS\\nu3d0xYG9/XH0wC5tt8sp3JvyDPf3thU5hRWO3aKwX5jQ+yPp2+mfCJVvQWVbPP/lT50oFldNX/jy\\nd6S8nyuyhQAEIAABCEAAAhCAAAQgAAEIQGCrE0Ag3up3mPlBAAIQgMBvmsCav/qXELhqSZVyzXwu\\nb8s1CylipSS38TYpDyunKnvlrl0jr5bzvG/BNw8nH7tMJtWU+3dOAvCCwkEvytXrnLvOxbsop+pD\\nC7+KEz09PZ9ydY5PzCSh0iLx/PyChEnVs1CpdU7HM+poUkLm6PiEXMHTSeBclMKcQi4n56wu6AEk\\nIdeOXf0VKe03SE9pkPAoJ69FWsVudSjlugaFUnZuXiXQbWmui9bmeq2N0Sqh14Jvkxy/zt3boH7c\\nV70dwBWl1v00u46E3yYpPc0SipslBLe1SBxulzjc1prE4iQQq06DXMR1Focrwo6HmZm5LInEKlOF\\noor38q1J5Wt8uBMtacreUf3kF7YKrr3cPm8tHntNArFUdIfRdo7lycnJxN1i8awYz4npvASveYXg\\nnpOQPDu3JNYLEuTn5MLW+Qezuj+6f6q3OLcYIzNLMewQ3QrV3Sx+3XIPb+/rljjcJ7GsN3am/Kp9\\nsW/PdoWj7om+7nYJZRLTFYY6icUW5dP402dlPpXJuTwtT4OR67GFwPMQWP2c+cjfHr1TEopIHzIG\\nxy/X78Uv1wbj0tU7cfXGYNy4fVcvqMgtrJ9nDu/eLDd9f4+f+S45hHvj8P4dcXDfzjik1S9J9Pe1\\nym1fhF2XNrymU7j4YeCrl8ZT/sHr/Xwqf6FV9NwLX6PnRkYDCEAAAhCAAAQgAAEIQAACEIDARiaA\\nQPz6745/vVJeX/8IuCIEIAABCGx+AjW/rK85fML8slKQt+WquUzbiiPTZ1NpEhYqXrXkCK69Ykmc\\nVJvas+4nl1lEcT5gO4CdC1h6YnIES9NNgrH03JDeGGPjUzE0PBqjsuEll6ocvw7xvJCE36WYVwcz\\nCv/s1Q7iB3K1WhxeUIcOfeww0A+XtC8367K3PtbqcMkejKdUL5GmQTlzW+3e1drR3q5tq/LlOiRy\\no843ShSWYGyRWMJuvRy/jc6xa0G3rUmu1pboUh7QHrn/OpQItM2uXwm6DRaRk3NYXLStOnt1UZdb\\nOLZQ3FBaG9V3s+LFSjtWebHaEetxplXM8h3SbtrXqWda3D4t5Q7KRem8Ph7pwnnRoYtzE4vSvndL\\ny01i2ibOPboHeyTgF/di0SG1LeDrRj6UkjwvlX9+flni8HwMSxQbHZuIMa1Tk1Nyezu382wS9yem\\npmN8fDrmdf/u3Z/RPZ+LKzfG0j1x2OntvV2xW+LZ/j19cVCuyoP7tktA2yHxuCOJZ9Lmq8KZx+px\\nVueb5uLSNMF0xAcEfh0BP0+rl/TcVYpm9fPs5t2IHy/ejn9+8X2cv3hTYvFU+nk2Pz2tR3E5OvQz\\nY8d2uYX14sOhAzvi8KE9cgzvUEjpXoVc74hu5RX2SxD+WaAfEZG/lf7++UmuPs1+1qtHldLqydIY\\na8qKGdQUlvt9/FSpM3YhAAEIQAACEIAABCAAAQhAAAIvjUDtv0Af/0f3S7sUHdUSQCCuJcIxBCAA\\nAQhAYKsSqP4VyzvVg8ps83E+ZylC+1LaVgQIV5Vaody3uXalcdpUW2rHGmzK6asQw1n49dY5gS0A\\nK7KqhF2Hhp6Wq9TCr92+EhaVq3dWzlI7TkckKt69PxrDEojHJxXGONWT89SCry5QhIe2G1X7EimX\\n1T45gq0QarHptr5BIm9jkxy7Ee1y/dr969y+DSm0s0M810kQbkzibk9nm/LfdkSXROJ2icV2AtfX\\nyUGssNEpTLTU2jq1tZDr0M9u1648uRaJO5VTt61VbuKmbaHTKdSxxd20aFsVLF2m1edWrSq2B9Z/\\nMctikHY37OKnI68KGC1hvz7dW7u/vfo++/47ZPfMA4n9E0sKqTud3NsW++1AnpYDeVxhdoeVf/Xu\\n/bF0vyem5DSeXtAzsahzDyWqzcbA3fm4fGta4afH4tDeYYXf3R7HD4/F4X39clk6DHWb7pnDdOve\\n+vFMsP0MePVi6N73lgUCL5dAfsq89XdC76vEjcGZ+OHS3fjnd9fi2uXbytGtZ1NKb1tHp0JGd8gp\\nrJcdtB6SY/iA1v168WGnwkv3dUoY1s8qu4XLi/tOYeErP9uKn8vlGnq2Vz3eeVQ1ddxPKlpVuVrJ\\n59Y+U63CDgQgAAEIQAACEIAABCAAAQhAAAJbhAAC8ca5kf59DL+T2Tj3g5FAAAIQ2HoEqn/KaCe5\\ngAup4JH387kkQLjcrlcjWC1Xushr0dLni30fWxxxaOg5CSQyhRbuUIVznpZbdF5K4YIF4KU6icOL\\ncpLOKtyzXHVylE6qsvMBWzScVx5g5wyeVQLPWYuIyl+7oP1FJQVetsJsZ7MGsE1KYJ2cvRZwvTZa\\nzG0twjpb2LUbuKujNfp625O7t6tDIrFiEjv/b72E4gatFnpblNCzVa7fDoV27rZA3NWZ9lsV+tlC\\nb7pW4lDsV/TxQnzWeUWHTqtMw0mctMjrNTfRbloyr7x1oevkNR97a45FpuFcO299dr19n/NSe+W1\\nynIfeZsaVj7War9y/pFm59VjdGvX9l8m/QgJaVpcnla5H12vqz1ie0+97n+33OLdEvYlIKdcxnpO\\n7BRXTui7QxMxNDKpZ2I2be/cU57WIeWLHh2LWQnKE2MzMa18x3fuKFzv5ebYu7NTYnFvHD20I04c\\n2R0nju2Lfbv7da8VkjuNojSYdFz5qBSXi9iHwK8nUERX8POuH3cxMHg/rt24ref1XsyPj0dDW2f0\\nKWT0mZP74rTXE/vioF502N7fqZ87TXLLFyHTlZa78vzmb1gxMj+26dGtfuRvXx55+cGuPZfr5G25\\nbi5jCwEIQAACEIAABCAAAQhAAAIQeC0E8j9K/Y9XljdMoPgd2hseBJdfl4C/LPkLs24lTkAAAhCA\\nwG+dQP47Vd5mHsUfIUVp/uOksk2bXJbra1uxurqN1yRTaMe6cd63Tuvw0ClEtNzADhFt9++iLKMW\\neGdkGXV46BGJvyMjY8pTOyXxV+GfJfJaHJyVQOycwWNaJyYnlJt2NuUTdlho5xjOJjllwvWA9L/E\\natmBmxRLuEHCbRJ0Jf62S1Xx6nDQzXIJNykfcJMU21bl8m1TfNburjaFa+2MHuW17ZLT1/k+7SB2\\nWOk6rXYSpxzAzQ1FyOjWbaFu5USV6KvLlqVxs8hLeT8TzFvXKe/nuutty3WL/l0zZQNOjkGfT3Vy\\nB0UlFdYW5BO5vNJzPsyn0131wWMnihrVfp8wMoXI9aiys/zxmkVX+QrNriCxOK3i68XnpBGHUhTr\\nBYIOPQsdehZ2yTn+QI7i6bhzbyzu3huJwfvDyUU+NDymZ2YyFmamY2BmMu4PjcStgftx685QDKru\\n6MRcnDg6F4cP7Ep5W2XulmCvC+fB6YJJwiu/DOGBsEDgVxDIz3je+nHzCyJNdQvR1rAYnS2LsdRb\\nF3t2t8fbJ/bER+8fi3dOHYojh3Ypp3aDfn4VXwsPIT+q3i/680/AUmna9Ucuy9tqAzd96uJWeby1\\nlUs91p7iGAIQgAAEIAABCEAAAhCAAAQg8LwE8j8z1/tn6PP2R/2XTACB+CUDfcXd5S/UK74M3UMA\\nAhCAwIYnkFXU9Kv+/PcsbUt/UhQCq8WAojBvy3Nby+2az0vLDUV7TiGhlfpXArBEYmmDD+acH3he\\nOWUnJQKPywEsd6dsc3b8zs0van9OYt+MBL0i7+y0HMJzOrdoAViC4NLDR8oRvKztkgRhX2XJGnDK\\n79si52+r1D2Ha25WGOcGWXMbJfo2Svxtr4i+fb3dCsfaF3093dHZ0aFcnS0SAyUey/LboOS9rm8X\\ncYscw+1tdaEuk+jrvL4OO10O9+zjpCMKkbTjatjnEsaEo/Y4M8rbfAdcz/u5fu1xrp/P+/jx/UqJ\\nBpr2Uoe5Vr6SG5b2c8fJGZ4PXCe38zbXr92W6q8aTaW80kUWq4qecr/ltiv7+QouWaumy7y26Z40\\nyWGsVMOxuKNB4cM79Rx1yoG+J8YmF9Mzdkdhxm/cHIzrtwbj5q27ylM8GtOTs3IdP4jRyTtx6+5Y\\nXL5xP94+vi8+ePeYhLgDEuB2RI/ufb523iYGiMS+LSy/kkB+xoutP4tviNILKwz6jpiaOBCL0/dj\\nVi/AHD96KE6fOha/e/ekcg13FvmF9a8w//xdfylC+a88u66Zj/K21LoYQqlOHmGus9JmZS+fe9q2\\n3Nfzt35a75yHAAQgAAEIQAACEIAABCAAgS1DwP9oLP8jcstMbCtOBIF4895Vf9H4Dc3mvX+MHAIQ\\ngMCvIOC/Z+W/a+X9ytab9KdDIVYUHrQiYHH5b2i5lbTaJPouW7iV+Ov8sYvatxjsPMHjkwsx5fy/\\nSqw5N+88wc4dPB8jcnk6N/DQ6Ljcn9MxJdU4CcQKD/1ASYYfKDT0nMrm1cmSrMa+dr1CQlvobWyU\\nAKycsY1y8DbIqtuouKpNcve2tzelcNDdyufb3eWcvs2F2JsE4oYibHTKE9yp0Kw9qtMhB16RXziJ\\nuxZ7JTjqMmlrQTiHbH2yELP6Vti/axtz8YesP4u91bXKd6CgnM8XwWbzUaUfdWHmSdPVfhZbU1mu\\n+ti2cl2LvK6YltRYe+u0rArClep5k9pX+qvOp9ppUSudznVyw9XbfDZvV87mvoozzpe6zggTzqJW\\nQcr3KCll+lup2zxskzu9T07zhUa9bNAfB8f7Japp3b8rru+7L6F4KG4OjMpFLKF4fDRu33kQQ2N3\\nYnjsQXo5wXmtHy7PK8/rzuhWfmgZz4tbmMTzPM6VkbMHgecj4KdXz5H/r3wR/FR516veY4mDe3r1\\nA/WgXoB4oJdh5uPgvj1x+ODeOHq4M7r0wkpe0tOYX/ap9FWcWzlIdSoNitKVc7mftbfPWm/t1iul\\n5RGslLIHAQhAAAIQgAAEIAABCEAAAhAQAf/j0yv/eNyEjwMC8Sa8aQwZAhCAAAS2IoEn/T2q9hf9\\nheBb/N2r/Hcw9ZEEQsuPq9uUj3wlr4v6sAgsPS2mpuQAnlUO4JT/d1HlhUN4cHAoCXHDyg87NTWX\\nROI55wd+sChBWKscw/NSjR1e2jmCU9/Vj2I4rcrv2yUxd3tfd+za3i/nb1d0tLVGi8Rdi8PNUvAs\\nEHdKzEs5gxUSukc2vFaddxjoetl87fRtqK9L+X5lLA6v0o2LvL+anKddnaN2PAQfZ2G4CIq8XOLi\\nGl7K22I/9eOPfKraczqjE8XJlSPt5YNqG/e9etmWhaCSUFm9T7l9tUkuyNvqicrOeuW19XS87phq\\n+sj1aorX6LGmKDd0cbHvLlaEcpWlPnO9vC2eU0voK2tR1X9BVdroUIrolMN41/a+OHa4L+6PnFJY\\n6dG4fPVuXPrlpvIRX4nBwbsxNz0TV67dlbN9SA7jAbnaR+LD907GmbdOxM6eluLyaQzPPTlPigUC\\nNQT0HKX/84sQxdPup8vP7J4d2/QzbG8cO9Cvt24epogIbYqM4NDnxeKfSJWfR+mR9EfaSacrr5Wk\\n/ZXS4ttVPk4V/LFmYfUsOxCAAAQgAAEIQAACEIAABCAAAQhA4DECCMSPIaEAAhCAAAQg8KoIZGFs\\nrf5rz+XjssxWUgHSbiEvZjHBLQrZoeg/HevDrt+UM1hhohXpOR071POsXL7jcv+OjSlf8Mh4Cgs9\\np1zBziE8NT2r8kmJbSMxrDzCY2PTcgXPSetYTi7jdOWUG1h7surWKxR0S4dDQytEtJL4tsgp3Kx8\\nwc0K9dzV4VzACgu9vTd279qRBOJ2Jd9scQhpCcSNjVpV12Glu6QKdijkcLtcpCpKAm+etbflNVPM\\n533sOXv14m0+9+iRyHitCOjVRMepggimrT9yC/dQXnJ57TbXqZR7kweQT1W3uW21oLKj8vJga0/X\\n9vekuuW2te3K5560/7R2tdPINsr1+kxwy4MuXaDaNpepc/1v069X54K2qNalta8jQpHFY1d/X+zs\\nb4vdO5pje0+dhOLmuHp9IMaGhuLOneGYnx8Xznnd4iU9T516FvcrF2yDXjTIAyyPJZexhcDzEfDX\\nwD97vS0v/seVX15p9/PaYbtwc/VFFT95jtJQvBKhlsUPHpWWe1nZX9lTlUqt1//01o6iGAufEIAA\\nBCAAAQhAAAIQgAAEIAABCGxuAgjEm/v+MXoIQAACEHhDBPxLei/r/eo8n0917BzNFcsnUg+5oFSn\\npDDan/ZIItojCQlZCHZXtWsWhp3RV+l9Q4Ze5fwtBOGpqYih4YnKOiZ35aycwkvJJexcwSMSgodG\\nJmJCOYPnHthJLKewrMWLCwvKGbwkXdXi6iOJwHb6NkkALvL7WuBt1nGbnL+dcgj393bFrp3ODdwZ\\nnRKALRQ3SSlpbdV5Kb5dnR3R3a2cwa0KKS13qDTl5AzOeYGTS1ginoU8h4zOyBKmmo9MraY4HeZ2\\neevCbeK3zTLNmoLMGr2seYFyj2u0cdFj7SptHitfo73r1F5ivXbrla/R7UsveuZrl+eufcfXTm1L\\nk3Sxp+1T6RkvRpsv4W3e919aO/XcNO2QWNzdEgf2HIujB3fE+ct744tvz8fPFy/H4C299DA+EV+c\\nu6zQ6UvpxYSWpvo4cWiXclGrsXpz+OviMSiNo7gsnxB4LgJ+gvLzudbTlM/553M+72cv/SxKLXOp\\nL7uyv7Ln8seX3O/T6uWWT6ufz+f6efus/ef6bCEAAQhAAAIQgAAEIAABCEAAAhDYPAQQiDfPvWKk\\nEIAABCDwsgms91vx9a7zpN+W577WqrOqLFcsX8RlWr1JSWpXzq2ImoX90VWk/aa8wTLzxpIKvHXe\\nYLuDHTJ6ZnZRbl+FiZZD+IH2R8en4+7dkRi8Nxp3743E2GQhED9QTuFpicEz016VK1ju4UdLDyUI\\nSxSW27ahoVECcFs0y9nb3tYc3cr/298rkberTYJvs8rkFJZY3NbRqhDSbQoP3SVnZ0/0drUrhHSz\\nHMJybTosdGO9wkjLTSwznTTjaBCPYjYr83z6XoWPKppB7bIKsU9WhWAfVFpUyx6rXa3i2i+0rDWo\\nF+noZfXzItd+1W2qbuHShfJ8dUt8V4o7U4TtTV+JVFC46P3M+NnRoxSdXuUy7+rsklPzVNTJqe4X\\nFX5qqYsbN67F+OhQXLs9EgN67kclGC/u3x6tpcuyC4GXRaB4Zld683F6rPOznU9VKhab3Cpvc6Xn\\n2/oST+uhPIy16pfP1159rfq1dTiGAAQgAAEIQAACEIAABCAAAQhAYHMSQCDenPeNUUMAAhCAwK8l\\n8KTfiq/1G/cn1X/CWB7rKomUKl3Vnw6Sy9i1H2tRFc7cxOKwHcJKuaow0I9icmZOIq/CQksdHpfw\\ne39oVCGhJ2JUYaMndDw7syDH8AO5KmdSCOnJ6QexOG8BuHAk+7J2btph2yLFrV3Cb49zAUvktQjs\\nPMAWhzt1bntfV+zZ1Rf92nZ1tqRw0g4PbfG3SS5N5xKWZhzNCgcsTbga0tdTztOuq0yvcNRlT3QG\\nmKHUbPOhq3msufpj2/XPrFRVnXJ/KyfYe5MEfE/S7fOOngs/mC6qlqdShVCvq94+p3Pt7dTLBoca\\no73zVOze2Rt9Uo4727bFz+cX5E7fFg8fLmqVr77SX+qUDwi8IgL5J1Da5oN1r/XUCuu25AQEIAAB\\nCEAAAhCAAAQgAAEIQAACEPi1BBCIfy1B2kMAAhCAwNYg8LTf1a9xfo2iCosVgatQRguxq1DAilar\\nzZQ5hHShXVo8dYslO4OlbXl1yOh5hYyen5cwPLOonMETCg2t3MGjEzE+NZNE4jGFiHbO4JHR8ZQ/\\neEbi8aIaLy5oVeNldWKdrL5RbkuFgHYe4DaFf27xKmtvl5zAfd3tsV1O4B0WgZU7uFlqr8+1t7VE\\nl87t6O+WONwgh7BC/UoMrrcQrCnZ3enVs1uPi+eUVg9Cyp//q9b1CS1JSPY2HeezlW0+XGmV2qz9\\nkStXOi5X8qk1istV2H9NBPJtWnW5NQtVo/JyQOXe+blrUWmDnsU22YPbGndG4/KJ6Gldit09yomt\\nBMYH9+5Mz3GdH9S05L7ztlLMBgKbhICf3Pzj61me4qfVL5+vRfAs/de24RgCEIAABCAAAQhAAAIQ\\ngAAEIACBzUEAgXhz3CdGCQEIQAACr5JATVhnC1FPXkrCZq6YlM3Kr+2TW9H7Xou+nPf00bYsoRaN\\nfCZfyTUtDEsDDum5abVLeHz8UYyNTxYOYAvBCgc9quO7Chd9f3gshiQQT6h8dm5R61wsKGT04vxC\\nChNtB6UFXod4brXDt6kh2uQG7u/rif17dsauXf3R19ed3MEOB20RuFvKb3dnewoT3drakPIEW1ur\\n06oUxKGUwmnrPMF2A+fx522FgGax9uJ6WQReae3CUv2ErVxQ3i/Ve6bdddquU/xMXVLpFRLwjdED\\nsPKQVK5ViMPptunDj4hXf2cs/baqbHeftmePxtH9ffHx+yf0fD6KvXIV7+zr1LNvv3Gx2C3PAoHN\\nTOB5n+Cn1X/a+c3MirFDAAIQgAAEIAABCEAAAhCAAAQgsDYBBOK1uVAKAQhAAAK/FQLr/Gbc4pOX\\ndU4XJ1d9ZsmqvM0VihDO9tha0Mqr8wfbJZzcwc4fPGd3sNeH2n8Y4xOzMSQReHhIbuHhCQnF0zr3\\nIMYmpmNoZFznp2NOjZaWlmKbVNw6qbb19W3R2tmhXL8NEntbipzBnc3R1mLXb1N0KGx0v0ThvXu2\\nx87tCskrt3B7R3M0yW2ZBGSFiZahOKQjJ+Etz+DpW8+qkjs2bQuC2ypW6STvPSbM1dItcs3Wllav\\n7S7XPVmtxc6mJ/D0m+wQ1EUtf7cK97pSZkdHf13s6u2Tc7hXj+NyejFCX4Xkct/0WJgABN4IgeJn\\n+cqln/79XKnLHgQgAAEIQAACEIAABCAAAQhAAAIblQAC8Ua9M4wLAhCAAAReLYEn/o7b4lMhVq4M\\novaX5GW1MgublU7X6TsXyyAc0nlD6YBj9sEjOYAfKGfwpBzB4zFwVzmER6djYlo5hSUQj40rl/DY\\nTExOzsSMcg0/VKhoh41+qNXCWIPiPHcqEeuO7X3R29Mp92+rhOHWlD+4X+V7dvVIJO5UmN3maG9t\\nTLmC27S1WNyqsLwtEoLtCk5uYPWXQkVra1P16jDYhWOzmIP5ZB7erqxJCFZJUc87PpePyvu5TKer\\n5yt75VM+nZf1yvN5tr8NAsmh7xcS/Nw6J3HxYPjp8mJ3e6PyEPsVB3/6mfaSz/MYFTz4hAAEIAAB\\nCEAAAhCAAAQgAAEIQAACEPjtEkAg/u3ee2YOAQhAAAJlvfIxGll28oksLRWVykflWoVktSKXLqti\\nyiOs/MEpbLTiR8/JKTw9GxKEp5MjeGxyKoWMHpZT+O790RgYHI4ROYVnHyzEA1Ve0PpQIaOXFuUS\\nlrLVmEJBK79qS5vcwK3R1eW8wD1yBO+SSNwTPV0d0SmBuMPhorva5BbukmhcHypSuOlCPHOoaOdv\\ndWjetcQyz88a3HKeUJ5/qlyZ8aqG+cDbvO9e8r521933ORYIPCsBPVfp7QXVrzjS/bJC8aQVryd4\\nP/8FNz3Lla5rn8hnvSL1IPDbJuBvlL89LBCAAAQgAAEIQAACEIAABCAAAQhsJQL592dbaU7MBQIQ\\ngAAEIPB0Aun33VkyykJm+ZfgNfuV+mmj6oUkVbQr17Sm6tUuYaUFTiGjJyYjhkckBFsUlhN4eHQq\\nicF2DI+Mjitk9FRMTk3HtGzF88ohvCRVuV4qboOsvc3KHdzd2Sn3b3P0drfH7h09EoS7qm5hi8R2\\nDu+Ug7inu1M5hpvURgKZ/oT36vC6DbJQVnMGa8gedTHylV/7+7g8D2tvuU55z4Ur5WpUXWpLn3bs\\nhrV1qp29gp1Vs3sF/dPlqyeQ76Gem5pHx4c1RdXhrFdercAOBDYZgdI3QSPPR57Eiz3t5R7KKFZ6\\nW9krn2cfAhCAAAQgAAEIQAACEIAABCAAgc1LAIF48947Rg4BCEAAAr+aQM0vvVNMZf+qPP+6vGar\\n6kULf26TEOy1EIMXVdUu4QfzChutXMIzcglPTi3LHax8wUOTMXh3RCGkJ9LxsITioRHlFFYO4dnp\\nmXi4MC/HriRnxXl2DuH2jiaJvh3R19Me/d1tEn4dNroltvd2xO6dEoj7OiUW2yXcHK12FCuvcLdC\\nSDt3cKPE4JpZrUMpzzPnDS7aWfiuzjHt1PZWe7xO948Vv2i7xzp6gYJ8H1+gKU02AIGV+7eytzIs\\nP1nF01U+W5T4s1y60oo9CGxOAuXn2fvFk57n8nhJPrPettxfbZ3n7622B44hAAEIQAACEIAABCAA\\nAQhAAAIQ2KgEEIg36p1hXBCAAAQg8GoJpN+q1/z6O/+mvZp8N2fa1Yni/1Vjsjg8ry6mJQhPTodC\\nQ8/H0LByCY9Mxj2JwhaBh+QcHpYw7PLxyQcxp5DRi/POIbyUhKsGKbodEoO7FSq6u0sho9slBCss\\n9N7d22PPzl4Jwr1JDHb+4I62RuUWliAsIdguYbuDU6hojS07hD3A1b/wt+TrEo/Wy+qzLsmScLGf\\nP13PQPLW5WstrsMCgddLoHDw14pj5TGsPOfFU8xzWqbDPgQgAAEIQAACEIAABCAAAQhAAAIQgMBv\\nmwAC8W/7/jN7CEAAAr9RAiviUVUwzUWKrWx9OB9aVvW+t0vaeagdabuxoPDRiggdE1MP5QpW2GgJ\\nwfeGxmPw/ojCR49pf0xlkzEh5XhaSYfnZxeU03dZYaPrlUe4SWJws3IFt6Ww0dvlCN6p0NH9vZ3R\\n1dku53Cn8gn3ppzC/b0WhSUGNxaCcKPG5j+8ZRRec3Hu4BVPcJ5FxRdc1ciqO6U+ymXl/VKV176b\\nx7/ehTfKONcbH+WvisCL3vkXbfeq5kG/EHheAn6G80/G4nkulzxfb7mf9VrxfVmPDOUQgAAEIAAB\\nCEAAAhCAAAQgAIHNTwCBePPfQ2YAAQhAAALPRSD/Sjxv1TjtWlaVOCx1uGogrvQrPTgUOTpm9aF0\\nwTE6sazcwVMKGT0ed++Oxt17FoXH5RYeV57hIp/wrGJNL1lFlrRcJ5tvS0ejcgm3KVdwd8ojvGdn\\nf8ol3C/3sB3D25VXuFtKcEtrU7Q01yt0tARhu4QlDDuHsH9Rb1E4SwHZD+zj8i/xnTu4qh74TPq/\\nXOh9L3lbHK39uV6dErvUcL16uddfWz/3U7vN/T7t+k87X9svxxuLQL5/hW8433WPMZ952niftd7T\\n+uE8BDYCgcef58dLnjTO8nfI9Z6v9ZN65hwEIAABCEAAAhCAAAQgAAEIQAACm4UAAvFmuVOMEwIQ\\ngAAEXiIB/XrcVlsv/s145bfjDrXsUouvSiccC1KGH0jjnZZTWKmEFUJ6UaGi5RRWyOjB+xMShseS\\nODwk5/C4KszJUrz0UC23PYr6hhaFju6UU7glehQ6urdH4nBfh8JG96Q8wnvkGHZOYecW7upUDuHO\\nxiQKWwyu17W9lH9pX/6FfuEQ1igrhckfnJThSjs3rDbIveRtUaf2s1pdJ55cs7YlxxB4XQSKJ/PJ\\nz2f5SX5d4+I6ENg8BGq/IU/+Pm2eeTFSCEAAAhCAAAQgAAEIQAACEIAABJ6PAALx8/GiNgQgAAEI\\nbHoC+nV4sggXjmFPJ/+C3L84tzi8qB3nFR6djLg7NBUD98bj1t2xGNB6d2hCzuHJGB6bickJhY62\\nKLzwUH3URVNzY/T2dqew0Q4XvVNi8L7dChW9ozuFj+7rkVDc3RY9HU0pbLRdwoo4HUpDXM0lXB6L\\nVd58XEjXxa/2izLtp51cw+fyvnZX7ft4/aXodf3znIHA5iHg70DtE13+XmyemTBSCEAAAhCAAAQg\\nAAEIQAACEIAABCAAAQi8KgIIxK+KLP1CAAIQgMCGI5BloyKE9Ipb2CGknVd43nmFJQwrbXAMj87G\\noPII37x9L27euR83B4YkDo/H2PhUzEgUXrS9WC7kxob66Oxpjl6Fh96pMNG7d/bGLrmDd2zvUThp\\n7eu4TyGkuzrrQhGmo7UlQhGkQ5Gjq07hDKo6vlSwvIbMVSt05eO8zT3puLYon1pj66r52s/RbI2e\\nKIIABCAAgY1MgJ/3G/nuMDYIQAACEIAABCAAAQhAAAIQgMDrI4BA/PpYcyUIQAACEHhtBLLc6QsW\\nkqdL8pqH4WOLwzOKCq3UwXF/JOLO4GjcujMctyUI3x4cijt3h5RbeCwmpBovzjkTscJHy/bbpdDR\\n/Qoh7VDRe+UU3rOjN/bs6ou9u/pTTmGHlW5vU9hoCcLOJWyncJ2cwnUaTv4Fva/t/WKE2qksxfFK\\n6cperpG3tWdqj3O9p2+fr+Xz1X58hk8bT+6/fB/XapPrrXWOst8uAZ6L3+69Z+bPQoBvyLNQog4E\\nIAABCEAAAhCAAAQgAAEIQGBrE0Ag3tr3l9lBAAIQgIAIlGXGLAovKpb07ELExEyEjMExcP+BhOHR\\nuH5zUK7hoRgYHInh4fGYnZqKh4vzsU3qbkt7VwoRvb1PbuHtXRKEe2L/LgnDO7rkHu6MHX2dyivc\\nGV0ddSmfsF3CtYuvX4zHway9l39V7wzIefHeylEuXXv7rPXWbr2xS7fy3DY2eUYHAQhAAAIQgAAE\\nIAABCEAAAhCAAAQgAAEIbF0CCMRb994yMwhAAAK/UQKF/JonnwXZ8nZe1t2RiYjB+/Pxy62huHpz\\nWNthhZIejXv3R2NifDrmrR4vL0dj47bolfi7e3u38gn3xeEDO2Pf3v7YrbzCO1Te39MmQbg+2uRd\\nEbDaAABAAElEQVQSVgriaNKfrCmncBrA6rFYEHZga6/5TCGB+tMlzyOIPk/dTIMtBCAAAQhAAAIQ\\ngAAEIAABCEAAAhCAAAQgAAEI/NYJIBD/1p8A5g8BCEBgyxHIYqsF17oku9qr63VeH0ofHEOjEddu\\nj8TV63fj4tVbEojvxo2B4RgbnUxhpLepi5a21ujr7pAQ3BX75BLeL1F4/54dsX/fTuUY7o3enqbQ\\n6Wh3CGnVV/Tox+RdpSjWkqVgC8OVxRfQsvJZPVOpwAYCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCA\\nAAQg8GoIIBC/Gq70CgEIQAACr5hAll2fJq1aGHauX68TsxFXb8zE+csD8d1PN+LytYEYVI7h0dHx\\neCDleJtk5LaOltijnMJHDu6Jowd3abtbzuH+FFK6t7s9OjsaivDR+hO0oZJT2FPN4/G+x5TGVRGC\\nXbayFCNee9xrl660ZQ8CEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg8OsIIBD/On60hgAEIACB\\nN0CgLMZWL58LSxprLrI4PKuPu6OP4rvzN+KL765KIL4VdwdGYnF+JurrlqO9qz129XfEwT19EoV3\\nxPHDe+LQ/p1yDfcrlHRHkVdYIaTr1VfpEoUwnC9UGUw6X61U3SmfreyzgQAEIAABCEAAAhCAAAQg\\nAAEIQAACEIAABCAAAQi8XgIIxK+XN1eDAAQgAIHXQSDFdpZqK23WoZ+XtDsxFXH95p344utz8fcv\\nL8Xw4Gw8WliKps4G5RTui9Mn9sepY/vi+JE9cXCfcwz3RE9XQ7Q1F3mFk1t41dgLVXhbEUe6cqYi\\nBj/BObyqCw4gAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAq+ZAALxawbO5SAAAQhA4BURqDXq\\nVi7j4m3ScpcfSiien4356fF4ODsm4XgxWrpbJQj3xTunDsT7Z4/HiaP7lGt4R2zvbYyuNgnDpaEW\\ncvCjyHrwyuWyKJwrr5zJJWwhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhuFAALxRrkTjAMC\\nEIAABF6IgIXbxyRZO3grSq7P20XcJrV3e3dHnDi0M+ZnZmJ8ci76+7rjg3dPxNnTh+PU8QOxc0d7\\nNCuMdKPiSDuUdCEKa6e0bFvTHVyqwC4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYAMTQCDe\\nwDeHoUEAAhCAwIsQqMi6JSG3XnpxqwTi3Tt64/13jseOns6YnZ2Pnp6OePvkgThyaFfs3S1xuKI0\\nZ2G42OYjC9FFhUq1FxkcbSAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACb5QAAvEbxc/FIQAB\\nCEDg1REo5FzLu3VSdO0g3rerJbrb34v5d+djeflRNDZsi86Oxmhr2RYN25ZVUyGk04D8WSsH24fM\\nAgEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhDY3AQQiDf3/WP0EIAABCCwisCK2zcHnrbb1+Gi\\n66TvNrZEdGvdFs2rWvnALZf1n5csDec+yiWpAh8QgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAA\\ngU1KAIF4k944hg0BCEAAAmUCZWG4XL4i8ZZLy7VzuGhvt6VsxblmPpOP2UIAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAENj8BBOLNfw+ZAQQgAAEIPIVAIf7WVEoqcUUqrmrBeSdva9pwCAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhDY5AQQiDf5DWT4EIAABCCwFoGywFv2C+e6LsvicLlueT/X\\nZQsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ2DoEEIi3zr1kJhCAAAR+MwQs42bZ96mS7poV\\ny63K+78ZhEwUAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEfqMEEIh/ozeeaUMAAhDY7ARWy7qr\\nj1bNbZvPZZW4dCaVl46ru0/oq1qHHQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDA5iSAQLw5\\n7xujhgAEIACB5yKA6PtcuKgMAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACW5ZA3ZadGRODAAQg\\nAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIFVBBCIV+HgAAIQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQhAAAIQgMDWJYBAvHXvLTODAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE\\nIAABCEAAAhCAAAQgsIoAAvEqHBxAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ\\n2LoEEIi37r1lZhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAARWEUAgXoWDAwhA\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJblwAC8da9t8wMAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwCoCCMSrcHAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAYOsSQCDeuveWmUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAhBYRQCBeBUODiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhsXQIIxFv33jIz\\nCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAqsIIBCvwsEBBCAAAQhAAAIQgAAE\\nIAABCEAAAhCAAAQgAAEIQAACEIAABCAAga1LAIF4695bZgYBCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQhAAAIQgAAEIAABCEBgFQEE4lU4OIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA\\nBCCwdQkgEG/de8vMIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCKwigEC8CgcH\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABLYuAQTirXtvmRkEIAABCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBVQQQiFfh4AACEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEIDA1iWAQLx17y0zgwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ\\ngAAEILCKAALxKhwcQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACENi6BBq27tSY\\nGQQgAAEIvEkCjx49ql5+27Zt1X12IAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQeHMEcBC/\\nOfZcGQIQgMCWIGAhuCwG50lZFM5rLivXK+/n82whAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAhB4tQRwEL9avvQOAQhAYEsTqBWHn+QUXl5eDq/lpb6+PonI5TL2IQABCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQeHUEEIhfHVt6hgAEILBlCZTdv7Uu4SwEe7uwsBAzMzMxOzsb09PTsbi4uIpJ\\nU1NTdHZ2RkdHp7Yd0djYiGC8ihAHEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGXSwCB+OXy\\npDcIQAACW57Aijj8SGLu45kK5ufnY3JyMsbHx+P+/fsxMHA77twZTPszM9PiU+Qjdj8Wh/fs2RNH\\njx6N06dPp/2WlhZE4i3/FDFBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQeFMEEIjfFHmuCwEI\\nQGCTElgJI70t5R5eXl6KBTmD5x48iImJiSQE37t3L7wODAzEjRs34vbt23H37t2YmpqW+FtMXPpw\\ndHd3x969e5M4bJfx22+/HYcPH07C8SbFw7AhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhua\\nAALxhr49DA4CEIDAxiCQXcMr4nAxrkePlpNT+O7dwbh+/UZcu3Y1fvnll7hx82YMVlzDY2OjMTsz\\nm0Rki8Llpa6uLi5duhRXr16NW7duxaeffhp//vOf49ixY1HOT7ze9ct9sQ8BCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgMDTCSAQP50RNSAAAQj85glkYdhCrUXhIrfwdAwPj0jYvZkE3gsXLsTl\\ny5eTQGzH8NTUTOJmx3BjY0O0tbUm0dci8fLyo1haeqh+FuOBnMcWiZ2r2CGn33/vvdi3b5/qtxFq\\n+jf/5AEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEXjYBBOKXTZT+IAABCGwRAhaDszC8MqVH\\nKb/wnTt34vKVy3Hp4sU4f/58XLlyJYWSHhoajrm5OYnIRYvW1haFjD4Ue/buib6+/mhtaU0nXGd8\\nfCKFobZ72CLx8PBwCkk9MjqaxOLW1qLuyrXZgwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhA\\n4NcSQCD+tQRpDwEIQGDTE6iJ+1yZz4o4/CgWFx9KxJ1NIu7Nm7ckCF+OH374IX7++eckEDu/8NLS\\ncmrZ0tIUvb29sXPnzjhw4IDCRR9PjuD+fgnEEn3lQVZfczEmIfiKwlHbYXzp0uWYn59P4rPFYjuU\\nc1jpjHdlPLmELQQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAs9LAIH4eYlRHwIQgMCWIlCI\\nw08SYxcXF+P+/fvJJWy38Pfffx8OJ339+vWwMGyx14sF3F27d8bZM2fj5MmTSRg+dOiQxOG9YXG4\\nvb0jmpqbQnpwchlPTEykvoblOr53716MjIwmUTiPBUE4YeUDAhCAAAQgAAEIQAACEIAABCAAAQhA\\nAAIQgAAEIPBSCSAQv1ScdAYBCEBgsxBYcQ2vCLIeu+Vb5whekmt4MSYmJiXe3o2r165JzD0X35/7\\nPs6dOxc3b9yKebl8vTQ3N8eOHTvCYvCJEyfinXfeiePHj+v4YOzatSt6enpTPuFUufRhl/Hw8JDy\\nDndEQ0NDEpiTKKwhIA6XQLELAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEHiJBBCIXyJMuoIA\\nBCCwOQhkcVjBnrXrkM/bkjBcVx2+xd/bt24p9POl+O677+LHn36MixcuxjUJxeMSjdUk6uvrkwD8\\n9ttvJ1H4zNkzcVzhpPfv3698w31JFG5sbEz1qh1XdixAO5T0rFaHrnZ4aS/us25bXUWmrlRmAwEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwEsjgED80lDSEQQgAIHNRcDisBcLskkmfrRUzQN8\\ne2Agfv7ppxQC+suvvozzyjU8NDQiZ/Ejibh1KcewcwufOnUqzsgxfOqtt5J7eO/evdHV1bWmA3hp\\naSmV19XVxcOHD2N6eiomxsflUp6ImdnZFF7a57yu5SC203mt8jQJPiAAAQhAAAIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEHgmAgjEz4SJShCAAAS2FgFrw3YOF+Kww0pvU17gmbh9+3b88MMPKYz0N99+\\nExeUc3hg4I5cvoXDt729TeGjj8WZs+/GR7//fbz19uk4rNDS27dvj7b29miSY3g9Edfl+dzS8nKM\\njY2n3MPObzw7M5vcw4WDOMWYXgU8i8N5u+okBxCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB\\nCDwzAQTiZ0ZFRQhAAAJbh0CShOUcXpZQu7T0MMbk5L1182acv3A+vvjXF2Fx+Ifvf4jJyek06ZaW\\nJoWO3ieX8EmFkz4TZ854PZvyDjuctF2/5SXnNXZZFoXL+4sKYT06OpIE4pGRkdTU4ajb2tqiuaUl\\nvL9Wu1SRDwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABF6YAALxC6OjIQQgAIHNTMAScSjU\\n82LcuXMnzssp/Pnnn8e3334bFy9ekJN4oOoa7unpinfOvBN/+OQP8e5774VzDu/buz+6u7ujRWJu\\nWch9EpFyvbm5BwpZPZwE4qmpqdTMoan7+/tTiOrW1tbH+i23f9J1OAcBCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgMD6BBCI12fDGQhAAAJblMC2JAzPKu/vwJ2B+OnHH+Obb76J//7bf69yDbe2\\nNieH8OnTpyUMvxsffvBhyjm8f/+BaG1tW8XGTuQs4Hqb99dyEj96tKy8w5Nxe+BW3Lp1K2YUXtr1\\n9+3bG85h3Nvbq/5XC8S5v1UX5QACG4WAYrZXUnorWHtlqe7kArYQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABDYGAQTijXEfGAUEIACB10pgenparuGfk2P473//u3IOfxfXr9+QWPsgjaOjoy0++PCD\\n+Pijj+OPf/xjnDx5Mnbt3h3dcvk2NDSqjuWwQgHLeYHXEnFdls+7YwvJFqadd/iXK7/E5cuXY35+\\nQaGlW+Pw4SNaD6d8xs5F7KXcNhXwAYENRuBRSujtjN6lxV+NRysKcdrLh7liPi41YxcCEIAABCAA\\nAQhAAAIQgAAEIAABCEAAAhCAwOsggED8OihzDQhAAAIbhMCiQkpPTkzEL7/8Ev/85z/T+vnn/1BI\\n6TsSYyOamxtjt4TgMwop/YlCSn/wwQfxnsJK29lbV7fyR4ZdwNkdbBF4LXF4rSk73/Hw8HDcun0r\\nrl2/FoODg6laT093HDx4UHmO90dnZ2e1afka1UJ2ILCBCOjxd6LtFedwHpu+T1kLzkVpizC8CgcH\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwOsnsPLb/td/ba4IAQhAAAKvmcDE+ITcwufiiy/+FX/9\\n61/iu+++lWA7ksRhh5Q+ffrt+Pd//4/4/e9/H2fPnk2ibadcw2Vx2EMuC8Ll/drpWOAtu4Dn5+cl\\nRt+Se/hKDJTyHO/YsTMOHDgQu3btisZGO5RZILAxCTzzSwsSgtGCN+Y9ZFQQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEPitE0Ag/q0/AcwfAhD4TRB4+PBhTE5OxhUJsxaHP/vss/jyqy9jdGTc5sfYsaMv\\n3jlzJj76/Ufx6aefykF8RoLtQYm1TQoJPRPT08MpNHR9Q0P09fZFi3IE122rWyUUrwWy1l08MjIS\\nlxRW+vz5C3Hnzp3UpF3hrO0ePnz4UBKIG3QNlq1HoPyiwGaZXXnMxf7qlyOWl5dSiHS/+LCwMK9p\\nbVP+7JZoamrW2qjvR11lqtlLjGS8We4944QABCAAAQhAAAIQgAAEIAABCEAAAhCAwFYmwG/ht/Ld\\nZW4QgAAEKgScc/inn36Kf/3rX/EXOYe//uqrGBsdlzM4lPO3Pz76+OP4X//zfynv8Idx9MiRlAe4\\noaEppqYm4uKli3FD+Ynv3bsX3QoF/dHvP05u3+bmliQQr+eorBXXJhTa+saNm3Huu++Si3lsbFz5\\njOt0vaNx6tSpOKKtHcRlgbhWYOaGbi4C+dnwqPP+kxznG212Hmsed7F1OPWVUc7MzCh39zW54gdS\\nXu2GxoY4fOhQ7Nu3P/bs3RPNTS0rldMeQnENEA4hAAEIQAACEIAABCAAAQhAAAIQgAAEIACBN0AA\\ngfgNQOeSEIAABF4XgeXl5Zibm4ubN2/G119/HZ9//nl89+13MTIylsThvRKxPvzw9/Gnf/tT/OEP\\nf0hCbWdndxreo0dLMTQ0FD98/0MSdG/dupWcvgflLN65c5fyFTenemURLc/LYlpZCLSQdvXq1fjx\\nxx/jp59/SvtLS8vR29sdbyus9VtvvaXcx6vDS9f2kftmu3kIlJ+B8v5mmUH5Gczjd/7tBw8exNjY\\nWNy8dVPfj+/jslzxAwMD0dHREZO/+yA9+/39fRWBOIdZ96yzumyhOO9vFhqMEwIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACENgqBBCIt8qdZB4QgAAE1iCwuLgYNyQOfyfXrsNKWyB2mOe6um1yCfclx/D/\\n+T//Jz5UzmE7Hzs7O1MvFoftOnYY6G++/TY++9vf0v4HH3wQo6NjCqs7J2dlUbf2soXTcqXUIrXd\\nx19++UX87bO/xcULFxWu+kGqsG/fvnj/vfeV+/i0rt1VbVQW5qqF7EDgNRKofY7zpWdmZ+WEv56+\\nU3bD+7v1yy9X9L0ajX3794VdxBaHT5w4oWfaL1tYCM7O4dwLWwhAAAIQgAAEIAABCEAAAhCAAAQg\\nAAEIQAACb44AAvGbY8+VIQABCLxyAuPj43Hp4sX4ViLvDz/8EIODg+maO3ftSPmG/+1Pn8bvJQ6f\\nPHlKuVNbda5wNS4uPoyx8QnVvxtX5I68IFF3bm4+JicmY0H5VpeXHxe8yoJadlvavWxx+Keffoyv\\nFNb622++jrt376YxWKC2MHz69DtxSOK0c7e+yqU8vvJ18ljLZey/HALO0buwsBDOge1npr6+LjnP\\n6+sbVjnMX87VXm4v5ediacm5huf1csRo3Lp9K35WuHa/bPHtt9/E+QsX4sHsXAo9vWfpUXINt7S0\\n6CWM+poB4RiuAcIhBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg8IYIIBC/IfBcFgIQgMCrJGAxdF7C\\nnB3AFocdXtohcL20t7fHmXfOxn/913/FJworffjwUYmzbSnXas6v+lCCmMWwQYm594eGJQovRFNj\\nY3IYNyn3cH19/WMCn69pUS0Laz4eGrqvvMf/jL///TON4cu4du2axMIljaFNwvRH8fHHn0icPplC\\nVrvPvOQ+8vGv2WZhOG+fpa+Xef1nud5WrTMzOxM3lXfarnWHZXYI5iNHjshhu11CcZOmvTFE0/Kz\\nUXvvfc4vWly7fj0unD8f3+glhx9++DEuKTe3X7jwyxQWvg8fPhyffPJJ/OlPf9JLD2fS92zlvtbO\\ns/Z4pSZ7EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAReNQEE4ldNmP4hAAEIvCYCFrKyuGXH47hy\\npN6+fTt+/vnnlPvXeYDtbDxz5oyE2Y9T7uG3Tr2VRLtiiMqVqh1JvHJ7LqcQ0xbGpianYll9W8Bt\\namyO+rq66nXKU/O18/UtBjp/sXMO/+Mf/5Db8h9xUU7mhYWH0dTUIAHt7fjjH/8Yv1O+1j179kRD\\nQ/HHUXkO5b5fZL8s+rl9eXwv0h9tnp3AwkLhtr1580Zyrjt/tUOW7969J3Xi+22ROL8U8DLv+1qj\\nfFr/+bnNbf382/XsMVvcvnHjRnqWz507l5zwV65cSbm9Xd9h2f2Sw4cffpi+V++8cyb27t2r59wC\\neLHoq6EFUbiCgw0EIAABCEAAAhCAAAQgAAEIQAACEIAABCDwhgkgEL/hG8DlIQABCPxaArVCqPuz\\nuGWB9qbyD1+9ejXGJBZ72b17d/znf/5nWo8dO1YVh92H/o+6QslK4YAXlL/YLuSFxYXU9pFCBD96\\ntBzVrRtoKdo+UkjdunRscdphpf/5z38mYfgz5R22SD03JxdyU328887p+Ld/+7f493//jzh79mx1\\nDKnxS/jIPLzdLKJwHqunn8f/NBS1oubT6r+q8+Wx+xp+zWB4eFhC6pfKO/1lfPHFF8rR+4vyTs/o\\n5YSzElQ7kqja3d2zpkCc5/+888vtaue5Xnmut9Z1/DKF3cH+7vglBz+/FxRK2vPw3Cwge/HLDXYN\\nf/zRR/HRJx/HieMnYseOHSlc++p+EYczb7YQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAmyeAQPzm\\n7wEjgAAEIPBKCFjEsjhmt2Zzc3O0tbUlQdZOx7fffjv6+vqq13XdsqDldhZ6LTQvKSS0F5fp/yQA\\nJquxD7RYU07l+rCw5hzDFtUcVtrO4SwONzRsixMnjydx2O7hU6dOxvbt21Mf+aM8hlz2tG1ZAHT7\\n3Efeun0x9mJOOSeu5+ZyC9tmZMdno8JoZ1fr0677LOfLY3tafdctj/9p9TfC+dr5PXy4mBy3Fy5e\\nSM7xz/QMfH/u+5iamknDbWq6GHf18oCduX6+ykuef7nsefbL97vcbr3yXMfX9fO/qBci/PzaNW9x\\n2GLweYWUdoh2b13mZ8b9dXd3x+HDh9P36Q8K0/7ee+/FW2+99djznK/BFgIQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEIDARiKAQLyR7gZjgQAEIPACBCxY1Qp1RQjf/jh48KCE2FNJ/LTbMYvDdhJnx68v\\n+ZiIJtF3WY5hC2cOL11eCi+kfaK53KLsIzlEZ1OOYYvC//rXv5Jz9MqVy1Xn8IkTx+PTf/s0/vzn\\nP8e7774vgbq/2u2vFQerHa2zY2HP4p+d1BawnV/ZYbAtUnruXd1dsW/vvti1a5dCH/f/apHY86m9\\nJ+sMrcr+sXuwXoMNXD6pcOTnvv8+/v7ZZ/GXv/wlhZe28JqXhoZGv2FQdeDmcs89zz9v87lXvfUz\\nYFHY+bodStrho71evnw5rivvsMv97HhxiPZDhw6lMO0fyTXscO3+fvm5aW1tfdVDpX8IQAACEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAi+FAALxS8FIJxCAAATeLIFaUc3ir12OFrPs1nWO1J27dsbxY8dj\\n3759yVHsEWcR0+3zfp5JVeSsCMSFICx1zwpxSdBbVAhqC643b96K73/4Pv77v/87vlR44evXrqWc\\nw/X12+LI0SPx6b9/Gp9++u9x9t1348CBAxKo69Olaq+br/+s29q5W9S2IGynsEXrycnJmJiYiPGJ\\n8bh3917ckOh3X+G3fc7ipdvbyXzixInkAj19+vQqd/WzjqNcz33Wjqt8fq39Km+dzPvZ2WoR0/sW\\n/i1Sevuml3zfPE+PzbxvK9fwN19/rfDinyfn+OzsnB8V3WuLwhGNTY1yaTek8Zf5lPt6kXllXrmf\\n3EftNXI933fffzuZ/Wxkx7BF4YtyP//yy9Vw3uS5ubnUlcVfv1ThsOxvyyn8joRhu4aPHDmSQkrn\\nly3K1y9fO4+HLQQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBjUDgzf+GeSNQYAwQgAAEthgBC1bt\\n7e1J0LJQbEHMwmJHR5H/9dmmKzG4+D9Vt05cCGwW/Orksm3Q6eXkyHUY6X/84/P4WuKgw0sPDt5J\\n4rDFwD17d4Xdlv/1X/9PfPDBB7F7l93Lq8XhFxHTPJbadi6bnp5RmOPhNK7bt28nF6gFwJGRkZQb\\neWBgIDmJF+YX4uFSEWbaeWMton/66afR09OTcuRahK3t/9m4vVgti6wPJEg+kHBpsdWisF3Odrfa\\nweqc0D2V0MbZ5ZyFyRe74q9vlfn4+bKg+oPuvXNPf/PNN1Vxtaijh0dLc5NDnbenZ/Fljd333LzM\\naH5+viqu57GlC6uOR5AFdzvJnZ/bY7ZD2PvX9EKDnxc/J+buxeHG7Q52+Oj3339f+bPfSY7h/fv3\\nJ6e5heNV10mt+IAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgsLEJIBBv7PvD6CAAAQi8MAELcBaE\\nvT7LUha65H+V8FUX2+rKTthC5HNfCwvzcl6OS2gdje8VUvjLL7+Kv/3tsxRS2OVLS7KLarFA3NXV\\nHd1aOzs7Uxhe95sXX9MC34ssuW3hXnX+2OnkZHYIaQt9DhfsEMHOJWsR0KKg3aJZ/Ctf0yKs3aIW\\n/nJ+XIuDZSbl+uvtey5es4PZIu+TFtd1HbtZJzSGcTudtfUY3ce05jQyPKIcvlNJ/PT4PC7nS7bw\\n/yKLr/m881rrOuU+PL5Lly7FuXPnknN4eHhU1yicw+l6eo5aWhqT23bHzh3RLRH+ZeR69r33/bp/\\n/3661+O6x/lpqo7P96QyAbO2iDw8PJyeCz8ffmHAz4dd8O7Pi1+m8EsDDtF+/PjxJBA7nLQdxHa/\\n136n3M7X8/qy+FaGzAYCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwEsngED80pHSIQQgAIHNQyCL\\naBa1yovFvfp6u4Tr5fZ1TOnVy+TEZBLkLl68GH/961/j22+/ixtyYc7IvesY1G7jHMbeX5YoNzI6\\nEj/JXVov0fr48RMS33ZJ5GxOna4nqtUKbXmMecxubGHOwp4FvqtXr67KHWvXsIVDh5jOzlK3sTPY\\n4rn7s/P1scWTf8HFAqQF3mG5UO/q+hYvy0ueQy7z+D02t7FQaXHbY7bg6r4sWlvUtoDser/73e+i\\nt7c3icMW3LPIWssq91+7db08hjLH2nrPc+w53L8/lMThr776SnO4V23ux8prvV4K2LNndxw9ejQO\\nHzocO3fuTPfAFfPYn3U8ub7b+v75ZYBvv/02/r//+3/jip6Bxsr9Xas/i+5m6mdiSGHGa58NO4L3\\nKlf3cYUbtyB88tTJOHb0WArL7jDkXV1da4b3Lruh17qux8oCAQhAAAIQgAAEIAABCEAAAhCAAAQg\\nAAEIQGCjEEAg3ih3gnFAAAIQeIMELGpl4TANQ8cN9UWu2PpKOOg6iXyuY1HODsxz35+Tc/jLJBBf\\nv35zzdEvLizGqFydDt9rES3lAh6fSCLxwYOHk6s4Xzdv1+yoUpjFNwt9MzOzyiV8P65JFHTu2PPn\\nz8eFCxfS/r1795Kg6maNjY3pOhb3+vr6Ur5hO0TdhwVChxdubm5OoYPtGO2U4/pFwktnsdqi+ZUr\\nV9Kc7VrOY87zy1uXZ0er692RQDwogdhs5+cUKtn/ibfr+R44f28OPZ37yKzycb5WuTz34XN5zeef\\ntM3tnlQnz/nWrZvJOex7YDE7L35FwEtzc5PyUB9NDtzdu3dFu8JMe8njTgfP8OH65XGZ35heEPDL\\nAZ8rtLXvv0Vzr7luuVuXecyZaX1DvUKxd0hw70qitfNzO2/38ePH9Dy8FYcPH065h+3WLovA7tN9\\neallngr5gAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCwgQkgEG/gm8PQIAABCLwpApISk0ja2NBY\\ndakWolskAdCO3X/961/x2d//LoH19rrDXJQIe3fwvsIkj8aF8xfiB4Wj/vGnn+MPn/wx/sf/+B9J\\nKLY4m0W2LLq5w1yWO8/HrmNB9bzyHn//ww/xrfLdnpcw6HyydoXaaevF47Xr02GBLfw6NPDevXvl\\nEN0bLa0tyUl6//69uHjxUqp/6tSplGN2jxykFoifZ7HoOCNh9LpCFv+/crL+8/PP0/7Y6JhN1MUi\\nPdGib3nxXCxyWnT3uL1fXjwHO4YdWtrjt4PY83FZWbA0m8wnt3efFpS9uh+HRS63cb3Mu7aty2vL\\ncr/lc+7b3C9evJBEcfOvzsHzLiI2R5cE2FMnT+l+H5cY25O7qm7Xu1a1wjo75u68zc4/7NWLr+/y\\nPLfapn6me3p70jPhMNIWf33P7W72c+J9l5txW1tbehZqubnPFx1z7Xg4hgAEIAABCEAAAhCAAAQg\\nAAEIQAACEIAABCDwugk832/AX/fouB4EIAABCLwRAs49bMeqxdsmuT+9FIJY4eB0juEFuYMfKYy0\\n3bgOJ90joa21ta2oJ3HQAp0FxJmZqSLH7sS0chSfj3sKR/xwcUni7Y5oaGyKQxLlHNr3WRaLqA4p\\nbcfw3//xj+Rg/kYCscMMZ2HSfTmEscU+O0AtSibhT+LwLpVbNHYO39SXQkEfPHgoCYr7LSBLHLTT\\n+HkXu5HtZL0ugfhrhVn+7LPPqrmO7WD29SzSerF46cWio4VojzeFi9Zxneq4nlefs+PZ4zroVfM5\\nKnHYDlfXLwuU5X2PZUIhwAcHi7y6dvT6+mbSr/66dJ98z3z93K4s+q4nrHrMtecsyjrX86VLl1OI\\n7HwPpFerrhpoq/+TKH/y5Mk4fOSIHLuFe9j9ecljKI6e/9PX9Jzztd2D52dBvF0Cb7P27cC2ON+q\\n/R4JvxaBD+nZ8PPg+202FuG9tTDs5752Kc/91465tm+OIQABCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQi8TgIIxK+TNteCAAQgsEkIOJy0RTI7KC1g1knxW35kYXNbEt/6+vrj7Nl3o15uzDsDg9HU2CBn\\n6/Ho6+9XSOcix6/NslPTUxJvb8W169cUgvinmJyYUr7a4XCuWof2tbBnEc/uWC8W3spCXCosfdg5\\nbEH4n3Iv//Uvf4nv5Uh2vl6Lrs3Kabx3396UO/btt99OIaMtENs1bNHP87BQasHW13Gb7XKKHpTg\\n6iWJ4SUht3TZp+7arev8wRaIHbL6wYMHSYDtF4/Tp0/Hrl27Ejdfd04it0VTX89iqcXeNDaNywKx\\n6zhXc6PG0tPTk8Zv4dJiscVMi5/lENjm5TZezNMhqh3m2iK1t+bj6zjE8wmJ5XZKW2x2n1m0dvsn\\ncXff+Xy+lsucO9nhnX/55ZckSrusuuj+19dvi86uzjgiYThf1/cgL/m65T7zuWfZul0W07Pr21uL\\nvb//6KM4ovvfZ8FXzDz+5pbm6O3pDd8Xz9/uYY/HTH0//Gys5RbOY8kMfPyiY859sYUABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQg8KYIIBC/KfJcFwIQgMAGJmCRrKWlNdra2yQStydBMg+3Sa5fh+B9\\n//3fKT/r3hi6fz+JmRbjeiViNkqgs9DpxQLxXYWjvnjpUrTJXfzDD98rDPRwcvz+61//TPl+j8sV\\nayHUImYW57IQl0U4i7l2wtop/PXXX8ffJX5+++23MT09ncZmR+gJOVTffuutFCb6xIkTySG6W8Ks\\nRcC1Fl/LYqJdpbWLr5+vXXsuH5freGwOu203rfMfe7Eo/d5778Wnn36aXL8WIL3kENg+tgBvp6sF\\n4rI46WubY7vOWcx0nSzmpk4qHx5DeRwWqu9JqHYuYAvEX335Vcw+mE3XsUh7XeKwhWwL6Ga0e/ce\\ncW+riubu61kW3485hXa+r3tvgdg5pufn51LTilad9ps0xxPHTyRx+MDBAxJr+6r3uHyd8hzK5c+0\\nX76gGvie7t69Oz5UOO6z776bHOPm6zGbcRblzTQ/b7XXyVxd7ntRXl32rJxclwUCEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAwEYjgEC80e4I44EABCDwhgiURbq6+jqJlgrTK5dvW1shXqbzGpuFyv7+\\n7bFboqzD+s7MzEpo21Zxt7aWxLTC0fpA4qnFWwuRzc1N8bny846PT0hYvBbndpyLt+Wwtcv0pMTL\\nVonSFuN8rfJ47IwdHBxMwucXX3yRXMQWZe38tPD5wYcfxH/+x38mcXifXMS9EiKz03Y1Tgughdt2\\ndfnKka/7vIuFaufitUA8LVG8oaE+CbAff/Jx/PnPf055g/O8cihku4QbJFhatDRTn9dHMTpt7dp2\\nmc/VCpllNuWxOqT37YGBFILbYbiHR4bTabOy29dO3x+Ut9kC8Udy2L7//vtygp9Ngr8r5jF6f61r\\npDHqnMVWh/q+M3AnicOeu++RF9dxyHEv3XI8WyQ/c+ZM7FBI8TqFevbyqOJGTwe/4mPZz4nG4utl\\nrhaIt2/vD4e0PqvrOqS0XcIesxez9BjzXGov/yz3P7ddi1FtfxxDAAIQgAAEIAABCEAAAhCAAAQg\\nAAEIQAACENhoBBCIN9odYTwQgAAENgABi5PNDr0rkbil2SGNG5U3WDmHPTads3jcLxHuWZYuib92\\nkk7PTCf3rEMgn/vuXCyov8tXLitM9DmF+92RXJ8WiCUfPtat3ap2D1v0vHz5ksIZT6Q6fX298e67\\nZ+OPf/hD/OEPn8RxuWKLPlZ3YXGwECU9/JXcu6trrRxlAXCl5PG9XMciocc3rHzGdlPPzy8kIdxz\\ncu7go0ePpHDGj/fwfCVZ4HxSKwvEFoIt3jrMtcfoENbWvC1cu9zr4J1BMRxPDmwLpqdOnVQI6/4U\\nZtltski6ngDq/NPDQ0MSo28n4d4CtJfcVl2k52Tfvv0pxPaJEyf1EsCKk9vjSXVSq+f5sLC7Ut85\\nkM19REL43Nx8OlGfXm5o1UsCPekZbVLocS9rObAz03wvU8XKR60o77pec90sNOc267HK59lCAAIQ\\ngAAEIAABCEAAAhCAAAQgAAEIQAACENgoBBCIN8qdYBwQgAAE3jCBLHwVw5BzVU5Mu1u92hH78KEE\\nYjs2tSaxbGlZoaTrUvWnCX4dHe3JzWmReUCiokXi68rXOzY6Ft//cE5u5F1yEr+VwgFbeLMj2dfJ\\ny4wcus7t61DGo2qTl127dsaHcg9/+PvfK6T0oZI4vNJWI5YaqRaVIguMhchYUhpzhy+w9Tgd2tlO\\n6WkJlmZjMdKO6bb21sTuBbpd1SSzyNt8cvU9KxzbHouvv0dhlh1e+4gc1l4cCtoiu93O94fux1//\\n+t8SVkfTsUXlTz75JByq+1kWh5O+I0e3+8tifR6Lb5vvoQXaYwoffurU2ynnsV84KJaVe1O+Vnlu\\nua/yee/n++YelvT8+Tm6dPGSci1fkpN9JlVPwq4G8XDpYSxKMC9yHj9+r309Xydf60nXtzvZ+a8d\\nHtz9O2S1hfe1ROc0CD4gAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCGxgAgjEG/jmMDQIQAACb5KA\\nxa/6+gYJxQ5xrBDIVZXV8pxl15LQJ7HNwmBRUipXTQtqFpmdF9Z5bx1u2Hlw7fqcnJyOS5cuKkfv\\nwRSi2TmDexQeuqG+MQl3WcSbkqg5IDHy5q2bKRdx5uIcvQ51vWf3rpSntyhfTuGGs/iXt5pMpdnj\\nYmHu70W37tHXsbBtTJqywkfXax6V0NGpY4dBlqiuk66bBcm8Xe/aruslCZ+VSuU2LvexQzwnd7CE\\nWwu+HRIwDx46lEJJW9C0QGz39Y8//pTyJdv1aye3F1+jX/mjLaZaVHaY5vI1KpetbuxOdshvh5bO\\nAnH1pHYc3vvUqbdSKGvfW+dRXgkvXVyvXP9Z9j2ezOKRQkrbtT06MhbX9KLBVb04sLC4UNyDhEuO\\ncbvGl5fSuq3O87GLvLhS7qd83doyX89u8KmpSeXNHkpznZ5SzuvGhhSS289yMa/iJQm3L4+x3Df7\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQ2EgEE4o10NxgLBCAAgQ1CwJqkBeEiD25F0KyMrU4h\\nmpPImQTjSmGhYVZKKgeVU1k0s4C2ffv2OKOctyMKC3z12i8SiC/JRTyh3LhX4rKEYrteOzo6k0Ds\\n5m5rR+zk5GRyrDo0sp3MXizCWpD1GF1vSQJpnURZ71cXTyQKAa9a9pJ3zKJRYYw7JFZ3Keeucwt7\\nCEVIYgmUlfF4s3poBacsLNYOy+18zmvtUltmh6uZ2mF97ty55KrdvmN7EuT/4z/+IzmDLcr//PPP\\nKX/0V199lRzcdsS6vl8G6FWu3m0a+7vvvpvmsd64PBaLy4N37iQHcXbulsfYJ7H5feUePnv2XYmp\\nO0vicHFvasdfbrvWfmaYzzn38IzGMDY+VrxsICfxshg4vLSXgl1FiK7wc2jx/ApDqlSptx5nz8sO\\naTO7cP58nL9wIQnwTU2NynV9Jv73//7fSVC3k7gs3ue+2UIAAhCAAAQgAAEIQAACEIAABCAAAQhA\\nAAIQ2KgEEIg36p1hXBCAAATeKAGJrvrPQlwhzlnYK8S9pAJbdHtct0xiZhbc8vCL9sWRRdQjhw/H\\nXeW8PXjgYFy/dl1O0IWUE/fGjRvJlXrkyDE5UNtSAwuqi4sPkyBpV+y4wvzahZsWi6drDMJCYF39\\nyhk7R5fkJHW4Yc/Hrmg7ex1Ce6VW0eXzfHpsWbu1Y9aiaF/fdonFTbrecsqJOycHqp29xaKrrcGs\\nfM2ycFreN0P3YyHY+xYkLera6evFQu/AwEByCF+6dCkG7gzELrmqLcgfUB7kgwcPxi65s81/WTw8\\nXruFXddtf/zxx+TwtsC9d+/eFD7Z1/ea72fe9xgs2N9TvuX7WvP88rg8pkNyLr8jp7hdtl1yJOcl\\n95WPn2XrNo8venFA99NOZof1Xlgo8g/7oXT9vLpdGXmZaTpXuiEW9D0X87AT2zzN5+uvv44ff/pJ\\nLzBcSs5sc/cz+cHvPkhc29vbEYgfv0GUQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhuYAALxBr45\\nDA0CEIDAmyRgIXBJeVyXJa4uK6Rv1ofTdg3RLotvebvW2J3LeOfOnRLWDsWRI0fikkIeX792U2F8\\np+UEvadQvsMSVh8ozHFPtbnHYUFuQU7ixeQergiGaUiWsQunrYXfYrHsm2XB5SQeWvC7I8erQwZ3\\ndnbILduXnK3Nzc3V6/yanba2Ngmwu5NTt6W5RcLlrOY0FdNa5yVkerEWWbhY89gKp2tZAF2PnYVQ\\nhzl2n3ZU+3oO2Z3dqy6/cuVKnD9/IbleHX7ZIrLF2tynhUwzd9vt/dvTmNzX5cuXUx7ibySEWuR+\\n++2309ZicXbGeozux1vnMDZPr7XhpS2eWmA+depUvPXWW0lAbayI2AWDlbmnAbzwx7bqywseo7kW\\nIaSdH3tFIC6z9aXycWZSvryZWfC2C9tMfpIofPHiRbnbf0ku5QXdxyzQ+2WFqWndW4nJuc9yX+xD\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACENjIBPJv0zfyGBkbBCAAAQi8ZgIWvR5KPLQo5tXCrIVY\\nSZxpJEmiXUMkftowLeRZ1LSb1S5TO1sHbt+RoDoXt+XYtGtzYmJS5/ekrizk2dmZxOrkoK24h3XW\\n4ynKl5Lz06Gnm5rqNd655Cx1GGSLmeMTEykc8pVfrsScrtMvV+3Ro8dUtzmJ1U8b85rnKxp1PtfS\\n0ho9Pb1JWLUA67y1Iwp7bMF7cnIqzaEIzW2R1UKlWxadZBE29+VtdrI6zLHFX4vDN2/eTGGkLRbv\\n2LEj3n///cTQPC1uOhyy8wxbtC3E4fqU+7ncv+t6fF4shrrvMbmy7927F7fU/pKEUfdz+PDh5DYu\\nt3Ub87Yw7HDVuX1ZILUz+eTJkxKHTyXnsvMZZ2HZ7fPiNmuJtPn8Wtu12+hVAD0jxTXcqngmLHxX\\nn1thVpVVi/vyc7WwsCh3+kxi5vlcVz5jh5Q+r5DSFoh9bN61Sx5LvnbteY4hAAEIQAACEIAABCAA\\nAQhAAAIQgAAEIAABCGxkAgjEG/nuMDYIQAACb4iAxTOHR7bI6tXhfK1nOudvWiSwFfLmsw3QgpqX\\nQlCrk0O4O4nDRw4fie/Pfa/QvZNxTeKm3ZsW6vbvP5CETOcXtijt9sWaevFHKFKyxrWocc6HhVQL\\no9vqCjH17uCgBM9byTV8T85ki552glo4tMP1T3/6N+U73qN8vP0pVHPq8Dk+PJssErqZnboWXu3S\\ntVjsMNg3b95Kou6wxN2ZgzNJcM3OZrtd1xMXLUgOS1z2mC0KO/S2t14tFDu8s92523Qv7IB2qGiL\\nocPKQWyh1/utra1FKG2Ny65eL5mhjy3Qf/jhh0n89HWcv9ii9H21t9Pax3v27K2GsE4d6MP8BsXW\\nwqnreaxlEbmnpyfOnHlHLuTTEsx70hx9XT9Pnq+XPG+XP8vi+o/XreRnFoPcX+pLXXoeHpefWwvn\\nDqmtgOLVS7m+65ij5+LnIq8W2P0M+kUFv1zw+HWLe+377GfYW/fHAgEIQAACEIAABCAAAQhAAAIQ\\ngAAEIAABCEBgMxFAIN5Md4uxQgACEHhNBCzoWWSzSDY7M5vCOzfWr4Qrfp5hZIHPYlsW01pb2yTO\\nbleO3B1JZLNAPDw8ksRhO4jtKE5O16S95bDBvupqUdHC8KCESocEvlsRR+9I3LM47PzGFj/v3rsb\\ndwbuSBCcTsO2+3Xv3n1JQPQ8LXDmcT3PvMpDcR8Wai3YNmvrxWGI7ygX8MDA7Th46KDON+p8i65V\\niKRZ+PYYLLx6zuPjhZvXYnBVtJRgeUvHHrfviV287RKjpxWW22Kwj91+RvfKjmAvHo9FYjt6c55i\\n88+Cp4XNw4cPJyH4+PHjyXns/i0MWxz1vstbWpoTm9zOz4OZWrS2iO3F47fo7NV9nj79ThxTWwuo\\nXsw2i8hlzuX9VPEJH667ur76VFm95unVYvm2ZQnJ6sPir8VhC8Ae7/btSxpbY+rdrMzQQvsvEoOv\\nXL4U538+n5zT5u25+7yXxgbdL82/qbEpHirUup8132PndD527FjK72yOeW6pER8QgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEIAABDYBAQTiTXCTGCIEIACBV00gi4dZhFtS3uFZhzeWyDYlkc2iW0NdfSHS\\nJdH2+UeU+3ZLi4mtctpaBLbo5sXXsOPTeV0d3jovaWwSIR8tW+AsnLD53MjoSHz33XdxZ/BOchNP\\nTDqc9KCE5nsKhTyWhMKFhYe5etra3ZsFz8eFx1VVn3xQw8F91YtRFmQXF5fSOK5d+0WO6H3RrZy+\\nFoiLpWjsOVtItvPXoqsdrJcuXUrbW7duJYerRV8z8WJudj0fVHhuu4AtwtapzCJtvoeu5zF0dHQk\\n8d1tvFjItECa951v2GLnyRMnkmvW4rCF1Vu3bmq9lQRWu4Dz4muMKhz1DbmH7SB23bz4eg4XfubM\\nGQnEp+Owxpfvq+uU731u82u2Qp3m47n52ua+XCcGmt9DrWY2MjKcwosvirE03rQ4B7UZf/vtt/GX\\nv/wlzp07l8Rwh9nOjF2xt7c35VF2KO+W1paY1EsLDj3t5/WPf/xjfPzxx7qn+9NxeW7l/eKKfEIA\\nAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ2HgEEIg33j1hRBCAAATeOIFliah2Us7IPZwdlQ4qnUMk\\ne4A1+ugTx2zhLIuyrmhRs0UOVwtuWTT1eQuYXh0WuLpYFNaB11WLBuD8vhburly5nMTAifGJmNaY\\nXdkiYn29nb3+o87XX46Ozo44dvRo7N69O7lrf52gVyKQric6EmHr6lfKh4bvx08//xjtHe0aw3Ls\\nlyDb2uIcwNvEdb4qDtsxbGE4r3bpZu4WQLskLvdL0N2zb18ckhD7wQcfJEHW5XbQJmYScPOVXb5z\\n586UE7mxsXDPmp3na6HXYrHFVQvAO1TPQqgFXQv0dySw20FskdX3xG3cvx3DDgPuMVogtns5L+7L\\nfXi1aO2+fJ0nLe67eClgXtd9kOZrJ3Qhdhf3z3W8moGflQ7lUPbczC+Jw5pbU3NTNDQ2aIwPI70K\\noHvhsQ8r//OY8iWn8OhF2mU5rRdiUHM7f/5CfPbZZ8ml7TGah/u3+L5PIcgPHzmScimboV3hDl/u\\nnNmel9lbCLfA/uuenyfR4RwEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgVdHAIH41bGlZwhAAAKb\\nloBFuvkFC3dzhcCWZiL50aqrFml2jwu26cyzfVjUdPjjtrb2FArZyqZFum3bJLDqGquENx/7v3Tt\\nLIFaIoyY1/iuX7+RBOWlhyuCZGtrswTUAymMtUMtOwSxBc0eiZfHjp2IM2fPJpeoRcYXWVZGUWm9\\nrZITt8In9+nQ2f/8/PMYUl7lq1d/SaLu9u07U/7k+/eHkxDrXL4ObXxbrt0hibBZGDYPi5An5PA9\\ncuRIHJWwffjw4Tik9YDcq86l7BDHvld2zVrEtUBtQdPCpt3BFsLLTt48rrxtsFCv+9Cs1ddzH84B\\nbTF4Rg5hC7gWmD2myxKGv/nmmzj3/ffJ7ey6eXHbFM5aYcjtLB6VMFsIxHpQ0p3SxmKvj8RoWQ71\\nBeWPnpTwasHWDmpf1yGh3W8WptPcNAaLt3v27Eks3nv/dxKhuyQKO2R3c3p+/JLB/FzhsvaYHF7a\\nLnK7iMvOYAvQdsWPjY0m0dd1LQofqXA1Y4fWthhsvha7/aw6z7Xn5LFbBLew7jGxQAACEIAABCAA\\nAQhAAAIQgAAEIAABCEAAAhDYjAQQiDfjXWPMEIAABF4xATt4TN8oIAAAQABJREFUFxcfpty2Fh+9\\nSBtbEXGd89UFL7hYULRw6RyvzU3NSYSzkJgco+7TSmJlsThc/P//s/ce7HUcWYJlCI4k6Al6B4De\\nyZekUlX3zPT09O7s7v+d75ueb7a3ukyrJFXJG4ree+8JENx74uGCyacHRwuSJ6uS6SLDnAyMqfPu\\nDdrMuy1JPRZpp8cehsQkynb5oir0lkV6YOTetq3bqihd0L8gpHNXFcQIVdYfHhwcqmUf1fYkZw35\\nGR1ENtOPrq7x/6s1+nr/3kikaz4TcvFaSNALVdgOxLrLpMs+e/Z8FaPIUcQoMpYN6bly5coqkxGW\\nKYhJ4cy4kL9E0cKQDel5PwQmInQsvhXvkyKZFNQI5qkkOEK5uyfSNEff83uy1i6SlzTfLclbQhDf\\nLsdDYLPWM6mwabO5IXWRsqz9TPrmM2fOPCZ6Kcu3zY2x0l9SOxMtjSQnapk62gUxbfFNt8W6vw9C\\nhm/ZsrV+O+YPknbJ4iVlcUSG37wZ6y+PZxO/G+s5E/V7I9ZpTq60DQvYbdq4qXz44Ye1PRgPDw9X\\nKbwpGG8OsQ5j5DCRy7nBn417ySqfeZSABCQgAQlIQAISkIAEJCABCUhAAhKQgAQk8CoRePS/fL5K\\nvbavEpCABCTwfAmEyyMlM2sRPxxPFYwU6+7uCkHWHceQZFjbJ9yoC9HW29NbI0ERuAhE1gduSd9G\\nxdUP8w8txn8alhjht2zZkhpdS9pfBN/AioEabco6vaRlRiQiQpGnpLZm7WOiiol4fdKNWFj+kwy6\\nQpjTTl/IWY651Ujr+IdU3QcOHCqHjxxrrZcbTIloHh1tRcsiezNKlgjWnTt31rV8t2zdUjZu2FhF\\nL8+Rv4w55TDtEOWN1GW/F3VSBrnJzjrElM8Ndk1RW8/HvW3eT8ZNzncjOpeoYqJ8aS+3rI97P/+8\\nPyJ2L5UffvhhIrqWOrPefIfrFMSIcdZgznWWU+ZSJuvmHKmLBGfdX+Q1U2B+jHPxosWVzfLlK2qU\\ndia9RiQT9cs7zXTlMGSNZCKAd+zcUftBZDJRwcj0xZHCmm/YEv0tAZ/9JpI6+5X3PEpAAhKQgAQk\\nIAEJSEACEpCABCQgAQlIQAISeBUJKIhfxa9mnyUgAQk8ZwLIT0QtQizjPuO03iPCkxTBPElB+iTd\\nITq17iGiaYeGEHtIU9qoDVcvHKmna8RytFLlcNwc3xDWiL1tkYb597//h7puLDJx+YrlIf1Wh0Rc\\nkEWf7ZEu0OfxTiIz+/p6W+maq8TtaTGqZWJcD5DfEXUbEcVsCF4E+eLF/TXt9eqI9t2wYX1EDQ9W\\n2b01omWJbCViGJnZlLW1gvF/4IRkJVqW6FtELRIU+c3e2/tIVjffy3O4Uwfcc2OdZiKtEaIpokkH\\nnRK6fpvxwvQr+3br1s0oc7NGGPM479dvm5U3jtRNmeYx5XqrXtZJ7qr9IFX2hlh/mW9Nv8DfE88W\\nxdrO3FsR37u7Ee1LM8jm0ViXmGjt3HiXyGrmCGKYbenSZbWepkjP8u3H5pjyvL2M1xKQgAQkIAEJ\\nSEACEpCABCQgAQlIQAISkIAE5joBBfFc/0L2TwISkMDLIICvRdyGXKtONvpABC5pge9E+l5EJHI3\\nBeJsu4hkpI47EQ16L+ojjTV10cZIRMGSVhivF164SkQigKuQe+SGx5t8q0bJbogo23fefbfs2b07\\n6iHCOdImR6RzS+BO1rtfVTZZwV/dr282XqdvpMrOyGTk78jIuPiOt3nOznMEJeveIimJXEV8Dg5u\\nLsPDW6q0RHjybOHCRVU613E3eoBwzXtwRAyzPi6SmO9DG4++yyM5ShW8mzt1cE4dmU4abqRXJsU1\\nojmlaf1BQHxvyjc32iFimSPfjL0pkJtlm+e8wzhph3TY9Jm2clycI3O5TxT0+nXry/Yd22u6bd7J\\njeewJGoc5rnl2PJHDnmffrKmMHUjwdm4x97cmuPMPvG8eb9Z3nMJSEACEpCABCQgAQlIQAISkIAE\\nJCABCUhAAq8SgUf/a+qr1Gv7KgEJSEACz5VAV8jDnkgj3dPbU1Mi09j90ZG6ZuzpM6fL+QsX6rqw\\nTSk3VYcQa+wp25CIt2/fKjdi3dg7d+7UV1O+kRIYOR3/xP1WKmrSCSMs+xf0l7tRPl5vbSFpSXfN\\nfSRhf/+i8QetQ5XctB3/eTzaGWHbErfZbvYtK2j2N+89fnxkiEkxPX/B/LoWLhG/i0I+Xrs+WiU6\\n71B3ytcPPvigECGMHGZHyBIhS7QwshR52b5lH7nf7Bccb0Zq6bre7vUbIddH6nOEJ21CMMtnHc1x\\nkq6ZdYBJ80zELeJ23bq1VWIjUFOc8k5P9IsI35TG9KUvpPjw8HCVvVWKRx03QliTPjv7kO1x5B7l\\nSH9NBC9jR/DSFtHCb0WqcTbKwYEoaJ5RBpE+MBDiemF/LcM/9HfJksVlcQj15lykrdbYY/wTpZlN\\nscUzjs3y3E4+ecx+84wt73Pe/ox7bhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEXhUCCuJX5UvZ\\nTwlIQAIvkAAScEHIuf5Yr7cp0o4dP16+/+77si6E5qZNm6q0pVspz1KctV+3d300ZPP1iHi9GnKS\\ntMRsSLuM/kUQInW5O29eRHtGFOmKgUglHKLw6rWrpbQyNVf7NzIyWtfeJXr20dZ6u3WNEIz/TPjc\\niZPa7+zro3dbZ3k/x9T+vNXj8Rai8oUhLhG8SM9Vq1eFuL1ZpWu+Rz2I4N/97nflo48+qsITUZrR\\nssjOpnzN9zg2+5D94n5dazckL2mmb4VwZ81oyk7IWQqNb/leZRvSHDHPusInThwvJ46fqNHHROdu\\n3Lip9o31eHNjDiBqF0f66abAXrZsaXn//fdr5PaaGBvlEM5Eh0/0IfpDnxDAPbHmNJKZujN6GAaM\\nnTL1y4yXb71DJHhPfYf3mB/Njfrms6Z0zFV+0JBbSwpHbfW/j753fc4PD6KN9o32mlteJ7e8bpZp\\nP8+y7fdncj2T+mdSj2UkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUxH4NH/mjpdSZ9LQAISkMBr\\nTaApqJBypAAmapNo1wvnL4RQvB2yrjtEYqSGDgHYnkq4+X6CQphxv/3ZzRs3ytkzZ8rp06dqimTK\\nz490wcuWLakSEmFY7W/8i1gkSpSIU3aE5r27rahjHDLr496/F2mp40jaa7aW60P40XZLF1Zb+Ngz\\nSlL2cTHYujv5/dbzZr2tshnNOoDIDnbHjh3LquqRvlGGMQwPD1e2jxUYv4BZcuPWZP2rxaNsa93m\\nWG83onfZkkG9aLBH2OZGhO/p06fL4cOHy5EjRwtR4WykcyaqGXk7b978LF77jfxeEVHapHXOjaju\\njRs3lr379sU82VYl+bWIRr4X9ed350hEOmnCmVcIZupAEiOdm8I5653qyHj5onw1xkSdNdI95smj\\njfTZ/HAhZ9GjJ9yrD7g1/umbjJvnj96a+mwyMfwkdU3dkk8lIAEJSEACEpCABCQgAQlIQAISkIAE\\nJCABCTw9AQXx0zO0BglIQAKvPAFEVlNyEa3Jur77QvydOnWqSriTJ09WcTgUcpMoWcpMtjXFWMrO\\nvHc/In3Pnz9fDhw4UA7s/yWiX29VT0dUMm1SN0K4uS1duiTW6R0sg0OD5fvvvy83b1yvj3F9rHuL\\n8Exh3RShrTE9LoARhDHcZ7C1KmmOD2FKimnWEG72g8YQuPRzJKKnOae/GTGcdWSnklUe8377EelK\\nHUjSrIt62akTMdtpIyU1HL/44ov6HVjHmA1pmymyEfO5IXRXxXdh/WQkcm60y3WmgOY73Q8Bzvhq\\n3xHD44W5zr0rUkm/FWm52xllvZMd6/fk+/2qQKvuvE25sdhb5Zklj7ZEknenY5xv1rryosOx+TzH\\n2aHYlLeyjpn2acrKfCgBCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIYBICCuJJwHhbAhKQwJtMAHFH\\n+uChoaHyySef1NTJZyLil4jPd955p0aNpiBGanUSWnm/+YzUw6dOnSy//PJL2f/L/nL06NEQpqOx\\nhvCCsmXrljIc8nnlylUTqavzG/T3L6wRt4ObB0NGrijnz52pj4iWRXZejrTGly5fLjciMhnJ2RSP\\nzfazvjwiUhHMCM3RUcRqKxKX91n/ti8ifvsi4nWyOlLoZX1ECCNM4ZTCNp9xRBCPRkps2qXvWaa9\\nnpm21x39REoz5hS3tEGa5zMRIcw3Q+oyFtqEPzJ4//795cu//a189dVXNdKZ9qkHCb9+XayFHBHQ\\n2Tf6zbhWRATxQNxvRhDTTyQxz0mxzca8yLlRb0zzT3PszfNpXht/3NK8KX0fe2dcEP+qzvHCv5bM\\nj7097UX7N2q/pgLa5juzj/LNx78795ljME65z3WnOqbtiAUkIAEJSEACEpCABCQgAQlIQAISkIAE\\nJCABCcySgIJ4lsAsLgEJSOB1JICwapdTyCvk4scff1x2795d17lFZq1cOVAWL1la5ocUnGyjPna2\\nZr2XL18qX/39q/KXv/yl7P/55yp2KbNixfJoY0/ZtWtXrR9ZlnXwPsKRvmzavKmmaD4SqZFJdY3Y\\nvRxi+HikcyZd8vr168uWLVuqsKTeqTZEKnL57Nmz5dKlS1Wcso7vvbv3qlAlkpn6NoeU7u9vpVXu\\nxKl5D2YIVGQrrNiIls2tJaIRxGOPccnnTVZ5r3lsf057ue4xaaHhRP+Phnj//Isvq4Dc9/bbNcL3\\n/v175dzZc+XHn34q33zzTfmPzz4r38bx1q1bta979uyp8n/r1i01Wpi6c2MsCOjFERk9rxE5jvh8\\nUOV6S6znmJtMso6ZHNvH1/5Oa0pl7G8rfTTvvBWMH91tRYizCjX9eJqN95t1tNqamVrmPX58cDvW\\niEbKM09ZK5q1snnWC9MQ+0Rfk5KcqHM3CUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAIvgoCC+EVQ\\ntg0JSEACc5zAZGKO9WERpexEoFIOeZtbU56132uWq1GtIcj2/0zk6pfl7xG9ytq3o2MPy4L588rO\\nnbtqOmvkbkbCUh96Dx2HrFwRIg1hyz4QMvT8+XOx7nBE5IagRPIeP368nDt3rmzatGlCENM/dkQm\\nR+Tc7RCiN0LUpRxmrWAibVPgEWWLrBseGiopV1MQ06epNgQtsg+ZvXTp0lpnMx9yRpM+fNhaKznr\\nmko8JuNO3wgutLM62mNtY/p95fKVEMTHIn3058FmpNyM8SKP+QakCydq+Lvvvis/hSjO1NKbN2+u\\nPwR47733ytqoBwmc7dJH2iEqmvoXhijm206MJZ7znbjOjfP2MTXro1yn8XS6l3XW99vcLCm0iV5e\\nsGD+Y+I6PnWrU48OreucUFnpFEfaax9DszhjzDGlCGbuwJl1sZmXrNt9NdZkvnTxYjkbc5NzypD+\\nGkFMOu+c0xs2bKw/jmD+p2hvtue5BCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIIFnRUBB/KxIWo8E\\nJCCB15gAIqwZUcpQudeUaCnLeNYu+pCvf//738tf//rX8tl//Ef5NgTlzdt3In1zT4jhveWjjz8q\\n7777bhkKKduUY+kDEZJLQ04iXjeGAF6/fl25euVyFcS0h3hD8l64cKFG53KPDalNBCeRmxyJFEYk\\nn4r1lE9FCmbWVT5x4kRdE5n01Mg7ontXrVpZo5m7Q+Lt3bs3rlfV+hhXjjPlYV5TAFm5cePGmip7\\nbaypTN0pUnnOONrZcD85cj6bjboQxGuDC5J3w4YNNb30jVij+fPPPy+nY4w//vhjTUGNuOQ7EGkN\\nJ6Qm78P0N7/5TflP/+k/lQ8++KAsDWmZW/aLcghi2kJqkrIankhQxtQTApljbpTPPe+1H3k+2631\\nxqP3mJOLFi+KubH0sR8WNGV1wG00E+dVEj+qg4fNb5iFp+of7O7cuVN3fnRASm++9bn40cLVK1cn\\n2DDvLgbr8+yx7jZCnnfpH+nBichmngxHavXdu3fFXNtX3omIb4T/VO1nHz1KQAISkIAEJCABCUhA\\nAhKQgAQkIAEJSEACEngSAgriJ6HmOxKQgATeAAKdpFlz2O0CsF1o8T4S7WJET7Lm7X+EGP7ss5DD\\n335Xrt+4GamXS9kyPFR++9tPy28+/E0ZDMGJhOQ9BFqtLyQifg+XiEwmunJZSEoiWbtCDuaG2EWG\\nEg184sTxeGdjlcJXQ9wh5xCjyDkijY9G+mXKEU2LVL5+7XqsDztaq0Jykh461/Xl2BTjnZg0x03E\\n9Zo1q8vQ0FDdjxw5UqV0CkuO7NTTqa4cT/PYrJ/7XOe7nCPUiRAmRfSFkJBIySOHj1RJefDgwTpG\\nIpuRuchMWLEhs4ein++//3753e9+V94OMYncpmz7RjukzkYm79u3r7YBOyK+iVwmVXKTE+XZm1v7\\ndfPZTM55v467US1jR1gj8FesGIio3N5Y0xoBC99gxX9SXPMefpgH41v2KY95P498K35kUPc4vxvz\\nmXnEDxKYU/yoAFGOcOdbMwe5n/KcI/KYaHXOm21nG6zHzXfihwvXr9+oc3t+sGauJ1Pem6yPWY9H\\nCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAIzJaAgnikpy0lAAhJ4wwikkEqpNVtJxdq2yNi/RTpp\\n9i+//LL8+MMP5VoINlIDb960IdIaf1L+6z/91/J+RK4uW758gjBtT7TfEII1WjWkYE+IwMbtKl0R\\nvt9//31EZS4uK0MWXg4xh8QkYpYjMo/0yxcuXqiCE1maW19vX41EJQp3x84dZVekvEa47tixo6aM\\nznKdjtlPntE/RCVprnfu3FmjSjNqlOe0iahFOD7LbXmktf7oo48Kgpr0xUT4IhwR9EQOE7WaG89I\\ng83YkMO///3va5R0e2puyufYOPIeZf75n/+5bN++vYpQIorfeeedsjoEbcrMbOd5HLM/WXd3T3dZ\\nObCyrI/IaVJjL4n+XLp0sYpYJHEMICJ1H/2QoE6aSSRx1tk83o31nC/GfKmSN6TwhfixA1HnzLWT\\np06Wy5cuV8YIYCRxfmu+b/7d1DWoY7Lybeg/O89SPjMn+Dvhxwv34ltV4R5yeNu2bRNMs6728Tf7\\n6rkEJCABCUhAAhKQgAQkIAEJSEACEpCABCQggZkSUBDPlJTlJCABCbyhBFJoMfwa/RribSzW0E1h\\nTBRniivkJxGqRFEi0khv/Oc//7mmlz5w4ECVaaTWHRraXD6NyOHfhZzc9/a+smHjhkhT3Pq/kprt\\nVeQEfI7bYN5FtPWEGExpRhmEHBKYZ8hQIn+Rekg3ojMReUSWslE/fSZamejTNbG+8soQnEThIoiR\\nn8PDw/WcyFTqmsnW5IEw3bVrV+0THBCAbIsj0hbRSj+fZktG2eaCqHNwcLBWiXAciPWaEcQwaHJi\\n3EQIEwmMgESCk9qbdXDb+5TfNPvJNbx2795dU1nzAwDqYn1qxtWeYjrfe9bH5g8D+KEBKaaXR79I\\nM71w4aIqiEdGRmvULmtSw37RooU1Irc3fgjwVoSuN+ugfzBibiPTifRlv3XrdszjS+VkpI4+E/OI\\n9OTMJ74nOymlYZB84ZM7XNgR6Mwr+BCxDX848Q5zFrHMdyL9NDL/WPQV0UwUOP3JjfLt3yOfeZSA\\nBCQgAQlIQAISkIAEJCABCUhAAhKQgAQkMFsCCuLZErO8BCQggTeQQMoppBbSEYGF0CLtMHIR+YWY\\nRaKRavfnn38u33zzTRXEnCNvkcdEmW7buqV8+umn5b//9/+zvPfe+/V9IoLDmlVxlpINzIgx/HCs\\n3Fupd4dE7olU0xxrhGi9W2rb9IsoYdqnDkQpspp2c6O/pFGmz0jSXC+YqM3lEcE8EJG1AyH0SGGd\\nIjfHnnXkMaUdR7a85py1ZRGpCMBDhw5VkYgcREAjDJHTz1KoUhcie2hoqNZNVO/FiKS9HZKzMkQw\\nxn+IuEUEs57zqhj/ihgzY51ODjMmNsZA9DGiOMfLN22OpVXyxf3bi/SO+ddb50UrWnhs7EE5evRY\\n/DDhq9K/oD9SQl+JNOYflnURady+MaeZy8wdRC3pxxHAyGBSRnPOfeYX6chv37ld51Z+d9gxd5hL\\nsIQR6aGZS2tjng0Obg7OKybkMPMpvwl/F0TX87fy/fc/1G/Y19db/04mm3ft/fdaAhKQgAQkIAEJ\\nSEACEpCABCQgAQlIQAISkMBsCSiIZ0vM8hKQgATeQAIILQQwa9zujzVTEWdETxIhSaQsEZIINmQa\\naZ7Zv/7660jvfCTk2+1KDCm6Y8f28vFHH8e6w5+UDz74sArN3r55LaI44JZrnZTwvHl9ZVUIVoQu\\novLWrVjLOOQoMg3RlxHMVICoyyhOxB1SEzG8ZXg4IpY31sjXtWvXVrG3MiJuF4bUQ7LyXqcthWDz\\nWfs9rukLwnxDyMh9e/dWOU679IXoZEQiArEpAJvnzfqnOs93sk2u6T+RxPDh+xAR2+wjrBgf8rs9\\nMjrLZb3tbWc7COEXkU66vf3mdXOaEEXMWNasWVvHfu3qtXL12uX4ccCdciDm6sO6jvBojapm3Aui\\n7FtvdZW78QMCfuiA+CXinbWymb9EnB+NSF7mOJKYZ/zQIPnwIwOEMG0uW7qsDKyKFNfxfYdCzq+I\\nOdYdfPsX9kdU8/I6x3jG/Mt52hwHEc48WxVR2MwL5vTmzYP176rJeLJv0qzLcwlIQAISkIAEJCAB\\nCUhAAhKQgAQkIAEJSEACMyXQ+X8Fn+nblpOABCQggdeWQApBBoh8JYry22+/Lf/zf/7PKoBJw0t6\\n4Q9i/WCEJ6lxSZe7PyKGj4RgI3qWNLnILaJ1We+WdXJ//7vfxfq8O+q7vSFNH22k6H10lUKumRC4\\nPyTzli1byrmz58qBA7/Emq/XqrjOdlKkIa5ZL3fDhvVl/br1ZXW0v3LlQFm7dl0VcaRgXhgSb0FE\\nlyINkaa8O1kkbJPFox7++izbpx76sCPWIabPyHPaQAYijtsjiH9d08zvZJvNN2qUcLSfDHnWLNc8\\nz/c63ctneZwphyz/PI9I4pwuS+IHCvxQgTWAYX/w4IEQv5djHerLNb15d3dXrHm9qUapE909Ovqg\\nnIv5jARmziKG2RHCSFvmLhHojJf6EP4Ifn5QQGpuZC5zn2hwpC7zuymCe0Ki90RkMe8wv5C9yTcZ\\ncs3fTf7Igv70xTukNye1ebsgzvefJ1PrloAEJCABCUhAAhKQgAQkIAEJSEACEpCABN4MAgriN+M7\\nO0oJSEACT0Wgro8aqXe/++678tlnn5Wvv/q6jD4YrXKLCEuiKhHICDciMVOsDawYKINDg3WtWwQx\\n693u27e3rvsbi8GO9ylUX7V9qftatxFi1NPc5oVwQ/jujcjcS5FCeW2IOUQ1kcOIPKQaR6KFEbFI\\nO6JpEXnIWVIqr4jz+SH8ZrPNRM41y3COEEZEE12NYM/+tadznk0/piqbrGg796nK86z5znRlqZPy\\nuVOee81jvXgJ/xD9TXQ2/SF99tq1a2ra5sOHD5UbESX8fczboUj1jEBeFN/j3r375VTMVdYRRhBz\\n5AcORFyzpRTOqHPmz9JlS8u6+IEBP1BgbnGPtY8RzkheyvLebDb+bvghA7J5aGiovoo0bp8jyXk2\\ndVtWAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkMBkBBTEk5HxvgQkIIE3nEBTSpGG96effqrSjUjL\\n+yP3S1cIXiJjv/zyyyoNm+mMSb+LSNu3b1/5zW8+DEG8t2zdurVGWhK5GyYv6CKGUwDHNef1fgN8\\nXLeEZCu6GAG8IqTr3pDMAwMrYm3Zq1XqIWDpL4KOnfYRwshZhBsRoKT+7Y5nzcjMRkvP5ZQ+EUXK\\n1uT5XBobrxReM21rpuWyv5TP+mf7btbxrI4tNd2qrT9EK/Nr9epVsfbzrojy3Rr9HKtrD586dapc\\nuHip/Nu//VtEwH9XumIOkV76Uty7GpHCpI9m/rD1xlrYq9esrj8qICqYdN07duyoQphIYVJLI4KZ\\nU8hdRG7OudnK4VbPW/8yR1IKP009zTo9l4AEJCABCUhAAhKQgAQkIAEJSEACEpCABCQwGQEF8WRk\\nvC8BCUhAApUAQpD1bBFtxyLaElnMNhYCbmx0rEbvcp0plHM91p2RXnnPnj1l39tvR/TmYI24fEx+\\nNeVwvI8qbko/6szriFuNAi1JPK+vt6bgJXqTdZGRe6SYruVDWnd1vVVlG9JtMonZks4pp+urtexk\\n5VslnuzfTnWmZH2yGju/RTvUy9asv/1ep/50rrHz3ad9v3Ots7vLvGh+PVJIL1y4oO6IXfp4KKKH\\niWq/efNGpIy+Xk6eOlPORGrysbGHdc6OjbNCzBIBTEQwc3d4aKiuUU09pJJGEhPhyw8OkMLM88m2\\nZM3zPJ+OF89zn6xe70tAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISeJYEJv9fOZ9lK9YlAQlIQAKv\\nLAHk60ik3iXN9M2IGGZt1twQWwg2oiuJGN4e67PuDinMOq2DIdpIAU3EJWLtMTlMBVi+CQUckozL\\nDltTsGUZjrSLrEsRl69m+Tzm/Txm+ebz5nmWe57H59Vep3qb95rnz3N8L6LunAvtbcWULCsjyvyd\\nd96pEe43Iq30z/v3Pza/kMPMayKCmavM3eGhobI5ZPAG1heuKaWXhXCOSOH+BXVtYObvr+ZwW+Od\\n+Ha61/aalxKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEXigBBfELxW1jEpCABF49AgiueSF4iaIc\\nHh6u67iy7jBrvQ6ESOM+kZZDg0Nly9YtVbixRuuqVatqaufmiJGzj4TZZIqv+UbrfLKS1PWovl+/\\nx50Uwp2eTvdup3de1Xtv0lgXL1lcU0OzNjXffzgEMOePIs1b84Y1opnTQ8jhWAt4zdq18WMH1o1e\\nNGmkcHM+TcV0qmev6hyy3xKQgAQkIAEJSEACEpCABCQgAQlIQAISkMDrQUBB/Hp8R0chAQlI4LkR\\nIGpyVYjgjz76qMyfP78K4WuxdispeRHDRF8ihJFtpH1eHOKYcp2iLV+0NGvKPAC96Paf20ex4ikJ\\nEF2+KYQva1APbt5c1xpmjexca/gt1qKOfeHChXXekmKasqxVzbydap5M9WzKTvlQAhKQgAQkIAEJ\\nSEACEpCABCQgAQlIQAISkMAcIaAgniMfwm5IQAISmGsEkKspw5Bn27ZureKXdNK3b9+u6XlznVZk\\nMWmks3yOpSlo259lmac5Nutvr4f2nkeb7e14PfcIIHn5kcLaiAjmhwvI4ZERIogf1M4yL7q6uktf\\nrGdNuU7zJOdWHp1Pc+872yMJSEACEpCABCQgAQlIQAISkIAEJCABCUjgyQgoiJ+Mm29JQAISeKMI\\nsNbvqkglvSQiLUnHi2jr7e0LwdZXoy553kmydbr3LME97/qfZV+t6+UQYG5OtVZ1e69SCOf9nGN5\\nzPseJSABCUhAAhKQgAQkIAEJSEACEpCABCQgAQm8qgQUxK/ql7PfEpCABJ4zAYQYsowje4o20vJO\\ntjXlmkJtMkref5EEch7msVPbuTZxPqNslm/O6XzuUQISkIAEJCABCUhAAhKQgAQkIAEJSEACEpDA\\nq0xAQfwqfz37LgEJSOA5E0CSpSSeSVMp1Sg7m/dmUrdlJPC8CDTnLW00r/Nv4Hm1/arWO504bzJ8\\nVcdovyUgAQlIQAISkIAEJCABCUhAAhKQgAQk8LoSUBC/rl/WcUlAAhJ4RgTaBVmKoaYAap5ns53u\\n5TOPEniRBHLOtreZczSP7c/zerrnWe5NOsrkTfrajlUCEpCABCQgAQlIQAISkIAEJCABCUjgdSOg\\nIH7dvqjjkYAEJPAcCHSSQZ3uPYemrVICT03AuTo7hNMJ9dnVZmkJSEACEpCABCQgAQlIQAISkIAE\\nJCABCUhgrhFQEM+1L2J/JCABCcxxAsq2Of6B7J4EZkAgJXCnv+dO97JK3sv9wYMH5d69e+Xu3bt1\\np8y8efNKf39/WbBgQenu7s7XPEpAAhKQgAQkIAEJSEACEpCABCQgAQlIQAJziICCeA59DLsiAQlI\\nQAISkIAEnheBlMLN+rk3lRBulh0bGyu379wp90IIj4zcL1evXiunTp0qZ86eKefPna9F16xZU4aG\\nhsru3bvLihUrmq97LgEJSEACEpCABCQgAQlIQAISkIAEJCABCcwRAgriOfIh7IYEJCABCUhAAhJ4\\nVgRSBjflb/N8qnZ4d3R0tIzE/iD2jBK+fv16uXTpUuHIvYsXL5ajR4+WEydOlDNnzpSenu4yODhU\\nbt26VdatW1eWL18+Y/k8VX98JgEJSEACEpCABCQgAQlIQAISkIAEJCABCTxbAgriZ8vT2iQgAQlI\\nQAISkMBLIZBSmMab51zPVA4TJXzz5s1y7vz5cuXy5XL9xo1y/dq1cvnK5XLuzNlyJITwhQsXyp2I\\nJL569Wo5d+5cuXLlSrl/736Zv2B+XJ8vixYtKh999FEhBXVPj/9PTfi7SUACEpCABCQgAQlIQAIS\\nkIAEJCABCUhgLhHwf7WbS1/DvkhAAhKQgAQkIIEnJNCUwM3zrA5pjADmyH5/ZKTcjmhfooFH4vz+\\n/fs1ffSlEMPHjh0rZ8+erRIYAXw57nF95MiRGkWM/M26aKunu6csXLiwLFu2rCxevLj09vbOWEpn\\n/zxKQAISkIAEJCABCUhAAhKQgAQkIAEJSEACL4aAgvjFcLYVCUhAAhKQgAQk8MwIZIRwJxHcqRFS\\nRt+NtYNv375dj8hgpC/poc9HtDBpo0kNzXNSRxMpfP7suXLj5o16j/LsiOTcEMKkkh4YGKhRw4OD\\ng+Wdd96O/d16v7u7O4t6lIAEJCABCUhAAhKQgAQkIAEJSEACEpCABOYQAQXxHPoYdkUCEpDAm04g\\npdfz4DBTkfY82rZOCcyEQPv8n2rOdnrG+0T2ZnTvaJyPhtBF/BIFzE5aaFJII4svRqrowxERzPrB\\n1yKNNPczdTRrDRNZnFtvT29NIb1ixYoaIUyU8Nq1a8rw8JayevXquLcopPD6sm3btrJx48aydOnS\\nfNWjBCQgAQlIQAISkIAEJCABCUhAAhKQgAQkMMcIKIjn2AexOxKQgATeFALtMoxxd7r3Inh0km0v\\nol3bkAAEct7nsUllpnOTdM/IXaKCkb03Yu1ghG9GBJMy+tSpUxPRwshfyrCeMAJ5dGS0PBh7UPvS\\n1dVViP7t7++vaaKXL18eIni4bNiwoaxZs6ZGDC9btjTE8JqyadOmgjSm7IIFC+px3rx5rj3c/Iie\\nS0ACEpCABCQgAQlIQAISkIAEJCABCUhgjhFQEM+xD2J3JCABCbwqBFJmzVRgtY+r03ud7rW/57UE\\nXiUC+XdCnzvN73zOs07Pc6yUy5100aR7Rv4idxHDpH4mTfS5SAt94eKFKopr2uiQxBciZfTRSBl9\\n8uTJeh85nG1luwjh+fMXRKrohVUAt6KCW2sJk0J6aGiorF+/vqxataogjBdFeumlsd7wypUr69rD\\n2U+PEpCABCQgAQlIQAISkIAEJCABCUhAAhKQwNwnoCCe+9/IHkpAAhKY0wRScM20kymmZlr+ZZTL\\nMXFs728+a95vnr+M/trm3CSQc4Xecd5pPvFsuvmD/CUlNDvn166FCD53tqaGJiqYdNDIYiKHz507\\nVy6FEL4ynkp65H68e+9ulchEGeeGEF6yZElND0066PkR/TsQkcBIYHaihZeFAO7t7a0ppQcGVkba\\n6CU1SriPCOF4nzqINnaTgAQkIAEJSEACEpCABCQgAQlIQAISkIAEXi0CCuJX63vZWwlIQAIvnUBT\\nek0ntqbqbAoz1ktlrdQx9hBY7Plsqvdn84x+IrJaR8RWV02By3Vzzzq5x5bHvN+81+TQPG+Wab7n\\n+etFIL95zhGu8zxH2rxunufzPPIu877+LUR0cK4hjBAmTTSRwLlGMNG/pJE+ceJE3Y8fP14uhhAm\\nkpiU0ey8l/2jjZ6enhrlm6mfEcJECK9duzbWDV5XI4JJD01kMPd4RqTwokWLqiDmPZ5PJYOb7U01\\n1hyzRwlIQAISkIAEJCABCUhAAhKQgAQkIAEJSODlEVAQvzz2tiwBCUjglSHQlD+cP60AQoaRJjej\\nHhFguV4qqXN5lpKsPIzoS/5p22bSB8ogtdiRZPPmzy/9IboWRnpcoic5LljQX/r6emcdDdlsHyZN\\nRs2uNss173s+9wlM9k2bPc8yOQfye+exWXayc6KCEbtXI+oX2cvfAyIYKXz27NkaFcyRa/4+eH7m\\nzJkaOZxRxdkP2mW+E92L1CUFNBJ48+bNda3g+fE3QGQwIpj1hFeFDF6yeHH8DfRFiun59R2EMNfU\\nwUad041nuueTjd37EpCABCQgAQlIQAISkIAEJCABCUhAAhKQwIsnoCB+8cxtUQISkMArQwDp1C6H\\n2kVQirE8MrhcIxV5hejiOqODOWbKXIQXQoyIyCtXrtQoSMqnJKZsii/qbZ6394PnzS37zRE5nAKs\\nv78/UuUurbIMUcaONO4NIUY5pFjupNflPXbOud9sl3NkXLbVbH+qc8bRrGeqsj57OQSac61TD9q/\\nX/s171BH1sOR+cz8zp15PhJ/GzdDDp+/cCHWDz5bTp8+Xf8WWFcYYYwIRg5zJEqYLSONqZN2mZdI\\nXX70QOQv83vhQub5srJqXBBv3LSpznnm8uIQwisinTRzn3cQw536Xxtr/NMcT7N887xR3FMJSEAC\\nEpCABCQgAQlIQAISkIAEJCABCUhgjhJQEM/RD2O3JCABCbxsAim2pusHsitFMOIXGUw05IUQXshf\\ndqKDUxI/DEl2N8QYUgwpTLmrcbxx42a5c/fOhPyirhTE2Zc80qfppBTPc0egpSRGkJE6FzmGJEOg\\nLQ6htiAkGRI4oy85pxxlVg4MlJXjKXcfr2teiLlHkZbTseJ5U7Jl+enGkuU8vloEmPP8bSCCkbr8\\nHbBG8Pnz5+tOJDDPEMGsJZwyOCOF8++KMs0NoYsIRvQyn5nLRAOzdjCRwkQNEx2/OOTvspjbPEca\\nZ5ronMM512cy//Jvr1m2ed7sn+cSkIAEJCABCUhAAhKQgAQkIAEJSEACEpDA3CagIJ7b38feSUAC\\nEnguBDrJnvaGUv6k0ERwtdI+PwzZO1KjIBFely5dqqlviW4k6hGZheBCdqUMQxhPCOKIekQqUx5B\\nRllEGDL4RW5EXKYAXhwimPTTPQji8YhMhDICDhGHfCMlL5KN+7yLpOO9JXEv01X39c0LwfwoqjgF\\nHMfc4Jps816nY36jfJbvcD/P85nHyQk8KceZMGbO5t8F7eQPGvg7YF6zM8dJpc78RwSfPHmyRgm3\\np4zmb4UfTPC3kRt9YJ6xNjA/WMjod+bkpo0by7K4n5HDrBuc85TyvIcQ5h3Op9uSUx6nGv9Uz6Zr\\nx+cSkIAEJCABCUhAAhKQgAQkIAEJSEACEpDAyyegIH7538AeSEACEnihBBBAKYFoeDrZQ1lEMGmg\\nr4fwuh3y63oI32shu5Bax44dqylwkV9IXwTxRPnxCEnkWHu7Oej2+9kfjvyH9YcRrIhZdqIf2bmX\\nZalj7EGkrg5xnVHMKeuynfYj5RBy9Jt2Wv8dP45L3JTBCGCkG1GZiDqEG+JtICKLN27YWNZvWF/X\\neaUc7xDVSZlWKt+Bmu63vf3prhlTpy3v59izzGT38/mrcMwxtPe1faztz5vvNctyv/ms+V7eb5Zv\\nPp/unPnFfOcHEjdint+Lec/cR/By7+jRozUqmGjhjBTOyHrmHRK5+aOJ7Cv9YY4xd4gI3rJlSxW/\\n/JiBHygwDxHE62Nd4fqDhfH5SAT8/BDC8+dHuvTenvq3QV38rcxka+fQfj2TOiwjAQlIQAISkIAE\\nJCABCUhAAhKQgAQkIAEJvBoEFMSvxneylxKQgASemEC7CEP8NOVPiikaIBoSaYXkunPndkQ+3qkS\\nDDnM2qiki0ZyERmJWCUKEhFGtDBSGEHWrI86aStlLuILeYpoRW4hWblGYmW/sjzvsLPxnHK8n5K4\\nPou6o8HaJsIO6UvfObainVtrGGefmkfK0987Mcabt25WiUck8+jIaBl9MFrb5TkSEKF3/PjxKpIR\\n1vSHvpB+mpS+GyOac8OGDTWVb088IxqZMQ6sGKjymBS/RHPyTr6LQGZMjCfHWRuNf5JBXjePPHsd\\nN77NZBvPOo270zvNsrzT6T3a6XSfd5t1Mofu3x+J/fF1sZkXt5HD8XdBamj+PhC+zB92/k4OHz5c\\no4X5EQURxNTb/NEC7ee8Rv6SFhopzNxZFHMHEYwgHh4eLmtWrykLF0XK6HjOzt8Oc485RR0z2Zrj\\nai/fZNE8by/ntQQkIAEJSEACEpCABCQgAQlIQAISkIAEJPB6EFAQvx7f0VFIQAISeIxAJxnEvU7y\\nh3sIL8QW4he5hfhFfBH9iAhmnWBS4xIZiTBFeCHEUoo120N2In4RWIgvUuCyI0ORW4gwUuGuW7c2\\nUjMvnZCmiFcieekPddTjWxxL6QoJhghj51k+j+IhiB+t65vpfmtkZsi9sXHhR/+aO7CoH5GM8GZc\\nOd6M7kTmUR9lGC9sMkI6ZTT3YfXtt9/WNNNIX/rGWJF3jLW5Jiz3YAEbhPLqEH8rViyvZekT4+wN\\nYYxIpn/TbZ2+afNbtL9Pnc3n7W3ks/b77fU86+vmOLIP7W1Mdr+9HNfN+jo9b7/XEsH3JyJ6+b7M\\nIX70kOsF8zfANWX57levXotn58qJEyfq/OHvh7+jKo/jOWU4b279/Qvjm6+qPyRgrmRUMOnLh4eG\\nykDMF+YHfz8844cFzCHOWz+O4AcSj/4OZvOdpvv2zX56LgEJSEACEpCABCQgAQlIQAISkIAEJCAB\\nCbzeBBTEr/f3dXQSkMAbSGAqOcazpkRFeGY08LVIk3sp5DCRwsjgoxEZjPxEEBMheeVyrI8akZS5\\n9XSHyOzrrWI0I2ERWQitXLeXlMsph1MQI0cpw5qpCOOUvikAEVmP7dHgW0hh7o+L43xOX/I9juwZ\\npZnHvN8sx/uIXCQgDBgjUdDIcXggvnk/BTFiEEHIcyJCSRk8EpGlRBqnTOQ5Mrm5IYQZJ9GgSD+u\\nEYOMfyiEIJIYWU60MX1CDs+PcosXLY53ltX7XV1I8UdMUo7nMdvj/ZlsU5Wb6ll73cmz/X5ez6au\\nZtnmedb1pMf89vkt65ygsvG5cvfuvfiBwPX6PfmmdyP6/CFyOL4rkeTMi5MhgE+Pr6dNGeYE8yP/\\nLvhxQbsIZq7znZn/XfEjhwX9C+qPAhDBg4ODNTU5z/nulOHvhbnAPEEE5/uU4e9nui2/BcfJ+HF/\\nsmfT1e9zCUhAAhKQgAQkIAEJSEACEpCABCQgAQlI4PUioCB+vb6no5GABN5QAimIGP5UEgiRdfny\\npYh4vFwuh9g6EwL4GGulhhRGcLIjiS/GMyJpiYpEoma9pENmJ7Jx06ZNZe3aNSE7V4XQjAjHkGKk\\nvkWCIT2RoAgwBHBPD9Krt8ovhBfiqy+OpGOeqr+14cY/zbI55rw32XW+ns/rWIhUDunKvZTAu3bt\\nquOtKapjzIjCsZCBD+JINCgiEDl8OiKrr4Q4vB8y8X4IYaQwspBIUoQ63KowjMhmnnEf4Y7QzZ3x\\nI8pZw5i9CuLoz4J5sW5xCMN1wXDL1q1VHCKWkYa8izhEwmeaYe6/iK3JbrLzZj/ym1TWMxTXzfef\\nxTkyGJHLutk3QvBnRG+VxfF9+Xb8GIBvw48izoYEplzOCeYBQpgIYn4ccSf+Fh6M/yDg4Vjrhwj0\\nM78L53wr5j+poUk7viz+Hrrj7yV/OLEu1g3m72ZZiOB58S1bUcE9VQIzJ/J7wi936p1qy+8xWfl8\\nPlUdPpOABCQgAQlIQAISkIAEJCABCUhAAhKQgATeLAIK4jfreztaCUjgNSXQFHIMESnEjqBEdCHH\\niJQlEphUylWIhczMSOFMr0w5hDDvUidRwsjI5SGEV4f0RQwjwZCaCLAUwQgwRBiimGeUR3Qig6kH\\niTZXNwQ24hVJ274lR4QvshD5ezEk+vVISw0ndhhzHxGMQOY8OcIcsQx3opApyztZH+sa5xrEcJrX\\nN68sWbok1i3eULaFICb6mH7RPxj2RyTqsmXLK2NEZDMCm74na0RjSvi+cbmcY8tvm+W5zvMsQz3N\\nrXndPG+Wme15tpvHfD+vs5285jlyF4bw48cLnNeo4BgDRzbeq1G+MZevhgBG8MKfVOL3kLxRLr/B\\nVb5bCOL8m+Ab5Ua71ElZzuFP3ezz++fXaF8kP1G/RIbznO+xZs3qSJ/eEsREBzO/+uP50vibyOh5\\nys9mazLI8+RDPc3z9nqnetZe1msJSEACEpCABCQgAQlIQAISkIAEJCABCUjgzSCgIH4zvrOjlIAE\\nXjMCnSRRc4gIMoQYEcHHSZEbUjjXFT527FgVxKRLrjLzVqyVOvJorVTWSSW9MeJrZaS+JZqVdXSH\\nh4cnIloRX0QLI8SQXQhMRFQrWrhnIm30ixDDsHgeEqzJGNGN+EaQI8bhy4ZArDIyIlVhiWBECmfk\\ndaauThGPqEw5SXQrEay8h+hkuxn/uRQR3sjm72JdY9hmlClsuaYPiGP6gXCEPc8q/5CUiHq+D/Ke\\n1MU1kjukPusbJyeOKTxp961Ig0wa6+b3o0yWp8zTbvBMpi3xGtHZEZELP3buNcs02+MZ0dy3x1M7\\n5zrZSHvYPQiJW98ff2kkBDLRwMh5fgxBVPzN+C78WAL+GRnONd+BI+83N1jXv4GBiIRftLB+B74F\\nvGG6NQQ+kcIwXhB8YTU/5gl/E/n3gaRngzU/BIAv+2y3qb7DVM9m247lJSABCUhAAhKQgAQkIAEJ\\nSEACEpCABCQggTeDgIL4zfjOjlICEnjNCDSlEFINuTUyMhpiMlLqjke6EjmJmDxw8GBNI40oY51d\\njojMlHXIz4wMRnwhHolO5ZwdGblufaTG3bipCjOk1zz28ajWmaLN9rJ8XudY2q+z3HRH3mPPeqYr\\nP9XzTnXkvZR7CMJOG+mDiWxFWLIjIuGMpEfOI30Rxty/F+Vuj0cXH4soYqKSEZW8x7ekHqQlIjRl\\ndLaJaGxFqq6pIvIxQRzykefIe/rDjihGWKagpJ4qh0Na1nWdx2Ux4yPamNTfHHvGZShSlJ15wpFy\\nCOWIU88uPXaMTxFjeDDBgvEyrvus2TzakrkjE/davCjDOPmOTVGbc6I1v0cqz0uXWAf6fI36hSes\\nmoKZzlAfUdwIeBhy3qyXMjCAHSIYXlwzNo7wZd7zdwBDnsMvBTFifjB+NLF6zdr421ka0doLgkmp\\n78OJstNt7fM2x5rzLd+f7jrLeZSABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkMFMC0/8vmDOtyXIS\\nkIAEJPDUBFISdaqoXRRlGQQZkamkNyZVLiIS6cjawqTPPRP3LoQky5S8tIEEQ2QhwHbs2FHXRU0h\\nhiAmKhJpTOpohDASjR1Blv3IY/ZjuuNk5dvvt19PV28+f9L38v3JjvCaSd3IxSrPgysb7xGBCuNt\\n27bVyGK+FaISgVm/GymOEcREuIZMzghXzs+dOxtCv5UGHBHKezk/kMmHDx+euM6+0092BCWpqRHD\\npPteGN8RGcr349vnnuW7ukOW9vbVMvm9eZ/v39zrHIi1pLu7HkUjZ9s5ZvqIEKaPt+9EavObt6qg\\nRdLWe3FkLjJWGLCnIG6JXqKJH8nn5IVUvxPvEhmfO9L54cNxLvFK/FSgdofxpexljETF16fRNzbG\\ntCHSeBMBjACGE+VTAnPN38Oq2FfH3wLls77W305frZO/obxPvbQ10y3L5jHfa7/O+x4lIAEJSEAC\\nEpCABCQgAQlIQAISkIAEJCABCTwrAgriZ0XSeiQgAQk8BwKdZBHCLAUcEZJEqBIVfOTIkXI0pDA7\\naaQ58pzybMgvxFeuG0wU5KZNm6q8TCm8MtIoD0TUMBGTrDXcqf3mMJGBKS2b93lvunfbn7dfN+ub\\n6vxJ35uqTp5Rb44tj813mvco29yzHPIQMYtsJRq7uSFDSUc9NDhYvxPyNGUpgpgIcCKPiQLPyOMU\\nqcjWK5evlCtXr9R3790L8Rz1PYjIXfqV84MUy8ejD8koj/Qj+8s50pP5QV9Jk9yfcph0ybEvip31\\npRcsmB+SOVJaR9n6Pi/HVrXr+Fxotk8/GQvHusd4SfXMWBHE9JM9I4CZq+zUkf3LPnOvuee8pv0s\\n2xS88F4S83hRjIVxMcYsR4RwSw6vDYG/rkYMpyCmDr4XP5Dg74CyiPXZbtnXfC/bzmuOObb282YZ\\nzyUgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJPGsCCuJnTdT6JCABCTxHAghCUkgTLYwARgrnzjUp\\npJHCCLgUaIheoiDXR2Tw0NBQ2bF9e9m4KaKEV66qkcJECyPCiA5FpGVEZFNedRoSAoytU7lO9zrV\\nMdfvPc9xwBn5CPeWIEWAtuQoohh5zLcmOhzJmhIV7shWUi2fPXuuRiATIY54vR+RuQ8aknUkImzv\\nRNpxIm6pi8jdmW4ZhYswbe7cT9madeVcyGvmHuKX+To6SkTwo3WGGcdstp7unkhp3lrbl0jejGTP\\nOuhLimGes1Y0P4LgRw9IYmQv85qN70l56mDOs/MOUdM8q3s872aP75NjzbZmc8z6ZvOOZSUgAQlI\\nQAISkIAEJCABCUhAAhKQgAQkIAEJvAgCCuIXQdk2JCABCcyQAFKpuSHakGyIPSQfsvBMRJWSPvqX\\nX34pBw4cqKmGj0eaYsRwbqS+RQyvi+jIwaHBsjnWS0WYbR7cXIYHh8qaSHu8jOjIiChGlk22tYu/\\n9nLt/W1//jpf59iTUR65n+edxp/v8YxzolM7RagS4c33RwYTbct51ss1UcWkpiZ6nEhhhDJiuSmS\\nKYdcvhKprIlI5ngz5tHduE9d7FlvHjv2ucS8jP9SnvrZcxzZpxxPHhGs7PPnPz6nCTeOlieayXqQ\\nsWzUx3lviGkimZG4pOpeEeJ3aczXTsKXdpDAixYtjLIrqhgmtTfvIn8RyGy01RXpsfsiTTZ/I524\\n14Id/slx5jHr61B0gk2nZ96TgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJPCyCSiIX/YXsH0JSOCN\\nJoBsYkdcpShrAiESmGhh0gxnpPChQ4fK0UghfTLWGia9NAIxpRUyDBE8NDRUhoeHJ/aNsd7q6nEp\\njBBuXzu12WbzvFOfms/f9PP8du0cnhU3RCminz036kbmskbuYKSn3rNnz8R6viMjo/GslWaa8vy4\\ngDmETEYQ8wODjCRO0Uv5sQeR2nl8LsZkajUV7bDlWPLYevjo3/b7zeuuLuZ1S/ymgM65msfaBu3E\\nWFMSTwjfEMTLQ5Qjy4kMJuI6o9xr76KPtMd7SGCe8TfAzjn3eN7sU/v1o5FMfjbZd659H+eU42m2\\nNXmNPpGABCQgAQlIQAISkIAEJCABCUhAAhKQgAQk8PIIKIhfHntbloAEJPAreYW0a6YXPhfRwocj\\njfThkMK/RLTwwYMHC4IY0UdZtr5YE3bJ0iV1TVXWFB4KOZw7sphISlLtkkp3sg251RRcSq7JSD1+\\n/2k5NblnzVlnHlOa5nOOGZ2L6Gdd6eaWdfI+c4RUz0QXE2GOHOacyOKaijqeI27b5W2zvuwH95rn\\nzTLtz7IcfUf8Ip2zHcrmXMs6KN/cu7qJIO6t0e1IYcbIjvhl7O1M8t2sbzbHZl+a59SR48hj8157\\nG80y7c+8loAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQwlwgoiOfS17AvEpDAG03gQazVeuXqlZoy\\nmJTRpI9GBrNzfTZkMYKPqFA2ZBlrrQ5FpPD2bdvKrl27ynCcr1+/vgph0uuSjpc0uki16bYUXHmc\\nrrzPn45Aysgm7+b5k9ZOHcpDpQoAAEAASURBVFkPEbQZjct8eBQ1PFarpw/sjwQxUvTXLWd9+aR5\\nPdk4WmXoS+utbCvLN+uibLPOvCb6uDtkMUKYceR93m3W03w3653JkTqmeneqZzOp3zISkIAEJCAB\\nCUhAAhKQgAQkIAEJSEACEpCABOYiAQXxXPwq9kkCEngjCCCnMmL4xo3rkS76Yjl16lRdU5j1hX/+\\n+ecqh0kvTZpgtq4QZkjfdevWVRmMEGbfsmVL3bnPeq3NlMQJk/aaQqwpv5rnWd7j8yUAc74H23T8\\ns9xUPZqsDu4jV9lns+buVG3NhWedxjsTTs2+t9fRft0s67kEJCABCUhAAhKQgAQkIAEJSEACEpCA\\nBCQggdeFgIL4dfmSjkMCEpizBFJatcsnUklfunSpSmHWF96/f3+NGj58+HA5EesLX7x4sYph3ieC\\nkhS7rDm7Y+eOsnPHznoc3DxYU0gvW7asiuNcn3UyGNmHPE5WzvsvhsBMv8NMy72YXr+8VvJvKXvQ\\nzqX9Ost5lIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQggUcEFMSPWHgmAQlI4LkQSGmF3CI99N27\\nd+t6sOfPn68imFTSRAz/9NNPdY3hCxcuTKwvzBqzrB+8YcOGKoeJFN6xY0eNGt68eXNZvXp1YY3W\\nTlu7TKNM9qVTee+9fgQ6zYHXb5SOSAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABGZDQEE8G1qW\\nlYAEJDADAinl2mUschj5e/To0SqCSSGNGCZ6mDTSV69eLUQVsxExvGrVqiqD33777bJz586aQnrj\\nxo31PtHEyGPWmO20ZR+az9r703zm+etJwG/+en5XRyUBCUhAAhKQgAQkIAEJSEACEpCABCQgAQlI\\n4GkIdDYLT1Oj70pAAhJ4wwmklEPSZsTw9evXCxHDx48fr5HCP/74Y/nxhx/KwUOHajQxyHiP9YWJ\\nGN60aVPZunVrFcS7d+8uQ0NDZcP69WX5ihUd15HtJISbnyH71LyX5/nuVGWyrEcJSEACEpCABCQg\\nAQlIQAISkIAEJCABCUhAAhKQgARebQIK4lf7+9l7CUjgJRNIuUo32gXryMjIpBHDrDF85cqVx1JJ\\nI4FJH71nz56yffv2sm3btrIeKbx8eVm4aFHp6+0t3d3dHUecbU/Vn44velMCEpCABCQgAQlIQAIS\\nkIAEJCABCUhAAhKQgAQkIIE3ioCC+I363A5WAhJ4VgRSxKaYzXofPHhQ00STLvrcuXM1nXSNFo6I\\n4R8iYph00jdu3ChjY2Olu6u7kCp63bp1saYwcnhnFcTbd2wvQ4ND9f5M1hdu9oHz7Fv2yaMEJCAB\\nCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISSAIK4iThUQISkMAMCUwlYK9du16OHTtaDhw4UL77\\n7rvCOsMHDx6sqaWRxohhNsTvli1bys5dO8vb+96uEcPDw8NlzZo1ZdmyZaW/v3/SaGHeb0phrme6\\nTdX3mdZhOQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABF5dAgriV/fb2XMJSOAlEWjKWYQv\\n6wzfvHmzXLp0qYpgIoaJFv7m66/L/l9+KYhhxCzvLV26tGzevLmuL7xzZytimCNrDq9avbosmD//\\nsVHxXkrdbDePjxVsXEz3vFF04vRJ3pl42RMJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgARe\\nGQIK4lfmU9lRCUhgLhK4e+9eOX3qVDl46GD54fsfCnJ4//79NZX0xYsXa7pp+k1E8JbhLWX33t3l\\n/ffeL7tCCg8RMRxSeHGkmZ4fYrin5/H/I7ldDFPP04rcp32fPrhJQAISkIAEJCABCUhAAhKQgAQk\\nIAEJSEACEpCABCTw6hJ43Ea8uuOw5xKQgAReGAHWGb579265fu1aOXX6dE0jTcTwV199VX4KQXz6\\n9Jky+mC09mfRokVl48aNNZ30rl27yu7du8uePXvK4OBgWR1yuLe391f9zjTUTZnbPP/VC96QgAQk\\nIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAjMkoCCeISiLSUACbx6BThG8yNtrIYaPHz9e00gj\\nhr/99tu65vDpkMWkmmbr7uoua9etLfv27Ssff/xx2bt3b00rvXbt2rrGMBHD3d3dHaF2dXV1vO9N\\nCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJPC0BBTET0vQ9yUggdeWQDNqd2RkpNy+fbuQ\\nNvrYsWM1avjvf/97lcM//fTThBju6+srK1euLKSP3rljRxXE77333oQcnjdv3mO8UkJzs9neY4W8\\nkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQALPiICC+BmBtBoJSOD1JUBK6UuXLsbawr/U\\nNYaJGEYKHzp0qJw7d64gj9mWLl1aSCP9wQcfVDFMKunNmzeXgYGBsnDhwl+tMdwkNlM5nEJ5puWb\\nbXguAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABBTEzgEJSOCNJ9BJunIP8Xvjxo1y/vyF\\ncvjwobrG8Ndff12++eabcuLEiXLv3r3Krr+/v2zatKmuL0xK6ffefa/s2LG9bI51hpHGnbZsk2fK\\n3k6EvCcBCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkMDzIKAgfh5UrVMCEnhlCDRFbbPT9+/f\\nLydPnqxrCyOFv//++xo1fPjw4boGMe+xhvC6devK22/vK++GFP7www/L9u3bC+sMI4Z7e3sL5ToJ\\nYO5N1nazH+3nnepqL+O1BCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpiMgIJ4MjLel4AE\\nXnsCKWhTunKNGCZq+PTp0zWdNNHCX3zxRT0/f/58Id10V1dXWbFiRdm2bVuNGn7nnXfKnr17y+5I\\nL40wRgznRp1jY2NVEmc7+az9Ou97lIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQALPi4CC\\n+HmRtV4JSGBOEkgpnJ1rSlpSSrOmMNHCiOG//e1vVQyTTvrmzZv1lfnz55fh4eGCFP7kk0/K3hDD\\nXK9evbqQaroph3kh689jtutRAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCbwMAgril0Hd\\nNiUggZdCoJMczgjfVtTwmfLLL/vLX//61yqHv/rqq3Lx4sXaV8TvukgdvX3HjsI6w2+//XaklX63\\nDA0NlYGBgQkRnAOj3pTCecxnHiUgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpDAyyKgIH5Z\\n5G1XAhJ4qQRS2iJyr1+/Xg4ePFj+/Oc/VzFMBPGhQ4dqqmk6OW/evLIjxPDvf//78sEHH1Q5vGnT\\nprJs2bJCRHHW1RxQp3vN555LQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQggZdBQEH8Mqjb\\npgQk8FIJpLxFDl+5cqUcOHCgiuF///d/r+sNnzlzpq413NfbV9asXVPlMNHCmVJ6KFJKL4x00s2N\\nutiy7uYzzyUgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpDAXCGgIJ4rX8J+SEACz5VAu8Ad\\nGxsrt27dKocPHy7/7//+3+VPET389ddfF+QwW19fX9m1a1f56KOPyj/8wz/UtYY3btxYlq9YUfoi\\n3XT7phhuJ+K1BCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACc5GAgngufhX7JAEJPBcCSOIU\\nuSMjI+Xs2bOx5vAv5fMvviifffZZjSam4cWLF5c9e/bUiOGPP/64/OY3vymDg4M1nXR2jLqa0jnr\\nzeceJSABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkMBcJKAgnotfxT5JQALPncCdO3dq9DDr\\nDSOJSTXNtnLlyiqGf/vb39bI4e3bt5eBgYHH5DDlmkK4ec4zNwlIQAISkIAEJCABCUhAAhKQgAQk\\nIAEJSEACEpCABCQwVwkoiOfql7FfEpDAMyWAxM2IXyoeHR0t165dKxcuXKg79yizefPmmlb6008/\\nLW+//XaVwzxja76fUjiPrRL+KwEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgATmNoGuud09\\neycBCUjg2RFoylzOe3t6Si/rCT9stTFv3rzCOsPvv/9+2bd3b1m6dOlE4005zE2um/VNFPREAhKQ\\ngAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCcxhAkYQz+GPY9ckIIHnRwAxTDrp4eHh8t7775VT\\np06VtWvXlnfffbds2bKlrFq9unR1tX5DgwxOIYwUbpfFz6+X1iwBCUhAAhKQgAQkIAEJSEACEpCA\\nBCQgAQlIQAISkIAEni0BBfGz5WltEpDAK0JgwYIFZeu2baWru7ssXry4pptmrWGE8Zo1aybkcA4H\\nMWzEcNLwKAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQwKtKQEH8qn45+y0BCcyaQFPw9kR6\\naSKIOS5auLDcvX+/HpctW/ZYamkaab4360Z9QQISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQg\\nAQnMIQIK4jn0MeyKBCTwYghkiui+vr4qiZcsWVLGxsZKd0QT5/5iemIrEpCABCQgAQlIQAISkIAE\\nJCABCUhAAhKQgAQkIAEJSODFElAQv1jetiYBCcwRAhkVzDrD8+fPn1Wv8t1ZvWRhCUhAAhKQgAQk\\nIAEJSEACEpCABCQgAQlIQAISkIAEJDAHCHTNgT7YBQlIQAIvlICC94XitjEJSEACEpCABCQgAQlI\\nQAISkIAEJCABCUhAAhKQgATmEAEjiOfQx7ArEpDAyyFAymn2pjhunr+cXtmqBCQgAQlIQAISkIAE\\nJCABCUhAAhKQgAQkIAEJSEACEnj2BBTEz56pNUpAAq8YgZTBeXzFum93JSABCUhAAhKQgAQkIAEJ\\nSEACEpCABCQgAQlIQAISkMCMCZhiesaoLCgBCbzOBJTDr/PXdWwSkIAEJCABCUhAAhKQgAQkIAEJ\\nSEACEpCABCQgAQkkAQVxkvAoAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlI4DUn\\noCB+zT+ww5OABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCSQBBTEScKjBCQgAQlI\\nQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQggdecgIL4Nf/ADk8CEpCABCQgAQlIQAISkIAE\\nJCABCUhAAhKQgAQkIAEJSEACEpBAElAQJwmPEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJ\\nSEACEpCABF5zAgri1/wDOzwJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACSUBB\\nnCQ8SkACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEnjNCSiIX/MP7PAkIAEJSEAC\\nEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJJAEFcZLwKAEJSEACEpCABCQgAQlIQAISkIAE\\nJCABCUhAAhKQgAQkIAEJSOA1J6Agfs0/sMOTgAQkIAEJSEACEpDAkxJ4+PDhxKuc5z5x0xMJSEAC\\nEpCABCQgAQlIQAISkIAEJCCBV45AzyvXYzssAQlIQAISkIAEJCABCbwQAm+99VaVwu2NNcUxZdwk\\nIAEJSEACEpCABCQgAQlIQAISkIAEXh0CCuJX51vZUwlIQAISkIAEJCABCTx3Ail/U/zmcbKGs3zz\\n+XTvNMt6LgEJSEACEpCABCQgAQlIQAISkIAEJPBiCSiIXyxvW5OABCQgAQlIQAISkMCcJzAbwUvZ\\nsbGxGY9pNnXPuFILSkACEpCABCQgAQlIQAISkIAEJCABCcyYgIJ4xqgsKAEJSEACEpCABCQggdef\\nQLvAzXWHkcDNaOGurq7CTnmOnbZm+fZ6s3yWmex5lvMoAQlIQAISkIAEJCABCUhAAhKQgAQk8GwI\\nKIifDUdrkYAEJCABCUhAAhKQwGtJAIF79+7dcv36tXL79p0yOjpaenp6yuLFi+s+f/78Scc9nfSl\\n7hTEVDJd+Ukb8oEEJCABCUhAAhKQgAQkIAEJSEACEpDAjAkoiGeMyoISkIAEJCABCUhAAhJ4swgQ\\nNXz9+vVy5syZcuDAgXLx4sUqiJHCAwMDZdWqVWX16tVVFHd3d4c47i3z5vUVzqeTvTzP/c2i6mgl\\nIAEJSEACEpCABCQgAQlIQAISkMDLJaAgfrn8bV0CEpCABCQgAQlIQAJzigARvSl3iRY+efJk+fzz\\nz8v/+B//o/z88881enjJkiVVDG/YsKEMDQ1VUUxEMdKYe8uWLSu9vYjix1NPZ70tmdwz0U4TgBHF\\nTRqeS0ACEpCABCQgAQlIQAISkIAEJCCBZ09AQfzsmVqjBCQgAQlIQAISkIAEXkkCmfI5RS7X9+/f\\nL9euXStHjx4tP/zwQx0Xz5HE69atK5s2bSqrIop4aVyvXbu2DA8Pl5UrV5YFCxaU3khF/XCcxFsc\\nx6OGe3t763Ok8tKlS+s5aatzTePxVzxIQAISkIAEJCABCUhAAhKQgAQkIAEJPAcCCuLnANUqJSAB\\nCUhAAhKQgAQk8CoSSDGcfUfYLl++vGzetLns3r27XL58uZw6dWpCGt+4caOKY4QvO2XXr19fVqxY\\nXvoXLip9cS8jgrNujshjxPD69evKli1by+bNm6ts5n2ii3Pj3Xwv73mUgAQkIAEJSEACEpCABCQg\\nAQlIQAISeDoCCuKn4+fbEpCABCQgAQlIQAISeG0JIIhJFz00PFQ+/fTTutbwsWPHyvlz58rNW7fK\\n1atX637z5s0qgrk+ffp0lcU1IvitroggzhhiAohrHHEVxMjgjRs3lh07dpRt27aVrVtbopgoZKKT\\neT/Lv7aAHZgEJCABCUhAAhKQgAQkIAEJSEACEngJBBTELwG6TUpAAhKQgAQkIAEJvNoEMiq2GeH6\\nusjMHAdjQxAja7eHxEUUf/DBB+XChQt1v3jxYl2f+JdffinnQhjfu3ev3L17t9y+fbsgjIkuTk6d\\nvjZrGx84cKB8/fXXVRRv2bKlvP322+XjTz4pu3buLOsjfXVXI5o4KquqOfvXqU7vSUACEpCABCQg\\nAQlIQAISkIAEJCABCUxPQEE8PSNLSEACEpCABCQgAQlI4DECKSnz+NjDOXqBrH04FntN21yq/GVN\\n4E4bMb/sjI+Uz0tireBFixaV9Rs2lJshfq9fv17TTZ85c6auOYwsvn9/pNy6dbNcuXKlCmQEMCmp\\nR0ZGytjY2Lgsfqs2yfXo6Gi5f+9+jTimnkOHDlXRfPfO3XIr2rgXshhJPG/+vOjro7TTnfrrPQlI\\nQAISkIAEJCABCUhAAhKQgAQkIIGZE1AQz5yVJSUgAQlIQAISkIAEnhGBjCx9lQTrMxr6U1bzKF1z\\nq6LOgrc+q4a3VSqccLl3916Vsqjf7kjfPH/evElTONda2+Qx32pevDOvr6+uNbwu5O3Q0FDZt29f\\njRxG+t65c6emnD579mypqajPnw9pfKuuWUwfqPKtSDt9P6TxjevXypkzZwsRyIjlS5culc//+nlN\\nX33kyOFyLup4/4P3IwX1zrI0opd5eYrRPiVXX5eABCQgAQlIQAISkIAEJCABCUhAAm8OAQXxm/Ot\\nHakEJCABCUhAAhKYEwRaEayPVB/XyMXcSGv8IsRxez+y/fZjJ5lN9Csplek3srU39rm8Zi5RuSdO\\nnAh5e6U8eDAaEcFLymDI3UWLF7UPd+KaL4RjZs+tq2V4a/Qx4+3v7y+rVq3KxzVamPTSRA6zpjBH\\nUk4TRdzi2FXfHRm5X1NQE2WMaP7ll/3lZPTv1u1b5acffwp5fL2M3L9f7ty9U7pjPmyNNYoXRxRz\\nV7f/35cJ2J5IQAISkIAEJCABCUhAAhKQgAQkIIEnJOD/wvKE4HxNAhKQgAQkIAEJSGD2BFK2Nt9E\\ntrJ2LZGmyGHWuu2LKNUn3Tq10amuJ5XQ9JeUygcPHiy379wuK5avqJJ07dq1NcK2U1vP5l5T1WaN\\n3Hsk2/NuPTZuX716tXz+xefl559+KrdC4G7duqX8X//3/xNpoxe2wnofe/HJL5DGrFm8cOHCAg9Y\\nPXjwIPZWimmYE0E8FvfuhwA+d/5cRCDvLV999VX5y5//XH788cdy+9btiCw+U/7Xv/5rpKu+HIb6\\nYRmJevbu3RtCe0ntHN/4Sb/fk4/ONyUgAQlIQAISkIAEJCABCUhAAhKQwOtBQEH8enxHRyEBCUhA\\nAhKQgATmPIEUt02xR3TpqVOny/kQhaQYZp3bnTt3ltWrVz91RG6znaeFk3UhskmffODAgfLFF1/U\\ntXjXr19f+4wUJQXzXNxuRgrnQwcP1T5fCc63I1L3k9/+tgwObi49vb0TXZ5OvFZFTa7oxpZsuMU5\\naxazz0Tyr1w1ED8IWFqlMtHJfX3zynfffluuXLtaLl+7Vv7+978X+BKlPDg4OCGIG817KgEJSEAC\\nEpCABCQgAQlIQAISkIAEJDBLAgriWQKzuAQkIAEJSEACEpDA7AkgHtvlI5GlRIr+8Y//Xr755psQ\\nxafK5s2bq1xcsKC/isOUj+3vTtWDfGeqMjN91t5uXSf388/LnyPa9S9/+Utdb3coUjVfC5lJ3wcG\\nBuZcZCs+lxTT1yNt88ULF8q5c+fKxgubaopn0mSTIns2zCYrC6vcJiuTzzlSHIk8ODhUFixYEGsi\\nzy8L+xeWG8Hy2rdXC0nHb9++U44cOVLXMyZ1dW4zqT/LepSABCQgAQlIQAISkIAEJCABCUhAAhJ4\\nnICC+HEeXklAAhKQgAQkIAEJPGMCKQ6Rein2iBxGDn/z9TflT3/6U/k8pOvp06fLhx9+WH7/u9/H\\n+r53QiC20gnTnXZRO9MukuIYsVjXCw4h3RtCkrVsEZPZl8nqaraJzL5x40aVlUQO//GPfyzfRqQr\\n90mXvHvXrtpGc6yT1fsi71c5fPdeuXHzRl1/+PLlKxM8SPE8Gn2fzdbIWj3pazBIDo8XGn87PXJc\\nklI8/lsjxtesXVMGVg6UBbGuMWmoy8PWutRRW1STLz1eo1cSkIAEJCABCUhAAhKQgAQkIAEJSEAC\\nsyegIJ49M9+QgAQkIAEJSEACEpghgZSFTTk8MjJSo4WRrETishMlimwlhfPI6MjEmrXNZqhrOqnb\\nXv7y5cvlhx9+qPL5zt07ZdXKVeXdd98t6yJtcV+kVqa+lJlT1Y1gPnz4cF0r9/MQxKyVS39JKT2w\\ncmVZunz5hHSeqp5m/57XeZPT2NhYuRGRw5cuXop1ky/VKOLuru7a79lGDk/X3xx3k+lj74TjTc1L\\nGRxwbvC9HKmvWduZtajHxuXwwv4FZXhouGzaPFgWL1qcxT1KQAISkIAEJCABCUhAAhKQgAQkIAEJ\\nPAUBBfFTwPNVCUhAAhKQgAQkIIGpCVQROC5hEZdE4ZJKmujbPyGII03zwYMHCyJzyZIlZc2aNR0j\\nfFM+NuXn1C2Xgoi+ECmVv/766/L999/XtoeHh8vSpUtLf0Spkg6atXLZOknibJPniEvq+Nvf/lZ+\\nCjlcUzOHaB0aGqrCecf27bXfzXd479lu4xG4ExG1eT15K0jsy1eulLORVpoxELmNdO0NOd4dobvP\\nq7/U284UOVydMP/ExdjYwzIaPwbgRwH8QADp/ssvv9Rvxoh6on+DwXf37t1ly5YtZeGihdx2k4AE\\nJCABCUhAAhKQgAQkIAEJSEACEnhKAgripwTo6xKQgAQkIAEJSEACvybQLgcRhshhZPCf/vTH8h+f\\nfVa+/OLLKgaRwwjb3/zmN+WDDz6oa/kuj4hc0g8/6Uadd+7cqevtIoj/8Ic/1PWC34noYSTxypDD\\ny5Ytq4K4KTNprymhqef69VZq6b/+9a/ls+g3Ucm8s2Hjhtrnf/mXfynvv/9+Fc5P2t92XtPVQ+ro\\n6ELHrdl/JPn5kMMnT5woZ8+eLXfv3y39sd5vT6w7DN+I422F9U5SV8cGZnCz2Yc8f6y/0d7tW7fr\\n9zly5HBdg/oP/98fyt9DwJ85e6b2a+OGDeWdd94p773/Xtm+bVtNPT2Dpi0iAQlIQAISkIAEJCAB\\nCUhAAhKQgAQkMA0BBfE0gHwsAQlIQAISkIAEJNCZQIq/5tO8h0Bl45p1gC9F+mCiRL/66quQtf8+\\nseYwApY1gd97773yj//4j1UQE0VMhGu+T11ZX705w394h6jVmr44pC6CmuhfUk6vjxTTa9auLatW\\nraq1Zf30t7kRcYvA/O6776rEPHzocE0tzXsI7U8++aS8/fbbZWhoqErX5rszPW9vk/eI/L1z526s\\nF3yjXI9+x1DKsoh8XrRoUU0P3RXRyy2zy7+RehvR22F7MPqgXIsU00jt69eu1xJETcO3p7sliSd5\\ntUNtM7+VPHkjz0GLsL4VYpj+nDl9qhw5erT89NNP5btvv6lz4nxEfLOtXb26fBxsP/roo7Jt67ay\\nMtJ4vxX9dZOABCQgAQlIQAISkIAEJCABCUhAAhJ4egL+ryxPz9AaJCABCUhAAhKQwBtLIIUwAJC9\\nKQMTCELw+PHjVcr+JdJJk6IZQXv+/Planije3//+93X/z//5P5ftkaqZe2ydxGnWO92RfixcuLCs\\nDpG7LaJPd+zYUVNNI0m/+eabsiYEJFKXtpCllKe95nhoA7H95ZdfRtTzn8r+/fvr+siU37lzZ/kv\\n/+W/lN/97ndlQ0S6ptCerl8zfY7UPnr0SI24RqBG92qqZfhs3ba1zOtDENPnsdjr6QT75jfgm9y/\\nf7/cix3pzNY3r69KZo5EEuf2NLyzjsmO1D06Mlojhr///ocqhff//HM5dPhQORHRzadDFt+8ebO+\\nvnTxkvpDgX/5P/6lfPLxx2VtiPyWHE5531mGT9a29yUgAQlIQAISkIAEJCABCUhAAhKQgAQeJ/Do\\nfxF6/L5XEpCABCQgAQlIQAISmJRAJ5nYTAndihS9VeUf6w1XyRprDv8YspOo3O6IgF23bl1NzfxP\\n//RPNVJ0165dZcWKFZO2OdMHKXmJlKU+1q9FrJLe+tq1a1X0EqU8HPf7+vrKxo0ba2QuYjXlKjKV\\nsocPH65Rz0Q+I4sZ49atW+u6w+9FumrqJQL6WW9IXVJCI9NJyX337r16ff3G9dLT21PTcPf19kV/\\nuqs8zvbbv8tIXeP3TrkTzEfHRkvXW11l7ZqInF69KtJ6L6x15ZizjudxZDxnzpyNCO6fyh9DtvND\\ngf37f457Z0Jg36tN8i02bdhY9u3dWz793aflww8+LFuC9cJIP55bftu89igBCUhAAhKQgAQkIAEJ\\nSEACEpCABCQwewIK4tkz8w0JSEACEpCABCTwRhNICZlHYDQlI3KVCOEffvyhfP33r+p6w0jikydP\\n1mhWym/ctLEghonAJU3zUETzEvHb3LLOp5GCS5YsqYJ4W4jcFbGGMNL34sWLVfouiLV4r0f65X/4\\nh3+IqNxtdW3ebP/u3bvll19+qWKbNYxJj00/Vkfk8aefflp++9vfVsFM/c9jQ7BfvXq1nD51Kvpx\\nIETq6eB3onJ9ECm770X/tkbqZSRv+9bkNXKflM636k66adZ63rZ9W9m6ZWtZvnzZxDrPzW/ZXt+z\\nuIYzHP8YPxL4t3/7/2oE8b17d2sENPWviDWn9+zZGz8YeK+y3Rvnw8ONORGR0kRM55yICzcJSEAC\\nEpCABCQgAQlIQAISkIAEJCCBJySgIH5CcL4mAQlIQAISkIAE3kQCTZHYjBjmPmKYdX6JfD1w4ED5\\n6+efly+/+KJ88fkX5crVKxUXUnZ4eLiu30uK5g/efz+E5fbC/cm2p5GC8+fPr9G2e3bvrmsFs/Yt\\nkvjYsWNVNrI+MumhEcKbN28qS5cuK29FlPCpU6er0Pwi+v9zpEJG2M6bN6/sjCjnDz/8sOzbt6+u\\ni5t9JpVzk0fef9IjqZ9Zb3hRRCdTL+sRHzx4KPpxP1jNrymjubd58+baZ8YJp9z5HvHfuv7whfMX\\nQopfqt9n+bIVZdOmTXUNZurPjfJPwznrmex4NZj//PNPEynG79+/G+PoL0Ryr1u3tv5AgG+0N6KH\\n33n7nZq2e37/+JxADjOYGJ+bBCQgAQlIQAISkIAEJCABCUhAAhKQwNMTUBA/PUNrkIAEJCABCUhA\\nAm8EgZTDnURipkQmjTPppIkW/f7772uKZlJKs5GK+b0Qwv8UYvijjz6qMpA006QWZsv6Oe/UBvdn\\nsjXfRbSuX7++vB1C90yscYzI/cMf/lBFNlHBd+7cqamj6TeRwaSb5p1DIWP//Oc/l88++6xcuXKl\\nSlrWMiat9Luxk7a6vd/PUrL2RzQ16xwTRcwaxOfOnat9Pn78RPnX//WvNRr74IGD5Z136M87ZXBw\\nKETx0gk8D8celpu3bpbz586WI0ePluMnjocgHq1lVsW6zCsGBmIt4nkT5Z/lSZMD53djPeVLEbVN\\n31lveDTSXvcvWFg++e0nleeevXsqz3Wx1vDAwMro45JYY5m+5ZrDcYocrn5YSfwsv5V1SUACEpCA\\nBCQgAQlIQAISkIAEJPBmElAQv5nf3VFLQAISkIAEJCCBWRNI8YpkZSdiGMFK1DAC8/Chw+X7H76v\\nUvW7776r6ZApR+Qt4nXPnj01cpiUzqw3vDaEYEbdIhJTLGY7s+5ghxeoi+jajRE1+/HHH0e/H0Z6\\n5nvly1gDF/l6KlI4c7wSkcX3QmQSRdzT0xsy83hI7q/qc6pds2Z1RA5/UD744IMa7Zqppekz29P0\\nmXeznlpZ/NMbknpN8EES/zZScCPg6Q+pu0+eOB39vRrMz9frmzdvxhiu1X6RApvxIlMZ5/X4NufP\\nnysXL1woD8YelHnxDPlMFHJPrNHcvrWPAx2bmvZJ1Czjun/vfqS4vl0501citociipzU4qTq3rVr\\nZ5X4pBjP+dDqV7Rc+UbLT9J4++C8loAEJCABCUhAAhKQgAQkIAEJSEACEqgEFMROBAlIQAISkIAE\\nJCCBKQmkuM1CpFsmTfOFkI4I1sOHD0f644Nl//799Zx7rHvLeytWrKipnd+PyGGE4O5II4wsJtq1\\nKSPzPI/Z1rM6kk75nXfeiXWOF1WBOhBRtH+JCOETEVlLX7+LaOfLESm8bNmyGhnMmrlHjhyO5h/G\\nur0Lqtz+h3/8x5pemjE1t3Y+zWczPW8fN6K0P9JuExn8z//tv5Xl0SYR2H/725chiE9W4frdd9/H\\n2sStCOF3Iy3zRyHAGSPyPSUxEp8I7rv37jyS0ClbQ0zPZJtZqc41weZhpIhmR/IuCEGNIN65c0eV\\nwx999JuIGh6oPyL4dQ3xwkTjEye/LuYdCUhAAhKQgAQkIAEJSEACEpCABCQggVkRUBDPCpeFJSAB\\nCUhAAhKQwJtHAHnZEn0PC+KUNMHsRNkejfTFrDeMJGbneW5IyuGhoRo1TKQo0besf4sgzI0IY+rP\\nPe8/6yNpo4n63R7rHdMmfeuNSOGvv/p7ORyppm9FOuZDhw7VfnRHZC3jRa7Om9dXtm7dEpJ7X6w7\\nvLcMDw/V6Ntm/1Lu5rH57EnOm8J52bKlVfj29bWYIbBJ3Q1z1lMmopgI6IsXLpYbEZ1LNDfrKiOx\\nkfhED9+4cb2OBdvaF+MhNXZPfIOg/lj3nlX/m/VwDnv6vXPHjhoRDF/WcEYSk2K8WZ5v04W4Zq9b\\nHh/rqhcSkIAEJCABCUhAAhKQgAQkIAEJSEACT0FAQfwU8HxVAhKQgAQkIAEJvM4EmqIScYdwREyy\\nhu9XX31V5fDZs2erFCbVNJHFyD7eQwIjKbds3fr/s/ceXlIcWfb/a++9hYam8UiAJCQhL+3M2Z2Z\\nPd/fnD37x645O7ujkZewEiCBsI3ppqG99+Z378uKqqxqb6lqbkjRmRkZ9pNZWUXcfC/c6pbr9nIt\\n4Lg4/CrYlZeXw4r5TRcs6Y65o+OIj+fWrZtJcZX953gZKCq/8847Hg8fOuwWyExnHoa4uBnn5Se3\\n8SfURUviSNg+hT7X2Sm4nL6B9Z25xvOVK1es81GnzczO2L1791wwpmhP8Z7CKwPXWaaQzH6SPd04\\n05q6DNbJefkp8TU+jm10e1lR1kvmR44csb/85S/u5psCcWNj4zJxOIw5JQ4vq04JIiACIiACIiAC\\nIiACIiACIiACIiACIiACO0BAAvEOQFQVIiACIiACIiACIrDfCdCalkIjrWx//PFH+/abb21gcGDV\\nYQfBkWvnRpasvb6+bF1dnQuGtGKl+Mm4lyEfomh5eSmE4Q63IqZ168DAAPo47CIrrW+D+Mt+FRUV\\nuqBaVVXt/Q59TYqZIQHbMOZY0pZ2WU+8DzymqMtI19w1EK3plpn7N2/etDt37lh/f7+vA03WjBSI\\nKQLzmtEVOEVZWvG2tLRYPcqyrp3q71qDZBuM9XX1VvxGsa+lzGvOdanZPwaONfDciz6t1V+dEwER\\nEAEREAEREAEREAEREAEREAEREIHXgYAE4tfhKmuMIiACIiACIiACIrBJAnHRjkVpHUyh8cmTJ77e\\n8FriMPNTGKY4SUtjup2+fv26nYA18Wmsj3sG6xC3wZqYImUIQSAMx7u6hfEvRUpaNE9PT0H0foC1\\nlJ+5RTQtoel6mda1FMVnZmasr78PAmyfr+VbX9/gXQtCJvvNEI79YAf+rFYfReGzZ8+60Hvs2DG4\\naT5tX331lV29etUth6enp+3WrVtu6U032kGg5z6teI8ePWoHW1tdXN5LcT6/IN/XUI5f5zDGzO0O\\n4FMVIiACIiACIiACIiACIiACIiACIiACIiACaxCQQLwGHJ0SAREQAREQAREQARGICFDEo7UtXRS3\\nQmDk2rcU++iKmUIqLW8pInM/iKbzc/PW09MDy9Zet849hTVou7q6bGhoCG6e37AOWPHSEpbWrUEk\\n3AvelHQxHA8FBYXe34WFxWS/F5ewLjL+Y5iamrYnjyNR/MmTxxC1q1zoZJ8Zwlj9YJf+hDbIiO3S\\n8pZrOVMs5vVgOsV2up1++PARhOwJd5fN9YhD4LVraKh3187VKMfjEFj/bvNn/Su1Edpe6Vzon7Yi\\nIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI7SyA1M7Sz9ao2ERABERABERABERCBHCaQKdjRJTRFSVqk\\nLi4u2GmIvUNwZTw5MeHC8OTkpA0PD9v4+Lhb2k5NTtkUrHNpgUvhuLu72105c03c327f9nWJ//jH\\nP9q5c+fcHXIQLINguJvoKA5DA7bRsVG3iL5z53cXsGk9zMA+MDJMYhy0yKVLZArjhYVFsOA9l2b9\\n7Bl38U/mtQhNVVVVGUV3rlHcAbH9EK4P1yfmOtEU5smd/CniR8JyuYvL8XWg94J36O9KW47tVfdh\\npX4pTQREQAREQAREQAREQAREQAREQAREQAT2MwEJxPv56mpsIiACIiACIiACIrANAnFhkgJjfX29\\n10Yxt6PjqFsCT0AgpvUwxVW6kh6H1eok9ikU85hr47rV8OAQ3DlPuxvnnuc9fo6iKwPFZ66NyxBv\\n0xN26c8EBO1HsLb99ddf7c7vd7yPFFLpiplCMEXUkZEhxFH0e9bztbW1wXq42pqbW5KWu1vt71ZF\\nUZZjP+kemm3TcpiupsvLy73PLc1Nfsy1oh88eOBupynesxyvIa/dXrqWzrx87EcIgV3YhvS1tmH8\\nLBPiWvl1TgREQAREQAREQAREQAREQAREQAREQAREYDkBCcTLmShFBERABERABERABEQggwDFOIqm\\njY2NLkoex3rCMxB85yAOU7CkSExrVVoYc0vheAQWxs+fP7fff//d7t69a3fu3HHX1DOzM3YbVsSs\\nk/nr6upccA3uktk0hUCe342A7no/rly9Yt99953d+e22Wz1TqD554qR9/sXnLrg+eHDf+33v3l0X\\nii9dugRr3Ro7gTzsMy13g9i6mf4yLyPDZsfI/KHNwIbHvC7vv/++nTx50td+ptXzf/3Xf7kQT4GY\\nrr/j7r9D2b3ebnS8K/FhGq2iadXNW4OiOAXvjda512NVeyIgAiIgAiIgAiIgAiIgAiIgAiIgAiKQ\\nrQQkEGfrlVG/REAEREAEREAERCDLCFCIoyBHq1XGzEChOKxHHETivr4+a29vtyNHjriVMC127927\\n54LsjRs3vJ7Tp09bbW2tHT161F05h3opCO6E+Bevh2sNDw4MYq3eB3bt2nW7evWq9fb1epOHDh2y\\ndy68Y5999hnW962G6+tWF66HhwfhsrkX1rhd7r755cuXvsYvGQSxdiVBM4wjc8sxbWdcLMv24uOi\\nuE0Lb0aOg+d+/vnntOtEgf9VWxBnstjoMYXhoaFBCPt99rznuRXkF/h91dzc7GOkdbSCCIiACIiA\\nCIiACIiACIiACIiACIiACIjAxghIIN4YJ+USAREQAREQAREQARFYhwDFUoqXFCHpPpoCKgXLDqyP\\ne/rMGVjenjC6aaaITGtiWg9zvdwrV664NW5DQ4M1NTWltRKEVyZuRVTNFFIpXNP98nWIw9cgDtNK\\nmIHWwO++96598ukndvHiRbcQPnDggFupdnd3QZwcdlfTdJvNtYvpUjveN69kD/+sxYJCMK1ry8rK\\n3H03u8VrQgvtivIK3w9dDWNYq76Qdy+3mf2hy/Jbv/7m14yW3HQF/i//8i/23rvv2kmsw8yxMvAl\\nBZbNLL+XfVdbIiACIiACIiACIiACIiACIiACIiACIpDtBCQQZ/sVUv9EQAREQAREQAREIIsIBEGR\\nXVpJhAtp3FIwpjBJ8Y4CbHlCxKPbabqf7u7udlfPN27edOtiWhLTdTPLhHri7YX9cG6jWEI55qeA\\nOE731xB6xyA65uXlo3+l9vbbb9sHFz+wd95+xy1wKUCWlpZgLeUxe/PNN91V9kOsWUxRe2F+wevZ\\naPvxfOxLcPfMvpARBd1giRzPu9H9ML44F+57OjxZ07qW/LnOc31jg7e30bqzJR9dlnc+emR0C/5/\\n//d/bnHOFw8Yj+GFgxA45jiHkK6tCIiACIiACIiACIiACIiACIiACIiACIhAioAE4hQL7YmACIiA\\nCIiACIiACKxDIC6+bUaMowB6+PBhF1h74CJ4cnLC3TTTIvd3WBO3HTxoFy5cwFq6Ddbc3OKiZuhK\\naDMIoSF9o9tQnvnZj+rqKrTRDLfX7RCj6ar4sK/f+/FHH/kavhSoGSoqKiEWH7Zz587bC7iV7u3t\\ndfGa4jEtpLcSaMH84sULF8i5bjOteg8ebLOqqsptCZvxMVJ4nsb60BMQwKdnpr3PHC/F1EOw4Gb/\\nQ2C5eNmQnm3b6ekZ68U16Hne49bb5Eaxfhaup7d6X2TbGNUfERABERABERABERABERABERABERAB\\nEdgrAhKI94q02hEBERABERABERCBfUZgLWExLtpxn8Is40EIwefPv2UDWAf40cNOuA2+BffNQ3b3\\n7l379dYtd0ldDjfINTU1TiveRnx/oygzy1D8bWxotFNwSzwGV9EUqA8ePGC0Xj5x8oS3H6+bbq/f\\neOMNm5gYN4M1Li2cg+tpjieEzHZCenxL4ba/v99uwmL6yZMnRrG4FescX4RIW1TU7sLtRuqJ15m5\\nT9a0th0eHrZBRO5zzHT13dra6tsggGeWzbZjjiXwWFiYt4nJSR8POdIqmpbXRRhbyMP+x/ezbTzq\\njwiIgAiIgAiIgAiIgAiIgAiIgAiIgAhkCwEJxNlyJdQPERABERABERABEdhHBIJQFxeKOTxa3p48\\nedIFzBs3bljn4063JH70qNO+/+EHK4dlKIVMukQOdWwFS7zdeD0URw+2HbTKqio7dvSozc3PYa3k\\nCl8vmaI088bL0j32qVMnIVhX2xkIxSXFpS4mM29cIA59jJdlWmib6ZMQOJ8+feoukrmOLtfVPf/W\\neauuqvbx0sqXwudmAutlDO3QKpkiNN14v4Sl8tjYmK9DzP66m2/wDXk3086rz5vnbHj9Cgui9ZRr\\na2t9THFmHFtuju/VE1YPREAEREAEREAEREAEREAEREAEREAEXh8CEohfn2utkYqACIiACIiACIjA\\nnhMIYl0QMSnwUQilOHv27Fnr6uqyn3/+2S10KRg3NTXZmTNnXPij9W6wdg3lNzuA0L6XgwVwfn6e\\nry3M9YWbmho8OS0PUuLHbL+pqRn9qbG2tkMuCldB0C0uLk7LF8qEfnIbDzymxfDg4KDdv3/frl+/\\nbhRzKW729fW5eJxZJl5+o/usk228fPnChWK2SZE7uMWmxW08hH7H07JzP+Lp/c2L1pLmWBl3glt2\\njlm9EgEREAEREAEREAEREAEREAEREAEREIHdIZA+Q7Q7bahWERABERABERABERCB15hAECEp5HGf\\nomsLrITfe+89tyTu7u52i1euzfvbr7/atWvXrKK83N7BmsS0et1KCG2mlYWwGA8r5olnwH7oL4Vc\\nCq1IcZF4tbIhndu4cMl9ipkLCwteZ7A+Zj6mMWbmD3VldGnNQ7YxPDIMcXjA2fKYgf3fSn1rNraH\\nJ8mG0VnNL/gazrSS5rrQXIu4HPcLQ2CYy2PdQ6xqSgREQAREQAREQAREQAREQAREQARE4DUlkFo4\\n7TUFoGGLgAiIgAiIgAiIgAjsPQG6POa6vxcgAp8/f94q4PqYa8t2Pn5st2/ftkednbCqndj7ji1r\\nkS6LuX5yAUTWwm0JrRTGaXlMMZOuthk4ZsYgbC5rfpMJi4tLNj017e6rp6amkqXzY66Xd6qtZOV7\\nsEP2tIJ2kR5CP9dWfvnypVtJUyBWEAEREAEREAEREAEREAEREAEREAEREAER2DgBWRBvnJVyioAI\\niIAIiIAIiIAIbINA3KqzqKjIjhw54q6Vu549s0mImZd++snXzH0MkZiupycnUwLnNprNiqK04K2s\\nrLT6+nprbGy0uro6H2um5fBOdJYCcIisj9zz8vOjbUwo3om29qoOugQnM/LjvTM3O2cDAwM2NDRk\\nc3NzyW74WDFGBREQAREQAREQAREQAREQAREQAREQAREQgdUJSCBenY3OiIAIiIAIiIAIiIAI7AIB\\nipd0sUxL2vb2dnvv/fdtFiLfEixpKfi1tLS4RTFF1VwOcUF8AW6RuR4wI0NwMb3T1rysL7ispmUy\\nA4VVuuougfVyaNdPJP6wTLyv8XPZss97hS8UcN3qnp4eF9e5XjUtz1caU7b0W/0QAREQAREQAREQ\\nAREQAREQAREQAREQgWwkIIE4G6+K+iQCIiACIiACIiAC+5xAECXpavrddy9YDQRMWoeOjIzYwYMH\\n7dSpU8ZzIWS7gBn6udKWY52Au2xaRT958sTXzR0fH/esFDd5Poi5K5XfTNri4oKvdcy1h1kvXVlT\\nhG9ra7PKqipf/znUx/MMucCWAve5c+fcxTeZjeI+OX7ihJ1AjNaGDqPSVgREQAREQAREQAREQARE\\nQAREQAREQAREYD0CEojXI6TzIiACIiACIiACIiACu0aAa/K2th7A2rwlVgwxc3Jy0oVhumGm1Wgu\\nB4q+HE9fX5+Lw48ePbKbN2/6PtfQZaA4G+JOjJXr8Y6NjXmcm5v3dXspDlN0p4vrEII4HI6zcRsX\\nrulW+sCBA0kxm1ybm5s9jWsTK4iACIiACIiACIiACIiACIiACIiACIiACGycgATijbNSThEQAREQ\\nAREQAREQgR0gEBf+WB2Pa2tr3UKUomphYaHHXHYxTQF2enrGLYa/+/47u/HLDevs7LRnT59ZV3cX\\nzk07SY69oLAgzbJ3M4gzWVI47e/vd1F6dnbGGhoaXBxuhbhKd8whsH8sm1k+nM/GLe+L1tZWvEBQ\\n6xbXRUWFeLGgOI1dLo0nGxmrTyIgAiIgAiIgAiIgAiIgAiIgAiIgAq8HAQnEr8d11ihFQAREQARE\\nQAREIKsJUAxeyWI4WLrmmvDHfs/MTLs76evXrttXX31l3d3dblHMcwX5BVZaXurr6jY2RNbSW11L\\nN86GdbMeWtVSdG+D5TCth5tgkU1307kcOC4KwowKIiACIiACIiACIiACIiACIiACIiACIiACWycg\\ngXjr7FRSBERABERABERABERglwnExc9dbmpHq6dQS3fPo6OjbkX8uPOxzc7NJtuorKq09957zz76\\n6CM7fvy4W/rGBeKtjpvr8dIVM+ucmppyi9tDhw5ZXV2dr98bOsD6t9pGqENbERABERABERABERAB\\nERABERABERABERCB3CQggTg3r5t6LQIiIAIiIAIiIAIikMUEKL7SJTLdOh85csTOnjvrgjGFY1rA\\ndnR02MWLF+3dd991QXenrHvZ3tGjR21+ft7X6K2trfG2ampq3LI4IMtlcZgMGcMYwjaMTVsREAER\\nEAEREAEREAEREAEREAEREAEREIG1CUggXpuPzoqACIiACIiACIiACIjApglQtKyqqrJTp07Zv//7\\nv9vFDy7a5MSkC5t0/9zS3GLHjh9zC19a9+5UqKystDNnzlhbW5u7sy4qKrKmpiYXqveLkMpx7Jex\\n7NR1Vz0iIAIiIAIiIAIiIAIiIAIiIAIiIAIisBkCEog3Q0t5RUAEREAEREAEREAERGADBChgUpxt\\nbm52i+GTJ0+6y2davtJamOJxQ0PDjq8LzLWcufYwo4IIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI\\nrERAAvFKVJQmAiIgAiIgAiIgAiIgAtskQJGYYjBF4sbGRltcXPQamc71huNrDm+zqRWLU4xmkLXt\\niniUKAIiIAIiIAIiIAIiIAIiIAIiIAIiIAKvLQEJxK/tpdfARUAEREAEREAEREAEdpsAxdkgCO92\\nW5n1s90gEmee07EIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMDrSyD/9R26Ri4CIiACIiACIiACIiAC\\n+5uArIf39/XV6ERABERABERABERABERABERABERABERgKwRkQbwVaiojAiIgAiIgAiIgAiIgAhsg\\nELfgje8Hy+INVKEsIiACIiACGyYQudaHc/0Nl1BGERABERABERABERABERABEXgdCUggfh2vusYs\\nAiKQcwSCqCBLsJy7dOqwCIjAa05gtef2aumvOS4NXwREYB0Cm5U/N5t/neaz/HQYLbvJ/RVE4niW\\n+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\\nCBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/G\\nuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFg\\nUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrE\\ne30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMF\\nFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7\\nFVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQGCygQDwaVjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwWECBeDCodAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENirgALxXp+M\\ncxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGABBeLB\\noNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI\\n9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAYL\\nKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2\\nKqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z\\n5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSD\\nQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ\\n7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGCygQDwaVjgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwW\\nUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjs\\nVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWECBeDCodAQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30y\\nzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgH\\ng0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg\\n3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgs\\noEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDY\\nq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIDAXgUUiPf6ZJyLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQGCygQDwaVjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIE9iqgQLzXJ+NcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECAwWMfeKpwAAEAASURBVECBeDCodAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9PhnnIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINBpSNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxVQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xz\\nESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg\\n0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3\\n+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgso\\nEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYq\\noEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTLORYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcECCsSDQaUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXgUUiPf6ZJyLAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECgwUUiAeDSkeAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIG9CigQ7/XJOBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGCygQDwaVjgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnsVUCDe65NxLgIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwWUCAeDCodAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9iqgQLzXJ+NcBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCygQDwYVDoCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAjsVUCBeK9PxrkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWECBeDCodAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENirgALxXp+McxEgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGCwgALxYFDpCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFcBBeK9Phnn\\nIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGABBeLBoNIRIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgrwIKxHt9Ms5FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwQIKxINB\\npSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBeBRSI9/pknIsAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQKDBRSIB4NKR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0KKBDv\\n9ck4FwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAYLKBAPBpWOAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECexVQIN7rk3EuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDBZQ\\nIB4MKh0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2KqBAvNcn41wECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYLKBAPBhUOgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxV\\nQIF4r0/GuQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBYQIF4MKh0BAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQ2KuAAvFen4xzESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\nYLCAAvFgUOkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwVwEF4r0+GeciQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAYAEF4sGg0hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGCvAgrEe30yzkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBAgrEg0GlI0CAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAwF4FFIj3+mSciwABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAoMFFIgHg0pHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBvQooEO/1yTgXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBgsoEA8GlY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ7FVAg3uuTcS4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMFlAgHgwqHQECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBPYqoEC81yfjXAQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEBgsoEA8GFQ6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7FVAgXivT8a5CBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFhAgXgwqHQECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBDYq4AC8V6fjHMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsIAC8WBQ6QgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBXAQXivT4Z5yJAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgMBgAQXiwaDSESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYK8CCsR7fTKn\\nz/XGFBJfLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ3KaBOdZfag++lQDwY9JbTKQjfMrD0\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZwuoYZ1N9uZtUCB+8+y33Nm/vtiiJIYAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQGAvAupbe3kSC+dQIF6AeROm/WF5E9DdkgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4NYF1MFunXj7DRSIt1uJJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwL0WeOZen/5+Hj7+hUS9nqoDfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIPXCA/UZztA3+5\\n+3p5PkG8r+fhNAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELg1AQXiW6OVmAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAvsSUCC+nefh4/C34yorAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIDA4xBQb7ul56xAPBb2rt6ocR8XAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTdT4C5q\\nVndVf3szHe/03grEY7jv4o2Zf8CyHXNyWQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhcXyBr\\nV9leP9P6zsh/2/dYP8EDWVUgvh8P0pv9fjwnpyRAgAABAgQIECBAgAABAgQIECBAgAABAgQIPGYB\\nNa178PSfuQdnfGxHrH9wnnpsL97rJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBACUfPKrwfx\\ngh7Ki/AJ4vOeZC3enrdTNAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECtyGghneGqgLxdqzb\\nemP5lxPbn4FIAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB+ytwm3Wx26rl3V/thZMrEC/ANNN7\\nfEPd5h+g5uUbEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELgU2Gudao81vUu0vXQUiJefxG28\\ngW6a86b7l1+tFQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLXE7hpDeum+3unvo2cvfvcuzkF\\n4v4jG/mGiVz51b/b+uzIs6zfySoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBmwlct7aV9bTr\\n7u+demSuXv57OadAfLuP7aZvupvuv91XJzsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnxW4\\naY3rpvt/9kRmLgUUiC8p5k/5Xo3uvhdvdG/2u3d3RwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngdsV2EMdTB3u4hkrEN/um/02su/hD9BtvC45CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE7peA\\nutX9el7zaR97gXjEvxS4bo5z/8Bc9z738G3pyAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvdM\\n4Jxa1rl1skpxzn3qvtofkaPmu1f9x1ogHvXQr5Mn9py779z4e/UmdFgCBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIEHIXBuTes6dbOAOvc+S7ij8izl3+X8Yy0Qj3gYt/mG2fqH4TbPMMJIDgIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgYcnsKVGtbXedV2dLWe4bu4Hve+xFYhHvFH28mYe8Voe9Jvb\\niyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIELg1ga21qq1x1znoqLrdbZ7xOq/rVvc8lgLxnh/q\\nOW/cPb+OW32jSk6AAAECBAgQIECAAAECBAgQIECAAAECBAgQILBbga01rHPqYm/Gi936Ot6Msw27\\n52MpEA8D25ho1Jt7VJ6NxxZGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4EYCo+pbo/Lc6MU8\\nxM0PvUAcb5ybXufkuKs36jlnuunrt58AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAT+Aualbn\\n1t9GnGlEjp7XLuYeeoH4psjnPPwtsadiTq3H69kSc9PXbT8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBLQJbalenYk6txzm2xOR5z4nNPY+mfagF4rt+6KfuF+tbYpbeeFv2L+01T4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQOC2BU7Vs7bUyrbE3PbrqPlPnafG3pv+Qy0Q3+QBjHzQkWst33XX\\n4vWdyn0TA3sJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILAlsqVNdtw62JffSuXrza+foxT/4\\nuYdWIL7pA77p/q1vmLU39qm1rfcQR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAuBJZqbKfq\\nXkv7Rp/5pve56f7Rr+dG+R5agfi6GFsf6ta4tXOMyLGW3xoBAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACB+yIwona2NcfWuPtid61zKhCv/wjoinpbb5jIu5S7t9abq+c8o5+psj1jq1ACBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHHLtArMvXm0mltLWOu20buLdfWuC257mXMQygQ38VDvIt7nHoD\\n7eEMp85onQABAgQIECBAgAABAgQIECBAgAABAgQIECBA4HEK7KGWdRdnuIt73Oo76CEUiK8LNOLh\\nRY4ReeI1rOXq3WOOf+ONN16/LoB9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBM4RuKhNLdW1\\nejWtSL8Uf86tM3ZUrqWz5n0ebPsYC8RbH/apuLX1WOut9+aW3ly92Hbux9/5znf+dSnB6fmnppD6\\ndXqHCAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgccrcFGb+nEj0NawYrk312y7HPZiY643n5vW\\n1iLm1PrWPBn3YNr7WiA+9Ya46QM69YZZW++tLZ33nNjea3rt85///NefWFi60xNBBgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgTOF7ioTb22cedS5eqcGlkvNm+/thYxp9Yzz3XayH2b+a9zpk17\\n7muBeNOLa4JGPaClPL03QW8ujrU03xy5G1f3/vuf/dmf/fvlpljJq/ZzTkuAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIEDgBgIXtamsT9W6VWbtzeVabZfievO9ucwVayOuUXlGnOVWczymAvFtQp7z\\nhmljY9zOtWftxcTc1/7gD/7gK1/72tf+33lD/LTovGo/5za1eavabtooiAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4AELRE0qalPTS/za9BXFpHplcanOtf1eTJun3VPH58TWffpF4DEUiLe+UbbG\\nFb7h3VNnaNe/8rd/+7f/3+///n/70uHw0+kw0/JTF1/zn8mYO/crbtF+ZY52/txx9VrbW+P0CRAg\\n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\\nLuNru7S3xugTIECAAAECBAgQIECAAAECBAgQIECAAAEC2wW2/t37Wtw5azW29uPEOW7btbVTsXU9\\n+5kvxktzuZZt7Imrxh9njt8zrtf29mWejD8npu5tz5DjjOnlzZhz2pov9/Xmcu1RtArEpx9zvEnW\\nioDter6pYk/tn77TMaLmy/5anjYmsqydN8+ROXOc+3J+KUeuZ3y07VyOM0eMW486l2vZRs68ci7b\\nnM+2ztd+rvfaiIsrzxn9nIt+XHXtOHP1vcauxV3t0CNAgAABAgQIECBAgAABAgQIECBAgAABAgRu\\nS+Ccv6vvxV5nru7p9XMu23jt2e+17VzG1/no57iu17mYr1fdk/3a1tilfhsf496VcbFWY2q/t6+d\\na/O0+9txb387Z1wE7nuBON4AtVhXXtrcXVtfW2vz5Ljdc2qc+5badv9SXM5nfLY537axXq8wyrns\\n99xq3oyveaJf92VMzi2NM0feO8eZL/flfMZlm/NtfG89Y2Mtrsyd4zo3B2z8dpP9de/G2wkjQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQKPViD/bv86AKf2nrte42s/zlbH2c+2rudctrmW49rWfsTFFXM5\\n3xvXuYzNNtbiqvuPM8fvOV/js59tjW/7dX+7tjbOfWsxda2NPzWue5f6bY4at7YWcafWa67d9e97\\ngfg6oPHAegW73nxvLu/ZrrXjjKttjcl+tHHFmXIuxrUf47xyPvflfLs/56PNPbXf7o+1zJH9aOvV\\n21PX6/52PsZ5jtpmXO5t21jvzeW+XI8282Y/2rUr8ubVvra6FjHteu7TEiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAmMFRv6d/Fqu3lpvLl5dnc9+tvnqc5xt3Zdzp9rcU+Pafox7c3mO2i7FtvO5J/Pm\\nONucz33ZxnquZWy2dT77S/tyPff22jamHdc9vbXeXOxZmq/5HlR/LwXihG+LctfFjnyjcuUZas7a\\nj/V2nHtqmzHRxtWer7eesccdP7sn56Nt98dc3CPnY5z9bGMur5iLK/ccR09+r2duc/T2Z3yuZba8\\nx1KbcdFmTDsX4zxDm38pNueXzpXr57SZa23P2vnW9lkjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\n+gJb/+59S1wvpp1bG+datnHi7Gfbm8u1aGs/YuNq5zPmuHq1p45zT23bXBmf87Wt/V6Ourft1/jo\\n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\\nNl9pHWc/296+XOu1dW6pX+8bMRnXm6/rGVfbXD+nbV9TzZdnWGvzXr2YpbW8R2/P0tx19tRcN91f\\nc6317+o+h7ssEK+94LtcC9y2yJf3r2u1v3W9F1fnsn/q/vUNELH1LNnPNnNuaWveNr6eqReX52j3\\nxbiuLfVzX13PuXPbyBFX75zHlfHf34x7jn8VMhIgQIAAAQIECBAgQIAAAQIECBAgQIAAgYctcKp2\\ncO56L76dy3G2IZz9bHtz7VqOa7u138bFOL/i3nnlXK/NmK1t5Igr29qv+et89Nurja3rNXedj35d\\nq/2Mq3O1n+vZrq1lzINq77pAXIGz4HYd0MxzKkfErcUsrdf57Gcb56399vy9td5c5qn746xrsfla\\nMibac67cn3uW8mRcmz/Pl/trW9dqP2N6c7HWm+/NZR4tAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGBJoK1ttHHnrvfi27kcZxv37PXbuXac+3K+tm2/Hde9sZbrS/N1PWLiyn1b29wzb77Yn/3a5r3a\\nvDUm+xmb42h7c7le17Kf7dreGpO5antqfS13zXOqv+U+p3KcvX7XBeKzDzhwQwBH4bF3La315tu5\\nOq79vM/SXKwvnSfWYl+9atE0+2v7c2/ev80X6zXP2nrmqnvafm+8NLc2H2s3vfJ13TSP/QQIECBA\\ngAABAgQIECBAgAABAgQIECBAgMD9EujVO+oruM56u2dpXOd7/bW5XKtt7cdriHF+1XHt99ZzLtqM\\nzbautevH6OXvNb7tZ97l3U++lhqXuZbm2vV2HPt6c2vzp9Zi/cFcD6VAnA95S8H0Og8v8vdy1/m2\\nn/ep+5bOmXtzPfbWfZkr2158rrVt5KnxOT4Vl+t5jvZsOT6VL/Ocapfy5L5T6xl3W219vbd1D3kJ\\nECBAgAABAgQIECBAgAABAgQIECBAgACB6wnk3+Of2n0qrrfezq2Ncy3bOE+vn3Nb2hqz1s+1vGeM\\nc662OZ9txrdtri+1NT76vavujfUYt1fG1Pmcq/FL/XZfHY/s1/uPzHvnuR5KgbiFiweUhc12Lcan\\n1nt72rmaY6mfe2I9rnqmnMv5miPmclzjYj6uLJbWfDGfe7Ifbb3afRmf96jrOZf7c21pnPN7aPN1\\n3cZZei63cR85CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWWB9u/rlyOfXDm1r11vx5Gtnavj7Gfb\\nxuf8OW2Nrf3MHXN1Psd1rsZmP9q4alzdm/M1Zt5w8S3X2z11/lR8u5572/kc1/Xaz/Vz21M5Tq2f\\ne79dxO+tQJzIbeHzJliRcy1frme7dq8tMe3+3p7eXOzL+bZdyhlx9apF3PY1t7GxL+OzXcqV8724\\nmifjtrZL+bbuF0eAAAECBAgQIECAAAECBAgQIECAAAECBAg8ToFe3WOLxKl97Xo7jnu0c3Wc/Wzb\\n+HY+x2ttb63Otf0Yn5rLc2VstjFfrzqf/WwjLvq9K+fbto3N9Trfm6vrvf6WPRmTbS9PzJ1aX9q3\\nND8639J9Ns/vrUCcBw+oKB6OvrbkzZi2rWfJtZhb68d6fR0RG1edi3Gdr/nqWvTzysLqUp6Mq23d\\nk/frrZ+aq+v3qd+63qezOysBAgQIECBAgAABAgQIECBAgAABAgQIECDwpECv1vFkRH+0tq+3tmWu\\nxmQ/2zjFWj/X1treWp1r+73x0lydz7PGXO8r1utV97bxa3F1Lfq5t863c3mvjM/YOt/O5Vq2ud5r\\nt8T09p2au628p+67ur7XAnHv0AnYFkV7sVvmIt85uTI+2/Yedb72M66di3Fe7TnW1mJPXc8c0bZ5\\nYq7GxnqMM66uRezSfKzllTly3Lan1iN+S0ybd8Q4X2++zpqzutR5fQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGB/Avl3/uecbGnP0nzk7q21c3Wc/WzbHL35mMv5tbau1X7eI+byq85FP65cy/Y4++S9\\n27WM6e3fGltztHnqWuRrrzpX+zUu57Ota2v9c+PvKtfafYas3acCce8Fx4PrFft6sVvmMl/bLu3t\\nxeVc3dPOLY1jPq76mnLuuHL8XtdjpheT8Rnbi1lb27o/80au7Ofett0S0+7JceTO8+bc6Laef+u9\\n6p6l82zNtbTfPAECBAgQIECAAAECBAgQIECAAAECBAgQeEwCW/7ufavHllxrMb21di7H2cbZzuln\\nbLS1X/PU+VP93Nfmq+M2ZstaGxM54sr52h5Xjt9zPmPbtbVxuydytXMXU080bVyOnwi6wWB0vhsc\\n5fyt971A3L7ieBhZjNvSb/cvjWuujLnOXOyJq54xx22+NnbeePEt13Iu8+U42l5MO5fxsb+uteOM\\ny/bUesZle2587ltq86yRN64YZ3+e8I0AAQIECBAgQIAAAQIECBAgQIAAAQIECBC4twJZBxjxArbk\\nWotp1+q49uOsdXxOP2NrW/s1d8z31tr5reOMqznbubh/vep67qvr0c+YOp+x7VpvXPdlvuvOtfva\\ncZ6rvc/SfLv/3o0fWoH43AcQDzaLl1sKjL34nGvvnW+azNvGtePYn3uiX/fFuF65lnN1X85lTF3r\\nzdX4NnZtnPv20sZZ8/XFmfLsdS7P2sbmvJYAAQIECBAgQIAAAQIECBAgQIAAAQIECBB48wXy7/hH\\nnORUrqX13nw7tzaua6f6uV7b2g+HOq79XKtz0d8yrnE1T+5t59r4WI8r52t7XHlyLeeyrfeJuTrO\\nXBlb2zau3Vtj237uzbZdfxTjx14gHvmQ442Uxcjaj3tsGUdc7s897VyM42rftLmvnY/Y3lpvLmJH\\nXZE/X3PvTKPuc5M8eb6lHO2502wpfm2+zbUWa40AAQIECBAgQIAAAQIECBAgQIAAAQIECBC4vsA5\\nfye/Fttba+fWxnXtVD/X19q6VvshFeM6d8647s8c7VzN11uLufZq98T60lzdW8+Qe3K9Xct57ZkC\\nT58Z3wu/buHs1L6l9Xb+nHGN7fVzbkvbi6lz0W/H6VfXYq4dL80t7W/n8745n/nqOOdqbHuOupbx\\nmSPXsm3XM05LgAABAgQIECBAgAABAgQIECBAgAABAgQIELgrgXOKiGuxvbV2bm1c1071c31L24up\\nc9Fvx2lf12Iux9kuzbX7a3xvT6znlbG9uTamjrMfbbv31FzGn2qX8rTzMX5Q10P4BHE83FqkbMe3\\n9cB696lz0Y8rz3ZqrcZGv90fc3HlfPRr7hjXq7fWm6t77qqfFtnGfc/tt3t645yLNl979PPqWeZa\\n29bYutbLW9f1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgfECS39vf+pOp/Ytrbfza+O6dqrfW8+5\\nXntqLtZrTNtfGodb7s2Ydi7XYz6uHNf448rVWo5rfM7l/jqu/Zq39mtM9m+zbe/djm/z3reS+z4W\\niAP9topymXup7T2ENjZici7j67jtR0z7enoxmavGRlxcOZfj4+zx+9paxkVM3VvHtZ/x123r67pu\\nDvsIECBAgAABAgQIECBAgAABAgQIECBAgAABArWucY7GqX1L6+382riunernerbxWrLfa0/N1fW2\\n3xu3c2kZ8+1Xu5bjaNdia1yNzfk8Q67lfDvOuGxrXPZzbanNuJFt3mtkzlvNtecCcWJmgXMEROTM\\nfLW/NXfuyba3r12r46V+5Im1vGpRNs8bazUmxrmW8znuxcZcXhmX+3J+qY34rbFLOW5rPs6Vryfu\\nkeesc3U++u1au74UE/Ptlfdr5+u4d7+6rk+AAAECBAgQIECAAAECBAgQIECAAAECBAhcCWz5u/er\\n6PXellxrMb21U3N1/VQ/17ONV5P9XnvOXI2NfjtOuVxr13PcxrXj3J/z0da57Pfy5Z66VvuZK+Pa\\nNmOzbdfXxnVP7a/t2bo2Ot/W+26K23OBeNML2BAUD2Bkga7my3629TgxF1feu8a0/RoX/d56jcnc\\nMRdX3KM3F2s534uJ9bxOrZ8bl/HR1tdT57f26/7a37r/OnEj7xO5XAQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgMDdCmz9+/m1uN5aO1fHtR+vto57/Zxr27q3rtV+G1PXot+OM7631ott49uYmqeNjXFc\\nuec4Oo7r3Fq/rtX9bd5eXMZfpx2d7zpnuNU9Tw/IngXQ66TasrcXs2Wuxiz148y51rZrazW29ts9\\nsdauZ0ydr3G5Hm1c7dra3Lxh5Vubqx3XrbF202vLH6Aas9Q/dY66L2Njrjcf62trub/GLeWpsfoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAmy+QNYAtf7efsb1TL6318ta56/ZzX9vG2epc7a+t1bjo\\n13Hsi6vO13GNzZje3Jyk5MmYmqvt1z21n3uzrWuZI+eyPRXbrtc8vbXMW9s2rh3X2HP7I3Odde83\\n+xPE+cJHFSO35Il7rsWdWm+BMz7bres1Pvpx5bnW1iKuF1/3r8XE2tIV98/cSzFv1vwWk/Tbesb6\\nWk/trbE1/6l9NVafAAECBAgQIECAAAECBAgQIECAAAECBAgQGCOw9Pf2p7Jv3deLa+fOGdfYXj/n\\n2jZeT52r/bW1GrfW761l3lyLcVwxrnPteCkm5uNq42uuXK9t9OuV8dnWtbX+qfhT65l7a1zGL7Wj\\n8izlPzn/ZheITx5wISDgzinMbYnvxeTcUpvHy/UYZz/auOKcOTdPlHGNibU6rv26Fv187adicj32\\n1CvPlHN1XPu5fhttnC1fx1L+LTF1by8+DU7dq+Y5p5/51/bc1r3X7mmNAAECBAgQIECAAAECBAgQ\\nIECAAAECBAjcV4Etf/d+3dd2KvfSem++navj2o+z1nH2s63rOZdtu5bzvbbO1X7mqHPRPzWu+zK2\\nzkU/rsy1FJPrx+ir+Nyb83Vc97R5l+Lb/TWurrXzdVzvVeeX+ufGL+W50/n7WiAOpABfK7z9/+3c\\n67LlKo4w2o743v+dT6vWUS8lBRhsz+sajqgEJHHx8Mw/Seya5Wuu9hO/F8tcbdu6dlxrox/5eOLc\\ntbbGI3+Ui5p4cp2f0X//WfO1vzK3rWnn//duv5F6/t/oWm82t82149kOUZtPvEv71HzkejXtHGMC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgfoH23+yv7LCy1pmads5sPMrVePZHbRhEbpSv8TP92ZzI\\nHeXjfPHU2hz/JzHJtXOyvra5f8baccbbtldXY7W/MrfWzObWurfrf/IF8S5mfKSjS79ZTebaNs+R\\n8Rj3+qNY1Oe5oiaeGNd+xGbjNtfW13z2o+ZdnjhTGrRnmuWits3n+43Wa9cfjXOdzF9Zr10r19QS\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC9wqc+Tf52Zxe7ijW5uv4qJ/5tg2liLXx3rjG7ujnF4q1\\neutFvuba8VEu6uOpa/9EfmM13+Z687Im26zJca9dqenN+7jYJ1wQx8dYvZzbqV39WEdrtvkcRxtP\\nnD1jMc5+thmLNt9zlIt4PrlujOu8zNe2rc11VuJ1nWf16/u3e85ytba+Y41Hf5Zra3Occ3Kcbdrn\\nWEuAAAECBAgQIECAAAECBAgQIECAAAECBAg8XmD07/Y7O8/W2Mm1tXVc+3G2Ou71M9a2ObeN98ZH\\nsZqf9Xu53jmiblYbc+KpdTmube3X2lw78vG045/o759H+d/K9d7Omju16ye4sfITLojjdQPyzEXc\\nbF7N1X7y9mKjXNZmm3XR1lj2s+3lI9Ze3M7qMhdtfeoaNd72V+vaeWfH9d3rGqN41LS53jjqer+R\\nqI1nlhvl/zPx4I9cf1bW23tWL0eAAAECBAgQIECAAAECBAgQIECAAAECBP6ywMq/vZ/1OVp7lu/l\\n2thsPMrVePbbNt43Ym28N96J1dpZv+bSPmIZj1jbz/FRXW9uxOpT1+rFayz7OSfH0dZY7deatq7N\\nzcazNWfznpr7lAviEUog71y+rdTXmuy3bZ4n4znOthc/itV824914z0jHk/t/0R+/kyLXl2dU/t1\\n/tV+PXe7Vi/Xi+W8Nnc0jnltTa610sbc+qRljZ3tt2ufXcc8AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAYE9g99/oR/W9eBvbGdfa7Gcbb5j9M21vzlGs5nv9PFMvF7FePOdEG0/WtP3/JJv8LNabn2u3\\nba82165tzquxWX+3frbW03P/76Ydr16mrcwf1fTibayOaz9ev457/YxlW+dkbNT2attYO7fme/1R\\nfcZ7cyLWPrU+c6uxrD/bjv7SjOKjfXr1EZvFe7ne+rlOtr0aMQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOC9BPLf9bNdOV3WRts+mevFj2J1vdqPeTnOtsZqP/Nn2t6cUWwUz7Nkvh3P4pmLtvZjjXhq\\nrPYz14tlrtdGrH1yjYiP+rM57by29hXj+h6n9r/rvyCOg/QuF08d6sGTzp716rw6P/vRxhN2GYtx\\nr5+1kc8nzUe5jNf1M5ZrRJv5o1jN39WP8+R7tGu2uXYc9b3YLJ65aEf7Rq59Yp/es7NGb74YAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsC8w+nf7nZWO1hjle/E2NhvX3FE/81fa3twaq/3wi3GNteM0\\nbuN1Tq1p++28Xj5jO23uvzMnas/O293njvpbznrXBXHF+7QLs4DMM9d+fqRZLHOjNteobVsbuRqL\\ncZwnYvFkv3fGrPmp/Pc96tzMj2I7+Vq70s93W6mNmrb+aNybk3u1czOebeTzSd8cr7Z1jdGcs2uP\\n1hMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfLLDyb+9n33917VFdL97Gdsa1NvvZxjtm/462rlH7\\nuc8sNqrJeLTx1DVG/Z/Kf2sz1rZ1jciNxnVe1oxivXytfcf+rWd+5MXVmbVX5vRqVmJtTR3v9LO2\\nbePH0sZi3Iu1tbWm9rOuxnb7vTV2Y1l/pq1zVvuzusjFkw4/o58/e7HMz3JZU9vd+jpXnwABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgPgd2LtVl9L3cUa/N1vNPP2ittb+6ZWJ2z0o9fQtSNajPftrW+\\n5mp/pabWz/ptrjfeiUVtffKsNXbUPzPnaM3/ufO/ID7c7EsK4kPE5WHbjl5vpS5rYo3s1zbiuees\\nH7n2qfMyV2PZzzZrapu5tq01j+ynRd1jNZZzoj6feI+jp9ZH7cqcozXlCRAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgccKtP++v7LbypxezUqsranjnX7Wtm28XxuLcS/W1taa2s+6Gqv9o3yvNubEk7mf\\n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\\nHQLvcJF45xnuWOuONfLXcedaueasffZ+s7M8NPcXL9he8c537nnXWnet0/5AH7Vuu887jP/Su76D\\ntzMQIECAAAECBAgQIECAAAECBAgQIECAAIEq8Gcu9P73pR/1rnete9c68X3vXKv+Xmb9V+w5O89D\\nc3/1gutV7333vneud+dasx/ts/aZnUGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIPBOAs+6oLxz\\nnzvXim9x93qr3/dV+66e7/a6v3xZ96p3f9S+j1j3EWuu/ohfuffqGdURIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBGYCr7x8fMTej1gz/B617uzbvHLfo3M9NO8S7n/+55UGj9r7UevGj/GRa9/9Y/+k\\ns9797tYjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIErgm86tLyzKkfedZHrf2odVf8Xrn3yvkeWuMC\\n7Yf31Q6P3P+Ra9cf57P2qXvqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgT+ksCzLjYfuc8j1175\\nLbx6/5UzPrTGpd6/vK/2ePT+j17/X83f0av2/T2BHgECBAgQIECAAAECBAgQIECAAAECBAgQIEDg\\nMwRedYH56H0fvf7R1331/kfne1rexd1/U7+DybPO8Kx9/lu5H3m38/RPKUqAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQ2Bd4twvKZ53nWfvMvsg7nGF2vqfmXMiNud/F5tnnePZ+4y+wnvnEM6+/nUoC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgnQQ+8bLx2Wd+9n6j38e7nGN0vpfEXazN2d/N51XnedW+\\n868jS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0Aq86lL0Vfu275/jdztPnuvlrYu/tU/wbk7v\\ncJ53OMPa11NFgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhOgXe4BH2HM9Sv+27nqWd7i75LvvXP\\n8K5W73iudzzT+pdWSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4H4F3vPB8xzPFF3vXc73Pr+l/\\nT+Iib/9zvLvZu58vxT/lnHleLQECBAgQIECAAAECBAgQIECAAAECBAgQIEDgboFPudB893O++/nu\\n/t1cWs8l3Xm+T7D7hDPufoFvfKddA/UECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAewl84wXlJ7zT\\nJ5zxvX6p/3sal23XP8knGX7SWa9/meetwPV51nYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIuBR/z\\nG/gk108662O+1oVVXWxdwGumfqrlp5674TckQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYFPjU\\nC9ZPPffiZ3lOmcvB+50/3fTTz3//F7UiAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCzBT79YvXT\\nz/9Wvx6XgY/7HN9m+23v87gvb2UCBAgQIECAAAECBAgQIECAAAECBAgQIECAwGsEvu0i9dve5zW/\\nimZXl34NyAOGf8H4L7zjA34aliRAgAABAgQIECBAgAABAgQIECBAgAABAgQIbAv8hUvTv/CO2x/+\\nrgku9u6SXFvnL3v/5Xdf+3WoIkCAAAECBAgQIECAAAECBAgQIECAAAECBP66wF++GP3L7/7U371L\\nu6dy/99m3P+P4rDD6pBIAQECBAgQIECAAAECBAgQIECAAAECBAgQIPBmAi471z8Iq3WrWypdvt3C\\neGkR3+AS38Mm+y4Po7UwAQIECBAgQIAAAQIECBAgQIAAAQIECBB4moDLx6dRb23ku2xx3VvsEuxe\\nz6ur+R5XBc0nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4RwGXwm/yVVxIvsmH6BzDt+mgCBEg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHyMgEvhN/xULiHf8KN0juQ7dVCECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE3k7ApfDbfZJ/D+Ti8V+PTxn5bp/ypZyTAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIPDdAi6EP+z7umj8sA82OK7vOIARJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQuFXA\\nhfCtnM9fzMXi882ftaNv+yxp+xAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvlPAZfAXfleXiF/4\\nUSev5HtPcKQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9YwGXwH/n4Lgz/yIc+eE2/gwMgaQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAlwi4CP6SD3n2NVwMnpX7W/P8Tv7W9/a2BAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwOcKuAD+3G/3lJO7+HsK85/YxG/pT3xmL0mAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAi8UMDl7wvxv2Vrl3rf8iU/+z38Dj/7+zk9AQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nsC7gknfdSuUDBFzMPQDVkl8h4O/GV3xGL0GAAAECBAgQIECAAAECBAgQIECAAAECf1zAZewf/wF4\\nfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD7BP4/lAOziQiZtnUAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 17,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Image(filename=\\\"images/5-01.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## KNN \\n\",\n    \"\\n\",\n    \"Given: \\n\",\n    \"- Training data D={x_i,y_i}\\n\",\n    \"- Distance metric d(q,x) <- Represents domain knowledge\\n\",\n    \"- Number of neighbours k <- Also represents\\n\",\n    \"- Query point\\n\",\n    \"\\n\",\n    \"Algorithm:\\n\",\n    \"- $NN = \\\\{ i: d(q,x_i) \\\\text{ k smallest} \\\\}$\\n\",\n    \"    - If there are more than k that are closest, just take all of them. So take smallest number $\\\\geq$ k.\\n\",\n    \"Return:\\n\",\n    \"- Classification: Vote of $y_i \\\\in NN$, take the plurality (which one occurs the most). You can tiebreak e.g. by picking randomly or by picking the one that's more frequent in the entire dataset.\\n\",\n    \"    - Could also do a weighted vote (weights depend on how far away you are). E.g. weight by 1/distance.\\n\",\n    \"- Regression: Take the mean of the $y_i$s. Don't have to worry about a tie.\\n\",\n    \"\\n\",\n    \"Simple algorithm but a lot left up to the designer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running Time and Space\\n\",\n    \"\\n\",\n    \"Given n sorted data points in R1 mapping to labels in R1.\\n\",\n    \"\\n\",\n    \"1-NN query running time: binary search. Query space: constant because data storage accounted for in learning space.\\n\",\n    \"\\n\",\n    \"KNN query running time : lgn + k, similar to merge sort. If k >= n/2 it dominates -> O(n), else log n dominates. Query space is constant because we can point in place. List is sorted so only need to point to first and last nearest neighbours.\\n\",\n    \"\\n\",\n    \"Linear Regression\\n\",\n    \"- Learning running time: involves inverting a matrix but this is scalar laned so we can just scan through the list to populate a constant-size matrix. n.\\n\",\n    \"- Learning space: 1 (m and b)\\n\",\n    \"- Query running time and space: 1\\n\",\n    \"\\n\",\n    \"KNN learning is fast and querying is slow. With linear regression, learning is expensive and querying is cheap.\\n\",\n    \"- If we query more than n times, NN is worse in terms of running time.\\n\",\n    \"- Tradeoff: Want to balance the two.\\n\",\n    \"- NN: Put off doing any work until you have to. **Lazy** learners vs linear regression **eager** learner.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/5-07.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### How KNN alg works\\n\",\n    \"\\n\",\n    \"e.g. R2 -> R\\n\",\n    \"- Distance metrics\\n\",\n    \"    - Euclidean distance metric\\n\",\n    \"    - Manhattan distance (l1?) (The distance between two points in a grid based on a strictly horizontal and/or vertical path (that is, along the grid lines), as opposed to the diagonal or \\\"as the crow flies\\\" distance.)\\n\",\n    \"\\n\",\n    \"Different k and distance metrics can give completely different answers depending on the assumptions you make about your domain.\\n\",\n    \"\\n\",\n    \"- KNN tends to work well.\\n\",\n    \"\\n\",\n    \"### Preference biases of KNN\\n\",\n    \"*Our belief about what makes a good hypothesis.*\\n\",\n    \"- Locality -> Near points are similar\\n\",\n    \"    - Further biases depending on distance function used\\n\",\n    \"- Smoothness (Expecting functions to behave smoothly) -> Averaging (Think intermediate value theorem or something)\\n\",\n    \"- ALl features matter equally (as opposed to $y = x_1^2 + x_2$.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Curse of Dimensionality\\n\",\n    \"\\n\",\n    \"(In separate notebook)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Other stuff\\n\",\n    \"- Distance metric d(x,q) \\n\",\n    \"    - Euclidean (cont), \\n\",\n    \"    - Manhattan, \\n\",\n    \"    - weighted versions (can weight different dimensions differently to deal with the Curse of Dimensionality)\\n\",\n    \"    - Mismatches (Discrete)\\n\",\n    \"    - (Comparing convoluted features)\\n\",\n    \"- How you pick k\\n\",\n    \"    - Special case: Consider k = n with a weighted average.\\n\",\n    \"    - -> Regression-y thing on a subset of points. **locally weighted regression**. Can throw in nn, dt. (Replace average with regression or dt allows you to do more powerful things. \\n\",\n    \"        - E.g. locally weighted linear regression -> Get something like a curve. Cool because we start with a hypothesis space of lines but end up being able te represent a hypothesis space that is strictly greater than the space of lines (with locally weighted linear regression).\\n\",\n    \"        - Allows you to take local info and build concepts -> can build arbitrarily complicated functions.\\n\",\n    \"    \\n\",\n    \"    \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"Domain KNNowledge!\\n\",\n    \"- Instance-based learning\\n\",\n    \"- Lazy vs eager learners\\n\",\n    \"- KNN (K Nearest Neighbours) (Lazy learner)\\n\",\n    \"- Nearest neighbour: Similarity function (distance)\\n\",\n    \"- Classification vs regression (KNN can handle both)\\n\",\n    \"- Averaging\\n\",\n    \"- Composing different learning algorithms e.g. via locally weighted \\\\$x regression\\n\",\n    \"- Curse of Dimensionality: The more features you include, the more data you need (exponentially) to produce an equally accurate model\\n\",\n    \"\\n\",\n    \"+ 'No Free Lunch' theorem: for any learning algorithm, if you average over all possible instances, it's no better than random.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Doesn't work\\n\",\n    \"\\n\",\n    \"def imgshow(file_name):\\n\",\n    \"    Image(filename=file_name)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.6.2 Bayesian Learning.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Bayesian Learning\\n\",\n    \"\\n\",\n    \"Thinking omore generally about learning theory\\n\",\n    \"\\n\",\n    \"Claim we're trying to **learn the best hypothesis we can given data and some domain knowledge**.\\n\",\n    \"\\n\",\n    \"Try to be more precise about 'best': **most probable** hypothesis (most probably the correct one). I.e. **$$\\\\text{argmax}_{h\\\\in H} P(h|D)$$**, where D is data.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Bayes's Rules\\n\",\n    \"$$P(h|D) = \\\\frac{P(D|h)P(h)}{P(D)}$$\\n\",\n    \"\\n\",\n    \"Follows directly from the chain rule in probability. Numerator is probability of D and h together (conjunction).\\n\",\n    \"So $$Pr(a,b) = P(a|b)*P(b)$$.\\n\",\n    \"\\n\",\n    \"Ask what each term means: \\n\",\n    \"- **P(D)** is your prior belief for seeing a particular set of data.\\n\",\n    \"- **P(D|h)**: Likelihood we'll see some data where a hypothesis is true. Data is training data. Is set of inputs and labels corresponding to those inputs. $D = \\\\{(x_i, d_i)\\\\}$. **P(seeing labels $d_i$)** where h is true and we have inputs $x_i$.\\n\",\n    \"    - P(D|h) is a lot easier to compute.\\n\",\n    \"    - ? version space.\\n\",\n    \"    - Kind of like accuracy?\\n\",\n    \"- **Pr(h)**: Prior on hypothesis. Encapsulates belief that a hypothesis is likely or unlikely compared to other hypotheses. I.e. our **domain knowledge**.\\n\",\n    \"\\n\",\n    \"vs kernels and similarity functions for domain knowledge.\\n\",\n    \"\\n\",\n    \"**Priors matter**. E.g. if we only give the test to people who have certain symptoms (add evidence), you can increase the spleentitis prior. It's actually changing the posterior but you can think of it as a prior. IT depends where you are in the process when you're thinking of it as a prior.\\n\",\n    \"\\n\",\n    \"Q: What's the boundary of the prior at which a pos result will make you believe someone has spleentitis?\\n\",\n    \"(Philo Q: so what)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Algorithm\\n\",\n    \"\\n\",\n    \"For each $h \\\\in H$,\\n\",\n    \"\\n\",\n    \"calculate $P(h|D) \\\\sim P(D|h)P(h)$\\n\",\n    \"\\n\",\n    \"(Denominator doesn't change maximal h)\\n\",\n    \"\\n\",\n    \"Output: \\n\",\n    \"$h_{map} = argmax_h P(h|D)$\\n\",\n    \"\\n\",\n    \"MAP = maximum a posterior. Max posterior given all priors.\\n\",\n    \"\\n\",\n    \"Hard to say what P(h) is.\\n\",\n    \"\\n\",\n    \"So it's common to drop P(h) and compute\\n\",\n    \"\\n\",\n    \"$h_{ml} = argmax_h P(D|h)$\\n\",\n    \"\\n\",\n    \"ML = maximum likelihood hypothesis. Maximum a-priori hypothesis.\\n\",\n    \"- Dropping P(h) -> Uniform prior. We're saying our prior hypotheses are equally likely.\\n\",\n    \"\\n\",\n    \"But **not practical** because we need to look at every h in H.\\n\",\n    \"\\n\",\n    \"### e.g.s\\n\",\n    \"\\n\",\n    \"1. Given {<x_i, d_i>} as noise-free examples of c. Binary classification problem.\\n\",\n    \"2. c is in H, finite hypothesis class.\\n\",\n    \"3. uniform prior (uninformed prior)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- $P(h) = \\\\frac{1}{|H|}$\\n\",\n    \"- $P(D|h) = 1$ if $d_i=h(x_i) \\\\forall x_i, d_i \\\\in D$, $P(D|h) = 0$ otherwise.\\n\",\n    \"- $P(D) = \\\\sum_{h_i \\\\in H} P(D|h_i)P(h_i) = \\\\sum_ {h_i \\\\in VS_{H,D}} 1 * \\\\frac{1}{|H|} = \\\\frac{|VS|}{|H|}$\\n\",\n    \"\\n\",\n    \"P(D|h) = 1 if H is in the version-space of D.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/2.6.4 Bayes NLP project.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"sample_memo = '''\\n\",\n    \"Milt, we're gonna need to go ahead and move you downstairs into storage B. We have some new people coming in, and we need all the space we can get. So if you could just go ahead and pack up your stuff and move it down there, that would be terrific, OK?\\n\",\n    \"Oh, and remember: next Friday... is Hawaiian shirt day. So, you know, if you want to, go ahead and wear a Hawaiian shirt and jeans.\\n\",\n    \"Oh, oh, and I almost forgot. Ahh, I'm also gonna need you to go ahead and come in on Sunday, too...\\n\",\n    \"Hello Peter, whats happening? Ummm, I'm gonna need you to go ahead and come in tomorrow. So if you could be here around 9 that would be great, mmmk... oh oh! and I almost forgot ahh, I'm also gonna need you to go ahead and come in on Sunday too, kay. We ahh lost some people this week and ah, we sorta need to play catch up.\\n\",\n    \"'''\\n\",\n    \"\\n\",\n    \"#\\n\",\n    \"#   Maximum Likelihood Hypothesis\\n\",\n    \"#\\n\",\n    \"#\\n\",\n    \"#   In this quiz we will find the maximum likelihood word based on the preceding word\\n\",\n    \"#\\n\",\n    \"#   Fill in the NextWordProbability procedure so that it takes in sample text and a word,\\n\",\n    \"#   and returns a dictionary with keys the set of words that come after, whose values are\\n\",\n    \"#   the number of times the key comes after that word.\\n\",\n    \"#   \\n\",\n    \"#   Just use .split() to split the sample_memo text into words separated by spaces.\\n\",\n    \"\\n\",\n    \"def NextWordProbability(sampletext,word):\\n\",\n    \"    corpus = sampletext.split()\\n\",\n    \"    dict = {}\\n\",\n    \"    for i in range(len(corpus) - 1):\\n\",\n    \"        if corpus[i] == word:\\n\",\n    \"            if corpus[i+1] in dict:\\n\",\n    \"                dict[corpus[i+1]] += 1\\n\",\n    \"            else:\\n\",\n    \"                dict[corpus[i+1]] = 1\\n\",\n    \"                \\n\",\n    \"    return dict\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/2-supervised-learning/README.md",
    "content": "# 2 Supervised Learning\n\nLessons in this module:\n1. Supervised Learning Tasks\n2. Decision Trees\n3. Artificial Neural Networks\n4. Support Vector Machines\n5. Nonparametric Models\n6. Bayesian Methods\n7. Ensemble of Learners\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/3.1.3 More Clustering-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Clustering\\n\",\n    \"\\n\",\n    \"Each algorithm is its own problem because there are many definitions of clustering.\\n\",\n    \"\\n\",\n    \"## 1. Single Linkage Clustering\\n\",\n    \"(Hierarchical agglomorative clustering. SLIC HAC)\\n\",\n    \"- Consider each object a cluster (n o bjects)\\n\",\n    \"- Define intercluster distance as the distance between the closest two points in the two clusters\\n\",\n    \"- Merge two closest clusters\\n\",\n    \"- Repeat n-k times to make n clusters\\n\",\n    \"\\n\",\n    \"Interesting: **median** distances. A non-metric statistic. Only ordering matters.\\n\",\n    \"\\n\",\n    \"### Characteristics\\n\",\n    \"- Deterministic\\n\",\n    \"- If doing in space where distances are equal to edge lengths on a graph, SLC is the same as a **minimum spanning tree**.\\n\",\n    \"- Running time O(n^3).\\n\",\n    \"    - Repeat k times (worst is n/2):\\n\",\n    \"        - Find two closest points O(n^2)\\n\",\n    \"        - Merge clusters together \\n\",\n    \"\\n\",\n    \"? Methods: Fibonacci heaps, hash tables.\\n\",\n    \"\\n\",\n    \"## 2. Soft Clustering\\n\",\n    \"- Allows for points to be shared -> Probabilitistically in certain clusters\\n\",\n    \"\\n\",\n    \"Assume the data was generated by\\n\",\n    \"1. Select one of K Gaussians (fixed known variance) uniformly\\n\",\n    \"2. Sample X_i from that Gaussian\\n\",\n    \"3. Repeat n times\\n\",\n    \"\\n\",\n    \"Task:\\n\",\n    \"Find a hypothesis h=<\\\\mu_1,...,\\\\mu_k> that maximises the probability of the data (ML -> maximum likelihood)\\n\",\n    \"\\n\",\n    \"ML mean of the Gaussian $\\\\mu$ is the mean of the data\\n\",\n    \"- Calculate mean of Gaussian by calculating sample mean\\n\",\n    \"\\n\",\n    \"What if there are k of them? -> Hidden Variables. \\n\",\n    \"$<x, z_1, z_2, ..., z_k>$ where $z_i$s indicate which cluster x is in.\\n\",\n    \"\\n\",\n    \"### **Expectation maximisation**\\n\",\n    \"$z_{ij}$ represents the likelihood element i comes from cluster j.\\n\",\n    \"Prop to p(el 1 was produced by cluster j).\\n\",\n    \"Pass that clustering info z to maximisation step\\n\",\n    \"Maximisation step: Compute means for clusters. if $z_{ij}$ is thought of as a {0,1} variable, it's like assigning elements to clusters. But because they are probabilities, we're soft assigning.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- All points have some non-zero probability of being in each cluster.\\n\",\n    \"    - Makes sense because Gaussians have infinite extent\\n\",\n    \"\\n\",\n    \"#### Properties of EM\\n\",\n    \"- Monotonically non-decreasing likelihood\\n\",\n    \"    - i.e. generally goes in a good direction?\\n\",\n    \"- Does not converge (does in practice) (vs K Means does)\\n\",\n    \"- Will not diverge (bc working in probability space)\\n\",\n    \"- Can get stuck (Local optima problem) -> random restart\\n\",\n    \"- Works with any distribution (if E, M solvable). Usualy E (estimation) is harder. E-> probabilistic inference, Bayes stuff. M counting things.\\n\",\n    \"\\n\",\n    \"#### K-means arguments\\n\",\n    \"- Finite number of configurations\\n\",\n    \"    - Not getting worse w.r.t. error metric\\n\",\n    \"    -> As long as you have a way of breaking ties, you have to stop.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Clustering properties\\n\",\n    \"\\n\",\n    \"- Richness\\n\",\n    \"    - For any assignment of objects to clusters, there is some distance matrix D such that P_0 returns that clustering $\\\\forall c \\\\exists D | P_0 = c$\\n\",\n    \"    - Any clustering could be an output\\n\",\n    \"- Scale-invariance\\n\",\n    \"    - Scaling distances by value (e.g. doubling everything or changing units) does not change the clustering $\\\\forall D \\\\forall K > 0 P_D = P_{KD}$\\n\",\n    \"- Consistency\\n\",\n    \"    - Shrinking intracluster distances and expanding intercluster distances does not change the clustering $P_D=P_{D'}$\\n\",\n    \"    - Use domain knowledge. & like making similar things more similar and different things more different.\\n\",\n    \"\\n\",\n    \"D -> Clusters partitions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Impossibility Theorem (Kleinberg)\\n\",\n    \"\\n\",\n    \"No clustering scheme can achieve all three of\\n\",\n    \"- Richness\\n\",\n    \"- Scale invariance\\n\",\n    \"- Consistency\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"- Clustering: the idea\\n\",\n    \"- Connection to compact description (?)\\n\",\n    \"- Algorithms\\n\",\n    \"    - K means\\n\",\n    \"    - SLC (terminates fast)\\n\",\n    \"    - EM (soft clusters)\\n\",\n    \"- Clustering proprties and the Impossibility Theorem\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/3.2.2 Feature Selection-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Selection\\n\",\n    \"Minimal number of features it takes to capture trends in the data.\\n\",\n    \"- Select best features\\n\",\n    \"- Add new features\\n\",\n    \"\\n\",\n    \"**Process**\\n\",\n    \"- Use human intuition\\n\",\n    \"    - POIs send emails to each other at a higher rate\\n\",\n    \"- Code up new feature\\n\",\n    \"    - Int number of messages to this person from POI\\n\",\n    \"- Visualise\\n\",\n    \"    - Does the new feature give discriminating power between POIs?\\n\",\n    \"- Repeat\\n\",\n    \"    - Can we do better? E.g. scale featre by total number of messages to or from that person.\\n\",\n    \"\\n\",\n    \"Observe\\n\",\n    \"- Outliers\\n\",\n    \"- Mixture of labelled points: Are there chunks in your visualisation where there are only one category of labels? (e.g. if <20% of emails sent to POIs -> all not POIs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#!/usr/bin/python\\n\",\n    \"\\n\",\n    \"###\\n\",\n    \"### in poiFlagEmail() below, write code that returns a boolean\\n\",\n    \"### indicating if a given email is from a POI\\n\",\n    \"###\\n\",\n    \"\\n\",\n    \"import sys\\n\",\n    \"import reader\\n\",\n    \"import poi_emails\\n\",\n    \"\\n\",\n    \"def getToFromStrings(f):\\n\",\n    \"    '''\\n\",\n    \"    The imported reader.py file contains functions that we've created to help\\n\",\n    \"    parse e-mails from the corpus. .getAddresses() reads in the opening lines\\n\",\n    \"    of an e-mail to find the To: From: and CC: strings, while the\\n\",\n    \"    .parseAddresses() line takes each string and extracts the e-mail addresses\\n\",\n    \"    as a list.\\n\",\n    \"    '''\\n\",\n    \"    f.seek(0)\\n\",\n    \"    to_string, from_string, cc_string   = reader.getAddresses(f)\\n\",\n    \"    to_emails   = reader.parseAddresses( to_string )\\n\",\n    \"    from_emails = reader.parseAddresses( from_string )\\n\",\n    \"    cc_emails   = reader.parseAddresses( cc_string )\\n\",\n    \"\\n\",\n    \"    return to_emails, from_emails, cc_emails\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### POI flag an email\\n\",\n    \"\\n\",\n    \"def poiFlagEmail(f):\\n\",\n    \"    \\\"\\\"\\\" given an email file f,\\n\",\n    \"        return a trio of booleans for whether that email is\\n\",\n    \"        to, from, or cc'ing a poi \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    to_emails, from_emails, cc_emails = getToFromStrings(f)\\n\",\n    \"\\n\",\n    \"    ### poi_emails.poiEmails() returns a list of all POIs' email addresses.\\n\",\n    \"    poi_email_list = poi_emails.poiEmails()\\n\",\n    \"\\n\",\n    \"    to_poi = False\\n\",\n    \"    from_poi = False\\n\",\n    \"    cc_poi   = False\\n\",\n    \"\\n\",\n    \"    ### to_poi and cc_poi are related functions, which flag whether\\n\",\n    \"    ### the email under inspection is addressed to a POI, or if a POI is in cc\\n\",\n    \"    ### you don't have to change this code at all\\n\",\n    \"\\n\",\n    \"    ### there can be many \\\"to\\\" emails, but only one \\\"from\\\", so the\\n\",\n    \"    ### \\\"to\\\" processing needs to be a little more complicated\\n\",\n    \"    if to_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not to_poi and ctr < len(to_emails):\\n\",\n    \"            if to_emails[ctr] in poi_email_list:\\n\",\n    \"                to_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"    if cc_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not to_poi and ctr < len(cc_emails):\\n\",\n    \"            if cc_emails[ctr] in poi_email_list:\\n\",\n    \"                cc_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    #################################\\n\",\n    \"    ######## your code below ########\\n\",\n    \"    ### set from_poi to True if #####\\n\",\n    \"    ### the email is from a POI #####\\n\",\n    \"    #################################\\n\",\n    \"\\n\",\n    \"    if from_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not from_poi and ctr < len(from_emails):\\n\",\n    \"            if from_emails[ctr] in poi_email_list:\\n\",\n    \"                from_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"    \\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"    #################################\\n\",\n    \"    return to_poi, from_poi, cc_poi\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Beware of bugs - be skeptical of classifiers with near 100% accuracy\\n\",\n    \"\\n\",\n    \"When Katie was working on the Enron POI identifier, she engineered a feature that identified when a given person was on the same email as a POI. So for example, if Ken Lay and Katie Malone are both recipients of the same email message, then Katie Malone should have her \\\"shared receipt\\\" feature incremented. If she shares lots of emails with POIs, maybe she's a POI herself.\\n\",\n    \"\\n\",\n    \"Here's the problem: there was a subtle bug, that Ken Lay's \\\"shared receipt\\\" counter would also be incremented when this happens. And of course, then Ken Lay always shares receipt with a POI, because he is a POI. So the \\\"shared receipt\\\" feature became extremely powerful in finding POIs, because it effectively was encoding the label for each person as a feature.\\n\",\n    \"\\n\",\n    \"We found this first by being suspicious of a classifier that was always returning 100% accuracy. Then we removed features one at a time, and found that this feature was driving all the performance. Then, digging back through the feature code, we found the bug outlined above. We changed the code so that a person's \\\"shared receipt\\\" feature was only incremented if there was a different POI who received the email, reran the code, and tried again. The accuracy dropped to a more reasonable level.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting rid of features\\n\",\n    \"Reasons\\n\",\n    \"- It's noisy\\n\",\n    \"- It causes overfitting\\n\",\n    \"- It is highly correlated with a feature that's already present\\n\",\n    \"- Additional features slow donw training/testing process\\n\",\n    \"\\n\",\n    \"## Features != Information.\\n\",\n    \"Features attempt to access information but are not info themselves. We want the info. // Quantity vs quality.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#!/usr/bin/python\\n\",\n    \"\\n\",\n    \"import pickle\\n\",\n    \"import cPickle\\n\",\n    \"import numpy\\n\",\n    \"\\n\",\n    \"from sklearn import cross_validation\\n\",\n    \"from sklearn.feature_extraction.text import TfidfVectorizer\\n\",\n    \"from sklearn.feature_selection import SelectPercentile, f_classif\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def preprocess(words_file = \\\"../tools/word_data.pkl\\\", authors_file=\\\"../tools/email_authors.pkl\\\"):\\n\",\n    \"    \\\"\\\"\\\" \\n\",\n    \"        this function takes a pre-made list of email texts (by default word_data.pkl)\\n\",\n    \"        and the corresponding authors (by default email_authors.pkl) and performs\\n\",\n    \"        a number of preprocessing steps:\\n\",\n    \"            -- splits into training/testing sets (10% testing)\\n\",\n    \"            -- vectorizes into tfidf matrix\\n\",\n    \"            -- selects/keeps most helpful features\\n\",\n    \"\\n\",\n    \"        after this, the feaures and labels are put into numpy arrays, which play nice with sklearn functions\\n\",\n    \"\\n\",\n    \"        4 objects are returned:\\n\",\n    \"            -- training/testing features\\n\",\n    \"            -- training/testing labels\\n\",\n    \"\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    ### the words (features) and authors (labels), already largely preprocessed\\n\",\n    \"    ### this preprocessing will be repeated in the text learning mini-project\\n\",\n    \"    authors_file_handler = open(authors_file, \\\"r\\\")\\n\",\n    \"    authors = pickle.load(authors_file_handler)\\n\",\n    \"    authors_file_handler.close()\\n\",\n    \"\\n\",\n    \"    words_file_handler = open(words_file, \\\"r\\\")\\n\",\n    \"    word_data = cPickle.load(words_file_handler)\\n\",\n    \"    words_file_handler.close()\\n\",\n    \"\\n\",\n    \"    ### test_size is the percentage of events assigned to the test set\\n\",\n    \"    ### (remainder go into training)\\n\",\n    \"    features_train, features_test, labels_train, labels_test = cross_validation.train_test_split(word_data, authors, test_size=0.1, random_state=42)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    ### text vectorization--go from strings to lists of numbers\\n\",\n    \"    # Some feature selection here  with (1) `stop_words=`english`' and\\n\",\n    \"    # (2) max_df -> don't include terms that have a document frequency \\n\",\n    \"    # strictly higher than the given thresholdts. \\n\",\n    \"    vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5,\\n\",\n    \"                                 stop_words='english')\\n\",\n    \"    features_train_transformed = vectorizer.fit_transform(features_train)\\n\",\n    \"    features_test_transformed  = vectorizer.transform(features_test)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    ### feature selection, because text is super high dimensional and \\n\",\n    \"    ### can be really computationally chewy as a result\\n\",\n    \"    # Select best 10% of features using classifier\\n\",\n    \"    selector = SelectPercentile(f_classif, percentile=10)\\n\",\n    \"    selector.fit(features_train_transformed, labels_train)\\n\",\n    \"    features_train_transformed = selector.transform(features_train_transformed).toarray()\\n\",\n    \"    features_test_transformed  = selector.transform(features_test_transformed).toarray()\\n\",\n    \"\\n\",\n    \"    ### info on the data\\n\",\n    \"    print \\\"no. of Chris training emails:\\\", sum(labels_train)\\n\",\n    \"    print \\\"no. of Sara training emails:\\\", len(labels_train)-sum(labels_train)\\n\",\n    \"    \\n\",\n    \"    return features_train_transformed, features_test_transformed, labels_train, labels_test\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"High dimensionality data -> many features\\n\",\n    \"\\n\",\n    \"## Bias-Variance Dilemma and Number of Features\\n\",\n    \"\\n\",\n    \"**High bias**: Pays little attention to data and is oversimplified\\n\",\n    \"- e.g. few features used\\n\",\n    \"- Low r^2, large SSE\\n\",\n    \"**High variance**: Pays too much attention to data, doesn't generalise well. Overfits.\\n\",\n    \"- e.g. carefully minimised SSE\\n\",\n    \"- Much higher error on test set than on training set\\n\",\n    \"\\n\",\n    \"Tradeoff between goodness of fit and the simplicity of fit.\\n\",\n    \"Want few features, low SSE, high r^2.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regulatisation: Balancing error with no. of features\\n\",\n    \"- Method for automatically penalising extra features in your model\\n\",\n    \"Reverse-u plot (quality of model against no. of features)\\n\",\n    \"\\n\",\n    \"E.g. in regressions\\n\",\n    \"\\n\",\n    \"### Lasso Regression\\n\",\n    \"Minimise SSE + $\\\\lambda|\\\\beta|$, \\n\",\n    \"\\n\",\n    \"where $\\\\lambda$ is a penalty parameter and\\n\",\n    \"$\\\\beta$ is the coefficients of the regression (related to the number of features used)\\n\",\n    \"\\n\",\n    \"So gain of feature in minimising SSE has to outweigh the penalty of using that extra feature.\\n\",\n    \"\\n\",\n    \"$$y = \\\\sum m_ix_i + b$$\\n\",\n    \"\\n\",\n    \"**Process: **Lasso regression will try adding features one at a time. If it doesn't decrease SSE sufficiently, it won't add the feature. I.e. it sets the coefficients of those features to zero.\\n\",\n    \"\\n\",\n    \"Precisely, the **optimisation objective for Lasso is: ** $$(1 / (2 * \\\\text{n_samples})) * ||y - Xw||^2_2 + \\\\alpha * ||w||_1$$\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"    from sklearn.linear_model import Lasso\\n\",\n    \"features, labels = GetMyData()\\n\",\n    \"regression = Lasso()\\n\",\n    \"regression.fit(features, labels)\\n\",\n    \"regression.predict([2,4])\\n\",\n    \"print(\\\"Coefficients: \\\", regression.coef_, \\\"\\\\nIntercept: \\\", regression.intercept_)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Selection: Charles & Michael\\n\",\n    \"\\n\",\n    \"## Why?\\n\",\n    \"- Knowledge Discovery, Interpretability and Insight (Human)\\n\",\n    \"    - Which features matter\\n\",\n    \"- Curse of Dimensionality (Machine)\\n\",\n    \"    - The amount of data you need grows exponentially in the number of features you have\\n\",\n    \"\\n\",\n    \"### How hard is the problem\\n\",\n    \"of choosing m features out of n features? (Might not know what m is, m \\\\leq n.)\\n\",\n    \"    - n choose m, or 2^n.\\n\",\n    \"    - NP-hard.\\n\",\n    \"\\n\",\n    \"Two a\\n\",\n    \"## Alg approches: Filtering and Wrapping\\n\",\n    \"\\n\",\n    \"### Filtering:\\n\",\n    \"**Process**:\\n\",\n    \"- Have input features \\n\",\n    \"- Run feat through alg which maximises for some score\\n\",\n    \"    - Criteria built in search with no reference to the learner\\n\",\n    \"- Passes features to some learning alg which will use it for classification/regression.\\n\",\n    \"\\n\",\n    \"**Adv**:\\n\",\n    \"- Faster: Don't need to worry about paying the cost of what the learner is going to do.\\n\",\n    \"- Flow forward\\n\",\n    \"\\n\",\n    \"**Disadv**:\\n\",\n    \"- No feedback. Ignores the learner.\\n\",\n    \"- (Speed ->) Tend to look at features is isolation\\n\",\n    \"\\n\",\n    \"**Examples of criteria**:\\n\",\n    \"- Information Gain (depends on labels)\\n\",\n    \"    - E.G. Put a decision tree inside the search box. Then the top features that come out of a decision tree go into another learner e.g. KNN. (KNN suffers from Curse of Dim because it doesn't know what features are important.)\\n\",\n    \"    - Another version: Neural net and pruning features that have low weight.\\n\",\n    \"> Nice\\n\",\n    \"- Entropy, Gini index (version of entropy), some form of variance (doesn't depend on the labels)\\n\",\n    \"- Linear Independence \\n\",\n    \"\\n\",\n    \"**Analogies within Supervised Learning**: Decision Trees (**Information Gain**).\\n\",\n    \"- Note you can look at labels for filtering in supervised learning.\\n\",\n    \"\\n\",\n    \"### Wrapping:\\n\",\n    \"**Process**:\\n\",\n    \"- Take features\\n\",\n    \"- Searches over features\\n\",\n    \"- Learning alg reports how well it does\\n\",\n    \"    - Criteria built in learner\\n\",\n    \"- Use that score to search for better set of features\\n\",\n    \"\\n\",\n    \"**Adv**:\\n\",\n    \"- Allows for feedback\\n\",\n    \"- Takes into account model bias and the learner\\n\",\n    \"\\n\",\n    \"**Disadv**:\\n\",\n    \"- Much slower.\\n\",\n    \"\\n\",\n    \"**Examples of criteria**:\\n\",\n    \"- Kinds of local search or hill climbing (deterministic gradient search)\\n\",\n    \"- Randomised optimisation e.g. mimic or genetic algorithms\\n\",\n    \"> Don't know what this is.\\n\",\n    \"- Forward sequential selection (Polynomial) ~ Hill climbing where neighbourhood relation is adding one more feature.\\n\",\n    \"    - Start with a a feature of your end features.\\n\",\n    \"    - Look at your features in isolation.\\n\",\n    \"    - Pass first, then second, then third...\\n\",\n    \"    - Whichever feature is best you keep.\\n\",\n    \"    - Then you look at each of remaining features and add them individually. You pick the best combination.\\n\",\n    \"    - etc until the improvement is not significant enough.\\n\",\n    \"- Backward elimination \\n\",\n    \"    - Hill climbing (Reverse of forward search)\\n\",\n    \"- (NOT exhaustive search cause that's exponential)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Domain knowledge comes into choice of criteria.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Relevance and Usefulness\\n\",\n    \"- What if a feature doesn't provide any information?\\n\",\n    \"\\n\",\n    \"### Relevance\\n\",\n    \"**Relevance ~ Information**\\n\",\n    \"- A feature $x_i$ is strongly feature is **strongly relevant** if removing it degrades the **Bayes Optimal Classifier** (on a subset of features).\\n\",\n    \"    - Weighted average of all the hypotheses. The best that you could do on average.\\n\",\n    \"- $x_i$ is **weakly relevant** if \\n\",\n    \"    - not strongly relevant\\n\",\n    \"    - There exists a subset of features S such that adding $x_i$ to S improves  BOC.\\n\",\n    \"    - e.g. for an AND (a,b), if e = not a, neither a or e is strongly relevant. But they are weakly relevant.\\n\",\n    \"- $x_i$ is otherwise irrelevant\\n\",\n    \"\\n\",\n    \"BOC is the gold standard.\\n\",\n    \"\\n\",\n    \"### Usefulness\\n\",\n    \"Usefulness measures the **effect (of minimising error) on a particular predictor**.\\n\",\n    \"- E.g. c = 1 for all features in and AND(a,b) dataset for an origin-constrained perceptron\\n\",\n    \"- E.g. relevance is useful wrt the BOC.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"\\n\",\n    \"- Feature Selection Definiton\\n\",\n    \"- Filtering (Faster? but ignoreos bias) vs Wrapping (Slow but useful)\\n\",\n    \"- Relevance (Info) vs usefulness (Reduce error for a particular model)\\n\",\n    \"    - Strong and weak relevance\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/3.3.1 PCA-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# PCA: Principal Component Analysis\\n\",\n    \"\\n\",\n    \"What is the dimensionality of data?\\n\",\n    \"- y = x is 1-dimensional. We can argue it is 1D even it has small deviations (think of those as noise).\\n\",\n    \"- But a cubic in PCA is 2D. (PCA only does shifts and rotations to create different coordinate systems. Probably does not include extra feature transformation)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"PCA: If you're given data of any shape, PCA finds a new coordinate system obtained from the old one by translation and rotation only and \\n\",\n    \"- it moves the centre of the coordinate system to the centre of the data.\\n\",\n    \"- it moves the x axis into the principal axis of variation relative to all other data points\\n\",\n    \"- it moves further axes orthogonal to the directions of variation\\n\",\n    \"\\n\",\n    \"So some data is 'PCA-ready', some is not (e.g. if it's a cubic). PCA can deal with vertical lines cause it's just vectors (vs regression uses functions).\\n\",\n    \"\\n\",\n    \"Questions\\n\",\n    \"- Is the data PCA-ready?\\n\",\n    \"- Does the major axis dominate? (Once you have spread captured in major axis, there's not much left in the minor axis(axes).\\n\",\n    \"    - e.g. circle -> no. both eigenvalues of same magnitude, haven't gained much by running PCA.\\n\",\n    \"\\n\",\n    \"## Measurable vs Latent Features\\n\",\n    \"\\n\",\n    \"Q: Given the features of a house, what is its price?\\n\",\n    \"\\n\",\n    \"Measurable variables\\n\",\n    \"- Square footage\\n\",\n    \"- No. of rooms\\n\",\n    \"- School ranking\\n\",\n    \"- Neighbourhood safety\\n\",\n    \"\\n\",\n    \"-> Probing **latent variables**\\n\",\n    \"- Size\\n\",\n    \"- Neighbourhood\\n\",\n    \"\\n\",\n    \"### Preserving information: How best to condense our measurable features to k features (where there are e.g. 2 latent variables)? \\n\",\n    \"\\n\",\n    \"- Feature selection tools\\n\",\n    \"    - Select k best (good if unknown no. of features)\\n\",\n    \"    - Select percentile\\n\",\n    \"\\n\",\n    \"Process:\\n\",\n    \"- Have many features, but I hypothesise a smaller number of features actually drive the patterns.\\n\",\n    \"- Try to make a **composite feature** (principal component) that more directly probes the underlying phenomenon.\\n\",\n    \"\\n\",\n    \"Tool for dimensionality reduction, also a good independent unsupervised learning tool.\\n\",\n    \"\\n\",\n    \"PC vs Regression:\\n\",\n    \"- Regression: Predicting\\n\",\n    \"- PC: Trying to find direction we can project our data onto to lose the least amount of info.\\n\",\n    \"\\n\",\n    \"## How to determine the principal component\\n\",\n    \"\\n\",\n    \"**Variance (stats)** : The spread of a data distribution (vs ML the willingness or flexibility of an alg to learn)\\n\",\n    \"\\n\",\n    \"**Principal component** of a dataset is the direction that has the **largest variance** because projecting onto this direction **retains the maximum amount of info in the original data**.\\n\",\n    \"\\n\",\n    \"(This is a compression algorithm)\\n\",\n    \"\\n\",\n    \"### Maximal variance and informal loss\\n\",\n    \"Information loss: perpendicular distance between point and line we're projecting the point onto.\\n\",\n    \"\\n\",\n    \"Projection onto direction of maximal variances minimises distance from old (higher-dimensional) point to its new transformed value -> Minimises information loss\\n\",\n    \"\\n\",\n    \"## PCA as a general algorithm for feature transformation\\n\",\n    \"- So far, separating or grouping features by hand (square footage, no. of rooms -> size). But this is not scalable.\\n\",\n    \"\\n\",\n    \"- Instead, put all features into PCA and ask PCA to pick first, second PCs. \\n\",\n    \"    - They'll likely be a mix of the intuitive latent variables, but it's a useful unsupervised learning technique.\\n\",\n    \"\\n\",\n    \"Max number of PCAs allowed by sklearn: min of no. of features and no. of training points\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"## Working definition of PCA\\n\",\n    \"- PCA is a systematised way to transform input features into principal components\\n\",\n    \"- use principal components as new features\\n\",\n    \"- PCs are directions in data that maximise variance (min info loss) when you project or compress down onto them\\n\",\n    \"- The more variance of data along a PC, the hiher that PC is ranked.\\n\",\n    \"- Each PC is linearly independent with every other PC, so there is no overlap.\\n\",\n    \"- Max no. of PCs = min of  no. of input features and no. of training points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from sklearn.decomposition import PCA\\n\",\n    \"pca = PCA(n_components=2)\\n\",\n    \"pca.fit(data)\\n\",\n    \"\\n\",\n    \"# Print eigenvalues\\n\",\n    \"print(pca.explained_variance_ratio_)\\n\",\n    \"first_pc = pca.components_[0]\\n\",\n    \"socend_pc = pca.componentns_[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## When to use PCA\\n\",\n    \"- Figure out latent features driving the patterns in data\\n\",\n    \"- Dimensionality reduction\\n\",\n    \"    - Visualise high-dimensional data (scatterplot only have 2D available) -> Can visualise e.g. k means clustering\\n\",\n    \"    - Reduce noise (Hope 1st and 2nd PCs capture info and other minor ones capture noise)\\n\",\n    \"    - Preprocessing (reduce dim): Make other algs (regression, classification) work better b/c fewer inputs (e.g. Eigenfaces for facial identification -> feed into SVM)\\n\",\n    \"\\n\",\n    \"### PCA for Facial Recognition\\n\",\n    \"Good for PCA because\\n\",\n    \"- Pictures of faces generally have high input dimensionality (many pixels)\\n\",\n    \"- Faces have general patterns that could be captured in smaller number of dimensions (two eyes on top, moth/chin on bottom)\\n\",\n    \"\\n\",\n    \"### Selecting a number of PCs\\n\",\n    \"- Train on different number of PCs and choose optimal\\n\",\n    \"- Be v careful about throwing out features before you do PCA. Sometimes you might do it because PCA is computationally expensive, but be careful when you do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"\\n\",\n    \"# from 1850 features to 150\\n\",\n    \"n_components = 150 \\n\",\n    \"\\n\",\n    \"# Extracting the top 150 faces from >1200 faces\\n\",\n    \"pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X_train)\\n\",\n    \"\\n\",\n    \"eigenfaces = pca.components_.reshape((n_components, h, w))\\n\",\n    \"`\\n\",\n    \"# Transform into PCA representation\\n\",\n    \"# i.e. project input data on the eigenfaces orthonormal basis\\n\",\n    \"X_train_pca = pca.transform(X_train)\\n\",\n    \"X_test_pca = pca.transform(X_test)\\n\",\n    \"\\n\",\n    \"# \\n\",\n    \"clf = GridSearchCV(...)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/Feature Transformation-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/More Clustering-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Clustering\\n\",\n    \"\\n\",\n    \"Each algorithm is its own problem because there are many definitions of clustering.\\n\",\n    \"\\n\",\n    \"## 1. Single Linkage Clustering\\n\",\n    \"(Hierarchical agglomorative clustering. SLIC HAC)\\n\",\n    \"- Consider each object a cluster (n o bjects)\\n\",\n    \"- Define intercluster distance as the distance between the closest two points in the two clusters\\n\",\n    \"- Merge two closest clusters\\n\",\n    \"- Repeat n-k times to make n clusters\\n\",\n    \"\\n\",\n    \"Interesting: **median** distances. A non-metric statistic. Only ordering matters.\\n\",\n    \"\\n\",\n    \"### Characteristics\\n\",\n    \"- Deterministic\\n\",\n    \"- If doing in space where distances are equal to edge lengths on a graph, SLC is the same as a **minimum spanning tree**.\\n\",\n    \"- Running time O(n^3).\\n\",\n    \"    - Repeat k times (worst is n/2):\\n\",\n    \"        - Find two closest points O(n^2)\\n\",\n    \"        - Merge clusters together \\n\",\n    \"\\n\",\n    \"? Methods: Fibonacci heaps, hash tables.\\n\",\n    \"\\n\",\n    \"## 2. Soft Clustering\\n\",\n    \"- Allows for points to be shared -> Probabilitistically in certain clusters\\n\",\n    \"\\n\",\n    \"Assume the data was generated by\\n\",\n    \"1. Select one of K Gaussians (fixed known variance) uniformly\\n\",\n    \"2. Sample X_i from that Gaussian\\n\",\n    \"3. Repeat n times\\n\",\n    \"\\n\",\n    \"Task:\\n\",\n    \"Find a hypothesis h=<\\\\mu_1,...,\\\\mu_k> that maximises the probability of the data (ML -> maximum likelihood)\\n\",\n    \"\\n\",\n    \"ML mean of the Gaussian $\\\\mu$ is the mean of the data\\n\",\n    \"- Calculate mean of Gaussian by calculating sample mean\\n\",\n    \"\\n\",\n    \"What if there are k of them? -> Hidden Variables. \\n\",\n    \"$<x, z_1, z_2, ..., z_k>$ where $z_i$s indicate which cluster x is in.\\n\",\n    \"\\n\",\n    \"### **Expectation maximisation**\\n\",\n    \"$z_{ij}$ represents the likelihood element i comes from cluster j.\\n\",\n    \"Prop to p(el 1 was produced by cluster j).\\n\",\n    \"Pass that clustering info z to maximisation step\\n\",\n    \"Maximisation step: Compute means for clusters. if $z_{ij}$ is thought of as a {0,1} variable, it's like assigning elements to clusters. But because they are probabilities, we're soft assigning.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- All points have some non-zero probability of being in each cluster.\\n\",\n    \"    - Makes sense because Gaussians have infinite extent\\n\",\n    \"\\n\",\n    \"#### Properties of EM\\n\",\n    \"- Monotonically non-decreasing likelihood\\n\",\n    \"    - i.e. generally goes in a good direction?\\n\",\n    \"- Does not converge (does in practice) (vs K Means does)\\n\",\n    \"- Will not diverge (bc working in probability space)\\n\",\n    \"- Can get stuck (Local optima problem) -> random restart\\n\",\n    \"- Works with any distribution (if E, M solvable). Usualy E (estimation) is harder. E-> probabilistic inference, Bayes stuff. M counting things.\\n\",\n    \"\\n\",\n    \"#### K-means arguments\\n\",\n    \"- Finite number of configurations\\n\",\n    \"    - Not getting worse w.r.t. error metric\\n\",\n    \"    -> As long as you have a way of breaking ties, you have to stop.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/.ipynb_checkpoints/Untitled-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/3.1.3 More Clustering.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Clustering\\n\",\n    \"\\n\",\n    \"Each algorithm is its own problem because there are many definitions of clustering.\\n\",\n    \"\\n\",\n    \"## 1. Single Linkage Clustering\\n\",\n    \"(Hierarchical agglomorative clustering. SLIC HAC)\\n\",\n    \"- Consider each object a cluster (n o bjects)\\n\",\n    \"- Define intercluster distance as the distance between the closest two points in the two clusters\\n\",\n    \"- Merge two closest clusters\\n\",\n    \"- Repeat n-k times to make n clusters\\n\",\n    \"\\n\",\n    \"Interesting: **median** distances. A non-metric statistic. Only ordering matters.\\n\",\n    \"\\n\",\n    \"### Characteristics\\n\",\n    \"- Deterministic\\n\",\n    \"- If doing in space where distances are equal to edge lengths on a graph, SLC is the same as a **minimum spanning tree**.\\n\",\n    \"- Running time O(n^3).\\n\",\n    \"    - Repeat k times (worst is n/2):\\n\",\n    \"        - Find two closest points O(n^2)\\n\",\n    \"        - Merge clusters together \\n\",\n    \"\\n\",\n    \"? Methods: Fibonacci heaps, hash tables.\\n\",\n    \"\\n\",\n    \"## 2. Soft Clustering\\n\",\n    \"- Allows for points to be shared -> Probabilitistically in certain clusters\\n\",\n    \"\\n\",\n    \"Assume the data was generated by\\n\",\n    \"1. Select one of K Gaussians (fixed known variance) uniformly\\n\",\n    \"2. Sample X_i from that Gaussian\\n\",\n    \"3. Repeat n times\\n\",\n    \"\\n\",\n    \"Task:\\n\",\n    \"Find a hypothesis h=<\\\\mu_1,...,\\\\mu_k> that maximises the probability of the data (ML -> maximum likelihood)\\n\",\n    \"\\n\",\n    \"ML mean of the Gaussian $\\\\mu$ is the mean of the data\\n\",\n    \"- Calculate mean of Gaussian by calculating sample mean\\n\",\n    \"\\n\",\n    \"What if there are k of them? -> Hidden Variables. \\n\",\n    \"$<x, z_1, z_2, ..., z_k>$ where $z_i$s indicate which cluster x is in.\\n\",\n    \"\\n\",\n    \"### **Expectation maximisation**\\n\",\n    \"$z_{ij}$ represents the likelihood element i comes from cluster j.\\n\",\n    \"Prop to p(el 1 was produced by cluster j).\\n\",\n    \"Pass that clustering info z to maximisation step\\n\",\n    \"Maximisation step: Compute means for clusters. if $z_{ij}$ is thought of as a {0,1} variable, it's like assigning elements to clusters. But because they are probabilities, we're soft assigning.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- All points have some non-zero probability of being in each cluster.\\n\",\n    \"    - Makes sense because Gaussians have infinite extent\\n\",\n    \"\\n\",\n    \"#### Properties of EM\\n\",\n    \"- Monotonically non-decreasing likelihood\\n\",\n    \"    - i.e. generally goes in a good direction?\\n\",\n    \"- Does not converge (does in practice) (vs K Means does)\\n\",\n    \"- Will not diverge (bc working in probability space)\\n\",\n    \"- Can get stuck (Local optima problem) -> random restart\\n\",\n    \"- Works with any distribution (if E, M solvable). Usualy E (estimation) is harder. E-> probabilistic inference, Bayes stuff. M counting things.\\n\",\n    \"\\n\",\n    \"#### K-means arguments\\n\",\n    \"- Finite number of configurations\\n\",\n    \"    - Not getting worse w.r.t. error metric\\n\",\n    \"    -> As long as you have a way of breaking ties, you have to stop.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Clustering properties\\n\",\n    \"\\n\",\n    \"- Richness\\n\",\n    \"    - For any assignment of objects to clusters, there is some distance matrix D such that P_0 returns that clustering $\\\\forall c \\\\exists D | P_0 = c$\\n\",\n    \"    - Any clustering could be an output\\n\",\n    \"- Scale-invariance\\n\",\n    \"    - Scaling distances by value (e.g. doubling everything or changing units) does not change the clustering $\\\\forall D \\\\forall K > 0 P_D = P_{KD}$\\n\",\n    \"- Consistency\\n\",\n    \"    - Shrinking intracluster distances and expanding intercluster distances does not change the clustering $P_D=P_{D'}$\\n\",\n    \"    - Use domain knowledge. & like making similar things more similar and different things more different.\\n\",\n    \"\\n\",\n    \"D -> Clusters partitions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Impossibility Theorem (Kleinberg)\\n\",\n    \"\\n\",\n    \"No clustering scheme can achieve all three of\\n\",\n    \"- Richness\\n\",\n    \"- Scale invariance\\n\",\n    \"- Consistency\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"- Clustering: the idea\\n\",\n    \"- Connection to compact description (?)\\n\",\n    \"- Algorithms\\n\",\n    \"    - K means\\n\",\n    \"    - SLC (terminates fast)\\n\",\n    \"    - EM (soft clusters)\\n\",\n    \"- Clustering proprties and the Impossibility Theorem\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/3.2.2 Feature Selection.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Selection\\n\",\n    \"Minimal number of features it takes to capture trends in the data.\\n\",\n    \"- Select best features\\n\",\n    \"- Add new features\\n\",\n    \"\\n\",\n    \"**Process**\\n\",\n    \"- Use human intuition\\n\",\n    \"    - POIs send emails to each other at a higher rate\\n\",\n    \"- Code up new feature\\n\",\n    \"    - Int number of messages to this person from POI\\n\",\n    \"- Visualise\\n\",\n    \"    - Does the new feature give discriminating power between POIs?\\n\",\n    \"- Repeat\\n\",\n    \"    - Can we do better? E.g. scale featre by total number of messages to or from that person.\\n\",\n    \"\\n\",\n    \"Observe\\n\",\n    \"- Outliers\\n\",\n    \"- Mixture of labelled points: Are there chunks in your visualisation where there are only one category of labels? (e.g. if <20% of emails sent to POIs -> all not POIs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#!/usr/bin/python\\n\",\n    \"\\n\",\n    \"###\\n\",\n    \"### in poiFlagEmail() below, write code that returns a boolean\\n\",\n    \"### indicating if a given email is from a POI\\n\",\n    \"###\\n\",\n    \"\\n\",\n    \"import sys\\n\",\n    \"import reader\\n\",\n    \"import poi_emails\\n\",\n    \"\\n\",\n    \"def getToFromStrings(f):\\n\",\n    \"    '''\\n\",\n    \"    The imported reader.py file contains functions that we've created to help\\n\",\n    \"    parse e-mails from the corpus. .getAddresses() reads in the opening lines\\n\",\n    \"    of an e-mail to find the To: From: and CC: strings, while the\\n\",\n    \"    .parseAddresses() line takes each string and extracts the e-mail addresses\\n\",\n    \"    as a list.\\n\",\n    \"    '''\\n\",\n    \"    f.seek(0)\\n\",\n    \"    to_string, from_string, cc_string   = reader.getAddresses(f)\\n\",\n    \"    to_emails   = reader.parseAddresses( to_string )\\n\",\n    \"    from_emails = reader.parseAddresses( from_string )\\n\",\n    \"    cc_emails   = reader.parseAddresses( cc_string )\\n\",\n    \"\\n\",\n    \"    return to_emails, from_emails, cc_emails\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### POI flag an email\\n\",\n    \"\\n\",\n    \"def poiFlagEmail(f):\\n\",\n    \"    \\\"\\\"\\\" given an email file f,\\n\",\n    \"        return a trio of booleans for whether that email is\\n\",\n    \"        to, from, or cc'ing a poi \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    to_emails, from_emails, cc_emails = getToFromStrings(f)\\n\",\n    \"\\n\",\n    \"    ### poi_emails.poiEmails() returns a list of all POIs' email addresses.\\n\",\n    \"    poi_email_list = poi_emails.poiEmails()\\n\",\n    \"\\n\",\n    \"    to_poi = False\\n\",\n    \"    from_poi = False\\n\",\n    \"    cc_poi   = False\\n\",\n    \"\\n\",\n    \"    ### to_poi and cc_poi are related functions, which flag whether\\n\",\n    \"    ### the email under inspection is addressed to a POI, or if a POI is in cc\\n\",\n    \"    ### you don't have to change this code at all\\n\",\n    \"\\n\",\n    \"    ### there can be many \\\"to\\\" emails, but only one \\\"from\\\", so the\\n\",\n    \"    ### \\\"to\\\" processing needs to be a little more complicated\\n\",\n    \"    if to_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not to_poi and ctr < len(to_emails):\\n\",\n    \"            if to_emails[ctr] in poi_email_list:\\n\",\n    \"                to_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"    if cc_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not to_poi and ctr < len(cc_emails):\\n\",\n    \"            if cc_emails[ctr] in poi_email_list:\\n\",\n    \"                cc_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    #################################\\n\",\n    \"    ######## your code below ########\\n\",\n    \"    ### set from_poi to True if #####\\n\",\n    \"    ### the email is from a POI #####\\n\",\n    \"    #################################\\n\",\n    \"\\n\",\n    \"    if from_emails:\\n\",\n    \"        ctr = 0\\n\",\n    \"        while not from_poi and ctr < len(from_emails):\\n\",\n    \"            if from_emails[ctr] in poi_email_list:\\n\",\n    \"                from_poi = True\\n\",\n    \"            ctr += 1\\n\",\n    \"    \\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"    #################################\\n\",\n    \"    return to_poi, from_poi, cc_poi\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Beware of bugs - be skeptical of classifiers with near 100% accuracy\\n\",\n    \"\\n\",\n    \"When Katie was working on the Enron POI identifier, she engineered a feature that identified when a given person was on the same email as a POI. So for example, if Ken Lay and Katie Malone are both recipients of the same email message, then Katie Malone should have her \\\"shared receipt\\\" feature incremented. If she shares lots of emails with POIs, maybe she's a POI herself.\\n\",\n    \"\\n\",\n    \"Here's the problem: there was a subtle bug, that Ken Lay's \\\"shared receipt\\\" counter would also be incremented when this happens. And of course, then Ken Lay always shares receipt with a POI, because he is a POI. So the \\\"shared receipt\\\" feature became extremely powerful in finding POIs, because it effectively was encoding the label for each person as a feature.\\n\",\n    \"\\n\",\n    \"We found this first by being suspicious of a classifier that was always returning 100% accuracy. Then we removed features one at a time, and found that this feature was driving all the performance. Then, digging back through the feature code, we found the bug outlined above. We changed the code so that a person's \\\"shared receipt\\\" feature was only incremented if there was a different POI who received the email, reran the code, and tried again. The accuracy dropped to a more reasonable level.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting rid of features\\n\",\n    \"Reasons\\n\",\n    \"- It's noisy\\n\",\n    \"- It causes overfitting\\n\",\n    \"- It is highly correlated with a feature that's already present\\n\",\n    \"- Additional features slow donw training/testing process\\n\",\n    \"\\n\",\n    \"## Features != Information.\\n\",\n    \"Features attempt to access information but are not info themselves. We want the info. // Quantity vs quality.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#!/usr/bin/python\\n\",\n    \"\\n\",\n    \"import pickle\\n\",\n    \"import cPickle\\n\",\n    \"import numpy\\n\",\n    \"\\n\",\n    \"from sklearn import cross_validation\\n\",\n    \"from sklearn.feature_extraction.text import TfidfVectorizer\\n\",\n    \"from sklearn.feature_selection import SelectPercentile, f_classif\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def preprocess(words_file = \\\"../tools/word_data.pkl\\\", authors_file=\\\"../tools/email_authors.pkl\\\"):\\n\",\n    \"    \\\"\\\"\\\" \\n\",\n    \"        this function takes a pre-made list of email texts (by default word_data.pkl)\\n\",\n    \"        and the corresponding authors (by default email_authors.pkl) and performs\\n\",\n    \"        a number of preprocessing steps:\\n\",\n    \"            -- splits into training/testing sets (10% testing)\\n\",\n    \"            -- vectorizes into tfidf matrix\\n\",\n    \"            -- selects/keeps most helpful features\\n\",\n    \"\\n\",\n    \"        after this, the feaures and labels are put into numpy arrays, which play nice with sklearn functions\\n\",\n    \"\\n\",\n    \"        4 objects are returned:\\n\",\n    \"            -- training/testing features\\n\",\n    \"            -- training/testing labels\\n\",\n    \"\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    ### the words (features) and authors (labels), already largely preprocessed\\n\",\n    \"    ### this preprocessing will be repeated in the text learning mini-project\\n\",\n    \"    authors_file_handler = open(authors_file, \\\"r\\\")\\n\",\n    \"    authors = pickle.load(authors_file_handler)\\n\",\n    \"    authors_file_handler.close()\\n\",\n    \"\\n\",\n    \"    words_file_handler = open(words_file, \\\"r\\\")\\n\",\n    \"    word_data = cPickle.load(words_file_handler)\\n\",\n    \"    words_file_handler.close()\\n\",\n    \"\\n\",\n    \"    ### test_size is the percentage of events assigned to the test set\\n\",\n    \"    ### (remainder go into training)\\n\",\n    \"    features_train, features_test, labels_train, labels_test = cross_validation.train_test_split(word_data, authors, test_size=0.1, random_state=42)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    ### text vectorization--go from strings to lists of numbers\\n\",\n    \"    # Some feature selection here  with (1) `stop_words=`english`' and\\n\",\n    \"    # (2) max_df -> don't include terms that have a document frequency \\n\",\n    \"    # strictly higher than the given thresholdts. \\n\",\n    \"    vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5,\\n\",\n    \"                                 stop_words='english')\\n\",\n    \"    features_train_transformed = vectorizer.fit_transform(features_train)\\n\",\n    \"    features_test_transformed  = vectorizer.transform(features_test)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    ### feature selection, because text is super high dimensional and \\n\",\n    \"    ### can be really computationally chewy as a result\\n\",\n    \"    # Select best 10% of features using classifier\\n\",\n    \"    selector = SelectPercentile(f_classif, percentile=10)\\n\",\n    \"    selector.fit(features_train_transformed, labels_train)\\n\",\n    \"    features_train_transformed = selector.transform(features_train_transformed).toarray()\\n\",\n    \"    features_test_transformed  = selector.transform(features_test_transformed).toarray()\\n\",\n    \"\\n\",\n    \"    ### info on the data\\n\",\n    \"    print \\\"no. of Chris training emails:\\\", sum(labels_train)\\n\",\n    \"    print \\\"no. of Sara training emails:\\\", len(labels_train)-sum(labels_train)\\n\",\n    \"    \\n\",\n    \"    return features_train_transformed, features_test_transformed, labels_train, labels_test\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"High dimensionality data -> many features\\n\",\n    \"\\n\",\n    \"## Bias-Variance Dilemma and Number of Features\\n\",\n    \"\\n\",\n    \"**High bias**: Pays little attention to data and is oversimplified\\n\",\n    \"- e.g. few features used\\n\",\n    \"- Low r^2, large SSE\\n\",\n    \"**High variance**: Pays too much attention to data, doesn't generalise well. Overfits.\\n\",\n    \"- e.g. carefully minimised SSE\\n\",\n    \"- Much higher error on test set than on training set\\n\",\n    \"\\n\",\n    \"Tradeoff between goodness of fit and the simplicity of fit.\\n\",\n    \"Want few features, low SSE, high r^2.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regulatisation: Balancing error with no. of features\\n\",\n    \"- Method for automatically penalising extra features in your model\\n\",\n    \"Reverse-u plot (quality of model against no. of features)\\n\",\n    \"\\n\",\n    \"E.g. in regressions\\n\",\n    \"\\n\",\n    \"### Lasso Regression\\n\",\n    \"Minimise SSE + $\\\\lambda|\\\\beta|$, \\n\",\n    \"\\n\",\n    \"where $\\\\lambda$ is a penalty parameter and\\n\",\n    \"$\\\\beta$ is the coefficients of the regression (related to the number of features used)\\n\",\n    \"\\n\",\n    \"So gain of feature in minimising SSE has to outweigh the penalty of using that extra feature.\\n\",\n    \"\\n\",\n    \"$$y = \\\\sum m_ix_i + b$$\\n\",\n    \"\\n\",\n    \"**Process: **Lasso regression will try adding features one at a time. If it doesn't decrease SSE sufficiently, it won't add the feature. I.e. it sets the coefficients of those features to zero.\\n\",\n    \"\\n\",\n    \"Precisely, the **optimisation objective for Lasso is: ** $$(1 / (2 * \\\\text{n_samples})) * ||y - Xw||^2_2 + \\\\alpha * ||w||_1$$\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"    from sklearn.linear_model import Lasso\\n\",\n    \"features, labels = GetMyData()\\n\",\n    \"regression = Lasso()\\n\",\n    \"regression.fit(features, labels)\\n\",\n    \"regression.predict([2,4])\\n\",\n    \"print(\\\"Coefficients: \\\", regression.coef_, \\\"\\\\nIntercept: \\\", regression.intercept_)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Selection: Charles & Michael\\n\",\n    \"\\n\",\n    \"## Why?\\n\",\n    \"- Knowledge Discovery, Interpretability and Insight (Human)\\n\",\n    \"    - Which features matter\\n\",\n    \"- Curse of Dimensionality (Machine)\\n\",\n    \"    - The amount of data you need grows exponentially in the number of features you have\\n\",\n    \"\\n\",\n    \"### How hard is the problem\\n\",\n    \"of choosing m features out of n features? (Might not know what m is, m \\\\leq n.)\\n\",\n    \"    - n choose m, or 2^n.\\n\",\n    \"    - NP-hard.\\n\",\n    \"\\n\",\n    \"Two a\\n\",\n    \"## Alg approches: Filtering and Wrapping\\n\",\n    \"\\n\",\n    \"### Filtering:\\n\",\n    \"**Process**:\\n\",\n    \"- Have input features \\n\",\n    \"- Run feat through alg which maximises for some score\\n\",\n    \"    - Criteria built in search with no reference to the learner\\n\",\n    \"- Passes features to some learning alg which will use it for classification/regression.\\n\",\n    \"\\n\",\n    \"**Adv**:\\n\",\n    \"- Faster: Don't need to worry about paying the cost of what the learner is going to do.\\n\",\n    \"- Flow forward\\n\",\n    \"\\n\",\n    \"**Disadv**:\\n\",\n    \"- No feedback. Ignores the learner.\\n\",\n    \"- (Speed ->) Tend to look at features is isolation\\n\",\n    \"\\n\",\n    \"**Examples of criteria**:\\n\",\n    \"- Information Gain (depends on labels)\\n\",\n    \"    - E.G. Put a decision tree inside the search box. Then the top features that come out of a decision tree go into another learner e.g. KNN. (KNN suffers from Curse of Dim because it doesn't know what features are important.)\\n\",\n    \"    - Another version: Neural net and pruning features that have low weight.\\n\",\n    \"> Nice\\n\",\n    \"- Entropy, Gini index (version of entropy), some form of variance (doesn't depend on the labels)\\n\",\n    \"- Linear Independence \\n\",\n    \"\\n\",\n    \"**Analogies within Supervised Learning**: Decision Trees (**Information Gain**).\\n\",\n    \"- Note you can look at labels for filtering in supervised learning.\\n\",\n    \"\\n\",\n    \"### Wrapping:\\n\",\n    \"**Process**:\\n\",\n    \"- Take features\\n\",\n    \"- Searches over features\\n\",\n    \"- Learning alg reports how well it does\\n\",\n    \"    - Criteria built in learner\\n\",\n    \"- Use that score to search for better set of features\\n\",\n    \"\\n\",\n    \"**Adv**:\\n\",\n    \"- Allows for feedback\\n\",\n    \"- Takes into account model bias and the learner\\n\",\n    \"\\n\",\n    \"**Disadv**:\\n\",\n    \"- Much slower.\\n\",\n    \"\\n\",\n    \"**Examples of criteria**:\\n\",\n    \"- Kinds of local search or hill climbing (deterministic gradient search)\\n\",\n    \"- Randomised optimisation e.g. mimic or genetic algorithms\\n\",\n    \"> Don't know what this is.\\n\",\n    \"- Forward sequential selection (Polynomial) ~ Hill climbing where neighbourhood relation is adding one more feature.\\n\",\n    \"    - Start with a a feature of your end features.\\n\",\n    \"    - Look at your features in isolation.\\n\",\n    \"    - Pass first, then second, then third...\\n\",\n    \"    - Whichever feature is best you keep.\\n\",\n    \"    - Then you look at each of remaining features and add them individually. You pick the best combination.\\n\",\n    \"    - etc until the improvement is not significant enough.\\n\",\n    \"- Backward elimination \\n\",\n    \"    - Hill climbing (Reverse of forward search)\\n\",\n    \"- (NOT exhaustive search cause that's exponential)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Domain knowledge comes into choice of criteria.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Relevance and Usefulness\\n\",\n    \"- What if a feature doesn't provide any information?\\n\",\n    \"\\n\",\n    \"### Relevance\\n\",\n    \"**Relevance ~ Information**\\n\",\n    \"- A feature $x_i$ is strongly feature is **strongly relevant** if removing it degrades the **Bayes Optimal Classifier** (on a subset of features).\\n\",\n    \"    - Weighted average of all the hypotheses. The best that you could do on average.\\n\",\n    \"- $x_i$ is **weakly relevant** if \\n\",\n    \"    - not strongly relevant\\n\",\n    \"    - There exists a subset of features S such that adding $x_i$ to S improves  BOC.\\n\",\n    \"    - e.g. for an AND (a,b), if e = not a, neither a or e is strongly relevant. But they are weakly relevant.\\n\",\n    \"- $x_i$ is otherwise irrelevant\\n\",\n    \"\\n\",\n    \"BOC is the gold standard.\\n\",\n    \"\\n\",\n    \"### Usefulness\\n\",\n    \"Usefulness measures the **effect (of minimising error) on a particular predictor**.\\n\",\n    \"- E.g. c = 1 for all features in and AND(a,b) dataset for an origin-constrained perceptron\\n\",\n    \"- E.g. relevance is useful wrt the BOC.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Summary\\n\",\n    \"\\n\",\n    \"- Feature Selection Definiton\\n\",\n    \"- Filtering (Faster? but ignoreos bias) vs Wrapping (Slow but useful)\\n\",\n    \"- Relevance (Info) vs usefulness (Reduce error for a particular model)\\n\",\n    \"    - Strong and weak relevance\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/3.3.1 PCA.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# PCA: Principal Component Analysis\\n\",\n    \"\\n\",\n    \"What is the dimensionality of data?\\n\",\n    \"- y = x is 1-dimensional. We can argue it is 1D even it has small deviations (think of those as noise).\\n\",\n    \"- But a cubic in PCA is 2D. (PCA only does shifts and rotations to create different coordinate systems. Probably does not include extra feature transformation)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"PCA: If you're given data of any shape, PCA finds a new coordinate system obtained from the old one by translation and rotation only and \\n\",\n    \"- it moves the centre of the coordinate system to the centre of the data.\\n\",\n    \"- it moves the x axis into the principal axis of variation relative to all other data points\\n\",\n    \"- it moves further axes orthogonal to the directions of variation\\n\",\n    \"\\n\",\n    \"So some data is 'PCA-ready', some is not (e.g. if it's a cubic). PCA can deal with vertical lines cause it's just vectors (vs regression uses functions).\\n\",\n    \"\\n\",\n    \"Questions\\n\",\n    \"- Is the data PCA-ready?\\n\",\n    \"- Does the major axis dominate? (Once you have spread captured in major axis, there's not much left in the minor axis(axes).\\n\",\n    \"    - e.g. circle -> no. both eigenvalues of same magnitude, haven't gained much by running PCA.\\n\",\n    \"\\n\",\n    \"## Measurable vs Latent Features\\n\",\n    \"\\n\",\n    \"Q: Given the features of a house, what is its price?\\n\",\n    \"\\n\",\n    \"Measurable variables\\n\",\n    \"- Square footage\\n\",\n    \"- No. of rooms\\n\",\n    \"- School ranking\\n\",\n    \"- Neighbourhood safety\\n\",\n    \"\\n\",\n    \"-> Probing **latent variables**\\n\",\n    \"- Size\\n\",\n    \"- Neighbourhood\\n\",\n    \"\\n\",\n    \"### Preserving information: How best to condense our measurable features to k features (where there are e.g. 2 latent variables)? \\n\",\n    \"\\n\",\n    \"- Feature selection tools\\n\",\n    \"    - Select k best (good if unknown no. of features)\\n\",\n    \"    - Select percentile\\n\",\n    \"\\n\",\n    \"Process:\\n\",\n    \"- Have many features, but I hypothesise a smaller number of features actually drive the patterns.\\n\",\n    \"- Try to make a **composite feature** (principal component) that more directly probes the underlying phenomenon.\\n\",\n    \"\\n\",\n    \"Tool for dimensionality reduction, also a good independent unsupervised learning tool.\\n\",\n    \"\\n\",\n    \"PC vs Regression:\\n\",\n    \"- Regression: Predicting\\n\",\n    \"- PC: Trying to find direction we can project our data onto to lose the least amount of info.\\n\",\n    \"\\n\",\n    \"## How to determine the principal component\\n\",\n    \"\\n\",\n    \"**Variance (stats)** : The spread of a data distribution (vs ML the willingness or flexibility of an alg to learn)\\n\",\n    \"\\n\",\n    \"**Principal component** of a dataset is the direction that has the **largest variance** because projecting onto this direction **retains the maximum amount of info in the original data**.\\n\",\n    \"\\n\",\n    \"(This is a compression algorithm)\\n\",\n    \"\\n\",\n    \"### Maximal variance and informal loss\\n\",\n    \"Information loss: perpendicular distance between point and line we're projecting the point onto.\\n\",\n    \"\\n\",\n    \"Projection onto direction of maximal variances minimises distance from old (higher-dimensional) point to its new transformed value -> Minimises information loss\\n\",\n    \"\\n\",\n    \"## PCA as a general algorithm for feature transformation\\n\",\n    \"- So far, separating or grouping features by hand (square footage, no. of rooms -> size). But this is not scalable.\\n\",\n    \"\\n\",\n    \"- Instead, put all features into PCA and ask PCA to pick first, second PCs. \\n\",\n    \"    - They'll likely be a mix of the intuitive latent variables, but it's a useful unsupervised learning technique.\\n\",\n    \"\\n\",\n    \"Max number of PCAs allowed by sklearn: min of no. of features and no. of training points\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"## Working definition of PCA\\n\",\n    \"- PCA is a systematised way to transform input features into principal components\\n\",\n    \"- use principal components as new features\\n\",\n    \"- PCs are directions in data that maximise variance (min info loss) when you project or compress down onto them\\n\",\n    \"- The more variance of data along a PC, the hiher that PC is ranked.\\n\",\n    \"- Each PC is linearly independent with every other PC, so there is no overlap.\\n\",\n    \"- Max no. of PCs = min of  no. of input features and no. of training points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from sklearn.decomposition import PCA\\n\",\n    \"pca = PCA(n_components=2)\\n\",\n    \"pca.fit(data)\\n\",\n    \"\\n\",\n    \"# Print eigenvalues\\n\",\n    \"print(pca.explained_variance_ratio_)\\n\",\n    \"first_pc = pca.components_[0]\\n\",\n    \"socend_pc = pca.componentns_[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## When to use PCA\\n\",\n    \"- Figure out latent features driving the patterns in data\\n\",\n    \"- Dimensionality reduction\\n\",\n    \"    - Visualise high-dimensional data (scatterplot only have 2D available) -> Can visualise e.g. k means clustering\\n\",\n    \"    - Reduce noise (Hope 1st and 2nd PCs capture info and other minor ones capture noise)\\n\",\n    \"    - Preprocessing (reduce dim): Make other algs (regression, classification) work better b/c fewer inputs (e.g. Eigenfaces for facial identification -> feed into SVM)\\n\",\n    \"\\n\",\n    \"### PCA for Facial Recognition\\n\",\n    \"Good for PCA because\\n\",\n    \"- Pictures of faces generally have high input dimensionality (many pixels)\\n\",\n    \"- Faces have general patterns that could be captured in smaller number of dimensions (two eyes on top, moth/chin on bottom)\\n\",\n    \"\\n\",\n    \"### Selecting a number of PCs\\n\",\n    \"- Train on different number of PCs and choose optimal\\n\",\n    \"- Be v careful about throwing out features before you do PCA. Sometimes you might do it because PCA is computationally expensive, but be careful when you do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"\\n\",\n    \"# from 1850 features to 150\\n\",\n    \"n_components = 150 \\n\",\n    \"\\n\",\n    \"# Extracting the top 150 faces from >1200 faces\\n\",\n    \"pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X_train)\\n\",\n    \"\\n\",\n    \"eigenfaces = pca.components_.reshape((n_components, h, w))\\n\",\n    \"`\\n\",\n    \"# Transform into PCA representation\\n\",\n    \"# i.e. project input data on the eigenfaces orthonormal basis\\n\",\n    \"X_train_pca = pca.transform(X_train)\\n\",\n    \"X_test_pca = pca.transform(X_test)\\n\",\n    \"\\n\",\n    \"# \\n\",\n    \"clf = GridSearchCV(...)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/3-unsupervised-learning/README.md",
    "content": "# 3 Unsupervised Learning\n\n## Foci\n1. How unsupervised learning fills in the model-building gap in the ML workflow\n2. How to compare different models developed using unsupervised learning\n3. Understand different kinds of conclusions unsupervised learning can generate and how they differ from supervised learning.\n\n## Lessons\n1. Clustering\n2. Feature Engineering\n    - Feature Scaling\n    - Feature Selection\n3. Dimensionality Reduction\n    - PCA (Principle Component Analysis)\n    - Feature Transformation"
  },
  {
    "path": "lesson-notes/4-reinforcement-learning/.ipynb_checkpoints/4.1.1 Markov Decision Processes-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decision Making and Reinforcement Learning\\n\",\n    \"(RL is a mechanism for doing Decision Making)\\n\",\n    \"\\n\",\n    \"* Supervised Learning: y = f(x)\\n\",\n    \"    * Function approximation\\n\",\n    \"    * Given x,y pairs, aim is to find f to map x to y.\\n\",\n    \"* Unsupervised Learning: f(x)\\n\",\n    \"    * Clustering description\\n\",\n    \"    * Given bunch of xs and goal is to find some f that gives a compact description of x.\\n\",\n    \"* Reinforcement Learning: y = f(x)\\n\",\n    \"    * Given string of x,z pairs of data and learn f that's going to generate ys.\\n\",\n    \"    \\n\",\n    \"Grid world, 3x4 matrix.\\n\",\n    \"- Introduce uncertainty (stochasticity)\\n\",\n    \"    - When you choose an action, it executes correctly with prob 0.8\\n\",\n    \"    - Moves at a right angle P(0.1), P(0.1).\\n\",\n    \"- Q: What is reliability of previous sequence UURRR?\\n\",\n    \"\\n\",\n    \"Way of capturing these uncertainties directly:\\n\",\n    \"# Markov Decision Processes\\n\",\n    \"\\n\",\n    \"Problem:\\n\",\n    \"* States: S\\n\",\n    \"    * Set of elements (one for every state you can be in).\\n\",\n    \"    * Often have initial and goal states\\n\",\n    \"* **Model**: T(s,a,s') ~Pr(s'|s,a)\\n\",\n    \"    * Rules of the game you're playing. Physics of the world.   \\n\",\n    \"    * T is a function of a state, an action and another state. (That other state s' can be the same as state s.)\\n\",\n    \"    * Model is simple in a deterministic world.\\n\",\n    \"* **Actions**: A(s), A\\n\",\n    \"    * E.g. Up, down, left, right. (No option not to move in this game.)\\n\",\n    \"    * Generally we think of it as a function of states.\\n\",\n    \"* Reward: R(s), R(s,a), R(s,a,s')\\n\",\n    \"    * Scalar value you get for being in a state. E.g. R(goal) = 1, R(red) = -1.\\n\",\n    \"    * Reward encompasses our domain knowledge: The usefulness of entering into that state.\\n\",\n    \"Solution\\n\",\n    \"* Policy: $\\\\pi(s) -> a$\\n\",\n    \"    * Action you should take in a state. Like a command.\\n\",\n    \"    * $\\\\pi^*$ the optimal policy that maximises the long-term expected reward.\\n\",\n    \"\\n\",\n    \"### Markovian Property\\n\",\n    \"1. Only the present matters. You don't have to condition on anything past the most recent state.\\n\",\n    \"    - Even if something isn't really Markovian, you can make your state remember everything from the past. -> But that makes it hard to learn cause you'll only ever see each state once\\n\",\n    \"    - Could also fold action into state.\\n\",\n    \"\\n\",\n    \"Another property:\\n\",\n    \"2. The model is stationary: The model (rules) don't change. (Definition we use for now)\\n\",\n    \"\\n\",\n    \"Putting it into contex of RL:\\n\",\n    \"* We would like <s,a> pairs to be the training set, with a being the action we SHOULD take.\\n\",\n    \"* But what we actually get is <s,a,r> pairs and we need to work out what the optimal policy $\\\\pi^*$ is. And that's kind of our f.\\n\",\n    \"    * s is x\\n\",\n    \"   \\n\",\n    \"   \\n\",\n    \"Policies that are more robust to underlying stochasticities vs plans\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Rewards\\n\",\n    \"- Idea of sequences: Actions that set you up for other actions which then lead to rewards.\\n\",\n    \"    - Don't know WHAT led to you ending up playing well or badly (reward +1 or -1) -> i.e. what was or what were the action(s) that led to you winning or losing? (Chess analogy) vs SL\\n\",\n    \"- **Delayed rewards**\\n\",\n    \"- Minor changes matter\\n\",\n    \"\\n\",\n    \"Temporal Credit Assignment Problem\\n\",\n    \"\\n\",\n    \"e.g. R(s) = -.04 \\n\",\n    \"- (for all states except determined goal state = +1, NO state = -1.)\\n\",\n    \"Can represent policy with arrows\\n\",\n    \"- End states: Absorbing states\\n\",\n    \"(img)\\n\",\n    \"- -> **Minor changes (to R(s), say) matter**\\n\",\n    \"\\n\",\n    \"Bottom right case: Minimise chances of slippage and delay. Encouraged to end the game no matter what vs to end the game on +1 for LHS.\\n\",\n    \"\\n\",\n    \"Reward // **teaching signal**\\n\",\n    \"or because rewards define MDP, rewards are **domain knowledge**.\\n\",\n    \"\\n\",\n    \"### Sequences of Rewards: Assumptions\\n\",\n    \"STATIONARY.\\n\",\n    \"\\n\",\n    \"1. **Infinite Horizons**\\n\",\n    \"    - Assuming you can live forever. E.g. if grid world lasted 10 moves, you might choose to avoid -1 rather than risk -1 to go for +1. (Or you might choose to take more risk.)\\n\",\n    \"    - -> Policy can change even if you're in the same state (different number of timesteps left). \\n\",\n    \"        - i.e. $\\\\pi(s,t)$.\\n\",\n    \"        - I suppose time could be part of the state.\\n\",\n    \"2. **Utility of Sequences** (Addition true based on Stationary Preferences because nothing else can be guaranteed to give this property)\\n\",\n    \"    - if $U(S_0, S_1, S_2, ...) >$ $U(S_0, S_1^', S_2^')$\\n\",\n    \"then $U(S_1 S2 ...) >$ U(S_1^', S_2^')$\\n\",\n    \"    - (Utility over sequence of states)\\n\",\n    \"    \\n\",\n    \"$$U(S_0 S_1 S_2 ...) = \\\\sum_{t=0}^\\\\infty R(s_t)$$\\n\",\n    \"\\n\",\n    \"- With this rule, infinite accumulation of rewards (1 1 ...) vs (0.5 0.5 ...) no different -> Infty, infty example\\n\",\n    \"\\n\",\n    \"$$U(S_0 S_1 S_2 ...) = \\\\sum_{t=0}^\\\\infty \\\\gamma^t R(s_t), 0\\\\leq\\\\gamma < 1$$\\n\",\n    \"$$ \\\\leq \\\\sum_{t=0}^\\\\infty \\\\gamma^t R_{max} = \\\\frac{R_{max}}{1-\\\\gamma}$$\\n\",\n    \"\\n\",\n    \"Discounted sum. Allows us to go an infinite distance in finite time.\\n\",\n    \"\\n\",\n    \"**Singularity**: Limit to computer power growing faster is time it takes to design next computer. Computer can design next gen of computers etc. Next gen of computer design its successor twice as fast etc.  Time between generations halves every time. So you will be able to do an infinite number of successors in finite time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Policies\\n\",\n    \"\\n\",\n    \"Optimal policy $\\\\pi^*$ is one that maximises long-term reward\\n\",\n    \"$$\\\\pi^* = \\\\text{argmax}_\\\\pi E[\\\\sum_{t=0}^{\\\\infty} \\\\gamma^tR(s_t)|\\\\pi]$$\\n\",\n    \"* Expected value of reward of sequence of states we'll see if we follow pi\\n\",\n    \"\\n\",\n    \"$$U^{\\\\pi}(s)=E[\\\\sum_{t=0}^{\\\\infty} \\\\gamma^tR(s_t)|\\\\pi, s_0=s]$$\\n\",\n    \"* How good being in a state given a policy is is exactly what we expect to see from that state on given that policy.\\n\",\n    \"* Manages ST-LT tradeoffs. Accounts for late rewards.\\n\",\n    \"* $U^{\\\\pi}(s) \\\\ne R(s)$\\n\",\n    \"\\n\",\n    \"$$\\\\pi^*(s) = \\\\text{argmax}_a\\\\sum_{s'}T(s,a,s')U(s')$$\\n\",\n    \"where $U(s') = U^{\\\\pi^*}(s)$\\n\",\n    \"\\n\",\n    \"Optimal policy maximises expected utility.\\n\",\n    \"\\n\",\n    \"**Bellman Equation**\\n\",\n    \"$$U(s) = R(s) + \\\\gamma max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"* Reward in this state + Discount of all reward you're going to get from the next states\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding Policies\\n\",\n    \"\\n\",\n    \"Suppose we have n states. Then we have n Bellman equations\\n\",\n    \"$$U(s) = R(s) + \\\\gamma \\\\max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"\\n\",\n    \"and n unknowns U of each s.\\n\",\n    \"BUT max makes the equations non-linear. \\n\",\n    \"- (Aside you can turn maxes into differentiable stuff that is sometimes useful)\\n\",\n    \"\\n\",\n    \"**Value Iteration**\\n\",\n    \"\\n\",\n    \"Algo:\\n\",\n    \"- Start with arbitrary utilities\\n\",\n    \"- Update utilities based on neighbours\\n\",\n    \"    - Neighbours: States they can reach.\\n\",\n    \"- Repeat until convergence\\n\",\n    \"\\n\",\n    \"How to update:\\n\",\n    \"- Suppose every time you update is time t.\\n\",\n    \"$$\\\\hat U_{t+1}(s) =  R(s) + \\\\gamma \\\\max_a \\\\sum_{s'} T(s,a,s')\\\\hat U_t(s')$$\\n\",\n    \"- $\\\\hat U(s')$ is an estimate of utility\\n\",\n    \"\\n\",\n    \"All n equations are tangled together.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"* Like a contraction proof. Helps that $\\\\gamma < 1$.\\n\",\n    \"    * R(S) is truth. So 'adding more truth to wrong' so it'll overwhelm the original wrong (initialisation). So $\\\\hat U_{t+1}(s)$ converges.\\n\",\n    \"(Maybe rewatch vid 24 because I was super distracted.)\\n\",\n    \"\\n\",\n    \"So solving for utility (true value) of a state is the same thing as solving for the optimal policy.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"...\\n\",\n    \"(img) (vid 26)\\n\",\n    \"\\n\",\n    \"...next time utility for x state is greater than 0.\\n\",\n    \"So at some point it'll be worth it to try to go up instead of bashing your head against the wall.\\n\",\n    \"\\n\",\n    \"Value iteration works because eventually value **propagates out** from its neighbours.\\n\",\n    \"\\n\",\n    \"After more timesteps, you need to figure out the utilities of other states. \\n\",\n    \"\\n\",\n    \"Policy is a mapping from state to actions, NOT states to utilities. If we have U we can figure out \\\\pi, but U is more info than we need to figure out \\\\pi. If U has correct orderings it's sufficient.\\n\",\n    \"    - U more like regression, \\\\pi more like classifier.\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"#### Policy Iterations (vs value iterations)\\n\",\n    \"Emphasis on caring about policies > values.\\n\",\n    \"- Start with initial policy $\\\\pi_0$ <- a guess\\n\",\n    \"- Evaluate how good that policy is. Given $\\\\pi_t$ calculate $U_t =  U^{\\\\pi}_t$.\\n\",\n    \"- Improve: $\\\\pi_{t+1} = \\\\text{arg}\\\\max_a\\\\sum T(s,a,s')U_t(s')$\\n\",\n    \"\\n\",\n    \"Allows us to change \\\\pi over time. E.g. suppose we found a great action in some state. Then all other states that can reach that state might end up taking a different action than they did before because the best action would  be moving towards that state.\\n\",\n    \"- How do we calculate U_t? Bellman's equation. $$U_t(s)=R(s)+\\\\gamma \\\\sum_{s'} T(s,\\\\pi_t(s),s')U_t(s')$$\\n\",\n    \"    - Instead of max, stick policy in cause we have the policy.\\n\",\n    \"    - n equations in n unknowns but there is no max. Now they are **linear equations**.\\n\",\n    \"- Fewer iterations than value iteration. Apps.\\n\",\n    \"- Bigger jumps than value iterations. Making jumps in policy space rather than in value space.\\n\",\n    \"- Computational tricks e.g. do a step of value iteration to get an estimate of $U_t$.\\n\",\n    \"- Guaranteed to converge. Finite number of policies and you're always getting better.\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Markov Decision Processes\\n\",\n    \"- States, Rewards, Actions, Transitions, (Discounts <- Parameter)\\n\",\n    \"    - Capturing the underlying process you care about. Rewards & Discounts capture the nature of the task more than the underlying physics.\\n\",\n    \"- Policies\\n\",\n    \"- Value functions (Utilities) -> Factor in long-term aspects vs rewards don't.\\n\",\n    \"- Discounting: deal with infinite sequences in finite time(?)\\n\",\n    \"- Stationary\\n\",\n    \"- Bellman equation\\n\",\n    \"    - Value iteration\\n\",\n    \"    - Policy iteration\\n\",\n    \"        - These can be mapped into linear programs and solved in polynomial time.\\n\",\n    \"\\n\",\n    \"Note: Haven't done any reinforcement learning. in RL you don't necessary know the rewards or transitions. Or indeed the actions or states.\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/4-reinforcement-learning/.ipynb_checkpoints/4.1.2 Reinforcement Learning-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Reinforcement Learning\\n\",\n    \"\\n\",\n    \"Aside: Reinforcement Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename=\\\"images/rl-01.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### API\\n\",\n    \"API is kinda like a box.\\n\",\n    \"(img)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-02.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Planner\\n\",\n    \"    - Last time Charles talked about the Planner box.\\n\",\n    \"    - Transition fn T, reward function R\\n\",\n    \"    - e.g. value or policy iteration\\n\",\n    \"\\n\",\n    \"2. Learner (Reinforcement learning)\\n\",\n    \"    - Will see many transitions.\\n\",\n    \"\\n\",\n    \"3. Modeler\\n\",\n    \"\\n\",\n    \"4. Simulator\\n\",\n    \"\\n\",\n    \"### Ways of gluing these together:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-03.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(img)\\n\",\n    \"Planner with a learner inside vs a learner that uses a planner inside \\n\",\n    \"\\n\",\n    \"e.g.\\n\",\n    \"- Backgammon-playing RL used a RL-based planner.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Three Approaches to RL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-04.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Policy search\\n\",\n    \"    - Policies maps states to actions\\n\",\n    \"    - Adv: Direct Use -> Learning quantity you directly need to use\\n\",\n    \"    - Disadv: Indirect Learning (function). Data doesn't tell you what action to choose (Temporal credit assignment problem)\\n\",\n    \"\\n\",\n    \"2. Value-function based \\n\",\n    \"    - Maps states to values\\n\",\n    \"    - Adv: Direct learning\\n\",\n    \"    - Disadv: Indirect use. Need to turn into policy. But it's an okay conversion with some types of value function (conversion) using argmax.\\n\",\n    \"    - Adv: Simple if you do it right. Can be powerful.\\n\",\n    \"\\n\",\n    \"3. Model-based RL\\n\",\n    \"    - Going from T,R to U: Value iteration to solve Bellman equations. Not nice to do but doable.\\n\",\n    \"    - Adv: Direct learning.\\n\",\n    \"    - Indirect use cause you have to do planning and optimising (translate)\\n\",\n    \"\\n\",\n    \"Focus on Value-function based approaches for now.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A new kind of value function\\n\",\n    \"\\n\",\n    \"$$U(s)=R(s) + \\\\gamma \\\\max_a \\\\sum_{s'}T(s,a,s')U(s')$$\\n\",\n    \"- Long-term value of being in a state is the reward for arriving in that state + the discounted reward of the future. (To leave the state we're going to choose an action and take the expectation ...)\\n\",\n    \"\\n\",\n    \"$$\\\\pi(s) = \\\\text{arg}\\\\max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"- Look at expected values: Iterate over all possible next states weightedby their probability of utility of landing in state.\\n\",\n    \"\\n\",\n    \"### **NEW value function** Q: \\n\",\n    \"$$Q(s,a) = R(s) + \\\\gamma \\\\sum_{s')T(s,a,s')\\\\max_{a'}Q(s',a')$$\\n\",\n    \"- Q cause Q is in the latter half of the alphabet and many other letters are taken\\n\",\n    \"- Value for arriving in S, leaving via a (landing in s' with T probability), proceeding optimally thereafter.\\n\",\n    \"\\n\",\n    \"**Using Q to define U and $\\\\pi$**\\n\",\n    \"- Observe U(s) returns a scalar, $\\\\pi$(s) returns an acition\\n\",\n    \"$$U(s) = \\\\max_a Q(s,a)$$\\n\",\n    \"$$\\\\pi(s) = \\\\text{arg}\\\\max_a Q(s,a)$$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Q-learning\\n\",\n    \"- Evaluating the Bellman equations from data\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-05.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Estimating Q from transitions\\n\",\n    \"\\n\",\n    \"$$Q(s,a) = R(s) + \\\\gamma \\\\sum_{s'}T(s,a,s)$$\\n\",\n    \"- Don't have R or T (vs MDP have R and T). It's polynomial to do if we have R and T\\n\",\n    \"- A transition is <s,a,r,s'>.\\n\",\n    \"$$\\\\hat Q(s,a) \\\\leftarrow^{\\\\alpha_t} r + \\\\gamma \\\\max_{a'} \\\\hat Q(s',a')$$\\n\",\n    \"where $\\\\alpha$ is the learning rate. 0 is no learning, 1 is full learning. 0.5 is averaging the previous and the new.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- Don't have sum over transitions but have max a' and estimate of Q in next state.\\n\",\n    \"- Notation: e.g. $V\\\\leftarrow^\\\\alpha X$ means $V \\\\leftarrow V + \\\\alpha(X-V) = (1-\\\\alpha)V + \\\\alpha X$. Moving alpha of the way from X to V.\\n\",\n    \"    - Converges to E(X)\\n\",\n    \"    - Believe things less over time\\n\",\n    \"    - Like an average\\n\",\n    \"    - Adding things up and computing a weighted average with weightn decaying over time\\n\",\n    \"- Computing average value you'd get if you follow the optimal policy after taking a particular action.\\n\",\n    \"$$\\\\hat Q(s,a) \\\\leftarrow^{\\\\alpha_t} r + \\\\gamma \\\\max_{a'} \\\\hat Q(s',a')$$\\n\",\n    \"- Which we'll hand-wave and ignore that the above line is a moving target to get\\n\",\n    \"$$=E[r+\\\\gamma \\\\max_{a'} \\\\hat Q(s',a')]$$\\n\",\n    \"- from linearity of expectation\\n\",\n    \"$$=R(s) + \\\\gamma E_{s'}[\\\\max_{a'} \\\\hat Q(s',a')]$$\\n\",\n    \"$$=R(s) + \\\\gamma \\\\sum_{s'}T(s,a,s')\\\\hat Q(s',a')$$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Q-learning convergence\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-06.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"line 2: Update $\\\\hat Q$.\\n\",\n    \"Remarkable that it's one line of code.\\n\",\n    \"Important caveat, need to visit all states etc.\\n\",\n    \"\\n\",\n    \"Q-learning is actually a **family of algorithms**.\\n\",\n    \"Vary along following themes:\\n\",\n    \"- How initialise $\\\\hat Q$?\\n\",\n    \"- How decay $\\\\alpha_t$?\\n\",\n    \"- How choose actions?\\n\",\n    \"    - Bad ways of choosing actions\\n\",\n    \"        - Always choose $a_0$ -> Bad b/c doesn't visit all actions and doesn't learn anything.\\n\",\n    \"        - Choose randomly -> May have learned Q, but we don't use it. Don't take advantage of anything you learn.\\n\",\n    \"        - Use $\\\\hat Q$. \\n\",\n    \"            - Can be bad (**Greedy action selection**): Only don't a_0 all the time if you update Q and get worse than terrible. Kind of a **local min**.\\n\",\n    \"            - i.e. if you set up $\\\\hat Q$ that makes some local min look better than the optimal.\\n\",\n    \"        - random restarts -> start it over over and over again.\\n\",\n    \"            - Going to take an even longer time to get to an answer\\n\",\n    \"            - Might help us get unstuck. (In random optimisation, we did this so if we got stuck we could throw out everything and get unstuck.)\\n\",\n    \"    - Use simulated annealing-like approach \\n\",\n    \"        -> Take uphill steps but randomly take a downhill step. Mixture of choosing randomly and using $\\\\hat Q$. So it's a random action.\\n\",\n    \"        - Take a random action sometimes $\\\\hat \\\\pi (s) = \\\\text{arg}\\\\max_a \\\\hat Q(s,a)\\\\text{w. prob} 1-\\\\epsilon$, random action otherwise.\\n\",\n    \"        - Chance of exploring whole space and learning true Q if you're stuck.\\n\",\n    \"\\n\",\n    \"## $\\\\epsilon$-greedy exploration\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"rl-07.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"- Decayed $\\\\epsilon$ -> Over time more greedy, less random.\\n\",\n    \"- $\\\\hat Q -> Q$ from standard Q-learning convergence result\\n\",\n    \"\\n\",\n    \"### Exploration-exploitation dilemma\\n\",\n    \"**Fundamental tradeoff in RL**\\n\",\n    \"- Exploration: Getting data you need so you learn\\n\",\n    \"- Exploitation: Using what you know\\n\",\n    \"- Tradeoff because there's only one agent acting in the world but there are two types of actions.\\n\",\n    \"- How modelling and planning interact with each other\\n\",\n    \"\\n\",\n    \"- **Optimism in the face of uncertainty** Can also do EE via initialising $\\\\hat Q$. \\n\",\n    \"    - A*\\n\",\n    \"\\n\",\n    \"- Other approaches to EE: some in the model-based setting are more powerful because you can keep track of what you've learned in the environment where you haven't (Transfer?). Alg can then explore what it doesn't know and exploit what it does know.\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Learn to solve an MDP not knowing T or R, but having the able to interact with the environment <s,a,r,s'>\\n\",\n    \"- Q-learning family: converges, Q function\\n\",\n    \"- Exploration-expolitation: learn and use\\n\",\n    \"    - Optimisation in the face of uncertainty\\n\",\n    \"- Approaches to RL\\n\",\n    \"- Connection to planning\\n\",\n    \"\\n\",\n    \"Connection to function approximation: overfitting comes up in more generalised RL situations.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/4-reinforcement-learning/4.1.1 Markov Decision Processes.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decision Making and Reinforcement Learning\\n\",\n    \"(RL is a mechanism for doing Decision Making)\\n\",\n    \"\\n\",\n    \"* Supervised Learning: y = f(x)\\n\",\n    \"    * Function approximation\\n\",\n    \"    * Given x,y pairs, aim is to find f to map x to y.\\n\",\n    \"* Unsupervised Learning: f(x)\\n\",\n    \"    * Clustering description\\n\",\n    \"    * Given bunch of xs and goal is to find some f that gives a compact description of x.\\n\",\n    \"* Reinforcement Learning: y = f(x)\\n\",\n    \"    * Given string of x,z pairs of data and learn f that's going to generate ys.\\n\",\n    \"    \\n\",\n    \"Grid world, 3x4 matrix.\\n\",\n    \"- Introduce uncertainty (stochasticity)\\n\",\n    \"    - When you choose an action, it executes correctly with prob 0.8\\n\",\n    \"    - Moves at a right angle P(0.1), P(0.1).\\n\",\n    \"- Q: What is reliability of previous sequence UURRR?\\n\",\n    \"\\n\",\n    \"Way of capturing these uncertainties directly:\\n\",\n    \"# Markov Decision Processes\\n\",\n    \"\\n\",\n    \"Problem:\\n\",\n    \"* States: S\\n\",\n    \"    * Set of elements (one for every state you can be in).\\n\",\n    \"    * Often have initial and goal states\\n\",\n    \"* **Model**: T(s,a,s') ~Pr(s'|s,a)\\n\",\n    \"    * Rules of the game you're playing. Physics of the world.   \\n\",\n    \"    * T is a function of a state, an action and another state. (That other state s' can be the same as state s.)\\n\",\n    \"    * Model is simple in a deterministic world.\\n\",\n    \"* **Actions**: A(s), A\\n\",\n    \"    * E.g. Up, down, left, right. (No option not to move in this game.)\\n\",\n    \"    * Generally we think of it as a function of states.\\n\",\n    \"* Reward: R(s), R(s,a), R(s,a,s')\\n\",\n    \"    * Scalar value you get for being in a state. E.g. R(goal) = 1, R(red) = -1.\\n\",\n    \"    * Reward encompasses our domain knowledge: The usefulness of entering into that state.\\n\",\n    \"Solution\\n\",\n    \"* Policy: $\\\\pi(s) -> a$\\n\",\n    \"    * Action you should take in a state. Like a command.\\n\",\n    \"    * $\\\\pi^*$ the optimal policy that maximises the long-term expected reward.\\n\",\n    \"\\n\",\n    \"### Markovian Property\\n\",\n    \"1. Only the present matters. You don't have to condition on anything past the most recent state.\\n\",\n    \"    - Even if something isn't really Markovian, you can make your state remember everything from the past. -> But that makes it hard to learn cause you'll only ever see each state once\\n\",\n    \"    - Could also fold action into state.\\n\",\n    \"\\n\",\n    \"Another property:\\n\",\n    \"2. The model is stationary: The model (rules) don't change. (Definition we use for now)\\n\",\n    \"\\n\",\n    \"Putting it into contex of RL:\\n\",\n    \"* We would like <s,a> pairs to be the training set, with a being the action we SHOULD take.\\n\",\n    \"* But what we actually get is <s,a,r> pairs and we need to work out what the optimal policy $\\\\pi^*$ is. And that's kind of our f.\\n\",\n    \"    * s is x\\n\",\n    \"   \\n\",\n    \"   \\n\",\n    \"Policies that are more robust to underlying stochasticities vs plans\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Rewards\\n\",\n    \"- Idea of sequences: Actions that set you up for other actions which then lead to rewards.\\n\",\n    \"    - Don't know WHAT led to you ending up playing well or badly (reward +1 or -1) -> i.e. what was or what were the action(s) that led to you winning or losing? (Chess analogy) vs SL\\n\",\n    \"- **Delayed rewards**\\n\",\n    \"- Minor changes matter\\n\",\n    \"\\n\",\n    \"Temporal Credit Assignment Problem\\n\",\n    \"\\n\",\n    \"e.g. R(s) = -.04 \\n\",\n    \"- (for all states except determined goal state = +1, NO state = -1.)\\n\",\n    \"Can represent policy with arrows\\n\",\n    \"- End states: Absorbing states\\n\",\n    \"(img)\\n\",\n    \"- -> **Minor changes (to R(s), say) matter**\\n\",\n    \"\\n\",\n    \"Bottom right case: Minimise chances of slippage and delay. Encouraged to end the game no matter what vs to end the game on +1 for LHS.\\n\",\n    \"\\n\",\n    \"Reward // **teaching signal**\\n\",\n    \"or because rewards define MDP, rewards are **domain knowledge**.\\n\",\n    \"\\n\",\n    \"### Sequences of Rewards: Assumptions\\n\",\n    \"STATIONARY.\\n\",\n    \"\\n\",\n    \"1. **Infinite Horizons**\\n\",\n    \"    - Assuming you can live forever. E.g. if grid world lasted 10 moves, you might choose to avoid -1 rather than risk -1 to go for +1. (Or you might choose to take more risk.)\\n\",\n    \"    - -> Policy can change even if you're in the same state (different number of timesteps left). \\n\",\n    \"        - i.e. $\\\\pi(s,t)$.\\n\",\n    \"        - I suppose time could be part of the state.\\n\",\n    \"2. **Utility of Sequences** (Addition true based on Stationary Preferences because nothing else can be guaranteed to give this property)\\n\",\n    \"    - if $U(S_0, S_1, S_2, ...) >$ $U(S_0, S_1^', S_2^')$\\n\",\n    \"then $U(S_1 S2 ...) >$ U(S_1^', S_2^')$\\n\",\n    \"    - (Utility over sequence of states)\\n\",\n    \"    \\n\",\n    \"$$U(S_0 S_1 S_2 ...) = \\\\sum_{t=0}^\\\\infty R(s_t)$$\\n\",\n    \"\\n\",\n    \"- With this rule, infinite accumulation of rewards (1 1 ...) vs (0.5 0.5 ...) no different -> Infty, infty example\\n\",\n    \"\\n\",\n    \"$$U(S_0 S_1 S_2 ...) = \\\\sum_{t=0}^\\\\infty \\\\gamma^t R(s_t), 0\\\\leq\\\\gamma < 1$$\\n\",\n    \"$$ \\\\leq \\\\sum_{t=0}^\\\\infty \\\\gamma^t R_{max} = \\\\frac{R_{max}}{1-\\\\gamma}$$\\n\",\n    \"\\n\",\n    \"Discounted sum. Allows us to go an infinite distance in finite time.\\n\",\n    \"\\n\",\n    \"**Singularity**: Limit to computer power growing faster is time it takes to design next computer. Computer can design next gen of computers etc. Next gen of computer design its successor twice as fast etc.  Time between generations halves every time. So you will be able to do an infinite number of successors in finite time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Policies\\n\",\n    \"\\n\",\n    \"Optimal policy $\\\\pi^*$ is one that maximises long-term reward\\n\",\n    \"$$\\\\pi^* = \\\\text{argmax}_\\\\pi E[\\\\sum_{t=0}^{\\\\infty} \\\\gamma^tR(s_t)|\\\\pi]$$\\n\",\n    \"* Expected value of reward of sequence of states we'll see if we follow pi\\n\",\n    \"\\n\",\n    \"$$U^{\\\\pi}(s)=E[\\\\sum_{t=0}^{\\\\infty} \\\\gamma^tR(s_t)|\\\\pi, s_0=s]$$\\n\",\n    \"* How good being in a state given a policy is is exactly what we expect to see from that state on given that policy.\\n\",\n    \"* Manages ST-LT tradeoffs. Accounts for late rewards.\\n\",\n    \"* $U^{\\\\pi}(s) \\\\ne R(s)$\\n\",\n    \"\\n\",\n    \"$$\\\\pi^*(s) = \\\\text{argmax}_a\\\\sum_{s'}T(s,a,s')U(s')$$\\n\",\n    \"where $U(s') = U^{\\\\pi^*}(s)$\\n\",\n    \"\\n\",\n    \"Optimal policy maximises expected utility.\\n\",\n    \"\\n\",\n    \"**Bellman Equation**\\n\",\n    \"$$U(s) = R(s) + \\\\gamma max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"* Reward in this state + Discount of all reward you're going to get from the next states\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding Policies\\n\",\n    \"\\n\",\n    \"Suppose we have n states. Then we have n Bellman equations\\n\",\n    \"$$U(s) = R(s) + \\\\gamma \\\\max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"\\n\",\n    \"and n unknowns U of each s.\\n\",\n    \"BUT max makes the equations non-linear. \\n\",\n    \"- (Aside you can turn maxes into differentiable stuff that is sometimes useful)\\n\",\n    \"\\n\",\n    \"**Value Iteration**\\n\",\n    \"\\n\",\n    \"Algo:\\n\",\n    \"- Start with arbitrary utilities\\n\",\n    \"- Update utilities based on neighbours\\n\",\n    \"    - Neighbours: States they can reach.\\n\",\n    \"- Repeat until convergence\\n\",\n    \"\\n\",\n    \"How to update:\\n\",\n    \"- Suppose every time you update is time t.\\n\",\n    \"$$\\\\hat U_{t+1}(s) =  R(s) + \\\\gamma \\\\max_a \\\\sum_{s'} T(s,a,s')\\\\hat U_t(s')$$\\n\",\n    \"- $\\\\hat U(s')$ is an estimate of utility\\n\",\n    \"\\n\",\n    \"All n equations are tangled together.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"* Like a contraction proof. Helps that $\\\\gamma < 1$.\\n\",\n    \"    * R(S) is truth. So 'adding more truth to wrong' so it'll overwhelm the original wrong (initialisation). So $\\\\hat U_{t+1}(s)$ converges.\\n\",\n    \"(Maybe rewatch vid 24 because I was super distracted.)\\n\",\n    \"\\n\",\n    \"So solving for utility (true value) of a state is the same thing as solving for the optimal policy.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"...\\n\",\n    \"(img) (vid 26)\\n\",\n    \"\\n\",\n    \"...next time utility for x state is greater than 0.\\n\",\n    \"So at some point it'll be worth it to try to go up instead of bashing your head against the wall.\\n\",\n    \"\\n\",\n    \"Value iteration works because eventually value **propagates out** from its neighbours.\\n\",\n    \"\\n\",\n    \"After more timesteps, you need to figure out the utilities of other states. \\n\",\n    \"\\n\",\n    \"Policy is a mapping from state to actions, NOT states to utilities. If we have U we can figure out \\\\pi, but U is more info than we need to figure out \\\\pi. If U has correct orderings it's sufficient.\\n\",\n    \"    - U more like regression, \\\\pi more like classifier.\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"#### Policy Iterations (vs value iterations)\\n\",\n    \"Emphasis on caring about policies > values.\\n\",\n    \"- Start with initial policy $\\\\pi_0$ <- a guess\\n\",\n    \"- Evaluate how good that policy is. Given $\\\\pi_t$ calculate $U_t =  U^{\\\\pi}_t$.\\n\",\n    \"- Improve: $\\\\pi_{t+1} = \\\\text{arg}\\\\max_a\\\\sum T(s,a,s')U_t(s')$\\n\",\n    \"\\n\",\n    \"Allows us to change \\\\pi over time. E.g. suppose we found a great action in some state. Then all other states that can reach that state might end up taking a different action than they did before because the best action would  be moving towards that state.\\n\",\n    \"- How do we calculate U_t? Bellman's equation. $$U_t(s)=R(s)+\\\\gamma \\\\sum_{s'} T(s,\\\\pi_t(s),s')U_t(s')$$\\n\",\n    \"    - Instead of max, stick policy in cause we have the policy.\\n\",\n    \"    - n equations in n unknowns but there is no max. Now they are **linear equations**.\\n\",\n    \"- Fewer iterations than value iteration. Apps.\\n\",\n    \"- Bigger jumps than value iterations. Making jumps in policy space rather than in value space.\\n\",\n    \"- Computational tricks e.g. do a step of value iteration to get an estimate of $U_t$.\\n\",\n    \"- Guaranteed to converge. Finite number of policies and you're always getting better.\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Markov Decision Processes\\n\",\n    \"- States, Rewards, Actions, Transitions, (Discounts <- Parameter)\\n\",\n    \"    - Capturing the underlying process you care about. Rewards & Discounts capture the nature of the task more than the underlying physics.\\n\",\n    \"- Policies\\n\",\n    \"- Value functions (Utilities) -> Factor in long-term aspects vs rewards don't.\\n\",\n    \"- Discounting: deal with infinite sequences in finite time(?)\\n\",\n    \"- Stationary\\n\",\n    \"- Bellman equation\\n\",\n    \"    - Value iteration\\n\",\n    \"    - Policy iteration\\n\",\n    \"        - These can be mapped into linear programs and solved in polynomial time.\\n\",\n    \"\\n\",\n    \"Note: Haven't done any reinforcement learning. in RL you don't necessary know the rewards or transitions. Or indeed the actions or states.\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/4-reinforcement-learning/4.1.2 Reinforcement Learning.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Reinforcement Learning\\n\",\n    \"\\n\",\n    \"Aside: Reinforcement Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename=\\\"images/rl-01.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### API\\n\",\n    \"API is kinda like a box.\\n\",\n    \"(img)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-02.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Planner\\n\",\n    \"    - Last time Charles talked about the Planner box.\\n\",\n    \"    - Transition fn T, reward function R\\n\",\n    \"    - e.g. value or policy iteration\\n\",\n    \"\\n\",\n    \"2. Learner (Reinforcement learning)\\n\",\n    \"    - Will see many transitions.\\n\",\n    \"\\n\",\n    \"3. Modeler\\n\",\n    \"\\n\",\n    \"4. Simulator\\n\",\n    \"\\n\",\n    \"### Ways of gluing these together:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-03.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(img)\\n\",\n    \"Planner with a learner inside vs a learner that uses a planner inside \\n\",\n    \"\\n\",\n    \"e.g.\\n\",\n    \"- Backgammon-playing RL used a RL-based planner.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Three Approaches to RL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-04.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Policy search\\n\",\n    \"    - Policies maps states to actions\\n\",\n    \"    - Adv: Direct Use -> Learning quantity you directly need to use\\n\",\n    \"    - Disadv: Indirect Learning (function). Data doesn't tell you what action to choose (Temporal credit assignment problem)\\n\",\n    \"\\n\",\n    \"2. Value-function based \\n\",\n    \"    - Maps states to values\\n\",\n    \"    - Adv: Direct learning\\n\",\n    \"    - Disadv: Indirect use. Need to turn into policy. But it's an okay conversion with some types of value function (conversion) using argmax.\\n\",\n    \"    - Adv: Simple if you do it right. Can be powerful.\\n\",\n    \"\\n\",\n    \"3. Model-based RL\\n\",\n    \"    - Going from T,R to U: Value iteration to solve Bellman equations. Not nice to do but doable.\\n\",\n    \"    - Adv: Direct learning.\\n\",\n    \"    - Indirect use cause you have to do planning and optimising (translate)\\n\",\n    \"\\n\",\n    \"Focus on Value-function based approaches for now.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A new kind of value function\\n\",\n    \"\\n\",\n    \"$$U(s)=R(s) + \\\\gamma \\\\max_a \\\\sum_{s'}T(s,a,s')U(s')$$\\n\",\n    \"- Long-term value of being in a state is the reward for arriving in that state + the discounted reward of the future. (To leave the state we're going to choose an action and take the expectation ...)\\n\",\n    \"\\n\",\n    \"$$\\\\pi(s) = \\\\text{arg}\\\\max_a \\\\sum_{s'} T(s,a,s')U(s')$$\\n\",\n    \"- Look at expected values: Iterate over all possible next states weightedby their probability of utility of landing in state.\\n\",\n    \"\\n\",\n    \"### **NEW value function** Q: \\n\",\n    \"$$Q(s,a) = R(s) + \\\\gamma \\\\sum_{s')T(s,a,s')\\\\max_{a'}Q(s',a')$$\\n\",\n    \"- Q cause Q is in the latter half of the alphabet and many other letters are taken\\n\",\n    \"- Value for arriving in S, leaving via a (landing in s' with T probability), proceeding optimally thereafter.\\n\",\n    \"\\n\",\n    \"**Using Q to define U and $\\\\pi$**\\n\",\n    \"- Observe U(s) returns a scalar, $\\\\pi$(s) returns an acition\\n\",\n    \"$$U(s) = \\\\max_a Q(s,a)$$\\n\",\n    \"$$\\\\pi(s) = \\\\text{arg}\\\\max_a Q(s,a)$$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Q-learning\\n\",\n    \"- Evaluating the Bellman equations from data\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-05.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Estimating Q from transitions\\n\",\n    \"\\n\",\n    \"$$Q(s,a) = R(s) + \\\\gamma \\\\sum_{s'}T(s,a,s)$$\\n\",\n    \"- Don't have R or T (vs MDP have R and T). It's polynomial to do if we have R and T\\n\",\n    \"- A transition is <s,a,r,s'>.\\n\",\n    \"$$\\\\hat Q(s,a) \\\\leftarrow^{\\\\alpha_t} r + \\\\gamma \\\\max_{a'} \\\\hat Q(s',a')$$\\n\",\n    \"where $\\\\alpha$ is the learning rate. 0 is no learning, 1 is full learning. 0.5 is averaging the previous and the new.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"- Don't have sum over transitions but have max a' and estimate of Q in next state.\\n\",\n    \"- Notation: e.g. $V\\\\leftarrow^\\\\alpha X$ means $V \\\\leftarrow V + \\\\alpha(X-V) = (1-\\\\alpha)V + \\\\alpha X$. Moving alpha of the way from X to V.\\n\",\n    \"    - Converges to E(X)\\n\",\n    \"    - Believe things less over time\\n\",\n    \"    - Like an average\\n\",\n    \"    - Adding things up and computing a weighted average with weightn decaying over time\\n\",\n    \"- Computing average value you'd get if you follow the optimal policy after taking a particular action.\\n\",\n    \"$$\\\\hat Q(s,a) \\\\leftarrow^{\\\\alpha_t} r + \\\\gamma \\\\max_{a'} \\\\hat Q(s',a')$$\\n\",\n    \"- Which we'll hand-wave and ignore that the above line is a moving target to get\\n\",\n    \"$$=E[r+\\\\gamma \\\\max_{a'} \\\\hat Q(s',a')]$$\\n\",\n    \"- from linearity of expectation\\n\",\n    \"$$=R(s) + \\\\gamma E_{s'}[\\\\max_{a'} \\\\hat Q(s',a')]$$\\n\",\n    \"$$=R(s) + \\\\gamma \\\\sum_{s'}T(s,a,s')\\\\hat Q(s',a')$$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Q-learning convergence\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"images/rl-06.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"line 2: Update $\\\\hat Q$.\\n\",\n    \"Remarkable that it's one line of code.\\n\",\n    \"Important caveat, need to visit all states etc.\\n\",\n    \"\\n\",\n    \"Q-learning is actually a **family of algorithms**.\\n\",\n    \"Vary along following themes:\\n\",\n    \"- How initialise $\\\\hat Q$?\\n\",\n    \"- How decay $\\\\alpha_t$?\\n\",\n    \"- How choose actions?\\n\",\n    \"    - Bad ways of choosing actions\\n\",\n    \"        - Always choose $a_0$ -> Bad b/c doesn't visit all actions and doesn't learn anything.\\n\",\n    \"        - Choose randomly -> May have learned Q, but we don't use it. Don't take advantage of anything you learn.\\n\",\n    \"        - Use $\\\\hat Q$. \\n\",\n    \"            - Can be bad (**Greedy action selection**): Only don't a_0 all the time if you update Q and get worse than terrible. Kind of a **local min**.\\n\",\n    \"            - i.e. if you set up $\\\\hat Q$ that makes some local min look better than the optimal.\\n\",\n    \"        - random restarts -> start it over over and over again.\\n\",\n    \"            - Going to take an even longer time to get to an answer\\n\",\n    \"            - Might help us get unstuck. (In random optimisation, we did this so if we got stuck we could throw out everything and get unstuck.)\\n\",\n    \"    - Use simulated annealing-like approach \\n\",\n    \"        -> Take uphill steps but randomly take a downhill step. Mixture of choosing randomly and using $\\\\hat Q$. So it's a random action.\\n\",\n    \"        - Take a random action sometimes $\\\\hat \\\\pi (s) = \\\\text{arg}\\\\max_a \\\\hat Q(s,a)\\\\text{w. prob} 1-\\\\epsilon$, random action otherwise.\\n\",\n    \"        - Chance of exploring whole space and learning true Q if you're stuck.\\n\",\n    \"\\n\",\n    \"## $\\\\epsilon$-greedy exploration\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"rl-07.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"- Decayed $\\\\epsilon$ -> Over time more greedy, less random.\\n\",\n    \"- $\\\\hat Q -> Q$ from standard Q-learning convergence result\\n\",\n    \"\\n\",\n    \"### Exploration-exploitation dilemma\\n\",\n    \"**Fundamental tradeoff in RL**\\n\",\n    \"- Exploration: Getting data you need so you learn\\n\",\n    \"- Exploitation: Using what you know\\n\",\n    \"- Tradeoff because there's only one agent acting in the world but there are two types of actions.\\n\",\n    \"- How modelling and planning interact with each other\\n\",\n    \"\\n\",\n    \"- **Optimism in the face of uncertainty** Can also do EE via initialising $\\\\hat Q$. \\n\",\n    \"    - A*\\n\",\n    \"\\n\",\n    \"- Other approaches to EE: some in the model-based setting are more powerful because you can keep track of what you've learned in the environment where you haven't (Transfer?). Alg can then explore what it doesn't know and exploit what it does know.\\n\",\n    \"\\n\",\n    \"## Summary\\n\",\n    \"- Learn to solve an MDP not knowing T or R, but having the able to interact with the environment <s,a,r,s'>\\n\",\n    \"- Q-learning family: converges, Q function\\n\",\n    \"- Exploration-expolitation: learn and use\\n\",\n    \"    - Optimisation in the face of uncertainty\\n\",\n    \"- Approaches to RL\\n\",\n    \"- Connection to planning\\n\",\n    \"\\n\",\n    \"Connection to function approximation: overfitting comes up in more generalised RL situations.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/4-reinforcement-learning/README.md",
    "content": "# Reinforcement Learning\nTeaching system to prioritise by giving it corresponding rewards and punishments\n\n## Foci\n1. How reinforcement learning fills in model-building phase of workflow\n2. How to compare reinforcement learning models\n3. How reinforcement learning differs in terms of the kinds of models it produces vs supervised or unsupervised learning.\n\n## Lessons\n1. Reinforcement Learning\n    - Markov Decision Processes\n    - Reinforcement Learning (Q-Learning)\n2. Game Theory\n"
  },
  {
    "path": "lesson-notes/5-ml-for-trading/.ipynb_checkpoints/0. Course Outline-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/5-ml-for-trading/0. Course Outline.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning for Trading: Course Outline\\n\",\n    \"\\n\",\n    \"The course is split into three parts:\\n\",\n    \"1. Manipulating Financial Data in Python\\n\",\n    \"2. Computational Investing\\n\",\n    \"    * Algorithms, methods and models\\n\",\n    \"3. Learning Algorithms for Trading\\n\",\n    \"    * Qlearning and random forests\\n\",\n    \"   \\n\",\n    \"End of course aim: Able to join a trading system development team\\n\",\n    \"\\n\",\n    \"Textbooks\\n\",\n    \"1. Python for Finance (O' Reilly)\\n\",\n    \"2. What Hedge Funds Really Do (Tucker Balch + author)\\n\",\n    \"3. Machine Learning (Mitchell)\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "lesson-notes/Healthcare - Christopher Thompson 1 Oct 2016.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Christopher Thompson: Applications of ML in Healthcare and Pharma\\n\",\n    \"\\n\",\n    \"Microbiologist at Imperial (Postdoc)\\n\",\n    \"\\n\",\n    \"1. Diagnosis DTs\\n\",\n    \"2. Imaging analysis MRI X ray Pathology 40 images per needle biopsy hours per processs\\n\",\n    \"3. Brug Discovery\\n\",\n    \"    - nwe uses for existing drugs\\n\",\n    \"    - combine 4 drgus into single therapy -> pill or injection -> 5 concentrations\\n\",\n    \"    - fastest route? HUH HOW\\n\",\n    \"    - off-target drug actions (IBS tuberculosis antibiotics) -> more DA, hmm\\n\",\n    \"4. Patient surveillance\\n\",\n    \"5. Personalised medicine or therapy\\n\",\n    \"    - data sources\\n\",\n    \"        - electronic health records: structured and unstructured (clinician notes), BoW no cancer vs cancer\\n\",\n    \"        - epidem behaviour\\n\",\n    \"    - dna (cookbook) -> rna (recipe) -> protein (meal)\\n\",\n    \"    - rna as a market of prostate cancer mestasisis (moving)\\n\",\n    \"        - diagnosis only by biopsy\\n\",\n    \"        - survival rates vary by local vs distance\\n\",\n    \"        - gen model predict P(metastasis), log loss -> penalises wrong confident preds a lot\\n\",\n    \"            - vs current can only test if cancer has mestatisised\\n\",\n    \"        - used anova, pca\\n\",\n    \"            - F stat (take with max f stat) -> filter for genes that are diff in metastasis vs normal\\n\",\n    \"        - NOTE dataset is live: what is classified as local might go to metastetic eventually. but no otehr way back.\\n\",\n    \"        - features RNA 20k + 20 clinical features, 500 patients.\\n\",\n    \"        - Gleason score :) 2 - 10 :( -> 0.3\\n\",\n    \"        - RNA -> 0.7\\n\",\n    \"        - Filter down to 20 genes\\n\",\n    \"        -> Probablity in the next X years. makes sens.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"23me? - > what's that angelo\\n\",\n    \"\\n\",\n    \"gaddaga? oh so if you see they have BLAH they won't hire them.\\n\",\n    \"- esp if attach location and ethnicity to data\\n\",\n    \"$39bn per year US health institute\\n\",\n    \"\\n\",\n    \"OCR get capture?\\n\",\n    \"\\n\",\n    \"H l 7\\n\",\n    \"Electronic health records: there are 10 competing formats.\\n\",\n    \"\\n\",\n    \"Nature vs nurture -> DNA modification, molecular tagging\\n\",\n    \"\\n\",\n    \"Alzheimers depends on Epigenetics likely.\\n\",\n    \"Combo of epigenetic and genetic\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Climate patterns\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Baxter\\n\",\n    \"Myo\\n\",\n    \"Thync\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p0-titanic-survival-exploration/.ipynb_checkpoints/titanic_survival_exploration-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Introduction and Foundations\\n\",\n    \"## Project 0: Titanic Survival Exploration\\n\",\n    \"\\n\",\n    \"In 1912, the ship RMS Titanic struck an iceberg on its maiden voyage and sank, resulting in the deaths of most of its passengers and crew. In this introductory project, we will explore a subset of the RMS Titanic passenger manifest to determine which features best predict whether someone survived or did not survive. To complete this project, you will need to implement several conditional predictions and answer the questions below. Your project submission will be evaluated based on the completion of the code and your responses to the questions.\\n\",\n    \"> **Tip:** Quoted sections like this will provide helpful instructions on how to navigate and use an iPython notebook. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Getting Started\\n\",\n    \"To begin working with the RMS Titanic passenger data, we'll first need to `import` the functionality we need, and load our data into a `pandas` DataFrame.  \\n\",\n    \"Run the code cell below to load our data and display the first few entries (passengers) for examination using the `.head()` function.\\n\",\n    \"> **Tip:** You can run a code cell by clicking on the cell and using the keyboard shortcut **Shift + Enter** or **Shift + Return**. Alternatively, a code cell can be executed using the **Play** button in the hotbar after selecting it. Markdown cells (text cells like this one) can be edited by double-clicking, and saved using these same shortcuts. [Markdown](http://daringfireball.net/projects/markdown/syntax) allows you to write easy-to-read plain text that can be converted to HTML.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>PassengerId</th>\\n\",\n       \"      <th>Survived</th>\\n\",\n       \"      <th>Pclass</th>\\n\",\n       \"      <th>Name</th>\\n\",\n       \"      <th>Sex</th>\\n\",\n       \"      <th>Age</th>\\n\",\n       \"      <th>SibSp</th>\\n\",\n       \"      <th>Parch</th>\\n\",\n       \"      <th>Ticket</th>\\n\",\n       \"      <th>Fare</th>\\n\",\n       \"      <th>Cabin</th>\\n\",\n       \"      <th>Embarked</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Braund, Mr. Owen Harris</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>22.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>A/5 21171</td>\\n\",\n       \"      <td>7.2500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>38.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>PC 17599</td>\\n\",\n       \"      <td>71.2833</td>\\n\",\n       \"      <td>C85</td>\\n\",\n       \"      <td>C</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Heikkinen, Miss. Laina</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>26.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>STON/O2. 3101282</td>\\n\",\n       \"      <td>7.9250</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>113803</td>\\n\",\n       \"      <td>53.1000</td>\\n\",\n       \"      <td>C123</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Allen, Mr. William Henry</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>373450</td>\\n\",\n       \"      <td>8.0500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   PassengerId  Survived  Pclass  \\\\\\n\",\n       \"0            1         0       3   \\n\",\n       \"1            2         1       1   \\n\",\n       \"2            3         1       3   \\n\",\n       \"3            4         1       1   \\n\",\n       \"4            5         0       3   \\n\",\n       \"\\n\",\n       \"                                                Name     Sex   Age  SibSp  \\\\\\n\",\n       \"0                            Braund, Mr. Owen Harris    male  22.0      1   \\n\",\n       \"1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \\n\",\n       \"2                             Heikkinen, Miss. Laina  female  26.0      0   \\n\",\n       \"3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \\n\",\n       \"4                           Allen, Mr. William Henry    male  35.0      0   \\n\",\n       \"\\n\",\n       \"   Parch            Ticket     Fare Cabin Embarked  \\n\",\n       \"0      0         A/5 21171   7.2500   NaN        S  \\n\",\n       \"1      0          PC 17599  71.2833   C85        C  \\n\",\n       \"2      0  STON/O2. 3101282   7.9250   NaN        S  \\n\",\n       \"3      0            113803  53.1000  C123        S  \\n\",\n       \"4      0            373450   8.0500   NaN        S  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"# RMS Titanic data visualization code \\n\",\n    \"from titanic_visualizations import survival_stats\\n\",\n    \"from IPython.display import display\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the dataset\\n\",\n    \"in_file = 'titanic_data.csv'\\n\",\n    \"full_data = pd.read_csv(in_file)\\n\",\n    \"\\n\",\n    \"# Print the first few entries of the RMS Titanic data\\n\",\n    \"display(full_data.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"From a sample of the RMS Titanic data, we can see the various features present for each passenger on the ship:\\n\",\n    \"- **Survived**: Outcome of survival (0 = No; 1 = Yes)\\n\",\n    \"- **Pclass**: Socio-economic class (1 = Upper class; 2 = Middle class; 3 = Lower class)\\n\",\n    \"- **Name**: Name of passenger\\n\",\n    \"- **Sex**: Sex of the passenger\\n\",\n    \"- **Age**: Age of the passenger (Some entries contain `NaN`)\\n\",\n    \"- **SibSp**: Number of siblings and spouses of the passenger aboard\\n\",\n    \"- **Parch**: Number of parents and children of the passenger aboard\\n\",\n    \"- **Ticket**: Ticket number of the passenger\\n\",\n    \"- **Fare**: Fare paid by the passenger\\n\",\n    \"- **Cabin** Cabin number of the passenger (Some entries contain `NaN`)\\n\",\n    \"- **Embarked**: Port of embarkation of the passenger (C = Cherbourg; Q = Queenstown; S = Southampton)\\n\",\n    \"\\n\",\n    \"Since we're interested in the outcome of survival for each passenger or crew member, we can remove the **Survived** feature from this dataset and store it as its own separate variable `outcomes`. We will use these outcomes as our prediction targets.  \\n\",\n    \"Run the code cell below to remove **Survived** as a feature of the dataset and store it in `outcomes`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>PassengerId</th>\\n\",\n       \"      <th>Pclass</th>\\n\",\n       \"      <th>Name</th>\\n\",\n       \"      <th>Sex</th>\\n\",\n       \"      <th>Age</th>\\n\",\n       \"      <th>SibSp</th>\\n\",\n       \"      <th>Parch</th>\\n\",\n       \"      <th>Ticket</th>\\n\",\n       \"      <th>Fare</th>\\n\",\n       \"      <th>Cabin</th>\\n\",\n       \"      <th>Embarked</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Braund, Mr. Owen Harris</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>22.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>A/5 21171</td>\\n\",\n       \"      <td>7.2500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>38.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>PC 17599</td>\\n\",\n       \"      <td>71.2833</td>\\n\",\n       \"      <td>C85</td>\\n\",\n       \"      <td>C</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Heikkinen, Miss. Laina</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>26.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>STON/O2. 3101282</td>\\n\",\n       \"      <td>7.9250</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>113803</td>\\n\",\n       \"      <td>53.1000</td>\\n\",\n       \"      <td>C123</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Allen, Mr. William Henry</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>373450</td>\\n\",\n       \"      <td>8.0500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   PassengerId  Pclass                                               Name  \\\\\\n\",\n       \"0            1       3                            Braund, Mr. Owen Harris   \\n\",\n       \"1            2       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \\n\",\n       \"2            3       3                             Heikkinen, Miss. Laina   \\n\",\n       \"3            4       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \\n\",\n       \"4            5       3                           Allen, Mr. William Henry   \\n\",\n       \"\\n\",\n       \"      Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked  \\n\",\n       \"0    male  22.0      1      0         A/5 21171   7.2500   NaN        S  \\n\",\n       \"1  female  38.0      1      0          PC 17599  71.2833   C85        C  \\n\",\n       \"2  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S  \\n\",\n       \"3  female  35.0      1      0            113803  53.1000  C123        S  \\n\",\n       \"4    male  35.0      0      0            373450   8.0500   NaN        S  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Store the 'Survived' feature in a new variable and remove it from the dataset\\n\",\n    \"outcomes = full_data['Survived']\\n\",\n    \"data = full_data.drop('Survived', axis = 1)\\n\",\n    \"\\n\",\n    \"# Show the new dataset with 'Survived' removed\\n\",\n    \"display(data.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The very same sample of the RMS Titanic data now shows the **Survived** feature removed from the DataFrame. Note that `data` (the passenger data) and `outcomes` (the outcomes of survival) are now *paired*. That means for any passenger `data.loc[i]`, they have the survival outcome `outcome[i]`.\\n\",\n    \"\\n\",\n    \"To measure the performance of our predictions, we need a metric to score our predictions against the true outcomes of survival. Since we are interested in how *accurate* our predictions are, we will calculate the proportion of passengers where our prediction of their survival is correct. Run the code cell below to create our `accuracy_score` function and test a prediction on the first five passengers.  \\n\",\n    \"\\n\",\n    \"**Think:** *Out of the first five passengers, if we predict that all of them survived, what would you expect the accuracy of our predictions to be?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 60.00%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def accuracy_score(truth, pred):\\n\",\n    \"    \\\"\\\"\\\" Returns accuracy score for input truth and predictions. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # Ensure that the number of predictions matches number of outcomes\\n\",\n    \"    if len(truth) == len(pred): \\n\",\n    \"        \\n\",\n    \"        # Calculate and return the accuracy as a percent\\n\",\n    \"        return \\\"Predictions have an accuracy of {:.2f}%.\\\".format((truth == pred).mean()*100)\\n\",\n    \"    \\n\",\n    \"    else:\\n\",\n    \"        return \\\"Number of predictions does not match number of outcomes!\\\"\\n\",\n    \"    \\n\",\n    \"# Test the 'accuracy_score' function\\n\",\n    \"predictions = pd.Series(np.ones(5, dtype = int))\\n\",\n    \"print accuracy_score(outcomes[:5], predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Tip:** If you save an iPython Notebook, the output from running code blocks will also be saved. However, the state of your workspace will be reset once a new session is started. Make sure that you run all of the code blocks from your previous session to reestablish variables and functions before picking up where you last left off.\\n\",\n    \"\\n\",\n    \"# Making Predictions\\n\",\n    \"\\n\",\n    \"If we were asked to make a prediction about any passenger aboard the RMS Titanic whom we knew nothing about, then the best prediction we could make would be that they did not survive. This is because we can assume that a majority of the passengers (more than 50%) did not survive the ship sinking.  \\n\",\n    \"The `predictions_0` function below will always predict that a passenger did not survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_0(data):\\n\",\n    \"    \\\"\\\"\\\" Model with no features. Always predicts a passenger did not survive. \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Predict the survival of 'passenger'\\n\",\n    \"        predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_0(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1\\n\",\n    \"*Using the RMS Titanic data, how accurate would a prediction be that none of the passengers survived?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 61.62%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:** 61.62% (Accuracy when we always predict `Survived=0`.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"***\\n\",\n    \"Let's take a look at whether the feature **Sex** has any indication of survival rates among passengers using the `survival_stats` function. This function is defined in the `titanic_visualizations.py` Python script included with this project. The first two parameters passed to the function are the RMS Titanic data and passenger survival outcomes, respectively. The third parameter indicates which feature we want to plot survival statistics across.  \\n\",\n    \"Run the code cell below to plot the survival outcomes of passengers based on their sex.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nzCCXJKnCDHJJUqd98pOf5Lzzzmtzeq9evfjHP/7RhSXqWgsXLqR///70hCuoDHJJ6iG2HzqUiGjY\\nz/ZDh9ZXju23Z/PNN2fAgAEMGjSIvfbai8svv3yt0Lrssss444wz2lxHxDpXSW0QO+ywA7/+9a8b\\nsu7OGDFiBE8//XTD9rMzDHJJ6iHmL11KQsN+5i9dWlc5IoLrrruOp556ivnz53PaaacxefJkPvrR\\nj9a9Lz2hpvpKrF69uruLUDeDXJK0jqYg7tevH4cffjg/+clPmDp1KrNnzwbghBNO4Kyzzmqe/2tf\\n+xrbbLMNw4cP5/vf/367NdX99tuPs846i7322ov+/ftzyCGH8MQTTzRPnzFjBm95y1sYNGgQ+++/\\nP3PmzAHguOOOY8GCBYwdO5b+/fszZcqUdda9fPlyxo4dy8CBA9lqq63YZ599mqe1bO6v3YfbbruN\\nESNGcOGFFzJs2DBOPPFERo0axfXXX988/+rVq9l666259957mT9/Pr169WLNmjVcffXVjBkzZq1y\\nXHzxxYwbNw6AF154gVNOOYWRI0cybNgwTjrpJJ5//vkO/gL1M8glSR0aM2YMw4cP54477lhn2g03\\n3MBFF13EzTffzLx587jppps6XN/06dOZOnUqy5Yt4/nnn28O5blz5zJx4kS++c1vsmzZMg499FAO\\nP/xwXnrpJX74wx+y3Xbbce211/L0009zyimnrLPer3/964wYMYLly5fz2GOP8dWvfrV5WkfN4EuW\\nLOHJJ59kwYIFXHHFFUycOJFp06attZ+DBw9mt912W2t9Y8eOZe7cufz9739fa/+OPfZYAL74xS/y\\n0EMP8Ze//IWHHnqIRYsWcc4553T4HtXLIJck1WWbbbZZq+bc5JprruGEE07gzW9+M5tttlldjz09\\n4YQT2HHHHdlkk00YP3489957LwBXX301hx9+OPvvvz+9e/fmlFNO4dlnn+W3v/1t87LtNdv37duX\\nxYsX8/DDD9O7d2/23HPPupYD6N27N1/5ylfo27cvm2yyCRMmTGDGjBk899xzQBHOEyZMWGe5zTbb\\njCOPPJLp06cDMG/ePObMmcMRRxwBwLe//W0uvvhiBgwYwBZbbMFpp53WPO+GYJBLkuqyaNEiBg0a\\ntM74Rx99lBEjRjQPjxw5ssPQHFrT8W7zzTfnmWeeaV7XyJEjm6dFBCNGjGDRokV1lfELX/gCO+64\\nIwcddBBveMMbmDx5cl3LAQwePJi+ffs2D++4446MGjWKmTNn8uyzzzJjxgwmTpzY6rITJkxoDudp\\n06Yxbtw4NtlkE5YtW8aqVat4xzvewaBBgxg0aBCHHnooy5cvr7tcHfEWrZKkDt199908+uij7L33\\n3utMGzZsGAsXLmwenj9//nr35t5mm224//771xq3cOFChg8fDnTcPL7FFlswZcoUpkyZwuzZs9lv\\nv/3Yfffd2W+//dh8881ZtWpV87xLlixZ6wtIa+s+5phjmDZtGqtXr2aXXXbh9a9/favbPfDAA1m2\\nbBn33XcfV111FZdccgkAr3vd69h888154IEHGDZsWH1vQidZI5cktWnlypVce+21TJgwgQ9/+MOM\\nGjVqnXnGjx/PD37wAx588EFWrVr1is7/jh8/nuuuu45bbrmFl156iSlTprDpppuyxx57AEVNvr3r\\n06+77rrmc9X9+vWjT58+9OpVRN1uu+3GtGnTWLNmDTfccAO33XZbh+U55phjmDVrFpdddtk6tfHa\\nVoc+ffpw1FFHceqpp7JixQoOPPBAoPhy8LGPfYyTTz6ZZcuWAUXLxqxZszrxrrTPIJckrWPs2LEM\\nGDCA7bbbjvPPP59TTjmF733ve83Ta2uvhxxyCCeffDL7778/O+20E+9973vbXXd7teqddtqJH//4\\nx3z6059m8ODBXHfddcycOZM+fYoG5NNOO41zzz2XQYMGcdFFF62z/Lx58zjggAPo168fe+65J5/6\\n1Keae65/4xvfYMaMGQwcOJDp06fz7//+7x2+D0OHDmWPPfbgrrvu4uijj253PyZMmMDNN9/M+PHj\\nm788AEyePJk3vOENvOtd72LLLbfkoIMOYu7cuR1uu16VfR55d5dBLxs5ZAiPLFnS3cWQKmX06NHr\\nPP1s+6FD677We314rFZDa58NeBU+j9wk7zmigf94pI2JIav1YdO6JEkVZpBLklRhBrkkSRVmkEuS\\nVGEGuSRJFWaQS5JUYQa5JEkVZpBLkrrNJz/5Sc4777wNvt6vfOUrfPjDH97g6+2JDHJJ6iGGDh9K\\nRDTsZ+jwoR0XonTnnXey5557suWWW/K6172Ovffemz/+8Y8bfJ8vu+wyzjjjjA2+Xuj4ASuvFpW9\\ns5skvdosXbQUJjVw/ZPquwvjypUrGTt2LJdffjlHHXUUL7zwAnfccQebbLJJp7eZmRtNoHYXa+SS\\npLXMnTuXiGD8+PFEBJtssgkHHHAAb3nLW9Zpsp4/fz69evVizZo1AOy3336ceeaZ7LXXXmyxxRZ8\\n7WtfY8yYMWut/+KLL2bcuHEAnHDCCZx11lkAjBo1iuuvv755vtWrV7P11ltz7733AnDXXXex5557\\nMnDgQN7+9rev9fSyRx55hH333ZcBAwZw8MEH8/jjjzfmzemBDHJJ0lp22mknevfuzUc+8hFuuOEG\\nnnzyybWmt6xhtxz+8Y9/zHe+8x1WrlzJJz7xCebOndv8aFGA6dOnc+yxx66z3QkTJjBt2rTm4Rtu\\nuIHBgwez2267sWjRIg4//HDOOussVqxYwZQpU/jABz7A8uXLAZg4cSJjxozh8ccf58wzz2Tq1Kmv\\n+H2oCoNckrSWfv36ceedd9KrVy8+/vGPM3jwYMaNG8djjz1W1/If+chHeNOb3kSvXr3o378/Rx55\\nJNOnTweKx4zOmTOHsWPHrrPcxIkTmTFjBs899xxQBP6ECRMAuPLKKznssMM4+OCDAXjve9/L6NGj\\nuf7661m4cCH33HMP55xzDn379mXvvfdudf2vVga5JGkdO++8M9/73vdYsGABDzzwAI8++ignn3xy\\nXcuOGDFireEJEyY0B/m0adMYN24cm2666TrL7bjjjowaNYqZM2fy7LPPMmPGjOaa+/z587n66qsZ\\nNGgQgwYNYuDAgfzmN79h8eLFPProowwcOJDNNtuseV0jR45c312vHDu7SZLatdNOO3H88cdzxRVX\\n8I53vINVq1Y1T1u8ePE687dsaj/wwANZtmwZ9913H1dddRWXXHJJm9s65phjmDZtGqtXr2aXXXZh\\nhx12AIovB8cddxyXX375OsssWLCAFStW8OyzzzaH+YIFC+jVa+Ooq24ceylJqtucOXO46KKLWLRo\\nEQALFy5k+vTp7LHHHrztbW/j9ttvZ+HChTz11FNccMEFHa6vT58+HHXUUZx66qmsWLGCAw88sM15\\njznmGGbNmsVll13GxIkTm8d/6EMfYubMmcyaNYs1a9bw3HPPcdttt/Hoo4+y3XbbMXr0aM4++2xe\\nfPFF7rzzTmbOnPnK34iKMMglSWvp168fv//973nnO99Jv379ePe7382uu+7KlClTOOCAAzj66KPZ\\nddddGTNmzDrnotu61GzChAncfPPNjB8/fq2acsv5hw4dyh577MFdd93F0Ucf3Tx++PDh/OIXv+Cr\\nX/0qgwcPZuTIkUyZMqW5t/yVV17JXXfdxVZbbcW5557L8ccfv6Hejh4vMrO7y9BpEVHBUr96BcW1\\nopLqN3r0aO655561xg0dPrS4lrxBhmw7hCX/XNKw9WvDaO2zAcWXnsxc55uS58glqYcwZLU+bFqX\\nJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzMvPJKkbDBs2jNGjR3d3MdQDDRs2rFPze0MY\\nvWLeEEaSGq+tG8LYtC5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhB\\nLklShRnkkiRVmEEuSVKFGeSSJFVYlwR5RPSKiD9FxIxyeGBEzIqIORFxY0QMqJn39IiYFxEPRsRB\\nXVE+SZKqqqtq5J8DZtcMnwbclJk7A78GTgeIiFHAeODNwKHApRGxzpNeJElSoeFBHhHDgfcB36kZ\\nfSQwtXw9FRhXvj4CuCozX8rMR4B5wO6NLqMkSVXVFTXyi4FTgdoHVg/JzKUAmbkE2Locvy2wsGa+\\nReU4SZLUioYGeUQcBizNzHuB9prIs51pkiSpDX0avP49gSMi4n3AZkC/iPgRsCQihmTm0ogYCjxW\\nzr8IGFGz/PBy3Dom1bzet/yRJOnV4tZbb+XWW2/tcL7I7JrKcETsA/zvzDwiIi4Elmfm5Ij4IjAw\\nM08rO7tdCbyTokn9V8Abs0UhI6KLSq16BNBVnyNJ2lhFBJm5Tut2o2vkbbkAuDoiTgTmU/RUJzNn\\nR8TVFD3cXwROahnikiTpZV1WI9+QrJH3LNbIJanx2qqRe2c3SZIqzCCXJKnCDHJJkirMIJckqcIM\\nckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJ\\nkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIq\\nzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswg\\nlySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKqzDII+ILSKiV/l6p4g4IiL6Nr5okiSpI/XU\\nyG8HNo2IbYFZwIeBHzSyUJIkqT71BHlk5irg/cClmXkUsEtjiyVJkupRV5BHxB7AscB15bjejSuS\\n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\\nL2A08FzDSiRJkupWT6/12ueSv0TxULUjG1IaSZLUKfWcI98gzyWXJEkbXptBHhFntbNcZua5DSiP\\nJEnqhPZq5P9qZdwWwEeBrQCDXJKkbtZmkGfm15teR0Q/4HPACcBVwNfbWk6SJHWdds+RR8Qg4PPA\\nscBU4N8yc0VXFEySJHWsvXPkXwPeD1wBvDUzn+myUkmSpLpEZrY+IWINxdPOXuLlW7QCBEVnt267\\nRWtEtFFqdYfyA9HdxZDUABEBk7q7FAJgEmRmtBzd3jnyTt31TZIkdT3DWpKkCjPIJUmqMINckqQK\\nM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPI\\nJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJ\\nqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaow\\ng1ySpAozyCVJqjCDXJKkCuvT3QXQq0BviIjuLoWAIdsOYck/l3R3MSR1oYYGeUR8FzgcWJqZu5bj\\nBgI/AUYCjwDjM/OpctrpwInAS8DnMnNWI8unDWQ1MKm7CyGApZOWdncRJHWxRjetfx84uMW404Cb\\nMnNn4NfA6QARMQoYD7wZOBS4NKzmSZLUroYGeWbeCaxoMfpIYGr5eiowrnx9BHBVZr6UmY8A84Dd\\nG1k+SZKqrjs6u22dmUsBMnMJsHU5fltgYc18i8pxkiSpDT2h13p2dwEkSaqq7ui1vjQihmTm0ogY\\nCjxWjl8EjKiZb3g5rlWTal7vW/5IkvSq8TBFl/AOdEWQR/nTZAbwEWAycDzwi5rxV0bExRRN6m8A\\n/tDWSic1oKCSJPUYO5Q/TW5rfbZGX342jaKyvFVELADOBi4AromIE4H5FD3VyczZEXE1MBt4ETgp\\nM212lySpHQ0N8syc2MakA9qY/3zg/MaVSJKkV5ee0NlNkiStJ4NckqQKM8glSaowg1ySpAozyCVJ\\nqjCDXJKkCjPIJUmqMINckqQKM8glSaqw7nhoiiS1afuhQ5m/dGl3F0OqDINcUo8yf+lSn23cg0TH\\ns6ib2bQuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIk\\nVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWY\\nQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEu\\nSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklS\\nhRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShfXIII+IQyLibxExNyK+2N3lkSSpp+px\\nQR4RvYBvAQcDuwATIuJN3VsqSZJ6ph4X5MDuwLzMnJ+ZLwJXAUd2c5kkSeqRemKQbwssrBn+ZzlO\\nkiS10BODXJIk1alPdxegFYuA7WqGh5fj1hJdVhzVZVJ3F0BNIqp/dFR/D15lJnV3AdSeyMzuLsNa\\nIqI3MAd4L7AY+AMwITMf7NaCSZLUA/W4Gnlmro6ITwOzKJr+v2uIS5LUuh5XI5ckSfWzs5s2qIjY\\nJyJmdnc5JBUi4rMRMTsiftSg9Z8dEZ9vxLpVnx7XtK5XBZt5pJ7jk8B7M/PR7i6IGsMaudYRESMj\\n4sGI+H5EzImIH0fEeyPiznJ4dESMiYjfRsQfy/FvbGU9m0fEdyPirnK+sd2xP9LGKiIuA14P/DIi\\nvtTa8RgRx0fEzyJiVkT8IyI+FRH/GRF/Ko/xLcv5/ldE/CEi/hwR10TEpq1s7/UR8cuIuDsibouI\\nnbp2jzdOBrnasiPwtczcGXgTxZUDewGnAmcADwJ7ZeY7gLOB81tZxxnAzZn5LmB/YEpEbNYlpZdE\\nZn6S4vLd/YAtaPt43AUYR3FnzfOAZzLz34C7gOPKef47M3fPzLcDfwM+2somrwA+nZljKP5XXNaY\\nPVMtm9bVloczc3b5+gHg5vL1X4GRwJbAD8uaeNL6Z+kgYGxEnFoOv4biHgFzGlZqSW1p63gEuCUz\\nVwGrIuJJ4Npy/F+Bt5avd42IcymO/S2AG2tXHhFbAO8GromXb2bQtyF7orUY5GrL8zWv19QMr6E4\\nOM8Ffp2Z74+IkcAtrawjgA9k5ryGllRSPVo9HiPiXax9vCdrH+9NOfF94IjMvD8ijgf2abH+XsCK\\nsiavLmTTutrS0c21+vPyHfdOaGOeG4HPNq8wYrcNUC5JndN0LL/S4/G1wJKI6Asc23JiZq4EHo6I\\nD9ZsY9fOF1edZZCrLdnG66bhC4ELIuKPtP05OhfoGxF/iYi/Auds+GJK6kDT8Vt7PN5P28djW1ed\\nnEVxp807KPrItOZDwEcj4t5yG0esZ5nVCd4QRpKkCrNGLklShRnkkiRVmEEuSVKFGeSSJFWYQS5J\\nUoUZ5JIkVZhBLmktEXFGRNwfEfeVD84Y091lktQ2b9EqqVl5u873Abtl5ksRMYjintySeihr5JJq\\nDQMez8yXADLzicxcEhH/FhG3lo+n/GVEDImI3uVjLd8DEBHnlw/VkNSFvLObpGblE6zuBDajeOLd\\nT4DfArdRPDBjeUSMBw7OzI9GxCjgGop7eF8IvLPpS4CkrmHTuqRmmfmviPg3YG+KZ1ZfRfF86rcA\\nvyofT9kLWFzOPzsifkzx2EtDXOoGBrmktWTRTHc7cHv5sJtPAfdn5p5tLPJWYAUwpIuKKKmG58gl\\nNYuInSLiDTWjdgNmA4PLjnBERJ+ySZ2IeD8wEHgP8K2I6N/VZZY2dp4jl9SsbFb/v8AA4CXgIeDj\\nwPCa8b2BS4CfA78B9s/MRyPi08A7MrOt59NLagCDXJKkCrNpXZKkCjPIJUmqMINckqQKM8glSaow\\ng1ySpAozyCVJqjCDXJKkCjPIJUmqsP8PJwzygMM5sQ0AAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x106273b10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Sex')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Examining the survival statistics, a large majority of males did not survive the ship sinking. However, a majority of females *did* survive the ship sinking. Let's build on our previous prediction: If a passenger was female, then we will predict that they survived. Otherwise, we will predict the passenger did not survive.  \\n\",\n    \"Fill in the missing code below so that the function will make this prediction.  \\n\",\n    \"**Hint:** You can access the values of each feature for a passenger like a dictionary. For example, `passenger['Sex']` is the sex of the passenger.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_1(data):\\n\",\n    \"    \\\"\\\"\\\" Model with one feature: \\n\",\n    \"            - Predict a passenger survived if they are female. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['Sex'] == 'female':\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_1(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2\\n\",\n    \"*How accurate would a prediction be that all female passengers survived and the remaining passengers did not survive?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 78.68%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: 78.68% (Accuracy when we predict `Survived=1` if and only if passenger is female.) \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"***\\n\",\n    \"Using just the **Sex** feature for each passenger, we are able to increase the accuracy of our predictions by a significant margin. Now, let's consider using an additional feature to see if we can further improve our predictions. For example, consider all of the male passengers aboard the RMS Titanic: Can we find a subset of those passengers that had a higher rate of survival? Let's start by looking at the **Age** of each male, by again using the `survival_stats` function. This time, we'll use a fourth parameter to filter out the data so that only passengers with the **Sex** 'male' will be included.  \\n\",\n    \"Run the code cell below to plot the survival outcomes of male passengers based on their age.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZ88GYMyYMVx66aXV619//fX07NmTXr16cdddd9Xbkh88eDCXXnophxxyCB07dmTo0KG8++671cun\\nTp3K3nvvTZcuXRgyZAhz5swB4NRTT2XBggUMGzaMjh07MmHChE3KXrlyJcOGDaNz58507dqVww47\\nrHpZzUMIuXWYOXMmvXv35rrrrqNHjx6cccYZDBgwgIceeqh6/crKSnbccUdefPFF5s+fT6tWrdiw\\nYQP33nsvgwYN2iiOm266iREjRgDw6aefct5551FWVkaPHj0466yz+OSTTxp4BRqHk7yZmTVo0KBB\\n9OrViyeeeGKTZdOnT+fGG2/k0Ucf5fXXX+eRRx5psLwpU6YwadIkVqxYwSeffFKdsOfOncvo0aP5\\n2c9+xooVKzjmmGM47rjjWL9+Pb/61a/o06cPDzzwAB988AHnnXfeJuXecMMN9O7dm5UrV7J8+XKu\\nuuqq6mUNHUJYunQp7733HgsWLOCOO+5g9OjRTJ48eaN6duvWjf3222+j8oYNG8bcuXN58803N6rf\\nySefDMAFF1zAG2+8wcsvv8wbb7zBokWLuPzyyxt8jhqDk7yZmeWlZ8+eG7W4q9x3332MGTOGPffc\\nk+22245x48Y1WNaYMWPYddddadeuHSNHjuTFF18E4N577+W4445jyJAhtG7dmvPOO4+1a9fy17/+\\ntXrb+g4FtG3bliVLlvD222/TunVrDj744Ly2A2jdujXjx4+nbdu2tGvXjlGjRjF16lQ+/vhjIEnc\\no0aN2mS77bbbjuHDhzNlyhQAXn/9debMmcPxxx8PwM9//nNuuukmOnXqRPv27bnwwgur1y02J3kz\\nM8vLokWL6NKlyybzFy9eTO/evauny8rKGkyo3bt3r368/fbb8+GHH1aXVZYzLkESvXv3ZtGiRXnF\\n+JOf/IRdd92Vo446it12241rr702r+0AunXrRtu2baund911VwYMGMC0adNYu3YtU6dOZfTo2m+u\\nOmrUqOrEPXnyZEaMGEG7du1YsWIFa9asYf/996dLly506dKFY445hpUrV+YdVyE88M7MzBr07LPP\\nsnjxYg499NBNlvXo0YOFCxdWT8+fP3+LR9f37NmTV155ZaN5CxcupFevXkDDXe7t27dnwoQJTJgw\\ngdmzZzN48GAOOOAABg8ezPbbb8+aNWuq1126dOlGP05qK/ukk05i8uTJVFZWstdee7HLLrtssg7A\\nkUceyYoVK3jppZe45557uPnmmwH4/Oc/z/bbb8+sWbPo0aNHfk9CI3JL3szM6rR69WoeeOABRo0a\\nxSmnnMKAAQM2WWfkyJH87//+L6+++ipr1qwp6HjzyJEjefDBB3nsscdYv349EyZMYNttt+Wggw4C\\nkh6A+s6/f/DBB6uPjXfo0IE2bdrQqlWS6vbbbz8mT57Mhg0bmD59OjNnzmwwnpNOOokZM2Zw2223\\nbdKKz+2taNOmDSeccALnn38+q1at4sgjjwSSHw7f+c53OPfcc1mxYgWQ9IjMmDFjM56VLeckb2Zm\\nmxg2bBidOnWiT58+XH311Zx33nkbnT6X2+odOnQo5557LkOGDKF///4cfvjh9ZZdX2u8f//+/OY3\\nv+H73/8+3bp148EHH2TatGm0aZN0PF944YVcccUVdOnShRtvvHGT7V9//XWOOOIIOnTowMEHH8zZ\\nZ59dPcL+lltuYerUqXTu3JkpU6bw7//+7w0+D927d+eggw7i6aef5sQTT6y3HqNGjeLRRx9l5MiR\\n1T8sAK699lp22203DjzwQHbYYQeOOuoo5s6d2+C+G4PvJ29mVgIDBw7c5C50zeViOFZatb03wPeT\\nNzNr0ZyArbG5u97MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\\nzKxkvve973HllVc2ernjx4/nlFNOafRyWxpfDMfMrJk48z/PZN7ieUUrv2/Pvtx+U34X3HnyySe5\\n4IILmDVrFm3atGHPPffk5ptvZv/992/UmG677bZGLS/Xlt4kJ0uc5M3Mmol5i+dR9q2yhlfc0vJ/\\nMy+v9VavXs2wYcOYOHEiJ5xwAp9++ilPPPEE7dq12+x9RoSTbQm5u97MzDYyd+5cJDFy5Egk0a5d\\nO4444gj23nvvTbrB58+fT6tWrdiwYQMAgwcP5pJLLuGQQw6hffv2XH/99QwaNGij8m+66SZGjBgB\\nwJgxY7j00ksBGDBgAA899FD1epWVley44468+OKLADz99NMcfPDBdO7cmS9+8Ysb3UVu3rx5lJeX\\n06lTJ44++mjeeeed4jw5LYyTvJmZbaR///60bt2a008/nenTp/Pee+9ttLxmy7zm9G9+8xt+8Ytf\\nsHr1as4880zmzp1bfftXgClTpnDyySdvst9Ro0YxefLk6unp06fTrVs39ttvPxYtWsRxxx3HpZde\\nyqpVq5gwYQLf+MY3WLlyJQCjR49m0KBBvPPOO1xyySVMmjSp4OchC5zkzcxsIx06dODJJ5+kVatW\\nfPe736Vbt26MGDGC5cuX57X96aefzh577EGrVq3o2LEjw4cPZ8qUKUByK9g5c+YwbNiwTbYbPXo0\\nU6dO5eOPPwaSHwOjRo0C4O677+bYY4/l6KOPBuDwww9n4MCBPPTQQyxcuJDnnnuOyy+/nLZt23Lo\\noYfWWv7WyEnezMw2sfvuu/PLX/6SBQsWMGvWLBYvXsy5556b17a9e/feaHrUqFHVSX7y5MmMGDGC\\nbbfddpPtdt11VwYMGMC0adNYu3YtU6dOrW7xz58/n3vvvZcuXbrQpUsXOnfuzFNPPcWSJUtYvHgx\\nnTt3Zrvttqsuq6yseGMbWhIPvDMzs3r179+f0047jTvuuIP999+fNWvWVC9bsmTJJuvX7L4/8sgj\\nWbFiBS+99BL33HMPN998c537Oumkk5g8eTKVlZXstdde9OvXD0h+OJx66qlMnDhxk20WLFjAqlWr\\nWLt2bXWiX7BgAa1auR3rZ8DMzDYyZ84cbrzxRhYtWgTAwoULmTJlCgcddBD77rsvjz/+OAsXLuT9\\n99/nmmuuabC8Nm3acMIJJ3D++eezatUqjjzyyDrXPemkk5gxYwa33XYbo0ePrp7/rW99i2nTpjFj\\nxgw2bNjAxx9/zMyZM1m8eDF9+vRh4MCBXHbZZaxbt44nn3ySadOmFf5EZICTvJmZbaRDhw4888wz\\nfPnLX6ZDhw585StfYZ999mHChAkcccQRnHjiieyzzz4MGjRok2PfdZ0uN2rUKB599FFGjhy5UQu7\\n5vrdu3fnoIMO4umnn+bEE0+snt+rVy/uv/9+rrrqKrp160ZZWRkTJkyoHtV/99138/TTT9O1a1eu\\nuOIKTjvttMZ6Olo0RUSpY9hskqIlxm1mVmXgwIE899xzG81rThfDsdKp7b0ByQ+iiNisiw74mLw1\\nuYvPPJOV8+aVOoyi6dq3L1fd7i9S23xOwNbYnOStya2cN4+JGR75OjbDP2DMrGUp6jF5SXdKWibp\\n5Zx510l6VdKLkn4vqWPOsoskvZ4uP6qYsZmZmWVdsQfe3QUcXWPeDGCviNgPeB24CEDSAGAksCdw\\nDHCrfMFjMzOzLVbUJB8RTwKrasx7JCI2pJNPA73Sx8cD90TE+oiYR/ID4IBixmdmZpZlpT6F7gyg\\n6m4EOwMLc5YtSueZmZnZFihZkpf0X8C6iJhSqhjMzMyyrCSj6yWdDnwNGJIzexGQe8HjXum8Wo0b\\nN676cXl5OeXl5Y0ZoplZUfXo0YOBAweWOgxrhnr06AFARUUFFRUVBZVV9IvhSOoLTIuIL6TTQ4Eb\\ngK9GxMqc9QYAdwNfJumm/zPwb7Vd9cYXw2nZxg4dmu1T6ObPZ+L06aUOw8wyptldDEfSZKAc6Cpp\\nAXAZcDGwDfDndPD80xFxVkTMlnQvMBtYB5zlTG5mZrbliprkI2J0LbPvqmf9q4GrixeRmZnZ1qPU\\no+vNzMysSJzkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szM\\nLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\\nzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ\\n3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyj\\nnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOKmuQl3SlpmaSXc+Z1ljRD0hxJD0vqlLPsIkmvS3pV\\n0lHFjM3MzCzrit2Svws4usa8C4FHImJ34C/ARQCSBgAjgT2BY4BbJanI8ZmZmWVWUZN8RDwJrKox\\nezgwKX08CRiRPj4euCci1kfEPOB14IBixmdmZpZlpTgmv2NELAOIiKXAjun8nYGFOestSueZmZnZ\\nFmgOA++i1AGYmZllUZsS7HOZpJ0iYpmk7sDydP4ioHfOer3SebUaN25c9ePy8nLKy8sbP1IzM7MS\\nqaiooKKioqAyFFHchrSkvsC0iPhCOn0t8G5EXCvpAqBzRFyYDry7G/gySTf9n4F/i1oClFTbbGsh\\nxg4dysSyslKHUTRj589n4vTppQ7DzDJGEhGxWQPSi9qSlzQZKAe6SloAXAZcA9wn6QxgPsmIeiJi\\ntqR7gdnAOuAsZ3IzM7MtV9QkHxGj61h0RB3rXw1cXbyIzMzMth7NYeCdmZmZFYGTvJmZWUY5yZuZ\\nmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8\\nmZlZRjWY5CW1l9Qqfdxf0vGS2hY/NDMzMytEPi35x4FtJe0MzABOAf63mEGZmZlZ4fJJ8oqINcDX\\ngVsj4gRgr+KGZWZmZoXKK8lLOgg4GXgwnde6eCGZmZlZY8gnyZ8DXAT8ISJmSdoFeKy4YZmZmVmh\\n2tS3UFJr4PiIOL5qXkS8Bfyw2IGZmZlZYeptyUdEJXBIE8ViZmZmjajelnzqBUlTgfuAj6pmRsT/\\nFS0qMzMzK1g+SX5bYCUwJGdeAE7yZmZmzViDST4ixjRFIGZmZta48rniXX9Jj0p6JZ3eR9IlxQ/N\\nzMzMCpHPKXQ/JzmFbh1ARLwMnFTMoMzMzKxw+ST57SPi7zXmrS9GMGZmZtZ48kny70jalWSwHZK+\\nCSwpalRmZmZWsHxG158N3AHsIWkR8DbwraJGZWZmZgXLZ3T9W8ARktoDrSJidfHDMjMzs0I1mOQl\\n/ajGNMD7wD8i4sUixWVmZmYFyueY/EDgTGDn9G8sMBT4uaSfFDE2MzMzK0A+x+R7AV+KiA8BJF1G\\ncsvZrwL/AK4rXnhmZma2pfJpye8IfJIzvQ7YKSLW1phvZmZmzUg+Lfm7gWck3Z9ODwMmpwPxZhct\\nMjMzMytIPqPrr5A0HfhKOuvMiHgufXxy0SIzMzOzguTTkgd4HlhUtb6kPhGxoGhRmbVgr8yaxdih\\nQ0sdRtF07duXq26/vdRhmFke8jmF7gfAZcAyoBIQydXv9iluaGYtk9auZWJZWanDKJqx8+aVOgQz\\ny1M+LflzgN0jYmWxgzEzM7PGk8/o+oUkF78xMzOzFiSflvxbQIWkB8k5ZS4ibixaVGZmZlawfFry\\nC4A/A9sAHXL+CiLpPyW9IullSXdL2kZSZ0kzJM2R9LCkToXux8zMbGuVzyl04wEkbR8Raxpjp5J6\\nAj8A9oiITyX9FhgFDAAeiYjrJF0AXARc2Bj7NDMz29o02JKXdJCk2cBr6fS+km5thH23BtpLagNs\\nR3KK3nBgUrp8EjCiEfZjZma2Vcqnu/5m4GhgJUBEvERy3fotFhGLgRtIDgUsAt6PiEdILpe7LF1n\\nKckldc3MzGwL5HUxnIhYmN5itkplITuVtANJq72MZOT+fZJOJjn/fqNd11XGuHHjqh+Xl5dTXl5e\\nSEhmZmbNSkVFBRUVFQWVkU+SXyjpK0BIakty3vyrBe0VjgDeioh3AST9geSyucsk7RQRyyR1B5bX\\nVUBukjczM8uamg3Y8ePHb3YZ+XTXnwmcTXIv+UXAful0IRYAB0raVkkXweEkN7uZCpyernMacH/t\\nm5uZmVmINusIAAAT70lEQVRD8hld/w6NfCOaiPi7pN8BL5DcuvYF4A6SU/PulXQGMB8Y2Zj7NTMz\\n25rkM7r+OkkdJbWV9KikFZK+VeiOI2J8ROwZEftExGkRsS4i3o2IIyJi94g4KiLeK3Q/ZmZmW6t8\\nuuuPiogPgOOAecBuwPnFDMrMzMwKl0+Sr+rSPxa4LyJ8HXszM7MWIJ/R9Q9Ieg1YC3xPUjfg4+KG\\nZWZmZoVqsCUfEReSnN42MCLWAR+RnONuZmZmzVg+A+9OANZFRKWkS4DfAD2LHpmZmZkVJJ9j8j+N\\niNWSDiG5iM2dwG3FDcvMzMwKlU+Sr7qE7bHAHRHxIMltZ83MzKwZyyfJL5I0ETgReEhSuzy3MzMz\\nsxLKJ1mPBB4Gjk4vTtMFnydvZmbW7OUzun5NRPwf8L6kPkBb0nvLm5mZWfOVz+j64yW9DrwNzEz/\\n/6nYgZmZmVlh8umuvwI4EJgbEf1IRtg/XdSozMzMrGD5JPl1EbESaCWpVUQ8BgwsclxmZmZWoHwu\\na/uepM8BjwN3S1pOctU7MzMza8byackPB9YA/wlMB94EhhUzKDMzMytcvS15SSNIbi37z4h4GJjU\\nJFGZmZlZwepsyUu6laT13hW4QtJPmywqMzMzK1h9LfmvAvumN6bZHniCZKS9mZmZtQD1HZP/NCIq\\nIbkgDqCmCcnMzMwaQ30t+T0kvZw+FrBrOi0gImKfokdnZmZmW6y+JL9nk0VhZmZmja7OJB8R85sy\\nEDMzM2tcvmWsmZlZRjnJm5mZZVR958k/mv6/tunCMTMzs8ZS38C7HpK+Ahwv6R5qnEIXEc8XNTIz\\nMzMrSH1J/lLgp0Av4MYaywIYUqygzMzMrHD1ja7/HfA7ST+NCF/pzszMrIVp8FazEXGFpONJLnML\\nUBERDxQ3LDMzMytUg6PrJV0NnAPMTv/OkXRVsQMzMzOzwjTYkgeOBfaLiA0AkiYBLwAXFzMwMzMz\\nK0y+58nvkPO4UzECMTMzs8aVT0v+auAFSY+RnEb3VeDCokZlZmZmBctn4N0USRXAoHTWBRGxtKhR\\nmZmZWcHyackTEUuAqUWOxczMzBqRr11vZmaWUU7yZmZmGVVvkpfUWtJrTRWMmZmZNZ56k3xEVAJz\\nJPVponjMzMyskeQz8K4zMEvS34GPqmZGxPGF7FhSJ+AXwN7ABuAMYC7wW6AMmAeMjIj3C9mPmZnZ\\n1iqfJP/TIu37FuChiDhBUhugPclV9B6JiOskXQBchM/JNzMz2yINDryLiJkkreq26eNngYLuJS+p\\nI3BoRNyV7mN92mIfDkxKV5sEjChkP2ZmZluzfG5Q8x3gd8DEdNbOwB8L3G8/4B1Jd0l6XtIdkrYH\\ndoqIZQDpBXd2LHA/ZmZmW618uuvPBg4AngGIiNclFZp82wBfAs6OiOck3UTSLR811qs5XW3cuHHV\\nj8vLyykvLy8wJDMzs+ajoqKCioqKgsrIJ8l/EhGfSgIgPX5eZ/LN07+AhRHxXDr9e5Ikv0zSThGx\\nTFJ3YHldBeQmeTMzs6yp2YAdP378ZpeRz8VwZkq6GNhO0pHAfcC0zd5TjrRLfqGk/umsw4FZJJfO\\nPT2ddxpwfyH7MTMz25rl05K/EPg28E9gLPAQyalvhfohcLektsBbwBigNXCvpDOA+cDIRtiPmZnZ\\nVimfu9BtkDSJ5Jh8AHMiotDueiLiJT67s12uIwot28zMzPJI8pKOBW4H3iS5n3w/SWMj4k/FDs7M\\nzMy2XD7d9TcAgyPiDQBJuwIPAk7yZmZmzVg+A+9WVyX41FvA6iLFY2ZmZo2kzpa8pK+nD5+T9BBw\\nL8kx+RNIrnpnZmZmzVh93fXDch4vAw5LH68AtitaRGZmZtYo6kzyETGmKQMxMzOzxpXP6Pp+wA+A\\nvrnrF3qrWTMzMyuufEbX/xG4k+QqdxuKG46ZmZk1lnyS/McR8bOiR2JmZmaNKp8kf4uky4AZwCdV\\nMyOioHvKm5mZWXHlk+S/AJwCDOGz7vpIp83MzKyZyifJnwDsEhGfFjsYMzMzazz5XPHuFWCHYgdi\\nZmZmjSuflvwOwGuSnmXjY/I+hc7MzKwZyyfJX1b0KMzMzKzR5XM/+ZlNEYiZmZk1rnyueLeaZDQ9\\nwDZAW+CjiOhYzMDMzMysMPm05DtUPZYkYDhwYDGDMjMzs8LlM7q+WiT+CBxdpHjMzMyskeTTXf/1\\nnMlWwEDg46JFZFx85pmsnDev1GEUzdxZs6CsrNRhmJllXj6j63PvK78emEfSZW9FsnLePCZmOAke\\n8txzpQ7BzGyrkM8xed9X3szMrAWqM8lLurSe7SIirihCPGZmZtZI6mvJf1TLvPbAt4GugJO8mZlZ\\nM1Znko+IG6oeS+oAnAOMAe4BbqhrOzMzM2se6j0mL6kL8CPgZGAS8KWIWNUUgZmZmVlh6jsmfz3w\\ndeAO4AsR8WGTRWVmZmYFq+9iOD8GegKXAIslfZD+rZb0QdOEZ2ZmZluqvmPym3U1PDMzM2tenMjN\\nzMwyyknezMwso/K5rK2ZWbVXZs1i7NChpQ6jKLr27ctVt99e6jDMGo2TvJltFq1dm9l7K4zN8I2h\\nbOvk7nozM7OMcpI3MzPLKCd5MzOzjHKSNzMzyygneTMzs4wqaZKX1ErS85KmptOdJc2QNEfSw5I6\\nlTI+MzOzlqzULflzgNk50xcCj0TE7sBfgItKEpWZmVkGlCzJS+oFfA34Rc7s4SS3tCX9P6Kp4zIz\\nM8uKUrbkbwLOByJn3k4RsQwgIpYCO5YiMDMzsywoSZKXdCywLCJeBFTPqlHPMjMzM6tHqS5rezBw\\nvKSvAdsBHST9GlgqaaeIWCapO7C8rgLGjRtX/bi8vJzy8vLiRmxmZtaEKioqqKioKKiMkiT5iLgY\\nuBhA0mHAjyPiFEnXAacD1wKnAffXVUZukjczM8uamg3Y8ePHb3YZpR5dX9M1wJGS5gCHp9NmZma2\\nBUp+F7qImAnMTB+/CxxR2ojMzMyyobm15M3MzKyROMmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5\\nyZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZll\\nlJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZ\\nWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWVUm1IHYGbWXLwy\\naxZjhw4tdRhF07VvX666/fZSh2FNyEnezCyltWuZWFZW6jCKZuy8eaUOwZqYk7w1uTcqP2ToUw+V\\nOoyieaPyw1KHYGYGOMlbCXzSZgNlX/tcqcMommfuWlbqEMzMAA+8MzMzyywneTMzs4xykjczM8so\\nH5M3a2RrKtd7YKGZNQtO8maNbENrPLDQzJqFknTXS+ol6S+SZkn6p6QfpvM7S5ohaY6khyV1KkV8\\nZmZmWVCqY/LrgR9FxF7AQcDZkvYALgQeiYjdgb8AF5UoPjMzsxavJEk+IpZGxIvp4w+BV4FewHBg\\n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\\nTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x117aeedd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"Examining the survival statistics, the majority of males younger than 10 survived the ship sinking, whereas most males age 10 or older *did not survive* the ship sinking. Let's continue to build on our previous prediction: If a passenger was female, then we will predict they survive. If a passenger was male and younger than 10, then we will also predict they survive. Otherwise, we will predict they do not survive.  \\n\",\n    \"Fill in the missing code below so that the function will make this prediction.  \\n\",\n    \"**Hint:** You can start your implementation of this function using the prediction code you wrote earlier from `predictions_1`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_2(data):\\n\",\n    \"    \\\"\\\"\\\" Model with two features: \\n\",\n    \"            - Predict a passenger survived if they are female.\\n\",\n    \"            - Predict a passenger survived if they are male and younger than 10. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['Sex'] == 'female' or passenger['Age'] < 10:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_2(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3\\n\",\n    \"*How accurate would a prediction be that all female passengers and all male passengers younger than 10 survived?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 79.35%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: 79.35% (Accuracy when we predict a passenger survived if and only if they are female or if they are male and younger than 10.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"***\\n\",\n    \"Adding the feature **Age** as a condition in conjunction with **Sex** improves the accuracy by a small margin more than with simply using the feature **Sex** alone. Now it's your turn: Find a series of features and conditions to split the data on to obtain an outcome prediction accuracy of at least 80%. This may require multiple features and multiple levels of conditional statements to succeed. You can use the same feature multiple times with different conditions.   \\n\",\n    \"**Pclass**, **Sex**, **Age**, **SibSp**, and **Parch** are some suggested features to try.\\n\",\n    \"\\n\",\n    \"Use the `survival_stats` function below to to examine various survival statistics.  \\n\",\n    \"**Hint:** To use mulitple filter conditions, put each condition in the list passed as the last argument. Example: `[\\\"Sex == 'male'\\\", \\\"Age < 18\\\"]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b456990>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nPSNGjGDjxo3ly2fOnMlhhx1Gp06dGDZsGEuXLgXg3HPPZeXKlYwcOZL27dszderUPcresGEDI0eO\\npGPHjnTu3JkTTzyxfFnF7v7MOsyfP5+ePXty66230q1bNy644AL69+/PnDlzytcvKSlh//33Z9Gi\\nRaxYsYIWLVpQWlrK448/zqBBg3aL484772TMmDEAfPnll1x++eXk5ubSrVs3fvCDH/DFF1/U8A7U\\nnxK5iIiUGzRoED169OCll17aY9ncuXO54447eP7553n//fd57rnnaixvxowZTJ8+nXXr1vHFF1+U\\nJ+Vly5YxceJEfv3rX7Nu3TpOO+00zjzzTHbt2sXDDz9Mr169eOaZZ/jss8+4/PLL9yj39ttvp2fP\\nnmzYsIG1a9dy0003lS+rqbv/k08+4dNPP2XlypU88MADTJw4kYKCgt3q2aVLFwYMGLBbeSNHjmTZ\\nsmV8+OGHu9Xv7LPPBuDKK6/kgw8+4O233+aDDz5g1apVXH/99TW+RvWlRC4iIrvp3r37bi3nMk88\\n8QSTJk3ikEMOYZ999mHy5Mk1ljVp0iT69u1L69atGTduHIsWLQLg8ccf58wzz2TYsGHk5ORw+eWX\\ns337dl555ZXybavrtm/VqhWrV6/m448/JicnhyFDhkTaDiAnJ4cpU6bQqlUrWrduTX5+PjNnzmTH\\njh1AkJzz8/P32G6fffZh9OjRzJgxA4D333+fpUuXMmrUKAB++9vfcuedd9KhQwfatm3LVVddVb5u\\nnJTIRURkN6tWraJTp057zC8uLqZnz57l07m5uTUmza5du5Y/b9OmDVu3bi0vKzdjrICZ0bNnT1at\\nWhUpxp///Of07duXU045ha9+9avccsstkbYD6NKlC61atSqf7tu3L/3792fWrFls376dmTNnMnFi\\n5TfvzM/PL0/OBQUFjBkzhtatW7Nu3Tq2bdvG0UcfTadOnejUqROnnXYaGzZsiBxXXWmwm4iIlHvt\\ntdcoLi7mhBNO2GNZt27dKCoqKp9esWJFnUetd+/enXfeeWe3eUVFRfTo0QOouXu8bdu2TJ06lalT\\np7JkyRKGDh3KMcccw9ChQ2nTpg3btm0rX/eTTz7Z7QdIZWVPmDCBgoICSkpKOPTQQznooIMq3e/w\\n4cNZt24db731Fo899hh33XUXAF/5yldo06YNixcvplu3btFehAaiFrmIiLBlyxaeeeYZ8vPzOeec\\nc+jfv/8e64wbN47f//73vPvuu2zbtq1ex3/HjRvH7NmzeeGFF9i1axdTp05l7733ZvDgwUDQkq/u\\n/PTZs2eXH6tu164dLVu2pEWLIKUNGDCAgoICSktLmTt3LvPnz68xngkTJjBv3jzuvffePVrjmb0O\\nLVu2ZOzYsVxxxRVs2rSJ4cOHA8GPg+9973tcdtllrFu3Dgh6NubNm1eLV6VulMhFRJqxkSNH0qFD\\nB3r16sWvfvUrLr/88t1OPctsvY4YMYLLLruMYcOG0a9fP0466aRqy66uVd2vXz8eeeQRfvSjH9Gl\\nSxdmz57NrFmzaNky6Ci+6qqruOGGG+jUqRN33HHHHtu///77nHzyybRr144hQ4bwwx/+sHzk+t13\\n383MmTPp2LEjM2bM4N/+7d9qfB26du3K4MGDWbhwIePHj6+2Hvn5+Tz//POMGzeu/McDwC233MJX\\nv/pVjj32WPbbbz9OOeUUli1bVuO+60v3IxeRPcR90ZKk1eaiKfU1cODA3e5+1pQuCCPJqfi5KKP7\\nkYtIg4j7oiVJq81FUxqakqw0NHWti4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhI\\niimRi4iIpJgSuYiIxO7iiy/mxhtvbPByp0yZwjnnnNPg5aaJLggjItKILvrJRSwvXh5b+b279+a+\\nO6NfdGbBggVceeWVLF68mJYtW3LIIYdw1113cfTRRzdoXPfee2+DlpeprjduyRZK5CIijWh58XJy\\nvxPfVfOWP7I88rpbtmxh5MiR3H///YwdO5Yvv/ySl156idatW9d6v+7e7BNqUtS1LiLSTC1btgwz\\nY9y4cZgZrVu35uSTT+awww7bo8t6xYoVtGjRgtLSUgCGDh3KNddcw/HHH0/btm257bbbGDRo0G7l\\n33nnnYwZMwaASZMmce211wLQv39/5syZU75eSUkJ+++/P4sWLQJg4cKFDBkyhI4dO3LkkUfudvey\\n5cuXk5eXR4cOHTj11FNZv359PC9OiiiRi4g0U/369SMnJ4fzzz+fuXPn8umnn+62vGILu+L0I488\\nwu9+9zu2bNnCRRddxLJly8pvLQowY8YMzj777D32m5+fT0FBQfn03Llz6dKlCwMGDGDVqlWceeaZ\\nXHvttWzatImpU6fyrW99iw0bNgAwceJEBg0axPr167nmmmuYPn16vV+HtFMiFxFpptq1a8eCBQto\\n0aIF3//+9+nSpQtjxoxh7dq1kbY///zz+drXvkaLFi1o3749o0ePZsaMGUBwm9GlS5cycuTIPbab\\nOHEiM2fOZMeOHUCQ8PPz8wF49NFHOeOMMzj11FMBOOmkkxg4cCBz5syhqKiI119/neuvv55WrVpx\\nwgknVFp+c6NELiLSjB188ME89NBDrFy5ksWLF1NcXMxll10WaduePXvuNp2fn1+eyAsKChgzZgx7\\n7733Htv17duX/v37M2vWLLZv387MmTPLW+4rVqzg8ccfp1OnTnTq1ImOHTvy8ssvs3r1aoqLi+nY\\nsSP77LNPeVm5WXyXvqhiTeRm9qCZrTGztytZ9jMzKzWzTnHGICIi0fTr14/zzjuPxYsXs++++7Jt\\n27byZatXr95j/Ypd7cOHD2fdunW89dZbPPbYY0ycOLHKfU2YMIGCggKefvppDj30UPr06QMEPw7O\\nPfdcNm7cyMaNG9m0aRNbtmzh5z//Od26dWPTpk1s3769vJyVK1fWt9qpF3eLfBpwasWZZtYDGA6s\\niHn/IiJShaVLl3LHHXewatUqAIqKipgxYwaDBw/miCOO4MUXX6SoqIjNmzdz880311hey5YtGTt2\\nLFdccQWbNm1i+PDhVa47YcIE5s2bx7333rtbwv/Od77DrFmzmDdvHqWlpezYsYP58+dTXFxMr169\\nGDhwINdddx07d+5kwYIFzJo1q/4vRMrFmsjdfQGwqZJFdwJXxLlvERGpXrt27Xj11Vf5xje+Qbt2\\n7TjuuOM4/PDDmTp1KieffDLjx4/n8MMPZ9CgQXsci67qVLP8/Hyef/55xo0bR4sWLapcv2vXrgwe\\nPJiFCxcyfvz48vk9evTg6aef5qabbqJLly7k5uYyderU8tHyjz76KAsXLqRz587ccMMNnHfeeQ31\\ncqSWuXu8OzDLBWa5++Hh9Cggz91/amYfA0e7+8YqtvW44xORPV04YgT3Z/GxxwtXrOD+uXMbZV8D\\nBw7k9ddfL59uaheEkWRU/FyUMTPcvVYn5DfqBWHMbB/gaoJu9fLZjRmDiEiSlGSloTX2ld36Ar2B\\ntyzoZ+kB/N3MjnH3Ss93mDx5cvnzvLw88vLy4o9SRESkERQWFlJYWFivMhojkVv4wN3fAbqWLwi6\\n1o9y98qOowO7J3IREZFsUrGBOmXKlFqXEffpZwXAK0A/M1tpZpMqrOKoa11ERKTOYm2Ru3vVJxEG\\nyw+Kc/8iIiLZTld2ExERSTElchERkRTT/chFRGLUrVs3Bg4cmHQY0sR069atwcpSIhcRiZEuISpx\\nU9e6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiI\\nSIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGL\\niIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgS\\nuYiISIopkYuIiKSYErmIiEiKxZrIzexBM1tjZm9nzLvVzN41s0Vm9iczax9nDCIiItks7hb5NODU\\nCvPmAYe6+wDgfeAXMccgIiKStWJN5O6+ANhUYd5z7l4aTi4EesQZg4iISDZL+hj5BcCzCccgIiKS\\nWoklcjP7D2CnuxckFYOIiEjatUxip2Z2PnA6MKymdSdPnlz+PC8vj7y8vLjCEonsop9cxPLi5UmH\\nEZsVHy2G3NykwxDJeoWFhRQWFtarDHP3hommqh2Y9QZmufvXw+kRwO3AN919Qw3betzxidTFiPEj\\nyP1O9ia6OT/5E0UnfSvpMGJz4YoV3D93btJhiOzBzHB3q802cZ9+VgC8AvQzs5VmNgn4L2Bf4H/N\\n7A0zuyfOGERERLJZrF3r7j6xktnT4tyniIhIc5L0qHURERGpByVyERGRFFMiFxERSTElchERkRRT\\nIhcREUkxJXIREZEUUyIXERFJMSVyERGRFFMiFxERSTElchERkRRTIhcREUkxJXIREZEUUyIXERFJ\\nMSVyERGRFFMiFxERSTElchERkRRTIhcREUmxlkkHIJJGy5YsZsWzi5MOIzafb92adAixemfxYi4c\\nMSLpMGLTuXdvbrrvvqTDkEaiRC5SBzu3b2f4vl2SDiM2j5esSTqEWNn27dyfm5t0GLG5cPnypEOQ\\nRqSudRERkRRTIhcREUkxJXIREZEUUyIXERFJMSVyERGRFKsxkZtZWzNrET7vZ2ajzKxV/KGJiIhI\\nTaK0yF8E9jazA4F5wDnA7+MMSkRERKKJksjN3bcBZwH3uPtY4NB4wxIREZEoIiVyMxsMnA3MDufl\\nxBeSiIiIRBUlkV8K/AL4H3dfbGYHAS/EG5aIiIhEUe0lWs0sBxjl7qPK5rn7R8AlcQcmIiIiNau2\\n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\\nIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZE\\nLiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJi\\nSuQiIiIppkQuIiKSYokmcjNrYWZvmNnMJOMQERFJq6Rb5JcCSxKOQUREJLUSS+Rm1gM4HfhdUjGI\\niIikXZIt8juBKwBPMAYREZFUSySRm9kZwBp3XwRY+BAREZFaapnQfocAo8zsdGAfoJ2ZPezu51Zc\\ncfLkyeXP8/LyyMvLa6wYRSRLbSvZxYiX5yQdRmw+KNmadAgSUWFhIYWFhfUqI5FE7u5XA1cDmNmJ\\nwM8qS+KweyIXEWkIpTmQe/q+SYcRm1enrUk6BImoYgN1ypQptS4j6VHrIiIiUg9Jda2Xc/f5wPyk\\n4xAREUkjtchFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQk\\nxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVE\\nRFKsZdIBNGdXX3QRG5YvTzqM2Hy+dSvQJekwRCTLvLN4MReOGJF0GE2GEnmCNixfzv25uUmHEZvH\\n/16adAgikoVs+/as/d/5QB22Ude6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIik\\nmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpFgiidzM\\nepjZX81ssZn9w8wuSSIOERGRtEvqfuS7gJ+6+yIz2xf4u5nNc/f3EopHREQklRJpkbv7J+6+KHy+\\nFXgXODCJWERERNIs8WPkZtYbGAC8mmwkIiIi6ZNU1zoAYbf6k8ClYct8D48+9mjjBtVIWu/VmpLS\\n0qTDEBGRlEsskZtZS4Ik/gd3f7qq9SbfP7n8eefenencp3P8wTWCLz78go8/WMyI4neTDiU223xX\\n0iGIiDRphcXFFBYX16uMJFvkDwFL3P3u6lYa9tNhjRRO4ypeV8w230Hu6V2TDiU2pdOSjkBEpGnL\\n696dvO7dy6envPFGrctI6vSzIcDZwDAze9PM3jCzEUnEIiIikmaJtMjd/WUgJ4l9i4iIZJPER62L\\n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\\nQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ba99bd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'male'\\\", \\\"Pclass == 1\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nh7Fa7FqXpF6sJREPGDCAAw88kCuvvJJLL72U+++/H4BjjjmGb33rW63rf+9732PLLbdk6NChXHLJ\\nJR22yPfYYw++9a1v8aEPfYiNNtqIMWPG8Nxzz7Uunzp1Ku9+97sZNGgQe+65J7NnzwbgyCOPZO7c\\nuYwdO5aNNtqIs88+e4Wyn332WcaOHcvAgQPZdNNN+chHPtK6rG13f20dbrrpJoYNG8Z3v/tdhgwZ\\nwic+8Ql22GEHrr/++tb1ly5dymabbcY999zDE088QZ8+fVi2bBlXXXUVO++883JxnHvuuRxyyCEA\\nvP766xx//PEMHz6cIUOG8LnPfY7XXnutk3dg9ZnIJUmtdt55Z4YOHcott9yywrLp06dzzjnncMMN\\nN/Dwww/z+9//vtPypkyZwqWXXsqiRYt47bXXWpPyQw89xKRJk/jhD3/IokWL2H///TnwwAN58803\\n+dnPfsZWW23Ftddey4svvsjxxx+/Qrnf//73GTZsGM8++yxPP/00Z555Zuuyzrr7n3rqKf7+978z\\nd+5cLrroIiZNmsTkyZOXq+fgwYMZMWLEcuWNHTuWhx56iEcffXS5+h122GEAnHjiiTzyyCPcd999\\nPPLIIzz55JOcdtppnb5Gq8tELklazpZbbrlcy7nF1VdfzTHHHMO73vUu1l9/fU455ZROyzrmmGPY\\ndtttWXfddRk3bhz33HMPAFdddRUHHngge+65J3379uX4449nyZIl/OlPf2rdtqNu+/79+7NgwQIe\\nf/xx+vbty6hRo+raDqBv376ceuqp9O/fn3XXXZeJEycydepUXn31VaBIzhMnTlxhu/XXX5+DDz6Y\\nKVOmAPDwww8ze/ZsDjroIAB+/OMfc+6557Lxxhuz4YYbctJJJ7Wu20gmcknScp588kkGDRq0wvz5\\n8+czbNiw1unhw4d3mjS32GKL1ucbbLABL7/8cmtZw2vGCkQEw4YN48knn6wrxq9+9atsu+227Lvv\\nvrzjHe/grLPOqms7gMGDB9O/f//W6W233ZYddtiBadOmsWTJEqZOncqkSZPa3XbixImtyXny5Mkc\\ncsghrLvuuixatIjFixfzgQ98gEGDBjFo0CD2339/nn322brjWlUOdpMktbrjjjuYP38+u++++wrL\\nhgwZwrx581qnn3jiiVUetb7lllvy17/+dbl58+bNY+jQoUDn3eMbbrghZ599NmeffTb3338/e+yx\\nB7vssgt77LEHG2ywAYsXL25d96mnnlruB0h7ZU+YMIHJkyezdOlSdtxxR97+9re3u9999tmHRYsW\\nce+993LFFVdw3nnnAfDWt76VDTbYgFmzZjFkyJD6XoQ1xBa5JImXXnqJa6+9lokTJ3LEEUewww47\\nrLDOuHHj+K//+i8eeOABFi9evFrHf8eNG8d1113HjTfeyJtvvsnZZ5/Neuutx2677QYULfmOzk+/\\n7rrrWo9VDxgwgH79+tGnT5HSRowYweTJk1m2bBnTp0/npptu6jSeCRMmMGPGDC644IIVWuO1vQ79\\n+vXj0EMP5YQTTuD5559nn332AYofB5/61Kc47rjjWLRoEVD0bMyYMaMLr8qqMZFLUi82duxYNt54\\nY7baaiu+/e1vc/zxxy936llt63XMmDEcd9xx7Lnnnmy33XbstddeHZbdUat6u+2247LLLuMLX/gC\\ngwcP5rrrrmPatGn061d0FJ900kmcfvrpDBo0iHPOOWeF7R9++GH23ntvBgwYwKhRo/j85z/fOnL9\\nBz/4AVOnTmXgwIFMmTKFf/7nf+70ddhiiy3YbbfduO222xg/fnyH9Zg4cSI33HAD48aNa/3xAHDW\\nWWfxjne8g1133ZVNNtmEfffdl4ceeqjTfa8u70cuSQ00cuTI5e5+1pMuCKPmafu5aOH9yCWphzPJ\\nak2za12SpAozkUuSVGEmckmSKsxELklShZnIJUmqMBO5JEkVZiKXJKnCTOSSpIb77Gc/yxlnnLHG\\nyz311FM54ogj1ni5VeIFYSSpGx37b8cyZ/6chpW/9ZZb86Nz67/ozK233sqJJ57IrFmz6NevH+96\\n17s477zz+MAHPrBG47rgggvWaHm1VvXGLWsLE7kkdaM58+cw/PDhna+4quVfNqfudV966SXGjh3L\\nhRdeyKGHHsrrr7/OLbfcwrrrrtvl/WZmr0+ozWIil3qgRrfaerqutiq1ah566CEignHjxgGw7rrr\\nsvfeewNFl/UjjzzCz3/+c6C4Zek222zDm2++SZ8+fdhjjz0YNWoUM2fO5O677+bkk0/m6quv5o47\\n7mgt/9xzz+Wmm27i17/+NccccwzDhg3jtNNOY4cdduDss8/mox/9KABLly5lyJAhzJgxgxEjRnDb\\nbbfxla98hfvvv5+tt96a8847r/WGKHPmzOHoo4/m7rvvZtddd2W77bbrzpesRzKRSz1Qo1ttPV1X\\nWpVaddtttx19+/bl6KOPZsKECa137WrRtoXddvqyyy5j+vTpbLfddrz88succcYZPProo2y77bYA\\nTJkyhRNOOGGF/U6cOJHJkye3JvLp06czePBgRowYwZNPPsmBBx7I5Zdfzn777ccNN9zAxz/+cWbP\\nns2mm27KpEmTGDVqFL/73e+47bbbOOCAAzjkkEPW9EtTKQ52k6ReasCAAdx666306dOHT3/60wwe\\nPJhDDjmEp59+uq7tjz76aN75znfSp08fNtpoIw4++GCmTJkCFLcZnT17NmPHjl1hu0mTJjF16lRe\\nffVVoEj4EydOBODyyy/ngAMOYL/99gNgr732YuTIkVx//fXMmzePO++8k9NOO43+/fuz++67t1t+\\nb2Mil6RebPvtt+enP/0pc+fOZdasWcyfP5/jjjuurm2HDRu23PTEiRNbE/nkyZM55JBDWG+99VbY\\nbtttt2WHHXZg2rRpLFmyhKlTp3LYYYcBRRf+VVddxaBBgxg0aBADBw7kj3/8IwsWLGD+/PkMHDiQ\\n9ddfv7Ws4cN7b89VC7vWJUlA0dV+1FFHcdFFF/GBD3yAxYsXty5bsGDBCuu37WrfZ599WLRoEffe\\ney9XXHEF55133kr3NWHCBCZPnszSpUvZcccd2WabbYDix8GRRx7JhRdeuMI2c+fO5fnnn2fJkiWt\\nyXzu3Ln06dO726S9u/aS1IvNnj2bc845hyeffBKAefPmMWXKFHbbbTfe+973cvPNNzNv3jxeeOEF\\nvvOd73RaXr9+/Tj00EM54YQTeP7559lnn31Wuu6ECROYMWMGF1xwAZMmTWqdf/jhhzNt2jRmzJjB\\nsmXLePXVV7npppuYP38+W221FSNHjuTkk0/mjTfe4NZbb2XatGmr/0JUnIlcknqpAQMGcPvtt/NP\\n//RPDBgwgA9+8IPstNNOnH322ey9996MHz+enXbaiZ133nmFY9ErO9Vs4sSJ3HDDDYwbN265lnLb\\n9bfYYgt22203brvtNsaPH986f+jQoVxzzTWceeaZDB48mOHDh3P22WezbNkyoDiGftttt7Hpppty\\n+umnc9RRR62pl6OyIjObHcNKRUT25PikRhkzfkyvHrX+xGVPMP3K6c0OY40YOXIkd955Z+t0T7sg\\njJqj7eeiRUSQmV06Id9j5JLUjUyyWtPsWpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKF\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c0c7d90>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\", \\\"Pclass == 1\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nHXeka9eu9OzZk969e3PwwQdzww03bJS0rr/+ei688MJ6y6h1d8uC2WmnnXjkkUeKUnZTDBgwgHff\\nfbdox9kUTuRmZm3EgqoqAor2t6Aqv064krjvvvt45513WLBgARMnTmTy5Ml87Wtfy/tY2kJNtSXW\\nr19f6hDy5kRuZmabqE7E3bt354QTTuCOO+5g6tSpzJ07F4AJEyZw8cUX16x/5ZVXsv3229O/f39u\\nvvnmBmuqhx12GBdffDEHH3wwPXr04Nhjj+Wtt96qWT5jxgz23HNPevfuzeGHH868efMAOPXUU1m4\\ncCEjRoygR48eTJkyZZOyV65cyYgRI+jVqxfbbLMNhx56aM2y2s39ucfw2GOPMWDAAK644gr69evH\\nGWecwdChQ7n//vtr1l+/fj3bbbcdzz77LAsWLKBDhw5s2LCBO++8k+HDh28UxzXXXMPo0aMB+Pjj\\njznnnHMYNGgQ/fr14zvf+Q4fffRRI69A/pzIzcysUcOHD6d///488cQTmyx74IEHuPrqq3n44Yd5\\n+eWXeeihhxotb/r06UydOpXly5fz0Ucf1STl+fPnM378eH72s5+xfPlyjjvuOE444QTWrVvHLbfc\\nwsCBA7n33nt59913OeecczYp96qrrmLAgAGsXLmSN998k8svv7xmWWPN4MuWLePtt99m4cKF3Hjj\\njYwfP55p06ZtdJx9+vRh77333qi8ESNGMH/+fF599dWNju/kk08G4LzzzuOVV17h+eef55VXXmHx\\n4sVccskljT5H+XIiNzOzvGy//fYb1Zyr3XXXXUyYMIHdd9+drbbaioqKikbLmjBhAoMHD6ZLly6M\\nGTOGZ599FoA777yTE044gcMPP5yOHTtyzjnn8MEHH/CXv/ylZtuGmu07d+7M0qVLef311+nYsSMH\\nHXRQXtsBdOzYkR/96Ed07tyZLl26MG7cOGbMmMGHH34IJMl53Lhxm2y31VZbMWrUKKZPnw7Ayy+/\\nzLx58xg5ciQAv/jFL7jmmmvo2bMn3bp1Y+LEiTXrFoITuZmZ5WXx4sX07t17k/lLlixhwIABNdOD\\nBg1qNGmW5XS869q1K++9915NWYMGDapZJokBAwawePHivGL8wQ9+wODBgzn66KPZZZddmDx5cl7b\\nAfTp04fOnTvXTA8ePJihQ4cyc+ZMPvjgA2bMmMH48XXf1HPcuHE1yXnatGmMHj2aLl26sHz5ctas\\nWcM+++xD79696d27N8cddxwrV67MO67GeGQ3MzNr1FNPPcWSJUs45JBDNlnWr18/Fi1aVDO9YMGC\\nZvfm3n777XnhhRc2mrdo0SL69+8PNN483q1bN6ZMmcKUKVOYO3cuhx12GPvuuy+HHXYYXbt2Zc2a\\nNTXrLlu2bKMfIHWVPXbsWKZNm8b69evZY4892HnnnTdZB+Coo45i+fLlPPfcc9x+++1ce+21AGy7\\n7bZ07dqVF198kX79+uX3JDSRa+RmZlav1atXc++99zJu3DhOOeUUhg4dusk6Y8aM4de//jUvvfQS\\na9asadH53zFjxnDffffx6KOPsm7dOqZMmcKWW27JAQccACQ1+YauT7/vvvtqzlV3796dTp060aFD\\nkur23ntvpk2bxoYNG3jggQd47LHHGo1n7NixzJo1i+uvv36T2nhuq0OnTp048cQTOffcc1m1ahVH\\nHXUUkPw4+PrXv87ZZ5/N8uXLgaRlY9asWU14VhrmRG5mZpsYMWIEPXv2ZODAgfz4xz/mnHPO4Ve/\\n+lXN8tza67HHHsvZZ5/N4YcfzpAhQzjiiCMaLLuhWvWQIUO49dZb+c///E/69OnDfffdx8yZM+nU\\nKWlAnjhxIpdeeim9e/fm6quv3mT7l19+mSOPPJLu3btz0EEHceaZZ9b0XP/pT3/KjBkz6NWrF9On\\nT+c//uM/Gn0eysrKOOCAA5gzZw4nnXRSg8cxbtw4Hn74YcaMGVPz4wFg8uTJ7LLLLuy///5svfXW\\nHH300cyfP7/RfefL9yP/pMyC3jSFiuxfR2lmxTNs2LBN7n62Y1lZ3td6N8egvn15Y5nvytjW1fXe\\nAN+P3MyszXOSteZw07qZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmG\\nOZGbmVnJfPvb3+ayyy4reLk/+tGPOOWUUwpeblvkRG5m1kaU9S9DUtH+yvqXNR5Eavbs2Rx00EFs\\nvfXWbLvtthxyyCH8/e9/L/gxX3/99Vx44YUFLxcav8HK5sIju5mZtRFVi6sKO1R07fIr8hv+dfXq\\n1YwYMYIbbriBE088kY8//pgnnniCLl26NHmfEdFuEmqpuEZuZmYbmT9/PpIYM2YMkujSpQtHHnkk\\ne+655yZN1gsWLKBDhw5s2LABgMMOO4yLLrqIgw8+mG7dunHllVcyfPjwjcq/5pprGD16NAATJkzg\\n4osvBmDo0KHcf//9NeutX7+e7bbbjmeffRaAOXPmcNBBB9GrVy8+97nPbXT3sjfeeIPy8nJ69uzJ\\nMcccw4oVK4rz5LRBTuRmZraRIUOG0LFjR04//XQeeOAB3n777Y2W165h156+9dZbuemmm1i9ejXf\\n+ta3mD9/fs2tRQGmT5/OySefvMl+x40bx7Rp02qmH3jgAfr06cPee+/N4sWLOeGEE7j44otZtWoV\\nU6ZM4ctf/jIrV64EYPz48QwfPpwVK1Zw0UUXMXXq1BY/D1nhRG5mZhvp3r07s2fPpkOHDnzjG9+g\\nT58+jB49mjfffDOv7U8//XR22203OnToQI8ePRg1ahTTp08HktuMzps3jxEjRmyy3fjx45kxYwYf\\nfvghkCT8cePGAXDbbbdx/PHHc8wxxwBwxBFHMGzYMO6//34WLVrE008/zSWXXELnzp055JBD6ix/\\nc+VEbmZmm9h111351a9+xcKFC3nxxRdZsmQJZ599dl7bDhgwYKPpcePG1STyadOmMXr0aLbccstN\\nths8eDBDhw5l5syZfPDBB8yYMaOm5r5gwQLuvPNOevfuTe/evenVqxd//vOfWbp0KUuWLKFXr15s\\ntdVWNWUNGjSouYeeOe7sZmZmDRoyZAinnXYaN954I/vssw9r1qypWbZ06dJN1q/d1H7UUUexfPly\\nnnvuOW6//Xauvfbaevc1duxYpk2bxvr169ljjz3YaaedgOTHwamnnsoNN9ywyTYLFy5k1apVfPDB\\nBzXJfOHChXTo0D7qqu3jKM3MLG/z5s3j6quvZvHixQAsWrSI6dOnc8ABB/DZz36Wxx9/nEWLFvHO\\nO+/wk5/8pNHyOnXqxIknnsi5557LqlWrOOqoo+pdd+zYscyaNYvrr7+e8ePH18z/6le/ysyZM5k1\\naxYbNmzgww8/5LHHHmPJkiUMHDiQYcOGMWnSJNauXcvs2bOZOXNmy5+IjHAiNzOzjXTv3p0nn3yS\\n/fbbj+7du3PggQey1157MWXKFI488khOOukk9tprL4YPH77Juej6LjUbN24cDz/8MGPGjNmoplx7\\n/bKyMg444ADmzJnDSSedVDO/f//+3HPPPVx++eX06dOHQYMGMWXKlJre8rfddhtz5sxhm2224dJL\\nL+W0004r1NPR5ikiSh1Dk0mKQsctqbDXb1Yk10+amdVl2LBhPP300xvNK+tfllxLXiR9d+jLsn8v\\n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\\nM8tPPr3Wa0TiD8AxRYrHzMzMmiCfpvUv5Ux2AIYBHxYtIjMzM8tbPr3Wc+9Lvg54g6R53czMzEos\\nn3Pkvi+5mZlZG1VvIpd0cQPbRURcWoR4zMzMrAkaqpG/X8e8bsDXgG0AJ3IzM7MSqzeRR8RV1Y8l\\ndQfOAiYAtwNX1bedmZmZtZ4Gz5FL6g18HzgZmAp8PiJWtUZgZmZm1riGzpFfCXwJuBH4TES812pR\\nmZmZWV4aGhDmv4HtgYuAJZLeTf9WS3q3dcIzMzOzhjR0jrxJo76ZmZlZ63OyNjMzyzAncjMzswxz\\nIjczM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8uwkiZySR0k/UPSjHS6\\nl6RZkuZJelBSz1LGZ2Zm1taVukZ+FjA3Z3oi8FBE7Ao8ApxfkqjMzMwyomSJXFJ/4IvATTmzR5Hc\\nLpX0/+jWjsvMzCxLSlkjvwY4F4iceX0jogogIpYB25UiMDMzs6woSSKXdDxQFRHPAmpg1WhgmZmZ\\nWbtX721Mi+wgYKSkLwJbAd0l/QZYJqlvRFRJKgPerK+AioqKmsfl5eWUl5cXN2IzM7NWVFlZSWVl\\nZaPrKaK0lV5JhwL/HREjJV0BrIyIyZLOA3pFxMQ6tolCxy0JKgpYYAWU4rkt+HFAyY7FzMw+IYmI\\n2KQVu9S91mv7CXCUpHnAEem0mZmZ1aNUTes1IuIx4LH08VvAkaWNyMzMLDvaWo3czMzMmsCJ3MzM\\nLMOcyM3MzDKs5OfIm0tq6PJzMzOz9iGzibzQF0P5Z4GZmWWRm9bNzMwyzInczMwsw5zIzczMMsyJ\\n3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzD\\nnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczM\\nMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzIm8xHYsK0NSwf7MzKx96VTqANq7BVVVRAHLcyo3\\nM2tfXCM3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLsJIkckn9JT0i\\n6UVJ/5T0vXR+L0mzJM2T9KCknqWIz8zMLCtKVSNfB3w/IvYADgDOlLQbMBF4KCJ2BR4Bzi9RfGZm\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11babe990>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nie9MqC8ZVc2zs2dz9bDGXSPhE534kRAR3HTTTRx00EEsWbKEmTNn8pnPfIa7776bH/7wh3WV0Z1b\\nqvVYsWIFvXv3bnYY68VELnVDy5Yv69EXxJl9zexmh9BjtCTi/v37c/TRR7Pddtuxzz77cNZZZ7H7\\n7rtz+umnM3ToUL785S8DcPnllzNhwgR69erFJZdc0m6L/KCDDuKAAw7gtttu44EHHmC//fZj0qRJ\\nDBxYXLlwypQpnHfeecyfP58999yTq666it12241TTjmFuXPnMmrUKHr37s0FF1zAWWedtUrZzz77\\nLKeddhp33nknvXr14u1vfzszZ84Eiu7+Rx99lDe/+c0Aq9Rh5syZnHTSSXz6059mwoQJHH744dxz\\nzz2MHz+eD3zgA0CR3AcPHsz06dMZMGAAO++8M8uXL+fnP/85l19+Offcc09rHBMmTGDmzJnccMMN\\nvPrqq5x33nlcf/31vPrqq3zwgx9kwoQJ9OvXbwO9WmvmMXJJUqu99tqLHXbYgTvuuGO1ZdOmTeOK\\nK67g1ltv5ZFHHuGWW27psLzJkyczceJEFi1axCuvvML48eMBePjhhxk3bhzf+ta3WLRoEUceeSRH\\nH300y5cv58c//jE77rgjv/rVr3jxxRdXS+IA3/jGNxg6dCjPPvssTz/9NF/96ldbl3XU3f/UU0/x\\n/PPPM3fuXL773e8ybtw4Jk2atEo9Bw0axJ577rlKeaNGjeLhhx/mscceW6V+H/7whwE455xzePTR\\nR3nggQd49NFHefLJJ1t/ADWSiVyStIohQ4bw3HPPrTb/+uuv5/TTT+dtb3sbm222WV23Gj399NPZ\\nZZdd6NevH6NHj+a+++4D4LrrruPoo4/m4IMPpnfv3px11lksW7aM3//+963rttdt37dvXxYsWMAT\\nTzxB79692X///etaD6B3795cfPHF9O3bl379+jF27FimTJnCyy+/DBTJeezYsautt9lmm3Hssccy\\nefJkAB555BEeeughjjnmGAC+973vMWHCBLbeemu22GILzj333NbnNpKJXJK0iieffLK1+7vW/Pnz\\nGTp0aOv0sGHDOkya22+/fevjzTffnJdeeqm1rGE1YwUigqFDh/Lkk0/WFeMXvvAFdtllFw4//HDe\\n8pa3cNlll9W1HsCgQYPo27dv6/Quu+zC7rvvztSpU1m2bBlTpkxh3Lhxa1x37Nixrcl50qRJHHfc\\ncfTr149FixaxdOlS3vve9zJw4EAGDhzIkUceybPPPlt3XOvKY+SSpFb33HMP8+fP54ADDlht2eDB\\ng5k3b17r9Jw5c9Z51PqQIUP485//vMq8efPmscMOOwAdd49vscUWjB8/nvHjx/Pggw9y0EEHsffe\\ne3PQQQex+eabs3Tp0tbnPvXUU6v8AFlT2SeeeCKTJk1ixYoV7LHHHq3H19s67LDDWLRoEffffz/X\\nXnstV155JQBvfOMb2XzzzZk1axaDBw+ubydsILbIJUksWbKEX/3qV4wdO5aTTz6Z3XfffbXnjB49\\nmv/4j//gL3/5C0uXLl2v47+jR4/mpptu4re//S3Lly9n/PjxbLrppuy7775A0ZJv7/z0m266qfVY\\ndf/+/enTpw+9ehUpbc8992TSpEmsXLmSadOmtQ6Ca8+JJ57I9OnTueqqq1Zrjdf2OvTp04cTTjiB\\ns88+m8WLF3PYYYcBxY+Dj33sY5x55pksWrQIKHo2pk+f3om9sm5M5JLUg40aNYqtt96aHXfcka99\\n7WucddZZq5x6Vtt6HTlyJGeeeSYHH3wwu+66K4cccki7ZbfXqt5111255ppr+Od//mcGDRrETTfd\\nxNSpU+nTp+goPvfcc7nkkksYOHAgV1xxxWrrP/LIIxx66KH079+f/fffn0996lMceOCBAHzzm99k\\nypQpDBgwgMmTJ/PBD36ww/2w/fbbs++++3LXXXcxZsyYdusxduxYbr31VkaPHt364wHgsssu4y1v\\neQv77LMPb3jDGzj88MN5+OGHO9z2+vJ+5OqWevr9yH9x9i84/vLjmx1G02xM92MfPnz4Knc/604X\\nhFHztH1ftPB+5JLUzZlktaHZtS5JUoWZyCVJqjATuSRJFWYilySpwkzkkiRVmIlckqQKM5FLklRh\\nJnJJUsN98pOf5Ctf+coGL/fiiy/m5JNP3uDlVokXhJGkLnTGv5zB7PmzG1b+TkN24jsT6r/ozJ13\\n3sk555zDrFmz6NOnD29729u48soree9737tB47rqqqs2aHm11vXGLRsLE7kkdaHZ82c39PLDs6+Z\\nXfdzlyxZwqhRo7j66qs54YQTePXVV7njjjvo169fp7ebmT0+oTaLXeuS1EM9/PDDRASjR48mIujX\\nrx+HHnoob3/721frsp4zZw69evVi5cqVABx00EGcf/75vO9972OLLbbg8ssvZ6+99lql/AkTJnDc\\ncccBcPrpp3PBBRcAsPvuu3PzzTe3Pm/FihVsu+223HfffQDcdddd7L///gwYMIB3v/vdq9y9bPbs\\n2YwYMYKtt96aI444gmeeeaYxO6dCTOSS1EPtuuuu9O7dm9NOO41p06bx/PPPr7K8bQu77fQ111zD\\n97//fZYsWcIZZ5zBww8/3HprUYDJkyfz4Q9/eLXtjh07lkmTJrVOT5s2jUGDBrHnnnvy5JNPcvTR\\nR3PBBRewePFixo8fz/HHH8+zzz4LwLhx49hrr7145plnOP/885k4ceJ674eqM5FLUg/Vv39/7rzz\\nTnr16sXHP/5xBg0axHHHHcfTTz9d1/qnnXYab33rW+nVqxdbbbUVxx57LJMnTwaK24w+9NBDjBo1\\narX1xo0bx5QpU3j55ZeBIuGPHTsWgJ/+9KccddRRHHHEEQAccsghDB8+nJtvvpl58+Zx77338uUv\\nf5m+fftywAEHrLH8nsZELkk92G677cYPf/hD5s6dy6xZs5g/fz5nnnlmXesOHTp0lemxY8e2JvJJ\\nkyZx3HHHsemmm6623i677MLuu+/O1KlTWbZsGVOmTGltuc+ZM4frrruOgQMHMnDgQAYMGMDvfvc7\\nFixYwPz58xkwYACbbbZZa1nDhvXc2x23cLCbJAkoutpPPfVUvvvd7/Le976XpUuXti5bsGDBas9v\\n29V+2GGHsWjRIu6//36uvfZarrzyyrVu68QTT2TSpEmsWLGCPfbYg5133hkofhyccsopXH311aut\\nM3fuXBYvXsyyZctak/ncuXPp1atnt0l7du0lqQd76KGHuOKKK3jyyScBmDdvHpMnT2bfffflXe96\\nF7fffjvz5s3jhRde4NJLL+2wvD59+nDCCSdw9tlns3jxYg477LC1PvfEE09k+vTpXHXVVYwbN651\\n/kknncTUqVOZPn06K1eu5OWXX2bmzJnMnz+fHXfckeHDh3PhhRfy2muvceeddzJ16tT13xEVZyKX\\npB6qf//+3H333fzDP/wD/fv3Z7/99uOd73wn48eP59BDD2XMmDG8853vZK+99lrtWPTaTjUbO3Ys\\nt956K6NHj16lpdz2+dtvvz377rsvd911F2PGjGmdv8MOO3DjjTfy1a9+lUGDBjFs2DDGjx/fOlr+\\npz/9KXfddRfbbLMNl1xyCaeeeuqG2h2VFZnZ7BjWKiKyO8enxhk5ZmRDz7Xt7n5x9i84/vLjmx1G\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ba99b50>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\", \\\"SibSp < 3\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"After exploring the survival statistics visualization, fill in the missing code below so that the function will make your prediction.  \\n\",\n    \"Make sure to keep track of the various features and conditions you tried before arriving at your final prediction model.  \\n\",\n    \"**Hint:** You can start your implementation of this function using the prediction code you wrote earlier from `predictions_2`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 89,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 81.71%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def predictions_3(data):\\n\",\n    \"    \\\"\\\"\\\" Model with multiple features. Makes a prediction with an accuracy of at least 80%. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['SibSp'] > 4:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Parch'] < 4:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        # This one didn't improve accuracy (2)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Pclass'] == 1 and passenger['Age'] > 10:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        # Removing this one didn't change accuracy (1)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Age'] > 50:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        elif passenger['Age'] < 10 and passenger['SibSp'] < 3 and passenger['Sex'] == 'male':\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        elif passenger['Age'] < 10 and passenger['Pclass'] == 2:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_3(data)\\n\",\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4\\n\",\n    \"*Describe the steps you took to implement the final prediction model so that it got an accuracy of at least 80%. What features did you look at? Were certain features more informative than others? Which conditions did you use to split the survival outcomes in the data? How accurate are your predictions?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of your predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 72,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 81.71%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: \\n\",\n    \"\\n\",\n    \"### Steps:\\n\",\n    \"1. **Think about what features might matter.** \\n\",\n    \"    - E.g. women and children may have been given priority to go on lifeboats. People with family members (`Parch`, `SibSp` > 0) might be more likely to survive if they are children because there are people taking care of them. They might be less likely to survive if they are parents trying to make sure their children are rescued.\\n\",\n    \"2. **Visualise the features** using the `survival_stats` function provided. See if the features are informative. They can be informative if (1) they show that almost all people of a certain group survive or if (2) they show that almost all people of a certain group don't survive.\\n\",\n    \"    - See above for visualisations of informative features.\\n\",\n    \"3. **Choose filters and add them to the model.** \\n\",\n    \"4. **Run the model and see if it produces a higher accuracy**.\\n\",\n    \"    - If it doesn't, ditch the filter.\\n\",\n    \"5. **Repeat with different features or filters**.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Features I looked at\\n\",\n    \"- SibSp\\n\",\n    \"- Age\\n\",\n    \"- Parch\\n\",\n    \"- Sex\\n\",\n    \"- Pclass\\n\",\n    \"\\n\",\n    \"Certain features were more informative than others. For example, looking at `SibSp` for males under the age of 10 was more useful than looking at `Age` for females because \\n\",\n    \"* the former told me that all males under the age of 10 with `SibSp` < 3 survived, whereas \\n\",\n    \"* for most age groups, there were a significant number of females that survived and a significant number of females that did not survive so it did not provide me with much information I could use to make splits.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c0fc590>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 91,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\\n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\\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b3c5290>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Splits\\n\",\n    \"\\n\",\n    \"1) If passenger['SibSp'] > 4, they are less likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n06FDhyZxtZMTuZlZE7FXSQmSCvbYq6Qkvzj22ou2bdvSsWNHOnfuzOGHH85NN920RdK68cYb+eEP\\nf1htGQ09+ma5vffem0ceeaQgZddFjx49ePfddwt2nHXhRG5m1kQsLCsjoGCPhWVlecUhiXvvvZc1\\na9awcOFCxo4dy4QJE/jqV7+a97E0hZrqtti4cWOxQ8ibE7mZmW2lPBG3b9+ek08+mTvuuIPJkycz\\nZ84cAM4++2wuv/zyivWvu+469thjD7p3786tt95aY011yJAhXH755Rx++OF06NCBE044gVWrVlUs\\nnzlzJgcddBCdO3fmqKOOYu7cuQCcccYZLFq0iKFDh9KhQwcmTpy4VdkrV65k6NChdOrUiV133ZUj\\njzyyYlnl5v7cY3jsscfo0aMHP/nJT+jWrRvnnHMOffv25b777qtYf+PGjey+++48//zzLFy4kBYt\\nWrBp0yZmzJjBgAEDtojj+uuvZ8SIEQB8/PHHXHjhhfTq1Ytu3bpx7rnn8tFHH9XyDuTPidzMzGo1\\nYMAAunfvzhNPPLHVsvvvv59Jkybx8MMPM3/+fB566KFay5s2bRqTJ09mxYoVfPTRRxVJed68eYwZ\\nM4Zf/OIXrFixghNPPJGTTz6ZDRs2cNttt9GzZ0/uuece3n33XS688MKtyv3pT39Kjx49WLlyJW+9\\n9RZXX311xbLamsGXL1/OO++8w6JFi7j55psZM2YMU6dO3eI4u3TpQr9+/bYob+jQocybN4/XXntt\\ni+M77bTTALj44ot59dVXefHFF3n11VdZsmQJV1xxRa2vUb6cyM3MLC977LHHFjXncnfeeSdnn302\\nBxxwADvttFNed5I8++yz6d27N23atGHkyJE8//zzAMyYMYOTTz6Zo446ipYtW3LhhRfywQcf8Le/\\n/a1i25qa7Vu3bs2yZct44403aNmyJYMGDcprO4CWLVvy4x//mNatW9OmTRtGjx7NzJkz+fDDD4Ek\\nOY8ePXqr7XbaaSeGDx/OtGnTAJg/fz5z585l2LBhAPz617/m+uuvp2PHjrRr146xY8dWrNsQnMjN\\nzCwvS5YsoXPnzlvNX7p0KT169KiY7tWrV61JsySn413btm157733Ksrq1atXxTJJ9OjRgyVLluQV\\n4w9+8AN69+7Ncccdx7777suECRPy2g6gS5cutG7dumK6d+/e9O3bl1mzZvHBBx8wc+ZMxowZU+W2\\no0ePrkjOU6dOZcSIEbRp04YVK1awbt06PvvZz9K5c2c6d+7MiSeeyMqVK/OOqzYeotXMzGr1zDPP\\nsHTpUo444oitlnXr1o3FixdXTC9cuLDevbn32GMP/v3vf28xb/HixXTv3h2ovXm8Xbt2TJw4kYkT\\nJzJnzhyGDBnCwIEDGTJkCG3btmXdunUV6y5fvnyLHyBVlT1q1CimTp3Kxo0bOfDAA9lnn32q3O+x\\nxx7LihUreOGFF5g+fTo/+9nPANhtt91o27YtL7/8Mt26dcvvRagj18jNzKxaa9eu5Z577mH06NGc\\nfvrp9O3bd6t1Ro4cye9+9zteeeUV1q1bt03nf0eOHMm9997Lo48+yoYNG5g4cSI77rgjhx56KJDU\\n5Gu6Pv3ee++tOFfdvn17WrVqRYsWSarr168fU6dOZdOmTdx///089thjtcYzatQoZs+ezY033rhV\\nbTy31aFVq1accsopXHTRRaxevZpjjz0WSH4cfO1rX+OCCy5gxYoVQNKyMXv27Dq8KjVzIjczs60M\\nHTqUjh070rNnT6655houvPBCfvvb31Ysz629nnDCCVxwwQUcddRR9OnTh6OPPrrGsmuqVffp04fb\\nb7+db3/723Tp0oV7772XWbNm0apV0oA8duxYrrzySjp37sykSZO22n7+/Pkcc8wxtG/fnkGDBnHe\\needV9Fz/+c9/zsyZM+nUqRPTpk3jv/7rv2p9HUpKSjj00EN56qmnOPXUU2s8jtGjR/Pwww8zcuTI\\nih8PABMmTGDfffflc5/7HLvssgvHHXcc8+bNq3Xf+fL9yMvLJPvXPZpZdvTv33+ru5/tVVKS97Xe\\n9dGra1cWLF9esPKtYVT12QDfj9zMrMlzkrX6cNO6mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZ\\nmVmGOZGbmZllmBO5mZlZhjmRm5lZ0XzrW9/iqquuavByf/zjH3P66ac3eLlNkRO5mVkTUdK9BEkF\\ne5R0L6k9iNSTTz7JoEGD2GWXXdhtt9044ogj+Oc//9ngx3zjjTfywx/+sMHLhdpvsLK98MhuZmZN\\nRNmSMhhfwPLH5zf869q1axk6dCg33XQTp5xyCh9//DFPPPEEbdq0qfM+I6LZJNRicY3czMy2MG/e\\nPCQxcuRIJNGmTRuOOeYYDjrooK2arBcuXEiLFi3YtGkTAEOGDOGyyy7j8MMPp127dlx33XUMGDBg\\ni/Kvv/56RowYAcDZZ5/N5ZdfDkDfvn257777KtbbuHEju+++O88//zwATz31FIMGDaJTp058+tOf\\n3uLuZQsWLGDw4MF07NiR448/nrfffrswL04T5ERuZmZb6NOnDy1btuSss87i/vvv55133tlieeUa\\nduXp22+/nVtuuYW1a9fyzW9+k3nz5lXcWhRg2rRpnHbaaVvtd/To0UydOrVi+v7776dLly7069eP\\nJUuWcPLJJ3P55ZezevVqJk6cyJe+9CVWrlwJwJgxYxgwYABvv/02l112GZMnT97m1yErnMjNzGwL\\n7du358knn6RFixZ8/etfp0uXLowYMYK33norr+3POuss9t9/f1q0aEGHDh0YPnw406ZNA5LbjM6d\\nO5ehQ4dutd2YMWOYOXMmH374IZAk/NGjRwMwZcoUTjrpJI4//ngAjj76aPr37899993H4sWLefbZ\\nZ7niiito3bo1RxxxRJXlb6+cyM3MbCv77bcfv/3tb1m0aBEvv/wyS5cu5YILLshr2x49emwxPXr0\\n6IpEPnXqVEaMGMGOO+641Xa9e/emb9++zJo1iw8++ICZM2dW1NwXLlzIjBkz6Ny5M507d6ZTp078\\n9a9/ZdmyZSxdupROnTqx0047VZTVq1ev+h565hQ0kUtqI+lpSc9JeknSuHT+OElvSvpX+jghZ5tL\\nJM2X9Iqk4woZn5mZ1a5Pnz6ceeaZvPzyy+y8886sW7euYtmyZcu2Wr9yU/uxxx7LihUreOGFF5g+\\nfTpjxoypdl+jRo1i6tSp3H333Rx44IHsvffeQPLj4IwzzmDVqlWsWrWK1atXs3btWn7wgx/QrVs3\\nVq9ezQcffFBRzqJFi7b1sDOjoIk8Ij4ChkTEp4F+wImSBqaLJ0XEZ9LH/QCSDgBGAgcAJwI3yN0d\\nzcwa1dy5c5k0aRJLliwBYPHixUybNo1DDz2UT33qUzz++OMsXryYNWvWcO2119ZaXqtWrTjllFO4\\n6KKLWL16Nccee2y1644aNYrZs2dz4403bpHwv/KVrzBr1ixmz57Npk2b+PDDD3nsscdYunQpPXv2\\npH///owbN47169fz5JNPMmvWrG1/ITKi4E3rEVH+060NyeVukU5XlaCHA9MjYkNELADmAwOrWM/M\\nzAqkffv2PP300xxyyCG0b9+eww47jIMPPpiJEydyzDHHcOqpp3LwwQczYMCArc5FV1f3Gj16NA8/\\n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\\nM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLMCdy\\nMzOzDHMiNzMzyzAncjMzswxzIrcGs1dJCZIa7LFXSUmxDynzGvo98fti1vS0KnYAtv1YWFZGNGB5\\nKitrwNKap4Z+T8Dvi1lT4xq5NV0tadCaZEl31yTNbPvjGrk1XRuB8Q1XXNn4/GuSe5WUsLABa569\\nunZlwfLlDVaemVk5J3KzKvg0gZllhZvWzczMMsyJ3MzMLMOcyM3MrNnL8uWzTTKRSzpB0n8kzZN0\\ncbHjMTOz7Vt5v5iGejRkZ9naNLlELqkF8L/A8cCBwGhJ+xc3KrNt1MKX0m2rhq4xlXTuXOxDajCl\\npaXFDqHBbE/H0liaYq/1gcD8iFgIIGk6MBz4T1GjMtsWmyjapXQNTsmPkobSdc+uLH+z9kvzGvxK\\ngtWrG7C04iotLWXw4MHFDqNBbE/H0liaYiLfE1icM/0mSXI3s6Yg2H5+lJhtB5pc07qZmZnlTxEN\\nPRLztpH0OWB8RJyQTo8FIiIm5KzTtII2MzNrBBGx1XmtppjIWwJzgaOBZcA/gNER8UpRAzMzM2uC\\nmtw58ojYKOnbwGySpv/fOImbmZlVrcnVyM3MzCx/zb6z2/Yy+Iyk30gqk/RisWPZVpK6S3pE0suS\\nXpL03WLHVB+S2kh6WtJz6XGMK3ZM20pSC0n/kjSz2LFsC0kLJL2Qvjf/KHY820JSR0l3Snol/c4c\\nUuyY6kpSn/S9+Ff6d01Wv/cAkr4n6d+SXpQ0RdIOBd1fc66Rp4PPzCM5H78UeAYYFRGZu2Zd0uHA\\ne8BtEXFwsePZFpJKgJKIeF7SzsA/geEZfV/aRsS6tO/HX4HvRkRmE4ek7wGfBTpExLBix1Nfkl4H\\nPhsRmb+YXNLvgMci4lZJrYC2EfFukcOqt/T/8pvAIRGxuLb1mxpJewBPAvtHxMeS7gDujYjbCrXP\\n5l4jrxh8JiLWA+WDz2RORDwJZP6fEkBELI+I59Pn7wGvkIwvkDkRsS592oakT0pmfzlL6g58Abil\\n2LE0ALEd/P+T1AE4IiJuBYiIDVlO4qljgNeymMRztATalf+wIqkoFkzmP8jbqKrBZzKZMLZXkvYC\\n+gFPFzeS+kmbop8DlgMPRsQzxY5pG1wPXESGf4zkCOBBSc9I+lqxg9kGewNvS7o1bZa+WdJOxQ5q\\nG50KTCt2EPUVEUuBnwKLgCXAOxHxUCH32dwTuTVhabP6XcD5ac08cyJiU0R8GugOHCKpb7Fjqg9J\\nJwFlaUuJ0keWDYqIz5C0MJyXnprKolbAZ4BfpcezDhhb3JDqT1JrYBhwZ7FjqS9Ju5C07PYC9gB2\\nljSmkPts7ol8CdAzZ7p7Os+KLG2Sugv4fUTcXex4tlXa3PkocEKxY6mnQcCw9NzyNGCIpIKd8yu0\\niFiW/l0B/InsDgP9JrA4Ip5Np+8iSexZdSLwz/R9yapjgNcjYlVEbAT+CBxWyB0290T+DLCvpF5p\\nr8JRQJZ7424PNaVyvwXmRMTPix1IfUnaTVLH9PlOwLFk9OY/EXFpRPSMiH1IviePRMQZxY6rPiS1\\nTVt7kNQOOA74d3Gjqp+IKAMWS+qTzjoamFPEkLbVaDLcrJ5aBHxO0o5K7i50NEk/n4JpcgPCNKbt\\nafAZSVOBwcCukhYB48o7wGSNpEHAacBL6fnlAC6NiPuLG1mddQMmp71wWwB3RMR9RY7JoCvwp3So\\n51bAlIiYXeSYtsV3gSlps/TrwNlFjqdeJLUlqc1+vdixbIuI+Ieku4DngPXp35sLuc9mffmZmZlZ\\n1jX3pnUzM7NMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3KzZkzSD9PbLb6QjtU9\\nMB2ve/90+dpqtjtE0lPpLSdflnR540ZuZuWa9YAwZs2ZpM+RjDXeLyI2SOoM7BARuQNyVDfQxGTg\\nyxHx73T0qv0KHK6ZVcM1crPmqxvwdkRsAEjHhl4u6VFJ5eN1S9KktNb+oKRd0/ldgLJ0uyi/V7yk\\ncZJuk/Q3SXMl/XdjH5RZc+NEbtZ8zQZ6SvqPpF9J+nwV67QD/hERBwGPA+PS+T8D5kr6g6SvS2qT\\ns80nSYYLPgy4XFJJ4Q7BzJzIzZqpiHif5E5ZXwdWANMlnVlptY3AjPT57cDh6bZXAp8l+TEwBvhL\\nzjZ3R8THEbESeITs3lnMLBN8jtysGYvkZguPA49Legk4k+rPi5O7LCLeAG6SdAuwQlKnyuuQ3I3P\\nN3QwKyDXyM2aKUl9JO2bM6sfsKDSai2BL6fPTwOeTLf9Qs46fYANwDvp9HBJO6Tn048kuV2wmRWI\\na+RmzdfOwC/Te6ZvAF4laWa/K2ed94CBkn5E0rnt1HT+6ZImAevSbcdERCQd2HkRKAV2Ba6IiOWN\\ncCxmzZZvY2pmDUbSOGBtREwqdixmzYWb1s3MzDLMNXIzM7MMc43czMwsw5zIzczMMsyJ3MzMLMOc\\nyM3MzDLMidzMzCzDnMjNzMwy7P8DGdQiBOtrj5wAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b621490>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"2) If passenger['Sex'] == 'female' and passenger['Parch'] < 4, they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZmb11CTibt26ceqpp3LvvfcyefJk5s+fD8D48eO58sora5f/3ve+x5577kl5eTl33313kzXVo48+\\nmiuvvJLDDz+c7t27c9JJJ7FmzZra+TNmzOCAAw6gV69eHHPMMSxYsACAs88+m8WLFzNixAi6d+/O\\npEmT6m179erVjBgxgp49e7Lrrrty1FFH1c6r29xfuA9z586lb9++fPe736VPnz6cd955DB48mNmz\\nZ9cuv3HjRnbffXeeeeYZFi1aRKdOndi0aRPTp09n6NChm8Vx0003MXr0aAA++OADLrroIvr370+f\\nPn04//zzef/995v5D2TnRN6MsvLiNnXVvMrKszV5mZmVwtChQykvL+fxxx+vN+/BBx/kxhtv5OGH\\nH+all17ioYceanZ7U6dOZfLkyaxcuZL333+/NikvXLiQcePG8f3vf5+VK1dy8sknc+qpp7JhwwZ+\\n8pOf0K9fP371q1/x1ltvcdFFF9Xb7g033EDfvn1ZvXo1r7/+Otdee23tvOaawVesWMEbb7zB4sWL\\nueOOOxg3bhxTpkzZbD979+7NQQcdtNn2RowYwcKFC/n73/++2f6deeaZAFx66aW8/PLLPPfcc7z8\\n8sssXbqUq6++utljlJVvCNOM6qXVUNkG5VRma/IyMyuVPffcc7Oac4377ruP8ePHs99++wFQWVnJ\\ntGnTmtzW+PHjGThwIABjxoypvZPZ9OnTOfXUUznmmGMAuOiii7jlllv43e9+x5FHHgk03Wy/3Xbb\\nsXz5cl599VUGDhzI8OHDa+c119zfuXNnvv3tb7PddtsBMHbsWD7zmc/w3nvvseOOOzJ16lTGjh1b\\nb72ddtqJUaNGMXXqVK644gpeeuklFixYwMiRIwH44Q9/yPPPP0+PHj0AmDBhAmeeeWaTnQVbwjVy\\nMzPLZOnSpfTq1ave9GXLltG3b9/a8f79+zebNMsKOt517dqVt99+u3Zb/fv3r50nib59+7J06dJM\\nMV5yySUMHDiQE044gX322YeJEydmWg+gd+/etUkcYODAgQwePJiZM2fy7rvvMmPGDMaNa/ihnmPH\\njmXq1KkATJkyhdGjR7PDDjuwcuVK1q9fz2c/+1l69epFr169OPnkk1m9enXmuJrjGrmZmTXrqaee\\nYtmyZRxxxBH15vXp04clS5bUji9atGiLe3Pvueee/PWvf91s2pIlSygvLweabx7feeedmTRpEpMm\\nTWL+/PkcffTRHHLIIRx99NF07dqV9evX1y67YsWKzX6ANLTtM844gylTprBx40b2339/Pv7xjzdY\\n7vHHH8/KlSt59tlnmTZtGjfffDMAu+22G127duWFF16gT58+2Q5CC7lGbmZmjVq3bh2/+tWvGDt2\\nLGeddRaDBw+ut8yYMWP48Y9/zIsvvsj69eu36vzvmDFjmDVrFo8++igbNmxg0qRJ7LjjjgwbNgxI\\navJNXZ8+a9as2nPV3bp1o0uXLnTqlKS6gw46iClTprBp0yYefPBB5s6d22w8Z5xxBnPmzOG2226r\\nVxsvbHXo0qULp512GhdffDFr167l+OOPB5IfB1/84he58MILWblyJZC0bMyZM6cFR6VpTuRmZlbP\\niBEj6NGjB/369eO6667joosu4q677qqdX1h7Pemkk7jwwgs55phjGDRoEMcee2yT226qVj1o0CB+\\n9rOf8R//8R/07t2bWbNmMXPmTLp0SRqQJ0yYwDXXXEOvXr248cYb663/0ksvcdxxx9GtWzeGDx/O\\nV7/61dqe67fccgszZsygZ8+eTJ06lX/+539u9jiUlZUxbNgw5s2bx+mnn97kfowdO5aHH36YMWPG\\n1P54AJg4cSL77LMPhx12GLvssgsnnHACCxcubLbsrPw88ubLapPOblTm/7pLM8tuyJAh9Z5+NqCs\\nLPO13lui/x578NqKFUXbvrWOht4b4OeRm5m1e06ytiXctG5mZpZjTuRmZmY55kRuZmaWY07kZmZm\\nOeZEbmZmlmNO5GZmZjnmRG5mZpZjTuRmZlYyX/nKV1rtKWCFvv3tb3PWWWe1+nbbIydyM7N2oqy8\\nDElFe5WVlzUfROqJJ55g+PDh7LLLLuy2224cccQR/OlPf2r1fb7tttv45je/2erbheYfsLKt8J3d\\nzMzaieql1UW9JXR1Zbbbv65bt44RI0Zw++23c9ppp/HBBx/w+OOPs8MOO7S4zIjoMAm1VFwjNzOz\\nzSxcuBBJjBkzBknssMMOHHfccRxwwAH1mqwXLVpEp06d2LRpEwBHH300V1xxBYcffjg777wz3/ve\\n9xg6dOhm27/pppsYPXo0AOPHj+fKK68EYPDgwcyePbt2uY0bN7L77rvzzDPPADBv3jyGDx9Oz549\\n+cxnPrPZ08tee+01Kioq6NGjByeeeCKrVq0qzsFph5zIzcxsM4MGDaJz586ce+65PPjgg7zxxhub\\nza9bw647/rOf/Ywf/ehHrFu3ji9/+cssXLiw9tGiAFOnTuXMM8+sV+7YsWOZMmVK7fiDDz5I7969\\nOeigg1i6dCmnnnoqV155JWvXrmXSpEn867/+K6tXrwZg3LhxDB06lFWrVnHFFVcwefLkrT4OeeFE\\nbmZmm+nWrRtPPPEEnTp14ktf+hK9e/dm9OjRvP7665nWP/fcc/nkJz9Jp06d6N69O6NGjWLq1KlA\\n8pjRBQsWMGLEiHrrjRs3jhkzZvDee+8BScIfO3YsAPfccw+nnHIKJ554IgDHHnssQ4YMYfbs2SxZ\\nsoSnn36aq6++mu22244jjjiiwe1vq5zIzcysnn333Ze77rqLxYsX88ILL7Bs2TIuvPDCTOv27dt3\\ns/GxY8fWJvIpU6YwevRodtxxx3rrDRw4kMGDBzNz5kzeffddZsyYUVtzX7RoEdOnT6dXr1706tWL\\nnj178uSTT7J8+XKWLVtGz5492WmnnWq31b9//y3d9dwpaiKXdKekaknPNTDvvyRtktSrYNplkl6S\\n9KKkE4oZm5mZZTNo0CDOOeccXnjhBT72sY+xfv362nnLly+vt3zdpvbjjz+elStX8uyzzzJt2jTG\\njRvXaFlnnHEGU6ZM4YEHHmD//fdn7733BpIfB2effTZr1qxhzZo1rF27lnXr1nHJJZfQp08f1q5d\\ny7vvvlu7ncWLF2/tbudGsWvkdwMn1p0oqRw4HlhUMG0/YAywH3AycKvc1dHMrM0tWLCAG2+8kaVL\\nlwKwZMkSpk6dyrBhw/j0pz/NY489xpIlS3jzzTe5/vrrm91ely5dOO2007j44otZu3Ytxx9/fKPL\\nnnHGGcyZM4fbbrtts4T/+c9/npkzZzJnzhw2bdrEe++9x9y5c1m2bBn9+vVjyJAhXHXVVXz44Yc8\\n8cQTzJw5c+sPRE4UNZFHxBPA2gZm3QRcXGfaKGBaRGyIiNeAl4BDihmfmZnV161bN/7whz9w6KGH\\n0q1bNz73uc9x4IEHMmnSJI477jhOP/10DjzwQIYOHVrvXHRj9a+xY8fy8MMPM2bMGDp16tTo8mVl\\nZQwbNox58+Zx+umn104vLy/ngQce4Nprr6V3797079+fSZMm1faWv+eee5g3bx677ror11xzDeec\\nc05rHY52TxFR3AKk/sDMiDgwHR8JVETENyS9Cnw2ItZI+m/g9xExJV3uR8DsiPh5A9uMYsddUFZR\\nr+usVZlcb2lmHcOQIUN4+umnN5tWVl6WXEteJHvstQcr/rGiaNu31tHQewOSfBQR9X4ptekNYSTt\\nBFxO0qxuZmYFnGRtS7T1nd0GAgOAZ9Pz3+XAnyUdAiwF+hUsW55Oa1BlZWXtcEVFBRUVFa0frZmZ\\nWYlUVVVRVVXV7HJt0bQ+gKRp/VMNzHsVODgi1koaDNwDHArsBfwW+ERDbehuWjezvGus+dSspU3r\\nxb78bArwO2CQpMWSxtdZJAABRMR8YDowH5gNnN9m2drMzCynitq0HhGNXyyYzP94nfHrgOuKGZOZ\\nmdm2xHd2MzMzyzEncjMzsxzz88jNzEqgT58+DBkypNRhWDvUp0+fFi3vRG5mVgId6RaiVlxuWjcz\\nM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdy\\nMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxz\\nIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPL\\nMSdyMzOzHHMiNzMzy7GiJnJJd0qqlvRcwbTvSnpR0jOS/ldS94J5l0l6KZ1/QjFjMzMz2xYUu0Z+\\nN3BinWlzgP0j4iDgJeAyAEmDgTHAfsDJwK2SVOT4zMzMcq2oiTwingDW1pn2UERsSkfnAeXp8Ehg\\nWkRsiIjXSJL8IcWMz8zMLO9KfY78PGB2OrwXsKRg3tJ0mpmZmTWiZIlc0jeBDyNiaqliMDMzy7su\\npShU0rnAPwHHFExeCvQtGC9PpzWosrKydriiooKKiorWDNHMzKykqqqqqKqqanY5RURRA5E0AJgZ\\nEZ9Kx08CbgCOjIjVBcsNBu4BDiVpUv8t8IloIEBJDU0uCklQ2QYFVUJb7ZOZmeWPJCKiXifwotbI\\nJU0BKoBdJS0GrgIuB7YHfpt2Sp8XEedHxHxJ04H5wIfA+W2Wrc3MzHKq6DXyYnCN3MzMOprGauSl\\n7rVuZmZmW8GJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3M\\nzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInc\\n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\\n26CgSvDTYc3MrDGSiAjVnZ7leeRblbCb8HXgHknbkTyIZTzQGZgu6TxgETCmSGWbmZltE7Lc2W0d\\nH52r3h7YDngnIrpvTcER8SwwtIFZx23Nds3MzDqSLDXybjXDkgSMAg4rZlBmZmaWTZZe67Ui8Uvg\\nxCLFY2ZmZi2QpWn9XwpGOwFDgPeKFpGZmZllluXys8Lnkm8guQf6qKJEY2ZmZi2S5Ry5n0tuZmbW\\nTjWayCVd2cR6ERHXFCEeMzMza4GmauTvNDBtZ+ALwK6AE7mZmVmJNZrII+KGmmFJ3YALSG7aMg24\\nobH1zMzMrO00eY5cUi/gG8CZJI8VPTgi1rZFYGZmZta8ps6Rfw/4F+AO4FMR8XabRWVmZmaZNPrQ\\nFEmbSJ52toHNHycqks5uW3WL1q3hh6aYmVlH0+KHpkREi+76ZmZmZm3PydrMzCzHnMjNzMxyzInc\\nzMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMec\\nyM3MzHLMidzMzCzHnMjNzMxyzIncmlVWXoakor/KystKvatmZrnT6PPIzWpUL62GyjYop7K6+IWY\\nmW1jXCM3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiZySZ0k/VnSjHS8p6Q5khZI+o2k\\nHqWMz8zMrL0rdY38AmB+wfgE4KGI2Bd4BLisJFGZmZnlRMkSuaRy4J+AHxVMHgVMTocnA6PbOi4z\\nM7M8KeUNYW4CLgYKm8/3iIhqgIhYIWn3xlaWVOTwzMzM2r+S1MglnQJUR8QzQFMZOZqa0RYvMzOz\\n9qxUNfLhwEhJ/wTsBHST9FNghaQ9IqJaUhnwemMbqCwYrkhfZmZm24qqqiqqqqqaXU4Rpa13SjoK\\n+K+IGCnpu8DqiJgo6VKgZ0RMaGCdNota0Cb3GacSSv2/aIykDn8MzMxKTRIRUa8Vu9S91uu6Hjhe\\n0gLg2HTczMzMGlHyp59FxFxgbjq8BjiutBGZmZnlR3urkZuZmVkLOJGbmZnlmBO5mZlZjjmRm5mZ\\n5ZgTuZmZWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZuZmeWYE7mZ\\nmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZtlVFZehqSiv8rKy0q9q2aWI11KHYBZXlQv\\nrYbKNiinsrr4hZjZNsM1cjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMz\\nsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiRySeWSHpH0\\ngqTnJX09nd5T0hxJCyT9RlKPUsRnZmaWF6WqkW8AvhER+wPDgK9K+iQwAXgoIvYFHgEuK1F8ZmZm\\nuVCSRB4RKyLimXT4beBFoBwYBUxOF5sMjC5FfGZmZnlR8nPkkgYABwHzgD0iohqSZA/sXrrIzMzM\\n2r+SJnJJHwPuBy5Ia+ZRZ5G642ZmZlagS6kKltSFJIn/NCIeSCdXS9ojIqollQGvN7Z+ZcFwRfoy\\nMzPbVlRVVVFVVdXscoooTaVX0k+AVRHxjYJpE4E1ETFR0qVAz4iY0MC6bRa1YPNfDcVSCaX6XzRH\\nUoc/BuDjYGalJYmIUN3pJamRSxoOnAk8L+kvJE3olwMTgemSzgMWAWNKEZ/ly4CyMhZVV5c6DDOz\\nkihJIo+IJ4HOjcw+ri1jsfxbVF3dJp0p6v0MNjNrB0rea93MzMy2nBO5mZlZjjmRm5mZ5ZgTuZmZ\\nWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTeY4NKCtDUtFfZmbWfpXs6We29Xxr\\nUjMzc43czMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ\\n3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzH\\nnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM2sRcrKy5BU9FdZeVmpdzW3BpS1zf9oQJn/R+1B\\nl1IH0BBJJwE3k/zQuDMiJpY4JDNLVS+thso2KKeyuviFbKMWVVcTbVCOqv0/ag/aXY1cUifgf4AT\\ngf2BsZI+WdqozCwP2qomWtarV6l31dqJqqqqUofQ/hI5cAjwUkQsiogPgWnAqBLHZGY5UFMTLfar\\neu3aNtsna9+cyBu2F7CkYPwf6TQza0Rb1UQllXpXrT0R7ba/RFt9Jm6eNKkIB7Zl2uU5cjNrmbY6\\nJwrgVG61gnbbX6LN+gm8804blNJMDBFt9fHPRtJhQGVEnJSOTwCisMObpPYVtJmZWRuIiHq/pdtj\\nIu8MLACOBZYDfwTGRsSLJQ3MzMysHWp3TesRsVHSfwBz+OjyMydxMzOzBrS7GrmZmZll1x57rbcL\\nkk6S9DdJCyVdWup4SkHSnZKqJT1X6lhKRVK5pEckvSDpeUlfL3VMpSBpB0l/kPSX9DhcVeqYSkVS\\nJ0l/ljSj1LGUiqTXJD2bvh/+WOp4SkVSD0n3SXox/Y44tCRxuEZen5Kb0iwkOU+/DHgKOCMi/lbS\\nwNqYpMOBt4GfRMSBpY6nFCSVAWUR8YykjwF/AkZ1tPcCgKSuEbE+7cfyJPD1iOhwX+KS/hP4LNA9\\nIkaWOp5SkPQK8NmI6NAX1Ev6MTA3Iu6W1AXoGhFvtXUcrpE3zDelASLiCaBDf1AjYkVEPJMOvw28\\nSAe9r0FErE8HdyDpX9PhagGSyoF/An5U6lhKTHTw/CGpO3BERNwNEBEbSpHEoYP/I5rgm9JYPZIG\\nAAcBfyhtJKWRNin/BVgB/DYinip1TCVwE3AxHfBHTB0B/FbSU5K+WOpgSmRvYJWku9NTLXdI2qkU\\ngTiRm2WQNqvfD1yQ1sw7nIjYFBGfAcqBQyUNLnVMbUnSKUB12kIjOva9cYZHxMEkrRNfTU/DdTRd\\ngIOBH6THYj0woRSBOJE3bCnQr2C8PJ1mHVB67ut+4KcR8UCp4ym1tPnwUeCkUsfSxoYDI9Pzw1OB\\noyX9pMQxlURELE//rgR+QXI6sqP5B7AkIp5Ox+8nSextzom8YU8B+0jqL2l74Aygo/ZQ7eg1D4C7\\ngPkRcUupAykVSbtJ6pEO7wQcD3SoDn8RcXlE9IuIj5N8JzwSEWeXOq62Jqlr2kKFpJ2BE4C/ljaq\\nthcR1cASSYPSSccC80sRS7u7IUx74JvSJCRNASqAXSUtBq6q6djRUUgaDpwJPJ+eHw7g8oh4sLSR\\ntbk+wOT0io5OwL0RMbvEMVlp7AH8Ir1VdhfgnoiYU+KYSuXrwD2StgNeAcaXIghffmZmZpZjblo3\\nMzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI366AkbUzvEf28pHsl7dgK2zxH\\n0n+3Rnxmlo0TuVnH9U5EHBwRnwI+BL6cdcX0xjCN8c0pzNqQE7mZATwO7AMg6RfpU62el/R/ahaQ\\ntE7SpPQOd4dJGiLpSUnPSJqX3q4TYC9Jv5a0QNLEEuyLWYfiW7SadVyC2ofCnAz8Op0+PiLeSJva\\nn5L0vxGxFtgZ+H1EXJTekvJvwGkR8ef03tvvpet/muRxrx8CCyR9PyL80CGzInGN3Kzj2knSn4E/\\nAouAO9PpF0p6BphH8uS/T6TTNwA/T4f3BZZFxJ8BIuLtiNiYzns4HX+f5CES/Yu/K2Ydl2vkZh3X\\n+vQ5yrUkHQUcAxwaEe9LehSo6QT3Xmz+cIbGnor3fsHwRvw9Y1ZUrpGbdVwNJeIewNo0iX8SOKyR\\n5RcAZZI+CyDpY5I6Fy9UM2uMfymbdVwN9S5/EPiypBdIkvXvG1o+Ij6UdDrwP+nzydcDx2Usw8xa\\nkR9jamZmlmNuWjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3Iz\\nM7Mc+/+RC0tGUupuygAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b26efd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Parch', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"3) If passenger['Sex'] == 'female' and passenger['Age'] > 50, they are more likely to survive.        \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 75,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\\n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\\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b991650>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"4) If passenger['Age'] < 10 and passenger['SibSp'] < 3 and passenger['Sex'] == 'male', they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 80,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x117bf5310>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"5) If passenger['Age'] < 10 and passenger['Pclass'] == 2, they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 90,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAewAAAGJCAYAAABIEwCJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm8VXW9//HXh8EBcwBTQEGcstQ0K9RMveIAaop6vVcS\\nysyG23iza5ZWpqg/LYtsuPfqLX/VpRJN/TWImpKmOJSl5aw5C4iAqCgojvD5/bHWOe5zOMMG2Wef\\n5Xk9H4/zYK/5szd77/f+rvVda0VmIkmSerd+zS5AkiR1z8CWJKkCDGxJkirAwJYkqQIMbEmSKsDA\\nliSpAgxsaSVExKSIuHI1rOfoiLhhddS0its/NyK+vgrLjYyIxRERjahrdWw/IpZHxJY9WNPPIuK0\\nntqe+i4Du8Ii4rGIWFp+gc0rvzgGNbuunhYRm0bEJRGxMCIWRcSdEfGRRmwrM6dl5gGra3WdTYiI\\nj0fEfRHxXPl/e1lErFNOW6mA6OjHQWZ+JjPPqGPZRyNin5rl5mTmermaLuAQEf8TEefUDA+IiOcj\\n4r87GLdL++1HxLUR8bF2q627tog4JSJOLh/vFRHLys/Tc+Xr/9E39gzfuIhY3sW02u+AJeW/w97g\\n9vaKiDlvZB1qDAO72hI4KDPXA94DjAZOam5JjRUR/TsY/QtgFjAS2BA4CliwGtffoyJiL+AM4IOZ\\nuT6wLfCrN7JKViLEetj1wJ41w6OB2e3G7UxR/9/qXOcbaf3PLX8QrA+cCJwXEe94A+trtNbvgMxc\\nt/x3/htc5xt6v/SGz9CblYFdfQGQmfOA3wPvBIiIj0bEveUv7oci4t9aF4jYMCKml63RpyNiZs20\\nEyLi8XK5+yJi73J8RMSJ5boWRsSFEbFBOW1UuRvyIxExKyKejIiv1axzrYiYGhHPRMQ9EfHl2l/w\\nETG8bCE/GREPR8S/10w7JSIujohfRMSzwNEdvAY7A1Mz86XMXJ6Zd2TmVeXyK7QWaluNHaz/a2WL\\nZYOa+d9dPuf+ta3ViDgnIr7Tbt2/jYgv1ryWD5Wv5d0RcVg9/6EUofWnzLwTIDOfzcxfZOYLEfFJ\\n4EPAV8r1/q6rbZVhcy6wW9kCe6Yc39pK7+z9EBE/BzYDppfrPb7m/7pfOc/giPhpRMwtl/11V+vs\\nwPXAthExpBzeE7gQWKdm3B7AnzNzWe32I+L/lPP/V1nfD2vWOzYiHijfc/9V5+veRmb+DlgEbFc+\\npz0i4qbyOc2KDvbiRMQG5fN+snze0yNi05rpHy3f44vLfyeW47eKiOsi4tly2QtqS+mm1A5/oETE\\n+2rqvS2KH4K1dazw/RDFHrorgE2ipsUe7fbqtP9clZ+pr0TEHcDz5f9Pp59rraLM9K+if8CjwD7l\\n45HA3cDkcvhAYPPy8Z7AC8BO5fCZwDkUP9j6A7uX47ehaN0MLYc3A7YoHx8L/AkYDgykCIFp5bRR\\nwHLgR8AawI7AS8Dby+nfAq4F1gM2Ae4AZpfTArgV+HpZy+bAQ8DYcvopwMvA+HJ4zQ5ehxnAjcAH\\ngZHtpu3Vsq1OXrf2618LuBr4eM383wbOKR8fDVxf87rOqplvA2Bpzev3LzWPjwCerxluXU8Hz2eP\\n8v9rMvB+YI12038GnNZu3Eptq3Ydnb0fal6rvWuGRwHLgH7l8OXABeX/bX9gz+7W2cHzfQQ4tHw8\\nHRhDsdekdtxJnWz/WuBj7da3HLgUWJfic/EkMK6Oz1Pre4XiffnP5XvjbRSfhcXAhPL5DAZ27OC1\\nHFIutyawDsWekd+U0wYBzwFbl8NDgW3Lx9OAr5aP1wDev7LfAe3GbwI8BexfDu9bDm9Yx/dDR5+Z\\nNu+59vOUdfy93O6adPO59m/V/mxhV99vy1bT9RRfXt8EyMzfZ+Zj5eMbKEKtZTfjqxTBu0VmLsvM\\nm8rxyyi+LN4ZEQMyc3ZmPlpO+xTw9cycl5mvAqcB/9rS0qJoBUzOzFeyaBneAbyrnHYEcEZmLs7M\\nJ4DaltAuwFsz84yylseA/wscWTPPnzNzevlcXu7gNTiifP4nAY9ExN8jYnSdr1/79b9EEUCTaqYf\\nCZzffqHydc2I2KMc9a8ULeMF5fT/V/P4YuDB8vl2KTNvBA4H3g1cBjwVEd+N6Lyj1apuq9TZ+6FF\\nZy244cD+wKfK/9tl5WtSzzprzQT+qXx+uwA3U/wAaxm3eznPyvhmZi7JzDkUn4ud6lxu0/LztBD4\\nBvDhzHyQ4v3wh8y8qHw+i8r3eRuZ+Uxm/iYzX87MFyg+j/9UM8syYIeIWCszF2TmfeX4V4FREbFp\\n+Rn600o819+WexKeadnDAXwYuDzLPU2ZeQ1FgH6gHO7q+2FV/SAznyg/ozvT/edaK8nArr5DM3NI\\nZm6Rmf/eEmgRcWBE/LncLbeI4hf1W8tlvgM8DMwod4edAJCZDwNfpGjZLYiIafF6B5ZRwG9avhiA\\neym+ZIbW1FJ73Hgp8Jby8SbA4zXTandRb0b5JVn+LQK+CmzcyfwryMznMvNrmblDWc8dwG+6Wqad\\n9uv/f8D7ImJouRuxq8D5FTCxfDyJmmCP4hDBbeUuyUXA9rz+f9ClzLwqMw/NzCHAocBHgU90Nv8b\\n2RadvB/qMAJ4JjMXdzDt2yuxzuspQm0H4OHyR9ONFK24HSj2evylzppadPZe7M7c8vP01sx8T/nj\\nB4qW+sPdLRwRa0fEj6LoDPYsxQ+NDSIiMnMpxV6gzwDzyt3lby8X/TLF9/FfI+KuiDimznrh9e+A\\nIZl5eDluFDCh3edqd4ofUd19P6yq2s/4KLr/XGslGdjVt0LrJyLWAC6h+NLcKDMHUxzfbjne/Xxm\\nHp+ZWwGHAMdFeaw6My/MzD0pPnAAZ5X/zgYOrPliGJyZ62Rx7Lw78yi+3FtsVvN4DvBIu/Wun5nj\\na+apuwNMZj4DTKE4BjeYYldfa8/5KDrEbNR+sXbreJaixXEkRRhf2MUmL6DY07AZsCtF2FMO/xj4\\nbPmcBgP3sAodojLzWuCPlP0T2tdbx7a6fP26ej90s+wcYEhErNfBOl/oYp3tXU/RAj4IuKFc/h6K\\nkDwIuCUzX+ms/K6e22o0B9i6jvmOp9iFvnNmbsDrreuWz94fMnMcMAy4HzivHP9kZv5bZm4KfBo4\\nJ+o/Na2j99Qc4OftPlfrZua3u/t+oOPXtM3niDL426ldrp7PtVaSgf3mtEb591RmLo+IA4FxLRMj\\n4qCI2KocXAK8BiyPiG0iYu/yA/0K8CLF8UAojk+fWYYDEbFRRBxSs82ugugi4KtRdMjZFPhczbS/\\nAkvKDitrRdGxa/uV2aUdEd8ql+kfEesCnwUeysxFwAPAWmWLYgDFbvM16ljtBcBHKI4NT+tspsy8\\nHXiaYnfflTWtzXUoXrunyg44x/B64Hb3fA6JiA/G6536dqFobf65nGUBUPtl3t22FgAjImJgJ9vr\\n6P2wrJNtwevhM5/ii/6c8v92QETs2cU6Ozw9qdyzs4Cin0Tt6Wd/Kcdd39H2u6ivEc4H9o2Ify3f\\nZ0Mi4l0dzPcWis/N4ig6zU1umRARG5f/t4Mo9k49T/k6l+tt6Zz2LMVr1enpXHX4JTA+IsaV74m1\\nougotgndfD9QvKYbtvshdjvwgSg6GQ6j+H/pyhv+XGtFBna1ddi6yMzngS8AF5e7r48Eflczy9uA\\nqyNiCXAT8N+ZOZOis8i3KI7fPUHREv1qucwPynXMiIjnKDqg1R4jbV9L7fBpwFyKjikzgIspOvOQ\\nmcuBgylaWI9SdBA6j6ITU70GUewCX0TRsWUkRauOMkA/C/yEYpfdEtruuuvMpRSv07zMvKubeadR\\ndOpp3R1eHpv8LsXx2PkUu6hvrPP5LAI+CTxQvtY/B87KzJaW/k+A7VuOWZbbOruLbf2RosU9PyKe\\n7GB7Hb0fWkLym8A3ym0d1/L0apY9iiKM/8HrodvZOrs6Dn09xSl5tYcebqB4D7YP7Nrt/wA4oty1\\n+/0Opnc0vNLKY+EfoGhBPwPcRtG5sr3vU7wfn6L4jFxRM60fcBzFZ+Epitb3Z8ppOwN/iYjFwG+B\\nL7QcY+6utE7qfZziUMrXKD7Ps8ra+3X3/ZCZ91P8YH2k/H8fRtEJ8E7gMeBKVtzr1H4v1er4XKud\\nyGzcHqWIGEHxZTOU4tfijzPzPyPiFIovpJYvj69l5hu+epSqISI+TXGOcWe7SCVJ7Qxo8PpfA47L\\nzNsj4i3A3yLiD+W0szPz7AZvX71A+Qt9S4pdutsAX6JtT3FJUjcaGtjlMa755ePnI+I+oOU4TVOu\\nRaymWIPiGPjmFMfnLqA4j1uSVKeG7hJvs6GIzYHrKDrDfIniNJXnKM4N/FJmPtcjhUiSVEE90ums\\n3B1+CXBs2eHhHGDLzNyJogXurnFJkrrQ8BZ2eSrNZcDvM/MHHUwfBUzPzBV6XEZEb71hgSRJDZGZ\\nHR4ybnSnM4CfAvfWhnVEDMvX7yhzOMU1sDvUU7vse6PJkyczefLkZpehPsj3npqpL7//ootbzTc0\\nsCNid4o7C90VEbdRnKv3NWBSROxEcarXYxTXqZYkSZ1odC/xmyju1NKe51xLkrQSvNJZLzZmzJhm\\nl6A+yveemsn3X8d67LSuVVHc4Kb31idJ0uoUEU3tdCZJfdb48eOZN6+em9qpLxk+fDjTp09fqWUM\\nbElqoHnz5nHrrbc2uwz1MqNHr/yNyzyGLUlSBRjYkiRVgIEtSVIFGNiSpE595jOf4Ywzzuh0er9+\\n/XjkkUd6sKKeNWfOHNZbb71ecdVNA1uSetDmw4YREQ3723zYsPpr2XxzBg0axPrrr8+QIUPYY489\\n+NGPftQmnM4991y+/vWvd7qOri6l+UZsscUW/PGPf2zIulfGyJEjWbx4ccOe58owsCWpB81asICE\\nhv3NWrCg7loigssvv5znnnuOWbNmceKJJ3LWWWfx8Y9/vO519IaW5xuxbNmyZpdQNwNbkvqwlsBd\\nd911Ofjgg/nVr37F1KlTuffeewE45phjOPnkk1vn/853vsMmm2zCiBEj+NnPftZly3Pvvffm5JNP\\nZo899mC99dbjgAMO4Jlnnmmdfumll/LOd76TIUOGsM8++3D//fcD8JGPfITZs2czfvx41ltvPaZM\\nmbLCup9++mnGjx/P4MGD2XDDDdlrr71ap7XfTV/7HGbOnMnIkSP59re/zfDhw/nYxz7GdtttxxVX\\nXNE6/7Jly9h44425/fbbmTVrFv369WP58uVcdNFF7Lzzzm3q+N73vsdhhx0GwCuvvMLxxx/PqFGj\\nGD58OJ/97Gd5+eWXu/kfqJ+BLUlqtfPOOzNixAhuuOGGFaZdeeWVnH322VxzzTU8+OCDXH311d2u\\n74ILLmDq1KksXLiQl19+uTV8H3jgASZNmsQPf/hDFi5cyIEHHsjBBx/Ma6+9xs9//nM222wzLrvs\\nMhYvXszxxx+/wnq/+93vMnLkSJ5++mmefPJJzjzzzNZp3e2+nj9/Ps8++yyzZ8/mxz/+MZMmTWLa\\ntGltnudGG23ETjvt1GZ948eP54EHHuDhhx9u8/w+9KEPAXDCCSfw0EMPceedd/LQQw8xd+5cTjvt\\ntG5fo3oZ2JKkNjbZZJM2LeEWF198Mccccwzbbrsta6+9dl23wDzmmGPYaqutWHPNNZkwYQK33347\\nABdddBEHH3ww++yzD/379+f444/nxRdf5E9/+lPrsl3tbh84cCDz5s3j0UcfpX///uy+++51LQfQ\\nv39/Tj31VAYOHMiaa67JxIkTufTSS3nppZeAIoQnTpy4wnJrr702hx56KBdccAEADz74IPfffz+H\\nHHIIAOeddx7f+973WH/99VlnnXU48cQTW+ddHQxsSVIbc+fOZciQISuMf+KJJxg5cmTr8KhRo7oN\\nx2E1neAGDRrE888/37quUaNGtU6LCEaOHMncuXPrqvErX/kKW221FePGjWPrrbfmrLPOqms5gI02\\n2oiBAwe2Dm+11VZst912TJ8+nRdffJFLL72USZMmdbjsxIkTW0N42rRpHHbYYay55posXLiQpUuX\\n8t73vpchQ4YwZMgQDjzwQJ5++um66+qOlyaVJLW65ZZbeOKJJ9hzzz1XmDZ8+HDmzJnTOjxr1qxV\\n7j29ySabcPfdd7cZN2fOHEaMGAF0v1t7nXXWYcqUKUyZMoV7772Xvffem1122YW9996bQYMGsXTp\\n0tZ558+f3+aHRkfrPvLII5k2bRrLli1j++23Z8stt+xwu2PHjmXhwoXccccdXHjhhXz/+98H4K1v\\nfSuDBg3innvuYfjw4fW9CCvJFrYkiSVLlnDZZZcxceJEjjrqKLbbbrsV5pkwYQL/+7//y3333cfS\\npUvf0PHZCRMmcPnll3Pttdfy2muvMWXKFNZaay122203oGiZd3V+9+WXX956LHnddddlwIAB9OtX\\nRNpOO+3EtGnTWL58OVdeeSUzZ87stp4jjzySGTNmcO65567Quq7dizBgwACOOOIIvvzlL7No0SLG\\njh0LFD8CPvnJT/LFL36RhQsXAsWeihkzZqzEq9I1A1uS+rDx48ez/vrrs9lmm/HNb36T448/np/+\\n9Ket02tbowcccABf/OIX2Weffdhmm23Yd999u1x3V63kbbbZhl/+8pd8/vOfZ6ONNuLyyy9n+vTp\\nDBhQ7Pg98cQTOf300xkyZAhnn332Css/+OCD7Lfffqy77rrsvvvufO5zn2vtKf6DH/yASy+9lMGD\\nB3PBBRfwz//8z92+DsOGDWO33Xbj5ptv5oMf/GCXz2PixIlcc801TJgwofVHAsBZZ53F1ltvzfve\\n9z422GADxo0bxwMPPNDttuvl/bAlqYFGjx7d5m5dmw8btlLnSq+sUUOH8tj8+Q1bv1aP9u+LFt4P\\nW5J6CcNUq8pd4pIkVYCBLUlSBRjYkiRVgIEtSVIF2OlMknqZO++4g1defbXZZTTNGgMHsuO73tXs\\nMnodA1uSeplXXn2V0c0uoolu7cM/VrriLnFJkirAwJYkNdxnvvUtzqi5gtrqcuqpp3LUUUet9vX2\\nRu4Sl6QeNGzEMBbMbdyVzoZuPIT5l19V9/w33n47J/znf3LPI48woH9/tt1iC75/3HG8d9ttV2td\\n55544mpdX61VvQFJ1RjYktSDFsxdAJMbuP7JK97HujNLXniB8ccdx4+++lWO2G8/Xnn1VW647TbW\\nrLn1ZL0ys88EZ7O4S1yS+qgHZs8mIpgwdiwRwZprrMF+u+7KO7femlPPO4+jTj65dd5Z8+bRb5dd\\nWL58OQB7f/rTnHTuuezxiU+wzp578p1f/IKdP/KRNuv/3rRpHHb88QAcc+qpnPw//wPAdhMmcMVN\\nN7XOt2zZMjYeN47b778fgLvuuovdd9+dwYMH8+53v7vN3bYee+wxxowZw/rrr8/+++/PU0891ZgX\\npxcysCWpj9pms83o368fH508mSv/9CeeXbKkzfT2Leb2w7/8/e/5vyedxJKZM/n04YfzwOzZPPz4\\n463TL7jqKj50wAErbHfiuHFMu/LK1uEr//xnNtpgA3Z6+9uZ++ST/Md//Acnn3wyixYtYsqUKfzL\\nv/wLTz/9NACTJk1i55135qmnnuKkk05i6tSpb/h1qAoDW5L6qHXXWYcbzzuPfv368W9nnslGY8dy\\n2PHH8+Qz9e1W/+jBB/OOzTenX79+rPeWt3DoXntxwVXF8fMHZ8/m/lmzGL/nnissN+mAA7j0hht4\\n6eWXgSLYJ+6/PwDnX3kle+yxB/uXw/vuuy+jR4/miiuuYM6cOdx6662cdtppDBw4kD333JPx48ev\\njpeiEgxsSerD3r755vz05JOZfdll3POrX/HEwoV8sYP7T3dk5NChbYYnjhvXGtjTrrqKw8aMYa01\\n11xhua1GjGC7LbZg+g038OJLL3HpDTe0tsRnzZvH1VdfzZAhQxgyZAiDBw/mpptuYt68eTzxxBMM\\nHjyYtddeu3Vdo0aNWtWnXjl2OpMkAbDNqFEcfdBB/Pi3v+W973gHS196qXXavA6OFbffRT52111Z\\n+Oyz3PHAA1w4YwbfP+64Trd15NixTLvqKpYtX872W27JFptuChQ/Aj7wgQ/w61//eoVlZs+ezaJF\\ni3jxxRdbQ3v27Nn069c32p5941lKklZw/2OPcfb55zP3yScBmDN/PhfMmMFuO+zAu972Nq6/7Tbm\\nzJ/Pc88/z7fqOFY8YMAAjth3X778wx+yaPFixu66a6fzHjluHDNuvplzL7mESeXub4APH3ggN9xw\\nAzNmzGD58uW89NJLzJw5kyeeeILNNtuM0aNHc8opp/Dqq69y4403Mn369Df+QlSEgS1JfdS666zD\\nX+6+m12POYZ199qL93/84+y49dZMOfZY9tt1Vz44diw7TprEzkcfvcKx6M5O4Zq4//5cc8stTBg7\\ntk3Lt/38w976VnbbYQduvvtuPjh2bOv4EUOHMmXKFM4880w22mgjRo0axZQpU1p7p59//vncfPPN\\nbLjhhpx++ukcffTRq+vl6PUiM5tdQ6ciIntzfZLUndGjR3Prrbe2Dve2C6f0RrdSvG5vZu3fFy0i\\n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\\nklQB/x/DUF1sByf4KwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10b43fe10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Pclass', [\\\"Age < 10\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Accuracy\\n\",\n    \"81.71% on the data itself. \\n\",\n    \"\\n\",\n    \"This is kind of cheating because I can see that all males under the age of 10 who have 0-1 siblings (or spouses) survived. So theoretically I could get 100% accuracy by specifying one category (combination of filters)-outcome pair for every single datapoint.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion\\n\",\n    \"\\n\",\n    \"After several iterations of exploring and conditioning on the data, you have built a useful algorithm for predicting the survival of each passenger aboard the RMS Titanic. The technique applied in this project is a manual implementation of a simple machine learning model, the *decision tree*. A decision tree splits a set of data into smaller and smaller groups (called *nodes*), by one feature at a time. Each time a subset of the data is split, our predictions become more accurate if each of the resulting subgroups are more homogeneous (contain similar labels) than before. The advantage of having a computer do things for us is that it will be more exhaustive and more precise than our manual exploration above. [This link](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) provides another introduction into machine learning using a decision tree.\\n\",\n    \"\\n\",\n    \"A decision tree is just one of many models that come from *supervised learning*. In supervised learning, we attempt to use features of the data to predict or model things with objective outcome labels. That is to say, each of our data points has a known outcome value, such as a categorical, discrete label like `'Survived'`, or a numerical, continuous value like predicting the price of a house.\\n\",\n    \"\\n\",\n    \"### Question 5\\n\",\n    \"*Think of a real-world scenario where supervised learning could be applied. What would be the outcome variable that you are trying to predict? Name two features about the data used in this scenario that might be helpful for making the predictions.*  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"**Answer**: *Replace this text with your answer to the question above.*\\n\",\n    \"\\n\",\n    \"**Scenario**: A bank issuing loans.\\n\",\n    \"\\n\",\n    \"**Outcome variable**: Whether or not someone will return a loan.\\n\",\n    \"\\n\",\n    \"**Features that may be useful**: (1) Person's annual income, (2) whether that person has a criminal record.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p0-titanic-survival-exploration/README.md",
    "content": "# Project 0: Introduction and Fundamentals\n## Titanic Survival Exploration\n\n### Install\n\nThis project requires **Python 2.7** and the following Python libraries installed:\n\n- [NumPy](http://www.numpy.org/)\n- [Pandas](http://pandas.pydata.org)\n- [matplotlib](http://matplotlib.org/)\n- [scikit-learn](http://scikit-learn.org/stable/)\n\nYou will also need to have software installed to run and execute an [iPython Notebook](http://ipython.org/notebook.html)\n\nUdacity recommends our students install [Anaconda](https://www.continuum.io/downloads), a pre-packaged Python distribution that contains all of the necessary libraries and software for this project.\n\n### Code\n\nTemplate code is provided in the notebook `titanic_survival_exploration.ipynb` notebook file. Additional supporting code can be found in `titanic_visualizations.py`. While some code has already been implemented to get you started, you will need to implement additional functionality when requested to successfully complete the project.\n\n### Run\n\nIn a terminal or command window, navigate to the top-level project directory `titanic_survival_exploration/` (that contains this README) and run **one** of the following commands:\n\n```bash\njupyter notebook titanic_survival_exploration.ipynb\n```\nor\n```bash\nipython notebook titanic_survival_exploration.ipynb\n```\n\nThis will open the iPython Notebook software and project file in your web browser.\n\n## Data\n\nThe dataset used in this project is included as `titanic_data.csv`. This dataset is provided by Udacity and contains the following attributes:\n\n- `survival` : Survival (0 = No; 1 = Yes)\n- `pclass` : Passenger Class (1 = 1st; 2 = 2nd; 3 = 3rd)\n- `name` : Name\n- `sex` : Sex\n- `age` : Age\n- `sibsp` : Number of Siblings/Spouses Aboard\n- `parch` : Number of Parents/Children Aboard\n- `ticket` : Ticket Number\n- `fare` : Passenger Fare\n- `cabin` : Cabin\n- `embarked` : Port of Embarkation (C = Cherbourg; Q = Queenstown; S = Southampton)\n"
  },
  {
    "path": "p0-titanic-survival-exploration/report.html",
    "content": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>titanic_survival_exploration</title>\n\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>\n\n<style type=\"text/css\">\n    /*!\n*\n* Twitter Bootstrap\n*\n*/\n/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #000;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 3px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 18px;\n  margin-bottom: 18px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 18px;\n  margin-bottom: 9px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 33px;\n}\nh2,\n.h2 {\n  font-size: 27px;\n}\nh3,\n.h3 {\n  font-size: 23px;\n}\nh4,\n.h4 {\n  font-size: 17px;\n}\nh5,\n.h5 {\n  font-size: 13px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 9px;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 14px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 19.5px;\n  }\n}\nsmall,\n.small {\n  font-size: 92%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 8px;\n  margin: 36px 0 18px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 9px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 18px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 541px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 9px 18px;\n  margin: 0 0 18px;\n  font-size: inherit;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 18px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 2px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #888;\n  background-color: transparent;\n  border-radius: 1px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 768px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 940px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1140px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 18px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 13.5px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 18px;\n  font-size: 19.5px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 32px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 45px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 18px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 31px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 30px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.form-group-lg select.form-control {\n  height: 45px;\n  line-height: 45px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 45px;\n  min-height: 35px;\n  padding: 11px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 40px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 45px;\n  height: 45px;\n  line-height: 45px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 23px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #404040;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 25px;\n}\n.form-horizontal .form-group {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 17px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  border-radius: 2px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 13px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 541px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 1px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 17px;\n  border-radius: 3px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 2px 2px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 2px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 30px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n}\n@media (min-width: 541px) {\n  .navbar {\n    border-radius: 2px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 0px;\n  padding-left: 0px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 541px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 540px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: 0px;\n  margin-left: 0px;\n}\n@media (min-width: 541px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 541px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 541px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 6px 0px;\n  font-size: 17px;\n  line-height: 18px;\n  height: 30px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 541px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: 0px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 0px;\n  padding: 9px 10px;\n  margin-top: -2px;\n  margin-bottom: -2px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 541px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 3px 0px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 18px;\n}\n@media (max-width: 540px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 18px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 6px;\n    padding-bottom: 6px;\n  }\n}\n.navbar-form {\n  margin-left: 0px;\n  margin-right: 0px;\n  padding: 10px 0px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 540px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 0px;\n  margin-bottom: 0px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 4px;\n  margin-bottom: 4px;\n}\n.navbar-text {\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n@media (min-width: 541px) {\n  .navbar-text {\n    float: left;\n    margin-left: 0px;\n    margin-right: 0px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-left {\n    float: left !important;\n    float: left;\n  }\n  .navbar-right {\n    float: right !important;\n    float: right;\n    margin-right: 0px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 540px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 540px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 18px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #5e5e5e;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 18px 0;\n  border-radius: 2px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 2px;\n  border-top-right-radius: 2px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.pager {\n  padding-left: 0;\n  margin: 18px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 20px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 3px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 59px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 18px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #000;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 18px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 18px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 2px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 15px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 1px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 1px;\n  border-bottom-right-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 1px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 18px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 2px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 3px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 1px;\n}\n.close {\n  float: right;\n  font-size: 19.5px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 2px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 13px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 13px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 2px 2px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.item_buttons:before,\n.item_buttons:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after,\n.item_buttons:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*!\n*\n* Font Awesome\n*\n*/\n/*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eee;\n  border-radius: .1em;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n/*!\n*\n* IPython base\n*\n*/\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\ncode {\n  color: #000;\n}\npre {\n  font-size: inherit;\n  line-height: inherit;\n}\nlabel {\n  font-weight: normal;\n}\n/* Make the page background atleast 100% the height of the view port */\n/* Make the page itself atleast 70% the height of the view port */\n.border-box-sizing {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.corner-all {\n  border-radius: 2px;\n}\n.no-padding {\n  padding: 0px;\n}\n/* Flexible box model classes */\n/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */\n/* This file is a compatability layer.  It allows the usage of flexible box \nmodel layouts accross multiple browsers, including older browsers.  The newest,\nuniversal implementation of the flexible box model is used when available (see\n`Modern browsers` comments below).  Browsers that are known to implement this \nnew spec completely include:\n\n    Firefox 28.0+\n    Chrome 29.0+\n    Internet Explorer 11+ \n    Opera 17.0+\n\nBrowsers not listed, including Safari, are supported via the styling under the\n`Old browsers` comments below.\n*/\n.hbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n.hbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.vbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n.vbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.hbox.reverse,\n.vbox.reverse,\n.reverse {\n  /* Old browsers */\n  -webkit-box-direction: reverse;\n  -moz-box-direction: reverse;\n  box-direction: reverse;\n  /* Modern browsers */\n  flex-direction: row-reverse;\n}\n.hbox.box-flex0,\n.vbox.box-flex0,\n.box-flex0 {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n  width: auto;\n}\n.hbox.box-flex1,\n.vbox.box-flex1,\n.box-flex1 {\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex,\n.vbox.box-flex,\n.box-flex {\n  /* Old browsers */\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex2,\n.vbox.box-flex2,\n.box-flex2 {\n  /* Old browsers */\n  -webkit-box-flex: 2;\n  -moz-box-flex: 2;\n  box-flex: 2;\n  /* Modern browsers */\n  flex: 2;\n}\n.box-group1 {\n  /*  Deprecated */\n  -webkit-box-flex-group: 1;\n  -moz-box-flex-group: 1;\n  box-flex-group: 1;\n}\n.box-group2 {\n  /* Deprecated */\n  -webkit-box-flex-group: 2;\n  -moz-box-flex-group: 2;\n  box-flex-group: 2;\n}\n.hbox.start,\n.vbox.start,\n.start {\n  /* Old browsers */\n  -webkit-box-pack: start;\n  -moz-box-pack: start;\n  box-pack: start;\n  /* Modern browsers */\n  justify-content: flex-start;\n}\n.hbox.end,\n.vbox.end,\n.end {\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n}\n.hbox.center,\n.vbox.center,\n.center {\n  /* Old browsers */\n  -webkit-box-pack: center;\n  -moz-box-pack: center;\n  box-pack: center;\n  /* Modern browsers */\n  justify-content: center;\n}\n.hbox.baseline,\n.vbox.baseline,\n.baseline {\n  /* Old browsers */\n  -webkit-box-pack: baseline;\n  -moz-box-pack: baseline;\n  box-pack: baseline;\n  /* Modern browsers */\n  justify-content: baseline;\n}\n.hbox.stretch,\n.vbox.stretch,\n.stretch {\n  /* Old browsers */\n  -webkit-box-pack: stretch;\n  -moz-box-pack: stretch;\n  box-pack: stretch;\n  /* Modern browsers */\n  justify-content: stretch;\n}\n.hbox.align-start,\n.vbox.align-start,\n.align-start {\n  /* Old browsers */\n  -webkit-box-align: start;\n  -moz-box-align: start;\n  box-align: start;\n  /* Modern browsers */\n  align-items: flex-start;\n}\n.hbox.align-end,\n.vbox.align-end,\n.align-end {\n  /* Old browsers */\n  -webkit-box-align: end;\n  -moz-box-align: end;\n  box-align: end;\n  /* Modern browsers */\n  align-items: flex-end;\n}\n.hbox.align-center,\n.vbox.align-center,\n.align-center {\n  /* Old browsers */\n  -webkit-box-align: center;\n  -moz-box-align: center;\n  box-align: center;\n  /* Modern browsers */\n  align-items: center;\n}\n.hbox.align-baseline,\n.vbox.align-baseline,\n.align-baseline {\n  /* Old browsers */\n  -webkit-box-align: baseline;\n  -moz-box-align: baseline;\n  box-align: baseline;\n  /* Modern browsers */\n  align-items: baseline;\n}\n.hbox.align-stretch,\n.vbox.align-stretch,\n.align-stretch {\n  /* Old browsers */\n  -webkit-box-align: stretch;\n  -moz-box-align: stretch;\n  box-align: stretch;\n  /* Modern browsers */\n  align-items: stretch;\n}\ndiv.error {\n  margin: 2em;\n  text-align: center;\n}\ndiv.error > h1 {\n  font-size: 500%;\n  line-height: normal;\n}\ndiv.error > p {\n  font-size: 200%;\n  line-height: normal;\n}\ndiv.traceback-wrapper {\n  text-align: left;\n  max-width: 800px;\n  margin: auto;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nbody {\n  background-color: #fff;\n  /* This makes sure that the body covers the entire window and needs to\n       be in a different element than the display: box in wrapper below */\n  position: absolute;\n  left: 0px;\n  right: 0px;\n  top: 0px;\n  bottom: 0px;\n  overflow: visible;\n}\nbody > #header {\n  /* Initially hidden to prevent FLOUC */\n  display: none;\n  background-color: #fff;\n  /* Display over codemirror */\n  position: relative;\n  z-index: 100;\n}\nbody > #header #header-container {\n  padding-bottom: 5px;\n  padding-top: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\nbody > #header .header-bar {\n  width: 100%;\n  height: 1px;\n  background: #e7e7e7;\n  margin-bottom: -1px;\n}\n@media print {\n  body > #header {\n    display: none !important;\n  }\n}\n#header-spacer {\n  width: 100%;\n  visibility: hidden;\n}\n@media print {\n  #header-spacer {\n    display: none;\n  }\n}\n#ipython_notebook {\n  padding-left: 0px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n@media (max-width: 991px) {\n  #ipython_notebook {\n    margin-left: 10px;\n  }\n}\n#noscript {\n  width: auto;\n  padding-top: 16px;\n  padding-bottom: 16px;\n  text-align: center;\n  font-size: 22px;\n  color: red;\n  font-weight: bold;\n}\n#ipython_notebook img {\n  height: 28px;\n}\n#site {\n  width: 100%;\n  display: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  overflow: auto;\n}\n@media print {\n  #site {\n    height: auto !important;\n  }\n}\n/* Smaller buttons */\n.ui-button .ui-button-text {\n  padding: 0.2em 0.8em;\n  font-size: 77%;\n}\ninput.ui-button {\n  padding: 0.3em 0.9em;\n}\nspan#login_widget {\n  float: right;\n}\nspan#login_widget > .button,\n#logout {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button:focus,\n#logout:focus,\nspan#login_widget > .button.focus,\n#logout.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:hover,\n#logout:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active:hover,\n#logout:active:hover,\nspan#login_widget > .button.active:hover,\n#logout.active:hover,\n.open > .dropdown-togglespan#login_widget > .button:hover,\n.open > .dropdown-toggle#logout:hover,\nspan#login_widget > .button:active:focus,\n#logout:active:focus,\nspan#login_widget > .button.active:focus,\n#logout.active:focus,\n.open > .dropdown-togglespan#login_widget > .button:focus,\n.open > .dropdown-toggle#logout:focus,\nspan#login_widget > .button:active.focus,\n#logout:active.focus,\nspan#login_widget > .button.active.focus,\n#logout.active.focus,\n.open > .dropdown-togglespan#login_widget > .button.focus,\n.open > .dropdown-toggle#logout.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  background-image: none;\n}\nspan#login_widget > .button.disabled:hover,\n#logout.disabled:hover,\nspan#login_widget > .button[disabled]:hover,\n#logout[disabled]:hover,\nfieldset[disabled] span#login_widget > .button:hover,\nfieldset[disabled] #logout:hover,\nspan#login_widget > .button.disabled:focus,\n#logout.disabled:focus,\nspan#login_widget > .button[disabled]:focus,\n#logout[disabled]:focus,\nfieldset[disabled] span#login_widget > .button:focus,\nfieldset[disabled] #logout:focus,\nspan#login_widget > .button.disabled.focus,\n#logout.disabled.focus,\nspan#login_widget > .button[disabled].focus,\n#logout[disabled].focus,\nfieldset[disabled] span#login_widget > .button.focus,\nfieldset[disabled] #logout.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button .badge,\n#logout .badge {\n  color: #fff;\n  background-color: #333;\n}\n.nav-header {\n  text-transform: none;\n}\n#header > span {\n  margin-top: 10px;\n}\n.modal_stretch .modal-dialog {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  min-height: 80vh;\n}\n.modal_stretch .modal-dialog .modal-body {\n  max-height: calc(100vh - 200px);\n  overflow: auto;\n  flex: 1;\n}\n@media (min-width: 768px) {\n  .modal .modal-dialog {\n    width: 700px;\n  }\n}\n@media (min-width: 768px) {\n  select.form-control {\n    margin-left: 12px;\n    margin-right: 12px;\n  }\n}\n/*!\n*\n* IPython auth\n*\n*/\n.center-nav {\n  display: inline-block;\n  margin-bottom: -4px;\n}\n/*!\n*\n* IPython tree view\n*\n*/\n/* We need an invisible input field on top of the sentense*/\n/* \"Drag file onto the list ...\" */\n.alternate_upload {\n  background-color: none;\n  display: inline;\n}\n.alternate_upload.form {\n  padding: 0;\n  margin: 0;\n}\n.alternate_upload input.fileinput {\n  text-align: center;\n  vertical-align: middle;\n  display: inline;\n  opacity: 0;\n  z-index: 2;\n  width: 12ex;\n  margin-right: -12ex;\n}\n.alternate_upload .btn-upload {\n  height: 22px;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nul#tabs {\n  margin-bottom: 4px;\n}\nul#tabs a {\n  padding-top: 6px;\n  padding-bottom: 4px;\n}\nul.breadcrumb a:focus,\nul.breadcrumb a:hover {\n  text-decoration: none;\n}\nul.breadcrumb i.icon-home {\n  font-size: 16px;\n  margin-right: 4px;\n}\nul.breadcrumb span {\n  color: #5e5e5e;\n}\n.list_toolbar {\n  padding: 4px 0 4px 0;\n  vertical-align: middle;\n}\n.list_toolbar .tree-buttons {\n  padding-top: 1px;\n}\n.dynamic-buttons {\n  padding-top: 3px;\n  display: inline-block;\n}\n.list_toolbar [class*=\"span\"] {\n  min-height: 24px;\n}\n.list_header {\n  font-weight: bold;\n  background-color: #EEE;\n}\n.list_placeholder {\n  font-weight: bold;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n.list_container {\n  margin-top: 4px;\n  margin-bottom: 20px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n}\n.list_container > div {\n  border-bottom: 1px solid #ddd;\n}\n.list_container > div:hover .list-item {\n  background-color: red;\n}\n.list_container > div:last-child {\n  border: none;\n}\n.list_item:hover .list_item {\n  background-color: #ddd;\n}\n.list_item a {\n  text-decoration: none;\n}\n.list_item:hover {\n  background-color: #fafafa;\n}\n.list_header > div,\n.list_item > div {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n.list_header > div input,\n.list_item > div input {\n  margin-right: 7px;\n  margin-left: 14px;\n  vertical-align: baseline;\n  line-height: 22px;\n  position: relative;\n  top: -1px;\n}\n.list_header > div .item_link,\n.list_item > div .item_link {\n  margin-left: -1px;\n  vertical-align: baseline;\n  line-height: 22px;\n}\n.new-file input[type=checkbox] {\n  visibility: hidden;\n}\n.item_name {\n  line-height: 22px;\n  height: 24px;\n}\n.item_icon {\n  font-size: 14px;\n  color: #5e5e5e;\n  margin-right: 7px;\n  margin-left: 7px;\n  line-height: 22px;\n  vertical-align: baseline;\n}\n.item_buttons {\n  line-height: 1em;\n  margin-left: -5px;\n}\n.item_buttons .btn,\n.item_buttons .btn-group,\n.item_buttons .input-group {\n  float: left;\n}\n.item_buttons > .btn,\n.item_buttons > .btn-group,\n.item_buttons > .input-group {\n  margin-left: 5px;\n}\n.item_buttons .btn {\n  min-width: 13ex;\n}\n.item_buttons .running-indicator {\n  padding-top: 4px;\n  color: #5cb85c;\n}\n.item_buttons .kernel-name {\n  padding-top: 4px;\n  color: #5bc0de;\n  margin-right: 7px;\n  float: left;\n}\n.toolbar_info {\n  height: 24px;\n  line-height: 24px;\n}\n.list_item input:not([type=checkbox]) {\n  padding-top: 3px;\n  padding-bottom: 3px;\n  height: 22px;\n  line-height: 14px;\n  margin: 0px;\n}\n.highlight_text {\n  color: blue;\n}\n#project_name {\n  display: inline-block;\n  padding-left: 7px;\n  margin-left: -2px;\n}\n#project_name > .breadcrumb {\n  padding: 0px;\n  margin-bottom: 0px;\n  background-color: transparent;\n  font-weight: bold;\n}\n#tree-selector {\n  padding-right: 0px;\n}\n#button-select-all {\n  min-width: 50px;\n}\n#select-all {\n  margin-left: 7px;\n  margin-right: 2px;\n}\n.menu_icon {\n  margin-right: 2px;\n}\n.tab-content .row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.folder_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f114\";\n}\n.folder_icon:before.pull-left {\n  margin-right: .3em;\n}\n.folder_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n}\n.notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.running_notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n  color: #5cb85c;\n}\n.running_notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.running_notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.file_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f016\";\n  position: relative;\n  top: -2px;\n}\n.file_icon:before.pull-left {\n  margin-right: .3em;\n}\n.file_icon:before.pull-right {\n  margin-left: .3em;\n}\n#notebook_toolbar .pull-right {\n  padding-top: 0px;\n  margin-right: -1px;\n}\nul#new-menu {\n  left: auto;\n  right: 0;\n}\n.kernel-menu-icon {\n  padding-right: 12px;\n  width: 24px;\n  content: \"\\f096\";\n}\n.kernel-menu-icon:before {\n  content: \"\\f096\";\n}\n.kernel-menu-icon-current:before {\n  content: \"\\f00c\";\n}\n#tab_content {\n  padding-top: 20px;\n}\n#running .panel-group .panel {\n  margin-top: 3px;\n  margin-bottom: 1em;\n}\n#running .panel-group .panel .panel-heading {\n  background-color: #EEE;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n#running .panel-group .panel .panel-heading a:focus,\n#running .panel-group .panel .panel-heading a:hover {\n  text-decoration: none;\n}\n#running .panel-group .panel .panel-body {\n  padding: 0px;\n}\n#running .panel-group .panel .panel-body .list_container {\n  margin-top: 0px;\n  margin-bottom: 0px;\n  border: 0px;\n  border-radius: 0px;\n}\n#running .panel-group .panel .panel-body .list_container .list_item {\n  border-bottom: 1px solid #ddd;\n}\n#running .panel-group .panel .panel-body .list_container .list_item:last-child {\n  border-bottom: 0px;\n}\n.delete-button {\n  display: none;\n}\n.duplicate-button {\n  display: none;\n}\n.rename-button {\n  display: none;\n}\n.shutdown-button {\n  display: none;\n}\n.dynamic-instructions {\n  display: inline-block;\n  padding-top: 4px;\n}\n/*!\n*\n* IPython text editor webapp\n*\n*/\n.selected-keymap i.fa {\n  padding: 0px 5px;\n}\n.selected-keymap i.fa:before {\n  content: \"\\f00c\";\n}\n#mode-menu {\n  overflow: auto;\n  max-height: 20em;\n}\n.edit_app #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.edit_app #menubar .navbar {\n  /* Use a negative 1 bottom margin, so the border overlaps the border of the\n    header */\n  margin-bottom: -1px;\n}\n.dirty-indicator {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-dirty {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-dirty.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-dirty.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-clean.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f00c\";\n}\n.dirty-indicator-clean:before.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean:before.pull-right {\n  margin-left: .3em;\n}\n#filename {\n  font-size: 16pt;\n  display: table;\n  padding: 0px 5px;\n}\n#current-mode {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#texteditor-backdrop {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n@media not print {\n  #texteditor-backdrop {\n    background-color: #EEE;\n  }\n}\n@media print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container {\n    padding: 0px;\n    background-color: #fff;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n/*!\n*\n* IPython notebook\n*\n*/\n/* CSS font colors for translated ANSI colors. */\n.ansibold {\n  font-weight: bold;\n}\n/* use dark versions for foreground, to improve visibility */\n.ansiblack {\n  color: black;\n}\n.ansired {\n  color: darkred;\n}\n.ansigreen {\n  color: darkgreen;\n}\n.ansiyellow {\n  color: #c4a000;\n}\n.ansiblue {\n  color: darkblue;\n}\n.ansipurple {\n  color: darkviolet;\n}\n.ansicyan {\n  color: steelblue;\n}\n.ansigray {\n  color: gray;\n}\n/* and light for background, for the same reason */\n.ansibgblack {\n  background-color: black;\n}\n.ansibgred {\n  background-color: red;\n}\n.ansibggreen {\n  background-color: green;\n}\n.ansibgyellow {\n  background-color: yellow;\n}\n.ansibgblue {\n  background-color: blue;\n}\n.ansibgpurple {\n  background-color: magenta;\n}\n.ansibgcyan {\n  background-color: cyan;\n}\n.ansibggray {\n  background-color: gray;\n}\ndiv.cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  border-radius: 2px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  border-width: 1px;\n  border-style: solid;\n  border-color: transparent;\n  width: 100%;\n  padding: 5px;\n  /* This acts as a spacer between cells, that is outside the border */\n  margin: 0px;\n  outline: none;\n  border-left-width: 1px;\n  padding-left: 5px;\n  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);\n}\ndiv.cell.jupyter-soft-selected {\n  border-left-color: #90CAF9;\n  border-left-color: #E3F2FD;\n  border-left-width: 1px;\n  padding-left: 5px;\n  border-right-color: #E3F2FD;\n  border-right-width: 1px;\n  background: #E3F2FD;\n}\n@media print {\n  div.cell.jupyter-soft-selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected {\n  border-color: #ababab;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  div.cell.selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected.jupyter-soft-selected {\n  border-left-width: 0;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);\n}\n.edit_mode div.cell.selected {\n  border-color: #66BB6A;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  .edit_mode div.cell.selected {\n    border-color: transparent;\n  }\n}\n.prompt {\n  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */\n  min-width: 14ex;\n  /* This padding is tuned to match the padding on the CodeMirror editor. */\n  padding: 0.4em;\n  margin: 0px;\n  font-family: monospace;\n  text-align: right;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n  /* Don't highlight prompt number selection */\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  /* Use default cursor */\n  cursor: default;\n}\n@media (max-width: 540px) {\n  .prompt {\n    text-align: left;\n  }\n}\ndiv.inner_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n@-moz-document url-prefix() {\n  div.inner_cell {\n    overflow-x: hidden;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_area {\n  border: 1px solid #cfcfcf;\n  border-radius: 2px;\n  background: #f7f7f7;\n  line-height: 1.21429em;\n}\n/* This is needed so that empty prompt areas can collapse to zero height when there\n   is no content in the output_subarea and the prompt. The main purpose of this is\n   to make sure that empty JavaScript output_subareas have no height. */\ndiv.prompt:empty {\n  padding-top: 0;\n  padding-bottom: 0;\n}\ndiv.unrecognized_cell {\n  padding: 5px 5px 5px 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.unrecognized_cell .inner_cell {\n  border-radius: 2px;\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n  border: 1px solid #cfcfcf;\n  background: #eaeaea;\n}\ndiv.unrecognized_cell .inner_cell a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.unrecognized_cell .inner_cell a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n@media (max-width: 540px) {\n  div.unrecognized_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.code_cell {\n  /* avoid page breaking on code cells when printing */\n}\n@media print {\n  div.code_cell {\n    page-break-inside: avoid;\n  }\n}\n/* any special styling for code cells that are currently running goes here */\ndiv.input {\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.input {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_prompt {\n  color: #303F9F;\n  border-top: 1px solid transparent;\n}\ndiv.input_area > div.highlight {\n  margin: 0.4em;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\ndiv.input_area > div.highlight > pre {\n  margin: 0px;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\n/* The following gets added to the <head> if it is detected that the user has a\n * monospace font with inconsistent normal/bold/italic height.  See\n * notebookmain.js.  Such fonts will have keywords vertically offset with\n * respect to the rest of the text.  The user should select a better font.\n * See: https://github.com/ipython/ipython/issues/1503\n *\n * .CodeMirror span {\n *      vertical-align: bottom;\n * }\n */\n.CodeMirror {\n  line-height: 1.21429em;\n  /* Changed from 1em to our global default */\n  font-size: 14px;\n  height: auto;\n  /* Changed to auto to autogrow */\n  background: none;\n  /* Changed from white to allow our bg to show through */\n}\n.CodeMirror-scroll {\n  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/\n  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/\n  overflow-y: hidden;\n  overflow-x: auto;\n}\n.CodeMirror-lines {\n  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */\n  /* we have set a different line-height and want this to scale with that. */\n  padding: 0.4em;\n}\n.CodeMirror-linenumber {\n  padding: 0 8px 0 4px;\n}\n.CodeMirror-gutters {\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.CodeMirror pre {\n  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */\n  /* .CodeMirror-lines */\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n}\n/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\nAdapted from GitHub theme\n\n*/\n.highlight-base {\n  color: #000;\n}\n.highlight-variable {\n  color: #000;\n}\n.highlight-variable-2 {\n  color: #1a1a1a;\n}\n.highlight-variable-3 {\n  color: #333333;\n}\n.highlight-string {\n  color: #BA2121;\n}\n.highlight-comment {\n  color: #408080;\n  font-style: italic;\n}\n.highlight-number {\n  color: #080;\n}\n.highlight-atom {\n  color: #88F;\n}\n.highlight-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.highlight-builtin {\n  color: #008000;\n}\n.highlight-error {\n  color: #f00;\n}\n.highlight-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.highlight-meta {\n  color: #AA22FF;\n}\n/* previously not defined, copying from default codemirror */\n.highlight-def {\n  color: #00f;\n}\n.highlight-string-2 {\n  color: #f50;\n}\n.highlight-qualifier {\n  color: #555;\n}\n.highlight-bracket {\n  color: #997;\n}\n.highlight-tag {\n  color: #170;\n}\n.highlight-attribute {\n  color: #00c;\n}\n.highlight-header {\n  color: blue;\n}\n.highlight-quote {\n  color: #090;\n}\n.highlight-link {\n  color: #00c;\n}\n/* apply the same style to codemirror */\n.cm-s-ipython span.cm-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-atom {\n  color: #88F;\n}\n.cm-s-ipython span.cm-number {\n  color: #080;\n}\n.cm-s-ipython span.cm-def {\n  color: #00f;\n}\n.cm-s-ipython span.cm-variable {\n  color: #000;\n}\n.cm-s-ipython span.cm-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-variable-2 {\n  color: #1a1a1a;\n}\n.cm-s-ipython span.cm-variable-3 {\n  color: #333333;\n}\n.cm-s-ipython span.cm-comment {\n  color: #408080;\n  font-style: italic;\n}\n.cm-s-ipython span.cm-string {\n  color: #BA2121;\n}\n.cm-s-ipython span.cm-string-2 {\n  color: #f50;\n}\n.cm-s-ipython span.cm-meta {\n  color: #AA22FF;\n}\n.cm-s-ipython span.cm-qualifier {\n  color: #555;\n}\n.cm-s-ipython span.cm-builtin {\n  color: #008000;\n}\n.cm-s-ipython span.cm-bracket {\n  color: #997;\n}\n.cm-s-ipython span.cm-tag {\n  color: #170;\n}\n.cm-s-ipython span.cm-attribute {\n  color: #00c;\n}\n.cm-s-ipython span.cm-header {\n  color: blue;\n}\n.cm-s-ipython span.cm-quote {\n  color: #090;\n}\n.cm-s-ipython span.cm-link {\n  color: #00c;\n}\n.cm-s-ipython span.cm-error {\n  color: #f00;\n}\n.cm-s-ipython span.cm-tab {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);\n  background-position: right;\n  background-repeat: no-repeat;\n}\ndiv.output_wrapper {\n  /* this position must be relative to enable descendents to be absolute within it */\n  position: relative;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  z-index: 1;\n}\n/* class for the output area when it should be height-limited */\ndiv.output_scroll {\n  /* ideally, this would be max-height, but FF barfs all over that */\n  height: 24em;\n  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */\n  width: 100%;\n  overflow: auto;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  display: block;\n}\n/* output div while it is collapsed */\ndiv.output_collapsed {\n  margin: 0px;\n  padding: 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\ndiv.out_prompt_overlay {\n  height: 100%;\n  padding: 0px 0.4em;\n  position: absolute;\n  border-radius: 2px;\n}\ndiv.out_prompt_overlay:hover {\n  /* use inner shadow to get border that is computed the same on WebKit/FF */\n  -webkit-box-shadow: inset 0 0 1px #000;\n  box-shadow: inset 0 0 1px #000;\n  background: rgba(240, 240, 240, 0.5);\n}\ndiv.output_prompt {\n  color: #D84315;\n}\n/* This class is the outer container of all output sections. */\ndiv.output_area {\n  padding: 0px;\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.output_area .MathJax_Display {\n  text-align: left !important;\n}\ndiv.output_area .rendered_html table {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area .rendered_html img {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area img,\ndiv.output_area svg {\n  max-width: 100%;\n  height: auto;\n}\ndiv.output_area img.unconfined,\ndiv.output_area svg.unconfined {\n  max-width: none;\n}\n/* This is needed to protect the pre formating from global settings such\n   as that of bootstrap */\n.output {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.output_area {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\ndiv.output_area pre {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  vertical-align: baseline;\n  color: black;\n  background-color: transparent;\n  border-radius: 0;\n}\n/* This class is for the output subarea inside the output_area and after\n   the prompt div. */\ndiv.output_subarea {\n  overflow-x: auto;\n  padding: 0.4em;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n  max-width: calc(100% - 14ex);\n}\ndiv.output_scroll div.output_subarea {\n  overflow-x: visible;\n}\n/* The rest of the output_* classes are for special styling of the different\n   output types */\n/* all text output has this class: */\ndiv.output_text {\n  text-align: left;\n  color: #000;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n}\n/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */\ndiv.output_stderr {\n  background: #fdd;\n  /* very light red background for stderr */\n}\ndiv.output_latex {\n  text-align: left;\n}\n/* Empty output_javascript divs should have no height */\ndiv.output_javascript:empty {\n  padding: 0;\n}\n.js-error {\n  color: darkred;\n}\n/* raw_input styles */\ndiv.raw_input_container {\n  line-height: 1.21429em;\n  padding-top: 5px;\n}\npre.raw_input_prompt {\n  /* nothing needed here. */\n}\ninput.raw_input {\n  font-family: monospace;\n  font-size: inherit;\n  color: inherit;\n  width: auto;\n  /* make sure input baseline aligns with prompt */\n  vertical-align: baseline;\n  /* padding + margin = 0.5em between prompt and cursor */\n  padding: 0em 0.25em;\n  margin: 0em 0.25em;\n}\ninput.raw_input:focus {\n  box-shadow: none;\n}\np.p-space {\n  margin-bottom: 10px;\n}\ndiv.output_unrecognized {\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n}\ndiv.output_unrecognized a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.output_unrecognized a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n.rendered_html {\n  color: #000;\n  /* any extras will just be numbers: */\n}\n.rendered_html em {\n  font-style: italic;\n}\n.rendered_html strong {\n  font-weight: bold;\n}\n.rendered_html u {\n  text-decoration: underline;\n}\n.rendered_html :link {\n  text-decoration: underline;\n}\n.rendered_html :visited {\n  text-decoration: underline;\n}\n.rendered_html h1 {\n  font-size: 185.7%;\n  margin: 1.08em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h2 {\n  font-size: 157.1%;\n  margin: 1.27em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h3 {\n  font-size: 128.6%;\n  margin: 1.55em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h4 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h5 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h6 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h1:first-child {\n  margin-top: 0.538em;\n}\n.rendered_html h2:first-child {\n  margin-top: 0.636em;\n}\n.rendered_html h3:first-child {\n  margin-top: 0.777em;\n}\n.rendered_html h4:first-child {\n  margin-top: 1em;\n}\n.rendered_html h5:first-child {\n  margin-top: 1em;\n}\n.rendered_html h6:first-child {\n  margin-top: 1em;\n}\n.rendered_html ul {\n  list-style: disc;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ul ul {\n  list-style: square;\n  margin: 0em 2em;\n}\n.rendered_html ul ul ul {\n  list-style: circle;\n  margin: 0em 2em;\n}\n.rendered_html ol {\n  list-style: decimal;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ol ol {\n  list-style: upper-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol {\n  list-style: lower-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol {\n  list-style: lower-roman;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol ol {\n  list-style: decimal;\n  margin: 0em 2em;\n}\n.rendered_html * + ul {\n  margin-top: 1em;\n}\n.rendered_html * + ol {\n  margin-top: 1em;\n}\n.rendered_html hr {\n  color: black;\n  background-color: black;\n}\n.rendered_html pre {\n  margin: 1em 2em;\n}\n.rendered_html pre,\n.rendered_html code {\n  border: 0;\n  background-color: #fff;\n  color: #000;\n  font-size: 100%;\n  padding: 0px;\n}\n.rendered_html blockquote {\n  margin: 1em 2em;\n}\n.rendered_html table {\n  margin-left: auto;\n  margin-right: auto;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\n.rendered_html tr,\n.rendered_html th,\n.rendered_html td {\n  border: 1px solid black;\n  border-collapse: collapse;\n  margin: 1em 2em;\n}\n.rendered_html td,\n.rendered_html th {\n  text-align: left;\n  vertical-align: middle;\n  padding: 4px;\n}\n.rendered_html th {\n  font-weight: bold;\n}\n.rendered_html * + table {\n  margin-top: 1em;\n}\n.rendered_html p {\n  text-align: left;\n}\n.rendered_html * + p {\n  margin-top: 1em;\n}\n.rendered_html img {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.rendered_html * + img {\n  margin-top: 1em;\n}\n.rendered_html img,\n.rendered_html svg {\n  max-width: 100%;\n  height: auto;\n}\n.rendered_html img.unconfined,\n.rendered_html svg.unconfined {\n  max-width: none;\n}\ndiv.text_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.text_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.text_cell_render {\n  /*font-family: \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;*/\n  outline: none;\n  resize: none;\n  width: inherit;\n  border-style: none;\n  padding: 0.5em 0.5em 0.5em 0.4em;\n  color: #000;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\na.anchor-link:link {\n  text-decoration: none;\n  padding: 0px 20px;\n  visibility: hidden;\n}\nh1:hover .anchor-link,\nh2:hover .anchor-link,\nh3:hover .anchor-link,\nh4:hover .anchor-link,\nh5:hover .anchor-link,\nh6:hover .anchor-link {\n  visibility: visible;\n}\n.text_cell.rendered .input_area {\n  display: none;\n}\n.text_cell.rendered .rendered_html {\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.text_cell.unrendered .text_cell_render {\n  display: none;\n}\n.cm-header-1,\n.cm-header-2,\n.cm-header-3,\n.cm-header-4,\n.cm-header-5,\n.cm-header-6 {\n  font-weight: bold;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.cm-header-1 {\n  font-size: 185.7%;\n}\n.cm-header-2 {\n  font-size: 157.1%;\n}\n.cm-header-3 {\n  font-size: 128.6%;\n}\n.cm-header-4 {\n  font-size: 110%;\n}\n.cm-header-5 {\n  font-size: 100%;\n  font-style: italic;\n}\n.cm-header-6 {\n  font-size: 100%;\n  font-style: italic;\n}\n/*!\n*\n* IPython notebook webapp\n*\n*/\n@media (max-width: 767px) {\n  .notebook_app {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n}\n#ipython-main-app {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook_panel {\n  margin: 0px;\n  padding: 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook {\n  font-size: 14px;\n  line-height: 20px;\n  overflow-y: hidden;\n  overflow-x: auto;\n  width: 100%;\n  /* This spaces the page away from the edge of the notebook area */\n  padding-top: 20px;\n  margin: 0px;\n  outline: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  min-height: 100%;\n}\n@media not print {\n  #notebook-container {\n    padding: 15px;\n    background-color: #fff;\n    min-height: 0;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n@media print {\n  #notebook-container {\n    width: 100%;\n  }\n}\ndiv.ui-widget-content {\n  border: 1px solid #ababab;\n  outline: none;\n}\npre.dialog {\n  background-color: #f7f7f7;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  padding: 0.4em;\n  padding-left: 2em;\n}\np.dialog {\n  padding: 0.2em;\n}\n/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems\n   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.\n */\npre,\ncode,\nkbd,\nsamp {\n  white-space: pre-wrap;\n}\n#fonttest {\n  font-family: monospace;\n}\np {\n  margin-bottom: 0;\n}\n.end_space {\n  min-height: 100px;\n  transition: height .2s ease;\n}\n.notebook_app > #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n@media not print {\n  .notebook_app {\n    background-color: #EEE;\n  }\n}\nkbd {\n  border-style: solid;\n  border-width: 1px;\n  box-shadow: none;\n  margin: 2px;\n  padding-left: 2px;\n  padding-right: 2px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n/* CSS for the cell toolbar */\n.celltoolbar {\n  border: thin solid #CFCFCF;\n  border-bottom: none;\n  background: #EEE;\n  border-radius: 2px 2px 0px 0px;\n  width: 100%;\n  height: 29px;\n  padding-right: 4px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n  display: -webkit-flex;\n}\n@media print {\n  .celltoolbar {\n    display: none;\n  }\n}\n.ctb_hideshow {\n  display: none;\n  vertical-align: bottom;\n}\n/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.\n   Cell toolbars are only shown when the ctb_global_show class is also set.\n*/\n.ctb_global_show .ctb_show.ctb_hideshow {\n  display: block;\n}\n.ctb_global_show .ctb_show + .input_area,\n.ctb_global_show .ctb_show + div.text_cell_input,\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border-top-right-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border: 1px solid #cfcfcf;\n}\n.celltoolbar {\n  font-size: 87%;\n  padding-top: 3px;\n}\n.celltoolbar select {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n  width: inherit;\n  font-size: inherit;\n  height: 22px;\n  padding: 0px;\n  display: inline-block;\n}\n.celltoolbar select:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.celltoolbar select::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.celltoolbar select:-ms-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-webkit-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.celltoolbar select[disabled],\n.celltoolbar select[readonly],\nfieldset[disabled] .celltoolbar select {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.celltoolbar select[disabled],\nfieldset[disabled] .celltoolbar select {\n  cursor: not-allowed;\n}\ntextarea.celltoolbar select {\n  height: auto;\n}\nselect.celltoolbar select {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.celltoolbar select,\nselect[multiple].celltoolbar select {\n  height: auto;\n}\n.celltoolbar label {\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.completions {\n  position: absolute;\n  z-index: 110;\n  overflow: hidden;\n  border: 1px solid #ababab;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  line-height: 1;\n}\n.completions select {\n  background: white;\n  outline: none;\n  border: none;\n  padding: 0px;\n  margin: 0px;\n  overflow: auto;\n  font-family: monospace;\n  font-size: 110%;\n  color: #000;\n  width: auto;\n}\n.completions select option.context {\n  color: #286090;\n}\n#kernel_logo_widget {\n  float: right !important;\n  float: right;\n}\n#kernel_logo_widget .current_kernel_logo {\n  display: none;\n  margin-top: -1px;\n  margin-bottom: -1px;\n  width: 32px;\n  height: 32px;\n}\n#menubar {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  margin-top: 1px;\n}\n#menubar .navbar {\n  border-top: 1px;\n  border-radius: 0px 0px 2px 2px;\n  margin-bottom: 0px;\n}\n#menubar .navbar-toggle {\n  float: left;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  border: none;\n}\n#menubar .navbar-collapse {\n  clear: left;\n}\n.nav-wrapper {\n  border-bottom: 1px solid #e7e7e7;\n}\ni.menu-icon {\n  padding-top: 4px;\n}\nul#help_menu li a {\n  overflow: hidden;\n  padding-right: 2.2em;\n}\nul#help_menu li a i {\n  margin-right: -1.2em;\n}\n.dropdown-submenu {\n  position: relative;\n}\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n}\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n.dropdown-submenu > a:after {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  display: block;\n  content: \"\\f0da\";\n  float: right;\n  color: #333333;\n  margin-top: 2px;\n  margin-right: -10px;\n}\n.dropdown-submenu > a:after.pull-left {\n  margin-right: .3em;\n}\n.dropdown-submenu > a:after.pull-right {\n  margin-left: .3em;\n}\n.dropdown-submenu:hover > a:after {\n  color: #262626;\n}\n.dropdown-submenu.pull-left {\n  float: none;\n}\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n}\n#notification_area {\n  float: right !important;\n  float: right;\n  z-index: 10;\n}\n.indicator_area {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#kernel_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  border-left: 1px solid;\n}\n#kernel_indicator .kernel_indicator_name {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#modal_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#readonly-indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  margin-top: 2px;\n  margin-bottom: 0px;\n  margin-left: 0px;\n  margin-right: 0px;\n  display: none;\n}\n.modal_indicator:before {\n  width: 1.28571429em;\n  text-align: center;\n}\n.edit_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f040\";\n}\n.edit_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.edit_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.command_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: ' ';\n}\n.command_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.command_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_idle_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f10c\";\n}\n.kernel_idle_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_idle_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_busy_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f111\";\n}\n.kernel_busy_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_busy_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_dead_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f1e2\";\n}\n.kernel_dead_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_dead_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_disconnected_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f127\";\n}\n.kernel_disconnected_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_disconnected_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notification_widget {\n  color: #777;\n  z-index: 10;\n  background: rgba(240, 240, 240, 0.5);\n  margin-right: 4px;\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget:focus,\n.notification_widget.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.notification_widget:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active:hover,\n.notification_widget.active:hover,\n.open > .dropdown-toggle.notification_widget:hover,\n.notification_widget:active:focus,\n.notification_widget.active:focus,\n.open > .dropdown-toggle.notification_widget:focus,\n.notification_widget:active.focus,\n.notification_widget.active.focus,\n.open > .dropdown-toggle.notification_widget.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  background-image: none;\n}\n.notification_widget.disabled:hover,\n.notification_widget[disabled]:hover,\nfieldset[disabled] .notification_widget:hover,\n.notification_widget.disabled:focus,\n.notification_widget[disabled]:focus,\nfieldset[disabled] .notification_widget:focus,\n.notification_widget.disabled.focus,\n.notification_widget[disabled].focus,\nfieldset[disabled] .notification_widget.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget .badge {\n  color: #fff;\n  background-color: #333;\n}\n.notification_widget.warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning:focus,\n.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.notification_widget.warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active:hover,\n.notification_widget.warning.active:hover,\n.open > .dropdown-toggle.notification_widget.warning:hover,\n.notification_widget.warning:active:focus,\n.notification_widget.warning.active:focus,\n.open > .dropdown-toggle.notification_widget.warning:focus,\n.notification_widget.warning:active.focus,\n.notification_widget.warning.active.focus,\n.open > .dropdown-toggle.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  background-image: none;\n}\n.notification_widget.warning.disabled:hover,\n.notification_widget.warning[disabled]:hover,\nfieldset[disabled] .notification_widget.warning:hover,\n.notification_widget.warning.disabled:focus,\n.notification_widget.warning[disabled]:focus,\nfieldset[disabled] .notification_widget.warning:focus,\n.notification_widget.warning.disabled.focus,\n.notification_widget.warning[disabled].focus,\nfieldset[disabled] .notification_widget.warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.notification_widget.success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success:focus,\n.notification_widget.success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.notification_widget.success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active:hover,\n.notification_widget.success.active:hover,\n.open > .dropdown-toggle.notification_widget.success:hover,\n.notification_widget.success:active:focus,\n.notification_widget.success.active:focus,\n.open > .dropdown-toggle.notification_widget.success:focus,\n.notification_widget.success:active.focus,\n.notification_widget.success.active.focus,\n.open > .dropdown-toggle.notification_widget.success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  background-image: none;\n}\n.notification_widget.success.disabled:hover,\n.notification_widget.success[disabled]:hover,\nfieldset[disabled] .notification_widget.success:hover,\n.notification_widget.success.disabled:focus,\n.notification_widget.success[disabled]:focus,\nfieldset[disabled] .notification_widget.success:focus,\n.notification_widget.success.disabled.focus,\n.notification_widget.success[disabled].focus,\nfieldset[disabled] .notification_widget.success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.notification_widget.info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info:focus,\n.notification_widget.info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.notification_widget.info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active:hover,\n.notification_widget.info.active:hover,\n.open > .dropdown-toggle.notification_widget.info:hover,\n.notification_widget.info:active:focus,\n.notification_widget.info.active:focus,\n.open > .dropdown-toggle.notification_widget.info:focus,\n.notification_widget.info:active.focus,\n.notification_widget.info.active.focus,\n.open > .dropdown-toggle.notification_widget.info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  background-image: none;\n}\n.notification_widget.info.disabled:hover,\n.notification_widget.info[disabled]:hover,\nfieldset[disabled] .notification_widget.info:hover,\n.notification_widget.info.disabled:focus,\n.notification_widget.info[disabled]:focus,\nfieldset[disabled] .notification_widget.info:focus,\n.notification_widget.info.disabled.focus,\n.notification_widget.info[disabled].focus,\nfieldset[disabled] .notification_widget.info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.notification_widget.danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger:focus,\n.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.notification_widget.danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active:hover,\n.notification_widget.danger.active:hover,\n.open > .dropdown-toggle.notification_widget.danger:hover,\n.notification_widget.danger:active:focus,\n.notification_widget.danger.active:focus,\n.open > .dropdown-toggle.notification_widget.danger:focus,\n.notification_widget.danger:active.focus,\n.notification_widget.danger.active.focus,\n.open > .dropdown-toggle.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  background-image: none;\n}\n.notification_widget.danger.disabled:hover,\n.notification_widget.danger[disabled]:hover,\nfieldset[disabled] .notification_widget.danger:hover,\n.notification_widget.danger.disabled:focus,\n.notification_widget.danger[disabled]:focus,\nfieldset[disabled] .notification_widget.danger:focus,\n.notification_widget.danger.disabled.focus,\n.notification_widget.danger[disabled].focus,\nfieldset[disabled] .notification_widget.danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\ndiv#pager {\n  background-color: #fff;\n  font-size: 14px;\n  line-height: 20px;\n  overflow: hidden;\n  display: none;\n  position: fixed;\n  bottom: 0px;\n  width: 100%;\n  max-height: 50%;\n  padding-top: 8px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  /* Display over codemirror */\n  z-index: 100;\n  /* Hack which prevents jquery ui resizable from changing top. */\n  top: auto !important;\n}\ndiv#pager pre {\n  line-height: 1.21429em;\n  color: #000;\n  background-color: #f7f7f7;\n  padding: 0.4em;\n}\ndiv#pager #pager-button-area {\n  position: absolute;\n  top: 8px;\n  right: 20px;\n}\ndiv#pager #pager-contents {\n  position: relative;\n  overflow: auto;\n  width: 100%;\n  height: 100%;\n}\ndiv#pager #pager-contents #pager-container {\n  position: relative;\n  padding: 15px 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\ndiv#pager .ui-resizable-handle {\n  top: 0px;\n  height: 8px;\n  background: #f7f7f7;\n  border-top: 1px solid #cfcfcf;\n  border-bottom: 1px solid #cfcfcf;\n  /* This injects handle bars (a short, wide = symbol) for \n        the resize handle. */\n}\ndiv#pager .ui-resizable-handle::after {\n  content: '';\n  top: 2px;\n  left: 50%;\n  height: 3px;\n  width: 30px;\n  margin-left: -15px;\n  position: absolute;\n  border-top: 1px solid #cfcfcf;\n}\n.quickhelp {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  line-height: 1.8em;\n}\n.shortcut_key {\n  display: inline-block;\n  width: 20ex;\n  text-align: right;\n  font-family: monospace;\n}\n.shortcut_descr {\n  display: inline-block;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\nspan.save_widget {\n  margin-top: 6px;\n}\nspan.save_widget span.filename {\n  height: 1em;\n  line-height: 1em;\n  padding: 3px;\n  margin-left: 16px;\n  border: none;\n  font-size: 146.5%;\n  border-radius: 2px;\n}\nspan.save_widget span.filename:hover {\n  background-color: #e6e6e6;\n}\nspan.checkpoint_status,\nspan.autosave_status {\n  font-size: small;\n}\n@media (max-width: 767px) {\n  span.save_widget {\n    font-size: small;\n  }\n  span.checkpoint_status,\n  span.autosave_status {\n    display: none;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  span.checkpoint_status {\n    display: none;\n  }\n  span.autosave_status {\n    font-size: x-small;\n  }\n}\n.toolbar {\n  padding: 0px;\n  margin-left: -5px;\n  margin-top: 2px;\n  margin-bottom: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.toolbar select,\n.toolbar label {\n  width: auto;\n  vertical-align: middle;\n  margin-right: 2px;\n  margin-bottom: 0px;\n  display: inline;\n  font-size: 92%;\n  margin-left: 0.3em;\n  margin-right: 0.3em;\n  padding: 0px;\n  padding-top: 3px;\n}\n.toolbar .btn {\n  padding: 2px 8px;\n}\n.toolbar .btn-group {\n  margin-top: 0px;\n  margin-left: 5px;\n}\n#maintoolbar {\n  margin-bottom: -3px;\n  margin-top: -8px;\n  border: 0px;\n  min-height: 27px;\n  margin-left: 0px;\n  padding-top: 11px;\n  padding-bottom: 3px;\n}\n#maintoolbar .navbar-text {\n  float: none;\n  vertical-align: middle;\n  text-align: right;\n  margin-left: 5px;\n  margin-right: 0px;\n  margin-top: 0px;\n}\n.select-xs {\n  height: 24px;\n}\n.pulse,\n.dropdown-menu > li > a.pulse,\nli.pulse > a.dropdown-toggle,\nli.pulse.open > a.dropdown-toggle {\n  background-color: #F37626;\n  color: white;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\n/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot\n * of chance of beeing generated from the ../less/[samename].less file, you can\n * try to get back the less file by reverting somme commit in history\n **/\n/*\n * We'll try to get something pretty, so we\n * have some strange css to have the scroll bar on\n * the left with fix button on the top right of the tooltip\n */\n@-moz-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-moz-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n/*properties of tooltip after \"expand\"*/\n.bigtooltip {\n  overflow: auto;\n  height: 200px;\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n}\n/*properties of tooltip before \"expand\"*/\n.smalltooltip {\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  height: 80px;\n}\n.tooltipbuttons {\n  position: absolute;\n  padding-right: 15px;\n  top: 0px;\n  right: 0px;\n}\n.tooltiptext {\n  /*avoid the button to overlap on some docstring*/\n  padding-right: 30px;\n}\n.ipython_tooltip {\n  max-width: 700px;\n  /*fade-in animation when inserted*/\n  -webkit-animation: fadeOut 400ms;\n  -moz-animation: fadeOut 400ms;\n  animation: fadeOut 400ms;\n  -webkit-animation: fadeIn 400ms;\n  -moz-animation: fadeIn 400ms;\n  animation: fadeIn 400ms;\n  vertical-align: middle;\n  background-color: #f7f7f7;\n  overflow: visible;\n  border: #ababab 1px solid;\n  outline: none;\n  padding: 3px;\n  margin: 0px;\n  padding-left: 7px;\n  font-family: monospace;\n  min-height: 50px;\n  -moz-box-shadow: 0px 6px 10px -1px #adadad;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 1000;\n}\n.ipython_tooltip a {\n  float: right;\n}\n.ipython_tooltip .tooltiptext pre {\n  border: 0;\n  border-radius: 0;\n  font-size: 100%;\n  background-color: #f7f7f7;\n}\n.pretooltiparrow {\n  left: 0px;\n  margin: 0px;\n  top: -16px;\n  width: 40px;\n  height: 16px;\n  overflow: hidden;\n  position: absolute;\n}\n.pretooltiparrow:before {\n  background-color: #f7f7f7;\n  border: 1px #ababab solid;\n  z-index: 11;\n  content: \"\";\n  position: absolute;\n  left: 15px;\n  top: 10px;\n  width: 25px;\n  height: 25px;\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n}\nul.typeahead-list i {\n  margin-left: -10px;\n  width: 18px;\n}\nul.typeahead-list {\n  max-height: 80vh;\n  overflow: auto;\n}\nul.typeahead-list > li > a {\n  /** Firefox bug **/\n  /* see https://github.com/jupyter/notebook/issues/559 */\n  white-space: normal;\n}\n.cmd-palette .modal-body {\n  padding: 7px;\n}\n.cmd-palette form {\n  background: white;\n}\n.cmd-palette input {\n  outline: none;\n}\n.no-shortcut {\n  display: none;\n}\n.command-shortcut:before {\n  content: \"(command)\";\n  padding-right: 3px;\n  color: #777777;\n}\n.edit-shortcut:before {\n  content: \"(edit)\";\n  padding-right: 3px;\n  color: #777777;\n}\n#find-and-replace #replace-preview .match,\n#find-and-replace #replace-preview .insert {\n  background-color: #BBDEFB;\n  border-color: #90CAF9;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .match {\n  background-color: #FFCDD2;\n  border-color: #EF9A9A;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .insert {\n  background-color: #C8E6C9;\n  border-color: #A5D6A7;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview {\n  max-height: 60vh;\n  overflow: auto;\n}\n#find-and-replace #replace-preview pre {\n  padding: 5px 10px;\n}\n.terminal-app {\n  background: #EEE;\n}\n.terminal-app #header {\n  background: #fff;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.terminal-app .terminal {\n  float: left;\n  font-family: monospace;\n  color: white;\n  background: black;\n  padding: 0.4em;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n}\n.terminal-app .terminal,\n.terminal-app .terminal dummy-screen {\n  line-height: 1em;\n  font-size: 14px;\n}\n.terminal-app .terminal-cursor {\n  color: black;\n  background: white;\n}\n.terminal-app #terminado-container {\n  margin-top: 20px;\n}\n/*# sourceMappingURL=style.min.css.map */\n    </style>\n<style type=\"text/css\">\n    .highlight .hll { background-color: #ffffcc }\n.highlight  { background: #f8f8f8; }\n.highlight .c { color: #408080; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #888888 } /* Generic.Output */\n.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #B00040 } /* Keyword.Type */\n.highlight .m { color: #666666 } /* Literal.Number */\n.highlight .s { color: #BA2121 } /* Literal.String */\n.highlight .na { color: #7D9029 } /* Name.Attribute */\n.highlight .nb { color: #008000 } /* Name.Builtin */\n.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.highlight .no { color: #880000 } /* Name.Constant */\n.highlight .nd { color: #AA22FF } /* Name.Decorator */\n.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #0000FF } /* Name.Function */\n.highlight .nl { color: #A0A000 } /* Name.Label */\n.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #19177C } /* Name.Variable */\n.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.highlight .mf { color: #666666 } /* Literal.Number.Float */\n.highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.highlight .sx { color: #008000 } /* Literal.String.Other */\n.highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n.highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #19177C } /* Name.Variable.Class */\n.highlight .vg { color: #19177C } /* Name.Variable.Global */\n.highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n    </style>\n<style type=\"text/css\">\n    \n/* Temporary definitions which will become obsolete with Notebook release 5.0 */\n.ansi-black-fg { color: #3E424D; }\n.ansi-black-bg { background-color: #3E424D; }\n.ansi-black-intense-fg { color: #282C36; }\n.ansi-black-intense-bg { background-color: #282C36; }\n.ansi-red-fg { color: #E75C58; }\n.ansi-red-bg { background-color: #E75C58; }\n.ansi-red-intense-fg { color: #B22B31; }\n.ansi-red-intense-bg { background-color: #B22B31; }\n.ansi-green-fg { color: #00A250; }\n.ansi-green-bg { background-color: #00A250; }\n.ansi-green-intense-fg { color: #007427; }\n.ansi-green-intense-bg { background-color: #007427; }\n.ansi-yellow-fg { color: #DDB62B; }\n.ansi-yellow-bg { background-color: #DDB62B; }\n.ansi-yellow-intense-fg { color: #B27D12; }\n.ansi-yellow-intense-bg { background-color: #B27D12; }\n.ansi-blue-fg { color: #208FFB; }\n.ansi-blue-bg { background-color: #208FFB; }\n.ansi-blue-intense-fg { color: #0065CA; }\n.ansi-blue-intense-bg { background-color: #0065CA; }\n.ansi-magenta-fg { color: #D160C4; }\n.ansi-magenta-bg { background-color: #D160C4; }\n.ansi-magenta-intense-fg { color: #A03196; }\n.ansi-magenta-intense-bg { background-color: #A03196; }\n.ansi-cyan-fg { color: #60C6C8; }\n.ansi-cyan-bg { background-color: #60C6C8; }\n.ansi-cyan-intense-fg { color: #258F8F; }\n.ansi-cyan-intense-bg { background-color: #258F8F; }\n.ansi-white-fg { color: #C5C1B4; }\n.ansi-white-bg { background-color: #C5C1B4; }\n.ansi-white-intense-fg { color: #A1A6B2; }\n.ansi-white-intense-bg { background-color: #A1A6B2; }\n\n.ansi-bold { font-weight: bold; }\n\n    </style>\n\n\n<style type=\"text/css\">\n/* Overrides of notebook CSS for static HTML export */\nbody {\n  overflow: visible;\n  padding: 8px;\n}\n\ndiv#notebook {\n  overflow: visible;\n  border-top: none;\n}\n\n@media print {\n  div.cell {\n    display: block;\n    page-break-inside: avoid;\n  } \n  div.output_wrapper { \n    display: block;\n    page-break-inside: avoid; \n  }\n  div.output { \n    display: block;\n    page-break-inside: avoid; \n  }\n}\n</style>\n\n<!-- Custom stylesheet, it must be in the same directory as the html file -->\n<link rel=\"stylesheet\" href=\"custom.css\">\n\n<!-- Loading mathjax macro -->\n<!-- Load mathjax -->\n    <script src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"></script>\n    <!-- MathJax configuration -->\n    <script type=\"text/x-mathjax-config\">\n    MathJax.Hub.Config({\n        tex2jax: {\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n            processEscapes: true,\n            processEnvironments: true\n        },\n        // Center justify equations in code and markdown cells. Elsewhere\n        // we use CSS to left justify single line equations in code cells.\n        displayAlign: 'center',\n        \"HTML-CSS\": {\n            styles: {'.MathJax_Display': {\"margin\": 0}},\n            linebreaks: { automatic: true }\n        }\n    });\n    </script>\n    <!-- End of mathjax configuration --></head>\n<body>\n  <div tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\">\n    <div class=\"container\" id=\"notebook-container\">\n\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Machine-Learning-Engineer-Nanodegree\">Machine Learning Engineer Nanodegree<a class=\"anchor-link\" href=\"#Machine-Learning-Engineer-Nanodegree\">&#182;</a></h1><h2 id=\"Introduction-and-Foundations\">Introduction and Foundations<a class=\"anchor-link\" href=\"#Introduction-and-Foundations\">&#182;</a></h2><h2 id=\"Project-0:-Titanic-Survival-Exploration\">Project 0: Titanic Survival Exploration<a class=\"anchor-link\" href=\"#Project-0:-Titanic-Survival-Exploration\">&#182;</a></h2><p>In 1912, the ship RMS Titanic struck an iceberg on its maiden voyage and sank, resulting in the deaths of most of its passengers and crew. In this introductory project, we will explore a subset of the RMS Titanic passenger manifest to determine which features best predict whether someone survived or did not survive. To complete this project, you will need to implement several conditional predictions and answer the questions below. Your project submission will be evaluated based on the completion of the code and your responses to the questions.</p>\n<blockquote><p><strong>Tip:</strong> Quoted sections like this will provide helpful instructions on how to navigate and use an iPython notebook.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Getting-Started\">Getting Started<a class=\"anchor-link\" href=\"#Getting-Started\">&#182;</a></h1><p>To begin working with the RMS Titanic passenger data, we'll first need to <code>import</code> the functionality we need, and load our data into a <code>pandas</code> DataFrame.<br>\nRun the code cell below to load our data and display the first few entries (passengers) for examination using the <code>.head()</code> function.</p>\n<blockquote><p><strong>Tip:</strong> You can run a code cell by clicking on the cell and using the keyboard shortcut <strong>Shift + Enter</strong> or <strong>Shift + Return</strong>. Alternatively, a code cell can be executed using the <strong>Play</strong> button in the hotbar after selecting it. Markdown cells (text cells like this one) can be edited by double-clicking, and saved using these same shortcuts. <a href=\"http://daringfireball.net/projects/markdown/syntax\">Markdown</a> allows you to write easy-to-read plain text that can be converted to HTML.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[1]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"kn\">import</span> <span class=\"nn\">numpy</span> <span class=\"kn\">as</span> <span class=\"nn\">np</span>\n<span class=\"kn\">import</span> <span class=\"nn\">pandas</span> <span class=\"kn\">as</span> <span class=\"nn\">pd</span>\n\n<span class=\"c1\"># RMS Titanic data visualization code </span>\n<span class=\"kn\">from</span> <span class=\"nn\">titanic_visualizations</span> <span class=\"kn\">import</span> <span class=\"n\">survival_stats</span>\n<span class=\"kn\">from</span> <span class=\"nn\">IPython.display</span> <span class=\"kn\">import</span> <span class=\"n\">display</span>\n<span class=\"o\">%</span><span class=\"k\">matplotlib</span> inline\n\n<span class=\"c1\"># Load the dataset</span>\n<span class=\"n\">in_file</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;titanic_data.csv&#39;</span>\n<span class=\"n\">full_data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">read_csv</span><span class=\"p\">(</span><span class=\"n\">in_file</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Print the first few entries of the RMS Titanic data</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">full_data</span><span class=\"o\">.</span><span class=\"n\">head</span><span class=\"p\">())</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>PassengerId</th>\n      <th>Survived</th>\n      <th>Pclass</th>\n      <th>Name</th>\n      <th>Sex</th>\n      <th>Age</th>\n      <th>SibSp</th>\n      <th>Parch</th>\n      <th>Ticket</th>\n      <th>Fare</th>\n      <th>Cabin</th>\n      <th>Embarked</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>0</td>\n      <td>3</td>\n      <td>Braund, Mr. Owen Harris</td>\n      <td>male</td>\n      <td>22.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>A/5 21171</td>\n      <td>7.2500</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n      <td>female</td>\n      <td>38.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>PC 17599</td>\n      <td>71.2833</td>\n      <td>C85</td>\n      <td>C</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>1</td>\n      <td>3</td>\n      <td>Heikkinen, Miss. Laina</td>\n      <td>female</td>\n      <td>26.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>STON/O2. 3101282</td>\n      <td>7.9250</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>4</td>\n      <td>1</td>\n      <td>1</td>\n      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n      <td>female</td>\n      <td>35.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>113803</td>\n      <td>53.1000</td>\n      <td>C123</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>5</td>\n      <td>0</td>\n      <td>3</td>\n      <td>Allen, Mr. William Henry</td>\n      <td>male</td>\n      <td>35.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>373450</td>\n      <td>8.0500</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>From a sample of the RMS Titanic data, we can see the various features present for each passenger on the ship:</p>\n<ul>\n<li><strong>Survived</strong>: Outcome of survival (0 = No; 1 = Yes)</li>\n<li><strong>Pclass</strong>: Socio-economic class (1 = Upper class; 2 = Middle class; 3 = Lower class)</li>\n<li><strong>Name</strong>: Name of passenger</li>\n<li><strong>Sex</strong>: Sex of the passenger</li>\n<li><strong>Age</strong>: Age of the passenger (Some entries contain <code>NaN</code>)</li>\n<li><strong>SibSp</strong>: Number of siblings and spouses of the passenger aboard</li>\n<li><strong>Parch</strong>: Number of parents and children of the passenger aboard</li>\n<li><strong>Ticket</strong>: Ticket number of the passenger</li>\n<li><strong>Fare</strong>: Fare paid by the passenger</li>\n<li><strong>Cabin</strong> Cabin number of the passenger (Some entries contain <code>NaN</code>)</li>\n<li><strong>Embarked</strong>: Port of embarkation of the passenger (C = Cherbourg; Q = Queenstown; S = Southampton)</li>\n</ul>\n<p>Since we're interested in the outcome of survival for each passenger or crew member, we can remove the <strong>Survived</strong> feature from this dataset and store it as its own separate variable <code>outcomes</code>. We will use these outcomes as our prediction targets.<br>\nRun the code cell below to remove <strong>Survived</strong> as a feature of the dataset and store it in <code>outcomes</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[2]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Store the &#39;Survived&#39; feature in a new variable and remove it from the dataset</span>\n<span class=\"n\">outcomes</span> <span class=\"o\">=</span> <span class=\"n\">full_data</span><span class=\"p\">[</span><span class=\"s1\">&#39;Survived&#39;</span><span class=\"p\">]</span>\n<span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">full_data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">(</span><span class=\"s1\">&#39;Survived&#39;</span><span class=\"p\">,</span> <span class=\"n\">axis</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Show the new dataset with &#39;Survived&#39; removed</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">head</span><span class=\"p\">())</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>PassengerId</th>\n      <th>Pclass</th>\n      <th>Name</th>\n      <th>Sex</th>\n      <th>Age</th>\n      <th>SibSp</th>\n      <th>Parch</th>\n      <th>Ticket</th>\n      <th>Fare</th>\n      <th>Cabin</th>\n      <th>Embarked</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>3</td>\n      <td>Braund, Mr. Owen Harris</td>\n      <td>male</td>\n      <td>22.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>A/5 21171</td>\n      <td>7.2500</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2</td>\n      <td>1</td>\n      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n      <td>female</td>\n      <td>38.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>PC 17599</td>\n      <td>71.2833</td>\n      <td>C85</td>\n      <td>C</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>3</td>\n      <td>Heikkinen, Miss. Laina</td>\n      <td>female</td>\n      <td>26.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>STON/O2. 3101282</td>\n      <td>7.9250</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>4</td>\n      <td>1</td>\n      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n      <td>female</td>\n      <td>35.0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>113803</td>\n      <td>53.1000</td>\n      <td>C123</td>\n      <td>S</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>5</td>\n      <td>3</td>\n      <td>Allen, Mr. William Henry</td>\n      <td>male</td>\n      <td>35.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>373450</td>\n      <td>8.0500</td>\n      <td>NaN</td>\n      <td>S</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>The very same sample of the RMS Titanic data now shows the <strong>Survived</strong> feature removed from the DataFrame. Note that <code>data</code> (the passenger data) and <code>outcomes</code> (the outcomes of survival) are now <em>paired</em>. That means for any passenger <code>data.loc[i]</code>, they have the survival outcome <code>outcome[i]</code>.</p>\n<p>To measure the performance of our predictions, we need a metric to score our predictions against the true outcomes of survival. Since we are interested in how <em>accurate</em> our predictions are, we will calculate the proportion of passengers where our prediction of their survival is correct. Run the code cell below to create our <code>accuracy_score</code> function and test a prediction on the first five passengers.</p>\n<p><strong>Think:</strong> <em>Out of the first five passengers, if we predict that all of them survived, what would you expect the accuracy of our predictions to be?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[3]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">truth</span><span class=\"p\">,</span> <span class=\"n\">pred</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Returns accuracy score for input truth and predictions. &quot;&quot;&quot;</span>\n    \n    <span class=\"c1\"># Ensure that the number of predictions matches number of outcomes</span>\n    <span class=\"k\">if</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">truth</span><span class=\"p\">)</span> <span class=\"o\">==</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">pred</span><span class=\"p\">):</span> \n        \n        <span class=\"c1\"># Calculate and return the accuracy as a percent</span>\n        <span class=\"k\">return</span> <span class=\"s2\">&quot;Predictions have an accuracy of {:.2f}%.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">((</span><span class=\"n\">truth</span> <span class=\"o\">==</span> <span class=\"n\">pred</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">mean</span><span class=\"p\">()</span><span class=\"o\">*</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n    \n    <span class=\"k\">else</span><span class=\"p\">:</span>\n        <span class=\"k\">return</span> <span class=\"s2\">&quot;Number of predictions does not match number of outcomes!&quot;</span>\n    \n<span class=\"c1\"># Test the &#39;accuracy_score&#39; function</span>\n<span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">Series</span><span class=\"p\">(</span><span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">ones</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"n\">dtype</span> <span class=\"o\">=</span> <span class=\"nb\">int</span><span class=\"p\">))</span>\n<span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">[:</span><span class=\"mi\">5</span><span class=\"p\">],</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 60.00%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<blockquote><p><strong>Tip:</strong> If you save an iPython Notebook, the output from running code blocks will also be saved. However, the state of your workspace will be reset once a new session is started. Make sure that you run all of the code blocks from your previous session to reestablish variables and functions before picking up where you last left off.</p>\n</blockquote>\n<h1 id=\"Making-Predictions\">Making Predictions<a class=\"anchor-link\" href=\"#Making-Predictions\">&#182;</a></h1><p>If we were asked to make a prediction about any passenger aboard the RMS Titanic whom we knew nothing about, then the best prediction we could make would be that they did not survive. This is because we can assume that a majority of the passengers (more than 50%) did not survive the ship sinking.<br>\nThe <code>predictions_0</code> function below will always predict that a passenger did not survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[4]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">predictions_0</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Model with no features. Always predicts a passenger did not survive. &quot;&quot;&quot;</span>\n\n    <span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n    <span class=\"k\">for</span> <span class=\"n\">_</span><span class=\"p\">,</span> <span class=\"n\">passenger</span> <span class=\"ow\">in</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">iterrows</span><span class=\"p\">():</span>\n        \n        <span class=\"c1\"># Predict the survival of &#39;passenger&#39;</span>\n        <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Return our predictions</span>\n    <span class=\"k\">return</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">Series</span><span class=\"p\">(</span><span class=\"n\">predictions</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Make the predictions</span>\n<span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"n\">predictions_0</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-1\">Question 1<a class=\"anchor-link\" href=\"#Question-1\">&#182;</a></h3><p><em>Using the RMS Titanic data, how accurate would a prediction be that none of the passengers survived?</em><br>\n<strong>Hint:</strong> Run the code cell below to see the accuracy of this prediction.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[5]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 61.62%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong> 61.62% (Accuracy when we always predict <code>Survived=0</code>.)</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<p>Let's take a look at whether the feature <strong>Sex</strong> has any indication of survival rates among passengers using the <code>survival_stats</code> function. This function is defined in the <code>titanic_visualizations.py</code> Python script included with this project. The first two parameters passed to the function are the RMS Titanic data and passenger survival outcomes, respectively. The third parameter indicates which feature we want to plot survival statistics across.<br>\nRun the code cell below to plot the survival outcomes of passengers based on their sex.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[6]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nzCCXJKnCDHJJUqd98pOf5Lzzzmtzeq9evfjHP/7RhSXqWgsXLqR///70hCuoDHJJ6iG2HzqUiGjY\nz/ZDh9ZXju23Z/PNN2fAgAEMGjSIvfbai8svv3yt0Lrssss444wz2lxHxDpXSW0QO+ywA7/+9a8b\nsu7OGDFiBE8//XTD9rMzDHJJ6iHmL11KQsN+5i9dWlc5IoLrrruOp556ivnz53PaaacxefJkPvrR\nj9a9Lz2hpvpKrF69uruLUDeDXJK0jqYg7tevH4cffjg/+clPmDp1KrNnzwbghBNO4Kyzzmqe/2tf\n+xrbbLMNw4cP5/vf/367NdX99tuPs846i7322ov+/ftzyCGH8MQTTzRPnzFjBm95y1sYNGgQ+++/\nP3PmzAHguOOOY8GCBYwdO5b+/fszZcqUdda9fPlyxo4dy8CBA9lqq63YZ599mqe1bO6v3YfbbruN\nESNGcOGFFzJs2DBOPPFERo0axfXXX988/+rVq9l666259957mT9/Pr169WLNmjVcffXVjBkzZq1y\nXHzxxYwbNw6AF154gVNOOYWRI0cybNgwTjrpJJ5//vkO/gL1M8glSR0aM2YMw4cP54477lhn2g03\n3MBFF13EzTffzLx587jppps6XN/06dOZOnUqy5Yt4/nnn28O5blz5zJx4kS++c1vsmzZMg499FAO\nP/xwXnrpJX74wx+y3Xbbce211/L0009zyimnrLPer3/964wYMYLly5fz2GOP8dWvfrV5WkfN4EuW\nLOHJJ59kwYIFXHHFFUycOJFp06attZ+DBw9mt912W2t9Y8eOZe7cufz9739fa/+OPfZYAL74xS/y\n0EMP8Ze//IWHHnqIRYsWcc4553T4HtXLIJck1WWbbbZZq+bc5JprruGEE07gzW9+M5tttlldjz09\n4YQT2HHHHdlkk00YP3489957LwBXX301hx9+OPvvvz+9e/fmlFNO4dlnn+W3v/1t87LtNdv37duX\nxYsX8/DDD9O7d2/23HPPupYD6N27N1/5ylfo27cvm2yyCRMmTGDGjBk899xzQBHOEyZMWGe5zTbb\njCOPPJLp06cDMG/ePObMmcMRRxwBwLe//W0uvvhiBgwYwBZbbMFpp53WPO+GYJBLkuqyaNEiBg0a\ntM74Rx99lBEjRjQPjxw5ssPQHFrT8W7zzTfnmWeeaV7XyJEjm6dFBCNGjGDRokV1lfELX/gCO+64\nIwcddBBveMMbmDx5cl3LAQwePJi+ffs2D++4446MGjWKmTNn8uyzzzJjxgwmTpzY6rITJkxoDudp\n06Yxbtw4NtlkE5YtW8aqVat4xzvewaBBgxg0aBCHHnooy5cvr7tcHfEWrZKkDt199908+uij7L33\n3utMGzZsGAsXLmwenj9//nr35t5mm224//771xq3cOFChg8fDnTcPL7FFlswZcoUpkyZwuzZs9lv\nv/3Yfffd2W+//dh8881ZtWpV87xLlixZ6wtIa+s+5phjmDZtGqtXr2aXXXbh9a9/favbPfDAA1m2\nbBn33XcfV111FZdccgkAr3vd69h888154IEHGDZsWH1vQidZI5cktWnlypVce+21TJgwgQ9/+MOM\nGjVqnXnGjx/PD37wAx588EFWrVr1is7/jh8/nuuuu45bbrmFl156iSlTprDpppuyxx57AEVNvr3r\n06+77rrmc9X9+vWjT58+9OpVRN1uu+3GtGnTWLNmDTfccAO33XZbh+U55phjmDVrFpdddtk6tfHa\nVoc+ffpw1FFHceqpp7JixQoOPPBAoPhy8LGPfYyTTz6ZZcuWAUXLxqxZszrxrrTPIJckrWPs2LEM\nGDCA7bbbjvPPP59TTjmF733ve83Ta2uvhxxyCCeffDL7778/O+20E+9973vbXXd7teqddtqJH//4\nx3z6059m8ODBXHfddcycOZM+fYoG5NNOO41zzz2XQYMGcdFFF62z/Lx58zjggAPo168fe+65J5/6\n1Keae65/4xvfYMaMGQwcOJDp06fz7//+7x2+D0OHDmWPPfbgrrvu4uijj253PyZMmMDNN9/M+PHj\nm788AEyePJk3vOENvOtd72LLLbfkoIMOYu7cuR1uu16VfR55d5dBLxs5ZAiPLFnS3cWQKmX06NHr\nPP1s+6FD677We314rFZDa58NeBU+j9wk7zmigf94pI2JIav1YdO6JEkVZpBLklRhBrkkSRVmkEuS\nVGEGuSRJFWaQS5JUYQa5JEkVZpBLkrrNJz/5Sc4777wNvt6vfOUrfPjDH97g6+2JDHJJ6iGGDh9K\nRDTsZ+jwoR0XonTnnXey5557suWWW/K6172Ovffemz/+8Y8bfJ8vu+wyzjjjjA2+Xuj4ASuvFpW9\ns5skvdosXbQUJjVw/ZPquwvjypUrGTt2LJdffjlHHXUUL7zwAnfccQebbLJJp7eZmRtNoHYXa+SS\npLXMnTuXiGD8+PFEBJtssgkHHHAAb3nLW9Zpsp4/fz69evVizZo1AOy3336ceeaZ7LXXXmyxxRZ8\n7WtfY8yYMWut/+KLL2bcuHEAnHDCCZx11lkAjBo1iuuvv755vtWrV7P11ltz7733AnDXXXex5557\nMnDgQN7+9rev9fSyRx55hH333ZcBAwZw8MEH8/jjjzfmzemBDHJJ0lp22mknevfuzUc+8hFuuOEG\nnnzyybWmt6xhtxz+8Y9/zHe+8x1WrlzJJz7xCebOndv8aFGA6dOnc+yxx66z3QkTJjBt2rTm4Rtu\nuIHBgwez2267sWjRIg4//HDOOussVqxYwZQpU/jABz7A8uXLAZg4cSJjxozh8ccf58wzz2Tq1Kmv\n+H2oCoNckrSWfv36ceedd9KrVy8+/vGPM3jwYMaNG8djjz1W1/If+chHeNOb3kSvXr3o378/Rx55\nJNOnTweKx4zOmTOHsWPHrrPcxIkTmTFjBs899xxQBP6ECRMAuPLKKznssMM4+OCDAXjve9/L6NGj\nuf7661m4cCH33HMP55xzDn379mXvvfdudf2vVga5JGkdO++8M9/73vdYsGABDzzwAI8++ignn3xy\nXcuOGDFireEJEyY0B/m0adMYN24cm2666TrL7bjjjowaNYqZM2fy7LPPMmPGjOaa+/z587n66qsZ\nNGgQgwYNYuDAgfzmN79h8eLFPProowwcOJDNNtuseV0jR45c312vHDu7SZLatdNOO3H88cdzxRVX\n8I53vINVq1Y1T1u8ePE687dsaj/wwANZtmwZ9913H1dddRWXXHJJm9s65phjmDZtGqtXr2aXXXZh\nhx12AIovB8cddxyXX375OsssWLCAFStW8OyzzzaH+YIFC+jVa+Ooq24ceylJqtucOXO46KKLWLRo\nEQALFy5k+vTp7LHHHrztbW/j9ttvZ+HChTz11FNccMEFHa6vT58+HHXUUZx66qmsWLGCAw88sM15\njznmGGbNmsVll13GxIkTm8d/6EMfYubMmcyaNYs1a9bw3HPPcdttt/Hoo4+y3XbbMXr0aM4++2xe\nfPFF7rzzTmbOnPnK34iKMMglSWvp168fv//973nnO99Jv379ePe7382uu+7KlClTOOCAAzj66KPZ\nddddGTNmzDrnotu61GzChAncfPPNjB8/fq2acsv5hw4dyh577MFdd93F0Ucf3Tx++PDh/OIXv+Cr\nX/0qgwcPZuTIkUyZMqW5t/yVV17JXXfdxVZbbcW5557L8ccfv6Hejh4vMrO7y9BpEVHBUr96BcW1\nopLqN3r0aO655561xg0dPrS4lrxBhmw7hCX/XNKw9WvDaO2zAcWXnsxc55uS58glqYcwZLU+bFqX\nJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzMvPJKkbDBs2jNGjR3d3MdQDDRs2rFPze0MY\nvWLeEEaSGq+tG8LYtC5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhB\nLklShRnkkiRVmEEuSVKFGeSSJFVYlwR5RPSKiD9FxIxyeGBEzIqIORFxY0QMqJn39IiYFxEPRsRB\nXVE+SZKqqqtq5J8DZtcMnwbclJk7A78GTgeIiFHAeODNwKHApRGxzpNeJElSoeFBHhHDgfcB36kZ\nfSQwtXw9FRhXvj4CuCozX8rMR4B5wO6NLqMkSVXVFTXyi4FTgdoHVg/JzKUAmbkE2Locvy2wsGa+\nReU4SZLUioYGeUQcBizNzHuB9prIs51pkiSpDX0avP49gSMi4n3AZkC/iPgRsCQihmTm0ogYCjxW\nzr8IGFGz/PBy3Dom1bzet/yRJOnV4tZbb+XWW2/tcL7I7JrKcETsA/zvzDwiIi4Elmfm5Ij4IjAw\nM08rO7tdCbyTokn9V8Abs0UhI6KLSq16BNBVnyNJ2lhFBJm5Tut2o2vkbbkAuDoiTgTmU/RUJzNn\nR8TVFD3cXwROahnikiTpZV1WI9+QrJH3LNbIJanx2qqRe2c3SZIqzCCXJKnCDHJJkirMIJckqcIM\nckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJ\nkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIq\nzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswg\nlySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKqzDII+ILSKiV/l6p4g4IiL6Nr5okiSpI/XU\nyG8HNo2IbYFZwIeBHzSyUJIkqT71BHlk5irg/cClmXkUsEtjiyVJkupRV5BHxB7AscB15bjejSuS\nJEmqVz1B/jngdOBnmflARLweuKWxxZIkSfWIzGx7YkRvYHJmntJ1RepYRLRTanW1ANr7HEmSXrmI\nIDOj5fh2a+SZuRrYq2GlkiRJr0ifOub5c0TMAK4B/tU0MjP/p2GlkiRJdaknyDcFlgP714xLwCCX\nJKmbtXuOvKfyHHnP4jlySWq89TpHXi64U0TcHBH3l8O7RsSZjSikJEnqnHouP/s2xeVnLwJk5l+A\nYxpZKEmSVJ96gnzzzPxDi3EvNaIwkiSpc+oJ8scjYkeKDm5ExAeBxQ0tlSRJqkuHnd3KO7ldAbwb\nWAE8DHwoMx9peOnaLpNdq3oQO7tJUuO11dmt7l7rEbEF0CszV27ownWWQd6zGOSS1HhtBXmH15FH\nxOdbrgh4CvhjZt67wUooSZI6rZ5z5KOBTwDblj//ARwCfDsivtDeghGxSUT8PiL+HBF/jYizy/ED\nI2JWRMyJiBsjYkDNMqdHxLyIeDAiDlrvPZMkaSNQzzny24H3ZeYz5fBrKR5neghFrXxUB8tvnpmr\nygew/Ab4LPABYHlmXhgRXwQGZuZpETEKuBIYAwwHbgLemC0KadN6z2LTuiQ13nrfEAbYGni+ZvhF\nYEhmPttifKsyc1X5chOKpvwEjgSmluOnAuPK10cAV2XmS2VnunnA7nWUUZKkjVI991q/Evh9RPyi\nHB4LTCs7v83uaOGI6AX8EdgR+K/MvDsihmTmUoDMXBIRW5ezbwv8rmbxReU4SZLUig6DPDPPjYgb\nKC4/A/hEZt5Tvj62juXXAG+PiP7AzyJiF8pr0mtn60SZJUlSqZ4aOcCfKGrHfQAiYrvMXNCZDWXm\n0xFxK8W59aVNtfKIGAo8Vs62CBhRs9jwctw6JtW83rf8kSTp1eLWW2/l1ltv7XC+ejq7fQY4G1gK\nrKa5b1Pu2uHKI14HvJiZT0XEZsCNwAXAPsATmTm5jc5u76RoUv8Vdnbr8ezsJkmNt97XkQOfA3bO\nzOXrsd1hwNTyPHkv4CeZeX1E3AVcHREnAvOB8QCZOTsirqY49/4icFLLEJckSS+rp0Z+C3BgZvaY\nB6VYI+9ZrJFLUuO9khr5P4BbI+I6ai43y8yLNmD5JEnSeqgnyBeUP68pfyRJUg/RmYembF5zc5du\nZdN6z2LTuiQ13nrf2S0i9oiI2cDfyuG3RcSlDSijJEnqpHpu0XoJcDCwHCAz7wPe08hCSZKk+tQT\n5GTmwhajVjegLJIkqZPq6ey2MCLeDWRE9KW4rvzBxhZLkiTVo54a+SeAT1HcaW0RsFs5LEmSulnd\nvdZ7Enu6G90tAAAP2klEQVSt9yz2WpekxnslvdYvjIj+EdE3Im6OiGUR8aHGFFOSJHVGPU3rB2Xm\n08DhwCPAG4BTG1koSZJUn3qCvKlD3GHANZn5VAPLI0mSOqGeXuvXRsTfgGeBT0bEYOC5xhZLkiTV\no67ObhExCHgqM1dHxOZA/8xc0vDStV0eu1b1IHZ2k6TGeyWd3Y4CXixD/Ezgx8A2DSijJEnqpHrO\nkX85M1dGxF7AAcB3gcsaWyxJklSPeoK86XashwFXZOZ1+DhTSZJ6hHqCfFFEXA4cDVwfEZvUuZwk\nSWqwDju7lZ3bDgH+mpnzImIY8NbMnNUVBWyjTHat6kHs7CZJjddWZ7e6b9EaEVsDmzYNZ+aCDVe8\nzjHIexaDXJIa75X0Wj8iIuYBDwO3lb9/ueGLKEmSOquec93nAu8C5mbmDhQ91+9qaKkkSVJd6gny\nFzNzOdArInpl5i3A6AaXS5Ik1aGeW7Q+GRGvBW4HroyIx4B/NbZYkiSpHvX0Wt+C4j7rvYBjgQHA\nlWUtvVvY2a1nsbObJDXeevVaj4hxFI8t/Wtm3tjA8nWKQd6zGOSS1Hid7rUeEZcC/wlsBZwbEV9u\nYPkkSdJ6aLNGHhH3A2+reeLZHZn5ji4tXRuskfcs1sglqfHW5zryFzJzNUBmrqL4fy1JknqQ9mrk\nq4CHmgaBHcvhsgKWu3ZJCVsvm/W/HsQauSQ1Xls18vYuP3tzA8sjSZI2gLrvtd6TWCPvWayRS1Lj\nrfe91iVJUs9lkEuSVGHtXUd+c/l7ctcVR5IkdUZ7nd2GRcS7gSMi4ipaXH6WmX9qaMkkSVKH2rv8\n7IPAR4G9gHtaTM7M3L/BZWuTnd16Fju7SVLjrde91ssFv5yZ5zasZOvBIO9ZDHJJarz1DvJy4SOA\n95SDt2bmtRu4fJ1ikPcsBrkkNd4rqZGfD+wOXFmOmgDcnZlf2uClrJNB3rMY5JLUeK8kyP8C7JaZ\na8rh3sCfvUWrmhjkktR463OL1lpbAk+UrwdssFJJknq0ocOHsnTR0u4uhtpRT5CfD/w5Im6hqHy9\nBzitoaWSJPUISxcthUndXQoBbf4dOgzyzJweEbcCY8pRX8zMJRuqXJIkaf3V1bSemYuBGQ0uiyRJ\n6iTvtS5JUoUZ5JIkVVi7QR4RvSPib11VGEmS1DntBnlmrgbmRMR2XVQeSZLUCfV0dhsIPBARfwD+\n1TQyM49oWKkkSVJd6gnyLze8FJIkab3Ucx35bRExEnhjZt4UEZsDvRtfNEmS1JEOe61HxMeAnwKX\nl6O2BX7eyEJJkqT61HP52aeAPYGnATJzHrB1IwslSZLqU0+QP5+ZLzQNREQfwEddSZLUA9QT5LdF\nxJeAzSLiQOAaYGZjiyVJkupRT5CfBiwD/gr8B3A9cGYjCyVJkupTT6/1NRExFfg9RZP6nMy0aV2S\npB6gnl7rhwF/B74JfAt4KCIOrWflETE8In4dEQ9ExF8j4rPl+IERMSsi5kTEjRExoGaZ0yNiXkQ8\nGBEHrd9uSZK0cainaf3rwH6ZuW9m7gPsB1xc5/pfAj6fmbsAewCfiog3UTTX35SZOwO/Bk4HiIhR\nwHjgzcChwKUREZ3ZIUmSNib1BPnKzHyoZvgfwMp6Vp6ZSzLz3vL1M8CDwHDgSGBqOdtUYFz5+gjg\nqsx8KTMfAeYBu9ezLUmSNkZtniOPiPeXL++JiOuBqynOkR8F3N3ZDUXE9sBuwF3AkMxcCkXYR0TT\ndenbAr+rWWxROU6SJLWivc5uY2teLwX2KV8vAzbrzEYi4rUUd4f7XGY+ExEtO8vZeU6SpPXQZpBn\n5gkbYgPlDWR+CvwoM39Rjl4aEUMyc2lEDAUeK8cvAkbULD68HLeOSTWv9y1/JEl61XgYeKTj2aKj\nK8kiYgfgM8D21AR/vY8xjYgfAo9n5udrxk0GnsjMyRHxRWBgZp5Wdna7EngnRZP6ryge1pIt1un1\nbz1IAF6RKL06RcTaNSd1n0mQmet0AK/nMaY/B75LcTe3NZ3ZZkTsCRwL/DUi/kzRhP4lYDJwdUSc\nCMyn6KlOZs6OiKuB2cCLwElesy5JUtvqqZH/PjPf2UXlqYs18p7FGrn06mWNvAeZtP418m9ExNnA\nLOD5ppGZ+acNVzpJkrQ+6gnytwIfBvbn5ab1LIclSVI3qifIjwJeX/soU0mS1DPUc2e3+4EtG10Q\nSZLUefXUyLcE/hYRd7P2OfK6Lj+TJEmNU0+Qn93wUkiSpPVSz/PIb+uKgkiSpM7rMMgjYiUv3wv9\nNUBf4F+Z2b+RBZMkSR2rp0ber+l1+WzwI4F3NbJQkiSpPvX0Wm+WhZ8DBzeoPJIkqRPqaVp/f81g\nL2A08FzDSiRJkupWT6/12ueSv0TxULUjG1IaSZLUKfWcI98gzyWXJEkbXptBHhFntbNcZua5DSiP\nJEnqhPZq5P9qZdwWwEeBrQCDXJKkbtZmkGfm15teR0Q/4HPACcBVwNfbWk6SJHWdds+RR8Qg4PPA\nscBU4N8yc0VXFEySJHWsvXPkXwPeD1wBvDUzn+myUkmSpLpEZrY+IWINxdPOXuLlW7QCBEVnt267\nRWtEtFFqdYfyA9HdxZDUABEBk7q7FAJgEmRmtBzd3jnyTt31TZIkdT3DWpKkCjPIJUmqMINckqQK\nM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPI\nJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJ\nqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaow\ng1ySpAozyCVJqjCDXJKkCuvT3QXQq0BviIjuLoWAIdsOYck/l3R3MSR1oYYGeUR8FzgcWJqZu5bj\nBgI/AUYCjwDjM/OpctrpwInAS8DnMnNWI8unDWQ1MKm7CyGApZOWdncRJHWxRjetfx84uMW404Cb\nMnNn4NfA6QARMQoYD7wZOBS4NKzmSZLUroYGeWbeCaxoMfpIYGr5eiowrnx9BHBVZr6UmY8A84Dd\nG1k+SZKqrjs6u22dmUsBMnMJsHU5fltgYc18i8pxkiSpDT2h13p2dwEkSaqq7ui1vjQihmTm0ogY\nCjxWjl8EjKiZb3g5rlWTal7vW/5IkvSq8TBFl/AOdEWQR/nTZAbwEWAycDzwi5rxV0bExRRN6m8A\n/tDWSic1oKCSJPUYO5Q/TW5rfbZGX342jaKyvFVELADOBi4AromIE4H5FD3VyczZEXE1MBt4ETgp\nM212lySpHQ0N8syc2MakA9qY/3zg/MaVSJKkV5ee0NlNkiStJ4NckqQKM8glSaowg1ySpAozyCVJ\nqjCDXJKkCjPIJUmqMINckqQKM8glSaqw7nhoiiS1afuhQ5m/dGl3F0OqDINcUo8yf+lSn23cg0TH\ns6ib2bQuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIk\nVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWY\nQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEu\nSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklS\nhRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShfXIII+IQyLibxExNyK+2N3lkSSpp+px\nQR4RvYBvAQcDuwATIuJN3VsqSZJ6ph4X5MDuwLzMnJ+ZLwJXAUd2c5kkSeqRemKQbwssrBn+ZzlO\nkiS10BODXJIk1alPdxegFYuA7WqGh5fj1hJdVhzVZVJ3F0BNIqp/dFR/D15lJnV3AdSeyMzuLsNa\nIqI3MAd4L7AY+AMwITMf7NaCSZLUA/W4Gnlmro6ITwOzKJr+v2uIS5LUuh5XI5ckSfWzs5s2qIjY\nJyJmdnc5JBUi4rMRMTsiftSg9Z8dEZ9vxLpVnx7XtK5XBZt5pJ7jk8B7M/PR7i6IGsMaudYRESMj\n4sGI+H5EzImIH0fEeyPiznJ4dESMiYjfRsQfy/FvbGU9m0fEdyPirnK+sd2xP9LGKiIuA14P/DIi\nvtTa8RgRx0fEzyJiVkT8IyI+FRH/GRF/Ko/xLcv5/ldE/CEi/hwR10TEpq1s7/UR8cuIuDsibouI\nnbp2jzdOBrnasiPwtczcGXgTxZUDewGnAmcADwJ7ZeY7gLOB81tZxxnAzZn5LmB/YEpEbNYlpZdE\nZn6S4vLd/YAtaPt43AUYR3FnzfOAZzLz34C7gOPKef47M3fPzLcDfwM+2somrwA+nZljKP5XXNaY\nPVMtm9bVloczc3b5+gHg5vL1X4GRwJbAD8uaeNL6Z+kgYGxEnFoOv4biHgFzGlZqSW1p63gEuCUz\nVwGrIuJJ4Npy/F+Bt5avd42IcymO/S2AG2tXHhFbAO8GromXb2bQtyF7orUY5GrL8zWv19QMr6E4\nOM8Ffp2Z74+IkcAtrawjgA9k5ryGllRSPVo9HiPiXax9vCdrH+9NOfF94IjMvD8ijgf2abH+XsCK\nsiavLmTTutrS0c21+vPyHfdOaGOeG4HPNq8wYrcNUC5JndN0LL/S4/G1wJKI6Asc23JiZq4EHo6I\nD9ZsY9fOF1edZZCrLdnG66bhC4ELIuKPtP05OhfoGxF/iYi/Auds+GJK6kDT8Vt7PN5P28djW1ed\nnEVxp807KPrItOZDwEcj4t5yG0esZ5nVCd4QRpKkCrNGLklShRnkkiRVmEEuSVKFGeSSJFWYQS5J\nUoUZ5JIkVZhBLmktEXFGRNwfEfeVD84Y091lktQ2b9EqqVl5u873Abtl5ksRMYjintySeihr5JJq\nDQMez8yXADLzicxcEhH/FhG3lo+n/GVEDImI3uVjLd8DEBHnlw/VkNSFvLObpGblE6zuBDajeOLd\nT4DfArdRPDBjeUSMBw7OzI9GxCjgGop7eF8IvLPpS4CkrmHTuqRmmfmviPg3YG+KZ1ZfRfF86rcA\nvyofT9kLWFzOPzsifkzx2EtDXOoGBrmktWTRTHc7cHv5sJtPAfdn5p5tLPJWYAUwpIuKKKmG58gl\nNYuInSLiDTWjdgNmA4PLjnBERJ+ySZ2IeD8wEHgP8K2I6N/VZZY2dp4jl9SsbFb/v8AA4CXgIeDj\nwPCa8b2BS4CfA78B9s/MRyPi08A7MrOt59NLagCDXJKkCrNpXZKkCjPIJUmqMINckqQKM8glSaow\ng1ySpAozyCVJqjCDXJKkCjPIJUmqsP8PJwzygMM5sQ0AAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Examining the survival statistics, a large majority of males did not survive the ship sinking. However, a majority of females <em>did</em> survive the ship sinking. Let's build on our previous prediction: If a passenger was female, then we will predict that they survived. Otherwise, we will predict the passenger did not survive.<br>\nFill in the missing code below so that the function will make this prediction.<br>\n<strong>Hint:</strong> You can access the values of each feature for a passenger like a dictionary. For example, <code>passenger['Sex']</code> is the sex of the passenger.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[7]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">predictions_1</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Model with one feature: </span>\n<span class=\"sd\">            - Predict a passenger survived if they are female. &quot;&quot;&quot;</span>\n    \n    <span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n    <span class=\"k\">for</span> <span class=\"n\">_</span><span class=\"p\">,</span> <span class=\"n\">passenger</span> <span class=\"ow\">in</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">iterrows</span><span class=\"p\">():</span>\n        \n        <span class=\"c1\"># Remove the &#39;pass&#39; statement below </span>\n        <span class=\"c1\"># and write your prediction conditions here</span>\n        <span class=\"k\">if</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;female&#39;</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"k\">else</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Return our predictions</span>\n    <span class=\"k\">return</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">Series</span><span class=\"p\">(</span><span class=\"n\">predictions</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Make the predictions</span>\n<span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"n\">predictions_1</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-2\">Question 2<a class=\"anchor-link\" href=\"#Question-2\">&#182;</a></h3><p><em>How accurate would a prediction be that all female passengers survived and the remaining passengers did not survive?</em><br>\n<strong>Hint:</strong> Run the code cell below to see the accuracy of this prediction.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[8]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 78.68%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer</strong>: 78.68% (Accuracy when we predict <code>Survived=1</code> if and only if passenger is female.)</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<p>Using just the <strong>Sex</strong> feature for each passenger, we are able to increase the accuracy of our predictions by a significant margin. Now, let's consider using an additional feature to see if we can further improve our predictions. For example, consider all of the male passengers aboard the RMS Titanic: Can we find a subset of those passengers that had a higher rate of survival? Let's start by looking at the <strong>Age</strong> of each male, by again using the <code>survival_stats</code> function. This time, we'll use a fourth parameter to filter out the data so that only passengers with the <strong>Sex</strong> 'male' will be included.<br>\nRun the code cell below to plot the survival outcomes of male passengers based on their age.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[9]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;male&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nZ88GYMyYMVx66aXV619//fX07NmTXr16cdddd9Xbkh88eDCXXnophxxyCB07dmTo0KG8++671cun\nTp3K3nvvTZcuXRgyZAhz5swB4NRTT2XBggUMGzaMjh07MmHChE3KXrlyJcOGDaNz58507dqVww47\nrHpZzUMIuXWYOXMmvXv35rrrrqNHjx6cccYZDBgwgIceeqh6/crKSnbccUdefPFF5s+fT6tWrdiw\nYQP33nsvgwYN2iiOm266iREjRgDw6aefct5551FWVkaPHj0466yz+OSTTxp4BRqHk7yZmTVo0KBB\n9OrViyeeeGKTZdOnT+fGG2/k0Ucf5fXXX+eRRx5psLwpU6YwadIkVqxYwSeffFKdsOfOncvo0aP5\n2c9+xooVKzjmmGM47rjjWL9+Pb/61a/o06cPDzzwAB988AHnnXfeJuXecMMN9O7dm5UrV7J8+XKu\nuuqq6mUNHUJYunQp7733HgsWLOCOO+5g9OjRTJ48eaN6duvWjf3222+j8oYNG8bcuXN58803N6rf\nySefDMAFF1zAG2+8wcsvv8wbb7zBokWLuPzyyxt8jhqDk7yZmeWlZ8+eG7W4q9x3332MGTOGPffc\nk+22245x48Y1WNaYMWPYddddadeuHSNHjuTFF18E4N577+W4445jyJAhtG7dmvPOO4+1a9fy17/+\ntXrb+g4FtG3bliVLlvD222/TunVrDj744Ly2A2jdujXjx4+nbdu2tGvXjlGjRjF16lQ+/vhjIEnc\no0aN2mS77bbbjuHDhzNlyhQAXn/9debMmcPxxx8PwM9//nNuuukmOnXqRPv27bnwwgur1y02J3kz\nM8vLokWL6NKlyybzFy9eTO/evauny8rKGkyo3bt3r368/fbb8+GHH1aXVZYzLkESvXv3ZtGiRXnF\n+JOf/IRdd92Vo446it12241rr702r+0AunXrRtu2baund911VwYMGMC0adNYu3YtU6dOZfTo2m+u\nOmrUqOrEPXnyZEaMGEG7du1YsWIFa9asYf/996dLly506dKFY445hpUrV+YdVyE88M7MzBr07LPP\nsnjxYg499NBNlvXo0YOFCxdWT8+fP3+LR9f37NmTV155ZaN5CxcupFevXkDDXe7t27dnwoQJTJgw\ngdmzZzN48GAOOOAABg8ezPbbb8+aNWuq1126dOlGP05qK/ukk05i8uTJVFZWstdee7HLLrtssg7A\nkUceyYoVK3jppZe45557uPnmmwH4/Oc/z/bbb8+sWbPo0aNHfk9CI3JL3szM6rR69WoeeOABRo0a\nxSmnnMKAAQM2WWfkyJH87//+L6+++ipr1qwp6HjzyJEjefDBB3nsscdYv349EyZMYNttt+Wggw4C\nkh6A+s6/f/DBB6uPjXfo0IE2bdrQqlWS6vbbbz8mT57Mhg0bmD59OjNnzmwwnpNOOokZM2Zw2223\nbdKKz+2taNOmDSeccALnn38+q1at4sgjjwSSHw7f+c53OPfcc1mxYgWQ9IjMmDFjM56VLeckb2Zm\nmxg2bBidOnWiT58+XH311Zx33nkbnT6X2+odOnQo5557LkOGDKF///4cfvjh9ZZdX2u8f//+/OY3\nv+H73/8+3bp148EHH2TatGm0aZN0PF944YVcccUVdOnShRtvvHGT7V9//XWOOOIIOnTowMEHH8zZ\nZ59dPcL+lltuYerUqXTu3JkpU6bw7//+7w0+D927d+eggw7i6aef5sQTT6y3HqNGjeLRRx9l5MiR\n1T8sAK699lp22203DjzwQHbYYQeOOuoo5s6d2+C+G4PvJ29mVgIDBw7c5C50zeViOFZatb03wPeT\nNzNr0ZyArbG5u97MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\nzKxkvve973HllVc2ernjx4/nlFNOafRyWxpfDMfMrJk48z/PZN7ieUUrv2/Pvtx+U34X3HnyySe5\n4IILmDVrFm3atGHPPffk5ptvZv/992/UmG677bZGLS/Xlt4kJ0uc5M3Mmol5i+dR9q2yhlfc0vJ/\nMy+v9VavXs2wYcOYOHEiJ5xwAp9++ilPPPEE7dq12+x9RoSTbQm5u97MzDYyd+5cJDFy5Egk0a5d\nO4444gj23nvvTbrB58+fT6tWrdiwYQMAgwcP5pJLLuGQQw6hffv2XH/99QwaNGij8m+66SZGjBgB\nwJgxY7j00ksBGDBgAA899FD1epWVley44468+OKLADz99NMcfPDBdO7cmS9+8Ysb3UVu3rx5lJeX\n06lTJ44++mjeeeed4jw5LYyTvJmZbaR///60bt2a008/nenTp/Pee+9ttLxmy7zm9G9+8xt+8Ytf\nsHr1as4880zmzp1bfftXgClTpnDyySdvst9Ro0YxefLk6unp06fTrVs39ttvPxYtWsRxxx3HpZde\nyqpVq5gwYQLf+MY3WLlyJQCjR49m0KBBvPPOO1xyySVMmjSp4OchC5zkzcxsIx06dODJJ5+kVatW\nfPe736Vbt26MGDGC5cuX57X96aefzh577EGrVq3o2LEjw4cPZ8qUKUByK9g5c+YwbNiwTbYbPXo0\nU6dO5eOPPwaSHwOjRo0C4O677+bYY4/l6KOPBuDwww9n4MCBPPTQQyxcuJDnnnuOyy+/nLZt23Lo\noYfWWv7WyEnezMw2sfvuu/PLX/6SBQsWMGvWLBYvXsy5556b17a9e/feaHrUqFHVSX7y5MmMGDGC\nbbfddpPtdt11VwYMGMC0adNYu3YtU6dOrW7xz58/n3vvvZcuXbrQpUsXOnfuzFNPPcWSJUtYvHgx\nnTt3Zrvttqsuq6yseGMbWhIPvDMzs3r179+f0047jTvuuIP999+fNWvWVC9bsmTJJuvX7L4/8sgj\nWbFiBS+99BL33HMPN998c537Oumkk5g8eTKVlZXstdde9OvXD0h+OJx66qlMnDhxk20WLFjAqlWr\nWLt2bXWiX7BgAa1auR3rZ8DMzDYyZ84cbrzxRhYtWgTAwoULmTJlCgcddBD77rsvjz/+OAsXLuT9\n99/nmmuuabC8Nm3acMIJJ3D++eezatUqjjzyyDrXPemkk5gxYwa33XYbo0ePrp7/rW99i2nTpjFj\nxgw2bNjAxx9/zMyZM1m8eDF9+vRh4MCBXHbZZaxbt44nn3ySadOmFf5EZICTvJmZbaRDhw4888wz\nfPnLX6ZDhw585StfYZ999mHChAkcccQRnHjiieyzzz4MGjRok2PfdZ0uN2rUKB599FFGjhy5UQu7\n5vrdu3fnoIMO4umnn+bEE0+snt+rVy/uv/9+rrrqKrp160ZZWRkTJkyoHtV/99138/TTT9O1a1eu\nuOIKTjvttMZ6Olo0RUSpY9hskqIlxm1mVmXgwIE899xzG81rThfDsdKp7b0ByQ+iiNisiw74mLw1\nuYvPPJOV8+aVOoyi6dq3L1fd7i9S23xOwNbYnOStya2cN4+JGR75OjbDP2DMrGUp6jF5SXdKWibp\n5Zx510l6VdKLkn4vqWPOsoskvZ4uP6qYsZmZmWVdsQfe3QUcXWPeDGCviNgPeB24CEDSAGAksCdw\nDHCrfMFjMzOzLVbUJB8RTwKrasx7JCI2pJNPA73Sx8cD90TE+oiYR/ID4IBixmdmZpZlpT6F7gyg\n6m4EOwMLc5YtSueZmZnZFihZkpf0X8C6iJhSqhjMzMyyrCSj6yWdDnwNGJIzexGQe8HjXum8Wo0b\nN676cXl5OeXl5Y0ZoplZUfXo0YOBAweWOgxrhnr06AFARUUFFRUVBZVV9IvhSOoLTIuIL6TTQ4Eb\ngK9GxMqc9QYAdwNfJumm/zPwb7Vd9cYXw2nZxg4dmu1T6ObPZ+L06aUOw8wyptldDEfSZKAc6Cpp\nAXAZcDGwDfDndPD80xFxVkTMlnQvMBtYB5zlTG5mZrbliprkI2J0LbPvqmf9q4GrixeRmZnZ1qPU\no+vNzMysSJzkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szM\nLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\nzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ\n3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyj\nnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOKmuQl3SlpmaSXc+Z1ljRD0hxJD0vqlLPsIkmvS3pV\n0lHFjM3MzCzrit2Svws4usa8C4FHImJ34C/ARQCSBgAjgT2BY4BbJanI8ZmZmWVWUZN8RDwJrKox\nezgwKX08CRiRPj4euCci1kfEPOB14IBixmdmZpZlpTgmv2NELAOIiKXAjun8nYGFOestSueZmZnZ\nFmgOA++i1AGYmZllUZsS7HOZpJ0iYpmk7sDydP4ioHfOer3SebUaN25c9ePy8nLKy8sbP1IzM7MS\nqaiooKKioqAyFFHchrSkvsC0iPhCOn0t8G5EXCvpAqBzRFyYDry7G/gySTf9n4F/i1oClFTbbGsh\nxg4dysSyslKHUTRj589n4vTppQ7DzDJGEhGxWQPSi9qSlzQZKAe6SloAXAZcA9wn6QxgPsmIeiJi\ntqR7gdnAOuAsZ3IzM7MtV9QkHxGj61h0RB3rXw1cXbyIzMzMth7NYeCdmZmZFYGTvJmZWUY5yZuZ\nmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8\n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\nM1Znko+IG6oeS+oAnAOMAe4BbqhrOzMzM2se6j0mL6kL8CPgZGAS8KWIWNUUgZmZmVlh6jsmfz3w\ndeAO4AsR8WGTRWVmZmYFq+9iOD8GegKXAIslfZD+rZb0QdOEZ2ZmZluqvmPym3U1PDMzM2tenMjN\nzMwyyknezMwso/K5rK2ZWbVXZs1i7NChpQ6jKLr27ctVt99e6jDMGo2TvJltFq1dm9l7K4zN8I2h\nbOvk7nozM7OMcpI3MzPLKCd5MzOzjHKSNzMzyygneTMzs4wqaZKX1ErS85KmptOdJc2QNEfSw5I6\nlTI+MzOzlqzULflzgNk50xcCj0TE7sBfgItKEpWZmVkGlCzJS+oFfA34Rc7s4SS3tCX9P6Kp4zIz\nM8uKUrbkbwLOByJn3k4RsQwgIpYCO5YiMDMzsywoSZKXdCywLCJeBFTPqlHPMjMzM6tHqS5rezBw\nvKSvAdsBHST9GlgqaaeIWCapO7C8rgLGjRtX/bi8vJzy8vLiRmxmZtaEKioqqKioKKiMkiT5iLgY\nuBhA0mHAjyPiFEnXAacD1wKnAffXVUZukjczM8uamg3Y8ePHb3YZpR5dX9M1wJGS5gCHp9NmZma2\nBUp+F7qImAnMTB+/CxxR2ojMzMyyobm15M3MzKyROMmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5\nyZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZll\nlJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZ\nWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWVUm1IHYGbWXLwy\naxZjhw4tdRhF07VvX666/fZSh2FNyEnezCyltWuZWFZW6jCKZuy8eaUOwZqYk7w1uTcqP2ToUw+V\nOoyieaPyw1KHYGYGOMlbCXzSZgNlX/tcqcMommfuWlbqEMzMAA+8MzMzyywneTMzs4xykjczM8so\nH5M3a2RrKtd7YKGZNQtO8maNbENrPLDQzJqFknTXS+ol6S+SZkn6p6QfpvM7S5ohaY6khyV1KkV8\nZmZmWVCqY/LrgR9FxF7AQcDZkvYALgQeiYjdgb8AF5UoPjMzsxavJEk+IpZGxIvp4w+BV4FewHBg\n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\nTkSuQmCC\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Examining the survival statistics, the majority of males younger than 10 survived the ship sinking, whereas most males age 10 or older <em>did not survive</em> the ship sinking. Let's continue to build on our previous prediction: If a passenger was female, then we will predict they survive. If a passenger was male and younger than 10, then we will also predict they survive. Otherwise, we will predict they do not survive.<br>\nFill in the missing code below so that the function will make this prediction.<br>\n<strong>Hint:</strong> You can start your implementation of this function using the prediction code you wrote earlier from <code>predictions_1</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[10]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">predictions_2</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Model with two features: </span>\n<span class=\"sd\">            - Predict a passenger survived if they are female.</span>\n<span class=\"sd\">            - Predict a passenger survived if they are male and younger than 10. &quot;&quot;&quot;</span>\n    \n    <span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n    <span class=\"k\">for</span> <span class=\"n\">_</span><span class=\"p\">,</span> <span class=\"n\">passenger</span> <span class=\"ow\">in</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">iterrows</span><span class=\"p\">():</span>\n        \n        <span class=\"c1\"># Remove the &#39;pass&#39; statement below </span>\n        <span class=\"c1\"># and write your prediction conditions here</span>\n        <span class=\"k\">if</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;female&#39;</span> <span class=\"ow\">or</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">]</span> <span class=\"o\">&lt;</span> <span class=\"mi\">10</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"k\">else</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Return our predictions</span>\n    <span class=\"k\">return</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">Series</span><span class=\"p\">(</span><span class=\"n\">predictions</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Make the predictions</span>\n<span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"n\">predictions_2</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-3\">Question 3<a class=\"anchor-link\" href=\"#Question-3\">&#182;</a></h3><p><em>How accurate would a prediction be that all female passengers and all male passengers younger than 10 survived?</em><br>\n<strong>Hint:</strong> Run the code cell below to see the accuracy of this prediction.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[11]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 79.35%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer</strong>: 79.35% (Accuracy when we predict a passenger survived if and only if they are female or if they are male and younger than 10.)</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<p>Adding the feature <strong>Age</strong> as a condition in conjunction with <strong>Sex</strong> improves the accuracy by a small margin more than with simply using the feature <strong>Sex</strong> alone. Now it's your turn: Find a series of features and conditions to split the data on to obtain an outcome prediction accuracy of at least 80%. This may require multiple features and multiple levels of conditional statements to succeed. You can use the same feature multiple times with different conditions.<br>\n<strong>Pclass</strong>, <strong>Sex</strong>, <strong>Age</strong>, <strong>SibSp</strong>, and <strong>Parch</strong> are some suggested features to try.</p>\n<p>Use the <code>survival_stats</code> function below to to examine various survival statistics.<br>\n<strong>Hint:</strong> To use mulitple filter conditions, put each condition in the list passed as the last argument. Example: <code>[\"Sex == 'male'\", \"Age &lt; 18\"]</code></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[21]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Age &lt; 10&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Sex == &#39;male&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\n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\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[31]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;male&#39;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Pclass == 1&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nPSNGjGDjxo3ly2fOnMlhhx1Gp06dGDZsGEuXLgXg3HPPZeXKlYwcOZL27dszderUPcresGEDI0eO\npGPHjnTu3JkTTzyxfFnF7v7MOsyfP5+ePXty66230q1bNy644AL69+/PnDlzytcvKSlh//33Z9Gi\nRaxYsYIWLVpQWlrK448/zqBBg3aL484772TMmDEAfPnll1x++eXk5ubSrVs3fvCDH/DFF1/U8A7U\nnxK5iIiUGzRoED169OCll17aY9ncuXO54447eP7553n//fd57rnnaixvxowZTJ8+nXXr1vHFF1+U\nJ+Vly5YxceJEfv3rX7Nu3TpOO+00zjzzTHbt2sXDDz9Mr169eOaZZ/jss8+4/PLL9yj39ttvp2fP\nnmzYsIG1a9dy0003lS+rqbv/k08+4dNPP2XlypU88MADTJw4kYKCgt3q2aVLFwYMGLBbeSNHjmTZ\nsmV8+OGHu9Xv7LPPBuDKK6/kgw8+4O233+aDDz5g1apVXH/99TW+RvWlRC4iIrvp3r37bi3nMk88\n8QSTJk3ikEMOYZ999mHy5Mk1ljVp0iT69u1L69atGTduHIsWLQLg8ccf58wzz2TYsGHk5ORw+eWX\ns337dl555ZXybavrtm/VqhWrV6/m448/JicnhyFDhkTaDiAnJ4cpU6bQqlUrWrduTX5+PjNnzmTH\njh1AkJzz8/P32G6fffZh9OjRzJgxA4D333+fpUuXMmrUKAB++9vfcuedd9KhQwfatm3LVVddVb5u\nnJTIRURkN6tWraJTp057zC8uLqZnz57l07m5uTUmza5du5Y/b9OmDVu3bi0vKzdjrICZ0bNnT1at\nWhUpxp///Of07duXU045ha9+9avccsstkbYD6NKlC61atSqf7tu3L/3792fWrFls376dmTNnMnFi\n5TfvzM/PL0/OBQUFjBkzhtatW7Nu3Tq2bdvG0UcfTadOnejUqROnnXYaGzZsiBxXXWmwm4iIlHvt\ntdcoLi7mhBNO2GNZt27dKCoqKp9esWJFnUetd+/enXfeeWe3eUVFRfTo0QOouXu8bdu2TJ06lalT\np7JkyRKGDh3KMcccw9ChQ2nTpg3btm0rX/eTTz7Z7QdIZWVPmDCBgoICSkpKOPTQQznooIMq3e/w\n4cNZt24db731Fo899hh33XUXAF/5yldo06YNixcvplu3btFehAaiFrmIiLBlyxaeeeYZ8vPzOeec\nc+jfv/8e64wbN47f//73vPvuu2zbtq1ex3/HjRvH7NmzeeGFF9i1axdTp05l7733ZvDgwUDQkq/u\n/PTZs2eXH6tu164dLVu2pEWLIKUNGDCAgoICSktLmTt3LvPnz68xngkTJjBv3jzuvffePVrjmb0O\nLVu2ZOzYsVxxxRVs2rSJ4cOHA8GPg+9973tcdtllrFu3Dgh6NubNm1eLV6VulMhFRJqxkSNH0qFD\nB3r16sWvfvUrLr/88t1OPctsvY4YMYLLLruMYcOG0a9fP0466aRqy66uVd2vXz8eeeQRfvSjH9Gl\nSxdmz57NrFmzaNky6Ci+6qqruOGGG+jUqRN33HHHHtu///77nHzyybRr144hQ4bwwx/+sHzk+t13\n383MmTPp2LEjM2bM4N/+7d9qfB26du3K4MGDWbhwIePHj6+2Hvn5+Tz//POMGzeu/McDwC233MJX\nv/pVjj32WPbbbz9OOeUUli1bVuO+60v3IxeRPcR90ZKk1eaiKfU1cODA3e5+1pQuCCPJqfi5KKP7\nkYtIg4j7oiVJq81FUxqakqw0NHWti4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhI\niimRi4iIpJgSuYiIxO7iiy/mxhtvbPByp0yZwjnnnNPg5aaJLggjItKILvrJRSwvXh5b+b279+a+\nO6NfdGbBggVceeWVLF68mJYtW3LIIYdw1113cfTRRzdoXPfee2+DlpeprjduyRZK5CIijWh58XJy\nvxPfVfOWP7I88rpbtmxh5MiR3H///YwdO5Yvv/ySl156idatW9d6v+7e7BNqUtS1LiLSTC1btgwz\nY9y4cZgZrVu35uSTT+awww7bo8t6xYoVtGjRgtLSUgCGDh3KNddcw/HHH0/btm257bbbGDRo0G7l\n33nnnYwZMwaASZMmce211wLQv39/5syZU75eSUkJ+++/P4sWLQJg4cKFDBkyhI4dO3LkkUfudvey\n5cuXk5eXR4cOHTj11FNZv359PC9OiiiRi4g0U/369SMnJ4fzzz+fuXPn8umnn+62vGILu+L0I488\nwu9+9zu2bNnCRRddxLJly8pvLQowY8YMzj777D32m5+fT0FBQfn03Llz6dKlCwMGDGDVqlWceeaZ\nXHvttWzatImpU6fyrW99iw0bNgAwceJEBg0axPr167nmmmuYPn16vV+HtFMiFxFpptq1a8eCBQto\n0aIF3//+9+nSpQtjxoxh7dq1kbY///zz+drXvkaLFi1o3749o0ePZsaMGUBwm9GlS5cycuTIPbab\nOHEiM2fOZMeOHUCQ8PPz8wF49NFHOeOMMzj11FMBOOmkkxg4cCBz5syhqKiI119/neuvv55WrVpx\nwgknVFp+c6NELiLSjB188ME89NBDrFy5ksWLF1NcXMxll10WaduePXvuNp2fn1+eyAsKChgzZgx7\n7733Htv17duX/v37M2vWLLZv387MmTPLW+4rVqzg8ccfp1OnTnTq1ImOHTvy8ssvs3r1aoqLi+nY\nsSP77LNPeVm5WXyXvqhiTeRm9qCZrTGztytZ9jMzKzWzTnHGICIi0fTr14/zzjuPxYsXs++++7Jt\n27byZatXr95j/Ypd7cOHD2fdunW89dZbPPbYY0ycOLHKfU2YMIGCggKefvppDj30UPr06QMEPw7O\nPfdcNm7cyMaNG9m0aRNbtmzh5z//Od26dWPTpk1s3769vJyVK1fWt9qpF3eLfBpwasWZZtYDGA6s\niHn/IiJShaVLl3LHHXewatUqAIqKipgxYwaDBw/miCOO4MUXX6SoqIjNmzdz880311hey5YtGTt2\nLFdccQWbNm1i+PDhVa47YcIE5s2bx7333rtbwv/Od77DrFmzmDdvHqWlpezYsYP58+dTXFxMr169\nGDhwINdddx07d+5kwYIFzJo1q/4vRMrFmsjdfQGwqZJFdwJXxLlvERGpXrt27Xj11Vf5xje+Qbt2\n7TjuuOM4/PDDmTp1KieffDLjx4/n8MMPZ9CgQXsci67qVLP8/Hyef/55xo0bR4sWLapcv2vXrgwe\nPJiFCxcyfvz48vk9evTg6aef5qabbqJLly7k5uYyderU8tHyjz76KAsXLqRz587ccMMNnHfeeQ31\ncqSWuXu8OzDLBWa5++Hh9Cggz91/amYfA0e7+8YqtvW44xORPV04YgT3Z/GxxwtXrOD+uXMbZV8D\nBw7k9ddfL59uaheEkWRU/FyUMTPcvVYn5DfqBWHMbB/gaoJu9fLZjRmDiEiSlGSloTX2ld36Ar2B\ntyzoZ+kB/N3MjnH3Ss93mDx5cvnzvLw88vLy4o9SRESkERQWFlJYWFivMhojkVv4wN3fAbqWLwi6\n1o9y98qOowO7J3IREZFsUrGBOmXKlFqXEffpZwXAK0A/M1tpZpMqrOKoa11ERKTOYm2Ru3vVJxEG\nyw+Kc/8iIiLZTld2ExERSTElchERkRTT/chFRGLUrVs3Bg4cmHQY0sR069atwcpSIhcRiZEuISpx\nU9e6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiI\nSIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGL\niIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgS\nuYiISIopkYuIiKSYErmIiEiKxZrIzexBM1tjZm9nzLvVzN41s0Vm9iczax9nDCIiItks7hb5NODU\nCvPmAYe6+wDgfeAXMccgIiKStWJN5O6+ANhUYd5z7l4aTi4EesQZg4iISDZL+hj5BcCzCccgIiKS\nWoklcjP7D2CnuxckFYOIiEjatUxip2Z2PnA6MKymdSdPnlz+PC8vj7y8vLjCEonsop9cxPLi5UmH\nEZsVHy2G3NykwxDJeoWFhRQWFtarDHP3hommqh2Y9QZmufvXw+kRwO3AN919Qw3betzxidTFiPEj\nyP1O9ia6OT/5E0UnfSvpMGJz4YoV3D93btJhiOzBzHB3q802cZ9+VgC8AvQzs5VmNgn4L2Bf4H/N\n7A0zuyfOGERERLJZrF3r7j6xktnT4tyniIhIc5L0qHURERGpByVyERGRFFMiFxERSTElchERkRRT\nIhcREUkxJXIREZEUUyIXERFJMSVyERGRFFMiFxERSTElchERkRRTIhcREUkxJXIREZEUUyIXERFJ\nMSVyERGRFFMiFxERSTElchERkRRTIhcREUmxlkkHIJJGy5YsZsWzi5MOIzafb92adAixemfxYi4c\nMSLpMGLTuXdvbrrvvqTDkEaiRC5SBzu3b2f4vl2SDiM2j5esSTqEWNn27dyfm5t0GLG5cPnypEOQ\nRqSudRERkRRTIhcREUkxJXIREZEUUyIXERFJMSVyERGRFKsxkZtZWzNrET7vZ2ajzKxV/KGJiIhI\nTaK0yF8E9jazA4F5wDnA7+MMSkRERKKJksjN3bcBZwH3uPtY4NB4wxIREZEoIiVyMxsMnA3MDufl\nxBeSiIiIRBUlkV8K/AL4H3dfbGYHAS/EG5aIiIhEUe0lWs0sBxjl7qPK5rn7R8AlcQcmIiIiNau2\n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\nIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZE\nLiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJi\nSuQiIiIppkQuIiKSYokmcjNrYWZvmNnMJOMQERFJq6Rb5JcCSxKOQUREJLUSS+Rm1gM4HfhdUjGI\niIikXZIt8juBKwBPMAYREZFUSySRm9kZwBp3XwRY+BAREZFaapnQfocAo8zsdGAfoJ2ZPezu51Zc\ncfLkyeXP8/LyyMvLa6wYRSRLbSvZxYiX5yQdRmw+KNmadAgSUWFhIYWFhfUqI5FE7u5XA1cDmNmJ\nwM8qS+KweyIXEWkIpTmQe/q+SYcRm1enrUk6BImoYgN1ypQptS4j6VHrIiIiUg9Jda2Xc/f5wPyk\n4xAREUkjtchFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQk\nxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVE\nRFKsZdIBNGdXX3QRG5YvTzqM2Hy+dSvQJekwRCTLvLN4MReOGJF0GE2GEnmCNixfzv25uUmHEZvH\n/16adAgikoVs+/as/d/5QB22Ude6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIik\nmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpFgiidzM\nepjZX81ssZn9w8wuSSIOERGRtEvqfuS7gJ+6+yIz2xf4u5nNc/f3EopHREQklRJpkbv7J+6+KHy+\nFXgXODCJWERERNIs8WPkZtYbGAC8mmwkIiIi6ZNU1zoAYbf6k8ClYct8D48+9mjjBtVIWu/VmpLS\n0qTDEBGRlEsskZtZS4Ik/gd3f7qq9SbfP7n8eefenencp3P8wTWCLz78go8/WMyI4neTDiU223xX\n0iGIiDRphcXFFBYX16uMJFvkDwFL3P3u6lYa9tNhjRRO4ypeV8w230Hu6V2TDiU2pdOSjkBEpGnL\n696dvO7dy6envPFGrctI6vSzIcDZwDAze9PM3jCzEUnEIiIikmaJtMjd/WUgJ4l9i4iIZJPER62L\niIhI3SmRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiISIop\nkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKtUw6ABER\naVjbSnYx4uU5SYcRmzd2bcrq+tWWErmISJYpzYHc0/dNOozY7Jzm2Vu/xbXfRF3rIiIiKaZELiIi\nkmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJiSuQi\nIiIppkQuIiKSYkrkIiIiKaZELiIikmKJJXIzG2Fm75nZMjO7Mqk4RERE0iyRRG5mLYD/Bk4FDgXy\nzexrScSSpC+270w6hFiVfulJhxCbbK4bqH5pp/o1L0m1yI8B3nf3Fe6+E3gMGJ1QLIn5cseupEOI\nlWfx75Rsrhuofmmn+jUvSSXyA4GijOl/hvNERESkFlomHUBNXnnolaRDiEWrz1slHYKIiGQBc2/8\nYw1mdiww2d1HhNNXAe7ut1RYTwdCRESkWXF3q836SSXyHGApcBKwGvgbkO/u7zZ6MCIiIimWSNe6\nu5eY2Y+AeQTH6R9UEhcREam9RFrkIiIi0jCa5JXdsvFiMWb2oJmtMbO3M+Z1NLN5ZrbUzP5iZh2S\njLGuzKyHmf3VzBab2T/M7JJwfrbUr7WZvWpmb4b1uy6cnxX1g+DaDmb2hpnNDKezqW7Lzeyt8P37\nWzgvm+rXwcyeMLN3w+/gN7KlfmbWL3zf3gj/bjazS7KlfgBm9hMze8fM3jazR81sr9rWr8kl8iy+\nWMw0gjplugp4zt0PBv4K/KLRo2oYu4CfuvuhwGDgh+F7lhX1c/cvgKHufiQwADjNzI4hS+oXuhRY\nkjGdTXUrBfLc/Uh3Pyacl031uxuY4+6HAEcA75El9XP3ZeH7dhRwNPA58D9kSf3MrDvwY+Aodz+c\n4HB3PrWtn7s3qQdwLPBsxvRVwJVJx9VAdcsF3s6Yfg84IHzeFXgv6RgbqJ5PASdnY/2ANsDrwKBs\nqR/QA/hfIA+YGc7LirqF8X8MdK4wLyvqB7QHPqxkflbUr0KdTgFeyqb6Ad2BFUDHMInPrMv/zibX\nIqd5XSxmf3dfA+DunwD7JxxPvZlZb4JW60KCD2JW1C/sen4T+AT4X3d/jeyp353AFUDmgJlsqRsE\n9fpfM3vNzP49nJct9esDrDezaWH38wNm1obsqV+m8UBB+Dwr6ufuxcDtwEpgFbDZ3Z+jlvVriom8\nOUv1yEMz2xd4ErjU3beyZ31SWz93L/Wga70HcIyZHUoW1M/MzgDWuPsioLpzV1NXtwxDPOiaPZ3g\nsM8JZMF7F2oJHAX8Jqzj5wS9mNlSPwDMrBUwCnginJUV9TOz/QguT55L0Dpva2ZnU8v6NcVEvgro\nlTHdI5yXjdaY2QEAZtYVWJtwPHVmZi0Jkvgf3P3pcHbW1K+Mu38GFAIjyI76DQFGmdlHwAxgmJn9\nAfgkC+oGgLuvDv+uIzjscwzZ8d5B0GNZ5O6vh9N/Ikjs2VK/MqcBf3f39eF0ttTvZOAjd9/o7iUE\nx/+Po5b1a4qJ/DXgq2aWa2Z7ARMIjhtkA2P3Vs9M4Pzw+XnA0xU3SJGHgCXufnfGvKyon5l9pWzU\nqJntAwwH3iUL6ufuV7t7L3c/iOC79ld3PweYRcrrBmBmbcKeIsysLcFx1n+QBe8dQNj9WmRm/cJZ\nJwGLyZL6Zcgn+KFZJlvqtxI41sz2NjMjeP+WUMv6NcnzyM1sBMFIzLKLxdyccEj1ZmYFBIOJOgNr\ngOsIWgdPAD0JBjyMc/dPk4qxrsxsCPAiwT9IDx9XE1yx73HSX7+vA9MJPo8tgD+6+41m1oksqF8Z\nMzsR+Jm7j8qWuplZH4JWjhN0Qz/q7jdnS/0AzOwI4HdAK+AjYBKQQ/bUrw1BHQ5y9y3hvGx6/64j\n+BG9E3gT+HegHbWoX5NM5CIiIhJNU+xaFxERkYiUyEVERFJMiVxERCTFlMhFRERSTIlcREQkxZTI\nRUREUkyJXKSZMrMxZlaacTEREUkhJXKR5msC8BLBVbNEJKWUyEWaofBypUOA7xImcgvcY2ZLzOwv\nZjbbzM4Klx1lZoXhHcSeLbsOtIgkT4lcpHkaDcx19w8IboN5JHAW0Mvd+wPnAoOh/IY4/wV8y90H\nAdOAm5IJW0Qqapl0ACKSiHzgrvD5H4GJBP8PnoDgZhxm9kK4/GDgMIJ7ehtBA6C4ccMVkaookYs0\nM2bWERgGHGZmTnCDDSe4uUilmwDvuPuQRgpRRGpBXesizc9Y4GF37+PuB7l7LvAxsAn4Vnis/ACC\nu/UBLAW6mNmxEHS1m1n/JAIXkT0pkYs0P+PZs/X9J+AA4J8E97N+GPg7sNnddwLfBm4xs0UEt1oc\n3Hjhikh1dBtTESlnZm3d/fPwfs+vAkPcfW3ScYlI1XSMXEQyPWNm+wGtgOuVxEWaPrXIRUREUkzH\nyEVERFJMiVxERCTFlMhFRERSTIlcREQkxZTIRUREUkyJXEREJMX+P2PXwiiecAd4AAAAAElFTkSu\nQmCC\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[61]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Pclass == 1&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfIAAAGJCAYAAABxdLHSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYXVWZsP37ycBogAQDBBMC4gsKilEDDUY0zEEI0Npk\nYtZXxaGVVhC0VaYXFEVAv24QFGkUEgZtJQGMUSQM2tAgkwYIY0gkIYRBpoQpeb4/9q7ypFKpOpXk\n1Kmdun/Xda46e1r7WWeo56y11947MhNJklRNfZodgCRJWnUmckmSKsxELklShZnIJUmqMBO5JEkV\nZiKXJKnCTOTSGhIRkyJi+hoo56iIuGVNxLSK+78gIv59FbYbFhEvRkQ0Iq41sf+IWBYRb+/OuKRG\nM5GvpSJiTkQsLv+xLYiISyJig2bH1d0i4m0R8YuIWBQRz0fEfRFxZCP2lZmTM3PMmipuZQsi4pMR\n8UBEvFC+t9dGxIblsksi4rR6d9Lej4bM/GxmnlHHto9HxJ41283LzI1yDV2cIiJ+FBHn10z3i4iX\nI+I/25m3S9v9R8SNEfGJNsXWHVtEnBwR32ozb+uIWFobw5oQEcs6WFb7XX6p/LvFau7vIxExb3XK\nUM9hIl97JXBAZm4EvB8YCXyjuSE1VkT0bWf2z4EngGHApsARwMI1WH63ioiPAGcA4zNzY+BdwJWr\nUyRdSG7d7GZg95rpkcDcNvN2poj/z3WWubq9BUcCzwHjI6L/apZVr9bvcmYOKP8+tZplrtb73hO+\nC/oHE/naLQAycwHwG+DdABFxdETcX/6yfyQiPt26QcSmETGtbL0+GxE31Sw7MSL+Vm73QETsUc6P\niDipLGtRRFwREZuUy4aX3ZlHRsQTEfF0RHy9psz1IuLSiHguImZFxAm1LYWIGFK2qJ+OiEcj4l9r\nlp0cEVdHxM8j4u/AUe28BjsDl2bmq5m5LDPvzczfltuv0CqpbWW2U/7Xy5bRJjXrv6+sc9/a1m1E\nnB8R32tT9q8j4ria1/KR8rX8a0QcUs8bSpHM/pSZ9wFk5t8z8+eZ+UpEfAo4DPhqWe41He0rIt4J\nXADsVrb0nivnt7bqV/Z5iIifAVsB08pyj695r/uU6wyMiJ9GxJPltv/dUZntuBl4V0QMKqd3B64A\nNqyZ9yHgfzJzae3+I+L/lev/RxnfD2vK3SciHio/c/9R5+ve4kiKH8RvAGNrF0TEvhHxYFmv/4yI\nmVHTIxARnyi/d89GxG8iYquazTtLqu3+AImIXSPij+U+747ih17Lsna/51H0zF0PbBk1Lfxo05vT\n9vtRfje+GhH3Ai+Xr/NKv5/qRpnpYy18AI8De5bPhwF/BU4pp/cHti6f7w68Aowop88Ezqf4kdcX\nGFXO346iNbR5Ob0VsE35/EvAn4AhQH+K5DC5XDYcWAZcCKwD7AS8CmxfLv8OcCOwEbAlcC8wt1wW\nwJ3Av5exbA08AuxTLj8ZeA0YW06v287rMAO4FRgPDGuz7CMt+1rJ69a2/PWA3wOfrFn/u8D55fOj\ngJtrXtcnatbbBFhc8/p9vOb5ocDLNdOt5bRTnw+V79cpwAeBddosvwQ4rc28Lu2rtoyVfR5qXqs9\naqaHA0uBPuX0dcCU8r3tC+zeWZnt1Pcx4ODy+TRgNEUvS+28b6xk/zcCn2hT3jJgKjCA4nvxNLBv\nnd+p3YElwMbAD4FrapZtCrwAHFzW64vlZ+cT5fKDgYcovkd9gK8Df+zqd7nN/C2BZ4D9yum9yulN\n6/iet/fZX+6z03adMo67yv2uSyffTx/d97BFvnb7ddnKupnin9q3ATLzN5k5p3x+C0Wya+mufIMi\nIW+TmUsz84/l/KUUifjdEdEvM+dm5uPlss8A/56ZCzLzDeA04F9aWmYUrY1TMvP1LFqS9wLvLZcd\nCpyRmS9m5nyKf5AtdgHemplnlLHMAX4CTKhZ538yc1pZl9faeQ0OLev/DeCxiLgrIkbW+fq1Lf9V\nisQ0qWb5BODythuVr2tGxIfKWf9C0ZJeWC7/Zc3zq4GHy/p2KDNvBT4GvA+4FngmIr4fsfIBXqu6\nr9LKPg8tVtZSHALsB3ymfG+Xlq9JPWXWugn4cFm/XYDbKH6YtcwbVa7TFd/OzJcycx7F92JEndsd\nCVyfmS8Ak4ExEfHWctlHgb9m5jVZ9Pz8kOUP4Xym3O9DmbmM4gfsiIgYVue+f132IDzX0rMBHA5c\nl2UPU2beQJFYP1pOd/Q9X1U/yMz55XdtZzr/fqobmMjXbgdn5qDM3CYz/7Ul0UXE/hHxP2UX3/MU\nv9xb/iF9D3gUmFF2x50IkJmPAsdRtAQXRsTk+MeAm+HAr1r+0QD3U/yz3rwmltp/aouBt5TPtwT+\nVrOstqt7K+BtNf/Ange+Bmy2kvVXkJkvZObXM/M9ZTz3Ar/qaJs22pb/S2DXiNi87MbsKBFdCUws\nn0+iJuFHcajh7rJL9HlgR/7xHnQoM3+bmQdn5iCKlt7RwP9d2fqrsy9W8nmow1Dgucx8sZ1l3+1C\nmTcDHwbeAzxa/pi6laK1+B6KXpLb64ypxco+iysVEetR/CicDJCZt1F8Nlp+1G3Jip+V2s/1cOAH\nNd+RZyl+4L6tzphbvsuDMvNjNWWOa/P9GEXxI6mz7/mqalunzr6f6gYm8rXbCq2liFgH+AXFP9PB\nmTmQ4vh5y/H0lzPz+MzcFjgI+HKUx8Iz84rM3J3iCwxwVvl3LrB/zT+agZm5YRbH5juzgOKffova\n44bzgMfalLtxZtYem6x7wE5mPgecTXFscCBFV2PrSP4oBvAMbrtZmzL+TtGymUCRpK/oYJdTKHom\ntgL+ieJHAOX0RcDnyjoNBGaxCgOxMvNG4A+U4x/axlvHvjp8/Tr6PHSy7TxgUERs1E6Zr3RQZls3\nU7SYDwBuKbefRdEtfgBwR2a+vrLwO6pbF/0zxSGC86M4U2ABRfJuGZexoIypVu3neh5F70TtZ/kt\n5Q+CerT32ZgH/KxNmQMy87udfc9p/7VZ7vtA+YOgjdrt6vl+qhuYyHufdcrHM5m5LCL2B/ZtWRgR\nB0TEtuXkS8CbwLKI2C4i9ij/QbxOcayw5ZSZC4EzWwbvRMTgiDioZp8dJairgK9FxCYR8Tbg8zXL\n/hd4qRxgs14UA8p27ErXeER8p9ymb0QMAD4HPJKZz1Mcs1yvbLn0o+h+X6eOYqdQdLN+nLKF1p7M\nvIei5fUTYHpN63RDitfumXLA0DH8IxF3Vp+DImJ8/GMw4S4UrdP/KVdZCNSeJ93ZvhYCQ2MlI7BX\n8nlYupJ9wT9+ED5FkTjOL9/bfhGxewdltnv6VdkTtJBiHEbtaXK3l/Nubm//HcS3qo4CLqboBXhv\n+fgQ8N6I2JFiPMC7y/enb0R8geV7pH5EMVhyB4CI2Dgi/mU1Y7oMGBvFILs+5XfkIxGxJZ18zyle\nm03b/NC6B/hoFIMUt6B4fTuy2t9PrRkm8rVXu62RzHyZYiDO1WUX3wTgmppV/g/w+4h4Cfgj8J+Z\neRPF4JbvAIuA+RQt16+V2/ygLGNGRLxAMfCt9hhs21hqp08DnqQYSDMDuJpikBDlscQDKVpkj1MM\nTPoxRcuoXhtQdKU/TzEQZxhFK5AysX6O4h/03yiSyt/aL2Y5UylepwWZ+ZdO1p1MMQiptVs9Mx8A\nvk9xvPcpiq7uW+usz/PAp4CHytf6Z8BZmdnSM3AxsGPLsdRyX+d0sK8/ULTQn4qIp9vZX3ufh5bk\n+W3gm+W+vtxSvZptj6BI0g/yj2S8sjI7Os59M8VgstpDGLdQfAbbJvLa/f8AOLTsWj6vneXtTa+g\nTIx7Audm5tM1j7uA6cBRmfksRdf79ygGnL2T4nh1y2f51xTfnyuiOAPiPqDeaw6s7Lv8N4pDK1+n\n+F4+ARxPMdivw+95Zs6m+EH6WPn+bUExiPA+YE5Zr7a9TW17p9bE91NrQGQ27hTSiFiX4ou2DtAP\n+EVmnlp2a15J0UU7BxhXDiBRLxcRx1KcI72yrlapx4uIoPhROKmTHynSamtoi7wcXLVHZr6P4lfb\n/mVX4EnA7zNze4oWwdc6KEZrsSjOX/1gFLYHvgL8d2fbST1N2cW9cdmAabnEbb3HwKVV1vCu9cxc\nXD5dl6JVnhTdQZeW8y8F6r0YhtY+61AcY3+R4hztX1Gchy5VzW4Uo/GfphiId3C2f0qktEY1tGsd\nIIpzif8MbEtxLOxrEfF8OYqyZZ3nylNpJElSF3RHi3xZ2bU+FNilHOHZ5QEnkiRpRf26a0eZ+WJE\nzKQYqbkwIjbPzIXlaMn2RssSESZ4SVKvkplduqZEQ1vkEfHWiNi4fL4+sA/wAMXpO0eXqx3F8qc/\nLSd7wHVsm/U4+eSTmx6Ddbf+1t/6W//ue6yKRrfIhwCXlsfJ+wBXZub1EXEbcFUUdwZ6AhjX4Dgk\nSVorNTSRZ3GxjPe3M/85YO9G7luSpN7AK7v1YKNHj252CE3Tm+sO1t/6j252CE3V2+vfVQ0//Wx1\nRET25PgkSVqTIoLs4mC3bhu1Lkm90dixY1mwoJ4bAao3GTJkCNOmTVsjZZnIJamBFixYwJ133tns\nMNTDjBy55m4S5zFySZIqzEQuSVKFmcglSaowE7kkaaU++9nPcsYZZ6x0eZ8+fXjssce6MaLuNW/e\nPDbaaKNVvupad3CwmyR1o68feyzPzpnTsPI33XprzvzRj+pad+utt+bpp5+mf//+9O3blx122IEj\njjiCT3/600QUZ0BdcEHHdxVuWW9N22abbbj44ovZc889G1J+vYYNG8aLL77Y1Bg6YyKXpG707Jw5\nXDh8eMPK/0wXfiREBNdddx177LEHL730EjfddBNf/OIXuf322/npT39aVxk9uaVaj6VLl9K3b99m\nh7Fa7FqXpF6sJREPGDCAAw88kCuvvJJLL72U+++/H4BjjjmGb33rW63rf+9732PLLbdk6NChXHLJ\nJR22yPfYYw++9a1v8aEPfYiNNtqIMWPG8Nxzz7Uunzp1Ku9+97sZNGgQe+65J7NnzwbgyCOPZO7c\nuYwdO5aNNtqIs88+e4Wyn332WcaOHcvAgQPZdNNN+chHPtK6rG13f20dbrrpJoYNG8Z3v/tdhgwZ\nwic+8Ql22GEHrr/++tb1ly5dymabbcY999zDE088QZ8+fVi2bBlXXXUVO++883JxnHvuuRxyyCEA\nvP766xx//PEMHz6cIUOG8LnPfY7XXnutk3dg9ZnIJUmtdt55Z4YOHcott9yywrLp06dzzjnncMMN\nN/Dwww/z+9//vtPypkyZwqWXXsqiRYt47bXXWpPyQw89xKRJk/jhD3/IokWL2H///TnwwAN58803\n+dnPfsZWW23Ftddey4svvsjxxx+/Qrnf//73GTZsGM8++yxPP/00Z555Zuuyzrr7n3rqKf7+978z\nd+5cLrroIiZNmsTkyZOXq+fgwYMZMWLEcuWNHTuWhx56iEcffXS5+h122GEAnHjiiTzyyCPcd999\nPPLIIzz55JOcdtppnb5Gq8tELklazpZbbrlcy7nF1VdfzTHHHMO73vUu1l9/fU455ZROyzrmmGPY\ndtttWXfddRk3bhz33HMPAFdddRUHHngge+65J3379uX4449nyZIl/OlPf2rdtqNu+/79+7NgwQIe\nf/xx+vbty6hRo+raDqBv376ceuqp9O/fn3XXXZeJEycydepUXn31VaBIzhMnTlxhu/XXX5+DDz6Y\nKVOmAPDwww8ze/ZsDjroIAB+/OMfc+6557Lxxhuz4YYbctJJJ7Wu20gmcknScp588kkGDRq0wvz5\n8+czbNiw1unhw4d3mjS32GKL1ucbbLABL7/8cmtZw2vGCkQEw4YN48knn6wrxq9+9atsu+227Lvv\nvrzjHe/grLPOqms7gMGDB9O/f//W6W233ZYddtiBadOmsWTJEqZOncqkSZPa3XbixImtyXny5Mkc\ncsghrLvuuixatIjFixfzgQ98gEGDBjFo0CD2339/nn322brjWlUOdpMktbrjjjuYP38+u++++wrL\nhgwZwrx581qnn3jiiVUetb7lllvy17/+dbl58+bNY+jQoUDn3eMbbrghZ599NmeffTb3338/e+yx\nB7vssgt77LEHG2ywAYsXL25d96mnnlruB0h7ZU+YMIHJkyezdOlSdtxxR97+9re3u9999tmHRYsW\nce+993LFFVdw3nnnAfDWt76VDTbYgFmzZjFkyJD6XoQ1xBa5JImXXnqJa6+9lokTJ3LEEUewww47\nrLDOuHHj+K//+i8eeOABFi9evFrHf8eNG8d1113HjTfeyJtvvsnZZ5/Neuutx2677QYULfmOzk+/\n7rrrWo9VDxgwgH79+tGnT5HSRowYweTJk1m2bBnTp0/npptu6jSeCRMmMGPGDC644IIVWuO1vQ79\n+vXj0EMP5YQTTuD5559nn332AYofB5/61Kc47rjjWLRoEVD0bMyYMaMLr8qqMZFLUi82duxYNt54\nY7baaiu+/e1vc/zxxy936llt63XMmDEcd9xx7Lnnnmy33XbstddeHZbdUat6u+2247LLLuMLX/gC\ngwcP5rrrrmPatGn061d0FJ900kmcfvrpDBo0iHPOOWeF7R9++GH23ntvBgwYwKhRo/j85z/fOnL9\nBz/4AVOnTmXgwIFMmTKFf/7nf+70ddhiiy3YbbfduO222xg/fnyH9Zg4cSI33HAD48aNa/3xAHDW\nWWfxjne8g1133ZVNNtmEfffdl4ceeqjTfa8u70cuSQ00cuTI5e5+1pMuCKPmafu5aOH9yCWphzPJ\nak2za12SpAozkUuSVGEmckmSKsxELklShZnIJUmqMBO5JEkVZiKXJKnCTOSSpIb77Gc/yxlnnLHG\nyz311FM54ogj1ni5VeIFYSSpGx37b8cyZ/6chpW/9ZZb86Nz67/ozK233sqJJ57IrFmz6NevH+96\n17s477zz+MAHPrBG47rgggvWaHm1VvXGLWsLE7kkdaM58+cw/PDhna+4quVfNqfudV966SXGjh3L\nhRdeyKGHHsrrr7/OLbfcwrrrrtvl/WZmr0+ozWIil3qgRrfaerqutiq1ah566CEignHjxgGw7rrr\nsvfeewNFl/UjjzzCz3/+c6C4Zek222zDm2++SZ8+fdhjjz0YNWoUM2fO5O677+bkk0/m6quv5o47\n7mgt/9xzz+Wmm27i17/+NccccwzDhg3jtNNOY4cdduDss8/mox/9KABLly5lyJAhzJgxgxEjRnDb\nbbfxla98hfvvv5+tt96a8847r/WGKHPmzOHoo4/m7rvvZtddd2W77bbrzpesRzKRSz1Qo1ttPV1X\nWpVaddtttx19+/bl6KOPZsKECa137WrRtoXddvqyyy5j+vTpbLfddrz88succcYZPProo2y77bYA\nTJkyhRNOOGGF/U6cOJHJkye3JvLp06czePBgRowYwZNPPsmBBx7I5Zdfzn777ccNN9zAxz/+cWbP\nns2mm27KpEmTGDVqFL/73e+47bbbOOCAAzjkkEPW9EtTKQ52k6ReasCAAdx666306dOHT3/60wwe\nPJhDDjmEp59+uq7tjz76aN75znfSp08fNtpoIw4++GCmTJkCFLcZnT17NmPHjl1hu0mTJjF16lRe\nffVVoEj4EydOBODyyy/ngAMOYL/99gNgr732YuTIkVx//fXMmzePO++8k9NOO43+/fuz++67t1t+\nb2Mil6RebPvtt+enP/0pc+fOZdasWcyfP5/jjjuurm2HDRu23PTEiRNbE/nkyZM55JBDWG+99VbY\nbtttt2WHHXZg2rRpLFmyhKlTp3LYYYcBRRf+VVddxaBBgxg0aBADBw7kj3/8IwsWLGD+/PkMHDiQ\n9ddfv7Ws4cN7b89VC7vWJUlA0dV+1FFHcdFFF/GBD3yAxYsXty5bsGDBCuu37WrfZ599WLRoEffe\ney9XXHEF55133kr3NWHCBCZPnszSpUvZcccd2WabbYDix8GRRx7JhRdeuMI2c+fO5fnnn2fJkiWt\nyXzu3Ln06dO726S9u/aS1IvNnj2bc845hyeffBKAefPmMWXKFHbbbTfe+973cvPNNzNv3jxeeOEF\nvvOd73RaXr9+/Tj00EM54YQTeP7559lnn31Wuu6ECROYMWMGF1xwAZMmTWqdf/jhhzNt2jRmzJjB\nsmXLePXVV7npppuYP38+W221FSNHjuTkk0/mjTfe4NZbb2XatGmr/0JUnIlcknqpAQMGcPvtt/NP\n//RPDBgwgA9+8IPstNNOnH322ey9996MHz+enXbaiZ133nmFY9ErO9Vs4sSJ3HDDDYwbN265lnLb\n9bfYYgt22203brvtNsaPH986f+jQoVxzzTWceeaZDB48mOHDh3P22WezbNkyoDiGftttt7Hpppty\n+umnc9RRR62pl6OyIjObHcNKRUT25PikRhkzfkyvHrX+xGVPMP3K6c0OY40YOXIkd955Z+t0T7sg\njJqj7eeiRUSQmV06Id9j5JLUjUyyWtPsWpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKF\n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\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[51]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nHXeka9eu9OzZk969e3PwwQdzww03bJS0rr/+ei688MJ6y6h1d8uC2WmnnXjkkUeKUnZTDBgwgHff\nfbdox9kUTuRmZm3EgqoqAor2t6Aqv064krjvvvt45513WLBgARMnTmTy5Ml87Wtfy/tY2kJNtSXW\nr19f6hDy5kRuZmabqE7E3bt354QTTuCOO+5g6tSpzJ07F4AJEyZw8cUX16x/5ZVXsv3229O/f39u\nvvnmBmuqhx12GBdffDEHH3wwPXr04Nhjj+Wtt96qWT5jxgz23HNPevfuzeGHH868efMAOPXUU1m4\ncCEjRoygR48eTJkyZZOyV65cyYgRI+jVqxfbbLMNhx56aM2y2s39ucfw2GOPMWDAAK644gr69evH\nGWecwdChQ7n//vtr1l+/fj3bbbcdzz77LAsWLKBDhw5s2LCBO++8k+HDh28UxzXXXMPo0aMB+Pjj\njznnnHMYNGgQ/fr14zvf+Q4fffRRI69A/pzIzcysUcOHD6d///488cQTmyx74IEHuPrqq3n44Yd5\n+eWXeeihhxotb/r06UydOpXly5fz0Ucf1STl+fPnM378eH72s5+xfPlyjjvuOE444QTWrVvHLbfc\nwsCBA7n33nt59913OeecczYp96qrrmLAgAGsXLmSN998k8svv7xmWWPN4MuWLePtt99m4cKF3Hjj\njYwfP55p06ZtdJx9+vRh77333qi8ESNGMH/+fF599dWNju/kk08G4LzzzuOVV17h+eef55VXXmHx\n4sVccskljT5H+XIiNzOzvGy//fYb1Zyr3XXXXUyYMIHdd9+drbbaioqKikbLmjBhAoMHD6ZLly6M\nGTOGZ599FoA777yTE044gcMPP5yOHTtyzjnn8MEHH/CXv/ylZtuGmu07d+7M0qVLef311+nYsSMH\nHXRQXtsBdOzYkR/96Ed07tyZLl26MG7cOGbMmMGHH34IJMl53Lhxm2y31VZbMWrUKKZPnw7Ayy+/\nzLx58xg5ciQAv/jFL7jmmmvo2bMn3bp1Y+LEiTXrFoITuZmZ5WXx4sX07t17k/lLlixhwIABNdOD\nBg1qNGmW5XS869q1K++9915NWYMGDapZJokBAwawePHivGL8wQ9+wODBgzn66KPZZZddmDx5cl7b\nAfTp04fOnTvXTA8ePJihQ4cyc+ZMPvjgA2bMmMH48XXf1HPcuHE1yXnatGmMHj2aLl26sHz5ctas\nWcM+++xD79696d27N8cddxwrV67MO67GeGQ3MzNr1FNPPcWSJUs45JBDNlnWr18/Fi1aVDO9YMGC\nZvfm3n777XnhhRc2mrdo0SL69+8PNN483q1bN6ZMmcKUKVOYO3cuhx12GPvuuy+HHXYYXbt2Zc2a\nNTXrLlu2bKMfIHWVPXbsWKZNm8b69evZY4892HnnnTdZB+Coo45i+fLlPPfcc9x+++1ce+21AGy7\n7bZ07dqVF198kX79+uX3JDSRa+RmZlav1atXc++99zJu3DhOOeUUhg4dusk6Y8aM4de//jUvvfQS\na9asadH53zFjxnDffffx6KOPsm7dOqZMmcKWW27JAQccACQ1+YauT7/vvvtqzlV3796dTp060aFD\nkur23ntvpk2bxoYNG3jggQd47LHHGo1n7NixzJo1i+uvv36T2nhuq0OnTp048cQTOffcc1m1ahVH\nHXUUkPw4+PrXv87ZZ5/N8uXLgaRlY9asWU14VhrmRG5mZpsYMWIEPXv2ZODAgfz4xz/mnHPO4Ve/\n+lXN8tza67HHHsvZZ5/N4YcfzpAhQzjiiCMaLLuhWvWQIUO49dZb+c///E/69OnDfffdx8yZM+nU\nKWlAnjhxIpdeeim9e/fm6quv3mT7l19+mSOPPJLu3btz0EEHceaZZ9b0XP/pT3/KjBkz6NWrF9On\nT+c//uM/Gn0eysrKOOCAA5gzZw4nnXRSg8cxbtw4Hn74YcaMGVPz4wFg8uTJ7LLLLuy///5svfXW\nHH300cyfP7/RfefL9yP/pMyC3jSFiuxfR2lmxTNs2LBN7n62Y1lZ3td6N8egvn15Y5nvytjW1fXe\nAN+P3MyszXOSteZw07qZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmG\nOZGbmVnJfPvb3+ayyy4reLk/+tGPOOWUUwpeblvkRG5m1kaU9S9DUtH+yvqXNR5Eavbs2Rx00EFs\nvfXWbLvtthxyyCH8/e9/L/gxX3/99Vx44YUFLxcav8HK5sIju5mZtRFVi6sKO1R07fIr8hv+dfXq\n1YwYMYIbbriBE088kY8//pgnnniCLl26NHmfEdFuEmqpuEZuZmYbmT9/PpIYM2YMkujSpQtHHnkk\ne+655yZN1gsWLKBDhw5s2LABgMMOO4yLLrqIgw8+mG7dunHllVcyfPjwjcq/5pprGD16NAATJkzg\n4osvBmDo0KHcf//9NeutX7+e7bbbjmeffRaAOXPmcNBBB9GrVy8+97nPbXT3sjfeeIPy8nJ69uzJ\nMcccw4oVK4rz5LRBTuRmZraRIUOG0LFjR04//XQeeOAB3n777Y2W165h156+9dZbuemmm1i9ejXf\n+ta3mD9/fs2tRQGmT5/OySefvMl+x40bx7Rp02qmH3jgAfr06cPee+/N4sWLOeGEE7j44otZtWoV\nU6ZM4ctf/jIrV64EYPz48QwfPpwVK1Zw0UUXMXXq1BY/D1nhRG5mZhvp3r07s2fPpkOHDnzjG9+g\nT58+jB49mjfffDOv7U8//XR22203OnToQI8ePRg1ahTTp08HktuMzps3jxEjRmyy3fjx45kxYwYf\nfvghkCT8cePGAXDbbbdx/PHHc8wxxwBwxBFHMGzYMO6//34WLVrE008/zSWXXELnzp055JBD6ix/\nc+VEbmZmm9h111351a9+xcKFC3nxxRdZsmQJZ599dl7bDhgwYKPpcePG1STyadOmMXr0aLbccstN\nths8eDBDhw5l5syZfPDBB8yYMaOm5r5gwQLuvPNOevfuTe/evenVqxd//vOfWbp0KUuWLKFXr15s\ntdVWNWUNGjSouYeeOe7sZmZmDRoyZAinnXYaN954I/vssw9r1qypWbZ06dJN1q/d1H7UUUexfPly\nnnvuOW6//Xauvfbaevc1duxYpk2bxvr169ljjz3YaaedgOTHwamnnsoNN9ywyTYLFy5k1apVfPDB\nBzXJfOHChXTo0D7qqu3jKM3MLG/z5s3j6quvZvHixQAsWrSI6dOnc8ABB/DZz36Wxx9/nEWLFvHO\nO+/wk5/8pNHyOnXqxIknnsi5557LqlWrOOqoo+pdd+zYscyaNYvrr7+e8ePH18z/6le/ysyZM5k1\naxYbNmzgww8/5LHHHmPJkiUMHDiQYcOGMWnSJNauXcvs2bOZOXNmy5+IjHAiNzOzjXTv3p0nn3yS\n/fbbj+7du3PggQey1157MWXKFI488khOOukk9tprL4YPH77Juej6LjUbN24cDz/8MGPGjNmoplx7\n/bKyMg444ADmzJnDSSedVDO/f//+3HPPPVx++eX06dOHQYMGMWXKlJre8rfddhtz5sxhm2224dJL\nL+W0004r1NPR5ikiSh1Dk0mKQsctqbDXb1Yk10+amdVl2LBhPP300xvNK+tfllxLXiR9d+jLsn8v\n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\nM8tPPr3Wa0TiD8AxRYrHzMzMmiCfpvUv5Ux2AIYBHxYtIjMzM8tbPr3Wc+9Lvg54g6R53czMzEos\nn3Pkvi+5mZlZG1VvIpd0cQPbRURcWoR4zMzMrAkaqpG/X8e8bsDXgG0AJ3IzM7MSqzeRR8RV1Y8l\ndQfOAiYAtwNX1bedmZmZtZ4Gz5FL6g18HzgZmAp8PiJWtUZgZmZm1riGzpFfCXwJuBH4TES812pR\nmZmZWV4aGhDmv4HtgYuAJZLeTf9WS3q3dcIzMzOzhjR0jrxJo76ZmZlZ63OyNjMzyzAncjMzswxz\nIjczM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8uwkiZySR0k/UPSjHS6\nl6RZkuZJelBSz1LGZ2Zm1taVukZ+FjA3Z3oi8FBE7Ao8ApxfkqjMzMwyomSJXFJ/4IvATTmzR5Hc\nLpX0/+jWjsvMzCxLSlkjvwY4F4iceX0jogogIpYB25UiMDMzs6woSSKXdDxQFRHPAmpg1WhgmZmZ\nWbtX721Mi+wgYKSkLwJbAd0l/QZYJqlvRFRJKgPerK+AioqKmsfl5eWUl5cXN2IzM7NWVFlZSWVl\nZaPrKaK0lV5JhwL/HREjJV0BrIyIyZLOA3pFxMQ6tolCxy0JKgpYYAWU4rkt+HFAyY7FzMw+IYmI\n2KQVu9S91mv7CXCUpHnAEem0mZmZ1aNUTes1IuIx4LH08VvAkaWNyMzMLDvaWo3czMzMmsCJ3MzM\nLMOcyM3MzDKs5OfIm0tq6PJzMzOz9iGzibzQF0P5Z4GZmWWRm9bNzMwyzInczMwsw5zIzczMMsyJ\n3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzD\nnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczM\nMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzIm8xHYsK0NSwf7MzKx96VTqANq7BVVVRAHLcyo3\nM2tfXCM3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLsJIkckn9JT0i\n6UVJ/5T0vXR+L0mzJM2T9KCknqWIz8zMLCtKVSNfB3w/IvYADgDOlLQbMBF4KCJ2BR4Bzi9RfGZm\n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\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[52]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;SibSp &lt; 3&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nie9MqC8ZVc2zs2dz9bDGXSPhE534kRAR3HTTTRx00EEsWbKEmTNn8pnPfIa7776bH/7wh3WV0Z1b\nqvVYsWIFvXv3bnYY68VELnVDy5Yv69EXxJl9zexmh9BjtCTi/v37c/TRR7Pddtuxzz77cNZZZ7H7\n7rtz+umnM3ToUL785S8DcPnllzNhwgR69erFJZdc0m6L/KCDDuKAAw7gtttu44EHHmC//fZj0qRJ\nDBxYXLlwypQpnHfeecyfP58999yTq666it12241TTjmFuXPnMmrUKHr37s0FF1zAWWedtUrZzz77\nLKeddhp33nknvXr14u1vfzszZ84Eiu7+Rx99lDe/+c0Aq9Rh5syZnHTSSXz6059mwoQJHH744dxz\nzz2MHz+eD3zgA0CR3AcPHsz06dMZMGAAO++8M8uXL+fnP/85l19+Offcc09rHBMmTGDmzJnccMMN\nvPrqq5x33nlcf/31vPrqq3zwgx9kwoQJ9OvXbwO9WmvmMXJJUqu99tqLHXbYgTvuuGO1ZdOmTeOK\nK67g1ltv5ZFHHuGWW27psLzJkyczceJEFi1axCuvvML48eMBePjhhxk3bhzf+ta3WLRoEUceeSRH\nH300y5cv58c//jE77rgjv/rVr3jxxRdXS+IA3/jGNxg6dCjPPvssTz/9NF/96ldbl3XU3f/UU0/x\n/PPPM3fuXL773e8ybtw4Jk2atEo9Bw0axJ577rlKeaNGjeLhhx/mscceW6V+H/7whwE455xzePTR\nR3nggQd49NFHefLJJ1t/ADWSiVyStIohQ4bw3HPPrTb/+uuv5/TTT+dtb3sbm222WV23Gj399NPZ\nZZdd6NevH6NHj+a+++4D4LrrruPoo4/m4IMPpnfv3px11lksW7aM3//+963rttdt37dvXxYsWMAT\nTzxB79692X///etaD6B3795cfPHF9O3bl379+jF27FimTJnCyy+/DBTJeezYsautt9lmm3Hssccy\nefJkAB555BEeeughjjnmGAC+973vMWHCBLbeemu22GILzj333NbnNpKJXJK0iieffLK1+7vW/Pnz\nGTp0aOv0sGHDOkya22+/fevjzTffnJdeeqm1rGE1YwUigqFDh/Lkk0/WFeMXvvAFdtllFw4//HDe\n8pa3cNlll9W1HsCgQYPo27dv6/Quu+zC7rvvztSpU1m2bBlTpkxh3Lhxa1x37Nixrcl50qRJHHfc\ncfTr149FixaxdOlS3vve9zJw4EAGDhzIkUceybPPPlt3XOvKY+SSpFb33HMP8+fP54ADDlht2eDB\ng5k3b17r9Jw5c9Z51PqQIUP485//vMq8efPmscMOOwAdd49vscUWjB8/nvHjx/Pggw9y0EEHsffe\ne3PQQQex+eabs3Tp0tbnPvXUU6v8AFlT2SeeeCKTJk1ixYoV7LHHHq3H19s67LDDWLRoEffffz/X\nXnstV155JQBvfOMb2XzzzZk1axaDBw+ubydsILbIJUksWbKEX/3qV4wdO5aTTz6Z3XfffbXnjB49\nmv/4j//gL3/5C0uXLl2v47+jR4/mpptu4re//S3Lly9n/PjxbLrppuy7775A0ZJv7/z0m266qfVY\ndf/+/enTpw+9ehUpbc8992TSpEmsXLmSadOmtQ6Ca8+JJ57I9OnTueqqq1Zrjdf2OvTp04cTTjiB\ns88+m8WLF3PYYYcBxY+Dj33sY5x55pksWrQIKHo2pk+f3om9sm5M5JLUg40aNYqtt96aHXfcka99\n7WucddZZq5x6Vtt6HTlyJGeeeSYHH3wwu+66K4cccki7ZbfXqt5111255ppr+Od//mcGDRrETTfd\nxNSpU+nTp+goPvfcc7nkkksYOHAgV1xxxWrrP/LIIxx66KH079+f/fffn0996lMceOCBAHzzm99k\nypQpDBgwgMmTJ/PBD36ww/2w/fbbs++++3LXXXcxZsyYdusxduxYbr31VkaPHt364wHgsssu4y1v\neQv77LMPb3jDGzj88MN5+OGHO9z2+vJ+5OqWevr9yH9x9i84/vLjmx1G02xM92MfPnz4Knc/604X\nhFHztH1ftPB+5JLUzZlktaHZtS5JUoWZyCVJqjATuSRJFWYilySpwkzkkiRVmIlckqQKM5FLklRh\nJnJJUsN98pOf5Ctf+coGL/fiiy/m5JNP3uDlVokXhJGkLnTGv5zB7PmzG1b+TkN24jsT6r/ozJ13\n3sk555zDrFmz6NOnD29729u48soree9737tB47rqqqs2aHm11vXGLRsLE7kkdaHZ82c39PLDs6+Z\nXfdzlyxZwqhRo7j66qs54YQTePXVV7njjjvo169fp7ebmT0+oTaLXeuS1EM9/PDDRASjR48mIujX\nrx+HHnoob3/721frsp4zZw69evVi5cqVABx00EGcf/75vO9972OLLbbg8ssvZ6+99lql/AkTJnDc\ncccBcPrpp3PBBRcAsPvuu3PzzTe3Pm/FihVsu+223HfffQDcdddd7L///gwYMIB3v/vdq9y9bPbs\n2YwYMYKtt96aI444gmeeeaYxO6dCTOSS1EPtuuuu9O7dm9NOO41p06bx/PPPr7K8bQu77fQ111zD\n97//fZYsWcIZZ5zBww8/3HprUYDJkyfz4Q9/eLXtjh07lkmTJrVOT5s2jUGDBrHnnnvy5JNPcvTR\nR3PBBRewePFixo8fz/HHH8+zzz4LwLhx49hrr7145plnOP/885k4ceJ674eqM5FLUg/Vv39/7rzz\nTnr16sXHP/5xBg0axHHHHcfTTz9d1/qnnXYab33rW+nVqxdbbbUVxx57LJMnTwaK24w+9NBDjBo1\narX1xo0bx5QpU3j55ZeBIuGPHTsWgJ/+9KccddRRHHHEEQAccsghDB8+nJtvvpl58+Zx77338uUv\nf5m+fftywAEHrLH8nsZELkk92G677cYPf/hD5s6dy6xZs5g/fz5nnnlmXesOHTp0lemxY8e2JvJJ\nkyZx3HHHsemmm6623i677MLuu+/O1KlTWbZsGVOmTGltuc+ZM4frrruOgQMHMnDgQAYMGMDvfvc7\nFixYwPz58xkwYACbbbZZa1nDhvXc2x23cLCbJAkoutpPPfVUvvvd7/Le976XpUuXti5bsGDBas9v\n29V+2GGHsWjRIu6//36uvfZarrzyyrVu68QTT2TSpEmsWLGCPfbYg5133hkofhyccsopXH311aut\nM3fuXBYvXsyyZctak/ncuXPp1atnt0l7du0lqQd76KGHuOKKK3jyyScBmDdvHpMnT2bfffflXe96\nF7fffjvz5s3jhRde4NJLL+2wvD59+nDCCSdw9tlns3jxYg477LC1PvfEE09k+vTpXHXVVYwbN651\n/kknncTUqVOZPn06K1eu5OWXX2bmzJnMnz+fHXfckeHDh3PhhRfy2muvceeddzJ16tT13xEVZyKX\npB6qf//+3H333fzDP/wD/fv3Z7/99uOd73wn48eP59BDD2XMmDG8853vZK+99lrtWPTaTjUbO3Ys\nt956K6NHj16lpdz2+dtvvz377rsvd911F2PGjGmdv8MOO3DjjTfy1a9+lUGDBjFs2DDGjx/fOlr+\npz/9KXfddRfbbLMNl1xyCaeeeuqG2h2VFZnZ7BjWKiKyO8enxhk5ZmRDz7Xt7n5x9i84/vLjmx1G\n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\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>After exploring the survival statistics visualization, fill in the missing code below so that the function will make your prediction.<br>\nMake sure to keep track of the various features and conditions you tried before arriving at your final prediction model.<br>\n<strong>Hint:</strong> You can start your implementation of this function using the prediction code you wrote earlier from <code>predictions_2</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[89]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">predictions_3</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Model with multiple features. Makes a prediction with an accuracy of at least 80%. &quot;&quot;&quot;</span>\n    \n    <span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n    <span class=\"k\">for</span> <span class=\"n\">_</span><span class=\"p\">,</span> <span class=\"n\">passenger</span> <span class=\"ow\">in</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">iterrows</span><span class=\"p\">():</span>\n        \n        <span class=\"c1\"># Remove the &#39;pass&#39; statement below </span>\n        <span class=\"c1\"># and write your prediction conditions here</span>\n        <span class=\"k\">if</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">]</span> <span class=\"o\">&gt;</span> <span class=\"mi\">4</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n        <span class=\"k\">elif</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;female&#39;</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Parch&#39;</span><span class=\"p\">]</span> <span class=\"o\">&lt;</span> <span class=\"mi\">4</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"c1\"># This one didn&#39;t improve accuracy (2)</span>\n        <span class=\"k\">elif</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;female&#39;</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Pclass&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"mi\">1</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">]</span> <span class=\"o\">&gt;</span> <span class=\"mi\">10</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"c1\"># Removing this one didn&#39;t change accuracy (1)</span>\n        <span class=\"k\">elif</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;female&#39;</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">]</span> <span class=\"o\">&gt;</span> <span class=\"mi\">50</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"k\">elif</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">]</span> <span class=\"o\">&lt;</span> <span class=\"mi\">10</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">]</span> <span class=\"o\">&lt;</span> <span class=\"mi\">3</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Sex&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;male&#39;</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"k\">elif</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">]</span> <span class=\"o\">&lt;</span> <span class=\"mi\">10</span> <span class=\"ow\">and</span> <span class=\"n\">passenger</span><span class=\"p\">[</span><span class=\"s1\">&#39;Pclass&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"mi\">2</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n        <span class=\"k\">else</span><span class=\"p\">:</span>\n            <span class=\"n\">predictions</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Return our predictions</span>\n    <span class=\"k\">return</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">Series</span><span class=\"p\">(</span><span class=\"n\">predictions</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Make the predictions</span>\n<span class=\"n\">predictions</span> <span class=\"o\">=</span> <span class=\"n\">predictions_3</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 81.71%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-4\">Question 4<a class=\"anchor-link\" href=\"#Question-4\">&#182;</a></h3><p><em>Describe the steps you took to implement the final prediction model so that it got an accuracy of at least 80%. What features did you look at? Were certain features more informative than others? Which conditions did you use to split the survival outcomes in the data? How accurate are your predictions?</em><br>\n<strong>Hint:</strong> Run the code cell below to see the accuracy of your predictions.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[72]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"n\">accuracy_score</span><span class=\"p\">(</span><span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"n\">predictions</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predictions have an accuracy of 81.71%.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer</strong>:</p>\n<h3 id=\"Steps:\">Steps:<a class=\"anchor-link\" href=\"#Steps:\">&#182;</a></h3><ol>\n<li><strong>Think about what features might matter.</strong> <ul>\n<li>E.g. women and children may have been given priority to go on lifeboats. People with family members (<code>Parch</code>, <code>SibSp</code> &gt; 0) might be more likely to survive if they are children because there are people taking care of them. They might be less likely to survive if they are parents trying to make sure their children are rescued.</li>\n</ul>\n</li>\n<li><strong>Visualise the features</strong> using the <code>survival_stats</code> function provided. See if the features are informative. They can be informative if (1) they show that almost all people of a certain group survive or if (2) they show that almost all people of a certain group don't survive.<ul>\n<li>See above for visualisations of informative features.</li>\n</ul>\n</li>\n<li><strong>Choose filters and add them to the model.</strong> </li>\n<li><strong>Run the model and see if it produces a higher accuracy</strong>.<ul>\n<li>If it doesn't, ditch the filter.</li>\n</ul>\n</li>\n<li><strong>Repeat with different features or filters</strong>.</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Features-I-looked-at\">Features I looked at<a class=\"anchor-link\" href=\"#Features-I-looked-at\">&#182;</a></h3><ul>\n<li>SibSp</li>\n<li>Age</li>\n<li>Parch</li>\n<li>Sex</li>\n<li>Pclass</li>\n</ul>\n<p>Certain features were more informative than others. For example, looking at <code>SibSp</code> for males under the age of 10 was more useful than looking at <code>Age</code> for females because</p>\n<ul>\n<li>the former told me that all males under the age of 10 with <code>SibSp</code> &lt; 3 survived, whereas </li>\n<li>for most age groups, there were a significant number of females that survived and a significant number of females that did not survive so it did not provide me with much information I could use to make splits.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[59]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Age &lt; 10&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Sex == &#39;male&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\n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\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[91]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\n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\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Splits\">Splits<a class=\"anchor-link\" href=\"#Splits\">&#182;</a></h3><p>1) If passenger['SibSp'] &gt; 4, they are less likely to survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[65]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n06FDhyZxtZMTuZlZE7FXSQmSCvbYq6Qkvzj22ou2bdvSsWNHOnfuzOGHH85NN920RdK68cYb+eEP\nf1htGQ09+ma5vffem0ceeaQgZddFjx49ePfddwt2nHXhRG5m1kQsLCsjoGCPhWVlecUhiXvvvZc1\na9awcOFCxo4dy4QJE/jqV7+a97E0hZrqtti4cWOxQ8ibE7mZmW2lPBG3b9+ek08+mTvuuIPJkycz\nZ84cAM4++2wuv/zyivWvu+469thjD7p3786tt95aY011yJAhXH755Rx++OF06NCBE044gVWrVlUs\nnzlzJgcddBCdO3fmqKOOYu7cuQCcccYZLFq0iKFDh9KhQwcmTpy4VdkrV65k6NChdOrUiV133ZUj\njzyyYlnl5v7cY3jsscfo0aMHP/nJT+jWrRvnnHMOffv25b777qtYf+PGjey+++48//zzLFy4kBYt\nWrBp0yZmzJjBgAEDtojj+uuvZ8SIEQB8/PHHXHjhhfTq1Ytu3bpx7rnn8tFHH9XyDuTPidzMzGo1\nYMAAunfvzhNPPLHVsvvvv59Jkybx8MMPM3/+fB566KFay5s2bRqTJ09mxYoVfPTRRxVJed68eYwZ\nM4Zf/OIXrFixghNPPJGTTz6ZDRs2cNttt9GzZ0/uuece3n33XS688MKtyv3pT39Kjx49WLlyJW+9\n9RZXX311xbLamsGXL1/OO++8w6JFi7j55psZM2YMU6dO3eI4u3TpQr9+/bYob+jQocybN4/XXntt\ni+M77bTTALj44ot59dVXefHFF3n11VdZsmQJV1xxRa2vUb6cyM3MLC977LHHFjXncnfeeSdnn302\nBxxwADvttFNed5I8++yz6d27N23atGHkyJE8//zzAMyYMYOTTz6Zo446ipYtW3LhhRfywQcf8Le/\n/a1i25qa7Vu3bs2yZct44403aNmyJYMGDcprO4CWLVvy4x//mNatW9OmTRtGjx7NzJkz+fDDD4Ek\nOY8ePXqr7XbaaSeGDx/OtGnTAJg/fz5z585l2LBhAPz617/m+uuvp2PHjrRr146xY8dWrNsQnMjN\nzCwvS5YsoXPnzlvNX7p0KT169KiY7tWrV61JsySn413btm157733Ksrq1atXxTJJ9OjRgyVLluQV\n4w9+8AN69+7Ncccdx7777suECRPy2g6gS5cutG7dumK6d+/e9O3bl1mzZvHBBx8wc+ZMxowZU+W2\no0ePrkjOU6dOZcSIEbRp04YVK1awbt06PvvZz9K5c2c6d+7MiSeeyMqVK/OOqzYeotXMzGr1zDPP\nsHTpUo444oitlnXr1o3FixdXTC9cuLDevbn32GMP/v3vf28xb/HixXTv3h2ovXm8Xbt2TJw4kYkT\nJzJnzhyGDBnCwIEDGTJkCG3btmXdunUV6y5fvnyLHyBVlT1q1CimTp3Kxo0bOfDAA9lnn32q3O+x\nxx7LihUreOGFF5g+fTo/+9nPANhtt91o27YtL7/8Mt26dcvvRagj18jNzKxaa9eu5Z577mH06NGc\nfvrp9O3bd6t1Ro4cye9+9zteeeUV1q1bt03nf0eOHMm9997Lo48+yoYNG5g4cSI77rgjhx56KJDU\n5Gu6Pv3ee++tOFfdvn17WrVqRYsWSarr168fU6dOZdOmTdx///089thjtcYzatQoZs+ezY033rhV\nbTy31aFVq1accsopXHTRRaxevZpjjz0WSH4cfO1rX+OCCy5gxYoVQNKyMXv27Dq8KjVzIjczs60M\nHTqUjh070rNnT6655houvPBCfvvb31Ysz629nnDCCVxwwQUcddRR9OnTh6OPPrrGsmuqVffp04fb\nb7+db3/723Tp0oV7772XWbNm0apV0oA8duxYrrzySjp37sykSZO22n7+/Pkcc8wxtG/fnkGDBnHe\needV9Fz/+c9/zsyZM+nUqRPTpk3jv/7rv2p9HUpKSjj00EN56qmnOPXUU2s8jtGjR/Pwww8zcuTI\nih8PABMmTGDfffflc5/7HLvssgvHHXcc8+bNq3Xf+fL9yMvLJPvXPZpZdvTv33+ru5/tVVKS97Xe\n9dGra1cWLF9esPKtYVT12QDfj9zMrMlzkrX6cNO6mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZ\nmVmGOZGbmZllmBO5mZlZhjmRm5lZ0XzrW9/iqquuavByf/zjH3P66ac3eLlNkRO5mVkTUdK9BEkF\ne5R0L6k9iNSTTz7JoEGD2GWXXdhtt9044ogj+Oc//9ngx3zjjTfywx/+sMHLhdpvsLK98MhuZmZN\nRNmSMhhfwPLH5zf869q1axk6dCg33XQTp5xyCh9//DFPPPEEbdq0qfM+I6LZJNRicY3czMy2MG/e\nPCQxcuRIJNGmTRuOOeYYDjrooK2arBcuXEiLFi3YtGkTAEOGDOGyyy7j8MMPp127dlx33XUMGDBg\ni/Kvv/56RowYAcDZZ5/N5ZdfDkDfvn257777KtbbuHEju+++O88//zwATz31FIMGDaJTp058+tOf\n3uLuZQsWLGDw4MF07NiR448/nrfffrswL04T5ERuZmZb6NOnDy1btuSss87i/vvv55133tlieeUa\nduXp22+/nVtuuYW1a9fyzW9+k3nz5lXcWhRg2rRpnHbaaVvtd/To0UydOrVi+v7776dLly7069eP\nJUuWcPLJJ3P55ZezevVqJk6cyJe+9CVWrlwJwJgxYxgwYABvv/02l112GZMnT97m1yErnMjNzGwL\n7du358knn6RFixZ8/etfp0uXLowYMYK33norr+3POuss9t9/f1q0aEGHDh0YPnw406ZNA5LbjM6d\nO5ehQ4dutd2YMWOYOXMmH374IZAk/NGjRwMwZcoUTjrpJI4//ngAjj76aPr37899993H4sWLefbZ\nZ7niiito3bo1RxxxRJXlb6+cyM3MbCv77bcfv/3tb1m0aBEvv/wyS5cu5YILLshr2x49emwxPXr0\n6IpEPnXqVEaMGMGOO+641Xa9e/emb9++zJo1iw8++ICZM2dW1NwXLlzIjBkz6Ny5M507d6ZTp078\n9a9/ZdmyZSxdupROnTqx0047VZTVq1ev+h565hQ0kUtqI+lpSc9JeknSuHT+OElvSvpX+jghZ5tL\nJM2X9Iqk4woZn5mZ1a5Pnz6ceeaZvPzyy+y8886sW7euYtmyZcu2Wr9yU/uxxx7LihUreOGFF5g+\nfTpjxoypdl+jRo1i6tSp3H333Rx44IHsvffeQPLj4IwzzmDVqlWsWrWK1atXs3btWn7wgx/QrVs3\nVq9ezQcffFBRzqJFi7b1sDOjoIk8Ij4ChkTEp4F+wImSBqaLJ0XEZ9LH/QCSDgBGAgcAJwI3yN0d\nzcwa1dy5c5k0aRJLliwBYPHixUybNo1DDz2UT33qUzz++OMsXryYNWvWcO2119ZaXqtWrTjllFO4\n6KKLWL16Nccee2y1644aNYrZs2dz4403bpHwv/KVrzBr1ixmz57Npk2b+PDDD3nsscdYunQpPXv2\npH///owbN47169fz5JNPMmvWrG1/ITKi4E3rEVH+060NyeVukU5XlaCHA9MjYkNELADmAwOrWM/M\nzAqkffv2PP300xxyyCG0b9+eww47jIMPPpiJEydyzDHHcOqpp3LwwQczYMCArc5FV1f3Gj16NA8/\n/DAjR46kRYsW1a5fUlLCoYceylNPPcWpp55aMb979+7cfffdXH311XTp0oVevXoxceLEit7yU6ZM\n4amnnmLXXXflyiuv5Mwzz2yol6PJU0TUvta27EBqAfwT6A38KiIuSZvYzwLWAM8C/xMRayT9Evh7\nRExNt70FuC8i/lipzAaPWiTXO5qZNYb+/fvz7LPPbjGvpHtJci15gXTdsyvL31xesPKtYVT12YDk\nR09EbPVLqTFq5JvSpvXuwEBJfYEbgH0ioh+wHPhpoeMwM2vqlr+5nIgo2MNJfPvUaCO7RcS7kkqB\nEyJiUs6iXwPlJzOWALndHbun87YyPuf54PRhZma2vSgtLaW0tLTW9QratC5pN2B92my+E/AAcC3w\nr4hYnq7zPWBARIxJa+tTgEOAPYEHgU9EpSDdtG5mWVdd86lZXZvWC10j7wZMTs+TtwDuiIj7JN0m\nqR+wCVgAfAMgIuZImgHMAdYD51ZO4mZmZrZZQRN5RLwEfKaK+WfUsM01wDWFjMvMzGx74ZHdzMzM\nMsyJ3MzMLMN8P3IzsyLo1q0b/fv3L3YY1gR169atTusXfECYQnCvdTMza26KNiCMmZmZFY4TuZmZ\nWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGb\nmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgT\nuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmG\nOZGbmZllWEETuaQ2kp6W9JyklySNS+d3kjRb0lxJD0jqmLPNJZLmS3pF0nGFjM/MzCzrFBGF3YHU\nNiLWSWoJ/BX4LvAlYGVE/ETSxUCniBgrqS8wBRgAdAceAj4RlYKU1OBRCyj0a2FmZlZfkogIVZ5f\n8Kb1iFiXPm0DtAICGA5MTudPBkakz4cB0yNiQ0QsAOYDAwsdo5mZWVYVPJFLaiHpOWA58GBEPAN0\njYgygIhYDuyerr4nsDhn8yXpPDMzM6tCY9TIN0XEp0maygdKOpCkVr7FaoWOw8zMbHvUqrF2FBHv\nSioFTgDKJHWNiDJJJcBb6WpLgB45m3VP521lfM7zwenDzMxse1FaWkppaWmt6xW0s5uk3YD1EbFG\n0k7AA8C1wJHAqoiYUE1nt0NImtQfxJ3dzMzMqu3sVugaeTdgsqQWJM34d0TEfZKeAmZIOgdYCIwE\niIg5kmYAc4D1wLmVk7iZmZltVvDLzwrBNXIzM2tuinb5mZmZmRWOE7mZmVmGOZGbmZllmBO5mZlZ\nhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZ\nmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5\nmZlZhjmRm5mZZZgTuZmZWYbVmsgltZPUIn3eR9IwSa0LH5qZmZnVJp8a+ePAjpL2BGYDpwO/K2RQ\nZmZmlp98ErkiYh3wReCGiDgFOLCwYZmZmVk+8krkkg4FTgPuTee1LFxIZmZmlq98Evn5wCXAnyLi\nZUn7AI8WNiwzMzPLhyKi+oVSS2BCRFzYeCHVTlINUdezTKCm18LMzKyYJBERqjy/xhp5RGwEDi9Y\nVGZmZrZNWuWxznOSZgJ3Au+Xz4yIPxYsKjMzM8tLPol8R2AlcFTOvACcyM3MzIqsxnPk21y41B24\nDegKbAJujohfShoHfA14K1310oi4P93mEuAcYANwfkTMrqJcnyM3M7Nmpbpz5LUmckl9gBuBrhFx\nkKSDgWER8f/y2GkJUBIRz0vaGfgnMBw4FVgbEZMqrX8AMBUYAHQHHgI+EZWCdCI3M7Pmpl6d3VK/\nJrn8bD1ARLwIjMpnpxGxPCKeT5+/B7wC7FkeUxWbDAemR8SGiFgAzAcG5rMvMzOz5iifRN42Iv5R\nad6Guu5I0l5AP+DpdNa3JT0v6RZJHdN5ewKLczZbwubEb2ZmZpXkk8jfltSbpIMbkr4MLKvLTtJm\n9btIznm/B9wA7BMR/YDlwE/rFLWZmZkB+fVaPw+4Gdhf0hLgDeAr+e5AUiuSJP77iLgbICJW5Kzy\na2BW+nwJ0CNnWfd03lbG5zwfnD7MzMy2F6WlpZSWlta6Xt691iW1A1pExNq6BCLpNuDtiPh+zryS\niFiePv8eMCAixkjqC0wBDiFpUn8Qd3YzMzOrtrNbrTVySd+vNA2wBvhneUe2GrYdRHKzlZckPUfS\nPH8pMEZSP5JL0hYA3wCIiDmSZgBzSDrXnVs5iZuZmdlm+Vx+NhXoz+bm75OBF4G9gDsj4ieFDLCa\nmFwjNzOzZmVbriN/HPhC2kmtvOPavcAJJLXyvgWIt7aYnMjNzKxZ2ZbryHcHPsqZXk8yOMwHleab\nmZlZI8swg9euAAAVaElEQVSn1/oU4GlJd6fTQ4Gpaee3OQWLzMzMzGqVV691SQOAw9LJv0bEswWN\nqvZ43LRuZmbNSr3PkacbtyS58UlFDT4iFjVohHXgRG5mZs3Ntlx+9h1gHFAGbCTNecDBDR2kmZmZ\n1U0+vdZfBQ6JiJWNE1LtXCM3M7PmZlt6rS8mGQDGzMzMmph8eq2/DpRKupecy80q30vczMzMGl8+\niXxR+tghfZiZmVkTUZebprSNiHUFjicvPkduZmbNTb3PkUs6VNIc4D/p9Kck3VCAGM3MzKyO8uns\n9jPgeGAlQES8AHy+kEGZmZlZfvJJ5ETE4kqzNhYgFjMzM6ujfDq7LZZ0GBCSWgPnA68UNiwzMzPL\nRz418m8C5wF7AkuAfum0mZmZFVnevdabEvdaNzOz5mZbeq3/RFIHSa0lPSxphaSvFCZMMzMzq4t8\nmtaPi4h3gZOBBcC+wEWFDMrMzMzyk08iL+8QdxJwZ0R43HUzM7MmIp9e6/dI+g/wAfAtSV2ADwsb\nlpmZmeUjr85ukjoDayJio6S2QIeIWF7w6KqPx53dzMysWdmWzm6nAOvTJH4ZcDuwRwFiNDMzszrK\n5xz5jyJiraTDgWOA3wA3FjYsMzMzy0c+ibx8ONaTgJsj4l58O1MzM7MmIZ9EvkTSTcCpwH2S2uS5\nnZmZmRVYrZ3d0s5tJwAvRcR8Sd2AT0bE7MYIsJqY3NnNzMyaleo6u+U9RKuk3YEdy6cjYlHDhVc3\nTuRmZtbcbEuv9WGS5gNvAI+lf//S8CGamZlZXeVzrvtK4HPAvIjYm6Tn+lMFjaoYWia/dhrqUdK9\npNhHZGZmzUA+I7utj4iVklpIahERj0r6WcEja2wbgfENV1zZ+LKGK8zMzKwa+STydyTtDDwOTJH0\nFvB+YcMyMzOzfOTTtD4cWAd8D7gfeA0YWsigzMzMLD81JnJJI4BvAcdGxIaImBwRv4iIlfkULqm7\npEckvSzpJUnfTed3kjRb0lxJD0jqmLPNJZLmS3pF0nHbcnBmZmbbu2oTuaQbSGrhuwJXSvpRPcrf\nAHw/Ig4EDgXOk7Q/MBZ4KCL2Ax4BLkn32RcYCRwAnAjcIGmrrvZmZmaWqKlG/nngqIi4BBgMjKhr\n4RGxPCKeT5+/B7wCdCdprp+crjY5p+xhwPS09r8AmA8MrOt+zczMmouaEvnHEbERICLWkYyZUm+S\n9gL6kVy61jUiytKylwO7p6vtCSzO2WxJOs/MzMyqUFOv9f0lvZg+F9A7nU4HQYuD891J2uv9LuD8\niHhPUuUh1Oo8pNr4nOeD04eZmdn2orS0lNLS0lrXq3aIVkm9atowIhbmE4ikVsA9wF8i4ufpvFeA\nwRFRJqkEeDQiDpA0Nik6JqTr3Q+Mi4inK5VZkCFaG/I6csZ7yFczM2s41Q3RWm2NPN9EnYffAnPK\nk3hqJnAWMAE4E7g7Z/4USdeTNKnvC/yjgeIwMzPb7uQzIEy9SRoEnAa8JOk5kib0S0kS+AxJ5wAL\nSXqqExFzJM0A5gDrgXPD1VozM7Nq5X33s6bETetmZtbc1PnuZ5IeTv9OKGRgZmZmVn81Na13k3QY\nMEzSdCpdfhYR/ypoZGZmZlarmhL55cCPSAZwmVRpWQBHFSooMzMzy09NvdbvAu6S9KOIuLIRYzIz\nM7M81dprPSKulDSMZMhWgNKIuKewYZmZmVk+ar2NqaRrgPNJLgmbA5wv6epCB2ZmZma1y+c68pOA\nfhGxCUDSZOA5kuvBzczMrIhqrZGndsl53rHatczMzKxR5VMjvwZ4TtKjJJegfZ7kfuJmZmZWZPl0\ndpsmqRQYkM66OL31qJmZmRVZXmOtR8QykhuamJmZWROS7zlyMzMza4KcyM3MzDKsxkQuqaWk/zRW\nMGZmZlY3NSbyiNgIzJXUs5HiMTMzszrIp7NbJ+BlSf8A3i+fGRHDChaVmZmZ5SWfRP6jgkdhZmZm\n9ZLPdeSPSeoFfCIiHpLUFmhZ+NDMzMysNvncNOVrwF3ATemsPYE/FzIoMzMzy08+l5+dBwwC3gWI\niPnA7oUMyszMzPKTTyL/KCI+Lp+Q1AqIwoVkZmZm+conkT8m6VJgJ0nHAncCswoblpmZmeUjn0Q+\nFlgBvAR8A7gPuKyQQZmZmVl+8um1vknSZOBpkib1uRHhpnUzM7MmoNZELukk4P+A10juR763pG9E\nxF8KHZyZmZnVLJ8BYX4KDImIVwEk9QbuBZzIzczMiiyfc+Rry5N46nVgbYHiMTMzszqotkYu6Yvp\n02cl3QfMIDlHfgrwTCPEZmZmZrWoqWl9aM7zMuDI9PkKYKeCRWRmZmZ5qzaRR8TZjRmImZmZ1V0+\nvdb3Br4D7JW7vm9jamZmVnz59Fr/M/AbktHcNhU2HDMzM6uLfHqtfxgRv4iIRyPisfJHPoVL+o2k\nMkkv5swbJ+lNSf9KHyfkLLtE0nxJr0g6rh7HY2Zm1qzkUyP/uaRxwGzgo/KZEfGvPLa9FfglcFul\n+ZMiYlLuDEkHACOBA4DuwEOSPuFR5MzMzKqXTyL/JHA6cBSbm9Yjna5RRDwpqVcVi1TFvOHA9IjY\nACyQNB8YSDI0rJmZmVUhn0R+CrBP7q1MG8C3JZ0OPAv8T0SsAfYE/p6zzpJ0npmZmVUjn3Pk/wZ2\nacB93kDyw6AfsJxkCFgzMzOrh3xq5LsA/5H0DFueI6/X5WcRsSJn8tdsvrf5EqBHzrLu6bwqjc95\nPjh9mJmZbS9KS0spLS2tdT3V1pdM0pFVza9Dz/W9gFkR8cl0uiQilqfPvwcMiIgxkvoCU4BDSJrU\nHwSq7OwmqcF7wAm2/HWwrcaD++mZmVlDkUREbNXHLJ/7keeVsKvZ6VSSyvKukhYB44AhkvqRdJxb\nAHwj3c8cSTOAOcB64Fz3WDczM6tZPjXytSS91AF2AFoD70dEhwLHVlNMrpGbmVmzsi018vY5hYjk\nMrHPNWx4ZmZmVh/59FqvEIk/A8cXKB4zMzOrg3xumvLFnMkWQH/gw4JFZGZmZnnL5/Kz3PuSbyDp\noDa8INGYmZlZneRzjtz3JTczM2uiqk3kki6vYbuIiCsLEI+ZmZnVQU018vermNcO+CqwK+BEbmZm\nVmTVJvKIqBgDXVJ74HzgbGA6Hh/dzMysSajxHLmkzsD3gdOAycBnImJ1YwRmZmZmtavpHPl1wBeB\nm4FPRsR7jRaVmZmZ5aXaIVolbSK529kGNg/RCslopuEhWmsx3kO0mplZw6nzEK0RUadR38zMzKzx\nOVmbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZ\nZZgTuZmZWYY5kZuZmWWYE7mZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kW9nSrqXIKlB\nHyXdS4p9WGZmVo1WxQ7AGlbZkjIY38Blji9r2ALNzKzBuEZuZmaWYU7kZmZmGeZEbmZmlmEFTeSS\nfiOpTNKLOfM6SZotaa6kByR1zFl2iaT5kl6RdFwhYzMzM9seFLpGfitwfKV5Y4GHImI/4BHgEgBJ\nfYGRwAHAicANklTg+MzMzDKtoIk8Ip4EVleaPRyYnD6fDIxInw8DpkfEhohYAMwHBhYyPjMzs6wr\nxjny3SOiDCAilgO7p/P3BBbnrLcknWdmZmbVaAqd3aLYAZiZmWVVMQaEKZPUNSLKJJUAb6XzlwA9\nctbrns6r0vic54PTh5mZ2faitLSU0tLSWtdTRGErxJL2AmZFxCfT6QnAqoiYIOlioFNEjE07u00B\nDiFpUn8Q+ERUEaCkBo9a0LAjoo2HQr+2VZHU4CO7FetYzMxsM0lExFadwAtaI5c0laSyvKukRcA4\n4FrgTknnAAtJeqoTEXMkzQDmAOuBc6tK4mZmZrZZQRN5RIypZtEx1ax/DXBN4SJqevYqKWFhmccy\nNzOz+vFNU4psYVlZg/b284X3ZmbNS1PotW5mZmb15ERuZmaWYU7kZmZmGeZEbmZmlmFO5GZmZhnm\nRG5mZpZhTuRmZmYZ5kRuZmaWYU7kZmZmGeZEbmZmlmFO5GZmZhnmRG5mZpZhTuRmZmYZ5kRuZmaW\nYU7kZmZmGeZEbmZmlmFO5GZmZhnmRG5mZpZhTuRmZmYZ5kRuZmaWYU7kZmZmGeZEbmZmlmFO5GZm\nZhnmRG5mZpZhTuRmZmYZ5kRuZmaWYU7kZmZmGeZEbmZmlmFO5GZmZhnmRG5mZpZhTuRmZmYZ5kRu\nZmaWYa2KtWNJC4A1wCZgfUQMlNQJuAPoBSwARkbEmmLFaGZm1tQVs0a+CRgcEZ+OiIHpvLHAQxGx\nH/AIcEnRojMzM8uAYiZyVbH/4cDk9PlkYESjRmRmZpYxxUzkATwo6RlJ/53O6xoRZQARsRzYvWjR\nmZmZZUDRzpEDgyJimaQuwGxJc0mSe67K02ZmZpajaIk8Ipalf1dI+jMwECiT1DUiyiSVAG9Vt/34\nnOeD04eZmdn2orS0lNLS0lrXU0TjV3oltQVaRMR7ktoBs4EfA0cDqyJigqSLgU4RMbaK7Rs8asGW\nvw621XjI57WV1KDNDg1+HGl5xficmJnZZpKICFWeX6waeVfgT5IijWFKRMyW9CwwQ9I5wEJgZJHi\nMzMzy4SiJPKIeAPoV8X8VcAxjR+RmZlZNnlkNzMzswxzIjczM8swJ3IzM7MMcyI3MzPLMCdyMzOz\nDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjcz\nM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLMCdy\nMzOzDHMiNzMzyzAncjMzswxzIrcGs1dJCZIa7LFXSUmxDynzGvo98fti1vS0KnYAtv1YWFZGNGB5\nKitrwNKap4Z+T8Dvi1lT4xq5NV0tadCaZEl31yTNbPvjGrk1XRuB8Q1XXNn4/GuSe5WUsLABa569\nunZlwfLlDVaemVk5J3KzKvg0gZllhZvWzczMMsyJ3MzMLMOcyM3MrNnL8uWzTTKRSzpB0n8kzZN0\ncbHjMTOz7Vt5v5iGejRkZ9naNLlELqkF8L/A8cCBwGhJ+xc3KrNt1MKX0m2rhq4xlXTuXOxDajCl\npaXFDqHBbE/H0liaYq/1gcD8iFgIIGk6MBz4T1GjMtsWmyjapXQNTsmPkobSdc+uLH+z9kvzGvxK\ngtWrG7C04iotLWXw4MHFDqNBbE/H0liaYiLfE1icM/0mSXI3s6Yg2H5+lJhtB5pc07qZmZnlTxEN\nPRLztpH0OWB8RJyQTo8FIiIm5KzTtII2MzNrBBGx1XmtppjIWwJzgaOBZcA/gNER8UpRAzMzM2uC\nmtw58ojYKOnbwGySpv/fOImbmZlVrcnVyM3MzCx/zb6z2/Yy+Iyk30gqk/RisWPZVpK6S3pE0suS\nXpL03WLHVB+S2kh6WtJz6XGMK3ZM20pSC0n/kjSz2LFsC0kLJL2Qvjf/KHY820JSR0l3Snol/c4c\nUuyY6kpSn/S9+Ff6d01Wv/cAkr4n6d+SXpQ0RdIOBd1fc66Rp4PPzCM5H78UeAYYFRGZu2Zd0uHA\ne8BtEXFwsePZFpJKgJKIeF7SzsA/geEZfV/aRsS6tO/HX4HvRkRmE4ek7wGfBTpExLBix1Nfkl4H\nPhsRmb+YXNLvgMci4lZJrYC2EfFukcOqt/T/8pvAIRGxuLb1mxpJewBPAvtHxMeS7gDujYjbCrXP\n5l4jrxh8JiLWA+WDz2RORDwJZP6fEkBELI+I59Pn7wGvkIwvkDkRsS592oakT0pmfzlL6g58Abil\n2LE0ALEd/P+T1AE4IiJuBYiIDVlO4qljgNeymMRztATalf+wIqkoFkzmP8jbqKrBZzKZMLZXkvYC\n+gFPFzeS+kmbop8DlgMPRsQzxY5pG1wPXESGf4zkCOBBSc9I+lqxg9kGewNvS7o1bZa+WdJOxQ5q\nG50KTCt2EPUVEUuBnwKLgCXAOxHxUCH32dwTuTVhabP6XcD5ac08cyJiU0R8GugOHCKpb7Fjqg9J\nJwFlaUuJ0keWDYqIz5C0MJyXnprKolbAZ4BfpcezDhhb3JDqT1JrYBhwZ7FjqS9Ju5C07PYC9gB2\nljSmkPts7ol8CdAzZ7p7Os+KLG2Sugv4fUTcXex4tlXa3PkocEKxY6mnQcCw9NzyNGCIpIKd8yu0\niFiW/l0B/InsDgP9JrA4Ip5Np+8iSexZdSLwz/R9yapjgNcjYlVEbAT+CBxWyB0290T+DLCvpF5p\nr8JRQJZ7424PNaVyvwXmRMTPix1IfUnaTVLH9PlOwLFk9OY/EXFpRPSMiH1IviePRMQZxY6rPiS1\nTVt7kNQOOA74d3Gjqp+IKAMWS+qTzjoamFPEkLbVaDLcrJ5aBHxO0o5K7i50NEk/n4JpcgPCNKbt\nafAZSVOBwcCukhYB48o7wGSNpEHAacBL6fnlAC6NiPuLG1mddQMmp71wWwB3RMR9RY7JoCvwp3So\n51bAlIiYXeSYtsV3gSlps/TrwNlFjqdeJLUlqc1+vdixbIuI+Ieku4DngPXp35sLuc9mffmZmZlZ\n1jX3pnUzM7NMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3KzZkzSD9PbLb6QjtU9\nMB2ve/90+dpqtjtE0lPpLSdflnR540ZuZuWa9YAwZs2ZpM+RjDXeLyI2SOoM7BARuQNyVDfQxGTg\nyxHx73T0qv0KHK6ZVcM1crPmqxvwdkRsAEjHhl4u6VFJ5eN1S9KktNb+oKRd0/ldgLJ0uyi/V7yk\ncZJuk/Q3SXMl/XdjH5RZc+NEbtZ8zQZ6SvqPpF9J+nwV67QD/hERBwGPA+PS+T8D5kr6g6SvS2qT\ns80nSYYLPgy4XFJJ4Q7BzJzIzZqpiHif5E5ZXwdWANMlnVlptY3AjPT57cDh6bZXAp8l+TEwBvhL\nzjZ3R8THEbESeITs3lnMLBN8jtysGYvkZguPA49Legk4k+rPi5O7LCLeAG6SdAuwQlKnyuuQ3I3P\nN3QwKyDXyM2aKUl9JO2bM6sfsKDSai2BL6fPTwOeTLf9Qs46fYANwDvp9HBJO6Tn048kuV2wmRWI\na+RmzdfOwC/Te6ZvAF4laWa/K2ed94CBkn5E0rnt1HT+6ZImAevSbcdERCQd2HkRKAV2Ba6IiOWN\ncCxmzZZvY2pmDUbSOGBtREwqdixmzYWb1s3MzDLMNXIzM7MMc43czMwsw5zIzczMMsyJ3MzMLMOc\nyM3MzDLMidzMzCzDnMjNzMwy7P8DGdQiBOtrj5wAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>2) If passenger['Sex'] == 'female' and passenger['Parch'] &lt; 4, they are more likely to survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[45]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Parch&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nZmb11CTibt26ceqpp3LvvfcyefJk5s+fD8D48eO58sora5f/3ve+x5577kl5eTl33313kzXVo48+\nmiuvvJLDDz+c7t27c9JJJ7FmzZra+TNmzOCAAw6gV69eHHPMMSxYsACAs88+m8WLFzNixAi6d+/O\npEmT6m179erVjBgxgp49e7Lrrrty1FFH1c6r29xfuA9z586lb9++fPe736VPnz6cd955DB48mNmz\nZ9cuv3HjRnbffXeeeeYZFi1aRKdOndi0aRPTp09n6NChm8Vx0003MXr0aAA++OADLrroIvr370+f\nPn04//zzef/995v5D2TnRN6MsvLiNnXVvMrKszV5mZmVwtChQykvL+fxxx+vN+/BBx/kxhtv5OGH\nH+all17ioYceanZ7U6dOZfLkyaxcuZL333+/NikvXLiQcePG8f3vf5+VK1dy8sknc+qpp7JhwwZ+\n8pOf0K9fP371q1/x1ltvcdFFF9Xb7g033EDfvn1ZvXo1r7/+Otdee23tvOaawVesWMEbb7zB4sWL\nueOOOxg3bhxTpkzZbD979+7NQQcdtNn2RowYwcKFC/n73/++2f6deeaZAFx66aW8/PLLPPfcc7z8\n8sssXbqUq6++utljlJVvCNOM6qXVUNkG5VRma/IyMyuVPffcc7Oac4377ruP8ePHs99++wFQWVnJ\ntGnTmtzW+PHjGThwIABjxoypvZPZ9OnTOfXUUznmmGMAuOiii7jlllv43e9+x5FHHgk03Wy/3Xbb\nsXz5cl599VUGDhzI8OHDa+c119zfuXNnvv3tb7PddtsBMHbsWD7zmc/w3nvvseOOOzJ16lTGjh1b\nb72ddtqJUaNGMXXqVK644gpeeuklFixYwMiRIwH44Q9/yPPPP0+PHj0AmDBhAmeeeWaTnQVbwjVy\nMzPLZOnSpfTq1ave9GXLltG3b9/a8f79+zebNMsKOt517dqVt99+u3Zb/fv3r50nib59+7J06dJM\nMV5yySUMHDiQE044gX322YeJEydmWg+gd+/etUkcYODAgQwePJiZM2fy7rvvMmPGDMaNa/ihnmPH\njmXq1KkATJkyhdGjR7PDDjuwcuVK1q9fz2c/+1l69epFr169OPnkk1m9enXmuJrjGrmZmTXrqaee\nYtmyZRxxxBH15vXp04clS5bUji9atGiLe3Pvueee/PWvf91s2pIlSygvLweabx7feeedmTRpEpMm\nTWL+/PkcffTRHHLIIRx99NF07dqV9evX1y67YsWKzX6ANLTtM844gylTprBx40b2339/Pv7xjzdY\n7vHHH8/KlSt59tlnmTZtGjfffDMAu+22G127duWFF16gT58+2Q5CC7lGbmZmjVq3bh2/+tWvGDt2\nLGeddRaDBw+ut8yYMWP48Y9/zIsvvsj69eu36vzvmDFjmDVrFo8++igbNmxg0qRJ7LjjjgwbNgxI\navJNXZ8+a9as2nPV3bp1o0uXLnTqlKS6gw46iClTprBp0yYefPBB5s6d22w8Z5xxBnPmzOG2226r\nVxsvbHXo0qULp512GhdffDFr167l+OOPB5IfB1/84he58MILWblyJZC0bMyZM6cFR6VpTuRmZlbP\niBEj6NGjB/369eO6667joosu4q677qqdX1h7Pemkk7jwwgs55phjGDRoEMcee2yT226qVj1o0CB+\n9rOf8R//8R/07t2bWbNmMXPmTLp0SRqQJ0yYwDXXXEOvXr248cYb663/0ksvcdxxx9GtWzeGDx/O\nV7/61dqe67fccgszZsygZ8+eTJ06lX/+539u9jiUlZUxbNgw5s2bx+mnn97kfowdO5aHH36YMWPG\n1P54AJg4cSL77LMPhx12GLvssgsnnHACCxcubLbsrPw88ubLapPOblTm/7pLM8tuyJAh9Z5+NqCs\nLPO13lui/x578NqKFUXbvrWOht4b4OeRm5m1e06ytiXctG5mZpZjTuRmZmY55kRuZmaWY07kZmZm\nOeZEbmZmlmNO5GZmZjnmRG5mZpZjTuRmZlYyX/nKV1rtKWCFvv3tb3PWWWe1+nbbIydyM7N2oqy8\nDElFe5WVlzUfROqJJ55g+PDh7LLLLuy2224cccQR/OlPf2r1fb7tttv45je/2erbheYfsLKt8J3d\nzMzaieql1UW9JXR1Zbbbv65bt44RI0Zw++23c9ppp/HBBx/w+OOPs8MOO7S4zIjoMAm1VFwjNzOz\nzSxcuBBJjBkzBknssMMOHHfccRxwwAH1mqwXLVpEp06d2LRpEwBHH300V1xxBYcffjg777wz3/ve\n9xg6dOhm27/pppsYPXo0AOPHj+fKK68EYPDgwcyePbt2uY0bN7L77rvzzDPPADBv3jyGDx9Oz549\n+cxnPrPZ08tee+01Kioq6NGjByeeeCKrVq0qzsFph5zIzcxsM4MGDaJz586ce+65PPjgg7zxxhub\nza9bw647/rOf/Ywf/ehHrFu3ji9/+cssXLiw9tGiAFOnTuXMM8+sV+7YsWOZMmVK7fiDDz5I7969\nOeigg1i6dCmnnnoqV155JWvXrmXSpEn867/+K6tXrwZg3LhxDB06lFWrVnHFFVcwefLkrT4OeeFE\nbmZmm+nWrRtPPPEEnTp14ktf+hK9e/dm9OjRvP7665nWP/fcc/nkJz9Jp06d6N69O6NGjWLq1KlA\n8pjRBQsWMGLEiHrrjRs3jhkzZvDee+8BScIfO3YsAPfccw+nnHIKJ554IgDHHnssQ4YMYfbs2SxZ\nsoSnn36aq6++mu22244jjjiiwe1vq5zIzcysnn333Ze77rqLxYsX88ILL7Bs2TIuvPDCTOv27dt3\ns/GxY8fWJvIpU6YwevRodtxxx3rrDRw4kMGDBzNz5kzeffddZsyYUVtzX7RoEdOnT6dXr1706tWL\nnj178uSTT7J8+XKWLVtGz5492WmnnWq31b9//y3d9dwpaiKXdKekaknPNTDvvyRtktSrYNplkl6S\n9KKkE4oZm5mZZTNo0CDOOeccXnjhBT72sY+xfv362nnLly+vt3zdpvbjjz+elStX8uyzzzJt2jTG\njRvXaFlnnHEGU6ZM4YEHHmD//fdn7733BpIfB2effTZr1qxhzZo1rF27lnXr1nHJJZfQp08f1q5d\ny7vvvlu7ncWLF2/tbudGsWvkdwMn1p0oqRw4HlhUMG0/YAywH3AycKvc1dHMrM0tWLCAG2+8kaVL\nlwKwZMkSpk6dyrBhw/j0pz/NY489xpIlS3jzzTe5/vrrm91ely5dOO2007j44otZu3Ytxx9/fKPL\nnnHGGcyZM4fbbrtts4T/+c9/npkzZzJnzhw2bdrEe++9x9y5c1m2bBn9+vVjyJAhXHXVVXz44Yc8\n8cQTzJw5c+sPRE4UNZFHxBPA2gZm3QRcXGfaKGBaRGyIiNeAl4BDihmfmZnV161bN/7whz9w6KGH\n0q1bNz73uc9x4IEHMmnSJI477jhOP/10DjzwQIYOHVrvXHRj9a+xY8fy8MMPM2bMGDp16tTo8mVl\nZQwbNox58+Zx+umn104vLy/ngQce4Nprr6V3797079+fSZMm1faWv+eee5g3bx677ror11xzDeec\nc05rHY52TxFR3AKk/sDMiDgwHR8JVETENyS9Cnw2ItZI+m/g9xExJV3uR8DsiPh5A9uMYsddUFZR\nr+usVZlcb2lmHcOQIUN4+umnN5tWVl6WXEteJHvstQcr/rGiaNu31tHQewOSfBQR9X4ptekNYSTt\nBFxO0qxuZmYFnGRtS7T1nd0GAgOAZ9Pz3+XAnyUdAiwF+hUsW55Oa1BlZWXtcEVFBRUVFa0frZmZ\nWYlUVVVRVVXV7HJt0bQ+gKRp/VMNzHsVODgi1koaDNwDHArsBfwW+ERDbehuWjezvGus+dSspU3r\nxb78bArwO2CQpMWSxtdZJAABRMR8YDowH5gNnN9m2drMzCynitq0HhGNXyyYzP94nfHrgOuKGZOZ\nmdm2xHd2MzMzyzEncjMzsxzz88jNzEqgT58+DBkypNRhWDvUp0+fFi3vRG5mVgId6RaiVlxuWjcz\nM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdy\nMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxz\nIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPL\nMSdyMzOzHHMiNzMzy7GiJnJJd0qqlvRcwbTvSnpR0jOS/ldS94J5l0l6KZ1/QjFjMzMz2xYUu0Z+\nN3BinWlzgP0j4iDgJeAyAEmDgTHAfsDJwK2SVOT4zMzMcq2oiTwingDW1pn2UERsSkfnAeXp8Ehg\nWkRsiIjXSJL8IcWMz8zMLO9KfY78PGB2OrwXsKRg3tJ0mpmZmTWiZIlc0jeBDyNiaqliMDMzy7su\npShU0rnAPwHHFExeCvQtGC9PpzWosrKydriiooKKiorWDNHMzKykqqqqqKqqanY5RURRA5E0AJgZ\nEZ9Kx08CbgCOjIjVBcsNBu4BDiVpUv8t8IloIEBJDU0uCklQ2QYFVUJb7ZOZmeWPJCKiXifwotbI\nJU0BKoBdJS0GrgIuB7YHfpt2Sp8XEedHxHxJ04H5wIfA+W2Wrc3MzHKq6DXyYnCN3MzMOprGauSl\n7rVuZmZmW8GJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3M\nzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInc\n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\n26CgSvDTYc3MrDGSiAjVnZ7leeRblbCb8HXgHknbkTyIZTzQGZgu6TxgETCmSGWbmZltE7Lc2W0d\nH52r3h7YDngnIrpvTcER8SwwtIFZx23Nds3MzDqSLDXybjXDkgSMAg4rZlBmZmaWTZZe67Ui8Uvg\nxCLFY2ZmZi2QpWn9XwpGOwFDgPeKFpGZmZllluXys8Lnkm8guQf6qKJEY2ZmZi2S5Ry5n0tuZmbW\nTjWayCVd2cR6ERHXFCEeMzMza4GmauTvNDBtZ+ALwK6AE7mZmVmJNZrII+KGmmFJ3YALSG7aMg24\nobH1zMzMrO00eY5cUi/gG8CZJI8VPTgi1rZFYGZmZta8ps6Rfw/4F+AO4FMR8XabRWVmZmaZNPrQ\nFEmbSJ52toHNHycqks5uW3WL1q3hh6aYmVlH0+KHpkREi+76ZmZmZm3PydrMzCzHnMjNzMxyzInc\nzMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMec\nyM3MzHLMidzMzCzHnMjNzMxyzIncmlVWXoakor/KystKvatmZrnT6PPIzWpUL62GyjYop7K6+IWY\nmW1jXCM3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiZySZ0k/VnSjHS8p6Q5khZI+o2k\nHqWMz8zMrL0rdY38AmB+wfgE4KGI2Bd4BLisJFGZmZnlRMkSuaRy4J+AHxVMHgVMTocnA6PbOi4z\nM7M8KeUNYW4CLgYKm8/3iIhqgIhYIWn3xlaWVOTwzMzM2r+S1MglnQJUR8QzQFMZOZqa0RYvMzOz\n9qxUNfLhwEhJ/wTsBHST9FNghaQ9IqJaUhnwemMbqCwYrkhfZmZm24qqqiqqqqqaXU4Rpa13SjoK\n+K+IGCnpu8DqiJgo6VKgZ0RMaGCdNota0Cb3GacSSv2/aIykDn8MzMxKTRIRUa8Vu9S91uu6Hjhe\n0gLg2HTczMzMGlHyp59FxFxgbjq8BjiutBGZmZnlR3urkZuZmVkLOJGbmZnlmBO5mZlZjjmRm5mZ\n5ZgTuZmZWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZuZmeWYE7mZ\nmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZtlVFZehqSiv8rKy0q9q2aWI11KHYBZXlQv\nrYbKNiinsrr4hZjZNsM1cjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMz\nsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiRySeWSHpH0\ngqTnJX09nd5T0hxJCyT9RlKPUsRnZmaWF6WqkW8AvhER+wPDgK9K+iQwAXgoIvYFHgEuK1F8ZmZm\nuVCSRB4RKyLimXT4beBFoBwYBUxOF5sMjC5FfGZmZnlR8nPkkgYABwHzgD0iohqSZA/sXrrIzMzM\n2r+SJnJJHwPuBy5Ia+ZRZ5G642ZmZlagS6kKltSFJIn/NCIeSCdXS9ojIqollQGvN7Z+ZcFwRfoy\nMzPbVlRVVVFVVdXscoooTaVX0k+AVRHxjYJpE4E1ETFR0qVAz4iY0MC6bRa1YPNfDcVSCaX6XzRH\nUoc/BuDjYGalJYmIUN3pJamRSxoOnAk8L+kvJE3olwMTgemSzgMWAWNKEZ/ly4CyMhZVV5c6DDOz\nkihJIo+IJ4HOjcw+ri1jsfxbVF3dJp0p6v0MNjNrB0rea93MzMy2nBO5mZlZjjmRm5mZ5ZgTuZmZ\nWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTeY4NKCtDUtFfZmbWfpXs6We29Xxr\nUjMzc43czMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ\n3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzH\nnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM2sRcrKy5BU9FdZeVmpdzW3BpS1zf9oQJn/R+1B\nl1IH0BBJJwE3k/zQuDMiJpY4JDNLVS+thso2KKeyuviFbKMWVVcTbVCOqv0/ag/aXY1cUifgf4AT\ngf2BsZI+WdqozCwP2qomWtarV6l31dqJqqqqUofQ/hI5cAjwUkQsiogPgWnAqBLHZGY5UFMTLfar\neu3aNtsna9+cyBu2F7CkYPwf6TQza0Rb1UQllXpXrT0R7ba/RFt9Jm6eNKkIB7Zl2uU5cjNrmbY6\nJwrgVG61gnbbX6LN+gm8804blNJMDBFt9fHPRtJhQGVEnJSOTwCisMObpPYVtJmZWRuIiHq/pdtj\nIu8MLACOBZYDfwTGRsSLJQ3MzMysHWp3TesRsVHSfwBz+OjyMydxMzOzBrS7GrmZmZll1x57rbcL\nkk6S9DdJCyVdWup4SkHSnZKqJT1X6lhKRVK5pEckvSDpeUlfL3VMpSBpB0l/kPSX9DhcVeqYSkVS\nJ0l/ljSj1LGUiqTXJD2bvh/+WOp4SkVSD0n3SXox/Y44tCRxuEZen5Kb0iwkOU+/DHgKOCMi/lbS\nwNqYpMOBt4GfRMSBpY6nFCSVAWUR8YykjwF/AkZ1tPcCgKSuEbE+7cfyJPD1iOhwX+KS/hP4LNA9\nIkaWOp5SkPQK8NmI6NAX1Ev6MTA3Iu6W1AXoGhFvtXUcrpE3zDelASLiCaBDf1AjYkVEPJMOvw28\nSAe9r0FErE8HdyDpX9PhagGSyoF/An5U6lhKTHTw/CGpO3BERNwNEBEbSpHEoYP/I5rgm9JYPZIG\nAAcBfyhtJKWRNin/BVgB/DYinip1TCVwE3AxHfBHTB0B/FbSU5K+WOpgSmRvYJWku9NTLXdI2qkU\ngTiRm2WQNqvfD1yQ1sw7nIjYFBGfAcqBQyUNLnVMbUnSKUB12kIjOva9cYZHxMEkrRNfTU/DdTRd\ngIOBH6THYj0woRSBOJE3bCnQr2C8PJ1mHVB67ut+4KcR8UCp4ym1tPnwUeCkUsfSxoYDI9Pzw1OB\noyX9pMQxlURELE//rgR+QXI6sqP5B7AkIp5Ox+8nSextzom8YU8B+0jqL2l74Aygo/ZQ7eg1D4C7\ngPkRcUupAykVSbtJ6pEO7wQcD3SoDn8RcXlE9IuIj5N8JzwSEWeXOq62Jqlr2kKFpJ2BE4C/ljaq\nthcR1cASSYPSSccC80sRS7u7IUx74JvSJCRNASqAXSUtBq6q6djRUUgaDpwJPJ+eHw7g8oh4sLSR\ntbk+wOT0io5OwL0RMbvEMVlp7AH8Ir1VdhfgnoiYU+KYSuXrwD2StgNeAcaXIghffmZmZpZjblo3\nMzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI366AkbUzvEf28pHsl7dgK2zxH\n0n+3Rnxmlo0TuVnH9U5EHBwRnwI+BL6cdcX0xjCN8c0pzNqQE7mZATwO7AMg6RfpU62el/R/ahaQ\ntE7SpPQOd4dJGiLpSUnPSJqX3q4TYC9Jv5a0QNLEEuyLWYfiW7SadVyC2ofCnAz8Op0+PiLeSJva\nn5L0vxGxFtgZ+H1EXJTekvJvwGkR8ef03tvvpet/muRxrx8CCyR9PyL80CGzInGN3Kzj2knSn4E/\nAouAO9PpF0p6BphH8uS/T6TTNwA/T4f3BZZFxJ8BIuLtiNiYzns4HX+f5CES/Yu/K2Ydl2vkZh3X\n+vQ5yrUkHQUcAxwaEe9LehSo6QT3Xmz+cIbGnor3fsHwRvw9Y1ZUrpGbdVwNJeIewNo0iX8SOKyR\n5RcAZZI+CyDpY5I6Fy9UM2uMfymbdVwN9S5/EPiypBdIkvXvG1o+Ij6UdDrwP+nzydcDx2Usw8xa\nkR9jamZmlmNuWjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3Iz\nM7Mc+/+RC0tGUupuygAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>3) If passenger['Sex'] == 'female' and passenger['Age'] &gt; 50, they are more likely to survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[75]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Age&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Sex == &#39;female&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\n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\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>4) If passenger['Age'] &lt; 10 and passenger['SibSp'] &lt; 3 and passenger['Sex'] == 'male', they are more likely to survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[80]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;SibSp&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Age &lt; 10&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Sex == &#39;male&#39;&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\n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\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>5) If passenger['Age'] &lt; 10 and passenger['Pclass'] == 2, they are more likely to survive.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[90]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">survival_stats</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">outcomes</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Pclass&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Age &lt; 10&quot;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nhv3NWrCg7loigssvv5znnnuOWbNmceKJJ3LWWWfx8Y9/vO519IaW5xuxbNmyZpdQNwNbkvqwlsBd\nd911Ofjgg/nVr37F1KlTuffeewE45phjOPnkk1vn/853vsMmm2zCiBEj+NnPftZly3Pvvffm5JNP\nZo899mC99dbjgAMO4Jlnnmmdfumll/LOd76TIUOGsM8++3D//fcD8JGPfITZs2czfvx41ltvPaZM\nmbLCup9++mnGjx/P4MGD2XDDDdlrr71ap7XfTV/7HGbOnMnIkSP59re/zfDhw/nYxz7GdtttxxVX\nXNE6/7Jly9h44425/fbbmTVrFv369WP58uVcdNFF7Lzzzm3q+N73vsdhhx0GwCuvvMLxxx/PqFGj\nGD58OJ/97Gd5+eWXu/kfqJ+BLUlqtfPOOzNixAhuuOGGFaZdeeWVnH322VxzzTU8+OCDXH311d2u\n74ILLmDq1KksXLiQl19+uTV8H3jgASZNmsQPf/hDFi5cyIEHHsjBBx/Ma6+9xs9//nM222wzLrvs\nMhYvXszxxx+/wnq/+93vMnLkSJ5++mmefPJJzjzzzNZp3e2+nj9/Ps8++yyzZ8/mxz/+MZMmTWLa\ntGltnudGG23ETjvt1GZ948eP54EHHuDhhx9u8/w+9KEPAXDCCSfw0EMPceedd/LQQw8xd+5cTjvt\ntG5fo3oZ2JKkNjbZZJM2LeEWF198Mccccwzbbrsta6+9dl23wDzmmGPYaqutWHPNNZkwYQK33347\nABdddBEHH3ww++yzD/379+f444/nxRdf5E9/+lPrsl3tbh84cCDz5s3j0UcfpX///uy+++51LQfQ\nv39/Tj31VAYOHMiaa67JxIkTufTSS3nppZeAIoQnTpy4wnJrr702hx56KBdccAEADz74IPfffz+H\nHHIIAOeddx7f+973WH/99VlnnXU48cQTW+ddHQxsSVIbc+fOZciQISuMf+KJJxg5cmTr8KhRo7oN\nx2E1neAGDRrE888/37quUaNGtU6LCEaOHMncuXPrqvErX/kKW221FePGjWPrrbfmrLPOqms5gI02\n2oiBAwe2Dm+11VZst912TJ8+nRdffJFLL72USZMmdbjsxIkTW0N42rRpHHbYYay55posXLiQpUuX\n8t73vpchQ4YwZMgQDjzwQJ5++um66+qOlyaVJLW65ZZbeOKJJ9hzzz1XmDZ8+HDmzJnTOjxr1qxV\n7j29ySabcPfdd7cZN2fOHEaMGAF0v1t7nXXWYcqUKUyZMoV7772Xvffem1122YW9996bQYMGsXTp\n0tZ558+f3+aHRkfrPvLII5k2bRrLli1j++23Z8stt+xwu2PHjmXhwoXccccdXHjhhXz/+98H4K1v\nfSuDBg3innvuYfjw4fW9CCvJFrYkiSVLlnDZZZcxceJEjjrqKLbbbrsV5pkwYQL/+7//y3333cfS\npUvf0PHZCRMmcPnll3Pttdfy2muvMWXKFNZaay122203oGiZd3V+9+WXX956LHnddddlwIAB9OtX\nRNpOO+3EtGnTWL58OVdeeSUzZ87stp4jjzySGTNmcO65567Quq7dizBgwACOOOIIvvzlL7No0SLG\njh0LFD8CPvnJT/LFL36RhQsXAsWeihkzZqzEq9I1A1uS+rDx48ez/vrrs9lmm/HNb36T448/np/+\n9Ket02tbowcccABf/OIX2Weffdhmm23Yd999u1x3V63kbbbZhl/+8pd8/vOfZ6ONNuLyyy9n+vTp\nDBhQ7Pg98cQTOf300xkyZAhnn332Css/+OCD7Lfffqy77rrsvvvufO5zn2vtKf6DH/yASy+9lMGD\nB3PBBRfwz//8z92+DsOGDWO33Xbj5ptv5oMf/GCXz2PixIlcc801TJgwofVHAsBZZ53F1ltvzfve\n9z422GADxo0bxwMPPNDttuvl/bAlqYFGjx7d5m5dmw8btlLnSq+sUUOH8tj8+Q1bv1aP9u+LFt4P\nW5J6CcNUq8pd4pIkVYCBLUlSBRjYkiRVgIEtSVIF2OlMknqZO++4g1defbXZZTTNGgMHsuO73tXs\nMnodA1uSeplXXn2V0c0uoolu7cM/VrriLnFJkirAwJYkNdxnvvUtzqi5gtrqcuqpp3LUUUet9vX2\nRu4Sl6QeNGzEMBbMbdyVzoZuPIT5l19V9/w33n47J/znf3LPI48woH9/tt1iC75/3HG8d9ttV2td\n55544mpdX61VvQFJ1RjYktSDFsxdAJMbuP7JK97HujNLXniB8ccdx4+++lWO2G8/Xnn1VW647TbW\nrLn1ZL0ys88EZ7O4S1yS+qgHZs8mIpgwdiwRwZprrMF+u+7KO7femlPPO4+jTj65dd5Z8+bRb5dd\nWL58OQB7f/rTnHTuuezxiU+wzp578p1f/IKdP/KRNuv/3rRpHHb88QAcc+qpnPw//wPAdhMmcMVN\nN7XOt2zZMjYeN47b778fgLvuuovdd9+dwYMH8+53v7vN3bYee+wxxowZw/rrr8/+++/PU0891ZgX\npxcysCWpj9pms83o368fH508mSv/9CeeXbKkzfT2Leb2w7/8/e/5vyedxJKZM/n04YfzwOzZPPz4\n463TL7jqKj50wAErbHfiuHFMu/LK1uEr//xnNtpgA3Z6+9uZ++ST/Md//Acnn3wyixYtYsqUKfzL\nv/wLTz/9NACTJk1i55135qmnnuKkk05i6tSpb/h1qAoDW5L6qHXXWYcbzzuPfv368W9nnslGY8dy\n2PHH8+Qz9e1W/+jBB/OOzTenX79+rPeWt3DoXntxwVXF8fMHZ8/m/lmzGL/nnissN+mAA7j0hht4\n6eWXgSLYJ+6/PwDnX3kle+yxB/uXw/vuuy+jR4/miiuuYM6cOdx6662cdtppDBw4kD333JPx48ev\njpeiEgxsSerD3r755vz05JOZfdll3POrX/HEwoV8sYP7T3dk5NChbYYnjhvXGtjTrrqKw8aMYa01\n11xhua1GjGC7LbZg+g038OJLL3HpDTe0tsRnzZvH1VdfzZAhQxgyZAiDBw/mpptuYt68eTzxxBMM\nHjyYtddeu3Vdo0aNWtWnXjl2OpMkAbDNqFEcfdBB/Pi3v+W973gHS196qXXavA6OFbffRT52111Z\n+Oyz3PHAA1w4YwbfP+64Trd15NixTLvqKpYtX872W27JFptuChQ/Aj7wgQ/w61//eoVlZs+ezaJF\ni3jxxRdbQ3v27Nn069c32p5941lKklZw/2OPcfb55zP3yScBmDN/PhfMmMFuO+zAu972Nq6/7Tbm\nzJ/Pc88/z7fqOFY8YMAAjth3X778wx+yaPFixu66a6fzHjluHDNuvplzL7mESeXub4APH3ggN9xw\nAzNmzGD58uW89NJLzJw5kyeeeILNNtuM0aNHc8opp/Dqq69y4403Mn369Df+QlSEgS1JfdS666zD\nX+6+m12POYZ199qL93/84+y49dZMOfZY9tt1Vz44diw7TprEzkcfvcKx6M5O4Zq4//5cc8stTBg7\ntk3Lt/38w976VnbbYQduvvtuPjh2bOv4EUOHMmXKFM4880w22mgjRo0axZQpU1p7p59//vncfPPN\nbLjhhpx++ukcffTRq+vl6PUiM5tdQ6ciIntzfZLUndGjR3Prrbe2Dve2C6f0RrdSvG5vZu3fFy0i\n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\nklQB/x/DUF1sByf4KwAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Accuracy\">Accuracy<a class=\"anchor-link\" href=\"#Accuracy\">&#182;</a></h3><p>81.71% on the data itself.</p>\n<p>This is kind of cheating because I can see that all males under the age of 10 who have 0-1 siblings (or spouses) survived. So theoretically I could get 100% accuracy by specifying one category (combination of filters)-outcome pair for every single datapoint.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Conclusion\">Conclusion<a class=\"anchor-link\" href=\"#Conclusion\">&#182;</a></h1><p>After several iterations of exploring and conditioning on the data, you have built a useful algorithm for predicting the survival of each passenger aboard the RMS Titanic. The technique applied in this project is a manual implementation of a simple machine learning model, the <em>decision tree</em>. A decision tree splits a set of data into smaller and smaller groups (called <em>nodes</em>), by one feature at a time. Each time a subset of the data is split, our predictions become more accurate if each of the resulting subgroups are more homogeneous (contain similar labels) than before. The advantage of having a computer do things for us is that it will be more exhaustive and more precise than our manual exploration above. <a href=\"http://www.r2d3.us/visual-intro-to-machine-learning-part-1/\">This link</a> provides another introduction into machine learning using a decision tree.</p>\n<p>A decision tree is just one of many models that come from <em>supervised learning</em>. In supervised learning, we attempt to use features of the data to predict or model things with objective outcome labels. That is to say, each of our data points has a known outcome value, such as a categorical, discrete label like <code>'Survived'</code>, or a numerical, continuous value like predicting the price of a house.</p>\n<h3 id=\"Question-5\">Question 5<a class=\"anchor-link\" href=\"#Question-5\">&#182;</a></h3><p><em>Think of a real-world scenario where supervised learning could be applied. What would be the outcome variable that you are trying to predict? Name two features about the data used in this scenario that might be helpful for making the predictions.</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer</strong>: <em>Replace this text with your answer to the question above.</em></p>\n<p><strong>Scenario</strong>: A bank issuing loans.</p>\n<p><strong>Outcome variable</strong>: Whether or not someone will return a loan.</p>\n<p><strong>Features that may be useful</strong>: (1) Person's annual income, (2) whether that person has a criminal record.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<blockquote><p><strong>Note</strong>: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to<br>\n<strong>File -&gt; Download as -&gt; HTML (.html)</strong>. Include the finished document along with this notebook as your submission.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n    </div>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "p0-titanic-survival-exploration/titanic_data.csv",
    "content": "PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked\r\n1,0,3,\"Braund, Mr. Owen Harris\",male,22,1,0,A/5 21171,7.25,,S\r\n2,1,1,\"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\",female,38,1,0,PC 17599,71.2833,C85,C\r\n3,1,3,\"Heikkinen, Miss. Laina\",female,26,0,0,STON/O2. 3101282,7.925,,S\r\n4,1,1,\"Futrelle, Mrs. Jacques Heath (Lily May Peel)\",female,35,1,0,113803,53.1,C123,S\r\n5,0,3,\"Allen, Mr. William Henry\",male,35,0,0,373450,8.05,,S\r\n6,0,3,\"Moran, Mr. James\",male,,0,0,330877,8.4583,,Q\r\n7,0,1,\"McCarthy, Mr. Timothy J\",male,54,0,0,17463,51.8625,E46,S\r\n8,0,3,\"Palsson, Master. Gosta Leonard\",male,2,3,1,349909,21.075,,S\r\n9,1,3,\"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\",female,27,0,2,347742,11.1333,,S\r\n10,1,2,\"Nasser, Mrs. Nicholas (Adele Achem)\",female,14,1,0,237736,30.0708,,C\r\n11,1,3,\"Sandstrom, Miss. Marguerite Rut\",female,4,1,1,PP 9549,16.7,G6,S\r\n12,1,1,\"Bonnell, Miss. Elizabeth\",female,58,0,0,113783,26.55,C103,S\r\n13,0,3,\"Saundercock, Mr. William Henry\",male,20,0,0,A/5. 2151,8.05,,S\r\n14,0,3,\"Andersson, Mr. Anders Johan\",male,39,1,5,347082,31.275,,S\r\n15,0,3,\"Vestrom, Miss. Hulda Amanda Adolfina\",female,14,0,0,350406,7.8542,,S\r\n16,1,2,\"Hewlett, Mrs. (Mary D Kingcome) \",female,55,0,0,248706,16,,S\r\n17,0,3,\"Rice, Master. Eugene\",male,2,4,1,382652,29.125,,Q\r\n18,1,2,\"Williams, Mr. Charles Eugene\",male,,0,0,244373,13,,S\r\n19,0,3,\"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)\",female,31,1,0,345763,18,,S\r\n20,1,3,\"Masselmani, Mrs. Fatima\",female,,0,0,2649,7.225,,C\r\n21,0,2,\"Fynney, Mr. Joseph J\",male,35,0,0,239865,26,,S\r\n22,1,2,\"Beesley, Mr. Lawrence\",male,34,0,0,248698,13,D56,S\r\n23,1,3,\"McGowan, Miss. Anna \"\"Annie\"\"\",female,15,0,0,330923,8.0292,,Q\r\n24,1,1,\"Sloper, Mr. William Thompson\",male,28,0,0,113788,35.5,A6,S\r\n25,0,3,\"Palsson, Miss. Torborg Danira\",female,8,3,1,349909,21.075,,S\r\n26,1,3,\"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)\",female,38,1,5,347077,31.3875,,S\r\n27,0,3,\"Emir, Mr. Farred Chehab\",male,,0,0,2631,7.225,,C\r\n28,0,1,\"Fortune, Mr. Charles Alexander\",male,19,3,2,19950,263,C23 C25 C27,S\r\n29,1,3,\"O'Dwyer, Miss. Ellen \"\"Nellie\"\"\",female,,0,0,330959,7.8792,,Q\r\n30,0,3,\"Todoroff, Mr. Lalio\",male,,0,0,349216,7.8958,,S\r\n31,0,1,\"Uruchurtu, Don. Manuel E\",male,40,0,0,PC 17601,27.7208,,C\r\n32,1,1,\"Spencer, Mrs. William Augustus (Marie Eugenie)\",female,,1,0,PC 17569,146.5208,B78,C\r\n33,1,3,\"Glynn, Miss. Mary Agatha\",female,,0,0,335677,7.75,,Q\r\n34,0,2,\"Wheadon, Mr. Edward H\",male,66,0,0,C.A. 24579,10.5,,S\r\n35,0,1,\"Meyer, Mr. Edgar Joseph\",male,28,1,0,PC 17604,82.1708,,C\r\n36,0,1,\"Holverson, Mr. Alexander Oskar\",male,42,1,0,113789,52,,S\r\n37,1,3,\"Mamee, Mr. Hanna\",male,,0,0,2677,7.2292,,C\r\n38,0,3,\"Cann, Mr. Ernest Charles\",male,21,0,0,A./5. 2152,8.05,,S\r\n39,0,3,\"Vander Planke, Miss. Augusta Maria\",female,18,2,0,345764,18,,S\r\n40,1,3,\"Nicola-Yarred, Miss. Jamila\",female,14,1,0,2651,11.2417,,C\r\n41,0,3,\"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)\",female,40,1,0,7546,9.475,,S\r\n42,0,2,\"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)\",female,27,1,0,11668,21,,S\r\n43,0,3,\"Kraeff, Mr. Theodor\",male,,0,0,349253,7.8958,,C\r\n44,1,2,\"Laroche, Miss. Simonne Marie Anne Andree\",female,3,1,2,SC/Paris 2123,41.5792,,C\r\n45,1,3,\"Devaney, Miss. Margaret Delia\",female,19,0,0,330958,7.8792,,Q\r\n46,0,3,\"Rogers, Mr. William John\",male,,0,0,S.C./A.4. 23567,8.05,,S\r\n47,0,3,\"Lennon, Mr. Denis\",male,,1,0,370371,15.5,,Q\r\n48,1,3,\"O'Driscoll, Miss. Bridget\",female,,0,0,14311,7.75,,Q\r\n49,0,3,\"Samaan, Mr. Youssef\",male,,2,0,2662,21.6792,,C\r\n50,0,3,\"Arnold-Franchi, Mrs. Josef (Josefine Franchi)\",female,18,1,0,349237,17.8,,S\r\n51,0,3,\"Panula, Master. Juha Niilo\",male,7,4,1,3101295,39.6875,,S\r\n52,0,3,\"Nosworthy, Mr. Richard Cater\",male,21,0,0,A/4. 39886,7.8,,S\r\n53,1,1,\"Harper, Mrs. Henry Sleeper (Myna Haxtun)\",female,49,1,0,PC 17572,76.7292,D33,C\r\n54,1,2,\"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)\",female,29,1,0,2926,26,,S\r\n55,0,1,\"Ostby, Mr. Engelhart Cornelius\",male,65,0,1,113509,61.9792,B30,C\r\n56,1,1,\"Woolner, Mr. Hugh\",male,,0,0,19947,35.5,C52,S\r\n57,1,2,\"Rugg, Miss. Emily\",female,21,0,0,C.A. 31026,10.5,,S\r\n58,0,3,\"Novel, Mr. Mansouer\",male,28.5,0,0,2697,7.2292,,C\r\n59,1,2,\"West, Miss. Constance Mirium\",female,5,1,2,C.A. 34651,27.75,,S\r\n60,0,3,\"Goodwin, Master. William Frederick\",male,11,5,2,CA 2144,46.9,,S\r\n61,0,3,\"Sirayanian, Mr. Orsen\",male,22,0,0,2669,7.2292,,C\r\n62,1,1,\"Icard, Miss. Amelie\",female,38,0,0,113572,80,B28,\r\n63,0,1,\"Harris, Mr. Henry Birkhardt\",male,45,1,0,36973,83.475,C83,S\r\n64,0,3,\"Skoog, Master. Harald\",male,4,3,2,347088,27.9,,S\r\n65,0,1,\"Stewart, Mr. Albert A\",male,,0,0,PC 17605,27.7208,,C\r\n66,1,3,\"Moubarek, Master. Gerios\",male,,1,1,2661,15.2458,,C\r\n67,1,2,\"Nye, Mrs. (Elizabeth Ramell)\",female,29,0,0,C.A. 29395,10.5,F33,S\r\n68,0,3,\"Crease, Mr. Ernest James\",male,19,0,0,S.P. 3464,8.1583,,S\r\n69,1,3,\"Andersson, Miss. Erna Alexandra\",female,17,4,2,3101281,7.925,,S\r\n70,0,3,\"Kink, Mr. Vincenz\",male,26,2,0,315151,8.6625,,S\r\n71,0,2,\"Jenkin, Mr. Stephen Curnow\",male,32,0,0,C.A. 33111,10.5,,S\r\n72,0,3,\"Goodwin, Miss. Lillian Amy\",female,16,5,2,CA 2144,46.9,,S\r\n73,0,2,\"Hood, Mr. Ambrose Jr\",male,21,0,0,S.O.C. 14879,73.5,,S\r\n74,0,3,\"Chronopoulos, Mr. Apostolos\",male,26,1,0,2680,14.4542,,C\r\n75,1,3,\"Bing, Mr. Lee\",male,32,0,0,1601,56.4958,,S\r\n76,0,3,\"Moen, Mr. Sigurd Hansen\",male,25,0,0,348123,7.65,F G73,S\r\n77,0,3,\"Staneff, Mr. Ivan\",male,,0,0,349208,7.8958,,S\r\n78,0,3,\"Moutal, Mr. Rahamin Haim\",male,,0,0,374746,8.05,,S\r\n79,1,2,\"Caldwell, Master. Alden Gates\",male,0.83,0,2,248738,29,,S\r\n80,1,3,\"Dowdell, Miss. Elizabeth\",female,30,0,0,364516,12.475,,S\r\n81,0,3,\"Waelens, Mr. Achille\",male,22,0,0,345767,9,,S\r\n82,1,3,\"Sheerlinck, Mr. Jan Baptist\",male,29,0,0,345779,9.5,,S\r\n83,1,3,\"McDermott, Miss. Brigdet Delia\",female,,0,0,330932,7.7875,,Q\r\n84,0,1,\"Carrau, Mr. Francisco M\",male,28,0,0,113059,47.1,,S\r\n85,1,2,\"Ilett, Miss. Bertha\",female,17,0,0,SO/C 14885,10.5,,S\r\n86,1,3,\"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)\",female,33,3,0,3101278,15.85,,S\r\n87,0,3,\"Ford, Mr. William Neal\",male,16,1,3,W./C. 6608,34.375,,S\r\n88,0,3,\"Slocovski, Mr. Selman Francis\",male,,0,0,SOTON/OQ 392086,8.05,,S\r\n89,1,1,\"Fortune, Miss. Mabel Helen\",female,23,3,2,19950,263,C23 C25 C27,S\r\n90,0,3,\"Celotti, Mr. Francesco\",male,24,0,0,343275,8.05,,S\r\n91,0,3,\"Christmann, Mr. Emil\",male,29,0,0,343276,8.05,,S\r\n92,0,3,\"Andreasson, Mr. Paul Edvin\",male,20,0,0,347466,7.8542,,S\r\n93,0,1,\"Chaffee, Mr. Herbert Fuller\",male,46,1,0,W.E.P. 5734,61.175,E31,S\r\n94,0,3,\"Dean, Mr. Bertram Frank\",male,26,1,2,C.A. 2315,20.575,,S\r\n95,0,3,\"Coxon, Mr. Daniel\",male,59,0,0,364500,7.25,,S\r\n96,0,3,\"Shorney, Mr. Charles Joseph\",male,,0,0,374910,8.05,,S\r\n97,0,1,\"Goldschmidt, Mr. George B\",male,71,0,0,PC 17754,34.6542,A5,C\r\n98,1,1,\"Greenfield, Mr. William Bertram\",male,23,0,1,PC 17759,63.3583,D10 D12,C\r\n99,1,2,\"Doling, Mrs. John T (Ada Julia Bone)\",female,34,0,1,231919,23,,S\r\n100,0,2,\"Kantor, Mr. Sinai\",male,34,1,0,244367,26,,S\r\n101,0,3,\"Petranec, Miss. Matilda\",female,28,0,0,349245,7.8958,,S\r\n102,0,3,\"Petroff, Mr. Pastcho (\"\"Pentcho\"\")\",male,,0,0,349215,7.8958,,S\r\n103,0,1,\"White, Mr. Richard Frasar\",male,21,0,1,35281,77.2875,D26,S\r\n104,0,3,\"Johansson, Mr. Gustaf Joel\",male,33,0,0,7540,8.6542,,S\r\n105,0,3,\"Gustafsson, Mr. Anders Vilhelm\",male,37,2,0,3101276,7.925,,S\r\n106,0,3,\"Mionoff, Mr. Stoytcho\",male,28,0,0,349207,7.8958,,S\r\n107,1,3,\"Salkjelsvik, Miss. Anna Kristine\",female,21,0,0,343120,7.65,,S\r\n108,1,3,\"Moss, Mr. Albert Johan\",male,,0,0,312991,7.775,,S\r\n109,0,3,\"Rekic, Mr. Tido\",male,38,0,0,349249,7.8958,,S\r\n110,1,3,\"Moran, Miss. Bertha\",female,,1,0,371110,24.15,,Q\r\n111,0,1,\"Porter, Mr. Walter Chamberlain\",male,47,0,0,110465,52,C110,S\r\n112,0,3,\"Zabour, Miss. Hileni\",female,14.5,1,0,2665,14.4542,,C\r\n113,0,3,\"Barton, Mr. David John\",male,22,0,0,324669,8.05,,S\r\n114,0,3,\"Jussila, Miss. Katriina\",female,20,1,0,4136,9.825,,S\r\n115,0,3,\"Attalah, Miss. Malake\",female,17,0,0,2627,14.4583,,C\r\n116,0,3,\"Pekoniemi, Mr. Edvard\",male,21,0,0,STON/O 2. 3101294,7.925,,S\r\n117,0,3,\"Connors, Mr. Patrick\",male,70.5,0,0,370369,7.75,,Q\r\n118,0,2,\"Turpin, Mr. William John Robert\",male,29,1,0,11668,21,,S\r\n119,0,1,\"Baxter, Mr. Quigg Edmond\",male,24,0,1,PC 17558,247.5208,B58 B60,C\r\n120,0,3,\"Andersson, Miss. Ellis Anna Maria\",female,2,4,2,347082,31.275,,S\r\n121,0,2,\"Hickman, Mr. Stanley George\",male,21,2,0,S.O.C. 14879,73.5,,S\r\n122,0,3,\"Moore, Mr. Leonard Charles\",male,,0,0,A4. 54510,8.05,,S\r\n123,0,2,\"Nasser, Mr. Nicholas\",male,32.5,1,0,237736,30.0708,,C\r\n124,1,2,\"Webber, Miss. Susan\",female,32.5,0,0,27267,13,E101,S\r\n125,0,1,\"White, Mr. Percival Wayland\",male,54,0,1,35281,77.2875,D26,S\r\n126,1,3,\"Nicola-Yarred, Master. Elias\",male,12,1,0,2651,11.2417,,C\r\n127,0,3,\"McMahon, Mr. Martin\",male,,0,0,370372,7.75,,Q\r\n128,1,3,\"Madsen, Mr. Fridtjof Arne\",male,24,0,0,C 17369,7.1417,,S\r\n129,1,3,\"Peter, Miss. Anna\",female,,1,1,2668,22.3583,F E69,C\r\n130,0,3,\"Ekstrom, Mr. Johan\",male,45,0,0,347061,6.975,,S\r\n131,0,3,\"Drazenoic, Mr. Jozef\",male,33,0,0,349241,7.8958,,C\r\n132,0,3,\"Coelho, Mr. Domingos Fernandeo\",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S\r\n133,0,3,\"Robins, Mrs. Alexander A (Grace Charity Laury)\",female,47,1,0,A/5. 3337,14.5,,S\r\n134,1,2,\"Weisz, Mrs. Leopold (Mathilde Francoise Pede)\",female,29,1,0,228414,26,,S\r\n135,0,2,\"Sobey, Mr. Samuel James Hayden\",male,25,0,0,C.A. 29178,13,,S\r\n136,0,2,\"Richard, Mr. Emile\",male,23,0,0,SC/PARIS 2133,15.0458,,C\r\n137,1,1,\"Newsom, Miss. Helen Monypeny\",female,19,0,2,11752,26.2833,D47,S\r\n138,0,1,\"Futrelle, Mr. Jacques Heath\",male,37,1,0,113803,53.1,C123,S\r\n139,0,3,\"Osen, Mr. Olaf Elon\",male,16,0,0,7534,9.2167,,S\r\n140,0,1,\"Giglio, Mr. Victor\",male,24,0,0,PC 17593,79.2,B86,C\r\n141,0,3,\"Boulos, Mrs. Joseph (Sultana)\",female,,0,2,2678,15.2458,,C\r\n142,1,3,\"Nysten, Miss. Anna Sofia\",female,22,0,0,347081,7.75,,S\r\n143,1,3,\"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)\",female,24,1,0,STON/O2. 3101279,15.85,,S\r\n144,0,3,\"Burke, Mr. Jeremiah\",male,19,0,0,365222,6.75,,Q\r\n145,0,2,\"Andrew, Mr. Edgardo Samuel\",male,18,0,0,231945,11.5,,S\r\n146,0,2,\"Nicholls, Mr. Joseph Charles\",male,19,1,1,C.A. 33112,36.75,,S\r\n147,1,3,\"Andersson, Mr. August Edvard (\"\"Wennerstrom\"\")\",male,27,0,0,350043,7.7958,,S\r\n148,0,3,\"Ford, Miss. Robina Maggie \"\"Ruby\"\"\",female,9,2,2,W./C. 6608,34.375,,S\r\n149,0,2,\"Navratil, Mr. Michel (\"\"Louis M Hoffman\"\")\",male,36.5,0,2,230080,26,F2,S\r\n150,0,2,\"Byles, Rev. Thomas Roussel Davids\",male,42,0,0,244310,13,,S\r\n151,0,2,\"Bateman, Rev. Robert James\",male,51,0,0,S.O.P. 1166,12.525,,S\r\n152,1,1,\"Pears, Mrs. Thomas (Edith Wearne)\",female,22,1,0,113776,66.6,C2,S\r\n153,0,3,\"Meo, Mr. Alfonzo\",male,55.5,0,0,A.5. 11206,8.05,,S\r\n154,0,3,\"van Billiard, Mr. Austin Blyler\",male,40.5,0,2,A/5. 851,14.5,,S\r\n155,0,3,\"Olsen, Mr. Ole Martin\",male,,0,0,Fa 265302,7.3125,,S\r\n156,0,1,\"Williams, Mr. Charles Duane\",male,51,0,1,PC 17597,61.3792,,C\r\n157,1,3,\"Gilnagh, Miss. Katherine \"\"Katie\"\"\",female,16,0,0,35851,7.7333,,Q\r\n158,0,3,\"Corn, Mr. Harry\",male,30,0,0,SOTON/OQ 392090,8.05,,S\r\n159,0,3,\"Smiljanic, Mr. Mile\",male,,0,0,315037,8.6625,,S\r\n160,0,3,\"Sage, Master. Thomas Henry\",male,,8,2,CA. 2343,69.55,,S\r\n161,0,3,\"Cribb, Mr. John Hatfield\",male,44,0,1,371362,16.1,,S\r\n162,1,2,\"Watt, Mrs. James (Elizabeth \"\"Bessie\"\" Inglis Milne)\",female,40,0,0,C.A. 33595,15.75,,S\r\n163,0,3,\"Bengtsson, Mr. John Viktor\",male,26,0,0,347068,7.775,,S\r\n164,0,3,\"Calic, Mr. Jovo\",male,17,0,0,315093,8.6625,,S\r\n165,0,3,\"Panula, Master. Eino Viljami\",male,1,4,1,3101295,39.6875,,S\r\n166,1,3,\"Goldsmith, Master. Frank John William \"\"Frankie\"\"\",male,9,0,2,363291,20.525,,S\r\n167,1,1,\"Chibnall, Mrs. (Edith Martha Bowerman)\",female,,0,1,113505,55,E33,S\r\n168,0,3,\"Skoog, Mrs. William (Anna Bernhardina Karlsson)\",female,45,1,4,347088,27.9,,S\r\n169,0,1,\"Baumann, Mr. John D\",male,,0,0,PC 17318,25.925,,S\r\n170,0,3,\"Ling, Mr. Lee\",male,28,0,0,1601,56.4958,,S\r\n171,0,1,\"Van der hoef, Mr. Wyckoff\",male,61,0,0,111240,33.5,B19,S\r\n172,0,3,\"Rice, Master. Arthur\",male,4,4,1,382652,29.125,,Q\r\n173,1,3,\"Johnson, Miss. Eleanor Ileen\",female,1,1,1,347742,11.1333,,S\r\n174,0,3,\"Sivola, Mr. Antti Wilhelm\",male,21,0,0,STON/O 2. 3101280,7.925,,S\r\n175,0,1,\"Smith, Mr. James Clinch\",male,56,0,0,17764,30.6958,A7,C\r\n176,0,3,\"Klasen, Mr. Klas Albin\",male,18,1,1,350404,7.8542,,S\r\n177,0,3,\"Lefebre, Master. Henry Forbes\",male,,3,1,4133,25.4667,,S\r\n178,0,1,\"Isham, Miss. Ann Elizabeth\",female,50,0,0,PC 17595,28.7125,C49,C\r\n179,0,2,\"Hale, Mr. Reginald\",male,30,0,0,250653,13,,S\r\n180,0,3,\"Leonard, Mr. Lionel\",male,36,0,0,LINE,0,,S\r\n181,0,3,\"Sage, Miss. Constance Gladys\",female,,8,2,CA. 2343,69.55,,S\r\n182,0,2,\"Pernot, Mr. Rene\",male,,0,0,SC/PARIS 2131,15.05,,C\r\n183,0,3,\"Asplund, Master. Clarence Gustaf Hugo\",male,9,4,2,347077,31.3875,,S\r\n184,1,2,\"Becker, Master. Richard F\",male,1,2,1,230136,39,F4,S\r\n185,1,3,\"Kink-Heilmann, Miss. Luise Gretchen\",female,4,0,2,315153,22.025,,S\r\n186,0,1,\"Rood, Mr. Hugh Roscoe\",male,,0,0,113767,50,A32,S\r\n187,1,3,\"O'Brien, Mrs. Thomas (Johanna \"\"Hannah\"\" Godfrey)\",female,,1,0,370365,15.5,,Q\r\n188,1,1,\"Romaine, Mr. Charles Hallace (\"\"Mr C Rolmane\"\")\",male,45,0,0,111428,26.55,,S\r\n189,0,3,\"Bourke, Mr. John\",male,40,1,1,364849,15.5,,Q\r\n190,0,3,\"Turcin, Mr. Stjepan\",male,36,0,0,349247,7.8958,,S\r\n191,1,2,\"Pinsky, Mrs. (Rosa)\",female,32,0,0,234604,13,,S\r\n192,0,2,\"Carbines, Mr. William\",male,19,0,0,28424,13,,S\r\n193,1,3,\"Andersen-Jensen, Miss. Carla Christine Nielsine\",female,19,1,0,350046,7.8542,,S\r\n194,1,2,\"Navratil, Master. Michel M\",male,3,1,1,230080,26,F2,S\r\n195,1,1,\"Brown, Mrs. James Joseph (Margaret Tobin)\",female,44,0,0,PC 17610,27.7208,B4,C\r\n196,1,1,\"Lurette, Miss. Elise\",female,58,0,0,PC 17569,146.5208,B80,C\r\n197,0,3,\"Mernagh, Mr. Robert\",male,,0,0,368703,7.75,,Q\r\n198,0,3,\"Olsen, Mr. Karl Siegwart Andreas\",male,42,0,1,4579,8.4042,,S\r\n199,1,3,\"Madigan, Miss. Margaret \"\"Maggie\"\"\",female,,0,0,370370,7.75,,Q\r\n200,0,2,\"Yrois, Miss. Henriette (\"\"Mrs Harbeck\"\")\",female,24,0,0,248747,13,,S\r\n201,0,3,\"Vande Walle, Mr. Nestor Cyriel\",male,28,0,0,345770,9.5,,S\r\n202,0,3,\"Sage, Mr. Frederick\",male,,8,2,CA. 2343,69.55,,S\r\n203,0,3,\"Johanson, Mr. Jakob Alfred\",male,34,0,0,3101264,6.4958,,S\r\n204,0,3,\"Youseff, Mr. Gerious\",male,45.5,0,0,2628,7.225,,C\r\n205,1,3,\"Cohen, Mr. Gurshon \"\"Gus\"\"\",male,18,0,0,A/5 3540,8.05,,S\r\n206,0,3,\"Strom, Miss. Telma Matilda\",female,2,0,1,347054,10.4625,G6,S\r\n207,0,3,\"Backstrom, Mr. Karl Alfred\",male,32,1,0,3101278,15.85,,S\r\n208,1,3,\"Albimona, Mr. Nassef Cassem\",male,26,0,0,2699,18.7875,,C\r\n209,1,3,\"Carr, Miss. Helen \"\"Ellen\"\"\",female,16,0,0,367231,7.75,,Q\r\n210,1,1,\"Blank, Mr. Henry\",male,40,0,0,112277,31,A31,C\r\n211,0,3,\"Ali, Mr. Ahmed\",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S\r\n212,1,2,\"Cameron, Miss. Clear Annie\",female,35,0,0,F.C.C. 13528,21,,S\r\n213,0,3,\"Perkin, Mr. John Henry\",male,22,0,0,A/5 21174,7.25,,S\r\n214,0,2,\"Givard, Mr. Hans Kristensen\",male,30,0,0,250646,13,,S\r\n215,0,3,\"Kiernan, Mr. Philip\",male,,1,0,367229,7.75,,Q\r\n216,1,1,\"Newell, Miss. Madeleine\",female,31,1,0,35273,113.275,D36,C\r\n217,1,3,\"Honkanen, Miss. Eliina\",female,27,0,0,STON/O2. 3101283,7.925,,S\r\n218,0,2,\"Jacobsohn, Mr. Sidney Samuel\",male,42,1,0,243847,27,,S\r\n219,1,1,\"Bazzani, Miss. Albina\",female,32,0,0,11813,76.2917,D15,C\r\n220,0,2,\"Harris, Mr. Walter\",male,30,0,0,W/C 14208,10.5,,S\r\n221,1,3,\"Sunderland, Mr. Victor Francis\",male,16,0,0,SOTON/OQ 392089,8.05,,S\r\n222,0,2,\"Bracken, Mr. James H\",male,27,0,0,220367,13,,S\r\n223,0,3,\"Green, Mr. George Henry\",male,51,0,0,21440,8.05,,S\r\n224,0,3,\"Nenkoff, Mr. Christo\",male,,0,0,349234,7.8958,,S\r\n225,1,1,\"Hoyt, Mr. Frederick Maxfield\",male,38,1,0,19943,90,C93,S\r\n226,0,3,\"Berglund, Mr. Karl Ivar Sven\",male,22,0,0,PP 4348,9.35,,S\r\n227,1,2,\"Mellors, Mr. William John\",male,19,0,0,SW/PP 751,10.5,,S\r\n228,0,3,\"Lovell, Mr. John Hall (\"\"Henry\"\")\",male,20.5,0,0,A/5 21173,7.25,,S\r\n229,0,2,\"Fahlstrom, Mr. Arne Jonas\",male,18,0,0,236171,13,,S\r\n230,0,3,\"Lefebre, Miss. Mathilde\",female,,3,1,4133,25.4667,,S\r\n231,1,1,\"Harris, Mrs. Henry Birkhardt (Irene Wallach)\",female,35,1,0,36973,83.475,C83,S\r\n232,0,3,\"Larsson, Mr. Bengt Edvin\",male,29,0,0,347067,7.775,,S\r\n233,0,2,\"Sjostedt, Mr. Ernst Adolf\",male,59,0,0,237442,13.5,,S\r\n234,1,3,\"Asplund, Miss. Lillian Gertrud\",female,5,4,2,347077,31.3875,,S\r\n235,0,2,\"Leyson, Mr. Robert William Norman\",male,24,0,0,C.A. 29566,10.5,,S\r\n236,0,3,\"Harknett, Miss. Alice Phoebe\",female,,0,0,W./C. 6609,7.55,,S\r\n237,0,2,\"Hold, Mr. Stephen\",male,44,1,0,26707,26,,S\r\n238,1,2,\"Collyer, Miss. Marjorie \"\"Lottie\"\"\",female,8,0,2,C.A. 31921,26.25,,S\r\n239,0,2,\"Pengelly, Mr. Frederick William\",male,19,0,0,28665,10.5,,S\r\n240,0,2,\"Hunt, Mr. George Henry\",male,33,0,0,SCO/W 1585,12.275,,S\r\n241,0,3,\"Zabour, Miss. Thamine\",female,,1,0,2665,14.4542,,C\r\n242,1,3,\"Murphy, Miss. Katherine \"\"Kate\"\"\",female,,1,0,367230,15.5,,Q\r\n243,0,2,\"Coleridge, Mr. Reginald Charles\",male,29,0,0,W./C. 14263,10.5,,S\r\n244,0,3,\"Maenpaa, Mr. Matti Alexanteri\",male,22,0,0,STON/O 2. 3101275,7.125,,S\r\n245,0,3,\"Attalah, Mr. Sleiman\",male,30,0,0,2694,7.225,,C\r\n246,0,1,\"Minahan, Dr. William Edward\",male,44,2,0,19928,90,C78,Q\r\n247,0,3,\"Lindahl, Miss. Agda Thorilda Viktoria\",female,25,0,0,347071,7.775,,S\r\n248,1,2,\"Hamalainen, Mrs. William (Anna)\",female,24,0,2,250649,14.5,,S\r\n249,1,1,\"Beckwith, Mr. Richard Leonard\",male,37,1,1,11751,52.5542,D35,S\r\n250,0,2,\"Carter, Rev. Ernest Courtenay\",male,54,1,0,244252,26,,S\r\n251,0,3,\"Reed, Mr. James George\",male,,0,0,362316,7.25,,S\r\n252,0,3,\"Strom, Mrs. Wilhelm (Elna Matilda Persson)\",female,29,1,1,347054,10.4625,G6,S\r\n253,0,1,\"Stead, Mr. William Thomas\",male,62,0,0,113514,26.55,C87,S\r\n254,0,3,\"Lobb, Mr. William Arthur\",male,30,1,0,A/5. 3336,16.1,,S\r\n255,0,3,\"Rosblom, Mrs. Viktor (Helena Wilhelmina)\",female,41,0,2,370129,20.2125,,S\r\n256,1,3,\"Touma, Mrs. Darwis (Hanne Youssef Razi)\",female,29,0,2,2650,15.2458,,C\r\n257,1,1,\"Thorne, Mrs. Gertrude Maybelle\",female,,0,0,PC 17585,79.2,,C\r\n258,1,1,\"Cherry, Miss. Gladys\",female,30,0,0,110152,86.5,B77,S\r\n259,1,1,\"Ward, Miss. Anna\",female,35,0,0,PC 17755,512.3292,,C\r\n260,1,2,\"Parrish, Mrs. (Lutie Davis)\",female,50,0,1,230433,26,,S\r\n261,0,3,\"Smith, Mr. Thomas\",male,,0,0,384461,7.75,,Q\r\n262,1,3,\"Asplund, Master. Edvin Rojj Felix\",male,3,4,2,347077,31.3875,,S\r\n263,0,1,\"Taussig, Mr. Emil\",male,52,1,1,110413,79.65,E67,S\r\n264,0,1,\"Harrison, Mr. William\",male,40,0,0,112059,0,B94,S\r\n265,0,3,\"Henry, Miss. Delia\",female,,0,0,382649,7.75,,Q\r\n266,0,2,\"Reeves, Mr. David\",male,36,0,0,C.A. 17248,10.5,,S\r\n267,0,3,\"Panula, Mr. Ernesti Arvid\",male,16,4,1,3101295,39.6875,,S\r\n268,1,3,\"Persson, Mr. Ernst Ulrik\",male,25,1,0,347083,7.775,,S\r\n269,1,1,\"Graham, Mrs. William Thompson (Edith Junkins)\",female,58,0,1,PC 17582,153.4625,C125,S\r\n270,1,1,\"Bissette, Miss. Amelia\",female,35,0,0,PC 17760,135.6333,C99,S\r\n271,0,1,\"Cairns, Mr. Alexander\",male,,0,0,113798,31,,S\r\n272,1,3,\"Tornquist, Mr. William Henry\",male,25,0,0,LINE,0,,S\r\n273,1,2,\"Mellinger, Mrs. (Elizabeth Anne Maidment)\",female,41,0,1,250644,19.5,,S\r\n274,0,1,\"Natsch, Mr. Charles H\",male,37,0,1,PC 17596,29.7,C118,C\r\n275,1,3,\"Healy, Miss. Hanora \"\"Nora\"\"\",female,,0,0,370375,7.75,,Q\r\n276,1,1,\"Andrews, Miss. Kornelia Theodosia\",female,63,1,0,13502,77.9583,D7,S\r\n277,0,3,\"Lindblom, Miss. Augusta Charlotta\",female,45,0,0,347073,7.75,,S\r\n278,0,2,\"Parkes, Mr. Francis \"\"Frank\"\"\",male,,0,0,239853,0,,S\r\n279,0,3,\"Rice, Master. Eric\",male,7,4,1,382652,29.125,,Q\r\n280,1,3,\"Abbott, Mrs. Stanton (Rosa Hunt)\",female,35,1,1,C.A. 2673,20.25,,S\r\n281,0,3,\"Duane, Mr. Frank\",male,65,0,0,336439,7.75,,Q\r\n282,0,3,\"Olsson, Mr. Nils Johan Goransson\",male,28,0,0,347464,7.8542,,S\r\n283,0,3,\"de Pelsmaeker, Mr. Alfons\",male,16,0,0,345778,9.5,,S\r\n284,1,3,\"Dorking, Mr. Edward Arthur\",male,19,0,0,A/5. 10482,8.05,,S\r\n285,0,1,\"Smith, Mr. Richard William\",male,,0,0,113056,26,A19,S\r\n286,0,3,\"Stankovic, Mr. Ivan\",male,33,0,0,349239,8.6625,,C\r\n287,1,3,\"de Mulder, Mr. Theodore\",male,30,0,0,345774,9.5,,S\r\n288,0,3,\"Naidenoff, Mr. Penko\",male,22,0,0,349206,7.8958,,S\r\n289,1,2,\"Hosono, Mr. Masabumi\",male,42,0,0,237798,13,,S\r\n290,1,3,\"Connolly, Miss. Kate\",female,22,0,0,370373,7.75,,Q\r\n291,1,1,\"Barber, Miss. Ellen \"\"Nellie\"\"\",female,26,0,0,19877,78.85,,S\r\n292,1,1,\"Bishop, Mrs. Dickinson H (Helen Walton)\",female,19,1,0,11967,91.0792,B49,C\r\n293,0,2,\"Levy, Mr. Rene Jacques\",male,36,0,0,SC/Paris 2163,12.875,D,C\r\n294,0,3,\"Haas, Miss. Aloisia\",female,24,0,0,349236,8.85,,S\r\n295,0,3,\"Mineff, Mr. Ivan\",male,24,0,0,349233,7.8958,,S\r\n296,0,1,\"Lewy, Mr. Ervin G\",male,,0,0,PC 17612,27.7208,,C\r\n297,0,3,\"Hanna, Mr. Mansour\",male,23.5,0,0,2693,7.2292,,C\r\n298,0,1,\"Allison, Miss. Helen Loraine\",female,2,1,2,113781,151.55,C22 C26,S\r\n299,1,1,\"Saalfeld, Mr. Adolphe\",male,,0,0,19988,30.5,C106,S\r\n300,1,1,\"Baxter, Mrs. James (Helene DeLaudeniere Chaput)\",female,50,0,1,PC 17558,247.5208,B58 B60,C\r\n301,1,3,\"Kelly, Miss. Anna Katherine \"\"Annie Kate\"\"\",female,,0,0,9234,7.75,,Q\r\n302,1,3,\"McCoy, Mr. Bernard\",male,,2,0,367226,23.25,,Q\r\n303,0,3,\"Johnson, Mr. William Cahoone Jr\",male,19,0,0,LINE,0,,S\r\n304,1,2,\"Keane, Miss. Nora A\",female,,0,0,226593,12.35,E101,Q\r\n305,0,3,\"Williams, Mr. Howard Hugh \"\"Harry\"\"\",male,,0,0,A/5 2466,8.05,,S\r\n306,1,1,\"Allison, Master. Hudson Trevor\",male,0.92,1,2,113781,151.55,C22 C26,S\r\n307,1,1,\"Fleming, Miss. Margaret\",female,,0,0,17421,110.8833,,C\r\n308,1,1,\"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)\",female,17,1,0,PC 17758,108.9,C65,C\r\n309,0,2,\"Abelson, Mr. Samuel\",male,30,1,0,P/PP 3381,24,,C\r\n310,1,1,\"Francatelli, Miss. Laura Mabel\",female,30,0,0,PC 17485,56.9292,E36,C\r\n311,1,1,\"Hays, Miss. Margaret Bechstein\",female,24,0,0,11767,83.1583,C54,C\r\n312,1,1,\"Ryerson, Miss. Emily Borie\",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C\r\n313,0,2,\"Lahtinen, Mrs. William (Anna Sylfven)\",female,26,1,1,250651,26,,S\r\n314,0,3,\"Hendekovic, Mr. Ignjac\",male,28,0,0,349243,7.8958,,S\r\n315,0,2,\"Hart, Mr. Benjamin\",male,43,1,1,F.C.C. 13529,26.25,,S\r\n316,1,3,\"Nilsson, Miss. Helmina Josefina\",female,26,0,0,347470,7.8542,,S\r\n317,1,2,\"Kantor, Mrs. Sinai (Miriam Sternin)\",female,24,1,0,244367,26,,S\r\n318,0,2,\"Moraweck, Dr. Ernest\",male,54,0,0,29011,14,,S\r\n319,1,1,\"Wick, Miss. Mary Natalie\",female,31,0,2,36928,164.8667,C7,S\r\n320,1,1,\"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)\",female,40,1,1,16966,134.5,E34,C\r\n321,0,3,\"Dennis, Mr. Samuel\",male,22,0,0,A/5 21172,7.25,,S\r\n322,0,3,\"Danoff, Mr. Yoto\",male,27,0,0,349219,7.8958,,S\r\n323,1,2,\"Slayter, Miss. Hilda Mary\",female,30,0,0,234818,12.35,,Q\r\n324,1,2,\"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)\",female,22,1,1,248738,29,,S\r\n325,0,3,\"Sage, Mr. George John Jr\",male,,8,2,CA. 2343,69.55,,S\r\n326,1,1,\"Young, Miss. Marie Grice\",female,36,0,0,PC 17760,135.6333,C32,C\r\n327,0,3,\"Nysveen, Mr. Johan Hansen\",male,61,0,0,345364,6.2375,,S\r\n328,1,2,\"Ball, Mrs. (Ada E Hall)\",female,36,0,0,28551,13,D,S\r\n329,1,3,\"Goldsmith, Mrs. Frank John (Emily Alice Brown)\",female,31,1,1,363291,20.525,,S\r\n330,1,1,\"Hippach, Miss. Jean Gertrude\",female,16,0,1,111361,57.9792,B18,C\r\n331,1,3,\"McCoy, Miss. Agnes\",female,,2,0,367226,23.25,,Q\r\n332,0,1,\"Partner, Mr. Austen\",male,45.5,0,0,113043,28.5,C124,S\r\n333,0,1,\"Graham, Mr. George Edward\",male,38,0,1,PC 17582,153.4625,C91,S\r\n334,0,3,\"Vander Planke, Mr. Leo Edmondus\",male,16,2,0,345764,18,,S\r\n335,1,1,\"Frauenthal, Mrs. Henry William (Clara Heinsheimer)\",female,,1,0,PC 17611,133.65,,S\r\n336,0,3,\"Denkoff, Mr. Mitto\",male,,0,0,349225,7.8958,,S\r\n337,0,1,\"Pears, Mr. Thomas Clinton\",male,29,1,0,113776,66.6,C2,S\r\n338,1,1,\"Burns, Miss. Elizabeth Margaret\",female,41,0,0,16966,134.5,E40,C\r\n339,1,3,\"Dahl, Mr. Karl Edwart\",male,45,0,0,7598,8.05,,S\r\n340,0,1,\"Blackwell, Mr. Stephen Weart\",male,45,0,0,113784,35.5,T,S\r\n341,1,2,\"Navratil, Master. Edmond Roger\",male,2,1,1,230080,26,F2,S\r\n342,1,1,\"Fortune, Miss. Alice Elizabeth\",female,24,3,2,19950,263,C23 C25 C27,S\r\n343,0,2,\"Collander, Mr. Erik Gustaf\",male,28,0,0,248740,13,,S\r\n344,0,2,\"Sedgwick, Mr. Charles Frederick Waddington\",male,25,0,0,244361,13,,S\r\n345,0,2,\"Fox, Mr. Stanley Hubert\",male,36,0,0,229236,13,,S\r\n346,1,2,\"Brown, Miss. Amelia \"\"Mildred\"\"\",female,24,0,0,248733,13,F33,S\r\n347,1,2,\"Smith, Miss. Marion Elsie\",female,40,0,0,31418,13,,S\r\n348,1,3,\"Davison, Mrs. Thomas Henry (Mary E Finck)\",female,,1,0,386525,16.1,,S\r\n349,1,3,\"Coutts, Master. William Loch \"\"William\"\"\",male,3,1,1,C.A. 37671,15.9,,S\r\n350,0,3,\"Dimic, Mr. Jovan\",male,42,0,0,315088,8.6625,,S\r\n351,0,3,\"Odahl, Mr. Nils Martin\",male,23,0,0,7267,9.225,,S\r\n352,0,1,\"Williams-Lambert, Mr. Fletcher Fellows\",male,,0,0,113510,35,C128,S\r\n353,0,3,\"Elias, Mr. Tannous\",male,15,1,1,2695,7.2292,,C\r\n354,0,3,\"Arnold-Franchi, Mr. Josef\",male,25,1,0,349237,17.8,,S\r\n355,0,3,\"Yousif, Mr. Wazli\",male,,0,0,2647,7.225,,C\r\n356,0,3,\"Vanden Steen, Mr. Leo Peter\",male,28,0,0,345783,9.5,,S\r\n357,1,1,\"Bowerman, Miss. Elsie Edith\",female,22,0,1,113505,55,E33,S\r\n358,0,2,\"Funk, Miss. Annie Clemmer\",female,38,0,0,237671,13,,S\r\n359,1,3,\"McGovern, Miss. Mary\",female,,0,0,330931,7.8792,,Q\r\n360,1,3,\"Mockler, Miss. Helen Mary \"\"Ellie\"\"\",female,,0,0,330980,7.8792,,Q\r\n361,0,3,\"Skoog, Mr. Wilhelm\",male,40,1,4,347088,27.9,,S\r\n362,0,2,\"del Carlo, Mr. Sebastiano\",male,29,1,0,SC/PARIS 2167,27.7208,,C\r\n363,0,3,\"Barbara, Mrs. (Catherine David)\",female,45,0,1,2691,14.4542,,C\r\n364,0,3,\"Asim, Mr. Adola\",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S\r\n365,0,3,\"O'Brien, Mr. Thomas\",male,,1,0,370365,15.5,,Q\r\n366,0,3,\"Adahl, Mr. Mauritz Nils Martin\",male,30,0,0,C 7076,7.25,,S\r\n367,1,1,\"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)\",female,60,1,0,110813,75.25,D37,C\r\n368,1,3,\"Moussa, Mrs. (Mantoura Boulos)\",female,,0,0,2626,7.2292,,C\r\n369,1,3,\"Jermyn, Miss. Annie\",female,,0,0,14313,7.75,,Q\r\n370,1,1,\"Aubart, Mme. Leontine Pauline\",female,24,0,0,PC 17477,69.3,B35,C\r\n371,1,1,\"Harder, Mr. George Achilles\",male,25,1,0,11765,55.4417,E50,C\r\n372,0,3,\"Wiklund, Mr. Jakob Alfred\",male,18,1,0,3101267,6.4958,,S\r\n373,0,3,\"Beavan, Mr. William Thomas\",male,19,0,0,323951,8.05,,S\r\n374,0,1,\"Ringhini, Mr. Sante\",male,22,0,0,PC 17760,135.6333,,C\r\n375,0,3,\"Palsson, Miss. Stina Viola\",female,3,3,1,349909,21.075,,S\r\n376,1,1,\"Meyer, Mrs. Edgar Joseph (Leila Saks)\",female,,1,0,PC 17604,82.1708,,C\r\n377,1,3,\"Landergren, Miss. Aurora Adelia\",female,22,0,0,C 7077,7.25,,S\r\n378,0,1,\"Widener, Mr. Harry Elkins\",male,27,0,2,113503,211.5,C82,C\r\n379,0,3,\"Betros, Mr. Tannous\",male,20,0,0,2648,4.0125,,C\r\n380,0,3,\"Gustafsson, Mr. Karl Gideon\",male,19,0,0,347069,7.775,,S\r\n381,1,1,\"Bidois, Miss. Rosalie\",female,42,0,0,PC 17757,227.525,,C\r\n382,1,3,\"Nakid, Miss. Maria (\"\"Mary\"\")\",female,1,0,2,2653,15.7417,,C\r\n383,0,3,\"Tikkanen, Mr. Juho\",male,32,0,0,STON/O 2. 3101293,7.925,,S\r\n384,1,1,\"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)\",female,35,1,0,113789,52,,S\r\n385,0,3,\"Plotcharsky, Mr. Vasil\",male,,0,0,349227,7.8958,,S\r\n386,0,2,\"Davies, Mr. Charles Henry\",male,18,0,0,S.O.C. 14879,73.5,,S\r\n387,0,3,\"Goodwin, Master. Sidney Leonard\",male,1,5,2,CA 2144,46.9,,S\r\n388,1,2,\"Buss, Miss. Kate\",female,36,0,0,27849,13,,S\r\n389,0,3,\"Sadlier, Mr. Matthew\",male,,0,0,367655,7.7292,,Q\r\n390,1,2,\"Lehmann, Miss. Bertha\",female,17,0,0,SC 1748,12,,C\r\n391,1,1,\"Carter, Mr. William Ernest\",male,36,1,2,113760,120,B96 B98,S\r\n392,1,3,\"Jansson, Mr. Carl Olof\",male,21,0,0,350034,7.7958,,S\r\n393,0,3,\"Gustafsson, Mr. Johan Birger\",male,28,2,0,3101277,7.925,,S\r\n394,1,1,\"Newell, Miss. Marjorie\",female,23,1,0,35273,113.275,D36,C\r\n395,1,3,\"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)\",female,24,0,2,PP 9549,16.7,G6,S\r\n396,0,3,\"Johansson, Mr. Erik\",male,22,0,0,350052,7.7958,,S\r\n397,0,3,\"Olsson, Miss. Elina\",female,31,0,0,350407,7.8542,,S\r\n398,0,2,\"McKane, Mr. Peter David\",male,46,0,0,28403,26,,S\r\n399,0,2,\"Pain, Dr. Alfred\",male,23,0,0,244278,10.5,,S\r\n400,1,2,\"Trout, Mrs. William H (Jessie L)\",female,28,0,0,240929,12.65,,S\r\n401,1,3,\"Niskanen, Mr. Juha\",male,39,0,0,STON/O 2. 3101289,7.925,,S\r\n402,0,3,\"Adams, Mr. John\",male,26,0,0,341826,8.05,,S\r\n403,0,3,\"Jussila, Miss. Mari Aina\",female,21,1,0,4137,9.825,,S\r\n404,0,3,\"Hakkarainen, Mr. Pekka Pietari\",male,28,1,0,STON/O2. 3101279,15.85,,S\r\n405,0,3,\"Oreskovic, Miss. Marija\",female,20,0,0,315096,8.6625,,S\r\n406,0,2,\"Gale, Mr. Shadrach\",male,34,1,0,28664,21,,S\r\n407,0,3,\"Widegren, Mr. Carl/Charles Peter\",male,51,0,0,347064,7.75,,S\r\n408,1,2,\"Richards, Master. William Rowe\",male,3,1,1,29106,18.75,,S\r\n409,0,3,\"Birkeland, Mr. Hans Martin Monsen\",male,21,0,0,312992,7.775,,S\r\n410,0,3,\"Lefebre, Miss. Ida\",female,,3,1,4133,25.4667,,S\r\n411,0,3,\"Sdycoff, Mr. Todor\",male,,0,0,349222,7.8958,,S\r\n412,0,3,\"Hart, Mr. Henry\",male,,0,0,394140,6.8583,,Q\r\n413,1,1,\"Minahan, Miss. Daisy E\",female,33,1,0,19928,90,C78,Q\r\n414,0,2,\"Cunningham, Mr. Alfred Fleming\",male,,0,0,239853,0,,S\r\n415,1,3,\"Sundman, Mr. Johan Julian\",male,44,0,0,STON/O 2. 3101269,7.925,,S\r\n416,0,3,\"Meek, Mrs. Thomas (Annie Louise Rowley)\",female,,0,0,343095,8.05,,S\r\n417,1,2,\"Drew, Mrs. James Vivian (Lulu Thorne Christian)\",female,34,1,1,28220,32.5,,S\r\n418,1,2,\"Silven, Miss. Lyyli Karoliina\",female,18,0,2,250652,13,,S\r\n419,0,2,\"Matthews, Mr. William John\",male,30,0,0,28228,13,,S\r\n420,0,3,\"Van Impe, Miss. Catharina\",female,10,0,2,345773,24.15,,S\r\n421,0,3,\"Gheorgheff, Mr. Stanio\",male,,0,0,349254,7.8958,,C\r\n422,0,3,\"Charters, Mr. David\",male,21,0,0,A/5. 13032,7.7333,,Q\r\n423,0,3,\"Zimmerman, Mr. Leo\",male,29,0,0,315082,7.875,,S\r\n424,0,3,\"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)\",female,28,1,1,347080,14.4,,S\r\n425,0,3,\"Rosblom, Mr. Viktor Richard\",male,18,1,1,370129,20.2125,,S\r\n426,0,3,\"Wiseman, Mr. Phillippe\",male,,0,0,A/4. 34244,7.25,,S\r\n427,1,2,\"Clarke, Mrs. Charles V (Ada Maria Winfield)\",female,28,1,0,2003,26,,S\r\n428,1,2,\"Phillips, Miss. Kate Florence (\"\"Mrs Kate Louise Phillips Marshall\"\")\",female,19,0,0,250655,26,,S\r\n429,0,3,\"Flynn, Mr. James\",male,,0,0,364851,7.75,,Q\r\n430,1,3,\"Pickard, Mr. Berk (Berk Trembisky)\",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S\r\n431,1,1,\"Bjornstrom-Steffansson, Mr. Mauritz Hakan\",male,28,0,0,110564,26.55,C52,S\r\n432,1,3,\"Thorneycroft, Mrs. Percival (Florence Kate White)\",female,,1,0,376564,16.1,,S\r\n433,1,2,\"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)\",female,42,1,0,SC/AH 3085,26,,S\r\n434,0,3,\"Kallio, Mr. Nikolai Erland\",male,17,0,0,STON/O 2. 3101274,7.125,,S\r\n435,0,1,\"Silvey, Mr. William Baird\",male,50,1,0,13507,55.9,E44,S\r\n436,1,1,\"Carter, Miss. Lucile Polk\",female,14,1,2,113760,120,B96 B98,S\r\n437,0,3,\"Ford, Miss. Doolina Margaret \"\"Daisy\"\"\",female,21,2,2,W./C. 6608,34.375,,S\r\n438,1,2,\"Richards, Mrs. Sidney (Emily Hocking)\",female,24,2,3,29106,18.75,,S\r\n439,0,1,\"Fortune, Mr. Mark\",male,64,1,4,19950,263,C23 C25 C27,S\r\n440,0,2,\"Kvillner, Mr. Johan Henrik Johannesson\",male,31,0,0,C.A. 18723,10.5,,S\r\n441,1,2,\"Hart, Mrs. Benjamin (Esther Ada Bloomfield)\",female,45,1,1,F.C.C. 13529,26.25,,S\r\n442,0,3,\"Hampe, Mr. Leon\",male,20,0,0,345769,9.5,,S\r\n443,0,3,\"Petterson, Mr. Johan Emil\",male,25,1,0,347076,7.775,,S\r\n444,1,2,\"Reynaldo, Ms. Encarnacion\",female,28,0,0,230434,13,,S\r\n445,1,3,\"Johannesen-Bratthammer, Mr. Bernt\",male,,0,0,65306,8.1125,,S\r\n446,1,1,\"Dodge, Master. Washington\",male,4,0,2,33638,81.8583,A34,S\r\n447,1,2,\"Mellinger, Miss. Madeleine Violet\",female,13,0,1,250644,19.5,,S\r\n448,1,1,\"Seward, Mr. Frederic Kimber\",male,34,0,0,113794,26.55,,S\r\n449,1,3,\"Baclini, Miss. Marie Catherine\",female,5,2,1,2666,19.2583,,C\r\n450,1,1,\"Peuchen, Major. Arthur Godfrey\",male,52,0,0,113786,30.5,C104,S\r\n451,0,2,\"West, Mr. Edwy Arthur\",male,36,1,2,C.A. 34651,27.75,,S\r\n452,0,3,\"Hagland, Mr. Ingvald Olai Olsen\",male,,1,0,65303,19.9667,,S\r\n453,0,1,\"Foreman, Mr. Benjamin Laventall\",male,30,0,0,113051,27.75,C111,C\r\n454,1,1,\"Goldenberg, Mr. Samuel L\",male,49,1,0,17453,89.1042,C92,C\r\n455,0,3,\"Peduzzi, Mr. Joseph\",male,,0,0,A/5 2817,8.05,,S\r\n456,1,3,\"Jalsevac, Mr. Ivan\",male,29,0,0,349240,7.8958,,C\r\n457,0,1,\"Millet, Mr. Francis Davis\",male,65,0,0,13509,26.55,E38,S\r\n458,1,1,\"Kenyon, Mrs. Frederick R (Marion)\",female,,1,0,17464,51.8625,D21,S\r\n459,1,2,\"Toomey, Miss. Ellen\",female,50,0,0,F.C.C. 13531,10.5,,S\r\n460,0,3,\"O'Connor, Mr. Maurice\",male,,0,0,371060,7.75,,Q\r\n461,1,1,\"Anderson, Mr. Harry\",male,48,0,0,19952,26.55,E12,S\r\n462,0,3,\"Morley, Mr. William\",male,34,0,0,364506,8.05,,S\r\n463,0,1,\"Gee, Mr. Arthur H\",male,47,0,0,111320,38.5,E63,S\r\n464,0,2,\"Milling, Mr. Jacob Christian\",male,48,0,0,234360,13,,S\r\n465,0,3,\"Maisner, Mr. Simon\",male,,0,0,A/S 2816,8.05,,S\r\n466,0,3,\"Goncalves, Mr. Manuel Estanslas\",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S\r\n467,0,2,\"Campbell, Mr. William\",male,,0,0,239853,0,,S\r\n468,0,1,\"Smart, Mr. John Montgomery\",male,56,0,0,113792,26.55,,S\r\n469,0,3,\"Scanlan, Mr. James\",male,,0,0,36209,7.725,,Q\r\n470,1,3,\"Baclini, Miss. Helene Barbara\",female,0.75,2,1,2666,19.2583,,C\r\n471,0,3,\"Keefe, Mr. Arthur\",male,,0,0,323592,7.25,,S\r\n472,0,3,\"Cacic, Mr. Luka\",male,38,0,0,315089,8.6625,,S\r\n473,1,2,\"West, Mrs. Edwy Arthur (Ada Mary Worth)\",female,33,1,2,C.A. 34651,27.75,,S\r\n474,1,2,\"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)\",female,23,0,0,SC/AH Basle 541,13.7917,D,C\r\n475,0,3,\"Strandberg, Miss. Ida Sofia\",female,22,0,0,7553,9.8375,,S\r\n476,0,1,\"Clifford, Mr. George Quincy\",male,,0,0,110465,52,A14,S\r\n477,0,2,\"Renouf, Mr. Peter Henry\",male,34,1,0,31027,21,,S\r\n478,0,3,\"Braund, Mr. Lewis Richard\",male,29,1,0,3460,7.0458,,S\r\n479,0,3,\"Karlsson, Mr. Nils August\",male,22,0,0,350060,7.5208,,S\r\n480,1,3,\"Hirvonen, Miss. Hildur E\",female,2,0,1,3101298,12.2875,,S\r\n481,0,3,\"Goodwin, Master. Harold Victor\",male,9,5,2,CA 2144,46.9,,S\r\n482,0,2,\"Frost, Mr. Anthony Wood \"\"Archie\"\"\",male,,0,0,239854,0,,S\r\n483,0,3,\"Rouse, Mr. Richard Henry\",male,50,0,0,A/5 3594,8.05,,S\r\n484,1,3,\"Turkula, Mrs. (Hedwig)\",female,63,0,0,4134,9.5875,,S\r\n485,1,1,\"Bishop, Mr. Dickinson H\",male,25,1,0,11967,91.0792,B49,C\r\n486,0,3,\"Lefebre, Miss. Jeannie\",female,,3,1,4133,25.4667,,S\r\n487,1,1,\"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)\",female,35,1,0,19943,90,C93,S\r\n488,0,1,\"Kent, Mr. Edward Austin\",male,58,0,0,11771,29.7,B37,C\r\n489,0,3,\"Somerton, Mr. Francis William\",male,30,0,0,A.5. 18509,8.05,,S\r\n490,1,3,\"Coutts, Master. Eden Leslie \"\"Neville\"\"\",male,9,1,1,C.A. 37671,15.9,,S\r\n491,0,3,\"Hagland, Mr. Konrad Mathias Reiersen\",male,,1,0,65304,19.9667,,S\r\n492,0,3,\"Windelov, Mr. Einar\",male,21,0,0,SOTON/OQ 3101317,7.25,,S\r\n493,0,1,\"Molson, Mr. Harry Markland\",male,55,0,0,113787,30.5,C30,S\r\n494,0,1,\"Artagaveytia, Mr. Ramon\",male,71,0,0,PC 17609,49.5042,,C\r\n495,0,3,\"Stanley, Mr. Edward Roland\",male,21,0,0,A/4 45380,8.05,,S\r\n496,0,3,\"Yousseff, Mr. Gerious\",male,,0,0,2627,14.4583,,C\r\n497,1,1,\"Eustis, Miss. Elizabeth Mussey\",female,54,1,0,36947,78.2667,D20,C\r\n498,0,3,\"Shellard, Mr. Frederick William\",male,,0,0,C.A. 6212,15.1,,S\r\n499,0,1,\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",female,25,1,2,113781,151.55,C22 C26,S\r\n500,0,3,\"Svensson, Mr. Olof\",male,24,0,0,350035,7.7958,,S\r\n501,0,3,\"Calic, Mr. Petar\",male,17,0,0,315086,8.6625,,S\r\n502,0,3,\"Canavan, Miss. Mary\",female,21,0,0,364846,7.75,,Q\r\n503,0,3,\"O'Sullivan, Miss. Bridget Mary\",female,,0,0,330909,7.6292,,Q\r\n504,0,3,\"Laitinen, Miss. Kristina Sofia\",female,37,0,0,4135,9.5875,,S\r\n505,1,1,\"Maioni, Miss. Roberta\",female,16,0,0,110152,86.5,B79,S\r\n506,0,1,\"Penasco y Castellana, Mr. Victor de Satode\",male,18,1,0,PC 17758,108.9,C65,C\r\n507,1,2,\"Quick, Mrs. Frederick Charles (Jane Richards)\",female,33,0,2,26360,26,,S\r\n508,1,1,\"Bradley, Mr. George (\"\"George Arthur Brayton\"\")\",male,,0,0,111427,26.55,,S\r\n509,0,3,\"Olsen, Mr. Henry Margido\",male,28,0,0,C 4001,22.525,,S\r\n510,1,3,\"Lang, Mr. Fang\",male,26,0,0,1601,56.4958,,S\r\n511,1,3,\"Daly, Mr. Eugene Patrick\",male,29,0,0,382651,7.75,,Q\r\n512,0,3,\"Webber, Mr. James\",male,,0,0,SOTON/OQ 3101316,8.05,,S\r\n513,1,1,\"McGough, Mr. James Robert\",male,36,0,0,PC 17473,26.2875,E25,S\r\n514,1,1,\"Rothschild, Mrs. Martin (Elizabeth L. Barrett)\",female,54,1,0,PC 17603,59.4,,C\r\n515,0,3,\"Coleff, Mr. Satio\",male,24,0,0,349209,7.4958,,S\r\n516,0,1,\"Walker, Mr. William Anderson\",male,47,0,0,36967,34.0208,D46,S\r\n517,1,2,\"Lemore, Mrs. (Amelia Milley)\",female,34,0,0,C.A. 34260,10.5,F33,S\r\n518,0,3,\"Ryan, Mr. Patrick\",male,,0,0,371110,24.15,,Q\r\n519,1,2,\"Angle, Mrs. William A (Florence \"\"Mary\"\" Agnes Hughes)\",female,36,1,0,226875,26,,S\r\n520,0,3,\"Pavlovic, Mr. Stefo\",male,32,0,0,349242,7.8958,,S\r\n521,1,1,\"Perreault, Miss. Anne\",female,30,0,0,12749,93.5,B73,S\r\n522,0,3,\"Vovk, Mr. Janko\",male,22,0,0,349252,7.8958,,S\r\n523,0,3,\"Lahoud, Mr. Sarkis\",male,,0,0,2624,7.225,,C\r\n524,1,1,\"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)\",female,44,0,1,111361,57.9792,B18,C\r\n525,0,3,\"Kassem, Mr. Fared\",male,,0,0,2700,7.2292,,C\r\n526,0,3,\"Farrell, Mr. James\",male,40.5,0,0,367232,7.75,,Q\r\n527,1,2,\"Ridsdale, Miss. Lucy\",female,50,0,0,W./C. 14258,10.5,,S\r\n528,0,1,\"Farthing, Mr. John\",male,,0,0,PC 17483,221.7792,C95,S\r\n529,0,3,\"Salonen, Mr. Johan Werner\",male,39,0,0,3101296,7.925,,S\r\n530,0,2,\"Hocking, Mr. Richard George\",male,23,2,1,29104,11.5,,S\r\n531,1,2,\"Quick, Miss. Phyllis May\",female,2,1,1,26360,26,,S\r\n532,0,3,\"Toufik, Mr. Nakli\",male,,0,0,2641,7.2292,,C\r\n533,0,3,\"Elias, Mr. Joseph Jr\",male,17,1,1,2690,7.2292,,C\r\n534,1,3,\"Peter, Mrs. Catherine (Catherine Rizk)\",female,,0,2,2668,22.3583,,C\r\n535,0,3,\"Cacic, Miss. Marija\",female,30,0,0,315084,8.6625,,S\r\n536,1,2,\"Hart, Miss. Eva Miriam\",female,7,0,2,F.C.C. 13529,26.25,,S\r\n537,0,1,\"Butt, Major. Archibald Willingham\",male,45,0,0,113050,26.55,B38,S\r\n538,1,1,\"LeRoy, Miss. Bertha\",female,30,0,0,PC 17761,106.425,,C\r\n539,0,3,\"Risien, Mr. Samuel Beard\",male,,0,0,364498,14.5,,S\r\n540,1,1,\"Frolicher, Miss. Hedwig Margaritha\",female,22,0,2,13568,49.5,B39,C\r\n541,1,1,\"Crosby, Miss. Harriet R\",female,36,0,2,WE/P 5735,71,B22,S\r\n542,0,3,\"Andersson, Miss. Ingeborg Constanzia\",female,9,4,2,347082,31.275,,S\r\n543,0,3,\"Andersson, Miss. Sigrid Elisabeth\",female,11,4,2,347082,31.275,,S\r\n544,1,2,\"Beane, Mr. Edward\",male,32,1,0,2908,26,,S\r\n545,0,1,\"Douglas, Mr. Walter Donald\",male,50,1,0,PC 17761,106.425,C86,C\r\n546,0,1,\"Nicholson, Mr. Arthur Ernest\",male,64,0,0,693,26,,S\r\n547,1,2,\"Beane, Mrs. Edward (Ethel Clarke)\",female,19,1,0,2908,26,,S\r\n548,1,2,\"Padro y Manent, Mr. Julian\",male,,0,0,SC/PARIS 2146,13.8625,,C\r\n549,0,3,\"Goldsmith, Mr. Frank John\",male,33,1,1,363291,20.525,,S\r\n550,1,2,\"Davies, Master. John Morgan Jr\",male,8,1,1,C.A. 33112,36.75,,S\r\n551,1,1,\"Thayer, Mr. John Borland Jr\",male,17,0,2,17421,110.8833,C70,C\r\n552,0,2,\"Sharp, Mr. Percival James R\",male,27,0,0,244358,26,,S\r\n553,0,3,\"O'Brien, Mr. Timothy\",male,,0,0,330979,7.8292,,Q\r\n554,1,3,\"Leeni, Mr. Fahim (\"\"Philip Zenni\"\")\",male,22,0,0,2620,7.225,,C\r\n555,1,3,\"Ohman, Miss. Velin\",female,22,0,0,347085,7.775,,S\r\n556,0,1,\"Wright, Mr. George\",male,62,0,0,113807,26.55,,S\r\n557,1,1,\"Duff Gordon, Lady. (Lucille Christiana Sutherland) (\"\"Mrs Morgan\"\")\",female,48,1,0,11755,39.6,A16,C\r\n558,0,1,\"Robbins, Mr. Victor\",male,,0,0,PC 17757,227.525,,C\r\n559,1,1,\"Taussig, Mrs. Emil (Tillie Mandelbaum)\",female,39,1,1,110413,79.65,E67,S\r\n560,1,3,\"de Messemaeker, Mrs. Guillaume Joseph (Emma)\",female,36,1,0,345572,17.4,,S\r\n561,0,3,\"Morrow, Mr. Thomas Rowan\",male,,0,0,372622,7.75,,Q\r\n562,0,3,\"Sivic, Mr. Husein\",male,40,0,0,349251,7.8958,,S\r\n563,0,2,\"Norman, Mr. Robert Douglas\",male,28,0,0,218629,13.5,,S\r\n564,0,3,\"Simmons, Mr. John\",male,,0,0,SOTON/OQ 392082,8.05,,S\r\n565,0,3,\"Meanwell, Miss. (Marion Ogden)\",female,,0,0,SOTON/O.Q. 392087,8.05,,S\r\n566,0,3,\"Davies, Mr. Alfred J\",male,24,2,0,A/4 48871,24.15,,S\r\n567,0,3,\"Stoytcheff, Mr. Ilia\",male,19,0,0,349205,7.8958,,S\r\n568,0,3,\"Palsson, Mrs. Nils (Alma Cornelia Berglund)\",female,29,0,4,349909,21.075,,S\r\n569,0,3,\"Doharr, Mr. Tannous\",male,,0,0,2686,7.2292,,C\r\n570,1,3,\"Jonsson, Mr. Carl\",male,32,0,0,350417,7.8542,,S\r\n571,1,2,\"Harris, Mr. George\",male,62,0,0,S.W./PP 752,10.5,,S\r\n572,1,1,\"Appleton, Mrs. Edward Dale (Charlotte Lamson)\",female,53,2,0,11769,51.4792,C101,S\r\n573,1,1,\"Flynn, Mr. John Irwin (\"\"Irving\"\")\",male,36,0,0,PC 17474,26.3875,E25,S\r\n574,1,3,\"Kelly, Miss. Mary\",female,,0,0,14312,7.75,,Q\r\n575,0,3,\"Rush, Mr. Alfred George John\",male,16,0,0,A/4. 20589,8.05,,S\r\n576,0,3,\"Patchett, Mr. George\",male,19,0,0,358585,14.5,,S\r\n577,1,2,\"Garside, Miss. Ethel\",female,34,0,0,243880,13,,S\r\n578,1,1,\"Silvey, Mrs. William Baird (Alice Munger)\",female,39,1,0,13507,55.9,E44,S\r\n579,0,3,\"Caram, Mrs. Joseph (Maria Elias)\",female,,1,0,2689,14.4583,,C\r\n580,1,3,\"Jussila, Mr. Eiriik\",male,32,0,0,STON/O 2. 3101286,7.925,,S\r\n581,1,2,\"Christy, Miss. Julie Rachel\",female,25,1,1,237789,30,,S\r\n582,1,1,\"Thayer, Mrs. John Borland (Marian Longstreth Morris)\",female,39,1,1,17421,110.8833,C68,C\r\n583,0,2,\"Downton, Mr. William James\",male,54,0,0,28403,26,,S\r\n584,0,1,\"Ross, Mr. John Hugo\",male,36,0,0,13049,40.125,A10,C\r\n585,0,3,\"Paulner, Mr. Uscher\",male,,0,0,3411,8.7125,,C\r\n586,1,1,\"Taussig, Miss. Ruth\",female,18,0,2,110413,79.65,E68,S\r\n587,0,2,\"Jarvis, Mr. John Denzil\",male,47,0,0,237565,15,,S\r\n588,1,1,\"Frolicher-Stehli, Mr. Maxmillian\",male,60,1,1,13567,79.2,B41,C\r\n589,0,3,\"Gilinski, Mr. Eliezer\",male,22,0,0,14973,8.05,,S\r\n590,0,3,\"Murdlin, Mr. Joseph\",male,,0,0,A./5. 3235,8.05,,S\r\n591,0,3,\"Rintamaki, Mr. Matti\",male,35,0,0,STON/O 2. 3101273,7.125,,S\r\n592,1,1,\"Stephenson, Mrs. Walter Bertram (Martha Eustis)\",female,52,1,0,36947,78.2667,D20,C\r\n593,0,3,\"Elsbury, Mr. William James\",male,47,0,0,A/5 3902,7.25,,S\r\n594,0,3,\"Bourke, Miss. Mary\",female,,0,2,364848,7.75,,Q\r\n595,0,2,\"Chapman, Mr. John Henry\",male,37,1,0,SC/AH 29037,26,,S\r\n596,0,3,\"Van Impe, Mr. Jean Baptiste\",male,36,1,1,345773,24.15,,S\r\n597,1,2,\"Leitch, Miss. Jessie Wills\",female,,0,0,248727,33,,S\r\n598,0,3,\"Johnson, Mr. Alfred\",male,49,0,0,LINE,0,,S\r\n599,0,3,\"Boulos, Mr. Hanna\",male,,0,0,2664,7.225,,C\r\n600,1,1,\"Duff Gordon, Sir. Cosmo Edmund (\"\"Mr Morgan\"\")\",male,49,1,0,PC 17485,56.9292,A20,C\r\n601,1,2,\"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)\",female,24,2,1,243847,27,,S\r\n602,0,3,\"Slabenoff, Mr. Petco\",male,,0,0,349214,7.8958,,S\r\n603,0,1,\"Harrington, Mr. Charles H\",male,,0,0,113796,42.4,,S\r\n604,0,3,\"Torber, Mr. Ernst William\",male,44,0,0,364511,8.05,,S\r\n605,1,1,\"Homer, Mr. Harry (\"\"Mr E Haven\"\")\",male,35,0,0,111426,26.55,,C\r\n606,0,3,\"Lindell, Mr. Edvard Bengtsson\",male,36,1,0,349910,15.55,,S\r\n607,0,3,\"Karaic, Mr. Milan\",male,30,0,0,349246,7.8958,,S\r\n608,1,1,\"Daniel, Mr. Robert Williams\",male,27,0,0,113804,30.5,,S\r\n609,1,2,\"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)\",female,22,1,2,SC/Paris 2123,41.5792,,C\r\n610,1,1,\"Shutes, Miss. Elizabeth W\",female,40,0,0,PC 17582,153.4625,C125,S\r\n611,0,3,\"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)\",female,39,1,5,347082,31.275,,S\r\n612,0,3,\"Jardin, Mr. Jose Neto\",male,,0,0,SOTON/O.Q. 3101305,7.05,,S\r\n613,1,3,\"Murphy, Miss. Margaret Jane\",female,,1,0,367230,15.5,,Q\r\n614,0,3,\"Horgan, Mr. John\",male,,0,0,370377,7.75,,Q\r\n615,0,3,\"Brocklebank, Mr. William Alfred\",male,35,0,0,364512,8.05,,S\r\n616,1,2,\"Herman, Miss. Alice\",female,24,1,2,220845,65,,S\r\n617,0,3,\"Danbom, Mr. Ernst Gilbert\",male,34,1,1,347080,14.4,,S\r\n618,0,3,\"Lobb, Mrs. William Arthur (Cordelia K Stanlick)\",female,26,1,0,A/5. 3336,16.1,,S\r\n619,1,2,\"Becker, Miss. Marion Louise\",female,4,2,1,230136,39,F4,S\r\n620,0,2,\"Gavey, Mr. Lawrence\",male,26,0,0,31028,10.5,,S\r\n621,0,3,\"Yasbeck, Mr. Antoni\",male,27,1,0,2659,14.4542,,C\r\n622,1,1,\"Kimball, Mr. Edwin Nelson Jr\",male,42,1,0,11753,52.5542,D19,S\r\n623,1,3,\"Nakid, Mr. Sahid\",male,20,1,1,2653,15.7417,,C\r\n624,0,3,\"Hansen, Mr. Henry Damsgaard\",male,21,0,0,350029,7.8542,,S\r\n625,0,3,\"Bowen, Mr. David John \"\"Dai\"\"\",male,21,0,0,54636,16.1,,S\r\n626,0,1,\"Sutton, Mr. Frederick\",male,61,0,0,36963,32.3208,D50,S\r\n627,0,2,\"Kirkland, Rev. Charles Leonard\",male,57,0,0,219533,12.35,,Q\r\n628,1,1,\"Longley, Miss. Gretchen Fiske\",female,21,0,0,13502,77.9583,D9,S\r\n629,0,3,\"Bostandyeff, Mr. Guentcho\",male,26,0,0,349224,7.8958,,S\r\n630,0,3,\"O'Connell, Mr. Patrick D\",male,,0,0,334912,7.7333,,Q\r\n631,1,1,\"Barkworth, Mr. Algernon Henry Wilson\",male,80,0,0,27042,30,A23,S\r\n632,0,3,\"Lundahl, Mr. Johan Svensson\",male,51,0,0,347743,7.0542,,S\r\n633,1,1,\"Stahelin-Maeglin, Dr. Max\",male,32,0,0,13214,30.5,B50,C\r\n634,0,1,\"Parr, Mr. William Henry Marsh\",male,,0,0,112052,0,,S\r\n635,0,3,\"Skoog, Miss. Mabel\",female,9,3,2,347088,27.9,,S\r\n636,1,2,\"Davis, Miss. Mary\",female,28,0,0,237668,13,,S\r\n637,0,3,\"Leinonen, Mr. Antti Gustaf\",male,32,0,0,STON/O 2. 3101292,7.925,,S\r\n638,0,2,\"Collyer, Mr. Harvey\",male,31,1,1,C.A. 31921,26.25,,S\r\n639,0,3,\"Panula, Mrs. Juha (Maria Emilia Ojala)\",female,41,0,5,3101295,39.6875,,S\r\n640,0,3,\"Thorneycroft, Mr. Percival\",male,,1,0,376564,16.1,,S\r\n641,0,3,\"Jensen, Mr. Hans Peder\",male,20,0,0,350050,7.8542,,S\r\n642,1,1,\"Sagesser, Mlle. Emma\",female,24,0,0,PC 17477,69.3,B35,C\r\n643,0,3,\"Skoog, Miss. Margit Elizabeth\",female,2,3,2,347088,27.9,,S\r\n644,1,3,\"Foo, Mr. Choong\",male,,0,0,1601,56.4958,,S\r\n645,1,3,\"Baclini, Miss. Eugenie\",female,0.75,2,1,2666,19.2583,,C\r\n646,1,1,\"Harper, Mr. Henry Sleeper\",male,48,1,0,PC 17572,76.7292,D33,C\r\n647,0,3,\"Cor, Mr. Liudevit\",male,19,0,0,349231,7.8958,,S\r\n648,1,1,\"Simonius-Blumer, Col. Oberst Alfons\",male,56,0,0,13213,35.5,A26,C\r\n649,0,3,\"Willey, Mr. Edward\",male,,0,0,S.O./P.P. 751,7.55,,S\r\n650,1,3,\"Stanley, Miss. Amy Zillah Elsie\",female,23,0,0,CA. 2314,7.55,,S\r\n651,0,3,\"Mitkoff, Mr. Mito\",male,,0,0,349221,7.8958,,S\r\n652,1,2,\"Doling, Miss. Elsie\",female,18,0,1,231919,23,,S\r\n653,0,3,\"Kalvik, Mr. Johannes Halvorsen\",male,21,0,0,8475,8.4333,,S\r\n654,1,3,\"O'Leary, Miss. Hanora \"\"Norah\"\"\",female,,0,0,330919,7.8292,,Q\r\n655,0,3,\"Hegarty, Miss. Hanora \"\"Nora\"\"\",female,18,0,0,365226,6.75,,Q\r\n656,0,2,\"Hickman, Mr. Leonard Mark\",male,24,2,0,S.O.C. 14879,73.5,,S\r\n657,0,3,\"Radeff, Mr. Alexander\",male,,0,0,349223,7.8958,,S\r\n658,0,3,\"Bourke, Mrs. John (Catherine)\",female,32,1,1,364849,15.5,,Q\r\n659,0,2,\"Eitemiller, Mr. George Floyd\",male,23,0,0,29751,13,,S\r\n660,0,1,\"Newell, Mr. Arthur Webster\",male,58,0,2,35273,113.275,D48,C\r\n661,1,1,\"Frauenthal, Dr. Henry William\",male,50,2,0,PC 17611,133.65,,S\r\n662,0,3,\"Badt, Mr. Mohamed\",male,40,0,0,2623,7.225,,C\r\n663,0,1,\"Colley, Mr. Edward Pomeroy\",male,47,0,0,5727,25.5875,E58,S\r\n664,0,3,\"Coleff, Mr. Peju\",male,36,0,0,349210,7.4958,,S\r\n665,1,3,\"Lindqvist, Mr. Eino William\",male,20,1,0,STON/O 2. 3101285,7.925,,S\r\n666,0,2,\"Hickman, Mr. Lewis\",male,32,2,0,S.O.C. 14879,73.5,,S\r\n667,0,2,\"Butler, Mr. Reginald Fenton\",male,25,0,0,234686,13,,S\r\n668,0,3,\"Rommetvedt, Mr. Knud Paust\",male,,0,0,312993,7.775,,S\r\n669,0,3,\"Cook, Mr. Jacob\",male,43,0,0,A/5 3536,8.05,,S\r\n670,1,1,\"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)\",female,,1,0,19996,52,C126,S\r\n671,1,2,\"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)\",female,40,1,1,29750,39,,S\r\n672,0,1,\"Davidson, Mr. Thornton\",male,31,1,0,F.C. 12750,52,B71,S\r\n673,0,2,\"Mitchell, Mr. Henry Michael\",male,70,0,0,C.A. 24580,10.5,,S\r\n674,1,2,\"Wilhelms, Mr. Charles\",male,31,0,0,244270,13,,S\r\n675,0,2,\"Watson, Mr. Ennis Hastings\",male,,0,0,239856,0,,S\r\n676,0,3,\"Edvardsson, Mr. Gustaf Hjalmar\",male,18,0,0,349912,7.775,,S\r\n677,0,3,\"Sawyer, Mr. Frederick Charles\",male,24.5,0,0,342826,8.05,,S\r\n678,1,3,\"Turja, Miss. Anna Sofia\",female,18,0,0,4138,9.8417,,S\r\n679,0,3,\"Goodwin, Mrs. Frederick (Augusta Tyler)\",female,43,1,6,CA 2144,46.9,,S\r\n680,1,1,\"Cardeza, Mr. Thomas Drake Martinez\",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C\r\n681,0,3,\"Peters, Miss. Katie\",female,,0,0,330935,8.1375,,Q\r\n682,1,1,\"Hassab, Mr. Hammad\",male,27,0,0,PC 17572,76.7292,D49,C\r\n683,0,3,\"Olsvigen, Mr. Thor Anderson\",male,20,0,0,6563,9.225,,S\r\n684,0,3,\"Goodwin, Mr. Charles Edward\",male,14,5,2,CA 2144,46.9,,S\r\n685,0,2,\"Brown, Mr. Thomas William Solomon\",male,60,1,1,29750,39,,S\r\n686,0,2,\"Laroche, Mr. Joseph Philippe Lemercier\",male,25,1,2,SC/Paris 2123,41.5792,,C\r\n687,0,3,\"Panula, Mr. Jaako Arnold\",male,14,4,1,3101295,39.6875,,S\r\n688,0,3,\"Dakic, Mr. Branko\",male,19,0,0,349228,10.1708,,S\r\n689,0,3,\"Fischer, Mr. Eberhard Thelander\",male,18,0,0,350036,7.7958,,S\r\n690,1,1,\"Madill, Miss. Georgette Alexandra\",female,15,0,1,24160,211.3375,B5,S\r\n691,1,1,\"Dick, Mr. Albert Adrian\",male,31,1,0,17474,57,B20,S\r\n692,1,3,\"Karun, Miss. Manca\",female,4,0,1,349256,13.4167,,C\r\n693,1,3,\"Lam, Mr. Ali\",male,,0,0,1601,56.4958,,S\r\n694,0,3,\"Saad, Mr. Khalil\",male,25,0,0,2672,7.225,,C\r\n695,0,1,\"Weir, Col. John\",male,60,0,0,113800,26.55,,S\r\n696,0,2,\"Chapman, Mr. Charles Henry\",male,52,0,0,248731,13.5,,S\r\n697,0,3,\"Kelly, Mr. James\",male,44,0,0,363592,8.05,,S\r\n698,1,3,\"Mullens, Miss. Katherine \"\"Katie\"\"\",female,,0,0,35852,7.7333,,Q\r\n699,0,1,\"Thayer, Mr. John Borland\",male,49,1,1,17421,110.8833,C68,C\r\n700,0,3,\"Humblen, Mr. Adolf Mathias Nicolai Olsen\",male,42,0,0,348121,7.65,F G63,S\r\n701,1,1,\"Astor, Mrs. John Jacob (Madeleine Talmadge Force)\",female,18,1,0,PC 17757,227.525,C62 C64,C\r\n702,1,1,\"Silverthorne, Mr. Spencer Victor\",male,35,0,0,PC 17475,26.2875,E24,S\r\n703,0,3,\"Barbara, Miss. Saiide\",female,18,0,1,2691,14.4542,,C\r\n704,0,3,\"Gallagher, Mr. Martin\",male,25,0,0,36864,7.7417,,Q\r\n705,0,3,\"Hansen, Mr. Henrik Juul\",male,26,1,0,350025,7.8542,,S\r\n706,0,2,\"Morley, Mr. Henry Samuel (\"\"Mr Henry Marshall\"\")\",male,39,0,0,250655,26,,S\r\n707,1,2,\"Kelly, Mrs. Florence \"\"Fannie\"\"\",female,45,0,0,223596,13.5,,S\r\n708,1,1,\"Calderhead, Mr. Edward Pennington\",male,42,0,0,PC 17476,26.2875,E24,S\r\n709,1,1,\"Cleaver, Miss. Alice\",female,22,0,0,113781,151.55,,S\r\n710,1,3,\"Moubarek, Master. Halim Gonios (\"\"William George\"\")\",male,,1,1,2661,15.2458,,C\r\n711,1,1,\"Mayne, Mlle. Berthe Antonine (\"\"Mrs de Villiers\"\")\",female,24,0,0,PC 17482,49.5042,C90,C\r\n712,0,1,\"Klaber, Mr. Herman\",male,,0,0,113028,26.55,C124,S\r\n713,1,1,\"Taylor, Mr. Elmer Zebley\",male,48,1,0,19996,52,C126,S\r\n714,0,3,\"Larsson, Mr. August Viktor\",male,29,0,0,7545,9.4833,,S\r\n715,0,2,\"Greenberg, Mr. Samuel\",male,52,0,0,250647,13,,S\r\n716,0,3,\"Soholt, Mr. Peter Andreas Lauritz Andersen\",male,19,0,0,348124,7.65,F G73,S\r\n717,1,1,\"Endres, Miss. Caroline Louise\",female,38,0,0,PC 17757,227.525,C45,C\r\n718,1,2,\"Troutt, Miss. Edwina Celia \"\"Winnie\"\"\",female,27,0,0,34218,10.5,E101,S\r\n719,0,3,\"McEvoy, Mr. Michael\",male,,0,0,36568,15.5,,Q\r\n720,0,3,\"Johnson, Mr. Malkolm Joackim\",male,33,0,0,347062,7.775,,S\r\n721,1,2,\"Harper, Miss. Annie Jessie \"\"Nina\"\"\",female,6,0,1,248727,33,,S\r\n722,0,3,\"Jensen, Mr. Svend Lauritz\",male,17,1,0,350048,7.0542,,S\r\n723,0,2,\"Gillespie, Mr. William Henry\",male,34,0,0,12233,13,,S\r\n724,0,2,\"Hodges, Mr. Henry Price\",male,50,0,0,250643,13,,S\r\n725,1,1,\"Chambers, Mr. Norman Campbell\",male,27,1,0,113806,53.1,E8,S\r\n726,0,3,\"Oreskovic, Mr. Luka\",male,20,0,0,315094,8.6625,,S\r\n727,1,2,\"Renouf, Mrs. Peter Henry (Lillian Jefferys)\",female,30,3,0,31027,21,,S\r\n728,1,3,\"Mannion, Miss. Margareth\",female,,0,0,36866,7.7375,,Q\r\n729,0,2,\"Bryhl, Mr. Kurt Arnold Gottfrid\",male,25,1,0,236853,26,,S\r\n730,0,3,\"Ilmakangas, Miss. Pieta Sofia\",female,25,1,0,STON/O2. 3101271,7.925,,S\r\n731,1,1,\"Allen, Miss. Elisabeth Walton\",female,29,0,0,24160,211.3375,B5,S\r\n732,0,3,\"Hassan, Mr. Houssein G N\",male,11,0,0,2699,18.7875,,C\r\n733,0,2,\"Knight, Mr. Robert J\",male,,0,0,239855,0,,S\r\n734,0,2,\"Berriman, Mr. William John\",male,23,0,0,28425,13,,S\r\n735,0,2,\"Troupiansky, Mr. Moses Aaron\",male,23,0,0,233639,13,,S\r\n736,0,3,\"Williams, Mr. Leslie\",male,28.5,0,0,54636,16.1,,S\r\n737,0,3,\"Ford, Mrs. Edward (Margaret Ann Watson)\",female,48,1,3,W./C. 6608,34.375,,S\r\n738,1,1,\"Lesurer, Mr. Gustave J\",male,35,0,0,PC 17755,512.3292,B101,C\r\n739,0,3,\"Ivanoff, Mr. Kanio\",male,,0,0,349201,7.8958,,S\r\n740,0,3,\"Nankoff, Mr. Minko\",male,,0,0,349218,7.8958,,S\r\n741,1,1,\"Hawksford, Mr. Walter James\",male,,0,0,16988,30,D45,S\r\n742,0,1,\"Cavendish, Mr. Tyrell William\",male,36,1,0,19877,78.85,C46,S\r\n743,1,1,\"Ryerson, Miss. Susan Parker \"\"Suzette\"\"\",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C\r\n744,0,3,\"McNamee, Mr. Neal\",male,24,1,0,376566,16.1,,S\r\n745,1,3,\"Stranden, Mr. Juho\",male,31,0,0,STON/O 2. 3101288,7.925,,S\r\n746,0,1,\"Crosby, Capt. Edward Gifford\",male,70,1,1,WE/P 5735,71,B22,S\r\n747,0,3,\"Abbott, Mr. Rossmore Edward\",male,16,1,1,C.A. 2673,20.25,,S\r\n748,1,2,\"Sinkkonen, Miss. Anna\",female,30,0,0,250648,13,,S\r\n749,0,1,\"Marvin, Mr. Daniel Warner\",male,19,1,0,113773,53.1,D30,S\r\n750,0,3,\"Connaghton, Mr. Michael\",male,31,0,0,335097,7.75,,Q\r\n751,1,2,\"Wells, Miss. Joan\",female,4,1,1,29103,23,,S\r\n752,1,3,\"Moor, Master. Meier\",male,6,0,1,392096,12.475,E121,S\r\n753,0,3,\"Vande Velde, Mr. Johannes Joseph\",male,33,0,0,345780,9.5,,S\r\n754,0,3,\"Jonkoff, Mr. Lalio\",male,23,0,0,349204,7.8958,,S\r\n755,1,2,\"Herman, Mrs. Samuel (Jane Laver)\",female,48,1,2,220845,65,,S\r\n756,1,2,\"Hamalainen, Master. Viljo\",male,0.67,1,1,250649,14.5,,S\r\n757,0,3,\"Carlsson, Mr. August Sigfrid\",male,28,0,0,350042,7.7958,,S\r\n758,0,2,\"Bailey, Mr. Percy Andrew\",male,18,0,0,29108,11.5,,S\r\n759,0,3,\"Theobald, Mr. Thomas Leonard\",male,34,0,0,363294,8.05,,S\r\n760,1,1,\"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)\",female,33,0,0,110152,86.5,B77,S\r\n761,0,3,\"Garfirth, Mr. John\",male,,0,0,358585,14.5,,S\r\n762,0,3,\"Nirva, Mr. Iisakki Antino Aijo\",male,41,0,0,SOTON/O2 3101272,7.125,,S\r\n763,1,3,\"Barah, Mr. Hanna Assi\",male,20,0,0,2663,7.2292,,C\r\n764,1,1,\"Carter, Mrs. William Ernest (Lucile Polk)\",female,36,1,2,113760,120,B96 B98,S\r\n765,0,3,\"Eklund, Mr. Hans Linus\",male,16,0,0,347074,7.775,,S\r\n766,1,1,\"Hogeboom, Mrs. John C (Anna Andrews)\",female,51,1,0,13502,77.9583,D11,S\r\n767,0,1,\"Brewe, Dr. Arthur Jackson\",male,,0,0,112379,39.6,,C\r\n768,0,3,\"Mangan, Miss. Mary\",female,30.5,0,0,364850,7.75,,Q\r\n769,0,3,\"Moran, Mr. Daniel J\",male,,1,0,371110,24.15,,Q\r\n770,0,3,\"Gronnestad, Mr. Daniel Danielsen\",male,32,0,0,8471,8.3625,,S\r\n771,0,3,\"Lievens, Mr. Rene Aime\",male,24,0,0,345781,9.5,,S\r\n772,0,3,\"Jensen, Mr. Niels Peder\",male,48,0,0,350047,7.8542,,S\r\n773,0,2,\"Mack, Mrs. (Mary)\",female,57,0,0,S.O./P.P. 3,10.5,E77,S\r\n774,0,3,\"Elias, Mr. Dibo\",male,,0,0,2674,7.225,,C\r\n775,1,2,\"Hocking, Mrs. Elizabeth (Eliza Needs)\",female,54,1,3,29105,23,,S\r\n776,0,3,\"Myhrman, Mr. Pehr Fabian Oliver Malkolm\",male,18,0,0,347078,7.75,,S\r\n777,0,3,\"Tobin, Mr. Roger\",male,,0,0,383121,7.75,F38,Q\r\n778,1,3,\"Emanuel, Miss. Virginia Ethel\",female,5,0,0,364516,12.475,,S\r\n779,0,3,\"Kilgannon, Mr. Thomas J\",male,,0,0,36865,7.7375,,Q\r\n780,1,1,\"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)\",female,43,0,1,24160,211.3375,B3,S\r\n781,1,3,\"Ayoub, Miss. Banoura\",female,13,0,0,2687,7.2292,,C\r\n782,1,1,\"Dick, Mrs. Albert Adrian (Vera Gillespie)\",female,17,1,0,17474,57,B20,S\r\n783,0,1,\"Long, Mr. Milton Clyde\",male,29,0,0,113501,30,D6,S\r\n784,0,3,\"Johnston, Mr. Andrew G\",male,,1,2,W./C. 6607,23.45,,S\r\n785,0,3,\"Ali, Mr. William\",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S\r\n786,0,3,\"Harmer, Mr. Abraham (David Lishin)\",male,25,0,0,374887,7.25,,S\r\n787,1,3,\"Sjoblom, Miss. Anna Sofia\",female,18,0,0,3101265,7.4958,,S\r\n788,0,3,\"Rice, Master. George Hugh\",male,8,4,1,382652,29.125,,Q\r\n789,1,3,\"Dean, Master. Bertram Vere\",male,1,1,2,C.A. 2315,20.575,,S\r\n790,0,1,\"Guggenheim, Mr. Benjamin\",male,46,0,0,PC 17593,79.2,B82 B84,C\r\n791,0,3,\"Keane, Mr. Andrew \"\"Andy\"\"\",male,,0,0,12460,7.75,,Q\r\n792,0,2,\"Gaskell, Mr. Alfred\",male,16,0,0,239865,26,,S\r\n793,0,3,\"Sage, Miss. Stella Anna\",female,,8,2,CA. 2343,69.55,,S\r\n794,0,1,\"Hoyt, Mr. William Fisher\",male,,0,0,PC 17600,30.6958,,C\r\n795,0,3,\"Dantcheff, Mr. Ristiu\",male,25,0,0,349203,7.8958,,S\r\n796,0,2,\"Otter, Mr. Richard\",male,39,0,0,28213,13,,S\r\n797,1,1,\"Leader, Dr. Alice (Farnham)\",female,49,0,0,17465,25.9292,D17,S\r\n798,1,3,\"Osman, Mrs. Mara\",female,31,0,0,349244,8.6833,,S\r\n799,0,3,\"Ibrahim Shawah, Mr. Yousseff\",male,30,0,0,2685,7.2292,,C\r\n800,0,3,\"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)\",female,30,1,1,345773,24.15,,S\r\n801,0,2,\"Ponesell, Mr. Martin\",male,34,0,0,250647,13,,S\r\n802,1,2,\"Collyer, Mrs. Harvey (Charlotte Annie Tate)\",female,31,1,1,C.A. 31921,26.25,,S\r\n803,1,1,\"Carter, Master. William Thornton II\",male,11,1,2,113760,120,B96 B98,S\r\n804,1,3,\"Thomas, Master. Assad Alexander\",male,0.42,0,1,2625,8.5167,,C\r\n805,1,3,\"Hedman, Mr. Oskar Arvid\",male,27,0,0,347089,6.975,,S\r\n806,0,3,\"Johansson, Mr. Karl Johan\",male,31,0,0,347063,7.775,,S\r\n807,0,1,\"Andrews, Mr. Thomas Jr\",male,39,0,0,112050,0,A36,S\r\n808,0,3,\"Pettersson, Miss. Ellen Natalia\",female,18,0,0,347087,7.775,,S\r\n809,0,2,\"Meyer, Mr. August\",male,39,0,0,248723,13,,S\r\n810,1,1,\"Chambers, Mrs. Norman Campbell (Bertha Griggs)\",female,33,1,0,113806,53.1,E8,S\r\n811,0,3,\"Alexander, Mr. William\",male,26,0,0,3474,7.8875,,S\r\n812,0,3,\"Lester, Mr. James\",male,39,0,0,A/4 48871,24.15,,S\r\n813,0,2,\"Slemen, Mr. Richard James\",male,35,0,0,28206,10.5,,S\r\n814,0,3,\"Andersson, Miss. Ebba Iris Alfrida\",female,6,4,2,347082,31.275,,S\r\n815,0,3,\"Tomlin, Mr. Ernest Portage\",male,30.5,0,0,364499,8.05,,S\r\n816,0,1,\"Fry, Mr. Richard\",male,,0,0,112058,0,B102,S\r\n817,0,3,\"Heininen, Miss. Wendla Maria\",female,23,0,0,STON/O2. 3101290,7.925,,S\r\n818,0,2,\"Mallet, Mr. Albert\",male,31,1,1,S.C./PARIS 2079,37.0042,,C\r\n819,0,3,\"Holm, Mr. John Fredrik Alexander\",male,43,0,0,C 7075,6.45,,S\r\n820,0,3,\"Skoog, Master. Karl Thorsten\",male,10,3,2,347088,27.9,,S\r\n821,1,1,\"Hays, Mrs. Charles Melville (Clara Jennings Gregg)\",female,52,1,1,12749,93.5,B69,S\r\n822,1,3,\"Lulic, Mr. Nikola\",male,27,0,0,315098,8.6625,,S\r\n823,0,1,\"Reuchlin, Jonkheer. John George\",male,38,0,0,19972,0,,S\r\n824,1,3,\"Moor, Mrs. (Beila)\",female,27,0,1,392096,12.475,E121,S\r\n825,0,3,\"Panula, Master. Urho Abraham\",male,2,4,1,3101295,39.6875,,S\r\n826,0,3,\"Flynn, Mr. John\",male,,0,0,368323,6.95,,Q\r\n827,0,3,\"Lam, Mr. Len\",male,,0,0,1601,56.4958,,S\r\n828,1,2,\"Mallet, Master. Andre\",male,1,0,2,S.C./PARIS 2079,37.0042,,C\r\n829,1,3,\"McCormack, Mr. Thomas Joseph\",male,,0,0,367228,7.75,,Q\r\n830,1,1,\"Stone, Mrs. George Nelson (Martha Evelyn)\",female,62,0,0,113572,80,B28,\r\n831,1,3,\"Yasbeck, Mrs. Antoni (Selini Alexander)\",female,15,1,0,2659,14.4542,,C\r\n832,1,2,\"Richards, Master. George Sibley\",male,0.83,1,1,29106,18.75,,S\r\n833,0,3,\"Saad, Mr. Amin\",male,,0,0,2671,7.2292,,C\r\n834,0,3,\"Augustsson, Mr. Albert\",male,23,0,0,347468,7.8542,,S\r\n835,0,3,\"Allum, Mr. Owen George\",male,18,0,0,2223,8.3,,S\r\n836,1,1,\"Compton, Miss. Sara Rebecca\",female,39,1,1,PC 17756,83.1583,E49,C\r\n837,0,3,\"Pasic, Mr. Jakob\",male,21,0,0,315097,8.6625,,S\r\n838,0,3,\"Sirota, Mr. Maurice\",male,,0,0,392092,8.05,,S\r\n839,1,3,\"Chip, Mr. Chang\",male,32,0,0,1601,56.4958,,S\r\n840,1,1,\"Marechal, Mr. Pierre\",male,,0,0,11774,29.7,C47,C\r\n841,0,3,\"Alhomaki, Mr. Ilmari Rudolf\",male,20,0,0,SOTON/O2 3101287,7.925,,S\r\n842,0,2,\"Mudd, Mr. Thomas Charles\",male,16,0,0,S.O./P.P. 3,10.5,,S\r\n843,1,1,\"Serepeca, Miss. Augusta\",female,30,0,0,113798,31,,C\r\n844,0,3,\"Lemberopolous, Mr. Peter L\",male,34.5,0,0,2683,6.4375,,C\r\n845,0,3,\"Culumovic, Mr. Jeso\",male,17,0,0,315090,8.6625,,S\r\n846,0,3,\"Abbing, Mr. Anthony\",male,42,0,0,C.A. 5547,7.55,,S\r\n847,0,3,\"Sage, Mr. Douglas Bullen\",male,,8,2,CA. 2343,69.55,,S\r\n848,0,3,\"Markoff, Mr. Marin\",male,35,0,0,349213,7.8958,,C\r\n849,0,2,\"Harper, Rev. John\",male,28,0,1,248727,33,,S\r\n850,1,1,\"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)\",female,,1,0,17453,89.1042,C92,C\r\n851,0,3,\"Andersson, Master. Sigvard Harald Elias\",male,4,4,2,347082,31.275,,S\r\n852,0,3,\"Svensson, Mr. Johan\",male,74,0,0,347060,7.775,,S\r\n853,0,3,\"Boulos, Miss. Nourelain\",female,9,1,1,2678,15.2458,,C\r\n854,1,1,\"Lines, Miss. Mary Conover\",female,16,0,1,PC 17592,39.4,D28,S\r\n855,0,2,\"Carter, Mrs. Ernest Courtenay (Lilian Hughes)\",female,44,1,0,244252,26,,S\r\n856,1,3,\"Aks, Mrs. Sam (Leah Rosen)\",female,18,0,1,392091,9.35,,S\r\n857,1,1,\"Wick, Mrs. George Dennick (Mary Hitchcock)\",female,45,1,1,36928,164.8667,,S\r\n858,1,1,\"Daly, Mr. Peter Denis \",male,51,0,0,113055,26.55,E17,S\r\n859,1,3,\"Baclini, Mrs. Solomon (Latifa Qurban)\",female,24,0,3,2666,19.2583,,C\r\n860,0,3,\"Razi, Mr. Raihed\",male,,0,0,2629,7.2292,,C\r\n861,0,3,\"Hansen, Mr. Claus Peter\",male,41,2,0,350026,14.1083,,S\r\n862,0,2,\"Giles, Mr. Frederick Edward\",male,21,1,0,28134,11.5,,S\r\n863,1,1,\"Swift, Mrs. Frederick Joel (Margaret Welles Barron)\",female,48,0,0,17466,25.9292,D17,S\r\n864,0,3,\"Sage, Miss. Dorothy Edith \"\"Dolly\"\"\",female,,8,2,CA. 2343,69.55,,S\r\n865,0,2,\"Gill, Mr. John William\",male,24,0,0,233866,13,,S\r\n866,1,2,\"Bystrom, Mrs. (Karolina)\",female,42,0,0,236852,13,,S\r\n867,1,2,\"Duran y More, Miss. Asuncion\",female,27,1,0,SC/PARIS 2149,13.8583,,C\r\n868,0,1,\"Roebling, Mr. Washington Augustus II\",male,31,0,0,PC 17590,50.4958,A24,S\r\n869,0,3,\"van Melkebeke, Mr. Philemon\",male,,0,0,345777,9.5,,S\r\n870,1,3,\"Johnson, Master. Harold Theodor\",male,4,1,1,347742,11.1333,,S\r\n871,0,3,\"Balkic, Mr. Cerin\",male,26,0,0,349248,7.8958,,S\r\n872,1,1,\"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)\",female,47,1,1,11751,52.5542,D35,S\r\n873,0,1,\"Carlsson, Mr. Frans Olof\",male,33,0,0,695,5,B51 B53 B55,S\r\n874,0,3,\"Vander Cruyssen, Mr. Victor\",male,47,0,0,345765,9,,S\r\n875,1,2,\"Abelson, Mrs. Samuel (Hannah Wizosky)\",female,28,1,0,P/PP 3381,24,,C\r\n876,1,3,\"Najib, Miss. Adele Kiamie \"\"Jane\"\"\",female,15,0,0,2667,7.225,,C\r\n877,0,3,\"Gustafsson, Mr. Alfred Ossian\",male,20,0,0,7534,9.8458,,S\r\n878,0,3,\"Petroff, Mr. Nedelio\",male,19,0,0,349212,7.8958,,S\r\n879,0,3,\"Laleff, Mr. Kristo\",male,,0,0,349217,7.8958,,S\r\n880,1,1,\"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\",female,56,0,1,11767,83.1583,C50,C\r\n881,1,2,\"Shelley, Mrs. William (Imanita Parrish Hall)\",female,25,0,1,230433,26,,S\r\n882,0,3,\"Markun, Mr. Johann\",male,33,0,0,349257,7.8958,,S\r\n883,0,3,\"Dahlberg, Miss. Gerda Ulrika\",female,22,0,0,7552,10.5167,,S\r\n884,0,2,\"Banfield, Mr. Frederick James\",male,28,0,0,C.A./SOTON 34068,10.5,,S\r\n885,0,3,\"Sutehall, Mr. Henry Jr\",male,25,0,0,SOTON/OQ 392076,7.05,,S\r\n886,0,3,\"Rice, Mrs. William (Margaret Norton)\",female,39,0,5,382652,29.125,,Q\r\n887,0,2,\"Montvila, Rev. Juozas\",male,27,0,0,211536,13,,S\r\n888,1,1,\"Graham, Miss. Margaret Edith\",female,19,0,0,112053,30,B42,S\r\n889,0,3,\"Johnston, Miss. Catherine Helen \"\"Carrie\"\"\",female,,1,2,W./C. 6607,23.45,,S\r\n890,1,1,\"Behr, Mr. Karl Howell\",male,26,0,0,111369,30,C148,C\r\n891,0,3,\"Dooley, Mr. Patrick\",male,32,0,0,370376,7.75,,Q\r\n"
  },
  {
    "path": "p0-titanic-survival-exploration/titanic_survival_exploration.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Introduction and Foundations\\n\",\n    \"## Project 0: Titanic Survival Exploration\\n\",\n    \"\\n\",\n    \"In 1912, the ship RMS Titanic struck an iceberg on its maiden voyage and sank, resulting in the deaths of most of its passengers and crew. In this introductory project, we will explore a subset of the RMS Titanic passenger manifest to determine which features best predict whether someone survived or did not survive. To complete this project, you will need to implement several conditional predictions and answer the questions below. Your project submission will be evaluated based on the completion of the code and your responses to the questions.\\n\",\n    \"> **Tip:** Quoted sections like this will provide helpful instructions on how to navigate and use an iPython notebook. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Getting Started\\n\",\n    \"To begin working with the RMS Titanic passenger data, we'll first need to `import` the functionality we need, and load our data into a `pandas` DataFrame.  \\n\",\n    \"Run the code cell below to load our data and display the first few entries (passengers) for examination using the `.head()` function.\\n\",\n    \"> **Tip:** You can run a code cell by clicking on the cell and using the keyboard shortcut **Shift + Enter** or **Shift + Return**. Alternatively, a code cell can be executed using the **Play** button in the hotbar after selecting it. Markdown cells (text cells like this one) can be edited by double-clicking, and saved using these same shortcuts. [Markdown](http://daringfireball.net/projects/markdown/syntax) allows you to write easy-to-read plain text that can be converted to HTML.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>PassengerId</th>\\n\",\n       \"      <th>Survived</th>\\n\",\n       \"      <th>Pclass</th>\\n\",\n       \"      <th>Name</th>\\n\",\n       \"      <th>Sex</th>\\n\",\n       \"      <th>Age</th>\\n\",\n       \"      <th>SibSp</th>\\n\",\n       \"      <th>Parch</th>\\n\",\n       \"      <th>Ticket</th>\\n\",\n       \"      <th>Fare</th>\\n\",\n       \"      <th>Cabin</th>\\n\",\n       \"      <th>Embarked</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Braund, Mr. Owen Harris</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>22.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>A/5 21171</td>\\n\",\n       \"      <td>7.2500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>38.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>PC 17599</td>\\n\",\n       \"      <td>71.2833</td>\\n\",\n       \"      <td>C85</td>\\n\",\n       \"      <td>C</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Heikkinen, Miss. Laina</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>26.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>STON/O2. 3101282</td>\\n\",\n       \"      <td>7.9250</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>113803</td>\\n\",\n       \"      <td>53.1000</td>\\n\",\n       \"      <td>C123</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Allen, Mr. William Henry</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>373450</td>\\n\",\n       \"      <td>8.0500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   PassengerId  Survived  Pclass  \\\\\\n\",\n       \"0            1         0       3   \\n\",\n       \"1            2         1       1   \\n\",\n       \"2            3         1       3   \\n\",\n       \"3            4         1       1   \\n\",\n       \"4            5         0       3   \\n\",\n       \"\\n\",\n       \"                                                Name     Sex   Age  SibSp  \\\\\\n\",\n       \"0                            Braund, Mr. Owen Harris    male  22.0      1   \\n\",\n       \"1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \\n\",\n       \"2                             Heikkinen, Miss. Laina  female  26.0      0   \\n\",\n       \"3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \\n\",\n       \"4                           Allen, Mr. William Henry    male  35.0      0   \\n\",\n       \"\\n\",\n       \"   Parch            Ticket     Fare Cabin Embarked  \\n\",\n       \"0      0         A/5 21171   7.2500   NaN        S  \\n\",\n       \"1      0          PC 17599  71.2833   C85        C  \\n\",\n       \"2      0  STON/O2. 3101282   7.9250   NaN        S  \\n\",\n       \"3      0            113803  53.1000  C123        S  \\n\",\n       \"4      0            373450   8.0500   NaN        S  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"# RMS Titanic data visualization code \\n\",\n    \"from titanic_visualizations import survival_stats\\n\",\n    \"from IPython.display import display\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the dataset\\n\",\n    \"in_file = 'titanic_data.csv'\\n\",\n    \"full_data = pd.read_csv(in_file)\\n\",\n    \"\\n\",\n    \"# Print the first few entries of the RMS Titanic data\\n\",\n    \"display(full_data.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"From a sample of the RMS Titanic data, we can see the various features present for each passenger on the ship:\\n\",\n    \"- **Survived**: Outcome of survival (0 = No; 1 = Yes)\\n\",\n    \"- **Pclass**: Socio-economic class (1 = Upper class; 2 = Middle class; 3 = Lower class)\\n\",\n    \"- **Name**: Name of passenger\\n\",\n    \"- **Sex**: Sex of the passenger\\n\",\n    \"- **Age**: Age of the passenger (Some entries contain `NaN`)\\n\",\n    \"- **SibSp**: Number of siblings and spouses of the passenger aboard\\n\",\n    \"- **Parch**: Number of parents and children of the passenger aboard\\n\",\n    \"- **Ticket**: Ticket number of the passenger\\n\",\n    \"- **Fare**: Fare paid by the passenger\\n\",\n    \"- **Cabin** Cabin number of the passenger (Some entries contain `NaN`)\\n\",\n    \"- **Embarked**: Port of embarkation of the passenger (C = Cherbourg; Q = Queenstown; S = Southampton)\\n\",\n    \"\\n\",\n    \"Since we're interested in the outcome of survival for each passenger or crew member, we can remove the **Survived** feature from this dataset and store it as its own separate variable `outcomes`. We will use these outcomes as our prediction targets.  \\n\",\n    \"Run the code cell below to remove **Survived** as a feature of the dataset and store it in `outcomes`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>PassengerId</th>\\n\",\n       \"      <th>Pclass</th>\\n\",\n       \"      <th>Name</th>\\n\",\n       \"      <th>Sex</th>\\n\",\n       \"      <th>Age</th>\\n\",\n       \"      <th>SibSp</th>\\n\",\n       \"      <th>Parch</th>\\n\",\n       \"      <th>Ticket</th>\\n\",\n       \"      <th>Fare</th>\\n\",\n       \"      <th>Cabin</th>\\n\",\n       \"      <th>Embarked</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Braund, Mr. Owen Harris</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>22.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>A/5 21171</td>\\n\",\n       \"      <td>7.2500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>38.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>PC 17599</td>\\n\",\n       \"      <td>71.2833</td>\\n\",\n       \"      <td>C85</td>\\n\",\n       \"      <td>C</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Heikkinen, Miss. Laina</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>26.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>STON/O2. 3101282</td>\\n\",\n       \"      <td>7.9250</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\\n\",\n       \"      <td>female</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>113803</td>\\n\",\n       \"      <td>53.1000</td>\\n\",\n       \"      <td>C123</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Allen, Mr. William Henry</td>\\n\",\n       \"      <td>male</td>\\n\",\n       \"      <td>35.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>373450</td>\\n\",\n       \"      <td>8.0500</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>S</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   PassengerId  Pclass                                               Name  \\\\\\n\",\n       \"0            1       3                            Braund, Mr. Owen Harris   \\n\",\n       \"1            2       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \\n\",\n       \"2            3       3                             Heikkinen, Miss. Laina   \\n\",\n       \"3            4       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \\n\",\n       \"4            5       3                           Allen, Mr. William Henry   \\n\",\n       \"\\n\",\n       \"      Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked  \\n\",\n       \"0    male  22.0      1      0         A/5 21171   7.2500   NaN        S  \\n\",\n       \"1  female  38.0      1      0          PC 17599  71.2833   C85        C  \\n\",\n       \"2  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S  \\n\",\n       \"3  female  35.0      1      0            113803  53.1000  C123        S  \\n\",\n       \"4    male  35.0      0      0            373450   8.0500   NaN        S  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Store the 'Survived' feature in a new variable and remove it from the dataset\\n\",\n    \"outcomes = full_data['Survived']\\n\",\n    \"data = full_data.drop('Survived', axis = 1)\\n\",\n    \"\\n\",\n    \"# Show the new dataset with 'Survived' removed\\n\",\n    \"display(data.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The very same sample of the RMS Titanic data now shows the **Survived** feature removed from the DataFrame. Note that `data` (the passenger data) and `outcomes` (the outcomes of survival) are now *paired*. That means for any passenger `data.loc[i]`, they have the survival outcome `outcome[i]`.\\n\",\n    \"\\n\",\n    \"To measure the performance of our predictions, we need a metric to score our predictions against the true outcomes of survival. Since we are interested in how *accurate* our predictions are, we will calculate the proportion of passengers where our prediction of their survival is correct. Run the code cell below to create our `accuracy_score` function and test a prediction on the first five passengers.  \\n\",\n    \"\\n\",\n    \"**Think:** *Out of the first five passengers, if we predict that all of them survived, what would you expect the accuracy of our predictions to be?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 60.00%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def accuracy_score(truth, pred):\\n\",\n    \"    \\\"\\\"\\\" Returns accuracy score for input truth and predictions. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # Ensure that the number of predictions matches number of outcomes\\n\",\n    \"    if len(truth) == len(pred): \\n\",\n    \"        \\n\",\n    \"        # Calculate and return the accuracy as a percent\\n\",\n    \"        return \\\"Predictions have an accuracy of {:.2f}%.\\\".format((truth == pred).mean()*100)\\n\",\n    \"    \\n\",\n    \"    else:\\n\",\n    \"        return \\\"Number of predictions does not match number of outcomes!\\\"\\n\",\n    \"    \\n\",\n    \"# Test the 'accuracy_score' function\\n\",\n    \"predictions = pd.Series(np.ones(5, dtype = int))\\n\",\n    \"print accuracy_score(outcomes[:5], predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Tip:** If you save an iPython Notebook, the output from running code blocks will also be saved. However, the state of your workspace will be reset once a new session is started. Make sure that you run all of the code blocks from your previous session to reestablish variables and functions before picking up where you last left off.\\n\",\n    \"\\n\",\n    \"# Making Predictions\\n\",\n    \"\\n\",\n    \"If we were asked to make a prediction about any passenger aboard the RMS Titanic whom we knew nothing about, then the best prediction we could make would be that they did not survive. This is because we can assume that a majority of the passengers (more than 50%) did not survive the ship sinking.  \\n\",\n    \"The `predictions_0` function below will always predict that a passenger did not survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_0(data):\\n\",\n    \"    \\\"\\\"\\\" Model with no features. Always predicts a passenger did not survive. \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Predict the survival of 'passenger'\\n\",\n    \"        predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_0(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1\\n\",\n    \"*Using the RMS Titanic data, how accurate would a prediction be that none of the passengers survived?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 61.62%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:** 61.62% (Accuracy when we always predict `Survived=0`.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"***\\n\",\n    \"Let's take a look at whether the feature **Sex** has any indication of survival rates among passengers using the `survival_stats` function. This function is defined in the `titanic_visualizations.py` Python script included with this project. The first two parameters passed to the function are the RMS Titanic data and passenger survival outcomes, respectively. The third parameter indicates which feature we want to plot survival statistics across.  \\n\",\n    \"Run the code cell below to plot the survival outcomes of passengers based on their sex.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nzCCXJKnCDHJJUqd98pOf5Lzzzmtzeq9evfjHP/7RhSXqWgsXLqR///70hCuoDHJJ6iG2HzqUiGjY\\nz/ZDh9ZXju23Z/PNN2fAgAEMGjSIvfbai8svv3yt0Lrssss444wz2lxHxDpXSW0QO+ywA7/+9a8b\\nsu7OGDFiBE8//XTD9rMzDHJJ6iHmL11KQsN+5i9dWlc5IoLrrruOp556ivnz53PaaacxefJkPvrR\\nj9a9Lz2hpvpKrF69uruLUDeDXJK0jqYg7tevH4cffjg/+clPmDp1KrNnzwbghBNO4Kyzzmqe/2tf\\n+xrbbLMNw4cP5/vf/367NdX99tuPs846i7322ov+/ftzyCGH8MQTTzRPnzFjBm95y1sYNGgQ+++/\\nP3PmzAHguOOOY8GCBYwdO5b+/fszZcqUdda9fPlyxo4dy8CBA9lqq63YZ599mqe1bO6v3YfbbruN\\nESNGcOGFFzJs2DBOPPFERo0axfXXX988/+rVq9l666259957mT9/Pr169WLNmjVcffXVjBkzZq1y\\nXHzxxYwbNw6AF154gVNOOYWRI0cybNgwTjrpJJ5//vkO/gL1M8glSR0aM2YMw4cP54477lhn2g03\\n3MBFF13EzTffzLx587jppps6XN/06dOZOnUqy5Yt4/nnn28O5blz5zJx4kS++c1vsmzZMg499FAO\\nP/xwXnrpJX74wx+y3Xbbce211/L0009zyimnrLPer3/964wYMYLly5fz2GOP8dWvfrV5WkfN4EuW\\nLOHJJ59kwYIFXHHFFUycOJFp06attZ+DBw9mt912W2t9Y8eOZe7cufz9739fa/+OPfZYAL74xS/y\\n0EMP8Ze//IWHHnqIRYsWcc4553T4HtXLIJck1WWbbbZZq+bc5JprruGEE07gzW9+M5tttlldjz09\\n4YQT2HHHHdlkk00YP3489957LwBXX301hx9+OPvvvz+9e/fmlFNO4dlnn+W3v/1t87LtNdv37duX\\nxYsX8/DDD9O7d2/23HPPupYD6N27N1/5ylfo27cvm2yyCRMmTGDGjBk899xzQBHOEyZMWGe5zTbb\\njCOPPJLp06cDMG/ePObMmcMRRxwBwLe//W0uvvhiBgwYwBZbbMFpp53WPO+GYJBLkuqyaNEiBg0a\\ntM74Rx99lBEjRjQPjxw5ssPQHFrT8W7zzTfnmWeeaV7XyJEjm6dFBCNGjGDRokV1lfELX/gCO+64\\nIwcddBBveMMbmDx5cl3LAQwePJi+ffs2D++4446MGjWKmTNn8uyzzzJjxgwmTpzY6rITJkxoDudp\\n06Yxbtw4NtlkE5YtW8aqVat4xzvewaBBgxg0aBCHHnooy5cvr7tcHfEWrZKkDt199908+uij7L33\\n3utMGzZsGAsXLmwenj9//nr35t5mm224//771xq3cOFChg8fDnTcPL7FFlswZcoUpkyZwuzZs9lv\\nv/3Yfffd2W+//dh8881ZtWpV87xLlixZ6wtIa+s+5phjmDZtGqtXr2aXXXbh9a9/favbPfDAA1m2\\nbBn33XcfV111FZdccgkAr3vd69h888154IEHGDZsWH1vQidZI5cktWnlypVce+21TJgwgQ9/+MOM\\nGjVqnXnGjx/PD37wAx588EFWrVr1is7/jh8/nuuuu45bbrmFl156iSlTprDpppuyxx57AEVNvr3r\\n06+77rrmc9X9+vWjT58+9OpVRN1uu+3GtGnTWLNmDTfccAO33XZbh+U55phjmDVrFpdddtk6tfHa\\nVoc+ffpw1FFHceqpp7JixQoOPPBAoPhy8LGPfYyTTz6ZZcuWAUXLxqxZszrxrrTPIJckrWPs2LEM\\nGDCA7bbbjvPPP59TTjmF733ve83Ta2uvhxxyCCeffDL7778/O+20E+9973vbXXd7teqddtqJH//4\\nx3z6059m8ODBXHfddcycOZM+fYoG5NNOO41zzz2XQYMGcdFFF62z/Lx58zjggAPo168fe+65J5/6\\n1Keae65/4xvfYMaMGQwcOJDp06fz7//+7x2+D0OHDmWPPfbgrrvu4uijj253PyZMmMDNN9/M+PHj\\nm788AEyePJk3vOENvOtd72LLLbfkoIMOYu7cuR1uu16VfR55d5dBLxs5ZAiPLFnS3cWQKmX06NHr\\nPP1s+6FD677We314rFZDa58NeBU+j9wk7zmigf94pI2JIav1YdO6JEkVZpBLklRhBrkkSRVmkEuS\\nVGEGuSRJFWaQS5JUYQa5JEkVZpBLkrrNJz/5Sc4777wNvt6vfOUrfPjDH97g6+2JDHJJ6iGGDh9K\\nRDTsZ+jwoR0XonTnnXey5557suWWW/K6172Ovffemz/+8Y8bfJ8vu+wyzjjjjA2+Xuj4ASuvFpW9\\ns5skvdosXbQUJjVw/ZPquwvjypUrGTt2LJdffjlHHXUUL7zwAnfccQebbLJJp7eZmRtNoHYXa+SS\\npLXMnTuXiGD8+PFEBJtssgkHHHAAb3nLW9Zpsp4/fz69evVizZo1AOy3336ceeaZ7LXXXmyxxRZ8\\n7WtfY8yYMWut/+KLL2bcuHEAnHDCCZx11lkAjBo1iuuvv755vtWrV7P11ltz7733AnDXXXex5557\\nMnDgQN7+9rev9fSyRx55hH333ZcBAwZw8MEH8/jjjzfmzemBDHJJ0lp22mknevfuzUc+8hFuuOEG\\nnnzyybWmt6xhtxz+8Y9/zHe+8x1WrlzJJz7xCebOndv8aFGA6dOnc+yxx66z3QkTJjBt2rTm4Rtu\\nuIHBgwez2267sWjRIg4//HDOOussVqxYwZQpU/jABz7A8uXLAZg4cSJjxozh8ccf58wzz2Tq1Kmv\\n+H2oCoNckrSWfv36ceedd9KrVy8+/vGPM3jwYMaNG8djjz1W1/If+chHeNOb3kSvXr3o378/Rx55\\nJNOnTweKx4zOmTOHsWPHrrPcxIkTmTFjBs899xxQBP6ECRMAuPLKKznssMM4+OCDAXjve9/L6NGj\\nuf7661m4cCH33HMP55xzDn379mXvvfdudf2vVga5JGkdO++8M9/73vdYsGABDzzwAI8++ignn3xy\\nXcuOGDFireEJEyY0B/m0adMYN24cm2666TrL7bjjjowaNYqZM2fy7LPPMmPGjOaa+/z587n66qsZ\\nNGgQgwYNYuDAgfzmN79h8eLFPProowwcOJDNNtuseV0jR45c312vHDu7SZLatdNOO3H88cdzxRVX\\n8I53vINVq1Y1T1u8ePE687dsaj/wwANZtmwZ9913H1dddRWXXHJJm9s65phjmDZtGqtXr2aXXXZh\\nhx12AIovB8cddxyXX375OsssWLCAFStW8OyzzzaH+YIFC+jVa+Ooq24ceylJqtucOXO46KKLWLRo\\nEQALFy5k+vTp7LHHHrztbW/j9ttvZ+HChTz11FNccMEFHa6vT58+HHXUUZx66qmsWLGCAw88sM15\\njznmGGbNmsVll13GxIkTm8d/6EMfYubMmcyaNYs1a9bw3HPPcdttt/Hoo4+y3XbbMXr0aM4++2xe\\nfPFF7rzzTmbOnPnK34iKMMglSWvp168fv//973nnO99Jv379ePe7382uu+7KlClTOOCAAzj66KPZ\\nddddGTNmzDrnotu61GzChAncfPPNjB8/fq2acsv5hw4dyh577MFdd93F0Ucf3Tx++PDh/OIXv+Cr\\nX/0qgwcPZuTIkUyZMqW5t/yVV17JXXfdxVZbbcW5557L8ccfv6Hejh4vMrO7y9BpEVHBUr96BcW1\\nopLqN3r0aO655561xg0dPrS4lrxBhmw7hCX/XNKw9WvDaO2zAcWXnsxc55uS58glqYcwZLU+bFqX\\nJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzMvPJKkbDBs2jNGjR3d3MdQDDRs2rFPze0MY\\nvWLeEEaSGq+tG8LYtC5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhB\\nLklShRnkkiRVmEEuSVKFGeSSJFVYlwR5RPSKiD9FxIxyeGBEzIqIORFxY0QMqJn39IiYFxEPRsRB\\nXVE+SZKqqqtq5J8DZtcMnwbclJk7A78GTgeIiFHAeODNwKHApRGxzpNeJElSoeFBHhHDgfcB36kZ\\nfSQwtXw9FRhXvj4CuCozX8rMR4B5wO6NLqMkSVXVFTXyi4FTgdoHVg/JzKUAmbkE2Locvy2wsGa+\\nReU4SZLUioYGeUQcBizNzHuB9prIs51pkiSpDX0avP49gSMi4n3AZkC/iPgRsCQihmTm0ogYCjxW\\nzr8IGFGz/PBy3Dom1bzet/yRJOnV4tZbb+XWW2/tcL7I7JrKcETsA/zvzDwiIi4Elmfm5Ij4IjAw\\nM08rO7tdCbyTokn9V8Abs0UhI6KLSq16BNBVnyNJ2lhFBJm5Tut2o2vkbbkAuDoiTgTmU/RUJzNn\\nR8TVFD3cXwROahnikiTpZV1WI9+QrJH3LNbIJanx2qqRe2c3SZIqzCCXJKnCDHJJkirMIJckqcIM\\nckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJ\\nkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIq\\nzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswg\\nlySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKqzDII+ILSKiV/l6p4g4IiL6Nr5okiSpI/XU\\nyG8HNo2IbYFZwIeBHzSyUJIkqT71BHlk5irg/cClmXkUsEtjiyVJkupRV5BHxB7AscB15bjejSuS\\n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\\nL2A08FzDSiRJkupWT6/12ueSv0TxULUjG1IaSZLUKfWcI98gzyWXJEkbXptBHhFntbNcZua5DSiP\\nJEnqhPZq5P9qZdwWwEeBrQCDXJKkbtZmkGfm15teR0Q/4HPACcBVwNfbWk6SJHWdds+RR8Qg4PPA\\nscBU4N8yc0VXFEySJHWsvXPkXwPeD1wBvDUzn+myUkmSpLpEZrY+IWINxdPOXuLlW7QCBEVnt267\\nRWtEtFFqdYfyA9HdxZDUABEBk7q7FAJgEmRmtBzd3jnyTt31TZIkdT3DWpKkCjPIJUmqMINckqQK\\nM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPI\\nJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJ\\nqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaow\\ng1ySpAozyCVJqjCDXJKkCuvT3QXQq0BviIjuLoWAIdsOYck/l3R3MSR1oYYGeUR8FzgcWJqZu5bj\\nBgI/AUYCjwDjM/OpctrpwInAS8DnMnNWI8unDWQ1MKm7CyGApZOWdncRJHWxRjetfx84uMW404Cb\\nMnNn4NfA6QARMQoYD7wZOBS4NKzmSZLUroYGeWbeCaxoMfpIYGr5eiowrnx9BHBVZr6UmY8A84Dd\\nG1k+SZKqrjs6u22dmUsBMnMJsHU5fltgYc18i8pxkiSpDT2h13p2dwEkSaqq7ui1vjQihmTm0ogY\\nCjxWjl8EjKiZb3g5rlWTal7vW/5IkvSq8TBFl/AOdEWQR/nTZAbwEWAycDzwi5rxV0bExRRN6m8A\\n/tDWSic1oKCSJPUYO5Q/TW5rfbZGX342jaKyvFVELADOBi4AromIE4H5FD3VyczZEXE1MBt4ETgp\\nM212lySpHQ0N8syc2MakA9qY/3zg/MaVSJKkV5ee0NlNkiStJ4NckqQKM8glSaowg1ySpAozyCVJ\\nqjCDXJKkCjPIJUmqMINckqQKM8glSaqw7nhoiiS1afuhQ5m/dGl3F0OqDINcUo8yf+lSn23cg0TH\\ns6ib2bQuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIk\\nVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWY\\nQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEu\\nSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklS\\nhRnkkiRVmEEuSVKFGeSSJFWYQS5JUoUZ5JIkVZhBLklShfXIII+IQyLibxExNyK+2N3lkSSpp+px\\nQR4RvYBvAQcDuwATIuJN3VsqSZJ6ph4X5MDuwLzMnJ+ZLwJXAUd2c5kkSeqRemKQbwssrBn+ZzlO\\nkiS10BODXJIk1alPdxegFYuA7WqGh5fj1hJdVhzVZVJ3F0BNIqp/dFR/D15lJnV3AdSeyMzuLsNa\\nIqI3MAd4L7AY+AMwITMf7NaCSZLUA/W4Gnlmro6ITwOzKJr+v2uIS5LUuh5XI5ckSfWzs5s2qIjY\\nJyJmdnc5JBUi4rMRMTsiftSg9Z8dEZ9vxLpVnx7XtK5XBZt5pJ7jk8B7M/PR7i6IGsMaudYRESMj\\n4sGI+H5EzImIH0fEeyPiznJ4dESMiYjfRsQfy/FvbGU9m0fEdyPirnK+sd2xP9LGKiIuA14P/DIi\\nvtTa8RgRx0fEzyJiVkT8IyI+FRH/GRF/Ko/xLcv5/ldE/CEi/hwR10TEpq1s7/UR8cuIuDsibouI\\nnbp2jzdOBrnasiPwtczcGXgTxZUDewGnAmcADwJ7ZeY7gLOB81tZxxnAzZn5LmB/YEpEbNYlpZdE\\nZn6S4vLd/YAtaPt43AUYR3FnzfOAZzLz34C7gOPKef47M3fPzLcDfwM+2somrwA+nZljKP5XXNaY\\nPVMtm9bVloczc3b5+gHg5vL1X4GRwJbAD8uaeNL6Z+kgYGxEnFoOv4biHgFzGlZqSW1p63gEuCUz\\nVwGrIuJJ4Npy/F+Bt5avd42IcymO/S2AG2tXHhFbAO8GromXb2bQtyF7orUY5GrL8zWv19QMr6E4\\nOM8Ffp2Z74+IkcAtrawjgA9k5ryGllRSPVo9HiPiXax9vCdrH+9NOfF94IjMvD8ijgf2abH+XsCK\\nsiavLmTTutrS0c21+vPyHfdOaGOeG4HPNq8wYrcNUC5JndN0LL/S4/G1wJKI6Asc23JiZq4EHo6I\\nD9ZsY9fOF1edZZCrLdnG66bhC4ELIuKPtP05OhfoGxF/iYi/Auds+GJK6kDT8Vt7PN5P28djW1ed\\nnEVxp807KPrItOZDwEcj4t5yG0esZ5nVCd4QRpKkCrNGLklShRnkkiRVmEEuSVKFGeSSJFWYQS5J\\nUoUZ5JIkVZhBLmktEXFGRNwfEfeVD84Y091lktQ2b9EqqVl5u873Abtl5ksRMYjintySeihr5JJq\\nDQMez8yXADLzicxcEhH/FhG3lo+n/GVEDImI3uVjLd8DEBHnlw/VkNSFvLObpGblE6zuBDajeOLd\\nT4DfArdRPDBjeUSMBw7OzI9GxCjgGop7eF8IvLPpS4CkrmHTuqRmmfmviPg3YG+KZ1ZfRfF86rcA\\nvyofT9kLWFzOPzsifkzx2EtDXOoGBrmktWTRTHc7cHv5sJtPAfdn5p5tLPJWYAUwpIuKKKmG58gl\\nNYuInSLiDTWjdgNmA4PLjnBERJ+ySZ2IeD8wEHgP8K2I6N/VZZY2dp4jl9SsbFb/v8AA4CXgIeDj\\nwPCa8b2BS4CfA78B9s/MRyPi08A7MrOt59NLagCDXJKkCrNpXZKkCjPIJUmqMINckqQKM8glSaow\\ng1ySpAozyCVJqjCDXJKkCjPIJUmqsP8PJwzygMM5sQ0AAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x106273b10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Sex')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Examining the survival statistics, a large majority of males did not survive the ship sinking. However, a majority of females *did* survive the ship sinking. Let's build on our previous prediction: If a passenger was female, then we will predict that they survived. Otherwise, we will predict the passenger did not survive.  \\n\",\n    \"Fill in the missing code below so that the function will make this prediction.  \\n\",\n    \"**Hint:** You can access the values of each feature for a passenger like a dictionary. For example, `passenger['Sex']` is the sex of the passenger.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_1(data):\\n\",\n    \"    \\\"\\\"\\\" Model with one feature: \\n\",\n    \"            - Predict a passenger survived if they are female. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['Sex'] == 'female':\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_1(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2\\n\",\n    \"*How accurate would a prediction be that all female passengers survived and the remaining passengers did not survive?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 78.68%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: 78.68% (Accuracy when we predict `Survived=1` if and only if passenger is female.) \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"***\\n\",\n    \"Using just the **Sex** feature for each passenger, we are able to increase the accuracy of our predictions by a significant margin. Now, let's consider using an additional feature to see if we can further improve our predictions. For example, consider all of the male passengers aboard the RMS Titanic: Can we find a subset of those passengers that had a higher rate of survival? Let's start by looking at the **Age** of each male, by again using the `survival_stats` function. This time, we'll use a fourth parameter to filter out the data so that only passengers with the **Sex** 'male' will be included.  \\n\",\n    \"Run the code cell below to plot the survival outcomes of male passengers based on their age.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZ88GYMyYMVx66aXV619//fX07NmTXr16cdddd9Xbkh88eDCXXnophxxyCB07dmTo0KG8++671cun\\nTp3K3nvvTZcuXRgyZAhz5swB4NRTT2XBggUMGzaMjh07MmHChE3KXrlyJcOGDaNz58507dqVww47\\nrHpZzUMIuXWYOXMmvXv35rrrrqNHjx6cccYZDBgwgIceeqh6/crKSnbccUdefPFF5s+fT6tWrdiw\\nYQP33nsvgwYN2iiOm266iREjRgDw6aefct5551FWVkaPHj0466yz+OSTTxp4BRqHk7yZmTVo0KBB\\n9OrViyeeeGKTZdOnT+fGG2/k0Ucf5fXXX+eRRx5psLwpU6YwadIkVqxYwSeffFKdsOfOncvo0aP5\\n2c9+xooVKzjmmGM47rjjWL9+Pb/61a/o06cPDzzwAB988AHnnXfeJuXecMMN9O7dm5UrV7J8+XKu\\nuuqq6mUNHUJYunQp7733HgsWLOCOO+5g9OjRTJ48eaN6duvWjf3222+j8oYNG8bcuXN58803N6rf\\nySefDMAFF1zAG2+8wcsvv8wbb7zBokWLuPzyyxt8jhqDk7yZmeWlZ8+eG7W4q9x3332MGTOGPffc\\nk+22245x48Y1WNaYMWPYddddadeuHSNHjuTFF18E4N577+W4445jyJAhtG7dmvPOO4+1a9fy17/+\\ntXrb+g4FtG3bliVLlvD222/TunVrDj744Ly2A2jdujXjx4+nbdu2tGvXjlGjRjF16lQ+/vhjIEnc\\no0aN2mS77bbbjuHDhzNlyhQAXn/9debMmcPxxx8PwM9//nNuuukmOnXqRPv27bnwwgur1y02J3kz\\nM8vLokWL6NKlyybzFy9eTO/evauny8rKGkyo3bt3r368/fbb8+GHH1aXVZYzLkESvXv3ZtGiRXnF\\n+JOf/IRdd92Vo446it12241rr702r+0AunXrRtu2baund911VwYMGMC0adNYu3YtU6dOZfTo2m+u\\nOmrUqOrEPXnyZEaMGEG7du1YsWIFa9asYf/996dLly506dKFY445hpUrV+YdVyE88M7MzBr07LPP\\nsnjxYg499NBNlvXo0YOFCxdWT8+fP3+LR9f37NmTV155ZaN5CxcupFevXkDDXe7t27dnwoQJTJgw\\ngdmzZzN48GAOOOAABg8ezPbbb8+aNWuq1126dOlGP05qK/ukk05i8uTJVFZWstdee7HLLrtssg7A\\nkUceyYoVK3jppZe45557uPnmmwH4/Oc/z/bbb8+sWbPo0aNHfk9CI3JL3szM6rR69WoeeOABRo0a\\nxSmnnMKAAQM2WWfkyJH87//+L6+++ipr1qwp6HjzyJEjefDBB3nsscdYv349EyZMYNttt+Wggw4C\\nkh6A+s6/f/DBB6uPjXfo0IE2bdrQqlWS6vbbbz8mT57Mhg0bmD59OjNnzmwwnpNOOokZM2Zw2223\\nbdKKz+2taNOmDSeccALnn38+q1at4sgjjwSSHw7f+c53OPfcc1mxYgWQ9IjMmDFjM56VLeckb2Zm\\nmxg2bBidOnWiT58+XH311Zx33nkbnT6X2+odOnQo5557LkOGDKF///4cfvjh9ZZdX2u8f//+/OY3\\nv+H73/8+3bp148EHH2TatGm0aZN0PF944YVcccUVdOnShRtvvHGT7V9//XWOOOIIOnTowMEHH8zZ\\nZ59dPcL+lltuYerUqXTu3JkpU6bw7//+7w0+D927d+eggw7i6aef5sQTT6y3HqNGjeLRRx9l5MiR\\n1T8sAK699lp22203DjzwQHbYYQeOOuoo5s6d2+C+G4PvJ29mVgIDBw7c5C50zeViOFZatb03wPeT\\nNzNr0ZyArbG5u97MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\\nzKxkvve973HllVc2ernjx4/nlFNOafRyWxpfDMfMrJk48z/PZN7ieUUrv2/Pvtx+U34X3HnyySe5\\n4IILmDVrFm3atGHPPffk5ptvZv/992/UmG677bZGLS/Xlt4kJ0uc5M3Mmol5i+dR9q2yhlfc0vJ/\\nMy+v9VavXs2wYcOYOHEiJ5xwAp9++ilPPPEE7dq12+x9RoSTbQm5u97MzDYyd+5cJDFy5Egk0a5d\\nO4444gj23nvvTbrB58+fT6tWrdiwYQMAgwcP5pJLLuGQQw6hffv2XH/99QwaNGij8m+66SZGjBgB\\nwJgxY7j00ksBGDBgAA899FD1epWVley44468+OKLADz99NMcfPDBdO7cmS9+8Ysb3UVu3rx5lJeX\\n06lTJ44++mjeeeed4jw5LYyTvJmZbaR///60bt2a008/nenTp/Pee+9ttLxmy7zm9G9+8xt+8Ytf\\nsHr1as4880zmzp1bfftXgClTpnDyySdvst9Ro0YxefLk6unp06fTrVs39ttvPxYtWsRxxx3HpZde\\nyqpVq5gwYQLf+MY3WLlyJQCjR49m0KBBvPPOO1xyySVMmjSp4OchC5zkzcxsIx06dODJJ5+kVatW\\nfPe736Vbt26MGDGC5cuX57X96aefzh577EGrVq3o2LEjw4cPZ8qUKUByK9g5c+YwbNiwTbYbPXo0\\nU6dO5eOPPwaSHwOjRo0C4O677+bYY4/l6KOPBuDwww9n4MCBPPTQQyxcuJDnnnuOyy+/nLZt23Lo\\noYfWWv7WyEnezMw2sfvuu/PLX/6SBQsWMGvWLBYvXsy5556b17a9e/feaHrUqFHVSX7y5MmMGDGC\\nbbfddpPtdt11VwYMGMC0adNYu3YtU6dOrW7xz58/n3vvvZcuXbrQpUsXOnfuzFNPPcWSJUtYvHgx\\nnTt3Zrvttqsuq6yseGMbWhIPvDMzs3r179+f0047jTvuuIP999+fNWvWVC9bsmTJJuvX7L4/8sgj\\nWbFiBS+99BL33HMPN998c537Oumkk5g8eTKVlZXstdde9OvXD0h+OJx66qlMnDhxk20WLFjAqlWr\\nWLt2bXWiX7BgAa1auR3rZ8DMzDYyZ84cbrzxRhYtWgTAwoULmTJlCgcddBD77rsvjz/+OAsXLuT9\\n99/nmmuuabC8Nm3acMIJJ3D++eezatUqjjzyyDrXPemkk5gxYwa33XYbo0ePrp7/rW99i2nTpjFj\\nxgw2bNjAxx9/zMyZM1m8eDF9+vRh4MCBXHbZZaxbt44nn3ySadOmFf5EZICTvJmZbaRDhw4888wz\\nfPnLX6ZDhw585StfYZ999mHChAkcccQRnHjiieyzzz4MGjRok2PfdZ0uN2rUKB599FFGjhy5UQu7\\n5vrdu3fnoIMO4umnn+bEE0+snt+rVy/uv/9+rrrqKrp160ZZWRkTJkyoHtV/99138/TTT9O1a1eu\\nuOIKTjvttMZ6Olo0RUSpY9hskqIlxm1mVmXgwIE899xzG81rThfDsdKp7b0ByQ+iiNisiw74mLw1\\nuYvPPJOV8+aVOoyi6dq3L1fd7i9S23xOwNbYnOStya2cN4+JGR75OjbDP2DMrGUp6jF5SXdKWibp\\n5Zx510l6VdKLkn4vqWPOsoskvZ4uP6qYsZmZmWVdsQfe3QUcXWPeDGCviNgPeB24CEDSAGAksCdw\\nDHCrfMFjMzOzLVbUJB8RTwKrasx7JCI2pJNPA73Sx8cD90TE+oiYR/ID4IBixmdmZpZlpT6F7gyg\\n6m4EOwMLc5YtSueZmZnZFihZkpf0X8C6iJhSqhjMzMyyrCSj6yWdDnwNGJIzexGQe8HjXum8Wo0b\\nN676cXl5OeXl5Y0ZoplZUfXo0YOBAweWOgxrhnr06AFARUUFFRUVBZVV9IvhSOoLTIuIL6TTQ4Eb\\ngK9GxMqc9QYAdwNfJumm/zPwb7Vd9cYXw2nZxg4dmu1T6ObPZ+L06aUOw8wyptldDEfSZKAc6Cpp\\nAXAZcDGwDfDndPD80xFxVkTMlnQvMBtYB5zlTG5mZrbliprkI2J0LbPvqmf9q4GrixeRmZnZ1qPU\\no+vNzMysSJzkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szM\\nLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTN\\nzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ\\n3szMLKOc5M3MzDLKSd7MzCyjnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOc5M3MzDLKSd7MzCyj\\nnOTNzMwyyknezMwso5zkzczMMspJ3szMLKOKmuQl3SlpmaSXc+Z1ljRD0hxJD0vqlLPsIkmvS3pV\\n0lHFjM3MzCzrit2Svws4usa8C4FHImJ34C/ARQCSBgAjgT2BY4BbJanI8ZmZmWVWUZN8RDwJrKox\\nezgwKX08CRiRPj4euCci1kfEPOB14IBixmdmZpZlpTgmv2NELAOIiKXAjun8nYGFOestSueZmZnZ\\nFmgOA++i1AGYmZllUZsS7HOZpJ0iYpmk7sDydP4ioHfOer3SebUaN25c9ePy8nLKy8sbP1IzM7MS\\nqaiooKKioqAyFFHchrSkvsC0iPhCOn0t8G5EXCvpAqBzRFyYDry7G/gySTf9n4F/i1oClFTbbGsh\\nxg4dysSyslKHUTRj589n4vTppQ7DzDJGEhGxWQPSi9qSlzQZKAe6SloAXAZcA9wn6QxgPsmIeiJi\\ntqR7gdnAOuAsZ3IzM7MtV9QkHxGj61h0RB3rXw1cXbyIzMzMth7NYeCdmZmZFYGTvJmZWUY5yZuZ\\nmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8\\n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\\nM1Znko+IG6oeS+oAnAOMAe4BbqhrOzMzM2se6j0mL6kL8CPgZGAS8KWIWNUUgZmZmVlh6jsmfz3w\\ndeAO4AsR8WGTRWVmZmYFq+9iOD8GegKXAIslfZD+rZb0QdOEZ2ZmZluqvmPym3U1PDMzM2tenMjN\\nzMwyyknezMwso/K5rK2ZWbVXZs1i7NChpQ6jKLr27ctVt99e6jDMGo2TvJltFq1dm9l7K4zN8I2h\\nbOvk7nozM7OMcpI3MzPLKCd5MzOzjHKSNzMzyygneTMzs4wqaZKX1ErS85KmptOdJc2QNEfSw5I6\\nlTI+MzOzlqzULflzgNk50xcCj0TE7sBfgItKEpWZmVkGlCzJS+oFfA34Rc7s4SS3tCX9P6Kp4zIz\\nM8uKUrbkbwLOByJn3k4RsQwgIpYCO5YiMDMzsywoSZKXdCywLCJeBFTPqlHPMjMzM6tHqS5rezBw\\nvKSvAdsBHST9GlgqaaeIWCapO7C8rgLGjRtX/bi8vJzy8vLiRmxmZtaEKioqqKioKKiMkiT5iLgY\\nuBhA0mHAjyPiFEnXAacD1wKnAffXVUZukjczM8uamg3Y8ePHb3YZpR5dX9M1wJGS5gCHp9NmZma2\\nBUp+F7qImAnMTB+/CxxR2ojMzMyyobm15M3MzKyROMmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5\\nyZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZll\\nlJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZ\\nWUY5yZuZmWWUk7yZmVlGOcmbmZlllJO8mZlZRjnJm5mZZZSTvJmZWUY5yZuZmWVUm1IHYGbWXLwy\\naxZjhw4tdRhF07VvX666/fZSh2FNyEnezCyltWuZWFZW6jCKZuy8eaUOwZqYk7w1uTcqP2ToUw+V\\nOoyieaPyw1KHYGYGOMlbCXzSZgNlX/tcqcMommfuWlbqEMzMAA+8MzMzyywneTMzs4xykjczM8so\\nH5M3a2RrKtd7YKGZNQtO8maNbENrPLDQzJqFknTXS+ol6S+SZkn6p6QfpvM7S5ohaY6khyV1KkV8\\nZmZmWVCqY/LrgR9FxF7AQcDZkvYALgQeiYjdgb8AF5UoPjMzsxavJEk+IpZGxIvp4w+BV4FewHBg\\n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\\nTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x117aeedd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"Examining the survival statistics, the majority of males younger than 10 survived the ship sinking, whereas most males age 10 or older *did not survive* the ship sinking. Let's continue to build on our previous prediction: If a passenger was female, then we will predict they survive. If a passenger was male and younger than 10, then we will also predict they survive. Otherwise, we will predict they do not survive.  \\n\",\n    \"Fill in the missing code below so that the function will make this prediction.  \\n\",\n    \"**Hint:** You can start your implementation of this function using the prediction code you wrote earlier from `predictions_1`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predictions_2(data):\\n\",\n    \"    \\\"\\\"\\\" Model with two features: \\n\",\n    \"            - Predict a passenger survived if they are female.\\n\",\n    \"            - Predict a passenger survived if they are male and younger than 10. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['Sex'] == 'female' or passenger['Age'] < 10:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_2(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3\\n\",\n    \"*How accurate would a prediction be that all female passengers and all male passengers younger than 10 survived?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of this prediction.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 79.35%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: 79.35% (Accuracy when we predict a passenger survived if and only if they are female or if they are male and younger than 10.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"***\\n\",\n    \"Adding the feature **Age** as a condition in conjunction with **Sex** improves the accuracy by a small margin more than with simply using the feature **Sex** alone. Now it's your turn: Find a series of features and conditions to split the data on to obtain an outcome prediction accuracy of at least 80%. This may require multiple features and multiple levels of conditional statements to succeed. You can use the same feature multiple times with different conditions.   \\n\",\n    \"**Pclass**, **Sex**, **Age**, **SibSp**, and **Parch** are some suggested features to try.\\n\",\n    \"\\n\",\n    \"Use the `survival_stats` function below to to examine various survival statistics.  \\n\",\n    \"**Hint:** To use mulitple filter conditions, put each condition in the list passed as the last argument. Example: `[\\\"Sex == 'male'\\\", \\\"Age < 18\\\"]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b456990>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nPSNGjGDjxo3ly2fOnMlhhx1Gp06dGDZsGEuXLgXg3HPPZeXKlYwcOZL27dszderUPcresGEDI0eO\\npGPHjnTu3JkTTzyxfFnF7v7MOsyfP5+ePXty66230q1bNy644AL69+/PnDlzytcvKSlh//33Z9Gi\\nRaxYsYIWLVpQWlrK448/zqBBg3aL484772TMmDEAfPnll1x++eXk5ubSrVs3fvCDH/DFF1/U8A7U\\nnxK5iIiUGzRoED169OCll17aY9ncuXO54447eP7553n//fd57rnnaixvxowZTJ8+nXXr1vHFF1+U\\nJ+Vly5YxceJEfv3rX7Nu3TpOO+00zjzzTHbt2sXDDz9Mr169eOaZZ/jss8+4/PLL9yj39ttvp2fP\\nnmzYsIG1a9dy0003lS+rqbv/k08+4dNPP2XlypU88MADTJw4kYKCgt3q2aVLFwYMGLBbeSNHjmTZ\\nsmV8+OGHu9Xv7LPPBuDKK6/kgw8+4O233+aDDz5g1apVXH/99TW+RvWlRC4iIrvp3r37bi3nMk88\\n8QSTJk3ikEMOYZ999mHy5Mk1ljVp0iT69u1L69atGTduHIsWLQLg8ccf58wzz2TYsGHk5ORw+eWX\\ns337dl555ZXybavrtm/VqhWrV6/m448/JicnhyFDhkTaDiAnJ4cpU6bQqlUrWrduTX5+PjNnzmTH\\njh1AkJzz8/P32G6fffZh9OjRzJgxA4D333+fpUuXMmrUKAB++9vfcuedd9KhQwfatm3LVVddVb5u\\nnJTIRURkN6tWraJTp057zC8uLqZnz57l07m5uTUmza5du5Y/b9OmDVu3bi0vKzdjrICZ0bNnT1at\\nWhUpxp///Of07duXU045ha9+9avccsstkbYD6NKlC61atSqf7tu3L/3792fWrFls376dmTNnMnFi\\n5TfvzM/PL0/OBQUFjBkzhtatW7Nu3Tq2bdvG0UcfTadOnejUqROnnXYaGzZsiBxXXWmwm4iIlHvt\\ntdcoLi7mhBNO2GNZt27dKCoqKp9esWJFnUetd+/enXfeeWe3eUVFRfTo0QOouXu8bdu2TJ06lalT\\np7JkyRKGDh3KMcccw9ChQ2nTpg3btm0rX/eTTz7Z7QdIZWVPmDCBgoICSkpKOPTQQznooIMq3e/w\\n4cNZt24db731Fo899hh33XUXAF/5yldo06YNixcvplu3btFehAaiFrmIiLBlyxaeeeYZ8vPzOeec\\nc+jfv/8e64wbN47f//73vPvuu2zbtq1ex3/HjRvH7NmzeeGFF9i1axdTp05l7733ZvDgwUDQkq/u\\n/PTZs2eXH6tu164dLVu2pEWLIKUNGDCAgoICSktLmTt3LvPnz68xngkTJjBv3jzuvffePVrjmb0O\\nLVu2ZOzYsVxxxRVs2rSJ4cOHA8GPg+9973tcdtllrFu3Dgh6NubNm1eLV6VulMhFRJqxkSNH0qFD\\nB3r16sWvfvUrLr/88t1OPctsvY4YMYLLLruMYcOG0a9fP0466aRqy66uVd2vXz8eeeQRfvSjH9Gl\\nSxdmz57NrFmzaNky6Ci+6qqruOGGG+jUqRN33HHHHtu///77nHzyybRr144hQ4bwwx/+sHzk+t13\\n383MmTPp2LEjM2bM4N/+7d9qfB26du3K4MGDWbhwIePHj6+2Hvn5+Tz//POMGzeu/McDwC233MJX\\nv/pVjj32WPbbbz9OOeUUli1bVuO+60v3IxeRPcR90ZKk1eaiKfU1cODA3e5+1pQuCCPJqfi5KKP7\\nkYtIg4j7oiVJq81FUxqakqw0NHWti4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhI\\niimRi4iIpJgSuYiIxO7iiy/mxhtvbPByp0yZwjnnnNPg5aaJLggjItKILvrJRSwvXh5b+b279+a+\\nO6NfdGbBggVceeWVLF68mJYtW3LIIYdw1113cfTRRzdoXPfee2+DlpeprjduyRZK5CIijWh58XJy\\nvxPfVfOWP7I88rpbtmxh5MiR3H///YwdO5Yvv/ySl156idatW9d6v+7e7BNqUtS1LiLSTC1btgwz\\nY9y4cZgZrVu35uSTT+awww7bo8t6xYoVtGjRgtLSUgCGDh3KNddcw/HHH0/btm257bbbGDRo0G7l\\n33nnnYwZMwaASZMmce211wLQv39/5syZU75eSUkJ+++/P4sWLQJg4cKFDBkyhI4dO3LkkUfudvey\\n5cuXk5eXR4cOHTj11FNZv359PC9OiiiRi4g0U/369SMnJ4fzzz+fuXPn8umnn+62vGILu+L0I488\\nwu9+9zu2bNnCRRddxLJly8pvLQowY8YMzj777D32m5+fT0FBQfn03Llz6dKlCwMGDGDVqlWceeaZ\\nXHvttWzatImpU6fyrW99iw0bNgAwceJEBg0axPr167nmmmuYPn16vV+HtFMiFxFpptq1a8eCBQto\\n0aIF3//+9+nSpQtjxoxh7dq1kbY///zz+drXvkaLFi1o3749o0ePZsaMGUBwm9GlS5cycuTIPbab\\nOHEiM2fOZMeOHUCQ8PPz8wF49NFHOeOMMzj11FMBOOmkkxg4cCBz5syhqKiI119/neuvv55WrVpx\\nwgknVFp+c6NELiLSjB188ME89NBDrFy5ksWLF1NcXMxll10WaduePXvuNp2fn1+eyAsKChgzZgx7\\n7733Htv17duX/v37M2vWLLZv387MmTPLW+4rVqzg8ccfp1OnTnTq1ImOHTvy8ssvs3r1aoqLi+nY\\nsSP77LNPeVm5WXyXvqhiTeRm9qCZrTGztytZ9jMzKzWzTnHGICIi0fTr14/zzjuPxYsXs++++7Jt\\n27byZatXr95j/Ypd7cOHD2fdunW89dZbPPbYY0ycOLHKfU2YMIGCggKefvppDj30UPr06QMEPw7O\\nPfdcNm7cyMaNG9m0aRNbtmzh5z//Od26dWPTpk1s3769vJyVK1fWt9qpF3eLfBpwasWZZtYDGA6s\\niHn/IiJShaVLl3LHHXewatUqAIqKipgxYwaDBw/miCOO4MUXX6SoqIjNmzdz880311hey5YtGTt2\\nLFdccQWbNm1i+PDhVa47YcIE5s2bx7333rtbwv/Od77DrFmzmDdvHqWlpezYsYP58+dTXFxMr169\\nGDhwINdddx07d+5kwYIFzJo1q/4vRMrFmsjdfQGwqZJFdwJXxLlvERGpXrt27Xj11Vf5xje+Qbt2\\n7TjuuOM4/PDDmTp1KieffDLjx4/n8MMPZ9CgQXsci67qVLP8/Hyef/55xo0bR4sWLapcv2vXrgwe\\nPJiFCxcyfvz48vk9evTg6aef5qabbqJLly7k5uYyderU8tHyjz76KAsXLqRz587ccMMNnHfeeQ31\\ncqSWuXu8OzDLBWa5++Hh9Cggz91/amYfA0e7+8YqtvW44xORPV04YgT3Z/GxxwtXrOD+uXMbZV8D\\nBw7k9ddfL59uaheEkWRU/FyUMTPcvVYn5DfqBWHMbB/gaoJu9fLZjRmDiEiSlGSloTX2ld36Ar2B\\ntyzoZ+kB/N3MjnH3Ss93mDx5cvnzvLw88vLy4o9SRESkERQWFlJYWFivMhojkVv4wN3fAbqWLwi6\\n1o9y98qOowO7J3IREZFsUrGBOmXKlFqXEffpZwXAK0A/M1tpZpMqrOKoa11ERKTOYm2Ru3vVJxEG\\nyw+Kc/8iIiLZTld2ExERSTElchERkRTT/chFRGLUrVs3Bg4cmHQY0sR069atwcpSIhcRiZEuISpx\\nU9e6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiI\\nSIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGL\\niIikmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpJgS\\nuYiISIopkYuIiKSYErmIiEiKxZrIzexBM1tjZm9nzLvVzN41s0Vm9iczax9nDCIiItks7hb5NODU\\nCvPmAYe6+wDgfeAXMccgIiKStWJN5O6+ANhUYd5z7l4aTi4EesQZg4iISDZL+hj5BcCzCccgIiKS\\nWoklcjP7D2CnuxckFYOIiEjatUxip2Z2PnA6MKymdSdPnlz+PC8vj7y8vLjCEonsop9cxPLi5UmH\\nEZsVHy2G3NykwxDJeoWFhRQWFtarDHP3hommqh2Y9QZmufvXw+kRwO3AN919Qw3betzxidTFiPEj\\nyP1O9ia6OT/5E0UnfSvpMGJz4YoV3D93btJhiOzBzHB3q802cZ9+VgC8AvQzs5VmNgn4L2Bf4H/N\\n7A0zuyfOGERERLJZrF3r7j6xktnT4tyniIhIc5L0qHURERGpByVyERGRFFMiFxERSTElchERkRRT\\nIhcREUkxJXIREZEUUyIXERFJMSVyERGRFFMiFxERSTElchERkRRTIhcREUkxJXIREZEUUyIXERFJ\\nMSVyERGRFFMiFxERSTElchERkRRTIhcREUmxlkkHIJJGy5YsZsWzi5MOIzafb92adAixemfxYi4c\\nMSLpMGLTuXdvbrrvvqTDkEaiRC5SBzu3b2f4vl2SDiM2j5esSTqEWNn27dyfm5t0GLG5cPnypEOQ\\nRqSudRERkRRTIhcREUkxJXIREZEUUyIXERFJMSVyERGRFKsxkZtZWzNrET7vZ2ajzKxV/KGJiIhI\\nTaK0yF8E9jazA4F5wDnA7+MMSkRERKKJksjN3bcBZwH3uPtY4NB4wxIREZEoIiVyMxsMnA3MDufl\\nxBeSiIiIRBUlkV8K/AL4H3dfbGYHAS/EG5aIiIhEUe0lWs0sBxjl7qPK5rn7R8AlcQcmIiIiNau2\\n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\\nIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZE\\nLiIikmJK5CIiIimmRC4iIpJiSuQiIiIppkQuIiKSYkrkIiIiKaZELiIikmJK5CIiIimmRC4iIpJi\\nSuQiIiIppkQuIiKSYokmcjNrYWZvmNnMJOMQERFJq6Rb5JcCSxKOQUREJLUSS+Rm1gM4HfhdUjGI\\niIikXZIt8juBKwBPMAYREZFUSySRm9kZwBp3XwRY+BAREZFaapnQfocAo8zsdGAfoJ2ZPezu51Zc\\ncfLkyeXP8/LyyMvLa6wYRSRLbSvZxYiX5yQdRmw+KNmadAgSUWFhIYWFhfUqI5FE7u5XA1cDmNmJ\\nwM8qS+KweyIXEWkIpTmQe/q+SYcRm1enrUk6BImoYgN1ypQptS4j6VHrIiIiUg9Jda2Xc/f5wPyk\\n4xAREUkjtchFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQk\\nxZTIRUREUkyJXEREJMWUyEVERFJMiVxERCTFlMhFRERSTIlcREQkxZTIRUREUkyJXEREJMWUyEVE\\nRFKsZdIBNGdXX3QRG5YvTzqM2Hy+dSvQJekwRCTLvLN4MReOGJF0GE2GEnmCNixfzv25uUmHEZvH\\n/16adAgikoVs+/as/d/5QB22Ude6iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIik\\nmBK5iIhIiimRi4iIpJgSuYiISIopkYuIiKSYErmIiEiKKZGLiIikmBK5iIhIiimRi4iIpFgiidzM\\nepjZX81ssZn9w8wuSSIOERGRtEvqfuS7gJ+6+yIz2xf4u5nNc/f3EopHREQklRJpkbv7J+6+KHy+\\nFXgXODCJWERERNIs8WPkZtYbGAC8mmwkIiIi6ZNU1zoAYbf6k8ClYct8D48+9mjjBtVIWu/VmpLS\\n0qTDEBGRlEsskZtZS4Ik/gd3f7qq9SbfP7n8eefenencp3P8wTWCLz78go8/WMyI4neTDiU223xX\\n0iGIiDRphcXFFBYX16uMJFvkDwFL3P3u6lYa9tNhjRRO4ypeV8w230Hu6V2TDiU2pdOSjkBEpGnL\\n696dvO7dy6envPFGrctI6vSzIcDZwDAze9PM3jCzEUnEIiIikmaJtMjd/WUgJ4l9i4iIZJPER62L\\n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\\nQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ba99bd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'male'\\\", \\\"Pclass == 1\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nh7Fa7FqXpF6sJREPGDCAAw88kCuvvJJLL72U+++/H4BjjjmGb33rW63rf+9732PLLbdk6NChXHLJ\\nJR22yPfYYw++9a1v8aEPfYiNNtqIMWPG8Nxzz7Uunzp1Ku9+97sZNGgQe+65J7NnzwbgyCOPZO7c\\nuYwdO5aNNtqIs88+e4Wyn332WcaOHcvAgQPZdNNN+chHPtK6rG13f20dbrrpJoYNG8Z3v/tdhgwZ\\nwic+8Ql22GEHrr/++tb1ly5dymabbcY999zDE088QZ8+fVi2bBlXXXUVO++883JxnHvuuRxyyCEA\\nvP766xx//PEMHz6cIUOG8LnPfY7XXnutk3dg9ZnIJUmtdt55Z4YOHcott9yywrLp06dzzjnncMMN\\nN/Dwww/z+9//vtPypkyZwqWXXsqiRYt47bXXWpPyQw89xKRJk/jhD3/IokWL2H///TnwwAN58803\\n+dnPfsZWW23Ftddey4svvsjxxx+/Qrnf//73GTZsGM8++yxPP/00Z555Zuuyzrr7n3rqKf7+978z\\nd+5cLrroIiZNmsTkyZOXq+fgwYMZMWLEcuWNHTuWhx56iEcffXS5+h122GEAnHjiiTzyyCPcd999\\nPPLIIzz55JOcdtppnb5Gq8tELklazpZbbrlcy7nF1VdfzTHHHMO73vUu1l9/fU455ZROyzrmmGPY\\ndtttWXfddRk3bhz33HMPAFdddRUHHngge+65J3379uX4449nyZIl/OlPf2rdtqNu+/79+7NgwQIe\\nf/xx+vbty6hRo+raDqBv376ceuqp9O/fn3XXXZeJEycydepUXn31VaBIzhMnTlxhu/XXX5+DDz6Y\\nKVOmAPDwww8ze/ZsDjroIAB+/OMfc+6557Lxxhuz4YYbctJJJ7Wu20gmcknScp588kkGDRq0wvz5\\n8+czbNiw1unhw4d3mjS32GKL1ucbbLABL7/8cmtZw2vGCkQEw4YN48knn6wrxq9+9atsu+227Lvv\\nvrzjHe/grLPOqms7gMGDB9O/f//W6W233ZYddtiBadOmsWTJEqZOncqkSZPa3XbixImtyXny5Mkc\\ncsghrLvuuixatIjFixfzgQ98gEGDBjFo0CD2339/nn322brjWlUOdpMktbrjjjuYP38+u++++wrL\\nhgwZwrx581qnn3jiiVUetb7lllvy17/+dbl58+bNY+jQoUDn3eMbbrghZ599NmeffTb3338/e+yx\\nB7vssgt77LEHG2ywAYsXL25d96mnnlruB0h7ZU+YMIHJkyezdOlSdtxxR97+9re3u9999tmHRYsW\\nce+993LFFVdw3nnnAfDWt76VDTbYgFmzZjFkyJD6XoQ1xBa5JImXXnqJa6+9lokTJ3LEEUewww47\\nrLDOuHHj+K//+i8eeOABFi9evFrHf8eNG8d1113HjTfeyJtvvsnZZ5/Neuutx2677QYULfmOzk+/\\n7rrrWo9VDxgwgH79+tGnT5HSRowYweTJk1m2bBnTp0/npptu6jSeCRMmMGPGDC644IIVWuO1vQ79\\n+vXj0EMP5YQTTuD5559nn332AYofB5/61Kc47rjjWLRoEVD0bMyYMaMLr8qqMZFLUi82duxYNt54\\nY7baaiu+/e1vc/zxxy936llt63XMmDEcd9xx7Lnnnmy33XbstddeHZbdUat6u+2247LLLuMLX/gC\\ngwcP5rrrrmPatGn061d0FJ900kmcfvrpDBo0iHPOOWeF7R9++GH23ntvBgwYwKhRo/j85z/fOnL9\\nBz/4AVOnTmXgwIFMmTKFf/7nf+70ddhiiy3YbbfduO222xg/fnyH9Zg4cSI33HAD48aNa/3xAHDW\\nWWfxjne8g1133ZVNNtmEfffdl4ceeqjTfa8u70cuSQ00cuTI5e5+1pMuCKPmafu5aOH9yCWphzPJ\\nak2za12SpAozkUuSVGEmckmSKsxELklShZnIJUmqMBO5JEkVZiKXJKnCTOSSpIb77Gc/yxlnnLHG\\nyz311FM54ogj1ni5VeIFYSSpGx37b8cyZ/6chpW/9ZZb86Nz67/ozK233sqJJ57IrFmz6NevH+96\\n17s477zz+MAHPrBG47rgggvWaHm1VvXGLWsLE7kkdaM58+cw/PDhna+4quVfNqfudV966SXGjh3L\\nhRdeyKGHHsrrr7/OLbfcwrrrrtvl/WZmr0+ozWIil3qgRrfaerqutiq1ah566CEignHjxgGw7rrr\\nsvfeewNFl/UjjzzCz3/+c6C4Zek222zDm2++SZ8+fdhjjz0YNWoUM2fO5O677+bkk0/m6quv5o47\\n7mgt/9xzz+Wmm27i17/+NccccwzDhg3jtNNOY4cdduDss8/mox/9KABLly5lyJAhzJgxgxEjRnDb\\nbbfxla98hfvvv5+tt96a8847r/WGKHPmzOHoo4/m7rvvZtddd2W77bbrzpesRzKRSz1Qo1ttPV1X\\nWpVaddtttx19+/bl6KOPZsKECa137WrRtoXddvqyyy5j+vTpbLfddrz88succcYZPProo2y77bYA\\nTJkyhRNOOGGF/U6cOJHJkye3JvLp06czePBgRowYwZNPPsmBBx7I5Zdfzn777ccNN9zAxz/+cWbP\\nns2mm27KpEmTGDVqFL/73e+47bbbOOCAAzjkkEPW9EtTKQ52k6ReasCAAdx666306dOHT3/60wwe\\nPJhDDjmEp59+uq7tjz76aN75znfSp08fNtpoIw4++GCmTJkCFLcZnT17NmPHjl1hu0mTJjF16lRe\\nffVVoEj4EydOBODyyy/ngAMOYL/99gNgr732YuTIkVx//fXMmzePO++8k9NOO43+/fuz++67t1t+\\nb2Mil6RebPvtt+enP/0pc+fOZdasWcyfP5/jjjuurm2HDRu23PTEiRNbE/nkyZM55JBDWG+99VbY\\nbtttt2WHHXZg2rRpLFmyhKlTp3LYYYcBRRf+VVddxaBBgxg0aBADBw7kj3/8IwsWLGD+/PkMHDiQ\\n9ddfv7Ws4cN7b89VC7vWJUlA0dV+1FFHcdFFF/GBD3yAxYsXty5bsGDBCuu37WrfZ599WLRoEffe\\ney9XXHEF55133kr3NWHCBCZPnszSpUvZcccd2WabbYDix8GRRx7JhRdeuMI2c+fO5fnnn2fJkiWt\\nyXzu3Ln06dO726S9u/aS1IvNnj2bc845hyeffBKAefPmMWXKFHbbbTfe+973cvPNNzNv3jxeeOEF\\nvvOd73RaXr9+/Tj00EM54YQTeP7559lnn31Wuu6ECROYMWMGF1xwAZMmTWqdf/jhhzNt2jRmzJjB\\nsmXLePXVV7npppuYP38+W221FSNHjuTkk0/mjTfe4NZbb2XatGmr/0JUnIlcknqpAQMGcPvtt/NP\\n//RPDBgwgA9+8IPstNNOnH322ey9996MHz+enXbaiZ133nmFY9ErO9Vs4sSJ3HDDDYwbN265lnLb\\n9bfYYgt22203brvtNsaPH986f+jQoVxzzTWceeaZDB48mOHDh3P22WezbNkyoDiGftttt7Hpppty\\n+umnc9RRR62pl6OyIjObHcNKRUT25PikRhkzfkyvHrX+xGVPMP3K6c0OY40YOXIkd955Z+t0T7sg\\njJqj7eeiRUSQmV06Id9j5JLUjUyyWtPsWpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKF\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c0c7d90>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\", \\\"Pclass == 1\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nHXeka9eu9OzZk969e3PwwQdzww03bJS0rr/+ei688MJ6y6h1d8uC2WmnnXjkkUeKUnZTDBgwgHff\\nfbdox9kUTuRmZm3EgqoqAor2t6Aqv064krjvvvt45513WLBgARMnTmTy5Ml87Wtfy/tY2kJNtSXW\\nr19f6hDy5kRuZmabqE7E3bt354QTTuCOO+5g6tSpzJ07F4AJEyZw8cUX16x/5ZVXsv3229O/f39u\\nvvnmBmuqhx12GBdffDEHH3wwPXr04Nhjj+Wtt96qWT5jxgz23HNPevfuzeGHH868efMAOPXUU1m4\\ncCEjRoygR48eTJkyZZOyV65cyYgRI+jVqxfbbLMNhx56aM2y2s39ucfw2GOPMWDAAK644gr69evH\\nGWecwdChQ7n//vtr1l+/fj3bbbcdzz77LAsWLKBDhw5s2LCBO++8k+HDh28UxzXXXMPo0aMB+Pjj\\njznnnHMYNGgQ/fr14zvf+Q4fffRRI69A/pzIzcysUcOHD6d///488cQTmyx74IEHuPrqq3n44Yd5\\n+eWXeeihhxotb/r06UydOpXly5fz0Ucf1STl+fPnM378eH72s5+xfPlyjjvuOE444QTWrVvHLbfc\\nwsCBA7n33nt59913OeecczYp96qrrmLAgAGsXLmSN998k8svv7xmWWPN4MuWLePtt99m4cKF3Hjj\\njYwfP55p06ZtdJx9+vRh77333qi8ESNGMH/+fF599dWNju/kk08G4LzzzuOVV17h+eef55VXXmHx\\n4sVccskljT5H+XIiNzOzvGy//fYb1Zyr3XXXXUyYMIHdd9+drbbaioqKikbLmjBhAoMHD6ZLly6M\\nGTOGZ599FoA777yTE044gcMPP5yOHTtyzjnn8MEHH/CXv/ylZtuGmu07d+7M0qVLef311+nYsSMH\\nHXRQXtsBdOzYkR/96Ed07tyZLl26MG7cOGbMmMGHH34IJMl53Lhxm2y31VZbMWrUKKZPnw7Ayy+/\\nzLx58xg5ciQAv/jFL7jmmmvo2bMn3bp1Y+LEiTXrFoITuZmZ5WXx4sX07t17k/lLlixhwIABNdOD\\nBg1qNGmW5XS869q1K++9915NWYMGDapZJokBAwawePHivGL8wQ9+wODBgzn66KPZZZddmDx5cl7b\\nAfTp04fOnTvXTA8ePJihQ4cyc+ZMPvjgA2bMmMH48XXf1HPcuHE1yXnatGmMHj2aLl26sHz5ctas\\nWcM+++xD79696d27N8cddxwrV67MO67GeGQ3MzNr1FNPPcWSJUs45JBDNlnWr18/Fi1aVDO9YMGC\\nZvfm3n777XnhhRc2mrdo0SL69+8PNN483q1bN6ZMmcKUKVOYO3cuhx12GPvuuy+HHXYYXbt2Zc2a\\nNTXrLlu2bKMfIHWVPXbsWKZNm8b69evZY4892HnnnTdZB+Coo45i+fLlPPfcc9x+++1ce+21AGy7\\n7bZ07dqVF198kX79+uX3JDSRa+RmZlav1atXc++99zJu3DhOOeUUhg4dusk6Y8aM4de//jUvvfQS\\na9asadH53zFjxnDffffx6KOPsm7dOqZMmcKWW27JAQccACQ1+YauT7/vvvtqzlV3796dTp060aFD\\nkur23ntvpk2bxoYNG3jggQd47LHHGo1n7NixzJo1i+uvv36T2nhuq0OnTp048cQTOffcc1m1ahVH\\nHXUUkPw4+PrXv87ZZ5/N8uXLgaRlY9asWU14VhrmRG5mZpsYMWIEPXv2ZODAgfz4xz/mnHPO4Ve/\\n+lXN8tza67HHHsvZZ5/N4YcfzpAhQzjiiCMaLLuhWvWQIUO49dZb+c///E/69OnDfffdx8yZM+nU\\nKWlAnjhxIpdeeim9e/fm6quv3mT7l19+mSOPPJLu3btz0EEHceaZZ9b0XP/pT3/KjBkz6NWrF9On\\nT+c//uM/Gn0eysrKOOCAA5gzZw4nnXRSg8cxbtw4Hn74YcaMGVPz4wFg8uTJ7LLLLuy///5svfXW\\nHH300cyfP7/RfefL9yP/pMyC3jSFiuxfR2lmxTNs2LBN7n62Y1lZ3td6N8egvn15Y5nvytjW1fXe\\nAN+P3MyszXOSteZw07qZmVmGOZGbmZllmBO5mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZmVmG\\nOZGbmVnJfPvb3+ayyy4reLk/+tGPOOWUUwpeblvkRG5m1kaU9S9DUtH+yvqXNR5Eavbs2Rx00EFs\\nvfXWbLvtthxyyCH8/e9/L/gxX3/99Vx44YUFLxcav8HK5sIju5mZtRFVi6sKO1R07fIr8hv+dfXq\\n1YwYMYIbbriBE088kY8//pgnnniCLl26NHmfEdFuEmqpuEZuZmYbmT9/PpIYM2YMkujSpQtHHnkk\\ne+655yZN1gsWLKBDhw5s2LABgMMOO4yLLrqIgw8+mG7dunHllVcyfPjwjcq/5pprGD16NAATJkzg\\n4osvBmDo0KHcf//9NeutX7+e7bbbjmeffRaAOXPmcNBBB9GrVy8+97nPbXT3sjfeeIPy8nJ69uzJ\\nMcccw4oVK4rz5LRBTuRmZraRIUOG0LFjR04//XQeeOAB3n777Y2W165h156+9dZbuemmm1i9ejXf\\n+ta3mD9/fs2tRQGmT5/OySefvMl+x40bx7Rp02qmH3jgAfr06cPee+/N4sWLOeGEE7j44otZtWoV\\nU6ZM4ctf/jIrV64EYPz48QwfPpwVK1Zw0UUXMXXq1BY/D1nhRG5mZhvp3r07s2fPpkOHDnzjG9+g\\nT58+jB49mjfffDOv7U8//XR22203OnToQI8ePRg1ahTTp08HktuMzps3jxEjRmyy3fjx45kxYwYf\\nfvghkCT8cePGAXDbbbdx/PHHc8wxxwBwxBFHMGzYMO6//34WLVrE008/zSWXXELnzp055JBD6ix/\\nc+VEbmZmm9h111351a9+xcKFC3nxxRdZsmQJZ599dl7bDhgwYKPpcePG1STyadOmMXr0aLbccstN\\nths8eDBDhw5l5syZfPDBB8yYMaOm5r5gwQLuvPNOevfuTe/evenVqxd//vOfWbp0KUuWLKFXr15s\\ntdVWNWUNGjSouYeeOe7sZmZmDRoyZAinnXYaN954I/vssw9r1qypWbZ06dJN1q/d1H7UUUexfPly\\nnnvuOW6//Xauvfbaevc1duxYpk2bxvr169ljjz3YaaedgOTHwamnnsoNN9ywyTYLFy5k1apVfPDB\\nBzXJfOHChXTo0D7qqu3jKM3MLG/z5s3j6quvZvHixQAsWrSI6dOnc8ABB/DZz36Wxx9/nEWLFvHO\\nO+/wk5/8pNHyOnXqxIknnsi5557LqlWrOOqoo+pdd+zYscyaNYvrr7+e8ePH18z/6le/ysyZM5k1\\naxYbNmzgww8/5LHHHmPJkiUMHDiQYcOGMWnSJNauXcvs2bOZOXNmy5+IjHAiNzOzjXTv3p0nn3yS\\n/fbbj+7du3PggQey1157MWXKFI488khOOukk9tprL4YPH77Juej6LjUbN24cDz/8MGPGjNmoplx7\\n/bKyMg444ADmzJnDSSedVDO/f//+3HPPPVx++eX06dOHQYMGMWXKlJre8rfddhtz5sxhm2224dJL\\nL+W0004r1NPR5ikiSh1Dk0mKQsctqbDXb1Yk10+amdVl2LBhPP300xvNK+tfllxLXiR9d+jLsn8v\\n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\\nM8tPPr3Wa0TiD8AxRYrHzMzMmiCfpvUv5Ux2AIYBHxYtIjMzM8tbPr3Wc+9Lvg54g6R53czMzEos\\nn3Pkvi+5mZlZG1VvIpd0cQPbRURcWoR4zMzMrAkaqpG/X8e8bsDXgG0AJ3IzM7MSqzeRR8RV1Y8l\\ndQfOAiYAtwNX1bedmZmZtZ4Gz5FL6g18HzgZmAp8PiJWtUZgZmZm1riGzpFfCXwJuBH4TES812pR\\nmZmZWV4aGhDmv4HtgYuAJZLeTf9WS3q3dcIzMzOzhjR0jrxJo76ZmZlZ63OyNjMzyzAncjMzswxz\\nIjczM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8uwkiZySR0k/UPSjHS6\\nl6RZkuZJelBSz1LGZ2Zm1taVukZ+FjA3Z3oi8FBE7Ao8ApxfkqjMzMwyomSJXFJ/4IvATTmzR5Hc\\nLpX0/+jWjsvMzCxLSlkjvwY4F4iceX0jogogIpYB25UiMDMzs6woSSKXdDxQFRHPAmpg1WhgmZmZ\\nWbtX721Mi+wgYKSkLwJbAd0l/QZYJqlvRFRJKgPerK+AioqKmsfl5eWUl5cXN2IzM7NWVFlZSWVl\\nZaPrKaK0lV5JhwL/HREjJV0BrIyIyZLOA3pFxMQ6tolCxy0JKgpYYAWU4rkt+HFAyY7FzMw+IYmI\\n2KQVu9S91mv7CXCUpHnAEem0mZmZ1aNUTes1IuIx4LH08VvAkaWNyMzMLDvaWo3czMzMmsCJ3MzM\\nLMOcyM3MzDKs5OfIm0tq6PJzMzOz9iGzibzQF0P5Z4GZmWWRm9bNzMwyzInczMwsw5zIzczMMsyJ\\n3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzD\\nnMjNzMwyzInczMwsw5zIzczMMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzInczMwsw5zIzczM\\nMsyJ3MzMLMOcyM3MzDLMidzMzCzDnMjNzMwyzIm8xHYsK0NSwf7MzKx96VTqANq7BVVVRAHLcyo3\\nM2tfXCM3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLsJIkckn9JT0i\\n6UVJ/5T0vXR+L0mzJM2T9KCknqWIz8zMLCtKVSNfB3w/IvYADgDOlLQbMBF4KCJ2BR4Bzi9RfGZm\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11babe990>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nie9MqC8ZVc2zs2dz9bDGXSPhE534kRAR3HTTTRx00EEsWbKEmTNn8pnPfIa7776bH/7wh3WV0Z1b\\nqvVYsWIFvXv3bnYY68VELnVDy5Yv69EXxJl9zexmh9BjtCTi/v37c/TRR7Pddtuxzz77cNZZZ7H7\\n7rtz+umnM3ToUL785S8DcPnllzNhwgR69erFJZdc0m6L/KCDDuKAAw7gtttu44EHHmC//fZj0qRJ\\nDBxYXLlwypQpnHfeecyfP58999yTq666it12241TTjmFuXPnMmrUKHr37s0FF1zAWWedtUrZzz77\\nLKeddhp33nknvXr14u1vfzszZ84Eiu7+Rx99lDe/+c0Aq9Rh5syZnHTSSXz6059mwoQJHH744dxz\\nzz2MHz+eD3zgA0CR3AcPHsz06dMZMGAAO++8M8uXL+fnP/85l19+Offcc09rHBMmTGDmzJnccMMN\\nvPrqq5x33nlcf/31vPrqq3zwgx9kwoQJ9OvXbwO9WmvmMXJJUqu99tqLHXbYgTvuuGO1ZdOmTeOK\\nK67g1ltv5ZFHHuGWW27psLzJkyczceJEFi1axCuvvML48eMBePjhhxk3bhzf+ta3WLRoEUceeSRH\\nH300y5cv58c//jE77rgjv/rVr3jxxRdXS+IA3/jGNxg6dCjPPvssTz/9NF/96ldbl3XU3f/UU0/x\\n/PPPM3fuXL773e8ybtw4Jk2atEo9Bw0axJ577rlKeaNGjeLhhx/mscceW6V+H/7whwE455xzePTR\\nR3nggQd49NFHefLJJ1t/ADWSiVyStIohQ4bw3HPPrTb/+uuv5/TTT+dtb3sbm222WV23Gj399NPZ\\nZZdd6NevH6NHj+a+++4D4LrrruPoo4/m4IMPpnfv3px11lksW7aM3//+963rttdt37dvXxYsWMAT\\nTzxB79692X///etaD6B3795cfPHF9O3bl379+jF27FimTJnCyy+/DBTJeezYsautt9lmm3Hssccy\\nefJkAB555BEeeughjjnmGAC+973vMWHCBLbeemu22GILzj333NbnNpKJXJK0iieffLK1+7vW/Pnz\\nGTp0aOv0sGHDOkya22+/fevjzTffnJdeeqm1rGE1YwUigqFDh/Lkk0/WFeMXvvAFdtllFw4//HDe\\n8pa3cNlll9W1HsCgQYPo27dv6/Quu+zC7rvvztSpU1m2bBlTpkxh3Lhxa1x37Nixrcl50qRJHHfc\\ncfTr149FixaxdOlS3vve9zJw4EAGDhzIkUceybPPPlt3XOvKY+SSpFb33HMP8+fP54ADDlht2eDB\\ng5k3b17r9Jw5c9Z51PqQIUP485//vMq8efPmscMOOwAdd49vscUWjB8/nvHjx/Pggw9y0EEHsffe\\ne3PQQQex+eabs3Tp0tbnPvXUU6v8AFlT2SeeeCKTJk1ixYoV7LHHHq3H19s67LDDWLRoEffffz/X\\nXnstV155JQBvfOMb2XzzzZk1axaDBw+ubydsILbIJUksWbKEX/3qV4wdO5aTTz6Z3XfffbXnjB49\\nmv/4j//gL3/5C0uXLl2v47+jR4/mpptu4re//S3Lly9n/PjxbLrppuy7775A0ZJv7/z0m266qfVY\\ndf/+/enTpw+9ehUpbc8992TSpEmsXLmSadOmtQ6Ca8+JJ57I9OnTueqqq1Zrjdf2OvTp04cTTjiB\\ns88+m8WLF3PYYYcBxY+Dj33sY5x55pksWrQIKHo2pk+f3om9sm5M5JLUg40aNYqtt96aHXfcka99\\n7WucddZZq5x6Vtt6HTlyJGeeeSYHH3wwu+66K4cccki7ZbfXqt5111255ppr+Od//mcGDRrETTfd\\nxNSpU+nTp+goPvfcc7nkkksYOHAgV1xxxWrrP/LIIxx66KH079+f/fffn0996lMceOCBAHzzm99k\\nypQpDBgwgMmTJ/PBD36ww/2w/fbbs++++3LXXXcxZsyYdusxduxYbr31VkaPHt364wHgsssu4y1v\\neQv77LMPb3jDGzj88MN5+OGHO9z2+vJ+5OqWevr9yH9x9i84/vLjmx1G02xM92MfPnz4Knc/604X\\nhFHztH1ftPB+5JLUzZlktaHZtS5JUoWZyCVJqjATuSRJFWYilySpwkzkkiRVmIlckqQKM5FLklRh\\nJnJJUsN98pOf5Ctf+coGL/fiiy/m5JNP3uDlVokXhJGkLnTGv5zB7PmzG1b+TkN24jsT6r/ozJ13\\n3sk555zDrFmz6NOnD29729u48soree9737tB47rqqqs2aHm11vXGLRsLE7kkdaHZ82c39PLDs6+Z\\nXfdzlyxZwqhRo7j66qs54YQTePXVV7njjjvo169fp7ebmT0+oTaLXeuS1EM9/PDDRASjR48mIujX\\nrx+HHnoob3/721frsp4zZw69evVi5cqVABx00EGcf/75vO9972OLLbbg8ssvZ6+99lql/AkTJnDc\\ncccBcPrpp3PBBRcAsPvuu3PzzTe3Pm/FihVsu+223HfffQDcdddd7L///gwYMIB3v/vdq9y9bPbs\\n2YwYMYKtt96aI444gmeeeaYxO6dCTOSS1EPtuuuu9O7dm9NOO41p06bx/PPPr7K8bQu77fQ111zD\\n97//fZYsWcIZZ5zBww8/3HprUYDJkyfz4Q9/eLXtjh07lkmTJrVOT5s2jUGDBrHnnnvy5JNPcvTR\\nR3PBBRewePFixo8fz/HHH8+zzz4LwLhx49hrr7145plnOP/885k4ceJ674eqM5FLUg/Vv39/7rzz\\nTnr16sXHP/5xBg0axHHHHcfTTz9d1/qnnXYab33rW+nVqxdbbbUVxx57LJMnTwaK24w+9NBDjBo1\\narX1xo0bx5QpU3j55ZeBIuGPHTsWgJ/+9KccddRRHHHEEQAccsghDB8+nJtvvpl58+Zx77338uUv\\nf5m+fftywAEHrLH8nsZELkk92G677cYPf/hD5s6dy6xZs5g/fz5nnnlmXesOHTp0lemxY8e2JvJJ\\nkyZx3HHHsemmm6623i677MLuu+/O1KlTWbZsGVOmTGltuc+ZM4frrruOgQMHMnDgQAYMGMDvfvc7\\nFixYwPz58xkwYACbbbZZa1nDhvXc2x23cLCbJAkoutpPPfVUvvvd7/Le976XpUuXti5bsGDBas9v\\n29V+2GGHsWjRIu6//36uvfZarrzyyrVu68QTT2TSpEmsWLGCPfbYg5133hkofhyccsopXH311aut\\nM3fuXBYvXsyyZctak/ncuXPp1atnt0l7du0lqQd76KGHuOKKK3jyyScBmDdvHpMnT2bfffflXe96\\nF7fffjvz5s3jhRde4NJLL+2wvD59+nDCCSdw9tlns3jxYg477LC1PvfEE09k+vTpXHXVVYwbN651\\n/kknncTUqVOZPn06K1eu5OWXX2bmzJnMnz+fHXfckeHDh3PhhRfy2muvceeddzJ16tT13xEVZyKX\\npB6qf//+3H333fzDP/wD/fv3Z7/99uOd73wn48eP59BDD2XMmDG8853vZK+99lrtWPTaTjUbO3Ys\\nt956K6NHj16lpdz2+dtvvz377rsvd911F2PGjGmdv8MOO3DjjTfy1a9+lUGDBjFs2DDGjx/fOlr+\\npz/9KXfddRfbbLMNl1xyCaeeeuqG2h2VFZnZ7BjWKiKyO8enxhk5ZmRDz7Xt7n5x9i84/vLjmx1G\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ba99b50>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\", \\\"SibSp < 3\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"After exploring the survival statistics visualization, fill in the missing code below so that the function will make your prediction.  \\n\",\n    \"Make sure to keep track of the various features and conditions you tried before arriving at your final prediction model.  \\n\",\n    \"**Hint:** You can start your implementation of this function using the prediction code you wrote earlier from `predictions_2`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 89,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 81.71%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def predictions_3(data):\\n\",\n    \"    \\\"\\\"\\\" Model with multiple features. Makes a prediction with an accuracy of at least 80%. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    predictions = []\\n\",\n    \"    for _, passenger in data.iterrows():\\n\",\n    \"        \\n\",\n    \"        # Remove the 'pass' statement below \\n\",\n    \"        # and write your prediction conditions here\\n\",\n    \"        if passenger['SibSp'] > 4:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Parch'] < 4:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        # This one didn't improve accuracy (2)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Pclass'] == 1 and passenger['Age'] > 10:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        # Removing this one didn't change accuracy (1)\\n\",\n    \"        elif passenger['Sex'] == 'female' and passenger['Age'] > 50:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        elif passenger['Age'] < 10 and passenger['SibSp'] < 3 and passenger['Sex'] == 'male':\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        elif passenger['Age'] < 10 and passenger['Pclass'] == 2:\\n\",\n    \"            predictions.append(1)\\n\",\n    \"        else:\\n\",\n    \"            predictions.append(0)\\n\",\n    \"    \\n\",\n    \"    # Return our predictions\\n\",\n    \"    return pd.Series(predictions)\\n\",\n    \"\\n\",\n    \"# Make the predictions\\n\",\n    \"predictions = predictions_3(data)\\n\",\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4\\n\",\n    \"*Describe the steps you took to implement the final prediction model so that it got an accuracy of at least 80%. What features did you look at? Were certain features more informative than others? Which conditions did you use to split the survival outcomes in the data? How accurate are your predictions?*  \\n\",\n    \"**Hint:** Run the code cell below to see the accuracy of your predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 72,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predictions have an accuracy of 81.71%.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print accuracy_score(outcomes, predictions)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer**: \\n\",\n    \"\\n\",\n    \"### Steps:\\n\",\n    \"1. **Think about what features might matter.** \\n\",\n    \"    - E.g. women and children may have been given priority to go on lifeboats. People with family members (`Parch`, `SibSp` > 0) might be more likely to survive if they are children because there are people taking care of them. They might be less likely to survive if they are parents trying to make sure their children are rescued.\\n\",\n    \"2. **Visualise the features** using the `survival_stats` function provided. See if the features are informative. They can be informative if (1) they show that almost all people of a certain group survive or if (2) they show that almost all people of a certain group don't survive.\\n\",\n    \"    - See above for visualisations of informative features.\\n\",\n    \"3. **Choose filters and add them to the model.** \\n\",\n    \"4. **Run the model and see if it produces a higher accuracy**.\\n\",\n    \"    - If it doesn't, ditch the filter.\\n\",\n    \"5. **Repeat with different features or filters**.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Features I looked at\\n\",\n    \"- SibSp\\n\",\n    \"- Age\\n\",\n    \"- Parch\\n\",\n    \"- Sex\\n\",\n    \"- Pclass\\n\",\n    \"\\n\",\n    \"Certain features were more informative than others. For example, looking at `SibSp` for males under the age of 10 was more useful than looking at `Age` for females because \\n\",\n    \"* the former told me that all males under the age of 10 with `SibSp` < 3 survived, whereas \\n\",\n    \"* for most age groups, there were a significant number of females that survived and a significant number of females that did not survive so it did not provide me with much information I could use to make splits.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c0fc590>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 91,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\\n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\\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b3c5290>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Splits\\n\",\n    \"\\n\",\n    \"1) If passenger['SibSp'] > 4, they are less likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n06FDhyZxtZMTuZlZE7FXSQmSCvbYq6Qkvzj22ou2bdvSsWNHOnfuzOGHH85NN920RdK68cYb+eEP\\nf1htGQ09+ma5vffem0ceeaQgZddFjx49ePfddwt2nHXhRG5m1kQsLCsjoGCPhWVlecUhiXvvvZc1\\na9awcOFCxo4dy4QJE/jqV7+a97E0hZrqtti4cWOxQ8ibE7mZmW2lPBG3b9+ek08+mTvuuIPJkycz\\nZ84cAM4++2wuv/zyivWvu+469thjD7p3786tt95aY011yJAhXH755Rx++OF06NCBE044gVWrVlUs\\nnzlzJgcddBCdO3fmqKOOYu7cuQCcccYZLFq0iKFDh9KhQwcmTpy4VdkrV65k6NChdOrUiV133ZUj\\njzyyYlnl5v7cY3jsscfo0aMHP/nJT+jWrRvnnHMOffv25b777qtYf+PGjey+++48//zzLFy4kBYt\\nWrBp0yZmzJjBgAEDtojj+uuvZ8SIEQB8/PHHXHjhhfTq1Ytu3bpx7rnn8tFHH9XyDuTPidzMzGo1\\nYMAAunfvzhNPPLHVsvvvv59Jkybx8MMPM3/+fB566KFay5s2bRqTJ09mxYoVfPTRRxVJed68eYwZ\\nM4Zf/OIXrFixghNPPJGTTz6ZDRs2cNttt9GzZ0/uuece3n33XS688MKtyv3pT39Kjx49WLlyJW+9\\n9RZXX311xbLamsGXL1/OO++8w6JFi7j55psZM2YMU6dO3eI4u3TpQr9+/bYob+jQocybN4/XXntt\\ni+M77bTTALj44ot59dVXefHFF3n11VdZsmQJV1xxRa2vUb6cyM3MLC977LHHFjXncnfeeSdnn302\\nBxxwADvttFNed5I8++yz6d27N23atGHkyJE8//zzAMyYMYOTTz6Zo446ipYtW3LhhRfywQcf8Le/\\n/a1i25qa7Vu3bs2yZct44403aNmyJYMGDcprO4CWLVvy4x//mNatW9OmTRtGjx7NzJkz+fDDD4Ek\\nOY8ePXqr7XbaaSeGDx/OtGnTAJg/fz5z585l2LBhAPz617/m+uuvp2PHjrRr146xY8dWrNsQnMjN\\nzCwvS5YsoXPnzlvNX7p0KT169KiY7tWrV61JsySn413btm157733Ksrq1atXxTJJ9OjRgyVLluQV\\n4w9+8AN69+7Ncccdx7777suECRPy2g6gS5cutG7dumK6d+/e9O3bl1mzZvHBBx8wc+ZMxowZU+W2\\no0ePrkjOU6dOZcSIEbRp04YVK1awbt06PvvZz9K5c2c6d+7MiSeeyMqVK/OOqzYeotXMzGr1zDPP\\nsHTpUo444oitlnXr1o3FixdXTC9cuLDevbn32GMP/v3vf28xb/HixXTv3h2ovXm8Xbt2TJw4kYkT\\nJzJnzhyGDBnCwIEDGTJkCG3btmXdunUV6y5fvnyLHyBVlT1q1CimTp3Kxo0bOfDAA9lnn32q3O+x\\nxx7LihUreOGFF5g+fTo/+9nPANhtt91o27YtL7/8Mt26dcvvRagj18jNzKxaa9eu5Z577mH06NGc\\nfvrp9O3bd6t1Ro4cye9+9zteeeUV1q1bt03nf0eOHMm9997Lo48+yoYNG5g4cSI77rgjhx56KJDU\\n5Gu6Pv3ee++tOFfdvn17WrVqRYsWSarr168fU6dOZdOmTdx///089thjtcYzatQoZs+ezY033rhV\\nbTy31aFVq1accsopXHTRRaxevZpjjz0WSH4cfO1rX+OCCy5gxYoVQNKyMXv27Dq8KjVzIjczs60M\\nHTqUjh070rNnT6655houvPBCfvvb31Ysz629nnDCCVxwwQUcddRR9OnTh6OPPrrGsmuqVffp04fb\\nb7+db3/723Tp0oV7772XWbNm0apV0oA8duxYrrzySjp37sykSZO22n7+/Pkcc8wxtG/fnkGDBnHe\\needV9Fz/+c9/zsyZM+nUqRPTpk3jv/7rv2p9HUpKSjj00EN56qmnOPXUU2s8jtGjR/Pwww8zcuTI\\nih8PABMmTGDfffflc5/7HLvssgvHHXcc8+bNq3Xf+fL9yMvLJPvXPZpZdvTv33+ru5/tVVKS97Xe\\n9dGra1cWLF9esPKtYVT12QDfj9zMrMlzkrX6cNO6mZlZhjmRm5mZZZgTuZmZWYY5kZuZmWWYE7mZ\\nmVmGOZGbmZllmBO5mZlZhjmRm5lZ0XzrW9/iqquuavByf/zjH3P66ac3eLlNkRO5mVkTUdK9BEkF\\ne5R0L6k9iNSTTz7JoEGD2GWXXdhtt9044ogj+Oc//9ngx3zjjTfywx/+sMHLhdpvsLK98MhuZmZN\\nRNmSMhhfwPLH5zf869q1axk6dCg33XQTp5xyCh9//DFPPPEEbdq0qfM+I6LZJNRicY3czMy2MG/e\\nPCQxcuRIJNGmTRuOOeYYDjrooK2arBcuXEiLFi3YtGkTAEOGDOGyyy7j8MMPp127dlx33XUMGDBg\\ni/Kvv/56RowYAcDZZ5/N5ZdfDkDfvn257777KtbbuHEju+++O88//zwATz31FIMGDaJTp058+tOf\\n3uLuZQsWLGDw4MF07NiR448/nrfffrswL04T5ERuZmZb6NOnDy1btuSss87i/vvv55133tlieeUa\\nduXp22+/nVtuuYW1a9fyzW9+k3nz5lXcWhRg2rRpnHbaaVvtd/To0UydOrVi+v7776dLly7069eP\\nJUuWcPLJJ3P55ZezevVqJk6cyJe+9CVWrlwJwJgxYxgwYABvv/02l112GZMnT97m1yErnMjNzGwL\\n7du358knn6RFixZ8/etfp0uXLowYMYK33norr+3POuss9t9/f1q0aEGHDh0YPnw406ZNA5LbjM6d\\nO5ehQ4dutd2YMWOYOXMmH374IZAk/NGjRwMwZcoUTjrpJI4//ngAjj76aPr37899993H4sWLefbZ\\nZ7niiito3bo1RxxxRJXlb6+cyM3MbCv77bcfv/3tb1m0aBEvv/wyS5cu5YILLshr2x49emwxPXr0\\n6IpEPnXqVEaMGMGOO+641Xa9e/emb9++zJo1iw8++ICZM2dW1NwXLlzIjBkz6Ny5M507d6ZTp078\\n9a9/ZdmyZSxdupROnTqx0047VZTVq1ev+h565hQ0kUtqI+lpSc9JeknSuHT+OElvSvpX+jghZ5tL\\nJM2X9Iqk4woZn5mZ1a5Pnz6ceeaZvPzyy+y8886sW7euYtmyZcu2Wr9yU/uxxx7LihUreOGFF5g+\\nfTpjxoypdl+jRo1i6tSp3H333Rx44IHsvffeQPLj4IwzzmDVqlWsWrWK1atXs3btWn7wgx/QrVs3\\nVq9ezQcffFBRzqJFi7b1sDOjoIk8Ij4ChkTEp4F+wImSBqaLJ0XEZ9LH/QCSDgBGAgcAJwI3yN0d\\nzcwa1dy5c5k0aRJLliwBYPHixUybNo1DDz2UT33qUzz++OMsXryYNWvWcO2119ZaXqtWrTjllFO4\\n6KKLWL16Nccee2y1644aNYrZs2dz4403bpHwv/KVrzBr1ixmz57Npk2b+PDDD3nsscdYunQpPXv2\\npH///owbN47169fz5JNPMmvWrG1/ITKi4E3rEVH+060NyeVukU5XlaCHA9MjYkNELADmAwOrWM/M\\nzAqkffv2PP300xxyyCG0b9+eww47jIMPPpiJEydyzDHHcOqpp3LwwQczYMCArc5FV1f3Gj16NA8/\\n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\\nM8swJ3IzM7MMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3IzM7MMcyI3MzPLMCdy\\nMzOzDHMiNzMzyzAncjMzswxzIrcGs1dJCZIa7LFXSUmxDynzGvo98fti1vS0KnYAtv1YWFZGNGB5\\nKitrwNKap4Z+T8Dvi1lT4xq5NV0tadCaZEl31yTNbPvjGrk1XRuB8Q1XXNn4/GuSe5WUsLABa569\\nunZlwfLlDVaemVk5J3KzKvg0gZllhZvWzczMMsyJ3MzMLMOcyM3MrNnL8uWzTTKRSzpB0n8kzZN0\\ncbHjMTOz7Vt5v5iGejRkZ9naNLlELqkF8L/A8cCBwGhJ+xc3KrNt1MKX0m2rhq4xlXTuXOxDajCl\\npaXFDqHBbE/H0liaYq/1gcD8iFgIIGk6MBz4T1GjMtsWmyjapXQNTsmPkobSdc+uLH+z9kvzGvxK\\ngtWrG7C04iotLWXw4MHFDqNBbE/H0liaYiLfE1icM/0mSXI3s6Yg2H5+lJhtB5pc07qZmZnlTxEN\\nPRLztpH0OWB8RJyQTo8FIiIm5KzTtII2MzNrBBGx1XmtppjIWwJzgaOBZcA/gNER8UpRAzMzM2uC\\nmtw58ojYKOnbwGySpv/fOImbmZlVrcnVyM3MzCx/zb6z2/Yy+Iyk30gqk/RisWPZVpK6S3pE0suS\\nXpL03WLHVB+S2kh6WtJz6XGMK3ZM20pSC0n/kjSz2LFsC0kLJL2Qvjf/KHY820JSR0l3Snol/c4c\\nUuyY6kpSn/S9+Ff6d01Wv/cAkr4n6d+SXpQ0RdIOBd1fc66Rp4PPzCM5H78UeAYYFRGZu2Zd0uHA\\ne8BtEXFwsePZFpJKgJKIeF7SzsA/geEZfV/aRsS6tO/HX4HvRkRmE4ek7wGfBTpExLBix1Nfkl4H\\nPhsRmb+YXNLvgMci4lZJrYC2EfFukcOqt/T/8pvAIRGxuLb1mxpJewBPAvtHxMeS7gDujYjbCrXP\\n5l4jrxh8JiLWA+WDz2RORDwJZP6fEkBELI+I59Pn7wGvkIwvkDkRsS592oakT0pmfzlL6g58Abil\\n2LE0ALEd/P+T1AE4IiJuBYiIDVlO4qljgNeymMRztATalf+wIqkoFkzmP8jbqKrBZzKZMLZXkvYC\\n+gFPFzeS+kmbop8DlgMPRsQzxY5pG1wPXESGf4zkCOBBSc9I+lqxg9kGewNvS7o1bZa+WdJOxQ5q\\nG50KTCt2EPUVEUuBnwKLgCXAOxHxUCH32dwTuTVhabP6XcD5ac08cyJiU0R8GugOHCKpb7Fjqg9J\\nJwFlaUuJ0keWDYqIz5C0MJyXnprKolbAZ4BfpcezDhhb3JDqT1JrYBhwZ7FjqS9Ju5C07PYC9gB2\\nljSmkPts7ol8CdAzZ7p7Os+KLG2Sugv4fUTcXex4tlXa3PkocEKxY6mnQcCw9NzyNGCIpIKd8yu0\\niFiW/l0B/InsDgP9JrA4Ip5Np+8iSexZdSLwz/R9yapjgNcjYlVEbAT+CBxWyB0290T+DLCvpF5p\\nr8JRQJZ7424PNaVyvwXmRMTPix1IfUnaTVLH9PlOwLFk9OY/EXFpRPSMiH1IviePRMQZxY6rPiS1\\nTVt7kNQOOA74d3Gjqp+IKAMWS+qTzjoamFPEkLbVaDLcrJ5aBHxO0o5K7i50NEk/n4JpcgPCNKbt\\nafAZSVOBwcCukhYB48o7wGSNpEHAacBL6fnlAC6NiPuLG1mddQMmp71wWwB3RMR9RY7JoCvwp3So\\n51bAlIiYXeSYtsV3gSlps/TrwNlFjqdeJLUlqc1+vdixbIuI+Ieku4DngPXp35sLuc9mffmZmZlZ\\n1jX3pnUzM7NMcyI3MzPLMCdyMzOzDHMiNzMzyzAncjMzswxzIjczM8swJ3KzZkzSD9PbLb6QjtU9\\nMB2ve/90+dpqtjtE0lPpLSdflnR540ZuZuWa9YAwZs2ZpM+RjDXeLyI2SOoM7BARuQNyVDfQxGTg\\nyxHx73T0qv0KHK6ZVcM1crPmqxvwdkRsAEjHhl4u6VFJ5eN1S9KktNb+oKRd0/ldgLJ0uyi/V7yk\\ncZJuk/Q3SXMl/XdjH5RZc+NEbtZ8zQZ6SvqPpF9J+nwV67QD/hERBwGPA+PS+T8D5kr6g6SvS2qT\\ns80nSYYLPgy4XFJJ4Q7BzJzIzZqpiHif5E5ZXwdWANMlnVlptY3AjPT57cDh6bZXAp8l+TEwBvhL\\nzjZ3R8THEbESeITs3lnMLBN8jtysGYvkZguPA49Legk4k+rPi5O7LCLeAG6SdAuwQlKnyuuQ3I3P\\nN3QwKyDXyM2aKUl9JO2bM6sfsKDSai2BL6fPTwOeTLf9Qs46fYANwDvp9HBJO6Tn048kuV2wmRWI\\na+RmzdfOwC/Te6ZvAF4laWa/K2ed94CBkn5E0rnt1HT+6ZImAevSbcdERCQd2HkRKAV2Ba6IiOWN\\ncCxmzZZvY2pmDUbSOGBtREwqdixmzYWb1s3MzDLMNXIzM7MMc43czMwsw5zIzczMMsyJ3MzMLMOc\\nyM3MzDLMidzMzCzDnMjNzMwy7P8DGdQiBOtrj5wAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b621490>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"2) If passenger['Sex'] == 'female' and passenger['Parch'] < 4, they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZmb11CTibt26ceqpp3LvvfcyefJk5s+fD8D48eO58sora5f/3ve+x5577kl5eTl33313kzXVo48+\\nmiuvvJLDDz+c7t27c9JJJ7FmzZra+TNmzOCAAw6gV69eHHPMMSxYsACAs88+m8WLFzNixAi6d+/O\\npEmT6m179erVjBgxgp49e7Lrrrty1FFH1c6r29xfuA9z586lb9++fPe736VPnz6cd955DB48mNmz\\nZ9cuv3HjRnbffXeeeeYZFi1aRKdOndi0aRPTp09n6NChm8Vx0003MXr0aAA++OADLrroIvr370+f\\nPn04//zzef/995v5D2TnRN6MsvLiNnXVvMrKszV5mZmVwtChQykvL+fxxx+vN+/BBx/kxhtv5OGH\\nH+all17ioYceanZ7U6dOZfLkyaxcuZL333+/NikvXLiQcePG8f3vf5+VK1dy8sknc+qpp7JhwwZ+\\n8pOf0K9fP371q1/x1ltvcdFFF9Xb7g033EDfvn1ZvXo1r7/+Otdee23tvOaawVesWMEbb7zB4sWL\\nueOOOxg3bhxTpkzZbD979+7NQQcdtNn2RowYwcKFC/n73/++2f6deeaZAFx66aW8/PLLPPfcc7z8\\n8sssXbqUq6++utljlJVvCNOM6qXVUNkG5VRma/IyMyuVPffcc7Oac4377ruP8ePHs99++wFQWVnJ\\ntGnTmtzW+PHjGThwIABjxoypvZPZ9OnTOfXUUznmmGMAuOiii7jlllv43e9+x5FHHgk03Wy/3Xbb\\nsXz5cl599VUGDhzI8OHDa+c119zfuXNnvv3tb7PddtsBMHbsWD7zmc/w3nvvseOOOzJ16lTGjh1b\\nb72ddtqJUaNGMXXqVK644gpeeuklFixYwMiRIwH44Q9/yPPPP0+PHj0AmDBhAmeeeWaTnQVbwjVy\\nMzPLZOnSpfTq1ave9GXLltG3b9/a8f79+zebNMsKOt517dqVt99+u3Zb/fv3r50nib59+7J06dJM\\nMV5yySUMHDiQE044gX322YeJEydmWg+gd+/etUkcYODAgQwePJiZM2fy7rvvMmPGDMaNa/ihnmPH\\njmXq1KkATJkyhdGjR7PDDjuwcuVK1q9fz2c/+1l69epFr169OPnkk1m9enXmuJrjGrmZmTXrqaee\\nYtmyZRxxxBH15vXp04clS5bUji9atGiLe3Pvueee/PWvf91s2pIlSygvLweabx7feeedmTRpEpMm\\nTWL+/PkcffTRHHLIIRx99NF07dqV9evX1y67YsWKzX6ANLTtM844gylTprBx40b2339/Pv7xjzdY\\n7vHHH8/KlSt59tlnmTZtGjfffDMAu+22G127duWFF16gT58+2Q5CC7lGbmZmjVq3bh2/+tWvGDt2\\nLGeddRaDBw+ut8yYMWP48Y9/zIsvvsj69eu36vzvmDFjmDVrFo8++igbNmxg0qRJ7LjjjgwbNgxI\\navJNXZ8+a9as2nPV3bp1o0uXLnTqlKS6gw46iClTprBp0yYefPBB5s6d22w8Z5xxBnPmzOG2226r\\nVxsvbHXo0qULp512GhdffDFr167l+OOPB5IfB1/84he58MILWblyJZC0bMyZM6cFR6VpTuRmZlbP\\niBEj6NGjB/369eO6667joosu4q677qqdX1h7Pemkk7jwwgs55phjGDRoEMcee2yT226qVj1o0CB+\\n9rOf8R//8R/07t2bWbNmMXPmTLp0SRqQJ0yYwDXXXEOvXr248cYb663/0ksvcdxxx9GtWzeGDx/O\\nV7/61dqe67fccgszZsygZ8+eTJ06lX/+539u9jiUlZUxbNgw5s2bx+mnn97kfowdO5aHH36YMWPG\\n1P54AJg4cSL77LMPhx12GLvssgsnnHACCxcubLbsrPw88ubLapPOblTm/7pLM8tuyJAh9Z5+NqCs\\nLPO13lui/x578NqKFUXbvrWOht4b4OeRm5m1e06ytiXctG5mZpZjTuRmZmY55kRuZmaWY07kZmZm\\nOeZEbmZmlmNO5GZmZjnmRG5mZpZjTuRmZlYyX/nKV1rtKWCFvv3tb3PWWWe1+nbbIydyM7N2oqy8\\nDElFe5WVlzUfROqJJ55g+PDh7LLLLuy2224cccQR/OlPf2r1fb7tttv45je/2erbheYfsLKt8J3d\\nzMzaieql1UW9JXR1Zbbbv65bt44RI0Zw++23c9ppp/HBBx/w+OOPs8MOO7S4zIjoMAm1VFwjNzOz\\nzSxcuBBJjBkzBknssMMOHHfccRxwwAH1mqwXLVpEp06d2LRpEwBHH300V1xxBYcffjg777wz3/ve\\n9xg6dOhm27/pppsYPXo0AOPHj+fKK68EYPDgwcyePbt2uY0bN7L77rvzzDPPADBv3jyGDx9Oz549\\n+cxnPrPZ08tee+01Kioq6NGjByeeeCKrVq0qzsFph5zIzcxsM4MGDaJz586ce+65PPjgg7zxxhub\\nza9bw647/rOf/Ywf/ehHrFu3ji9/+cssXLiw9tGiAFOnTuXMM8+sV+7YsWOZMmVK7fiDDz5I7969\\nOeigg1i6dCmnnnoqV155JWvXrmXSpEn867/+K6tXrwZg3LhxDB06lFWrVnHFFVcwefLkrT4OeeFE\\nbmZmm+nWrRtPPPEEnTp14ktf+hK9e/dm9OjRvP7665nWP/fcc/nkJz9Jp06d6N69O6NGjWLq1KlA\\n8pjRBQsWMGLEiHrrjRs3jhkzZvDee+8BScIfO3YsAPfccw+nnHIKJ554IgDHHnssQ4YMYfbs2SxZ\\nsoSnn36aq6++mu22244jjjiiwe1vq5zIzcysnn333Ze77rqLxYsX88ILL7Bs2TIuvPDCTOv27dt3\\ns/GxY8fWJvIpU6YwevRodtxxx3rrDRw4kMGDBzNz5kzeffddZsyYUVtzX7RoEdOnT6dXr1706tWL\\nnj178uSTT7J8+XKWLVtGz5492WmnnWq31b9//y3d9dwpaiKXdKekaknPNTDvvyRtktSrYNplkl6S\\n9KKkE4oZm5mZZTNo0CDOOeccXnjhBT72sY+xfv362nnLly+vt3zdpvbjjz+elStX8uyzzzJt2jTG\\njRvXaFlnnHEGU6ZM4YEHHmD//fdn7733BpIfB2effTZr1qxhzZo1rF27lnXr1nHJJZfQp08f1q5d\\ny7vvvlu7ncWLF2/tbudGsWvkdwMn1p0oqRw4HlhUMG0/YAywH3AycKvc1dHMrM0tWLCAG2+8kaVL\\nlwKwZMkSpk6dyrBhw/j0pz/NY489xpIlS3jzzTe5/vrrm91ely5dOO2007j44otZu3Ytxx9/fKPL\\nnnHGGcyZM4fbbrtts4T/+c9/npkzZzJnzhw2bdrEe++9x9y5c1m2bBn9+vVjyJAhXHXVVXz44Yc8\\n8cQTzJw5c+sPRE4UNZFHxBPA2gZm3QRcXGfaKGBaRGyIiNeAl4BDihmfmZnV161bN/7whz9w6KGH\\n0q1bNz73uc9x4IEHMmnSJI477jhOP/10DjzwQIYOHVrvXHRj9a+xY8fy8MMPM2bMGDp16tTo8mVl\\nZQwbNox58+Zx+umn104vLy/ngQce4Nprr6V3797079+fSZMm1faWv+eee5g3bx677ror11xzDeec\\nc05rHY52TxFR3AKk/sDMiDgwHR8JVETENyS9Cnw2ItZI+m/g9xExJV3uR8DsiPh5A9uMYsddUFZR\\nr+usVZlcb2lmHcOQIUN4+umnN5tWVl6WXEteJHvstQcr/rGiaNu31tHQewOSfBQR9X4ptekNYSTt\\nBFxO0qxuZmYFnGRtS7T1nd0GAgOAZ9Pz3+XAnyUdAiwF+hUsW55Oa1BlZWXtcEVFBRUVFa0frZmZ\\nWYlUVVVRVVXV7HJt0bQ+gKRp/VMNzHsVODgi1koaDNwDHArsBfwW+ERDbehuWjezvGus+dSspU3r\\nxb78bArwO2CQpMWSxtdZJAABRMR8YDowH5gNnN9m2drMzCynitq0HhGNXyyYzP94nfHrgOuKGZOZ\\nmdm2xHd2MzMzyzEncjMzsxzz88jNzEqgT58+DBkypNRhWDvUp0+fFi3vRG5mVgId6RaiVlxuWjcz\\nM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdy\\nMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxz\\nIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI3MzPL\\nMSdyMzOzHHMiNzMzy7GiJnJJd0qqlvRcwbTvSnpR0jOS/ldS94J5l0l6KZ1/QjFjMzMz2xYUu0Z+\\nN3BinWlzgP0j4iDgJeAyAEmDgTHAfsDJwK2SVOT4zMzMcq2oiTwingDW1pn2UERsSkfnAeXp8Ehg\\nWkRsiIjXSJL8IcWMz8zMLO9KfY78PGB2OrwXsKRg3tJ0mpmZmTWiZIlc0jeBDyNiaqliMDMzy7su\\npShU0rnAPwHHFExeCvQtGC9PpzWosrKydriiooKKiorWDNHMzKykqqqqqKqqanY5RURRA5E0AJgZ\\nEZ9Kx08CbgCOjIjVBcsNBu4BDiVpUv8t8IloIEBJDU0uCklQ2QYFVUJb7ZOZmeWPJCKiXifwotbI\\nJU0BKoBdJS0GrgIuB7YHfpt2Sp8XEedHxHxJ04H5wIfA+W2Wrc3MzHKq6DXyYnCN3MzMOprGauSl\\n7rVuZmZmW8GJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3M\\nzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInc\\n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\\n26CgSvDTYc3MrDGSiAjVnZ7leeRblbCb8HXgHknbkTyIZTzQGZgu6TxgETCmSGWbmZltE7Lc2W0d\\nH52r3h7YDngnIrpvTcER8SwwtIFZx23Nds3MzDqSLDXybjXDkgSMAg4rZlBmZmaWTZZe67Ui8Uvg\\nxCLFY2ZmZi2QpWn9XwpGOwFDgPeKFpGZmZllluXys8Lnkm8guQf6qKJEY2ZmZi2S5Ry5n0tuZmbW\\nTjWayCVd2cR6ERHXFCEeMzMza4GmauTvNDBtZ+ALwK6AE7mZmVmJNZrII+KGmmFJ3YALSG7aMg24\\nobH1zMzMrO00eY5cUi/gG8CZJI8VPTgi1rZFYGZmZta8ps6Rfw/4F+AO4FMR8XabRWVmZmaZNPrQ\\nFEmbSJ52toHNHycqks5uW3WL1q3hh6aYmVlH0+KHpkREi+76ZmZmZm3PydrMzCzHnMjNzMxyzInc\\nzMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMec\\nyM3MzHLMidzMzCzHnMjNzMxyzIncmlVWXoakor/KystKvatmZrnT6PPIzWpUL62GyjYop7K6+IWY\\nmW1jXCM3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiZySZ0k/VnSjHS8p6Q5khZI+o2k\\nHqWMz8zMrL0rdY38AmB+wfgE4KGI2Bd4BLisJFGZmZnlRMkSuaRy4J+AHxVMHgVMTocnA6PbOi4z\\nM7M8KeUNYW4CLgYKm8/3iIhqgIhYIWn3xlaWVOTwzMzM2r+S1MglnQJUR8QzQFMZOZqa0RYvMzOz\\n9qxUNfLhwEhJ/wTsBHST9FNghaQ9IqJaUhnwemMbqCwYrkhfZmZm24qqqiqqqqqaXU4Rpa13SjoK\\n+K+IGCnpu8DqiJgo6VKgZ0RMaGCdNota0Cb3GacSSv2/aIykDn8MzMxKTRIRUa8Vu9S91uu6Hjhe\\n0gLg2HTczMzMGlHyp59FxFxgbjq8BjiutBGZmZnlR3urkZuZmVkLOJGbmZnlmBO5mZlZjjmRm5mZ\\n5ZgTuZmZWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZuZmeWYE7mZ\\nmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTuZmZWY45kZtlVFZehqSiv8rKy0q9q2aWI11KHYBZXlQv\\nrYbKNiinsrr4hZjZNsM1cjMzsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMz\\nsxxzIjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8uxkiRySeWSHpH0\\ngqTnJX09nd5T0hxJCyT9RlKPUsRnZmaWF6WqkW8AvhER+wPDgK9K+iQwAXgoIvYFHgEuK1F8ZmZm\\nuVCSRB4RKyLimXT4beBFoBwYBUxOF5sMjC5FfGZmZnlR8nPkkgYABwHzgD0iohqSZA/sXrrIzMzM\\n2r+SJnJJHwPuBy5Ia+ZRZ5G642ZmZlagS6kKltSFJIn/NCIeSCdXS9ojIqollQGvN7Z+ZcFwRfoy\\nMzPbVlRVVVFVVdXscoooTaVX0k+AVRHxjYJpE4E1ETFR0qVAz4iY0MC6bRa1YPNfDcVSCaX6XzRH\\nUoc/BuDjYGalJYmIUN3pJamRSxoOnAk8L+kvJE3olwMTgemSzgMWAWNKEZ/ly4CyMhZVV5c6DDOz\\nkihJIo+IJ4HOjcw+ri1jsfxbVF3dJp0p6v0MNjNrB0rea93MzMy2nBO5mZlZjjmRm5mZ5ZgTuZmZ\\nWY45kZuZmeWYE7mZmVmOOZGbmZnlmBO5mZlZjjmRm5mZ5ZgTeY4NKCtDUtFfZmbWfpXs6We29Xxr\\nUjMzc43czMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ\\n3MzMLMecyM3MzHLMidzMzCzHnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM3MzHLMidzMzCzH\\nnMjNzMxyzInczMwsx5zIzczMcsyJ3MzMLMecyM2sRcrKy5BU9FdZeVmpdzW3BpS1zf9oQJn/R+1B\\nl1IH0BBJJwE3k/zQuDMiJpY4JDNLVS+thso2KKeyuviFbKMWVVcTbVCOqv0/ag/aXY1cUifgf4AT\\ngf2BsZI+WdqozCwP2qomWtarV6l31dqJqqqqUofQ/hI5cAjwUkQsiogPgWnAqBLHZGY5UFMTLfar\\neu3aNtsna9+cyBu2F7CkYPwf6TQza0Rb1UQllXpXrT0R7ba/RFt9Jm6eNKkIB7Zl2uU5cjNrmbY6\\nJwrgVG61gnbbX6LN+gm8804blNJMDBFt9fHPRtJhQGVEnJSOTwCisMObpPYVtJmZWRuIiHq/pdtj\\nIu8MLACOBZYDfwTGRsSLJQ3MzMysHWp3TesRsVHSfwBz+OjyMydxMzOzBrS7GrmZmZll1x57rbcL\\nkk6S9DdJCyVdWup4SkHSnZKqJT1X6lhKRVK5pEckvSDpeUlfL3VMpSBpB0l/kPSX9DhcVeqYSkVS\\nJ0l/ljSj1LGUiqTXJD2bvh/+WOp4SkVSD0n3SXox/Y44tCRxuEZen5Kb0iwkOU+/DHgKOCMi/lbS\\nwNqYpMOBt4GfRMSBpY6nFCSVAWUR8YykjwF/AkZ1tPcCgKSuEbE+7cfyJPD1iOhwX+KS/hP4LNA9\\nIkaWOp5SkPQK8NmI6NAX1Ev6MTA3Iu6W1AXoGhFvtXUcrpE3zDelASLiCaBDf1AjYkVEPJMOvw28\\nSAe9r0FErE8HdyDpX9PhagGSyoF/An5U6lhKTHTw/CGpO3BERNwNEBEbSpHEoYP/I5rgm9JYPZIG\\nAAcBfyhtJKWRNin/BVgB/DYinip1TCVwE3AxHfBHTB0B/FbSU5K+WOpgSmRvYJWku9NTLXdI2qkU\\ngTiRm2WQNqvfD1yQ1sw7nIjYFBGfAcqBQyUNLnVMbUnSKUB12kIjOva9cYZHxMEkrRNfTU/DdTRd\\ngIOBH6THYj0woRSBOJE3bCnQr2C8PJ1mHVB67ut+4KcR8UCp4ym1tPnwUeCkUsfSxoYDI9Pzw1OB\\noyX9pMQxlURELE//rgR+QXI6sqP5B7AkIp5Ox+8nSextzom8YU8B+0jqL2l74Aygo/ZQ7eg1D4C7\\ngPkRcUupAykVSbtJ6pEO7wQcD3SoDn8RcXlE9IuIj5N8JzwSEWeXOq62Jqlr2kKFpJ2BE4C/ljaq\\nthcR1cASSYPSSccC80sRS7u7IUx74JvSJCRNASqAXSUtBq6q6djRUUgaDpwJPJ+eHw7g8oh4sLSR\\ntbk+wOT0io5OwL0RMbvEMVlp7AH8Ir1VdhfgnoiYU+KYSuXrwD2StgNeAcaXIghffmZmZpZjblo3\\nMzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3IzM7MccyI366AkbUzvEf28pHsl7dgK2zxH\\n0n+3Rnxmlo0TuVnH9U5EHBwRnwI+BL6cdcX0xjCN8c0pzNqQE7mZATwO7AMg6RfpU62el/R/ahaQ\\ntE7SpPQOd4dJGiLpSUnPSJqX3q4TYC9Jv5a0QNLEEuyLWYfiW7SadVyC2ofCnAz8Op0+PiLeSJva\\nn5L0vxGxFtgZ+H1EXJTekvJvwGkR8ef03tvvpet/muRxrx8CCyR9PyL80CGzInGN3Kzj2knSn4E/\\nAouAO9PpF0p6BphH8uS/T6TTNwA/T4f3BZZFxJ8BIuLtiNiYzns4HX+f5CES/Yu/K2Ydl2vkZh3X\\n+vQ5yrUkHQUcAxwaEe9LehSo6QT3Xmz+cIbGnor3fsHwRvw9Y1ZUrpGbdVwNJeIewNo0iX8SOKyR\\n5RcAZZI+CyDpY5I6Fy9UM2uMfymbdVwN9S5/EPiypBdIkvXvG1o+Ij6UdDrwP+nzydcDx2Usw8xa\\nkR9jamZmlmNuWjczM8sxJ3IzM7MccyI3MzPLMSdyMzOzHHMiNzMzyzEncjMzsxxzIjczM8sxJ3Iz\\nM7Mc+/+RC0tGUupuygAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b26efd0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Parch', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"3) If passenger['Sex'] == 'female' and passenger['Age'] > 50, they are more likely to survive.        \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 75,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n+vfv3+ww1old65LUwtoS8aBBgzj88MO55pprmDRpEg888AAAJ598MmeffXb7+hdddBHbbbcdw4cP\\n5wc/+EGXLfL999+fs88+m3322YctttiCsWPH8uyzz7Yvnzp1KrvvvjtDhgzhgAMO4OGHHwbghBNO\\n4Mknn2TcuHFsscUWXHzxxauVvWjRIsaNG8fgwYPZaqut2G+//dqXdezur63DbbfdxogRI/jqV7/K\\nsGHD+NCHPsSuu+7KjTfe2L7+ihUr2HrrrbnvvvuYPXs2/fr1Y+XKlVx77bXsueeqdxy/9NJLOeqo\\nowB45ZVXOPXUUxk5ciTDhg3j4x//OC+//HI3f4F1ZyKXJLXbc889GT58OHfcccdqy26++WYuueQS\\nbr31Vh599FFuueWWbsubMmUKkyZNYuHChbz88svtSfmRRx5h4sSJfP3rX2fhwoUceuihHH744Sxf\\nvpwf/vCHbL/99vz85z/nhRde4NRTT12t3K997WuMGDGCRYsW8fTTT/PlL3+5fVl33f1PPfUUzz33\\nHE8++STf/va3mThxIpMnT16lnkOHDmWPPfZYpbxx48bxyCOP8Je//GWV+n3wgx8E4PTTT+exxx7j\\nj3/8I4899hhz587l/PPP7/YYrSsTuSRpFdttt90qLec21113HSeffDJvfvOb2WSTTTj33HO7Levk\\nk09mp512YqONNmL8+PHcd999AFx77bUcfvjhHHDAAfTv359TTz2VZcuW8dvf/rZ926667QcOHMj8\\n+fN54okn6N+/P6NHj65rO4D+/ftz3nnnMXDgQDbaaCMmTJjA1KlTeemll4AiOU+YMGG17TbZZBOO\\nPPJIpkyZAsCjjz7Kww8/zBFHHAHAd77zHS699FK23HJLNttsM84444z2dRvJRC5JWsXcuXMZMmTI\\navPnzZvHiBEj2qdHjhzZbdLcdttt219vuummvPjii+1ljawZKxARjBgxgrlz59YV4+c+9zl22mkn\\n3vve9/LGN76RCy+8sK7tAIYOHcrAgQPbp3faaSd23XVXpk2bxrJly5g6dSoTJ05c47YTJkxoT86T\\nJ0/mqKOOYqONNmLhwoUsXbqUd77znQwZMoQhQ4Zw6KGHsmjRorrjWlsOdpMktbvnnnuYN28e++67\\n72rLhg0bxpw5c9qnZ8+evdaj1rfbbjv+/Oc/rzJvzpw5DB8+HOi+e3yzzTbj4osv5uKLL+aBBx5g\\n//33Z6+99mL//fdn0003ZenSpe3rPvXUU6t8AVlT2cceeyyTJ09mxYoV7LbbbrzhDW9Y434PPvhg\\nFi5cyP3338/VV1/NZZddBsDrXvc6Nt10U2bOnMmwYcPqOwjriS1ySRJLlizh5z//ORMmTOD4449n\\n1113XW2d8ePH81//9V88+OCDLF26dJ3O/44fP54bbriBX//61yxfvpyLL76YjTfemL333hsoWvJd\\nXZ9+ww03tJ+rHjRoEAMGDKBfvyKl7bHHHkyePJmVK1dy8803c9ttt3Ubz7HHHsv06dO54oorVmuN\\n1/Y6DBgwgKOPPprTTjuNxYsXc/DBBwPFl4MPf/jDfOYzn2HhwoVA0bMxffr0HhyVtWMil6QWNm7c\\nOLbccku23357vvKVr3DqqaeuculZbet17NixfOYzn+GAAw5g55135sADD+yy7K5a1TvvvDNXXnkl\\n//qv/8rQoUO54YYbmDZtGgMGFB3FZ5xxBl/84hcZMmQIl1xyyWrbP/rooxx00EEMGjSI0aNH84lP\\nfKJ95Prll1/O1KlTGTx4MFOmTOEf//Efuz0O2267LXvvvTd33XUXxxxzTJf1mDBhArfeeivjx49v\\n//IAcOGFF/LGN76Rd73rXbz2ta/lve99L4888ki3+15XPo9ckhpo1KhRqzz9rC/dEEbN0/F90cbn\\nkUtSH2eS1fpm17okSRVmIpckqcJM5JIkVZiJXJKkCjORS5JUYSZySZIqzEQuSVKFmcglSQ33sY99\\njC996UvrvdzzzjuP448/fr2XWyXeEEaSetEp//cUZs2b1bDyd9huB755af03nbnzzjs5/fTTmTlz\\nJgMGDODNb34zl112Ge985zvXa1xXXHHFei2v1to+uGVDYSKXpF40a94sRh43svsV17b8K2fVve6S\\nJUsYN24c3/rWtzj66KN55ZVXuOOOO9hoo416vN/MbPmE2ix2rUtSi3rkkUeICMaPH09EsNFGG3HQ\\nQQex++67r9ZlPXv2bPr168fKlSsB2H///TnrrLPYZ5992GyzzbjooovYc889Vyn/0ksv5aijjgLg\\n5JNP5uyzzwZg11135cYbb2xfb8WKFWy99dbcd999ANx1112MHj2awYMH8/a3v32Vp5fNmjWLMWPG\\nsOWWW3LIIYfwzDPPNObgVIiJXJJa1M4770z//v056aSTuPnmm3nuuedWWd6xhd1x+sorr+S73/0u\\nS5Ys4ZRTTuGRRx5pf7QowJQpU/jgBz+42n4nTJjA5MmT26dvvvlmhg4dyh577MHcuXM5/PDDOfvs\\ns1m8eDEXX3wxH/jAB1i0aBEAEydOZM899+SZZ57hrLPOYtKkSet8HKrORC5JLWrQoEHceeed9OvX\\nj4985CMMHTqUo446iqeffrqu7U866STe9KY30a9fP7bYYguOPPJIpkyZAhSPGX344YcZN27cattN\\nnDiRqVOn8tJLLwFFwp8wYQIAV111FYcddhiHHHIIAAceeCCjRo3ixhtvZM6cOdx7772cf/75DBw4\\nkH333XeN5bcaE7kktbBddtmF73//+zz55JPMnDmTefPm8ZnPfKaubUeMGLHK9IQJE9oT+eTJkznq\\nqKPYeOONV9tup512Ytddd2XatGksW7aMqVOntrfcZ8+ezbXXXsuQIUMYMmQIgwcP5je/+Q3z589n\\n3rx5DB48mE022aS9rJEjGzfeoCoc7CZJAoqu9hNPPJFvf/vbvPOd72Tp0qXty+bPn7/a+h272g8+\\n+GAWLlzI/fffz9VXX81ll13W6b6OPfZYJk+ezIoVK9htt93YcccdgeLLwQknnMC3vvWt1bZ58skn\\nWbx4McuWLWtP5k8++ST9+rV2m7S1ay9JLezhhx/mkksuYe7cuQDMmTOHKVOmsPfee/O2t72N22+/\\nnTlz5vD8889zwQUXdFvegAEDOProoznttNNYvHgxBx98cKfrHnvssUyfPp0rrriCiRMnts8/7rjj\\nmDZtGtOnT2flypW89NJL3HbbbcybN4/tt9+eUaNGcc455/Dqq69y5513Mm3atHU/EBVnIpekFjVo\\n0CDuvvtu/uEf/oFBgwbx7ne/m7e+9a1cfPHFHHTQQRxzzDG89a1vZc8991ztXHRnl5pNmDCBW2+9\\nlfHjx6/SUu64/rbbbsvee+/NXXfdxTHHHNM+f/jw4Vx//fV8+ctfZujQoYwcOZKLL764fbT8VVdd\\nxV133cVWW23FF7/4RU488cT1dTgqKzKz2TF0KiKyL8cnSd0ZNWoU9957b/t0X7shjJqj4/uiTUSQ\\nmT26IN9z5JLUi0yyWt/sWpckqcJM5JIkVZiJXJKkCvMcufqkRg8I6uscsCSpXiZy9UmNfkJUX9eT\\nJ1hJam12rUuSVGG2yCWpgYYNG8aoUaOaHYb6mGHDhq23skzkktRA3kJUjWbXuiRJFdbwFnlEzAKe\\n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\\nzEQuSVKF/T/SWc9tOWWciwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b991650>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Age', [\\\"Sex == 'female'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"4) If passenger['Age'] < 10 and passenger['SibSp'] < 3 and passenger['Sex'] == 'male', they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 80,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n559/vmH7uTpM2JLUg2YvWkRCw/5mL1pUdywRwXXXXcdzzz3H7NmzOe200zj//PP58Ic/XHcZ60LL\\nc20sX7682SHUzYQtSeuxloQ7cOBADjvsMH784x9z+eWX88ADDwAwceJEzjzzzNb1v/71r7P11lsz\\nYsQILrvssk5bnvvssw9nnnkme+21F4MGDeLggw/mmWeeaV0+bdo03vrWtzJkyBD23XdfHnroIQBO\\nOOEE5syZw7hx4xg0aBCTJ09epeynn36acePGMXjwYDbffHPe9773tS5r201fuw8333wzI0eO5Gtf\\n+xrDhw/nQx/6EDvuuCPXX3996/rLly9nyy235O6772b27Nn06dOHFStWcPXVV7PrrruuFMeFF17I\\nkUceCcArr7zCySefzOjRoxk+fDif/OQnefnlLu9xVTcTtiSp1a677sqIESO49dZbV1l2ww03cMEF\\nF3DjjTfy8MMP86tf/arL8qZOncrll1/O4sWLefnll1uT76xZs5gwYQLf+ta3WLx4MYcccgiHHXYY\\nr732GldccQWjRo3i5z//Oc8//zwnn3zyKuV+4xvfYOTIkTz99NM8+eSTfPnLX25d1lX39cKFC3n2\\n2WeZM2cOl156KRMmTGDKlCkr7efQoUPZZZddVipv3LhxzJo1i0cffXSl/TvuuOMAOPXUU3nkkUe4\\n9957eeSRR5g3bx7nnHNOl89RvUzYkqSVbL311iu1hFtcc801TJw4kb//+79n4403ZtKkSV2WNXHi\\nRLbbbjs23HBDjj76aO6++24Arr76ag477DD23Xdf+vbty8knn8yLL77Ib3/729ZtO+tu79+/PwsW\\nLODxxx+nb9++7LnnnnVtB9C3b1/OPvts+vfvz4Ybbsj48eOZNm0aL730ElAk4fHjx6+y3cYbb8wR\\nRxzB1KlTAXj44Yd56KGHOPzwwwH47ne/y4UXXsimm27KJptswmmnnda6bncwYUuSVjJv3jyGDBmy\\nyvz58+czcuTI1unRo0d3mRyH1QyCGzBgAC+88EJrWaNHj25dFhGMHDmSefPm1RXj5z//ebbbbjsO\\nPPBA3vzmN3P++efXtR3A0KFD6d+/f+v0dtttx4477sj06dN58cUXmTZtGhMmtHezSRg/fnxrEp4y\\nZQpHHnkkG264IYsXL2bZsmW8613vYsiQIQwZMoRDDjmEp59+uu64uuKlSSVJre68807mz5/P3nvv\\nvcqy4cOHM3fu3Nbp2bNnr/Ho6a233pr77rtvpXlz585lxIgRQNfd2ptssgmTJ09m8uTJPPDAA+yz\\nzz7stttu7LPPPgwYMIBly5a1rrtw4cKVfmi0V/axxx7LlClTWL58OTvttBNvetOb2q33gAMOYPHi\\nxdxzzz1cddVVXHTRRQBsscUWDBgwgPvvv5/hw4fX9ySsJlvYkiSWLl3Kz3/+c8aPH8/xxx/Pjjvu\\nuMo6Rx99NP/93//Ngw8+yLJly9bq+OzRRx/Nddddx0033cRrr73G5MmT2Wijjdh9992BomXe2fnd\\n1113Xeux5IEDB9KvXz/69ClS2i677MKUKVNYsWIFN9xwAzfffHOX8Rx77LHMmDGDiy++eJXWdW0v\\nQr9+/TjqqKM45ZRTWLJkCQcccABQ/Aj4yEc+wkknncTixYuBoqdixowZq/GsdM6ELUnrsXHjxrHp\\nppsyatQovvKVr3DyySfzgx/8oHV5bWv04IMP5qSTTmLfffdl++23Z7/99uu07M5aydtvvz0/+tGP\\n+Jd/+ReGDh3Kddddx/Tp0+nXr+j4Pe200zj33HMZMmQIF1xwwSrbP/zww+y///4MHDiQPffck099\\n6lOtI8W/+c1vMm3aNAYPHszUqVP5h3/4hy6fh2HDhrH77rtz++23c8wxx3S6H+PHj+fGG2/k6KOP\\nbv2RAHD++efz5je/mfe85z1sttlmHHjggcyaNavLuuvl/bAlqYHGjBmz0t26thk2bLXOlV5do7fa\\niicWLmxY+eoebd8XLbwftiStI0ymWlN2iUuSVAEmbEmSKsCELUlSBZiwJUmqABO2JEkVYMKuqGEj\\nuveeusNG1H8PXUlSz/O0ropaNG8RTOrG8iY17rxQSdLas4UtSWq4T3ziE5x33nndXu7ZZ5/N8ccf\\n3+3lrotM2JLUg7r7cNbaHt667bbb2HPPPdlss83YYost2HvvvfnDH/7Q7ft98cUXc/rpp3d7udD1\\njUJ6C7vEJakHdffhrFXKX43DW0uXLmXcuHFccsklHHXUUbzyyivceuutbLjhhqtdb2auN4mzWWxh\\nS9J6atasWUQERx99NBHBhhtuyP77789b3/rWVbqaZ8+eTZ8+fVixYgUA++yzD2eccQZ77bUXm2yy\\nCV//+tfZddddVyr/wgsv5MgjjwRg4sSJnHnmmQDsuOOOXH/99a3rLV++nC233JK7774bgNtvv509\\n99yTwYMH8453vGOlu2098cQTjB07lk033ZSDDjqIp556qjFPzjrIhC1J66ntt9+evn378sEPfpAb\\nbriBZ599dqXlbVvMbad/9KMf8b3vfY+lS5fy8Y9/nFmzZrXe8hJg6tSpHHfccavUO378eKZMmdI6\\nfcMNNzB06FB22WUX5s2bx2GHHcaZZ57JkiVLmDx5Mv/0T//E008/DcCECRPYddddeeqppzjjjDO4\\n/PLL1/p5qAoTtiStpwYOHMhtt91Gnz59+OhHP8rQoUM58sgjefLJJ+va/oMf/CA77LADffr0YdCg\\nQRxxxBFMnToVKG5/+dBDDzFu3LhVtpswYQLTpk3jpZdeAorEPn78eACuvPJKDj30UA466CAA9ttv\\nP8aMGcP111/P3LlzueuuuzjnnHPo378/e++9d7vl91YmbElaj73lLW/hBz/4AXPmzOH+++9n/vz5\\nnHTSSXVtO3LkyJWmx48f35qwp0yZwpFHHslGG220ynbbbbcdO+64I9OnT+fFF19k2rRprS3x2bNn\\nc/XVVzNkyBCGDBnC4MGD+c1vfsOCBQuYP38+gwcPZuONN24ta/To0Wu665XjoDNJElB0kZ944olc\\neumlvOtd72LZsmWtyxYsWLDK+m27yA844AAWL17MPffcw1VXXcVFF13UYV3HHnssU6ZMYfny5ey0\\n005su+22QPEj4IQTTuCSSy5ZZZs5c+awZMkSXnzxxdakPWfOHPr0WT/anuvHXkqSVvHQQw9xwQUX\\nMG/ePADmzp3L1KlT2X333Xn729/OLbfcwty5c3nuuef46le/2mV5/fr146ijjuKUU05hyZIlHHDA\\nAR2ue+yxxzJjxgwuvvhiJkyY0Dr/Ax/4ANOnT2fGjBmsWLGCl156iZtvvpn58+czatQoxowZw1ln\\nncWrr77KbbfdxvTp09f+iagIE7YkracGDhzIHXfcwbvf/W4GDhzIHnvswc4778zkyZPZf//9OeaY\\nY9h5553ZddddVzlW3NEpXOPHj+fGG2/k6KOPXqnl23b9YcOGsfvuu3P77bdzzDHHtM4fMWIEP/vZ\\nz/jyl7/M0KFDGT16NJMnT24dnX7llVdy++23s/nmm3Puuedy4okndtfTsc6LzGx2DB2KiFyX42um\\niOjeczknFedRSupeY8aM4a677mqdHjZiWHEudoNs9catWPjXhQ0rX92j7fuiRUSQme3+GvIYtiT1\\n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\\nAv4/cs18rxAkAioAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x117bf5310>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'SibSp', [\\\"Age < 10\\\", \\\"Sex == 'male'\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"5) If passenger['Age'] < 10 and passenger['Pclass'] == 2, they are more likely to survive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 90,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nhv3NWrCg7loigssvv5znnnuOWbNmceKJJ3LWWWfx8Y9/vO519IaW5xuxbNmyZpdQNwNbkvqwlsBd\\nd911Ofjgg/nVr37F1KlTuffeewE45phjOPnkk1vn/853vsMmm2zCiBEj+NnPftZly3Pvvffm5JNP\\nZo899mC99dbjgAMO4Jlnnmmdfumll/LOd76TIUOGsM8++3D//fcD8JGPfITZs2czfvx41ltvPaZM\\nmbLCup9++mnGjx/P4MGD2XDDDdlrr71ap7XfTV/7HGbOnMnIkSP59re/zfDhw/nYxz7GdtttxxVX\\nXNE6/7Jly9h44425/fbbmTVrFv369WP58uVcdNFF7Lzzzm3q+N73vsdhhx0GwCuvvMLxxx/PqFGj\\nGD58OJ/97Gd5+eWXu/kfqJ+BLUlqtfPOOzNixAhuuOGGFaZdeeWVnH322VxzzTU8+OCDXH311d2u\\n74ILLmDq1KksXLiQl19+uTV8H3jgASZNmsQPf/hDFi5cyIEHHsjBBx/Ma6+9xs9//nM222wzLrvs\\nMhYvXszxxx+/wnq/+93vMnLkSJ5++mmefPJJzjzzzNZp3e2+nj9/Ps8++yyzZ8/mxz/+MZMmTWLa\\ntGltnudGG23ETjvt1GZ948eP54EHHuDhhx9u8/w+9KEPAXDCCSfw0EMPceedd/LQQw8xd+5cTjvt\\ntG5fo3oZ2JKkNjbZZJM2LeEWF198Mccccwzbbrsta6+9dl23wDzmmGPYaqutWHPNNZkwYQK33347\\nABdddBEHH3ww++yzD/379+f444/nxRdf5E9/+lPrsl3tbh84cCDz5s3j0UcfpX///uy+++51LQfQ\\nv39/Tj31VAYOHMiaa67JxIkTufTSS3nppZeAIoQnTpy4wnJrr702hx56KBdccAEADz74IPfffz+H\\nHHIIAOeddx7f+973WH/99VlnnXU48cQTW+ddHQxsSVIbc+fOZciQISuMf+KJJxg5cmTr8KhRo7oN\\nx2E1neAGDRrE888/37quUaNGtU6LCEaOHMncuXPrqvErX/kKW221FePGjWPrrbfmrLPOqms5gI02\\n2oiBAwe2Dm+11VZst912TJ8+nRdffJFLL72USZMmdbjsxIkTW0N42rRpHHbYYay55posXLiQpUuX\\n8t73vpchQ4YwZMgQDjzwQJ5++um66+qOlyaVJLW65ZZbeOKJJ9hzzz1XmDZ8+HDmzJnTOjxr1qxV\\n7j29ySabcPfdd7cZN2fOHEaMGAF0v1t7nXXWYcqUKUyZMoV7772Xvffem1122YW9996bQYMGsXTp\\n0tZ558+f3+aHRkfrPvLII5k2bRrLli1j++23Z8stt+xwu2PHjmXhwoXccccdXHjhhXz/+98H4K1v\\nfSuDBg3innvuYfjw4fW9CCvJFrYkiSVLlnDZZZcxceJEjjrqKLbbbrsV5pkwYQL/+7//y3333cfS\\npUvf0PHZCRMmcPnll3Pttdfy2muvMWXKFNZaay122203oGiZd3V+9+WXX956LHnddddlwIAB9OtX\\nRNpOO+3EtGnTWL58OVdeeSUzZ87stp4jjzySGTNmcO65567Quq7dizBgwACOOOIIvvzlL7No0SLG\\njh0LFD8CPvnJT/LFL36RhQsXAsWeihkzZqzEq9I1A1uS+rDx48ez/vrrs9lmm/HNb36T448/np/+\\n9Ket02tbowcccABf/OIX2Weffdhmm23Yd999u1x3V63kbbbZhl/+8pd8/vOfZ6ONNuLyyy9n+vTp\\nDBhQ7Pg98cQTOf300xkyZAhnn332Css/+OCD7Lfffqy77rrsvvvufO5zn2vtKf6DH/yASy+9lMGD\\nB3PBBRfwz//8z92+DsOGDWO33Xbj5ptv5oMf/GCXz2PixIlcc801TJgwofVHAsBZZ53F1ltvzfve\\n9z422GADxo0bxwMPPNDttuvl/bAlqYFGjx7d5m5dmw8btlLnSq+sUUOH8tj8+Q1bv1aP9u+LFt4P\\nW5J6CcNUq8pd4pIkVYCBLUlSBRjYkiRVgIEtSVIF2OlMknqZO++4g1defbXZZTTNGgMHsuO73tXs\\nMnodA1uSeplXXn2V0c0uoolu7cM/VrriLnFJkirAwJYkNdxnvvUtzqi5gtrqcuqpp3LUUUet9vX2\\nRu4Sl6QeNGzEMBbMbdyVzoZuPIT5l19V9/w33n47J/znf3LPI48woH9/tt1iC75/3HG8d9ttV2td\\n55544mpdX61VvQFJ1RjYktSDFsxdAJMbuP7JK97HujNLXniB8ccdx4+++lWO2G8/Xnn1VW647TbW\\nrLn1ZL0ys88EZ7O4S1yS+qgHZs8mIpgwdiwRwZprrMF+u+7KO7femlPPO4+jTj65dd5Z8+bRb5dd\\nWL58OQB7f/rTnHTuuezxiU+wzp578p1f/IKdP/KRNuv/3rRpHHb88QAcc+qpnPw//wPAdhMmcMVN\\nN7XOt2zZMjYeN47b778fgLvuuovdd9+dwYMH8+53v7vN3bYee+wxxowZw/rrr8/+++/PU0891ZgX\\npxcysCWpj9pms83o368fH508mSv/9CeeXbKkzfT2Leb2w7/8/e/5vyedxJKZM/n04YfzwOzZPPz4\\n463TL7jqKj50wAErbHfiuHFMu/LK1uEr//xnNtpgA3Z6+9uZ++ST/Md//Acnn3wyixYtYsqUKfzL\\nv/wLTz/9NACTJk1i55135qmnnuKkk05i6tSpb/h1qAoDW5L6qHXXWYcbzzuPfv368W9nnslGY8dy\\n2PHH8+Qz9e1W/+jBB/OOzTenX79+rPeWt3DoXntxwVXF8fMHZ8/m/lmzGL/nnissN+mAA7j0hht4\\n6eWXgSLYJ+6/PwDnX3kle+yxB/uXw/vuuy+jR4/miiuuYM6cOdx6662cdtppDBw4kD333JPx48ev\\njpeiEgxsSerD3r755vz05JOZfdll3POrX/HEwoV8sYP7T3dk5NChbYYnjhvXGtjTrrqKw8aMYa01\\n11xhua1GjGC7LbZg+g038OJLL3HpDTe0tsRnzZvH1VdfzZAhQxgyZAiDBw/mpptuYt68eTzxxBMM\\nHjyYtddeu3Vdo0aNWtWnXjl2OpMkAbDNqFEcfdBB/Pi3v+W973gHS196qXXavA6OFbffRT52111Z\\n+Oyz3PHAA1w4YwbfP+64Trd15NixTLvqKpYtX872W27JFptuChQ/Aj7wgQ/w61//eoVlZs+ezaJF\\ni3jxxRdbQ3v27Nn069c32p5941lKklZw/2OPcfb55zP3yScBmDN/PhfMmMFuO+zAu972Nq6/7Tbm\\nzJ/Pc88/z7fqOFY8YMAAjth3X778wx+yaPFixu66a6fzHjluHDNuvplzL7mESeXub4APH3ggN9xw\\nAzNmzGD58uW89NJLzJw5kyeeeILNNtuM0aNHc8opp/Dqq69y4403Mn369Df+QlSEgS1JfdS666zD\\nX+6+m12POYZ199qL93/84+y49dZMOfZY9tt1Vz44diw7TprEzkcfvcKx6M5O4Zq4//5cc8stTBg7\\ntk3Lt/38w976VnbbYQduvvtuPjh2bOv4EUOHMmXKFM4880w22mgjRo0axZQpU1p7p59//vncfPPN\\nbLjhhpx++ukcffTRq+vl6PUiM5tdQ6ciIntzfZLUndGjR3Prrbe2Dve2C6f0RrdSvG5vZu3fFy0i\\ngszs8NeQx7AlqQfNf3x+t/PceuutffrmH+qYu8QlSaoAA1uSpAowsCVJqgADW5KkCjCwJUmqAANb\\nkqQK8LQuSWqg4cOHr/Q5xbNmzaLvXCF7RbN4818jfPjw4Su9jBdOkaReJiLoy998AfTV7/6uLpzi\\nLnFJkirAwJYkqQIMbEmSKsDAliSpAgxsSZIqwMCWJKkCDGxJkirAwJYkqQIMbEmSKsDAliSpAgxs\\nSZIqwMCWJKkCGhrYETEiIv4YEfdExF0R8YVy/OCImBER90fEVRGxfiPrkCSp6hp6t66IGAYMy8zb\\nI+ItwN+AQ4FjgKcz89sRcQIwODNP7GB579Ylqc/xbl3eraujaQ1tYWfm/My8vXz8PHAfMIIitKeW\\ns00FDmtkHZIkVV2PHcOOiM2BnYCbgaGZuQCKUAc27qk6JEmqoh4J7HJ3+CXAsWVLu/2+jr6570OS\\npDoNaPQGImIARVj/IjN/V45eEBFDM3NBeZz7yc6Wnzx5cuvjMWPGMGbMmAZWK0lSz7nuuuu47rrr\\n6pq3oZ3OACLi58BTmXlczbizgGcy8yw7nUlSW3Y6s9NZh9Ma3Et8d+B64C6K3d4JfA34K3ARMBKY\\nBUzIzGc7WN7AltTnGNgGdofTevOLYmBL6osMbAO7o2le6UySpAowsCVJqgADW5KkCjCwJUmqAANb\\nkqQKMLAlSaoAA1uSpAowsCVJqgADW5KkCmj4zT8kSVop/YsrfqktA1uS1LssAyY3u4gmmdz5JHeJ\\nS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuS\\nVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQB\\nBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQOaXYCk3mfYiGEsmLug2WU0zdBNhzL/8fnNLkNqw8CWtIIF\\ncxfA5GZX0TwLJvfdHyvqvdwlLklSBRjYkiRVgIEtSVIFdBvYEbFORPQrH28TEYdExMDGlyZJklrU\\n08K+HlgrIjYFZgBHAf/byKIkSVJb9QR2ZOZS4HDgnMw8Ati+sWVJkqRadQV2ROwGfAi4vBzXv3El\\nSZKk9uoJ7GOBrwK/ycx7ImJL4NrGliVJkmp1eeGUiOgPHJKZh7SMy8xHgC80ujBJkvS6LlvYmbkM\\n2KOHapEkSZ2o59Kkt0XEpcDFwAstIzPz1w2rSpIktVFPYK8FPA3sUzMuAQNbkqQe0m1gZ+YxPVGI\\nJEnqXD1XOtsmIq6JiLvL4R0j4qTGlyZJklrUc1rXeRSndb0KkJl3Akc2sihJktRWPYE9KDP/2m7c\\na40oRpIkdayewH4qIrai6GhGRPwrMK+hVUmSpDbq6SX+OeDHwDsiYi7wKPDhhlYlSZLaqKeX+CPA\\nfhGxDtAvM5c0vixJklSr28COiOPaDQM8B/wtM29vUF2SJKlGPcewRwOfBjYt/z4FHACcFxFf6WrB\\niPhJRCyIiDtrxp0SEY9HxN/LvwPeQP2SJPUJ9QT2COA9mfmlzPwS8F5gY+CfgI92s+zPgP07GH92\\nZr6n/LtyZQqWJKkvqiewNwZerhl+FRiamS+2G7+CzLwRWNTBpKi7QkmSVFcv8fOBv0TE78rh8cC0\\nshPavau43c9HxFHArcCXMvO5VVyPJEl9Qrct7Mw8neK49bPl36cz87TMfCEzP7QK2zwH2DIzdwLm\\nA2evwjokSepT6mlhA/wdmNsyf0RslpmzV2WDmbmwZvA8YHpX80+ePLn18ZgxYxgzZsyqbFaSpN7n\\nUeCx+mat57SufwdOARYAyyiOPyewY53lBDXHrCNiWGbOLwcPB+7uauHawJYk6U1li/KvxczOZ62n\\nhX0s8PbMfHpl64iIacAYYMOImE0R/HtHxE7AcorfFZ9a2fVKktTX1BPYcygulLLSMnNSB6N/tirr\\nkiSpL6snsB8BrouIy6k5jSsz7SwmSVIPqSewZ5d/a5R/kiSph9Vz849TASJiUGYubXxJkiSpvW7P\\nw46I3SLiXuAf5fC7IuKchlcmSZJa1XNp0u9TXA/8aYDMvIPiOuKSJKmH1BPYZOacdqOWNaAWSZLU\\nibpO64qI9wMZEQMpzsu+r7FlSZKkWvW0sD8NfI7iXthzgZ3KYUmS1EPq6SX+FLAqN/mQJEmrST29\\nxL8dEetFxMCIuCYiFkbEh3uiOEmSVKhnl/i4zFwMHExx7e+tgS83sihJktRWPYHdstv8IODizFyl\\n64pLkqRVV08v8csi4h/Ai8BnImIj4KXGliVJkmp128LOzBOB9wOjM/NV4AXg0EYXJkmSXldPp7Mj\\ngFczc1lEnAT8Etik4ZVJkqRW9RzD/kZmLomIPYD9gJ8A5za2LEmSVKuewG65DOlBwI8z83K8zaYk\\nST2qnsCeGxE/Aj4IXBERa9a5nCRJWk3qCd4JwFXA/pn5LDAEz8OWJKlH1dNLfGlm/hp4LiI2AwZS\\n3htbkiTW9MNsAAAMqUlEQVT1jHp6iR8SEQ8CjwIzy39/3+jCJEnS6+rZJX468D7ggczcgqKn+M0N\\nrUqSJLVRT2C/mplPA/0iol9mXguMbnBdkiSpRj2XJn02It4CXA+cHxFPUlztTJIk9ZB6WtiHAkuB\\n/wCuBB4GxjeyKEmS1FaXLeyIOIzidpp3ZeZVwNQeqUqSJLXRaQs7Is6haFVvCJweEd/osaokSVIb\\nXbWw/wl4V3nTj0HADRQ9xiVJUg/r6hj2K5m5DIqLpwDRMyVJkqT2umphvyMi7iwfB7BVORxAZuaO\\nDa9OkiQBXQf2tj1WhSRJ6lKngZ2Zs3qyEEmS1DlvkylJUgUY2JIkVUBX52FfU/57Vs+VI0mSOtJV\\np7PhEfF+4JCIuJB2p3Vl5t8bWpkkSWrVVWCfDHwDGAGc3W5aAvs0qihJktRWV73ELwEuiYhvZKZX\\nOJMkqYm6vb1mZp4eEYdQXKoU4LrMvKyxZUmSpFrd9hKPiG8CxwL3ln/HRsSZjS5MkiS9rtsWNnAQ\\nsFNmLgeIiKnAbcDXGlmYJEl6Xb3nYW9Q83j9RhQiSZI6V08L+5vAbRFxLcWpXf8EnNjQqiRJUhv1\\ndDq7ICKuA3YuR52QmfMbWpUkSWqjnhY2mTkPuLTBtUiSpE54LXFJkirAwJYkqQK6DOyI6B8R/+ip\\nYiRJUse6DOzMXAbcHxGb9VA9kiSpA/V0OhsM3BMRfwVeaBmZmYc0rCpJktRGPYH9jYZXIUmSulTP\\nedgzI2IU8LbMvDoiBgH9G1+aJElqUc/NPz4JXAL8qBy1KfDbRhYlSZLaque0rs8BuwOLATLzQWDj\\nRhYlSZLaqiewX87MV1oGImIAkI0rSZIktVdPYM+MiK8Ba0fEWOBiYHpjy5IkSbXqCewTgYXAXcCn\\ngCuAkxpZlCRJaqueXuLLI2Iq8BeKXeH3Z6a7xCVJ6kH19BI/CHgY+CHwX8BDEXFgPSuPiJ9ExIKI\\nuLNm3OCImBER90fEVRGx/qoWL0lSX1HPLvHvAntn5pjM3AvYG/henev/GbB/u3EnAldn5tuBPwJf\\nrbdYSZL6qnoCe0lmPlQz/AiwpJ6VZ+aNwKJ2ow8FppaPpwKH1bMuSZL6sk6PYUfE4eXDWyPiCuAi\\nimPYRwC3vIFtbpyZCwAyc35EeE63JEnd6KrT2fiaxwuAvcrHC4G1V2MNdmCTJKkbnQZ2Zh7ToG0u\\niIihmbkgIoYBT3Y18+TJk1sfjxkzhjFjxjSoLEmSetijwGP1zdrtaV0RsQXw78DmtfOvxO01o/xr\\ncSnwUeAs4Gjgd10tXBvYkiS9qWxR/rWY2fms9dxe87fATyiubrZ8ZeqIiGnAGGDDiJgNnAJ8C7g4\\nIj4GzAImrMw6JUnqi+oJ7Jcy84ersvLMnNTJpP1WZX2SJPVV9QT2DyLiFGAG8HLLyMz8e8OqkiRJ\\nbdQT2DsARwH78Pou8SyHJUlSD6gnsI8Atqy9xaYkSepZ9Vzp7G5gg0YXIkmSOldPC3sD4B8RcQtt\\nj2HXe1qXJEl6g+oJ7FMaXoUkSepSPffD7uI0bkmS1BPqudLZEl6/3vcawEDghcxcr5GFSZKk19XT\\nwl635XFEBMXtMd/XyKIkSVJb9fQSb5WF3wL7N6geSZLUgXp2iR9eM9gPGA281LCKJEnSCurpJV57\\nX+zXKG4EdmhDqpEkSR2q5xh2o+6LLUmS6tRpYEfEyV0sl5l5egPqkSRJHeiqhf1CB+PWAT4ObAgY\\n2JIk9ZBOAzszv9vyOCLWBY4FjgEuBL7b2XKSJGn16/IYdkQMAY4DPgRMBd6TmYt6ojBJkvS6ro5h\\nfwc4HPgxsENmPt9jVUmSpDa6unDKl4BNgJOAJyJicfm3JCIW90x5kiQJuj6GvVJXQZMkSY1jKEuS\\nVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQB\\nBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2\\nJEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJ\\nFWBgS5JUAQa2JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFTCgWRuOiMeA54DlwKuZuUuzapEkqbdr\\nWmBTBPWYzFzUxBokSaqEZu4SjyZvX5KkymhmYCbwh4i4JSI+2cQ6JEnq9Zq5S3z3zJwXERtRBPd9\\nmXljE+uRJKnXalpgZ+a88t+FEfEbYBdghcCePHly6+MxY8YwZsyYHqpQkqQGexR4rL5ZmxLYETEI\\n6JeZz0fEOsA44NSO5q0NbEmS3lS2KP9azOx81ma1sIcCv4mILGs4PzNnNKkWSZJ6vaYEdmY+CuzU\\njG1LklRFnlYlSVIFGNiSJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRVgIEtSVIFGNiSJFWAgS1JUgUY\\n2JIkVYCBLUlSBRjYkiRVgIEtSVIFGNiSJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRVgIEtSVIFGNiS\\nJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRVgIEtSVIFGNiSJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRV\\ngIEtSVIFGNiSJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRVwIBmF6DODRsxjAVzFzS7jKYYuulQ5j8+\\nv9llSFKvYWD3YgvmLoDJza6iORZM7ps/VCSpM+4SlySpAgxsSZIqwMCWJKkCDGxJkirAwJYkqQIM\\nbEmSKsDAliSpAgxsSZIqwMCWJKkCDGxJkirAwJYkqQJ6/bXEI6LZJUiS1HS9PrCz2QU0kT9VJEkt\\n3CUuSVIFGNiSJFWAgS1JUgUY2JIkVYCBLUlSBRjYkiRVgIEtSVIFNC2wI+KAiPhHRDwQESc0qw5J\\nkqqgKYEdEf2A/wL2B7YHJkbEO5pRiyRJVdCsFvYuwIOZOSszXwUuBA5tUi2SJPV6zQrsTYE5NcOP\\nl+MkSVIH7HQmSVIFNOvmH3OBzWqGR5TjVtDnb4AxudkFNI93amuyyc0uoLma/f7r8+/+yc0uoPeJ\\nzJ6/H1ZE9AfuB/YF5gF/BSZm5n09XowkSRXQlBZ2Zi6LiM8DMyh2y//EsJYkqXNNaWFLkqSVY6ez\\nXigifhIRCyLizmbXor4lIkZExB8j4p6IuCsivtDsmtQ3RMSaEfGXiLitfO+d0uyaehtb2L1QROwB\\nPA/8PDN3bHY96jsiYhgwLDNvj4i3AH8DDs3MfzS5NPUBETEoM5eW/ZxuAr6QmX9tdl29hS3sXigz\\nbwQWNbsO9T2ZOT8zby8fPw/ch9dIUA/JzKXlwzUp+ljZoqxhYEvqUERsDuwE/KW5laiviIh+EXEb\\nMB/4Q2be0uyaehMDW9IKyt3hlwDHli1tqeEyc3lmvpvi2hy7RsR2za6pNzGwJbUREQMowvoXmfm7\\nZtejviczFwPXAgc0u5bexMDuvQIvdqTm+Clwb2b+oNmFqO+IiLdGxPrl47WBsYCdHWsY2L1QREwD\\n/gRsExGzI+KYZtekviEidgc+BOxTnl7z94iwlaOeMBy4NiJup+g3cVVmXtHkmnoVT+uSJKkCbGFL\\nklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBLb2IRsaw8l/quiPhVRKzVxbynRMRxPVmf\\npPoZ2NKb2wuZ+Z7M3AF4Ffh0swuStGoMbKnvuAHYGiAiPhIRd5RXM5vafsaI+ERE/LWcfnFLyzwi\\njihb67dFxHXluO0i4i9lS/72iNiqJ5+U1Fd4pTPpTSwilmTmujU39Pg9RXD/BnhfZi6KiA0y89mI\\nOAVYkplnR8TgzFxUruN0YH5m/ndE3Ansn5nzImK9zFwcET8E/pyZF5Tb6Z+ZLzfnGUtvXrawpTe3\\ntSPi78BfgceAnwD7ABe1BHJmPtvBcjtGxPVlQE8Cti/H3whMjYhPAAPKcX8Gvh4RXwY2N6ylxhjQ\\n/SySKmxpZr6ndkREXTeB+xlwSGbeHRFHA3sBZOZnI2Jn4GDgbxHxnrJlfXM57oqI+LfMvG61PgtJ\\ntrClN7mO0vmPwBERMQQgIgZ3MM9bgPkRMZDi7l2U826Zmbdk5inAk8DIiNgiMx/NzP8EfgfsuNqf\\nhSRb2NKb3AqdVDLz3og4A5gZEa8BtwEfazfbyRS70Z+kuNXhuuX470TE28rHV2fmnRFxQkQcRdEL\\nfR5wRgOeh9Tn2elMkqQKcJe4JEkVYGBLklQBBrYkSRVgYEuSVAEGtiRJFWBgS5JUAQa2JEkVYGBL\\nklQB/x/DUF1sByf4KwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10b43fe10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"survival_stats(data, outcomes, 'Pclass', [\\\"Age < 10\\\"])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Accuracy\\n\",\n    \"81.71% on the data itself. \\n\",\n    \"\\n\",\n    \"This is kind of cheating because I can see that all males under the age of 10 who have 0-1 siblings (or spouses) survived. So theoretically I could get 100% accuracy by specifying one category (combination of filters)-outcome pair for every single datapoint.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion\\n\",\n    \"\\n\",\n    \"After several iterations of exploring and conditioning on the data, you have built a useful algorithm for predicting the survival of each passenger aboard the RMS Titanic. The technique applied in this project is a manual implementation of a simple machine learning model, the *decision tree*. A decision tree splits a set of data into smaller and smaller groups (called *nodes*), by one feature at a time. Each time a subset of the data is split, our predictions become more accurate if each of the resulting subgroups are more homogeneous (contain similar labels) than before. The advantage of having a computer do things for us is that it will be more exhaustive and more precise than our manual exploration above. [This link](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) provides another introduction into machine learning using a decision tree.\\n\",\n    \"\\n\",\n    \"A decision tree is just one of many models that come from *supervised learning*. In supervised learning, we attempt to use features of the data to predict or model things with objective outcome labels. That is to say, each of our data points has a known outcome value, such as a categorical, discrete label like `'Survived'`, or a numerical, continuous value like predicting the price of a house.\\n\",\n    \"\\n\",\n    \"### Question 5\\n\",\n    \"*Think of a real-world scenario where supervised learning could be applied. What would be the outcome variable that you are trying to predict? Name two features about the data used in this scenario that might be helpful for making the predictions.*  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"**Answer**: *Replace this text with your answer to the question above.*\\n\",\n    \"\\n\",\n    \"**Scenario**: A bank issuing loans.\\n\",\n    \"\\n\",\n    \"**Outcome variable**: Whether or not someone will return a loan.\\n\",\n    \"\\n\",\n    \"**Features that may be useful**: (1) Person's annual income, (2) whether that person has a criminal record.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p0-titanic-survival-exploration/titanic_visualizations.py",
    "content": "import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\n\ndef filter_data(data, condition):\n    \"\"\"\n    Remove elements that do not match the condition provided.\n    Takes a data list as input and returns a filtered list.\n    Conditions should be a list of strings of the following format:\n      '<field> <op> <value>'\n    where the following operations are valid: >, <, >=, <=, ==, !=\n    \n    Example: [\"Sex == 'male'\", 'Age < 18']\n    \"\"\"\n\n    field, op, value = condition.split(\" \")\n    \n    # convert value into number or strip excess quotes if string\n    try:\n        value = float(value)\n    except:\n        value = value.strip(\"\\'\\\"\")\n    \n    # get booleans for filtering\n    if op == \">\":\n        matches = data[field] > value\n    elif op == \"<\":\n        matches = data[field] < value\n    elif op == \">=\":\n        matches = data[field] >= value\n    elif op == \"<=\":\n        matches = data[field] <= value\n    elif op == \"==\":\n        matches = data[field] == value\n    elif op == \"!=\":\n        matches = data[field] != value\n    else: # catch invalid operation codes\n        raise Exception(\"Invalid comparison operator. Only >, <, >=, <=, ==, != allowed.\")\n    \n    # filter data and outcomes\n    data = data[matches].reset_index(drop = True)\n    return data\n\ndef survival_stats(data, outcomes, key, filters = []):\n    \"\"\"\n    Print out selected statistics regarding survival, given a feature of\n    interest and any number of filters (including no filters)\n    \"\"\"\n    \n    # Check that the key exists\n    if key not in data.columns.values :\n        print \"'{}' is not a feature of the Titanic data. Did you spell something wrong?\".format(key)\n        return False\n\n    # Return the function before visualizing if 'Cabin' or 'Ticket'\n    # is selected: too many unique categories to display\n    if(key == 'Cabin' or key == 'PassengerId' or key == 'Ticket'):\n        print \"'{}' has too many unique categories to display! Try a different feature.\".format(key)\n        return False\n\n    # Merge data and outcomes into single dataframe\n    all_data = pd.concat([data, outcomes], axis = 1)\n    \n    # Apply filters to data\n    for condition in filters:\n        all_data = filter_data(all_data, condition)\n\n    # Create outcomes DataFrame\n    all_data = all_data[[key, 'Survived']]\n    \n    # Create plotting figure\n    plt.figure(figsize=(8,6))\n\n    # 'Numerical' features\n    if(key == 'Age' or key == 'Fare'):\n        \n        # Remove NaN values from Age data\n        all_data = all_data[~np.isnan(all_data[key])]\n        \n        # Divide the range of data into bins and count survival rates\n        min_value = all_data[key].min()\n        max_value = all_data[key].max()\n        value_range = max_value - min_value\n\n        # 'Fares' has larger range of values than 'Age' so create more bins\n        if(key == 'Fare'):\n            bins = np.arange(0, all_data['Fare'].max() + 20, 20)\n        if(key == 'Age'):\n            bins = np.arange(0, all_data['Age'].max() + 10, 10)\n        \n        # Overlay each bin's survival rates\n        nonsurv_vals = all_data[all_data['Survived'] == 0][key].reset_index(drop = True)\n        surv_vals = all_data[all_data['Survived'] == 1][key].reset_index(drop = True)\n        plt.hist(nonsurv_vals, bins = bins, alpha = 0.6,\n                 color = 'red', label = 'Did not survive')\n        plt.hist(surv_vals, bins = bins, alpha = 0.6,\n                 color = 'green', label = 'Survived')\n    \n        # Add legend to plot\n        plt.xlim(0, bins.max())\n        plt.legend(framealpha = 0.8)\n    \n    # 'Categorical' features\n    else:\n       \n        # Set the various categories\n        if(key == 'Pclass'):\n            values = np.arange(1,4)\n        if(key == 'Parch' or key == 'SibSp'):\n            values = np.arange(0,np.max(data[key]) + 1)\n        if(key == 'Embarked'):\n            values = ['C', 'Q', 'S']\n        if(key == 'Sex'):\n            values = ['male', 'female']\n\n        # Create DataFrame containing categories and count of each\n        frame = pd.DataFrame(index = np.arange(len(values)), columns=(key,'Survived','NSurvived'))\n        for i, value in enumerate(values):\n            frame.loc[i] = [value, \\\n                   len(all_data[(all_data['Survived'] == 1) & (all_data[key] == value)]), \\\n                   len(all_data[(all_data['Survived'] == 0) & (all_data[key] == value)])]\n\n        # Set the width of each bar\n        bar_width = 0.4\n\n        # Display each category's survival rates\n        for i in np.arange(len(frame)):\n            nonsurv_bar = plt.bar(i-bar_width, frame.loc[i]['NSurvived'], width = bar_width, color = 'r')\n            surv_bar = plt.bar(i, frame.loc[i]['Survived'], width = bar_width, color = 'g')\n\n            plt.xticks(np.arange(len(frame)), values)\n            plt.legend((nonsurv_bar[0], surv_bar[0]),('Did not survive', 'Survived'), framealpha = 0.8)\n\n    # Common attributes for plot formatting\n    plt.xlabel(key)\n    plt.ylabel('Number of Passengers')\n    plt.title('Passenger Survival Statistics With \\'%s\\' Feature'%(key))\n    plt.show()\n\n    # Report number of passengers with missing values\n    if sum(pd.isnull(all_data[key])):\n        nan_outcomes = all_data[pd.isnull(all_data[key])]['Survived']\n        print \"Passengers with missing '{}' values: {} ({} survived, {} did not survive)\".format( \\\n              key, len(nan_outcomes), sum(nan_outcomes == 1), sum(nan_outcomes == 0))\n\n"
  },
  {
    "path": "p1-boston-housing/.ipynb_checkpoints/boston_housing-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Model Evaluation & Validation\\n\",\n    \"## Project 1: Predicting Boston Housing Prices\\n\",\n    \"\\n\",\n    \"Welcome to the first project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and you will need to implement additional functionality to successfully complete this project. You will not need to modify the included code beyond what is requested. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a 'TODO' statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting Started\\n\",\n    \"In this project, you will evaluate the performance and predictive power of a model that has been trained and tested on data collected from homes in suburbs of Boston, Massachusetts. A model trained on this data that is seen as a *good fit* could then be used to make certain predictions about a home — in particular, its monetary value. This model would prove to be invaluable for someone like a real estate agent who could make use of such information on a daily basis.\\n\",\n    \"\\n\",\n    \"The dataset for this project originates from the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Housing). The Boston housing data was collected in 1978 and each of the 506 entries represent aggregated data about 14 features for homes from various suburbs in Boston, Massachusetts. For the purposes of this project, the following preprocessing steps have been made to the dataset:\\n\",\n    \"- 16 data points have an `'MEDV'` value of 50.0. These data points likely contain **missing or censored values** and have been removed.\\n\",\n    \"- 1 data point has an `'RM'` value of 8.78. This data point can be considered an **outlier** and has been removed.\\n\",\n    \"- The features `'RM'`, `'LSTAT'`, `'PTRATIO'`, and `'MEDV'` are essential. The remaining **non-relevant features** have been excluded.\\n\",\n    \"- The feature `'MEDV'` has been **multiplicatively scaled** to account for 35 years of market inflation.\\n\",\n    \"\\n\",\n    \"Run the code cell below to load the Boston housing dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Boston housing dataset has 489 data points with 4 variables each.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries necessary for this project\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import visuals as vs # Supplementary code\\n\",\n    \"from sklearn.cross_validation import ShuffleSplit\\n\",\n    \"\\n\",\n    \"# Pretty display for notebooks\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the Boston housing dataset\\n\",\n    \"data = pd.read_csv('housing.csv')\\n\",\n    \"prices = data['MEDV']\\n\",\n    \"features = data.drop('MEDV', axis = 1)\\n\",\n    \"    \\n\",\n    \"# Success\\n\",\n    \"print \\\"Boston housing dataset has {} data points with {} variables each.\\\".format(*data.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Exploration\\n\",\n    \"In this first section of this project, you will make a cursory investigation about the Boston housing data and provide your observations. Familiarizing yourself with the data through an explorative process is a fundamental practice to help you better understand and justify your results.\\n\",\n    \"\\n\",\n    \"Since the main goal of this project is to construct a working model which has the capability of predicting the value of houses, we will need to separate the dataset into **features** and the **target variable**. The **features**, `'RM'`, `'LSTAT'`, and `'PTRATIO'`, give us quantitative information about each data point. The **target variable**, `'MEDV'`, will be the variable we seek to predict. These are stored in `features` and `prices`, respectively.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Calculate Statistics\\n\",\n    \"For your very first coding implementation, you will calculate descriptive statistics about the Boston housing prices. Since `numpy` has already been imported for you, use this library to perform the necessary calculations. These statistics will be extremely important later on to analyze various prediction results from the constructed model.\\n\",\n    \"\\n\",\n    \"In the code cell below, you will need to implement the following:\\n\",\n    \"- Calculate the minimum, maximum, mean, median, and standard deviation of `'MEDV'`, which is stored in `prices`.\\n\",\n    \"  - Store each calculation in their respective variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Statistics for Boston housing dataset:\\n\",\n      \"\\n\",\n      \"Minimum price: $105,000.00\\n\",\n      \"Maximum price: $1,024,800.00\\n\",\n      \"Mean price: $454,342.94\\n\",\n      \"Median price $438,900.00\\n\",\n      \"Standard deviation of prices: $165,171.13\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Minimum price of the data\\n\",\n    \"minimum_price = np.min(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Maximum price of the data\\n\",\n    \"maximum_price = np.max(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Mean price of the data\\n\",\n    \"mean_price = np.mean(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Median price of the data\\n\",\n    \"median_price = np.median(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Standard deviation of prices of the data\\n\",\n    \"std_price = np.std(prices)\\n\",\n    \"\\n\",\n    \"# Show the calculated statistics\\n\",\n    \"print \\\"Statistics for Boston housing dataset:\\\\n\\\"\\n\",\n    \"print \\\"Minimum price: ${:,.2f}\\\".format(minimum_price)\\n\",\n    \"print \\\"Maximum price: ${:,.2f}\\\".format(maximum_price)\\n\",\n    \"print \\\"Mean price: ${:,.2f}\\\".format(mean_price)\\n\",\n    \"print \\\"Median price ${:,.2f}\\\".format(median_price)\\n\",\n    \"print \\\"Standard deviation of prices: ${:,.2f}\\\".format(std_price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZmZWiP8P9EgSll3r1RAAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119b3e510>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Boxplot of prices to get a sense of the data\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"plt.title(\\\"Boston Home Prices\\\")\\n\",\n    \"plt.ylabel(\\\"Price (USD)\\\")\\n\",\n    \"plt.boxplot(prices)\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Feature Observation\\n\",\n    \"As a reminder, we are using three features from the Boston housing dataset: `'RM'`, `'LSTAT'`, and `'PTRATIO'`. For each data point (neighborhood):\\n\",\n    \"- `'RM'` is the average number of rooms among homes in the neighborhood.\\n\",\n    \"- `'LSTAT'` is the percentage of homeowners in the neighborhood considered \\\"lower class\\\" (working poor).\\n\",\n    \"- `'PTRATIO'` is the ratio of students to teachers in primary and secondary schools in the neighborhood.\\n\",\n    \"\\n\",\n    \"_Using your intuition, for each of the three features above, do you think that an increase in the value of that feature would lead to an **increase** in the value of `'MEDV'` or a **decrease** in the value of `'MEDV'`? Justify your answer for each._  \\n\",\n    \"**Hint:** Would you expect a home that has an `'RM'` value of 6 be worth more or less than a home that has an `'RM'` value of 7?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. **`'RM'`: increase**. \\n\",\n    \"    - An increase in the value of `'RM'` should lead to an increase in the value of `'MEDV'`.\\n\",\n    \"    - Intuitively, homes with more rooms should have **larger floor area**. \\n\",\n    \"    - Homes with larger floor area should be more expensive than homes with small area (if price per square foot is is similar), hence the guess for a positive relationship.\\n\",\n    \"    - However, homes in cities with high prices and high prices per square foot (cities such as Hong Kong or New York) tend to be much smaller on average than homes in say rural France. If we compared **homes in Hong Kong with homes in rural France, there would be a negative relationship between `'RM'` and `'MEDV'`**.\\n\",\n    \"    - But it is unlikely than there will be such high and large-scale regional variance within Boston.\\n\",\n    \"\\n\",\n    \"2. **`'LSTAT'`: decrease**. \\n\",\n    \"    - An increase in the value of `'LSTAT'` should lead to an decrease in the value of `'MEDV'`.\\n\",\n    \"    - If more people in the neighbourhood are the 'working poor', given (1) they usually have low income (by definition) and (2) they should've been able to afford their homes, their homes should tend to be relatively cheap.\\n\",\n    \"    - Thus, the higher `'LSTAT'` is, the higher the percentage of relatively cheap homes in the area is likely to be. \\n\",\n    \"    - The higher the percentage of relatively cheap homes in the area, the lower the average price of homes in the area.\\n\",\n    \"\\n\",\n    \"3. **`'PTRATIO'`: increase**. \\n\",\n    \"    - An increase in the value of `'RM'` should lead to an increase in the value of `'MEDV'`.\\n\",\n    \"    - A higher `'PTRATIO'` means there are more students to one teacher in schools. \\n\",\n    \"    - Maintaining lower student-to-teacher ratios is more expensive and thus usually reflects more funding to schools either through tuition fees or donations. \\n\",\n    \"    - This usually means people in the area are relatively well-off. \\n\",\n    \"    - People who are more well-off often choose to buy more expensive homes since homes are normal goods. (As income increases, amount spent on said good increases.)\\n\",\n    \"    - Thus the homes in the area are likely to be more expensive. That is, `'MDEV'` is likely to be higher.\\n\",\n    \"\\n\",\n    \"It is notable that the question asked whether an increase in the value of X would LEAD TO an increase in the value of Y. This is fine because this is an intuition-based question and not a statistical one.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"----\\n\",\n    \"\\n\",\n    \"## Developing a Model\\n\",\n    \"In this second section of the project, you will develop the tools and techniques necessary for a model to make a prediction. Being able to make accurate evaluations of each model's performance through the use of these tools and techniques helps to greatly reinforce the confidence in your predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Define a Performance Metric\\n\",\n    \"It is difficult to measure the quality of a given model without quantifying its performance over training and testing. This is typically done using some type of performance metric, whether it is through calculating some type of error, the goodness of fit, or some other useful measurement. For this project, you will be calculating the [*coefficient of determination*](http://stattrek.com/statistics/dictionary.aspx?definition=coefficient_of_determination), R<sup>2</sup>, to quantify your model's performance. The coefficient of determination for a model is a useful statistic in regression analysis, as it often describes how \\\"good\\\" that model is at making predictions. \\n\",\n    \"\\n\",\n    \"The values for R<sup>2</sup> range from 0 to 1, which captures the percentage of squared correlation between the predicted and actual values of the **target variable**. A model with an R<sup>2</sup> of 0 always fails to predict the target variable, whereas a model with an R<sup>2</sup> of 1 perfectly predicts the target variable. Any value between 0 and 1 indicates what percentage of the target variable, using this model, can be explained by the **features**. *A model can be given a negative R<sup>2</sup> as well, which indicates that the model is no better than one that naively predicts the mean of the target variable.*\\n\",\n    \"\\n\",\n    \"For the `performance_metric` function in the code cell below, you will need to implement the following:\\n\",\n    \"- Use `r2_score` from `sklearn.metrics` to perform a performance calculation between `y_true` and `y_predict`.\\n\",\n    \"- Assign the performance score to the `score` variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'r2_score'\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"\\n\",\n    \"def performance_metric(y_true, y_predict):\\n\",\n    \"    \\\"\\\"\\\" Calculates and returns the performance score between \\n\",\n    \"        true and predicted values based on the metric chosen. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate the performance score between 'y_true' and 'y_predict'\\n\",\n    \"    score = r2_score(y_true, y_predict)\\n\",\n    \"    \\n\",\n    \"    # Return the score\\n\",\n    \"    return score\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Goodness of Fit\\n\",\n    \"Assume that a dataset contains five data points and a model made the following predictions for the target variable:\\n\",\n    \"\\n\",\n    \"| True Value | Prediction |\\n\",\n    \"| :-------------: | :--------: |\\n\",\n    \"| 3.0 | 2.5 |\\n\",\n    \"| -0.5 | 0.0 |\\n\",\n    \"| 2.0 | 2.1 |\\n\",\n    \"| 7.0 | 7.8 |\\n\",\n    \"| 4.2 | 5.3 |\\n\",\n    \"*Would you consider this model to have successfully captured the variation of the target variable? Why or why not?* \\n\",\n    \"\\n\",\n    \"Run the code cell below to use the `performance_metric` function and calculate this model's coefficient of determination.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Model has a coefficient of determination, R^2, of 0.923.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Calculate the performance of this model\\n\",\n    \"score = performance_metric([3, -0.5, 2, 7, 4.2], [2.5, 0.0, 2.1, 7.8, 5.3])\\n\",\n    \"print \\\"Model has a coefficient of determination, R^2, of {:.3f}.\\\".format(score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"**Yes**, I'd consider this model to have successfully captured the variation of the target variable because\\n\",\n    \"1. The model has a **high R^2 of 0.923**. This means a 92.3% percentage of the target variable can be explained by the features using the model. So the model is pretty good.\\n\",\n    \"2. The model also got the ordering of all five datapoints in the dataset correct.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Shuffle and Split Data\\n\",\n    \"Your next implementation requires that you take the Boston housing dataset and split the data into training and testing subsets. Typically, the data is also shuffled into a random order when creating the training and testing subsets to remove any bias in the ordering of the dataset.\\n\",\n    \"\\n\",\n    \"For the code cell below, you will need to implement the following:\\n\",\n    \"- Use `train_test_split` from `sklearn.cross_validation` to shuffle and split the `features` and `prices` data into training and testing sets.\\n\",\n    \"  - Split the data into 80% training and 20% testing.\\n\",\n    \"  - Set the `random_state` for `train_test_split` to a value of your choice. This ensures results are consistent.\\n\",\n    \"- Assign the train and testing splits to `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training and testing split was successful.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'train_test_split'\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the data into training and testing subsets\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(features, prices, test_size=0.2, random_state=7)\\n\",\n    \"\\n\",\n    \"# Success\\n\",\n    \"print \\\"Training and testing split was successful.\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (X,y):  (391, 3) (391,)\\n\",\n      \"Test shapes (X,y):  (98, 3) (98,)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print \\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape\\n\",\n    \"print \\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Training and Testing\\n\",\n    \"*What is the benefit to splitting a dataset into some ratio of training and testing subsets for a learning algorithm?*  \\n\",\n    \"**Hint:** What could go wrong with not having a way to test your model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"It provides **more reliable evaluation metrics** and helps detect **overfitting**.\\n\",\n    \"1. If there was no training set, we wouldn't be able to train our model which would be bad because then our model would be purely based on (possibly random) initial values.\\n\",\n    \"\\n\",\n    \"2. If there was no test set, we wouldn't be able to test our model on unseen data. \\n\",\n    \"    - That is, we would be making judgements about how good our model was purely on its performance on the training set.\\n\",\n    \"    - Suppose we used `accuracy_score` as our performance metric. If we had e.g. an overfit decision tree with `accuracy_score = 0.98`, we might think it was an excellent model.\\n\",\n    \"    - But it would not be excellent because it wouldn't generalise well. That is, it would perform well on examples it had seen before (because it had overfitted) but likely be terrible for examples it hadn't seen before.\\n\",\n    \"    - **If we had test our model on unseen data, we would have a better idea as to whether the model generalised and so whether it was actually that good.** E.g. we may have had an `accuracy_score = 0.6` on test data, realised our model wasn't generalised and tried another one.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"----\\n\",\n    \"\\n\",\n    \"## Analyzing Model Performance\\n\",\n    \"In this third section of the project, you'll take a look at several models' learning and testing performances on various subsets of training data. Additionally, you'll investigate one particular algorithm with an increasing `'max_depth'` parameter on the full training set to observe how model complexity affects performance. Graphing your model's performance based on varying criteria can be beneficial in the analysis process, such as visualizing behavior that may not have been apparent from the results alone.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Learning Curves\\n\",\n    \"The following code cell produces four graphs for a decision tree model with different maximum depths. Each graph visualizes the learning curves of the model for both training and testing as the size of the training set is increased. Note that the shaded region of a learning curve denotes the uncertainty of that curve (measured as the standard deviation). The model is scored on both the training and testing sets using R<sup>2</sup>, the coefficient of determination.  \\n\",\n    \"\\n\",\n    \"Run the code cell below and use these graphs to answer the following question.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nzlT9hrEwZ5qVIjYzUAPMYExK+J5+GrGMSStjAHxXXgl87WsL48h8voUMk86Jrq1AzLkdiwHHj6e/\\ndlukzG55SwVsD7z2GrYdO5bd4vaBD2Dgj/7IfI/V9dLZBTMcNrtQNjUtfJ4zy6VzXFzmOte+DK6B\\n8+7dNZPspFYDQWe5iIiIqLGxZYuWpoxAbejgQdzz/ventyCtW4cb/9f/wro1axbOteYQcc4n4gzc\\nMr8j13g45xgwXTeDNitwc6wH7roL2w4ezCr+QE8Ptl16afa0AqqanjzF2pdMmt0dw2GzFS0UWtgu\\ntM963dyctt7205/iZpd55u585zsxcNtt2RNJhsPp+zITnmRuu+0rcnvo0CHcc/XV6XPi1EDWy8wA\\ntR4zYLEuJqJGw5Yt8hJbtmhpsiabTll39tm48be/XVyLm3McW+a8H27bzsmxrQDOGcw5tn2nnYZY\\nKmCwxAD4LrwQuO22/GVy/qxWIhVVTV+SyYXALJlMD9Cci6KYiU6soC6RgJFRLiA1WeXgoDmpt65n\\nTzxp/dy6vtDSVsxSyrmBAB7YtSt7DN4bb+DO974XA+97X+7xdLnG3LltZ56f71hq+4Gvf90OtIiI\\niKjxMdgiSlm3YQMGfvSj0t8oxKISXxTjhh/8AAPvfnd6C83GjbjxO98B1q0rPqFJocXtPGdwaL12\\n/My+L30JMZcpBnzveAfw5S+bO5ytexbrc62gK3NxBmXOczJfW4Gcte14r5FMugeC09PAxER6ApfM\\nrqhu+8p0vjE9zUCLiIhoCWGwRVTD1m3ciBt/85vyjHErB0cQd8M992DgmmvSA8ENG3Djt7+dHghm\\nvC9tAdyDvFzBn9sxl/2+ffvcx+Cdfz5w443pP0++JCvOY9Zr589UbFfI1Np3662IPfwwAy4iIqIl\\ngmO2iGjRanmySteslw8/bJYvM+DLFRjme21tuwWIOV4PDQ3hnhtuwLbhYY7ZIiKqERyzRV5isEVE\\nDamWA0GrXF9+/PG6u8CzLiaiRsNgi7zEYIuIqErq8QLPupiIGk091sVUP3zVLgAREREREVEjYrBF\\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQeYLBF\\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQe8DzY\\n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\\n/D+cJBlqTR21IAAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11bffac10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Produce learning curves for varying training set sizes and maximum depths\\n\",\n    \"vs.ModelLearning(features, prices)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Learning the Data\\n\",\n    \"*Choose one of the graphs above and state the maximum depth for the model. What happens to the score of the training curve as more training points are added? What about the testing curve? Would having more training points benefit the model?*  \\n\",\n    \"**Hint:** Are the learning curves converging to particular scores?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: ** \\n\",\n    \"\\n\",\n    \"Chosen graph has **`max_depth = 1`**.\\n\",\n    \"\\n\",\n    \"**As more training points (TP) are added**,\\n\",\n    \"- **The score of the training curve decreases**.\\n\",\n    \"    - It decreases dramatically from 1.0 (since there are 0 TP, it predicts perfectly) at 0 TP to just under 0.6 at 50 TP. \\n\",\n    \"    - It then decreases slightly as TP increases.\\n\",\n    \"    - The score the testing curve converges to is **just under 0.5**.\\n\",\n    \"- **The score of the testing curve increases** dramatically from <0 to just under 0.4 when the number of TP is increased from 0 to 50. \\n\",\n    \"    - It then increases slightly (by less than 0.1) as the number of TP increases from 50 to 200\\n\",\n    \"    - before plateauing or even decreasing slightly as more TP are added beyond 200 TP.\\n\",\n    \"    - The score the testing curve converges to is roughly **0.4**.\\n\",\n    \"    - Most gains are made by TP = 50.\\n\",\n    \"\\n\",\n    \"It **does not seem like the model will benefit from additional training points beyond 200 training points**.\\n\",\n    \"\\n\",\n    \"The final gap between the training and testing curve scores is small (< 0.1 and much smaller than in the other graphs). The error (~0.6) is quite high. This indicates that the model is **biased**.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Complexity Curves\\n\",\n    \"The following code cell produces a graph for a decision tree model that has been trained and validated on the training data using different maximum depths. The graph produces two complexity curves — one for training and one for validation. Similar to the **learning curves**, the shaded regions of both the complexity curves denote the uncertainty in those curves, and the model is scored on both the training and validation sets using the `performance_metric` function.  \\n\",\n    \"\\n\",\n    \"Run the code cell below and use this graph to answer the following two questions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c9ae450>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"vs.ModelComplexity(X_train, y_train)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Bias-Variance Tradeoff\\n\",\n    \"*When the model is trained with a maximum depth of 1, does the model suffer from high bias or from high variance? How about when the model is trained with a maximum depth of 10? What visual cues in the graph justify your conclusions?*  \\n\",\n    \"**Hint:** How do you know when a model is suffering from high bias or high variance?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. When the model is trained with `max_depth = 1`,\\n\",\n    \"    - it suffers from **high bias**.\\n\",\n    \"    - We can infer this from two features:\\n\",\n    \"        1. The training and testing learning curves converge (the **gap between them is small**) at \\n\",\n    \"        2. a **high error of 0.6** as the number of training points increases.\\n\",\n    \"    - This is shown in the model complexity graph where the gap between the training and validation scores is smaller than 0.1 and both scores are low (in the range 0.4-0.5), meaning the errors are high. \\n\",\n    \"2. When the model is trained with `max_depth = 10`,\\n\",\n    \"    - it suffers from **high variance**.\\n\",\n    \"    - We can infer this from the **large gap** between the training and validation scores in the model complexity graph. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 6 - Best-Guess Optimal Model\\n\",\n    \"*Which maximum depth do you think results in a model that best generalizes to unseen data? What intuition lead you to this answer?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I think **`max_depth=3`** best generalises to unseen data.\\n\",\n    \"1. `max_depth=3` and `max_depth=4` have **roughly the highest validation score**, i.e. score on unseen data.\\n\",\n    \"2. Between those two, `max_depth=3` has a **lower variance** (as seen by the difference between training and testing scores), which suggests it **suffers less from overfitting** and generalises better. The validation score is thus more reliable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"-----\\n\",\n    \"\\n\",\n    \"## Evaluating Model Performance\\n\",\n    \"In this final section of the project, you will construct a model and make a prediction on the client's feature set using an optimized model from `fit_model`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 7 - Grid Search\\n\",\n    \"*What is the grid search technique and how it can be applied to optimize a learning algorithm?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"1. The grid search technique tests different values within a given range for each parameter  to see which (combination of) parameter value(s) is optimal. E.g. which combination of parameter values maximises the accuracy score.\\n\",\n    \"2. It can be applied to optimise a learning algorithm by **optimally tuning parameters to maximise performance score**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 8 - Cross-Validation\\n\",\n    \"*What is the k-fold cross-validation training technique? What benefit does this technique provide for grid search when optimizing a model?*  \\n\",\n    \"**Hint:** Much like the reasoning behind having a testing set, what could go wrong with using grid search without a cross-validated set?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"1. The k-fold cross-validation training technique equally partitions a dataset into k parts ('folds') without shuffling. \\n\",\n    \"    - For each fold, it trains the model on data from the remaining (k-1) folds and then validates (tests) it on the data from the one fold. \\n\",\n    \"    - It repeats this k times (once on each fold).\\n\",\n    \"    - The k results can then be averaged to produce a single score.\\n\",\n    \"2. Benefits for Grid Search:\\n\",\n    \"    - With k-fold CV, all data is used for training and all data is used for validation exactly once.\\n\",\n    \"    - Suppose there is no cross-validated set. Then Grid Search may choose values of parameters than work well (score highly) for a particular validation/test set but **don't generalise**. \\n\",\n    \"    - With a cross-validated set, there is more test data and the model is tested more times because the model is validated k times (each time on different data). So if the averaged score is high, the model (with parameters chosen from Grid Search) is more likely to be generalisable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Fitting a Model\\n\",\n    \"Your final implementation requires that you bring everything together and train a model using the **decision tree algorithm**. To ensure that you are producing an optimized model, you will train the model using the grid search technique to optimize the `'max_depth'` parameter for the decision tree. The `'max_depth'` parameter can be thought of as how many questions the decision tree algorithm is allowed to ask about the data before making a prediction. Decision trees are part of a class of algorithms called *supervised learning algorithms*.\\n\",\n    \"\\n\",\n    \"For the `fit_model` function in the code cell below, you will need to implement the following:\\n\",\n    \"- Use [`DecisionTreeRegressor`](http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html) from `sklearn.tree` to create a decision tree regressor object.\\n\",\n    \"  - Assign this object to the `'regressor'` variable.\\n\",\n    \"- Create a dictionary for `'max_depth'` with the values from 1 to 10, and assign this to the `'params'` variable.\\n\",\n    \"- Use [`make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html) from `sklearn.metrics` to create a scoring function object.\\n\",\n    \"  - Pass the `performance_metric` function as a parameter to the object.\\n\",\n    \"  - Assign this scoring function to the `'scoring_fnc'` variable.\\n\",\n    \"- Use [`GridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) from `sklearn.grid_search` to create a grid search object.\\n\",\n    \"  - Pass the variables `'regressor'`, `'params'`, `'scoring_fnc'`, and `'cv_sets'` as parameters to the object. \\n\",\n    \"  - Assign the `GridSearchCV` object to the `'grid'` variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'make_scorer', 'DecisionTreeRegressor', and 'GridSearchCV'\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"\\n\",\n    \"def fit_model(X, y):\\n\",\n    \"    \\\"\\\"\\\" Performs grid search over the 'max_depth' parameter for a \\n\",\n    \"        decision tree regressor trained on the input data [X, y]. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # Create cross-validation sets from the training data\\n\",\n    \"    cv_sets = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.20, random_state = 0)\\n\",\n    \"\\n\",\n    \"    # TODO: Create a decision tree regressor object\\n\",\n    \"    regressor = DecisionTreeRegressor()\\n\",\n    \"\\n\",\n    \"    # TODO: Create a dictionary for the parameter 'max_depth' with a range from 1 to 10\\n\",\n    \"    params = {'max_depth':range(1,11)}\\n\",\n    \"\\n\",\n    \"    # TODO: Transform 'performance_metric' into a scoring function using 'make_scorer' \\n\",\n    \"    scoring_fnc = make_scorer(performance_metric)\\n\",\n    \"\\n\",\n    \"    # TODO: Create the grid search object\\n\",\n    \"    grid = GridSearchCV(regressor, param_grid=params, scoring=scoring_fnc, cv=cv_sets)\\n\",\n    \"\\n\",\n    \"    # Fit the grid search object to the data to compute the optimal model\\n\",\n    \"    grid = grid.fit(X, y)\\n\",\n    \"\\n\",\n    \"    # Return the optimal model after fitting the data\\n\",\n    \"    return grid.best_estimator_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Making Predictions\\n\",\n    \"Once a model has been trained on a given set of data, it can now be used to make predictions on new sets of input data. In the case of a *decision tree regressor*, the model has learned *what the best questions to ask about the input data are*, and can respond with a prediction for the **target variable**. You can use these predictions to gain information about data where the value of the target variable is unknown — such as data the model was not trained on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 9 - Optimal Model\\n\",\n    \"_What maximum depth does the optimal model have? How does this result compare to your guess in **Question 6**?_  \\n\",\n    \"\\n\",\n    \"Run the code block below to fit the decision tree regressor to the training data and produce an optimal model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Parameter 'max_depth' is 4 for the optimal model.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Fit the training data to the model using grid search\\n\",\n    \"reg = fit_model(X_train, y_train)\\n\",\n    \"\\n\",\n    \"# Produce the value for 'max_depth'\\n\",\n    \"print \\\"Parameter 'max_depth' is {} for the optimal model.\\\".format(reg.get_params()['max_depth'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"The optimal model has **`max_depth = 4`**. \\n\",\n    \"- This is not what I guessed initially (I guessed `max_depth = 3`) but is reasonable because it did have a **slightly higher validation score** than `max_depth = 3`.\\n\",\n    \"- I guessed that `max_depth = 3` would be better because it had a similar validation score and had lower variance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 10 - Predicting Selling Prices\\n\",\n    \"Imagine that you were a real estate agent in the Boston area looking to use this model to help price homes owned by your clients that they wish to sell. You have collected the following information from three of your clients:\\n\",\n    \"\\n\",\n    \"| Feature | Client 1 | Client 2 | Client 3 |\\n\",\n    \"| :---: | :---: | :---: | :---: |\\n\",\n    \"| Total number of rooms in home | 5 rooms | 4 rooms | 8 rooms |\\n\",\n    \"| Neighborhood poverty level (as %) | 17% | 32% | 3% |\\n\",\n    \"| Student-teacher ratio of nearby schools | 15-to-1 | 22-to-1 | 12-to-1 |\\n\",\n    \"*What price would you recommend each client sell his/her home at? Do these prices seem reasonable given the values for the respective features?*  \\n\",\n    \"**Hint:** Use the statistics you calculated in the **Data Exploration** section to help justify your response.  \\n\",\n    \"\\n\",\n    \"Run the code block below to have your optimized model make predictions for each client's home.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predicted selling price for Client 1's home: $407,232.00\\n\",\n      \"Predicted selling price for Client 2's home: $229,200.00\\n\",\n      \"Predicted selling price for Client 3's home: $979,300.00\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Produce a matrix for client data\\n\",\n    \"client_data = [[5, 17, 15], # Client 1\\n\",\n    \"               [4, 32, 22], # Client 2\\n\",\n    \"               [8, 3, 12]]  # Client 3\\n\",\n    \"client_prices = []\\n\",\n    \"# Show predictions\\n\",\n    \"for i, price in enumerate(reg.predict(client_data)):\\n\",\n    \"    print \\\"Predicted selling price for Client {}'s home: ${:,.2f}\\\".format(i+1, price)\\n\",\n    \"    client_prices.append(price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. The recommended selling prices are:\\n\",\n    \"    - Client 1: \\\\$407,232\\n\",\n    \"    - Client 2: \\\\$229,200\\n\",\n    \"    - Client 3: \\\\$979,300\\n\",\n    \"\\n\",\n    \"2. By intuition in Q1:\\n\",\n    \"    - Client 3 has the highest `RMSTAT` (intuited positive relationship with price), the lowest `STRATIO` and the lowest `LSTAT` (Both intuited negative rel with price). \\n\",\n    \"    - Client 2 has the lowest `RMSTAT`, the highest `STRATIO` and the highest `LSTAT`.\\n\",\n    \"    - So based on intuition from Question 1, the **ordering of prices (Client 3 > Client 1 > Client 2) is reasonable**. \\n\",\n    \"\\n\",\n    \"3. Revisiting the statistics from the Data Exploration section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Statistics for Boston housing dataset:\\n\",\n      \"\\n\",\n      \"Minimum price: $105,000.00\\n\",\n      \"Maximum price: $1,024,800.00\\n\",\n      \"Mean price: $454,342.94\\n\",\n      \"Median price $438,900.00\\n\",\n      \"Standard deviation of prices: $165,171.13\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Show the calculated statistics\\n\",\n    \"print \\\"Statistics for Boston housing dataset:\\\\n\\\"\\n\",\n    \"print \\\"Minimum price: ${:,.2f}\\\".format(minimum_price)\\n\",\n    \"print \\\"Maximum price: ${:,.2f}\\\".format(maximum_price)\\n\",\n    \"print \\\"Mean price: ${:,.2f}\\\".format(mean_price)\\n\",\n    \"print \\\"Median price ${:,.2f}\\\".format(median_price)\\n\",\n    \"print \\\"Standard deviation of prices: ${:,.2f}\\\".format(std_price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"    * The prices are all within the min-max of existing house prices, so they are not outrageous.\\n\",\n    \"    * I'd argue that it is difficult to justify the reasonable-ness of the predicted prices purely based on the Data Exploration statistics (beyond whether or not the prices are obviously crazy). We need more information on the distribution of `RMSTAT`, `PTRATIO` and `LSTAT`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Stds away from the mean (Client 1):  -0.285225053221\\n\",\n      \"Stds away from the mean (Client 2):  -1.36308895314\\n\",\n      \"Stds away from the mean (Client 3):  3.17826154187\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print \\\"Stds away from the mean (Client 1): \\\", (client_prices[0]-mean_price)/std_price\\n\",\n    \"print \\\"Stds away from the mean (Client 2): \\\", (client_prices[1]-mean_price)/std_price\\n\",\n    \"print \\\"Stds away from the mean (Client 3): \\\", (client_prices[2]-mean_price)/std_price\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sensitivity\\n\",\n    \"An optimal model is not necessarily a robust model. Sometimes, a model is either too complex or too simple to sufficiently generalize to new data. Sometimes, a model could use a learning algorithm that is not appropriate for the structure of the data given. Other times, the data itself could be too noisy or contain too few samples to allow a model to adequately capture the target variable — i.e., the model is underfitted. Run the code cell below to run the `fit_model` function ten times with different training and testing sets to see how the prediction for a specific client changes with the data it's trained on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Trial 1: $391,183.33\\n\",\n      \"Trial 2: $419,700.00\\n\",\n      \"Trial 3: $415,800.00\\n\",\n      \"Trial 4: $420,622.22\\n\",\n      \"Trial 5: $418,377.27\\n\",\n      \"Trial 6: $411,931.58\\n\",\n      \"Trial 7: $399,663.16\\n\",\n      \"Trial 8: $407,232.00\\n\",\n      \"Trial 9: $351,577.61\\n\",\n      \"Trial 10: $413,700.00\\n\",\n      \"\\n\",\n      \"Range in prices: $69,044.61\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"vs.PredictTrials(features, prices, fit_model, client_data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 11 - Applicability\\n\",\n    \"*In a few sentences, discuss whether the constructed model should or should not be used in a real-world setting.*  \\n\",\n    \"**Hint:** Some questions to answer:\\n\",\n    \"- *How relevant today is data that was collected from 1978?*\\n\",\n    \"- *Are the features present in the data sufficient to describe a home?*\\n\",\n    \"- *Is the model robust enough to make consistent predictions?*\\n\",\n    \"- *Would data collected in an urban city like Boston be applicable in a rural city?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. House prices have changed greatly since 1978. \\n\",\n    \"    - Taking inflation into account is insufficient because housing prices are highly volatile. \\n\",\n    \"    - So even a model based on data from 3 years ago might not be useful today.\\n\",\n    \"2. Features presented are not sufficient to describe a home.\\n\",\n    \"    - Important features may include square feet, other aspects of location (proximity to transport, places of work, grocery stores, schools, leisure facilities), state of house (age, whether it's recently been refurbished).\\n\",\n    \"    - But with more features comes the need for exponentially more data (the Curse of Dimensionality).\\n\",\n    \"3. The model does not make consistent predictions, as seen in the Sensitivity section above.\\n\",\n    \"    - The range in prices of \\\\$28,652.84 is non-trivial - for some, it is more than 6 months' worth of the median US salary.\\n\",\n    \"    - But if you look at the percentage variation it's about +/- 3.5% which isn't that much. \\n\",\n    \"        - Calculation ((28652.84/2)/410000), 410k estimated by eye.\\n\",\n    \"4. No, data collected in an urban city like Boston would not be applicable in a rural city. So the predictions in this model **should not be used in other cities**. \\n\",\n    \"    - If we constructed a model based on data from a wide range of cities and included features that could represent the variation in cities (e.g. population, GDP per capita), we might be able come up with a model that can cover both urban and rural cities in different countries.\\n\",\n    \"    - But that would be a complex model that wolud require exponentially more data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.03494248780487805\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Rough work calculations\\n\",\n    \"(28652.84/2)/410000\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p1-boston-housing/README.md",
    "content": "# Project 1: Model Evaluation & Validation\n## Predicting Boston Housing Prices\n\n### Install\n\nThis project requires **Python 2.7** and the following Python libraries installed:\n\n- [NumPy](http://www.numpy.org/)\n- [matplotlib](http://matplotlib.org/)\n- [scikit-learn](http://scikit-learn.org/stable/)\n\nYou will also need to have software installed to run and execute an [iPython Notebook](http://ipython.org/notebook.html)\n\nUdacity recommends our students install [Anaconda](https://www.continuum.io/downloads), a pre-packaged Python distribution that contains all of the necessary libraries and software for this project. \n\n### Code\n\nTemplate code is provided in the `boston_housing.ipynb` notebook file. You will also be required to use the included `visuals.py` Python file and the `housing.csv` dataset file to complete your work. While some code has already been implemented to get you started, you will need to implement additional functionality when requested to successfully complete the project.\n\n### Run\n\nIn a terminal or command window, navigate to the top-level project directory `boston_housing/` (that contains this README) and run one of the following commands:\n\n```ipython notebook boston_housing.ipynb```  \n```jupyter notebook boston_housing.ipynb```\n\nThis will open the iPython Notebook software and project file in your browser.\n\n### Data\n\nThe dataset used in this project is included with the scikit-learn library ([`sklearn.datasets.load_boston`](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html#sklearn.datasets.load_boston)). You do not have to download it separately. You can find more information on this dataset from the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Housing) page.\n"
  },
  {
    "path": "p1-boston-housing/boston_housing.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Model Evaluation & Validation\\n\",\n    \"## Project 1: Predicting Boston Housing Prices\\n\",\n    \"\\n\",\n    \"Welcome to the first project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and you will need to implement additional functionality to successfully complete this project. You will not need to modify the included code beyond what is requested. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a 'TODO' statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting Started\\n\",\n    \"In this project, you will evaluate the performance and predictive power of a model that has been trained and tested on data collected from homes in suburbs of Boston, Massachusetts. A model trained on this data that is seen as a *good fit* could then be used to make certain predictions about a home — in particular, its monetary value. This model would prove to be invaluable for someone like a real estate agent who could make use of such information on a daily basis.\\n\",\n    \"\\n\",\n    \"The dataset for this project originates from the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Housing). The Boston housing data was collected in 1978 and each of the 506 entries represent aggregated data about 14 features for homes from various suburbs in Boston, Massachusetts. For the purposes of this project, the following preprocessing steps have been made to the dataset:\\n\",\n    \"- 16 data points have an `'MEDV'` value of 50.0. These data points likely contain **missing or censored values** and have been removed.\\n\",\n    \"- 1 data point has an `'RM'` value of 8.78. This data point can be considered an **outlier** and has been removed.\\n\",\n    \"- The features `'RM'`, `'LSTAT'`, `'PTRATIO'`, and `'MEDV'` are essential. The remaining **non-relevant features** have been excluded.\\n\",\n    \"- The feature `'MEDV'` has been **multiplicatively scaled** to account for 35 years of market inflation.\\n\",\n    \"\\n\",\n    \"Run the code cell below to load the Boston housing dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Boston housing dataset has 489 data points with 4 variables each.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries necessary for this project\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import visuals as vs # Supplementary code\\n\",\n    \"from sklearn.cross_validation import ShuffleSplit\\n\",\n    \"\\n\",\n    \"# Pretty display for notebooks\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the Boston housing dataset\\n\",\n    \"data = pd.read_csv('housing.csv')\\n\",\n    \"prices = data['MEDV']\\n\",\n    \"features = data.drop('MEDV', axis = 1)\\n\",\n    \"    \\n\",\n    \"# Success\\n\",\n    \"print \\\"Boston housing dataset has {} data points with {} variables each.\\\".format(*data.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Exploration\\n\",\n    \"In this first section of this project, you will make a cursory investigation about the Boston housing data and provide your observations. Familiarizing yourself with the data through an explorative process is a fundamental practice to help you better understand and justify your results.\\n\",\n    \"\\n\",\n    \"Since the main goal of this project is to construct a working model which has the capability of predicting the value of houses, we will need to separate the dataset into **features** and the **target variable**. The **features**, `'RM'`, `'LSTAT'`, and `'PTRATIO'`, give us quantitative information about each data point. The **target variable**, `'MEDV'`, will be the variable we seek to predict. These are stored in `features` and `prices`, respectively.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Calculate Statistics\\n\",\n    \"For your very first coding implementation, you will calculate descriptive statistics about the Boston housing prices. Since `numpy` has already been imported for you, use this library to perform the necessary calculations. These statistics will be extremely important later on to analyze various prediction results from the constructed model.\\n\",\n    \"\\n\",\n    \"In the code cell below, you will need to implement the following:\\n\",\n    \"- Calculate the minimum, maximum, mean, median, and standard deviation of `'MEDV'`, which is stored in `prices`.\\n\",\n    \"  - Store each calculation in their respective variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Statistics for Boston housing dataset:\\n\",\n      \"\\n\",\n      \"Minimum price: $105,000.00\\n\",\n      \"Maximum price: $1,024,800.00\\n\",\n      \"Mean price: $454,342.94\\n\",\n      \"Median price $438,900.00\\n\",\n      \"Standard deviation of prices: $165,171.13\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Minimum price of the data\\n\",\n    \"minimum_price = np.min(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Maximum price of the data\\n\",\n    \"maximum_price = np.max(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Mean price of the data\\n\",\n    \"mean_price = np.mean(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Median price of the data\\n\",\n    \"median_price = np.median(prices)\\n\",\n    \"\\n\",\n    \"# TODO: Standard deviation of prices of the data\\n\",\n    \"std_price = np.std(prices)\\n\",\n    \"\\n\",\n    \"# Show the calculated statistics\\n\",\n    \"print \\\"Statistics for Boston housing dataset:\\\\n\\\"\\n\",\n    \"print \\\"Minimum price: ${:,.2f}\\\".format(minimum_price)\\n\",\n    \"print \\\"Maximum price: ${:,.2f}\\\".format(maximum_price)\\n\",\n    \"print \\\"Mean price: ${:,.2f}\\\".format(mean_price)\\n\",\n    \"print \\\"Median price ${:,.2f}\\\".format(median_price)\\n\",\n    \"print \\\"Standard deviation of prices: ${:,.2f}\\\".format(std_price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nZmZWiP8P9EgSll3r1RAAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119b3e510>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Boxplot of prices to get a sense of the data\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"plt.title(\\\"Boston Home Prices\\\")\\n\",\n    \"plt.ylabel(\\\"Price (USD)\\\")\\n\",\n    \"plt.boxplot(prices)\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Feature Observation\\n\",\n    \"As a reminder, we are using three features from the Boston housing dataset: `'RM'`, `'LSTAT'`, and `'PTRATIO'`. For each data point (neighborhood):\\n\",\n    \"- `'RM'` is the average number of rooms among homes in the neighborhood.\\n\",\n    \"- `'LSTAT'` is the percentage of homeowners in the neighborhood considered \\\"lower class\\\" (working poor).\\n\",\n    \"- `'PTRATIO'` is the ratio of students to teachers in primary and secondary schools in the neighborhood.\\n\",\n    \"\\n\",\n    \"_Using your intuition, for each of the three features above, do you think that an increase in the value of that feature would lead to an **increase** in the value of `'MEDV'` or a **decrease** in the value of `'MEDV'`? Justify your answer for each._  \\n\",\n    \"**Hint:** Would you expect a home that has an `'RM'` value of 6 be worth more or less than a home that has an `'RM'` value of 7?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. **`'RM'`: increase**. \\n\",\n    \"    - An increase in the value of `'RM'` should lead to an increase in the value of `'MEDV'`.\\n\",\n    \"    - Intuitively, homes with more rooms should have **larger floor area**. \\n\",\n    \"    - Homes with larger floor area should be more expensive than homes with small area (if price per square foot is is similar), hence the guess for a positive relationship.\\n\",\n    \"    - However, homes in cities with high prices and high prices per square foot (cities such as Hong Kong or New York) tend to be much smaller on average than homes in say rural France. If we compared **homes in Hong Kong with homes in rural France, there would be a negative relationship between `'RM'` and `'MEDV'`**.\\n\",\n    \"    - But it is unlikely than there will be such high and large-scale regional variance within Boston.\\n\",\n    \"\\n\",\n    \"2. **`'LSTAT'`: decrease**. \\n\",\n    \"    - An increase in the value of `'LSTAT'` should lead to an decrease in the value of `'MEDV'`.\\n\",\n    \"    - If more people in the neighbourhood are the 'working poor', given (1) they usually have low income (by definition) and (2) they should've been able to afford their homes, their homes should tend to be relatively cheap.\\n\",\n    \"    - Thus, the higher `'LSTAT'` is, the higher the percentage of relatively cheap homes in the area is likely to be. \\n\",\n    \"    - The higher the percentage of relatively cheap homes in the area, the lower the average price of homes in the area.\\n\",\n    \"\\n\",\n    \"3. **`'PTRATIO'`: increase**. \\n\",\n    \"    - An increase in the value of `'RM'` should lead to an increase in the value of `'MEDV'`.\\n\",\n    \"    - A higher `'PTRATIO'` means there are more students to one teacher in schools. \\n\",\n    \"    - Maintaining lower student-to-teacher ratios is more expensive and thus usually reflects more funding to schools either through tuition fees or donations. \\n\",\n    \"    - This usually means people in the area are relatively well-off. \\n\",\n    \"    - People who are more well-off often choose to buy more expensive homes since homes are normal goods. (As income increases, amount spent on said good increases.)\\n\",\n    \"    - Thus the homes in the area are likely to be more expensive. That is, `'MDEV'` is likely to be higher.\\n\",\n    \"\\n\",\n    \"It is notable that the question asked whether an increase in the value of X would LEAD TO an increase in the value of Y. This is fine because this is an intuition-based question and not a statistical one.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"----\\n\",\n    \"\\n\",\n    \"## Developing a Model\\n\",\n    \"In this second section of the project, you will develop the tools and techniques necessary for a model to make a prediction. Being able to make accurate evaluations of each model's performance through the use of these tools and techniques helps to greatly reinforce the confidence in your predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Define a Performance Metric\\n\",\n    \"It is difficult to measure the quality of a given model without quantifying its performance over training and testing. This is typically done using some type of performance metric, whether it is through calculating some type of error, the goodness of fit, or some other useful measurement. For this project, you will be calculating the [*coefficient of determination*](http://stattrek.com/statistics/dictionary.aspx?definition=coefficient_of_determination), R<sup>2</sup>, to quantify your model's performance. The coefficient of determination for a model is a useful statistic in regression analysis, as it often describes how \\\"good\\\" that model is at making predictions. \\n\",\n    \"\\n\",\n    \"The values for R<sup>2</sup> range from 0 to 1, which captures the percentage of squared correlation between the predicted and actual values of the **target variable**. A model with an R<sup>2</sup> of 0 always fails to predict the target variable, whereas a model with an R<sup>2</sup> of 1 perfectly predicts the target variable. Any value between 0 and 1 indicates what percentage of the target variable, using this model, can be explained by the **features**. *A model can be given a negative R<sup>2</sup> as well, which indicates that the model is no better than one that naively predicts the mean of the target variable.*\\n\",\n    \"\\n\",\n    \"For the `performance_metric` function in the code cell below, you will need to implement the following:\\n\",\n    \"- Use `r2_score` from `sklearn.metrics` to perform a performance calculation between `y_true` and `y_predict`.\\n\",\n    \"- Assign the performance score to the `score` variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'r2_score'\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"\\n\",\n    \"def performance_metric(y_true, y_predict):\\n\",\n    \"    \\\"\\\"\\\" Calculates and returns the performance score between \\n\",\n    \"        true and predicted values based on the metric chosen. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate the performance score between 'y_true' and 'y_predict'\\n\",\n    \"    score = r2_score(y_true, y_predict)\\n\",\n    \"    \\n\",\n    \"    # Return the score\\n\",\n    \"    return score\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Goodness of Fit\\n\",\n    \"Assume that a dataset contains five data points and a model made the following predictions for the target variable:\\n\",\n    \"\\n\",\n    \"| True Value | Prediction |\\n\",\n    \"| :-------------: | :--------: |\\n\",\n    \"| 3.0 | 2.5 |\\n\",\n    \"| -0.5 | 0.0 |\\n\",\n    \"| 2.0 | 2.1 |\\n\",\n    \"| 7.0 | 7.8 |\\n\",\n    \"| 4.2 | 5.3 |\\n\",\n    \"*Would you consider this model to have successfully captured the variation of the target variable? Why or why not?* \\n\",\n    \"\\n\",\n    \"Run the code cell below to use the `performance_metric` function and calculate this model's coefficient of determination.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Model has a coefficient of determination, R^2, of 0.923.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Calculate the performance of this model\\n\",\n    \"score = performance_metric([3, -0.5, 2, 7, 4.2], [2.5, 0.0, 2.1, 7.8, 5.3])\\n\",\n    \"print \\\"Model has a coefficient of determination, R^2, of {:.3f}.\\\".format(score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"**Yes**, I'd consider this model to have successfully captured the variation of the target variable because\\n\",\n    \"1. The model has a **high R^2 of 0.923**. This means a 92.3% percentage of the target variable can be explained by the features using the model. So the model is pretty good.\\n\",\n    \"2. The model also got the ordering of all five datapoints in the dataset correct.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Shuffle and Split Data\\n\",\n    \"Your next implementation requires that you take the Boston housing dataset and split the data into training and testing subsets. Typically, the data is also shuffled into a random order when creating the training and testing subsets to remove any bias in the ordering of the dataset.\\n\",\n    \"\\n\",\n    \"For the code cell below, you will need to implement the following:\\n\",\n    \"- Use `train_test_split` from `sklearn.cross_validation` to shuffle and split the `features` and `prices` data into training and testing sets.\\n\",\n    \"  - Split the data into 80% training and 20% testing.\\n\",\n    \"  - Set the `random_state` for `train_test_split` to a value of your choice. This ensures results are consistent.\\n\",\n    \"- Assign the train and testing splits to `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training and testing split was successful.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'train_test_split'\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the data into training and testing subsets\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(features, prices, test_size=0.2, random_state=7)\\n\",\n    \"\\n\",\n    \"# Success\\n\",\n    \"print \\\"Training and testing split was successful.\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (X,y):  (391, 3) (391,)\\n\",\n      \"Test shapes (X,y):  (98, 3) (98,)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print \\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape\\n\",\n    \"print \\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Training and Testing\\n\",\n    \"*What is the benefit to splitting a dataset into some ratio of training and testing subsets for a learning algorithm?*  \\n\",\n    \"**Hint:** What could go wrong with not having a way to test your model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"It provides **more reliable evaluation metrics** and helps detect **overfitting**.\\n\",\n    \"1. If there was no training set, we wouldn't be able to train our model which would be bad because then our model would be purely based on (possibly random) initial values.\\n\",\n    \"\\n\",\n    \"2. If there was no test set, we wouldn't be able to test our model on unseen data. \\n\",\n    \"    - That is, we would be making judgements about how good our model was purely on its performance on the training set.\\n\",\n    \"    - Suppose we used `accuracy_score` as our performance metric. If we had e.g. an overfit decision tree with `accuracy_score = 0.98`, we might think it was an excellent model.\\n\",\n    \"    - But it would not be excellent because it wouldn't generalise well. That is, it would perform well on examples it had seen before (because it had overfitted) but likely be terrible for examples it hadn't seen before.\\n\",\n    \"    - **If we had test our model on unseen data, we would have a better idea as to whether the model generalised and so whether it was actually that good.** E.g. we may have had an `accuracy_score = 0.6` on test data, realised our model wasn't generalised and tried another one.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"----\\n\",\n    \"\\n\",\n    \"## Analyzing Model Performance\\n\",\n    \"In this third section of the project, you'll take a look at several models' learning and testing performances on various subsets of training data. Additionally, you'll investigate one particular algorithm with an increasing `'max_depth'` parameter on the full training set to observe how model complexity affects performance. Graphing your model's performance based on varying criteria can be beneficial in the analysis process, such as visualizing behavior that may not have been apparent from the results alone.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Learning Curves\\n\",\n    \"The following code cell produces four graphs for a decision tree model with different maximum depths. Each graph visualizes the learning curves of the model for both training and testing as the size of the training set is increased. Note that the shaded region of a learning curve denotes the uncertainty of that curve (measured as the standard deviation). The model is scored on both the training and testing sets using R<sup>2</sup>, the coefficient of determination.  \\n\",\n    \"\\n\",\n    \"Run the code cell below and use these graphs to answer the following question.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nzlT9hrEwZ5qVIjYzUAPMYExK+J5+GrGMSStjAHxXXgl87WsL48h8voUMk86Jrq1AzLkdiwHHj6e/\\ndlukzG55SwVsD7z2GrYdO5bd4vaBD2Dgj/7IfI/V9dLZBTMcNrtQNjUtfJ4zy6VzXFzmOte+DK6B\\n8+7dNZPspFYDQWe5iIiIqLGxZYuWpoxAbejgQdzz/ventyCtW4cb/9f/wro1axbOteYQcc4n4gzc\\nMr8j13g45xgwXTeDNitwc6wH7roL2w4ezCr+QE8Ptl16afa0AqqanjzF2pdMmt0dw2GzFS0UWtgu\\ntM963dyctt7205/iZpd55u585zsxcNtt2RNJhsPp+zITnmRuu+0rcnvo0CHcc/XV6XPi1EDWy8wA\\ntR4zYLEuJqJGw5Yt8hJbtmhpsiabTll39tm48be/XVyLm3McW+a8H27bzsmxrQDOGcw5tn2nnYZY\\nKmCwxAD4LrwQuO22/GVy/qxWIhVVTV+SyYXALJlMD9Cci6KYiU6soC6RgJFRLiA1WeXgoDmpt65n\\nTzxp/dy6vtDSVsxSyrmBAB7YtSt7DN4bb+DO974XA+97X+7xdLnG3LltZ56f71hq+4Gvf90OtIiI\\niKjxMdgiSlm3YQMGfvSj0t8oxKISXxTjhh/8AAPvfnd6C83GjbjxO98B1q0rPqFJocXtPGdwaL12\\n/My+L30JMZcpBnzveAfw5S+bO5ytexbrc62gK3NxBmXOczJfW4Gcte14r5FMugeC09PAxER6ApfM\\nrqhu+8p0vjE9zUCLiIhoCWGwRVTD1m3ciBt/85vyjHErB0cQd8M992DgmmvSA8ENG3Djt7+dHghm\\nvC9tAdyDvFzBn9sxl/2+ffvcx+Cdfz5w443pP0++JCvOY9Zr589UbFfI1Np3662IPfwwAy4iIqIl\\ngmO2iGjRanmySteslw8/bJYvM+DLFRjme21tuwWIOV4PDQ3hnhtuwLbhYY7ZIiKqERyzRV5isEVE\\nDamWA0GrXF9+/PG6u8CzLiaiRsNgi7zEYIuIqErq8QLPupiIGk091sVUP3zVLgAREREREVEjYrBF\\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQeYLBF\\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQe8DzY\\n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\\n/D+cJBlqTR21IAAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11bffac10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Produce learning curves for varying training set sizes and maximum depths\\n\",\n    \"vs.ModelLearning(features, prices)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Learning the Data\\n\",\n    \"*Choose one of the graphs above and state the maximum depth for the model. What happens to the score of the training curve as more training points are added? What about the testing curve? Would having more training points benefit the model?*  \\n\",\n    \"**Hint:** Are the learning curves converging to particular scores?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: ** \\n\",\n    \"\\n\",\n    \"Chosen graph has **`max_depth = 1`**.\\n\",\n    \"\\n\",\n    \"**As more training points (TP) are added**,\\n\",\n    \"- **The score of the training curve decreases**.\\n\",\n    \"    - It decreases dramatically from 1.0 (since there are 0 TP, it predicts perfectly) at 0 TP to just under 0.6 at 50 TP. \\n\",\n    \"    - It then decreases slightly as TP increases.\\n\",\n    \"    - The score the testing curve converges to is **just under 0.5**.\\n\",\n    \"- **The score of the testing curve increases** dramatically from <0 to just under 0.4 when the number of TP is increased from 0 to 50. \\n\",\n    \"    - It then increases slightly (by less than 0.1) as the number of TP increases from 50 to 200\\n\",\n    \"    - before plateauing or even decreasing slightly as more TP are added beyond 200 TP.\\n\",\n    \"    - The score the testing curve converges to is roughly **0.4**.\\n\",\n    \"    - Most gains are made by TP = 50.\\n\",\n    \"\\n\",\n    \"It **does not seem like the model will benefit from additional training points beyond 200 training points**.\\n\",\n    \"\\n\",\n    \"The final gap between the training and testing curve scores is small (< 0.1 and much smaller than in the other graphs). The error (~0.6) is quite high. This indicates that the model is **biased**.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Complexity Curves\\n\",\n    \"The following code cell produces a graph for a decision tree model that has been trained and validated on the training data using different maximum depths. The graph produces two complexity curves — one for training and one for validation. Similar to the **learning curves**, the shaded regions of both the complexity curves denote the uncertainty in those curves, and the model is scored on both the training and validation sets using the `performance_metric` function.  \\n\",\n    \"\\n\",\n    \"Run the code cell below and use this graph to answer the following two questions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11c9ae450>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"vs.ModelComplexity(X_train, y_train)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Bias-Variance Tradeoff\\n\",\n    \"*When the model is trained with a maximum depth of 1, does the model suffer from high bias or from high variance? How about when the model is trained with a maximum depth of 10? What visual cues in the graph justify your conclusions?*  \\n\",\n    \"**Hint:** How do you know when a model is suffering from high bias or high variance?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. When the model is trained with `max_depth = 1`,\\n\",\n    \"    - it suffers from **high bias**.\\n\",\n    \"    - We can infer this from two features:\\n\",\n    \"        1. The training and testing learning curves converge (the **gap between them is small**) at \\n\",\n    \"        2. a **high error of 0.6** as the number of training points increases.\\n\",\n    \"    - This is shown in the model complexity graph where the gap between the training and validation scores is smaller than 0.1 and both scores are low (in the range 0.4-0.5), meaning the errors are high. \\n\",\n    \"2. When the model is trained with `max_depth = 10`,\\n\",\n    \"    - it suffers from **high variance**.\\n\",\n    \"    - We can infer this from the **large gap** between the training and validation scores in the model complexity graph. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 6 - Best-Guess Optimal Model\\n\",\n    \"*Which maximum depth do you think results in a model that best generalizes to unseen data? What intuition lead you to this answer?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I think **`max_depth=3`** best generalises to unseen data.\\n\",\n    \"1. `max_depth=3` and `max_depth=4` have **roughly the highest validation score**, i.e. score on unseen data.\\n\",\n    \"2. Between those two, `max_depth=3` has a **lower variance** (as seen by the difference between training and testing scores), which suggests it **suffers less from overfitting** and generalises better. The validation score is thus more reliable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"-----\\n\",\n    \"\\n\",\n    \"## Evaluating Model Performance\\n\",\n    \"In this final section of the project, you will construct a model and make a prediction on the client's feature set using an optimized model from `fit_model`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 7 - Grid Search\\n\",\n    \"*What is the grid search technique and how it can be applied to optimize a learning algorithm?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"1. The grid search technique tests different values within a given range for each parameter  to see which (combination of) parameter value(s) is optimal. E.g. which combination of parameter values maximises the accuracy score.\\n\",\n    \"2. It can be applied to optimise a learning algorithm by **optimally tuning parameters to maximise performance score**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 8 - Cross-Validation\\n\",\n    \"*What is the k-fold cross-validation training technique? What benefit does this technique provide for grid search when optimizing a model?*  \\n\",\n    \"**Hint:** Much like the reasoning behind having a testing set, what could go wrong with using grid search without a cross-validated set?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"1. The k-fold cross-validation training technique equally partitions a dataset into k parts ('folds') without shuffling. \\n\",\n    \"    - For each fold, it trains the model on data from the remaining (k-1) folds and then validates (tests) it on the data from the one fold. \\n\",\n    \"    - It repeats this k times (once on each fold).\\n\",\n    \"    - The k results can then be averaged to produce a single score.\\n\",\n    \"2. Benefits for Grid Search:\\n\",\n    \"    - With k-fold CV, all data is used for training and all data is used for validation exactly once.\\n\",\n    \"    - Suppose there is no cross-validated set. Then Grid Search may choose values of parameters than work well (score highly) for a particular validation/test set but **don't generalise**. \\n\",\n    \"    - With a cross-validated set, there is more test data and the model is tested more times because the model is validated k times (each time on different data). So if the averaged score is high, the model (with parameters chosen from Grid Search) is more likely to be generalisable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Fitting a Model\\n\",\n    \"Your final implementation requires that you bring everything together and train a model using the **decision tree algorithm**. To ensure that you are producing an optimized model, you will train the model using the grid search technique to optimize the `'max_depth'` parameter for the decision tree. The `'max_depth'` parameter can be thought of as how many questions the decision tree algorithm is allowed to ask about the data before making a prediction. Decision trees are part of a class of algorithms called *supervised learning algorithms*.\\n\",\n    \"\\n\",\n    \"For the `fit_model` function in the code cell below, you will need to implement the following:\\n\",\n    \"- Use [`DecisionTreeRegressor`](http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html) from `sklearn.tree` to create a decision tree regressor object.\\n\",\n    \"  - Assign this object to the `'regressor'` variable.\\n\",\n    \"- Create a dictionary for `'max_depth'` with the values from 1 to 10, and assign this to the `'params'` variable.\\n\",\n    \"- Use [`make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html) from `sklearn.metrics` to create a scoring function object.\\n\",\n    \"  - Pass the `performance_metric` function as a parameter to the object.\\n\",\n    \"  - Assign this scoring function to the `'scoring_fnc'` variable.\\n\",\n    \"- Use [`GridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) from `sklearn.grid_search` to create a grid search object.\\n\",\n    \"  - Pass the variables `'regressor'`, `'params'`, `'scoring_fnc'`, and `'cv_sets'` as parameters to the object. \\n\",\n    \"  - Assign the `GridSearchCV` object to the `'grid'` variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'make_scorer', 'DecisionTreeRegressor', and 'GridSearchCV'\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"\\n\",\n    \"def fit_model(X, y):\\n\",\n    \"    \\\"\\\"\\\" Performs grid search over the 'max_depth' parameter for a \\n\",\n    \"        decision tree regressor trained on the input data [X, y]. \\\"\\\"\\\"\\n\",\n    \"    \\n\",\n    \"    # Create cross-validation sets from the training data\\n\",\n    \"    cv_sets = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.20, random_state = 0)\\n\",\n    \"\\n\",\n    \"    # TODO: Create a decision tree regressor object\\n\",\n    \"    regressor = DecisionTreeRegressor()\\n\",\n    \"\\n\",\n    \"    # TODO: Create a dictionary for the parameter 'max_depth' with a range from 1 to 10\\n\",\n    \"    params = {'max_depth':range(1,11)}\\n\",\n    \"\\n\",\n    \"    # TODO: Transform 'performance_metric' into a scoring function using 'make_scorer' \\n\",\n    \"    scoring_fnc = make_scorer(performance_metric)\\n\",\n    \"\\n\",\n    \"    # TODO: Create the grid search object\\n\",\n    \"    grid = GridSearchCV(regressor, param_grid=params, scoring=scoring_fnc, cv=cv_sets)\\n\",\n    \"\\n\",\n    \"    # Fit the grid search object to the data to compute the optimal model\\n\",\n    \"    grid = grid.fit(X, y)\\n\",\n    \"\\n\",\n    \"    # Return the optimal model after fitting the data\\n\",\n    \"    return grid.best_estimator_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Making Predictions\\n\",\n    \"Once a model has been trained on a given set of data, it can now be used to make predictions on new sets of input data. In the case of a *decision tree regressor*, the model has learned *what the best questions to ask about the input data are*, and can respond with a prediction for the **target variable**. You can use these predictions to gain information about data where the value of the target variable is unknown — such as data the model was not trained on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 9 - Optimal Model\\n\",\n    \"_What maximum depth does the optimal model have? How does this result compare to your guess in **Question 6**?_  \\n\",\n    \"\\n\",\n    \"Run the code block below to fit the decision tree regressor to the training data and produce an optimal model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Parameter 'max_depth' is 4 for the optimal model.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Fit the training data to the model using grid search\\n\",\n    \"reg = fit_model(X_train, y_train)\\n\",\n    \"\\n\",\n    \"# Produce the value for 'max_depth'\\n\",\n    \"print \\\"Parameter 'max_depth' is {} for the optimal model.\\\".format(reg.get_params()['max_depth'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"The optimal model has **`max_depth = 4`**. \\n\",\n    \"- This is not what I guessed initially (I guessed `max_depth = 3`) but is reasonable because it did have a **slightly higher validation score** than `max_depth = 3`.\\n\",\n    \"- I guessed that `max_depth = 3` would be better because it had a similar validation score and had lower variance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 10 - Predicting Selling Prices\\n\",\n    \"Imagine that you were a real estate agent in the Boston area looking to use this model to help price homes owned by your clients that they wish to sell. You have collected the following information from three of your clients:\\n\",\n    \"\\n\",\n    \"| Feature | Client 1 | Client 2 | Client 3 |\\n\",\n    \"| :---: | :---: | :---: | :---: |\\n\",\n    \"| Total number of rooms in home | 5 rooms | 4 rooms | 8 rooms |\\n\",\n    \"| Neighborhood poverty level (as %) | 17% | 32% | 3% |\\n\",\n    \"| Student-teacher ratio of nearby schools | 15-to-1 | 22-to-1 | 12-to-1 |\\n\",\n    \"*What price would you recommend each client sell his/her home at? Do these prices seem reasonable given the values for the respective features?*  \\n\",\n    \"**Hint:** Use the statistics you calculated in the **Data Exploration** section to help justify your response.  \\n\",\n    \"\\n\",\n    \"Run the code block below to have your optimized model make predictions for each client's home.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Predicted selling price for Client 1's home: $407,232.00\\n\",\n      \"Predicted selling price for Client 2's home: $229,200.00\\n\",\n      \"Predicted selling price for Client 3's home: $979,300.00\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Produce a matrix for client data\\n\",\n    \"client_data = [[5, 17, 15], # Client 1\\n\",\n    \"               [4, 32, 22], # Client 2\\n\",\n    \"               [8, 3, 12]]  # Client 3\\n\",\n    \"client_prices = []\\n\",\n    \"# Show predictions\\n\",\n    \"for i, price in enumerate(reg.predict(client_data)):\\n\",\n    \"    print \\\"Predicted selling price for Client {}'s home: ${:,.2f}\\\".format(i+1, price)\\n\",\n    \"    client_prices.append(price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. The recommended selling prices are:\\n\",\n    \"    - Client 1: \\\\$407,232\\n\",\n    \"    - Client 2: \\\\$229,200\\n\",\n    \"    - Client 3: \\\\$979,300\\n\",\n    \"\\n\",\n    \"2. By intuition in Q1:\\n\",\n    \"    - Client 3 has the highest `RMSTAT` (intuited positive relationship with price), the lowest `STRATIO` and the lowest `LSTAT` (Both intuited negative rel with price). \\n\",\n    \"    - Client 2 has the lowest `RMSTAT`, the highest `STRATIO` and the highest `LSTAT`.\\n\",\n    \"    - So based on intuition from Question 1, the **ordering of prices (Client 3 > Client 1 > Client 2) is reasonable**. \\n\",\n    \"\\n\",\n    \"3. Revisiting the statistics from the Data Exploration section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Statistics for Boston housing dataset:\\n\",\n      \"\\n\",\n      \"Minimum price: $105,000.00\\n\",\n      \"Maximum price: $1,024,800.00\\n\",\n      \"Mean price: $454,342.94\\n\",\n      \"Median price $438,900.00\\n\",\n      \"Standard deviation of prices: $165,171.13\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Show the calculated statistics\\n\",\n    \"print \\\"Statistics for Boston housing dataset:\\\\n\\\"\\n\",\n    \"print \\\"Minimum price: ${:,.2f}\\\".format(minimum_price)\\n\",\n    \"print \\\"Maximum price: ${:,.2f}\\\".format(maximum_price)\\n\",\n    \"print \\\"Mean price: ${:,.2f}\\\".format(mean_price)\\n\",\n    \"print \\\"Median price ${:,.2f}\\\".format(median_price)\\n\",\n    \"print \\\"Standard deviation of prices: ${:,.2f}\\\".format(std_price)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"    * The prices are all within the min-max of existing house prices, so they are not outrageous.\\n\",\n    \"    * I'd argue that it is difficult to justify the reasonable-ness of the predicted prices purely based on the Data Exploration statistics (beyond whether or not the prices are obviously crazy). We need more information on the distribution of `RMSTAT`, `PTRATIO` and `LSTAT`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Stds away from the mean (Client 1):  -0.285225053221\\n\",\n      \"Stds away from the mean (Client 2):  -1.36308895314\\n\",\n      \"Stds away from the mean (Client 3):  3.17826154187\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print \\\"Stds away from the mean (Client 1): \\\", (client_prices[0]-mean_price)/std_price\\n\",\n    \"print \\\"Stds away from the mean (Client 2): \\\", (client_prices[1]-mean_price)/std_price\\n\",\n    \"print \\\"Stds away from the mean (Client 3): \\\", (client_prices[2]-mean_price)/std_price\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sensitivity\\n\",\n    \"An optimal model is not necessarily a robust model. Sometimes, a model is either too complex or too simple to sufficiently generalize to new data. Sometimes, a model could use a learning algorithm that is not appropriate for the structure of the data given. Other times, the data itself could be too noisy or contain too few samples to allow a model to adequately capture the target variable — i.e., the model is underfitted. Run the code cell below to run the `fit_model` function ten times with different training and testing sets to see how the prediction for a specific client changes with the data it's trained on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Trial 1: $391,183.33\\n\",\n      \"Trial 2: $419,700.00\\n\",\n      \"Trial 3: $415,800.00\\n\",\n      \"Trial 4: $420,622.22\\n\",\n      \"Trial 5: $418,377.27\\n\",\n      \"Trial 6: $411,931.58\\n\",\n      \"Trial 7: $399,663.16\\n\",\n      \"Trial 8: $407,232.00\\n\",\n      \"Trial 9: $351,577.61\\n\",\n      \"Trial 10: $413,700.00\\n\",\n      \"\\n\",\n      \"Range in prices: $69,044.61\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"vs.PredictTrials(features, prices, fit_model, client_data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 11 - Applicability\\n\",\n    \"*In a few sentences, discuss whether the constructed model should or should not be used in a real-world setting.*  \\n\",\n    \"**Hint:** Some questions to answer:\\n\",\n    \"- *How relevant today is data that was collected from 1978?*\\n\",\n    \"- *Are the features present in the data sufficient to describe a home?*\\n\",\n    \"- *Is the model robust enough to make consistent predictions?*\\n\",\n    \"- *Would data collected in an urban city like Boston be applicable in a rural city?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"1. House prices have changed greatly since 1978. \\n\",\n    \"    - Taking inflation into account is insufficient because housing prices are highly volatile. \\n\",\n    \"    - So even a model based on data from 3 years ago might not be useful today.\\n\",\n    \"2. Features presented are not sufficient to describe a home.\\n\",\n    \"    - Important features may include square feet, other aspects of location (proximity to transport, places of work, grocery stores, schools, leisure facilities), state of house (age, whether it's recently been refurbished).\\n\",\n    \"    - But with more features comes the need for exponentially more data (the Curse of Dimensionality).\\n\",\n    \"3. The model does not make consistent predictions, as seen in the Sensitivity section above.\\n\",\n    \"    - The range in prices of \\\\$28,652.84 is non-trivial - for some, it is more than 6 months' worth of the median US salary.\\n\",\n    \"    - But if you look at the percentage variation it's about +/- 3.5% which isn't that much. \\n\",\n    \"        - Calculation ((28652.84/2)/410000), 410k estimated by eye.\\n\",\n    \"4. No, data collected in an urban city like Boston would not be applicable in a rural city. So the predictions in this model **should not be used in other cities**. \\n\",\n    \"    - If we constructed a model based on data from a wide range of cities and included features that could represent the variation in cities (e.g. population, GDP per capita), we might be able come up with a model that can cover both urban and rural cities in different countries.\\n\",\n    \"    - But that would be a complex model that wolud require exponentially more data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.03494248780487805\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Rough work calculations\\n\",\n    \"(28652.84/2)/410000\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p1-boston-housing/housing.csv",
    "content": "RM,LSTAT,PTRATIO,MEDV\n6.575,4.98,15.3,504000.0\n6.421,9.14,17.8,453600.0\n7.185,4.03,17.8,728700.0\n6.998,2.94,18.7,701400.0\n7.147,5.33,18.7,760200.0\n6.43,5.21,18.7,602700.0\n6.012,12.43,15.2,480900.0\n6.172,19.15,15.2,569100.0\n5.631,29.93,15.2,346500.0\n6.004,17.1,15.2,396900.0\n6.377,20.45,15.2,315000.0\n6.009,13.27,15.2,396900.0\n5.889,15.71,15.2,455700.0\n5.949,8.26,21.0,428400.0\n6.096,10.26,21.0,382200.0\n5.834,8.47,21.0,417900.0\n5.935,6.58,21.0,485100.0\n5.99,14.67,21.0,367500.0\n5.456,11.69,21.0,424200.0\n5.727,11.28,21.0,382200.0\n5.57,21.02,21.0,285600.0\n5.965,13.83,21.0,411600.0\n6.142,18.72,21.0,319200.0\n5.813,19.88,21.0,304500.0\n5.924,16.3,21.0,327600.0\n5.599,16.51,21.0,291900.0\n5.813,14.81,21.0,348600.0\n6.047,17.28,21.0,310800.0\n6.495,12.8,21.0,386400.0\n6.674,11.98,21.0,441000.0\n5.713,22.6,21.0,266700.0\n6.072,13.04,21.0,304500.0\n5.95,27.71,21.0,277200.0\n5.701,18.35,21.0,275100.0\n6.096,20.34,21.0,283500.0\n5.933,9.68,19.2,396900.0\n5.841,11.41,19.2,420000.0\n5.85,8.77,19.2,441000.0\n5.966,10.13,19.2,518700.0\n6.595,4.32,18.3,646800.0\n7.024,1.98,18.3,732900.0\n6.77,4.84,17.9,558600.0\n6.169,5.81,17.9,531300.0\n6.211,7.44,17.9,518700.0\n6.069,9.55,17.9,445200.0\n5.682,10.21,17.9,405300.0\n5.786,14.15,17.9,420000.0\n6.03,18.8,17.9,348600.0\n5.399,30.81,17.9,302400.0\n5.602,16.2,17.9,407400.0\n5.963,13.45,16.8,413700.0\n6.115,9.43,16.8,430500.0\n6.511,5.28,16.8,525000.0\n5.998,8.43,16.8,491400.0\n5.888,14.8,21.1,396900.0\n7.249,4.81,17.9,743400.0\n6.383,5.77,17.3,518700.0\n6.816,3.95,15.1,663600.0\n6.145,6.86,19.7,489300.0\n5.927,9.22,19.7,411600.0\n5.741,13.15,19.7,392700.0\n5.966,14.44,19.7,336000.0\n6.456,6.73,19.7,466200.0\n6.762,9.5,19.7,525000.0\n7.104,8.05,18.6,693000.0\n6.29,4.67,16.1,493500.0\n5.787,10.24,16.1,407400.0\n5.878,8.1,18.9,462000.0\n5.594,13.09,18.9,365400.0\n5.885,8.79,18.9,438900.0\n6.417,6.72,19.2,508200.0\n5.961,9.88,19.2,455700.0\n6.065,5.52,19.2,478800.0\n6.245,7.54,19.2,491400.0\n6.273,6.78,18.7,506100.0\n6.286,8.94,18.7,449400.0\n6.279,11.97,18.7,420000.0\n6.14,10.27,18.7,436800.0\n6.232,12.34,18.7,445200.0\n5.874,9.1,18.7,426300.0\n6.727,5.29,19.0,588000.0\n6.619,7.22,19.0,501900.0\n6.302,6.72,19.0,520800.0\n6.167,7.51,19.0,480900.0\n6.389,9.62,18.5,501900.0\n6.63,6.53,18.5,558600.0\n6.015,12.86,18.5,472500.0\n6.121,8.44,18.5,466200.0\n7.007,5.5,17.8,495600.0\n7.079,5.7,17.8,602700.0\n6.417,8.81,17.8,474600.0\n6.405,8.2,17.8,462000.0\n6.442,8.16,18.2,480900.0\n6.211,6.21,18.2,525000.0\n6.249,10.59,18.2,432600.0\n6.625,6.65,18.0,596400.0\n6.163,11.34,18.0,449400.0\n8.069,4.21,18.0,812700.0\n7.82,3.57,18.0,919800.0\n7.416,6.19,18.0,697200.0\n6.727,9.42,20.9,577500.0\n6.781,7.67,20.9,556500.0\n6.405,10.63,20.9,390600.0\n6.137,13.44,20.9,405300.0\n6.167,12.33,20.9,422100.0\n5.851,16.47,20.9,409500.0\n5.836,18.66,20.9,409500.0\n6.127,14.09,20.9,428400.0\n6.474,12.27,20.9,415800.0\n6.229,15.55,20.9,407400.0\n6.195,13.0,20.9,455700.0\n6.715,10.16,17.8,478800.0\n5.913,16.21,17.8,394800.0\n6.092,17.09,17.8,392700.0\n6.254,10.45,17.8,388500.0\n5.928,15.76,17.8,384300.0\n6.176,12.04,17.8,445200.0\n6.021,10.3,17.8,403200.0\n5.872,15.37,17.8,428400.0\n5.731,13.61,17.8,405300.0\n5.87,14.37,19.1,462000.0\n6.004,14.27,19.1,426300.0\n5.961,17.93,19.1,430500.0\n5.856,25.41,19.1,363300.0\n5.879,17.58,19.1,394800.0\n5.986,14.81,19.1,449400.0\n5.613,27.26,19.1,329700.0\n5.693,17.19,21.2,340200.0\n6.431,15.39,21.2,378000.0\n5.637,18.34,21.2,300300.0\n6.458,12.6,21.2,403200.0\n6.326,12.26,21.2,411600.0\n6.372,11.12,21.2,483000.0\n5.822,15.03,21.2,386400.0\n5.757,17.31,21.2,327600.0\n6.335,16.96,21.2,380100.0\n5.942,16.9,21.2,365400.0\n6.454,14.59,21.2,359100.0\n5.857,21.32,21.2,279300.0\n6.151,18.46,21.2,373800.0\n6.174,24.16,21.2,294000.0\n5.019,34.41,21.2,302400.0\n5.403,26.82,14.7,281400.0\n5.468,26.42,14.7,327600.0\n4.903,29.29,14.7,247800.0\n6.13,27.8,14.7,289800.0\n5.628,16.65,14.7,327600.0\n4.926,29.53,14.7,306600.0\n5.186,28.32,14.7,373800.0\n5.597,21.45,14.7,323400.0\n6.122,14.1,14.7,451500.0\n5.404,13.28,14.7,411600.0\n5.012,12.12,14.7,321300.0\n5.709,15.79,14.7,407400.0\n6.129,15.12,14.7,357000.0\n6.152,15.02,14.7,327600.0\n5.272,16.14,14.7,275100.0\n6.943,4.59,14.7,867300.0\n6.066,6.43,14.7,510300.0\n6.51,7.39,14.7,489300.0\n6.25,5.5,14.7,567000.0\n5.854,11.64,14.7,476700.0\n6.101,9.81,14.7,525000.0\n5.877,12.14,14.7,499800.0\n6.319,11.1,14.7,499800.0\n6.402,11.32,14.7,468300.0\n5.875,14.43,14.7,365400.0\n5.88,12.03,14.7,401100.0\n5.572,14.69,16.6,485100.0\n6.416,9.04,16.6,495600.0\n5.859,9.64,16.6,474600.0\n6.546,5.33,16.6,617400.0\n6.02,10.11,16.6,487200.0\n6.315,6.29,16.6,516600.0\n6.86,6.92,16.6,627900.0\n6.98,5.04,17.8,781200.0\n7.765,7.56,17.8,835800.0\n6.144,9.45,17.8,760200.0\n7.155,4.82,17.8,795900.0\n6.563,5.68,17.8,682500.0\n5.604,13.98,17.8,554400.0\n6.153,13.15,17.8,621600.0\n6.782,6.68,15.2,672000.0\n6.556,4.56,15.2,625800.0\n7.185,5.39,15.2,732900.0\n6.951,5.1,15.2,777000.0\n6.739,4.69,15.2,640500.0\n7.178,2.87,15.2,764400.0\n6.8,5.03,15.6,653100.0\n6.604,4.38,15.6,611100.0\n7.287,4.08,12.6,699300.0\n7.107,8.61,12.6,636300.0\n7.274,6.62,12.6,726600.0\n6.975,4.56,17.0,732900.0\n7.135,4.45,17.0,690900.0\n6.162,7.43,14.7,506100.0\n7.61,3.11,14.7,888300.0\n7.853,3.81,14.7,1018500.0\n5.891,10.87,18.6,474600.0\n6.326,10.97,18.6,512400.0\n5.783,18.06,18.6,472500.0\n6.064,14.66,18.6,512400.0\n5.344,23.09,18.6,420000.0\n5.96,17.27,18.6,455700.0\n5.404,23.98,18.6,405300.0\n5.807,16.03,18.6,470400.0\n6.375,9.38,18.6,590100.0\n5.412,29.55,18.6,497700.0\n6.182,9.47,18.6,525000.0\n5.888,13.51,16.4,489300.0\n6.642,9.69,16.4,602700.0\n5.951,17.92,16.4,451500.0\n6.373,10.5,16.4,483000.0\n6.951,9.71,17.4,560700.0\n6.164,21.46,17.4,455700.0\n6.879,9.93,17.4,577500.0\n6.618,7.6,17.4,632100.0\n8.266,4.14,17.4,940800.0\n8.04,3.13,17.4,789600.0\n7.163,6.36,17.4,663600.0\n7.686,3.92,17.4,980700.0\n6.552,3.76,17.4,661500.0\n5.981,11.65,17.4,510300.0\n7.412,5.25,17.4,665700.0\n8.337,2.47,17.4,875700.0\n8.247,3.95,17.4,1014300.0\n6.726,8.05,17.4,609000.0\n6.086,10.88,17.4,504000.0\n6.631,9.54,17.4,527100.0\n7.358,4.73,17.4,661500.0\n6.481,6.36,16.6,497700.0\n6.606,7.37,16.6,489300.0\n6.897,11.38,16.6,462000.0\n6.095,12.4,16.6,422100.0\n6.358,11.22,16.6,466200.0\n6.393,5.19,16.6,497700.0\n5.593,12.5,19.1,369600.0\n5.605,18.46,19.1,388500.0\n6.108,9.16,19.1,510300.0\n6.226,10.15,19.1,430500.0\n6.433,9.52,19.1,514500.0\n6.718,6.56,19.1,550200.0\n6.487,5.9,19.1,512400.0\n6.438,3.59,19.1,520800.0\n6.957,3.53,19.1,621600.0\n8.259,3.54,19.1,898800.0\n6.108,6.57,16.4,459900.0\n5.876,9.25,16.4,438900.0\n7.454,3.11,15.9,924000.0\n7.333,7.79,13.0,756000.0\n6.842,6.9,13.0,632100.0\n7.203,9.59,13.0,709800.0\n7.52,7.26,13.0,905100.0\n8.398,5.91,13.0,1024800.0\n7.327,11.25,13.0,651000.0\n7.206,8.1,13.0,766500.0\n5.56,10.45,13.0,478800.0\n7.014,14.79,13.0,644700.0\n7.47,3.16,13.0,913500.0\n5.92,13.65,18.6,434700.0\n5.856,13.0,18.6,443100.0\n6.24,6.59,18.6,529200.0\n6.538,7.73,18.6,512400.0\n7.691,6.58,18.6,739200.0\n6.758,3.53,17.6,680400.0\n6.854,2.98,17.6,672000.0\n7.267,6.05,17.6,697200.0\n6.826,4.16,17.6,695100.0\n6.482,7.19,17.6,611100.0\n6.812,4.85,14.9,737100.0\n7.82,3.76,14.9,953400.0\n6.968,4.59,14.9,743400.0\n7.645,3.01,14.9,966000.0\n7.088,7.85,15.3,676200.0\n6.453,8.23,15.3,462000.0\n6.23,12.93,18.2,422100.0\n6.209,7.14,16.6,487200.0\n6.315,7.6,16.6,468300.0\n6.565,9.51,16.6,520800.0\n6.861,3.33,19.2,598500.0\n7.148,3.56,19.2,783300.0\n6.63,4.7,19.2,585900.0\n6.127,8.58,16.0,501900.0\n6.009,10.4,16.0,455700.0\n6.678,6.27,16.0,600600.0\n6.549,7.39,16.0,569100.0\n5.79,15.84,16.0,426300.0\n6.345,4.97,14.8,472500.0\n7.041,4.74,14.8,609000.0\n6.871,6.07,14.8,520800.0\n6.59,9.5,16.1,462000.0\n6.495,8.67,16.1,554400.0\n6.982,4.86,16.1,695100.0\n7.236,6.93,18.4,758100.0\n6.616,8.93,18.4,596400.0\n7.42,6.47,18.4,701400.0\n6.849,7.53,18.4,592200.0\n6.635,4.54,18.4,478800.0\n5.972,9.97,18.4,426300.0\n4.973,12.64,18.4,338100.0\n6.122,5.98,18.4,464100.0\n6.023,11.72,18.4,407400.0\n6.266,7.9,18.4,453600.0\n6.567,9.28,18.4,499800.0\n5.705,11.5,18.4,340200.0\n5.914,18.33,18.4,373800.0\n5.782,15.94,18.4,415800.0\n6.382,10.36,18.4,485100.0\n6.113,12.73,18.4,441000.0\n6.426,7.2,19.6,499800.0\n6.376,6.87,19.6,485100.0\n6.041,7.7,19.6,428400.0\n5.708,11.74,19.6,388500.0\n6.415,6.12,19.6,525000.0\n6.431,5.08,19.6,516600.0\n6.312,6.15,19.6,483000.0\n6.083,12.79,19.6,466200.0\n5.868,9.97,16.9,405300.0\n6.333,7.34,16.9,474600.0\n6.144,9.09,16.9,415800.0\n5.706,12.43,16.9,359100.0\n6.031,7.83,16.9,407400.0\n6.316,5.68,20.2,466200.0\n6.31,6.75,20.2,434700.0\n6.037,8.01,20.2,443100.0\n5.869,9.8,20.2,409500.0\n5.895,10.56,20.2,388500.0\n6.059,8.51,20.2,432600.0\n5.985,9.74,20.2,399000.0\n5.968,9.29,20.2,392700.0\n7.241,5.49,15.5,686700.0\n6.54,8.65,15.9,346500.0\n6.696,7.18,17.6,501900.0\n6.874,4.61,17.6,655200.0\n6.014,10.53,18.8,367500.0\n5.898,12.67,18.8,361200.0\n6.516,6.36,17.9,485100.0\n6.635,5.99,17.0,514500.0\n6.939,5.89,19.7,558600.0\n6.49,5.98,19.7,480900.0\n6.579,5.49,18.3,506100.0\n5.884,7.79,18.3,390600.0\n6.728,4.5,17.0,632100.0\n5.663,8.05,22.0,382200.0\n5.936,5.57,22.0,432600.0\n6.212,17.6,20.2,373800.0\n6.395,13.27,20.2,455700.0\n6.127,11.48,20.2,476700.0\n6.112,12.67,20.2,474600.0\n6.398,7.79,20.2,525000.0\n6.251,14.19,20.2,417900.0\n5.362,10.19,20.2,436800.0\n5.803,14.64,20.2,352800.0\n3.561,7.12,20.2,577500.0\n4.963,14.0,20.2,459900.0\n3.863,13.33,20.2,485100.0\n4.906,34.77,20.2,289800.0\n4.138,37.97,20.2,289800.0\n7.313,13.44,20.2,315000.0\n6.649,23.24,20.2,291900.0\n6.794,21.24,20.2,279300.0\n6.38,23.69,20.2,275100.0\n6.223,21.78,20.2,214200.0\n6.968,17.21,20.2,218400.0\n6.545,21.08,20.2,228900.0\n5.536,23.6,20.2,237300.0\n5.52,24.56,20.2,258300.0\n4.368,30.63,20.2,184800.0\n5.277,30.81,20.2,151200.0\n4.652,28.28,20.2,220500.0\n5.0,31.99,20.2,155400.0\n4.88,30.62,20.2,214200.0\n5.39,20.85,20.2,241500.0\n5.713,17.11,20.2,317100.0\n6.051,18.76,20.2,487200.0\n5.036,25.68,20.2,203700.0\n6.193,15.17,20.2,289800.0\n5.887,16.35,20.2,266700.0\n6.471,17.12,20.2,275100.0\n6.405,19.37,20.2,262500.0\n5.747,19.92,20.2,178500.0\n5.453,30.59,20.2,105000.0\n5.852,29.97,20.2,132300.0\n5.987,26.77,20.2,117600.0\n6.343,20.32,20.2,151200.0\n6.404,20.31,20.2,254100.0\n5.349,19.77,20.2,174300.0\n5.531,27.38,20.2,178500.0\n5.683,22.98,20.2,105000.0\n4.138,23.34,20.2,249900.0\n5.608,12.13,20.2,585900.0\n5.617,26.4,20.2,361200.0\n6.852,19.78,20.2,577500.0\n5.757,10.11,20.2,315000.0\n6.657,21.22,20.2,361200.0\n4.628,34.37,20.2,375900.0\n5.155,20.08,20.2,342300.0\n4.519,36.98,20.2,147000.0\n6.434,29.05,20.2,151200.0\n6.782,25.79,20.2,157500.0\n5.304,26.64,20.2,218400.0\n5.957,20.62,20.2,184800.0\n6.824,22.74,20.2,176400.0\n6.411,15.02,20.2,350700.0\n6.006,15.7,20.2,298200.0\n5.648,14.1,20.2,436800.0\n6.103,23.29,20.2,281400.0\n5.565,17.16,20.2,245700.0\n5.896,24.39,20.2,174300.0\n5.837,15.69,20.2,214200.0\n6.202,14.52,20.2,228900.0\n6.193,21.52,20.2,231000.0\n6.38,24.08,20.2,199500.0\n6.348,17.64,20.2,304500.0\n6.833,19.69,20.2,296100.0\n6.425,12.03,20.2,338100.0\n6.436,16.22,20.2,300300.0\n6.208,15.17,20.2,245700.0\n6.629,23.27,20.2,281400.0\n6.461,18.05,20.2,201600.0\n6.152,26.45,20.2,182700.0\n5.935,34.02,20.2,176400.0\n5.627,22.88,20.2,268800.0\n5.818,22.11,20.2,220500.0\n6.406,19.52,20.2,359100.0\n6.219,16.59,20.2,386400.0\n6.485,18.85,20.2,323400.0\n5.854,23.79,20.2,226800.0\n6.459,23.98,20.2,247800.0\n6.341,17.79,20.2,312900.0\n6.251,16.44,20.2,264600.0\n6.185,18.13,20.2,296100.0\n6.417,19.31,20.2,273000.0\n6.749,17.44,20.2,281400.0\n6.655,17.73,20.2,319200.0\n6.297,17.27,20.2,338100.0\n7.393,16.74,20.2,373800.0\n6.728,18.71,20.2,312900.0\n6.525,18.13,20.2,296100.0\n5.976,19.01,20.2,266700.0\n5.936,16.94,20.2,283500.0\n6.301,16.23,20.2,312900.0\n6.081,14.7,20.2,420000.0\n6.701,16.42,20.2,344400.0\n6.376,14.65,20.2,371700.0\n6.317,13.99,20.2,409500.0\n6.513,10.29,20.2,424200.0\n6.209,13.22,20.2,449400.0\n5.759,14.13,20.2,417900.0\n5.952,17.15,20.2,399000.0\n6.003,21.32,20.2,401100.0\n5.926,18.13,20.2,401100.0\n5.713,14.76,20.2,422100.0\n6.167,16.29,20.2,417900.0\n6.229,12.87,20.2,411600.0\n6.437,14.36,20.2,487200.0\n6.98,11.66,20.2,625800.0\n5.427,18.14,20.2,289800.0\n6.162,24.1,20.2,279300.0\n6.484,18.68,20.2,350700.0\n5.304,24.91,20.2,252000.0\n6.185,18.03,20.2,306600.0\n6.229,13.11,20.2,449400.0\n6.242,10.74,20.2,483000.0\n6.75,7.74,20.2,497700.0\n7.061,7.01,20.2,525000.0\n5.762,10.42,20.2,457800.0\n5.871,13.34,20.2,432600.0\n6.312,10.58,20.2,445200.0\n6.114,14.98,20.2,401100.0\n5.905,11.45,20.2,432600.0\n5.454,18.06,20.1,319200.0\n5.414,23.97,20.1,147000.0\n5.093,29.68,20.1,170100.0\n5.983,18.07,20.1,285600.0\n5.983,13.35,20.1,422100.0\n5.707,12.01,19.2,457800.0\n5.926,13.59,19.2,514500.0\n5.67,17.6,19.2,485100.0\n5.39,21.14,19.2,413700.0\n5.794,14.1,19.2,384300.0\n6.019,12.92,19.2,445200.0\n5.569,15.1,19.2,367500.0\n6.027,14.33,19.2,352800.0\n6.593,9.67,21.0,470400.0\n6.12,9.08,21.0,432600.0\n6.976,5.64,21.0,501900.0\n6.794,6.48,21.0,462000.0\n6.03,7.88,21.0,249900.0\n"
  },
  {
    "path": "p1-boston-housing/report.html",
    "content": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>boston_housing</title>\n\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>\n\n<style type=\"text/css\">\n    /*!\n*\n* Twitter Bootstrap\n*\n*/\n/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #000;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 3px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 18px;\n  margin-bottom: 18px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 18px;\n  margin-bottom: 9px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 33px;\n}\nh2,\n.h2 {\n  font-size: 27px;\n}\nh3,\n.h3 {\n  font-size: 23px;\n}\nh4,\n.h4 {\n  font-size: 17px;\n}\nh5,\n.h5 {\n  font-size: 13px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 9px;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 14px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 19.5px;\n  }\n}\nsmall,\n.small {\n  font-size: 92%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 8px;\n  margin: 36px 0 18px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 9px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 18px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 541px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 9px 18px;\n  margin: 0 0 18px;\n  font-size: inherit;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 18px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 2px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #888;\n  background-color: transparent;\n  border-radius: 1px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 768px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 940px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1140px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 18px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 13.5px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 18px;\n  font-size: 19.5px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 32px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 45px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 18px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 31px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 30px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.form-group-lg select.form-control {\n  height: 45px;\n  line-height: 45px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 45px;\n  min-height: 35px;\n  padding: 11px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 40px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 45px;\n  height: 45px;\n  line-height: 45px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 23px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #404040;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 25px;\n}\n.form-horizontal .form-group {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 17px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  border-radius: 2px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 13px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 541px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 1px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 17px;\n  border-radius: 3px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 2px 2px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 2px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 30px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n}\n@media (min-width: 541px) {\n  .navbar {\n    border-radius: 2px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 0px;\n  padding-left: 0px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 541px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 540px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: 0px;\n  margin-left: 0px;\n}\n@media (min-width: 541px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 541px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 541px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 6px 0px;\n  font-size: 17px;\n  line-height: 18px;\n  height: 30px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 541px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: 0px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 0px;\n  padding: 9px 10px;\n  margin-top: -2px;\n  margin-bottom: -2px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 541px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 3px 0px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 18px;\n}\n@media (max-width: 540px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 18px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 6px;\n    padding-bottom: 6px;\n  }\n}\n.navbar-form {\n  margin-left: 0px;\n  margin-right: 0px;\n  padding: 10px 0px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 540px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 0px;\n  margin-bottom: 0px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 4px;\n  margin-bottom: 4px;\n}\n.navbar-text {\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n@media (min-width: 541px) {\n  .navbar-text {\n    float: left;\n    margin-left: 0px;\n    margin-right: 0px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-left {\n    float: left !important;\n    float: left;\n  }\n  .navbar-right {\n    float: right !important;\n    float: right;\n    margin-right: 0px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 540px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 540px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 18px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #5e5e5e;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 18px 0;\n  border-radius: 2px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 2px;\n  border-top-right-radius: 2px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.pager {\n  padding-left: 0;\n  margin: 18px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 20px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 3px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 59px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 18px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #000;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 18px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 18px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 2px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 15px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 1px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 1px;\n  border-bottom-right-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 1px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 18px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 2px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 3px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 1px;\n}\n.close {\n  float: right;\n  font-size: 19.5px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 2px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 13px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 13px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 2px 2px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.item_buttons:before,\n.item_buttons:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after,\n.item_buttons:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*!\n*\n* Font Awesome\n*\n*/\n/*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eee;\n  border-radius: .1em;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n/*!\n*\n* IPython base\n*\n*/\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\ncode {\n  color: #000;\n}\npre {\n  font-size: inherit;\n  line-height: inherit;\n}\nlabel {\n  font-weight: normal;\n}\n/* Make the page background atleast 100% the height of the view port */\n/* Make the page itself atleast 70% the height of the view port */\n.border-box-sizing {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.corner-all {\n  border-radius: 2px;\n}\n.no-padding {\n  padding: 0px;\n}\n/* Flexible box model classes */\n/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */\n/* This file is a compatability layer.  It allows the usage of flexible box \nmodel layouts accross multiple browsers, including older browsers.  The newest,\nuniversal implementation of the flexible box model is used when available (see\n`Modern browsers` comments below).  Browsers that are known to implement this \nnew spec completely include:\n\n    Firefox 28.0+\n    Chrome 29.0+\n    Internet Explorer 11+ \n    Opera 17.0+\n\nBrowsers not listed, including Safari, are supported via the styling under the\n`Old browsers` comments below.\n*/\n.hbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n.hbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.vbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n.vbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.hbox.reverse,\n.vbox.reverse,\n.reverse {\n  /* Old browsers */\n  -webkit-box-direction: reverse;\n  -moz-box-direction: reverse;\n  box-direction: reverse;\n  /* Modern browsers */\n  flex-direction: row-reverse;\n}\n.hbox.box-flex0,\n.vbox.box-flex0,\n.box-flex0 {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n  width: auto;\n}\n.hbox.box-flex1,\n.vbox.box-flex1,\n.box-flex1 {\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex,\n.vbox.box-flex,\n.box-flex {\n  /* Old browsers */\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex2,\n.vbox.box-flex2,\n.box-flex2 {\n  /* Old browsers */\n  -webkit-box-flex: 2;\n  -moz-box-flex: 2;\n  box-flex: 2;\n  /* Modern browsers */\n  flex: 2;\n}\n.box-group1 {\n  /*  Deprecated */\n  -webkit-box-flex-group: 1;\n  -moz-box-flex-group: 1;\n  box-flex-group: 1;\n}\n.box-group2 {\n  /* Deprecated */\n  -webkit-box-flex-group: 2;\n  -moz-box-flex-group: 2;\n  box-flex-group: 2;\n}\n.hbox.start,\n.vbox.start,\n.start {\n  /* Old browsers */\n  -webkit-box-pack: start;\n  -moz-box-pack: start;\n  box-pack: start;\n  /* Modern browsers */\n  justify-content: flex-start;\n}\n.hbox.end,\n.vbox.end,\n.end {\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n}\n.hbox.center,\n.vbox.center,\n.center {\n  /* Old browsers */\n  -webkit-box-pack: center;\n  -moz-box-pack: center;\n  box-pack: center;\n  /* Modern browsers */\n  justify-content: center;\n}\n.hbox.baseline,\n.vbox.baseline,\n.baseline {\n  /* Old browsers */\n  -webkit-box-pack: baseline;\n  -moz-box-pack: baseline;\n  box-pack: baseline;\n  /* Modern browsers */\n  justify-content: baseline;\n}\n.hbox.stretch,\n.vbox.stretch,\n.stretch {\n  /* Old browsers */\n  -webkit-box-pack: stretch;\n  -moz-box-pack: stretch;\n  box-pack: stretch;\n  /* Modern browsers */\n  justify-content: stretch;\n}\n.hbox.align-start,\n.vbox.align-start,\n.align-start {\n  /* Old browsers */\n  -webkit-box-align: start;\n  -moz-box-align: start;\n  box-align: start;\n  /* Modern browsers */\n  align-items: flex-start;\n}\n.hbox.align-end,\n.vbox.align-end,\n.align-end {\n  /* Old browsers */\n  -webkit-box-align: end;\n  -moz-box-align: end;\n  box-align: end;\n  /* Modern browsers */\n  align-items: flex-end;\n}\n.hbox.align-center,\n.vbox.align-center,\n.align-center {\n  /* Old browsers */\n  -webkit-box-align: center;\n  -moz-box-align: center;\n  box-align: center;\n  /* Modern browsers */\n  align-items: center;\n}\n.hbox.align-baseline,\n.vbox.align-baseline,\n.align-baseline {\n  /* Old browsers */\n  -webkit-box-align: baseline;\n  -moz-box-align: baseline;\n  box-align: baseline;\n  /* Modern browsers */\n  align-items: baseline;\n}\n.hbox.align-stretch,\n.vbox.align-stretch,\n.align-stretch {\n  /* Old browsers */\n  -webkit-box-align: stretch;\n  -moz-box-align: stretch;\n  box-align: stretch;\n  /* Modern browsers */\n  align-items: stretch;\n}\ndiv.error {\n  margin: 2em;\n  text-align: center;\n}\ndiv.error > h1 {\n  font-size: 500%;\n  line-height: normal;\n}\ndiv.error > p {\n  font-size: 200%;\n  line-height: normal;\n}\ndiv.traceback-wrapper {\n  text-align: left;\n  max-width: 800px;\n  margin: auto;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nbody {\n  background-color: #fff;\n  /* This makes sure that the body covers the entire window and needs to\n       be in a different element than the display: box in wrapper below */\n  position: absolute;\n  left: 0px;\n  right: 0px;\n  top: 0px;\n  bottom: 0px;\n  overflow: visible;\n}\nbody > #header {\n  /* Initially hidden to prevent FLOUC */\n  display: none;\n  background-color: #fff;\n  /* Display over codemirror */\n  position: relative;\n  z-index: 100;\n}\nbody > #header #header-container {\n  padding-bottom: 5px;\n  padding-top: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\nbody > #header .header-bar {\n  width: 100%;\n  height: 1px;\n  background: #e7e7e7;\n  margin-bottom: -1px;\n}\n@media print {\n  body > #header {\n    display: none !important;\n  }\n}\n#header-spacer {\n  width: 100%;\n  visibility: hidden;\n}\n@media print {\n  #header-spacer {\n    display: none;\n  }\n}\n#ipython_notebook {\n  padding-left: 0px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n@media (max-width: 991px) {\n  #ipython_notebook {\n    margin-left: 10px;\n  }\n}\n#noscript {\n  width: auto;\n  padding-top: 16px;\n  padding-bottom: 16px;\n  text-align: center;\n  font-size: 22px;\n  color: red;\n  font-weight: bold;\n}\n#ipython_notebook img {\n  height: 28px;\n}\n#site {\n  width: 100%;\n  display: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  overflow: auto;\n}\n@media print {\n  #site {\n    height: auto !important;\n  }\n}\n/* Smaller buttons */\n.ui-button .ui-button-text {\n  padding: 0.2em 0.8em;\n  font-size: 77%;\n}\ninput.ui-button {\n  padding: 0.3em 0.9em;\n}\nspan#login_widget {\n  float: right;\n}\nspan#login_widget > .button,\n#logout {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button:focus,\n#logout:focus,\nspan#login_widget > .button.focus,\n#logout.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:hover,\n#logout:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active:hover,\n#logout:active:hover,\nspan#login_widget > .button.active:hover,\n#logout.active:hover,\n.open > .dropdown-togglespan#login_widget > .button:hover,\n.open > .dropdown-toggle#logout:hover,\nspan#login_widget > .button:active:focus,\n#logout:active:focus,\nspan#login_widget > .button.active:focus,\n#logout.active:focus,\n.open > .dropdown-togglespan#login_widget > .button:focus,\n.open > .dropdown-toggle#logout:focus,\nspan#login_widget > .button:active.focus,\n#logout:active.focus,\nspan#login_widget > .button.active.focus,\n#logout.active.focus,\n.open > .dropdown-togglespan#login_widget > .button.focus,\n.open > .dropdown-toggle#logout.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  background-image: none;\n}\nspan#login_widget > .button.disabled:hover,\n#logout.disabled:hover,\nspan#login_widget > .button[disabled]:hover,\n#logout[disabled]:hover,\nfieldset[disabled] span#login_widget > .button:hover,\nfieldset[disabled] #logout:hover,\nspan#login_widget > .button.disabled:focus,\n#logout.disabled:focus,\nspan#login_widget > .button[disabled]:focus,\n#logout[disabled]:focus,\nfieldset[disabled] span#login_widget > .button:focus,\nfieldset[disabled] #logout:focus,\nspan#login_widget > .button.disabled.focus,\n#logout.disabled.focus,\nspan#login_widget > .button[disabled].focus,\n#logout[disabled].focus,\nfieldset[disabled] span#login_widget > .button.focus,\nfieldset[disabled] #logout.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button .badge,\n#logout .badge {\n  color: #fff;\n  background-color: #333;\n}\n.nav-header {\n  text-transform: none;\n}\n#header > span {\n  margin-top: 10px;\n}\n.modal_stretch .modal-dialog {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  min-height: 80vh;\n}\n.modal_stretch .modal-dialog .modal-body {\n  max-height: calc(100vh - 200px);\n  overflow: auto;\n  flex: 1;\n}\n@media (min-width: 768px) {\n  .modal .modal-dialog {\n    width: 700px;\n  }\n}\n@media (min-width: 768px) {\n  select.form-control {\n    margin-left: 12px;\n    margin-right: 12px;\n  }\n}\n/*!\n*\n* IPython auth\n*\n*/\n.center-nav {\n  display: inline-block;\n  margin-bottom: -4px;\n}\n/*!\n*\n* IPython tree view\n*\n*/\n/* We need an invisible input field on top of the sentense*/\n/* \"Drag file onto the list ...\" */\n.alternate_upload {\n  background-color: none;\n  display: inline;\n}\n.alternate_upload.form {\n  padding: 0;\n  margin: 0;\n}\n.alternate_upload input.fileinput {\n  text-align: center;\n  vertical-align: middle;\n  display: inline;\n  opacity: 0;\n  z-index: 2;\n  width: 12ex;\n  margin-right: -12ex;\n}\n.alternate_upload .btn-upload {\n  height: 22px;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nul#tabs {\n  margin-bottom: 4px;\n}\nul#tabs a {\n  padding-top: 6px;\n  padding-bottom: 4px;\n}\nul.breadcrumb a:focus,\nul.breadcrumb a:hover {\n  text-decoration: none;\n}\nul.breadcrumb i.icon-home {\n  font-size: 16px;\n  margin-right: 4px;\n}\nul.breadcrumb span {\n  color: #5e5e5e;\n}\n.list_toolbar {\n  padding: 4px 0 4px 0;\n  vertical-align: middle;\n}\n.list_toolbar .tree-buttons {\n  padding-top: 1px;\n}\n.dynamic-buttons {\n  padding-top: 3px;\n  display: inline-block;\n}\n.list_toolbar [class*=\"span\"] {\n  min-height: 24px;\n}\n.list_header {\n  font-weight: bold;\n  background-color: #EEE;\n}\n.list_placeholder {\n  font-weight: bold;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n.list_container {\n  margin-top: 4px;\n  margin-bottom: 20px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n}\n.list_container > div {\n  border-bottom: 1px solid #ddd;\n}\n.list_container > div:hover .list-item {\n  background-color: red;\n}\n.list_container > div:last-child {\n  border: none;\n}\n.list_item:hover .list_item {\n  background-color: #ddd;\n}\n.list_item a {\n  text-decoration: none;\n}\n.list_item:hover {\n  background-color: #fafafa;\n}\n.list_header > div,\n.list_item > div {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n.list_header > div input,\n.list_item > div input {\n  margin-right: 7px;\n  margin-left: 14px;\n  vertical-align: baseline;\n  line-height: 22px;\n  position: relative;\n  top: -1px;\n}\n.list_header > div .item_link,\n.list_item > div .item_link {\n  margin-left: -1px;\n  vertical-align: baseline;\n  line-height: 22px;\n}\n.new-file input[type=checkbox] {\n  visibility: hidden;\n}\n.item_name {\n  line-height: 22px;\n  height: 24px;\n}\n.item_icon {\n  font-size: 14px;\n  color: #5e5e5e;\n  margin-right: 7px;\n  margin-left: 7px;\n  line-height: 22px;\n  vertical-align: baseline;\n}\n.item_buttons {\n  line-height: 1em;\n  margin-left: -5px;\n}\n.item_buttons .btn,\n.item_buttons .btn-group,\n.item_buttons .input-group {\n  float: left;\n}\n.item_buttons > .btn,\n.item_buttons > .btn-group,\n.item_buttons > .input-group {\n  margin-left: 5px;\n}\n.item_buttons .btn {\n  min-width: 13ex;\n}\n.item_buttons .running-indicator {\n  padding-top: 4px;\n  color: #5cb85c;\n}\n.item_buttons .kernel-name {\n  padding-top: 4px;\n  color: #5bc0de;\n  margin-right: 7px;\n  float: left;\n}\n.toolbar_info {\n  height: 24px;\n  line-height: 24px;\n}\n.list_item input:not([type=checkbox]) {\n  padding-top: 3px;\n  padding-bottom: 3px;\n  height: 22px;\n  line-height: 14px;\n  margin: 0px;\n}\n.highlight_text {\n  color: blue;\n}\n#project_name {\n  display: inline-block;\n  padding-left: 7px;\n  margin-left: -2px;\n}\n#project_name > .breadcrumb {\n  padding: 0px;\n  margin-bottom: 0px;\n  background-color: transparent;\n  font-weight: bold;\n}\n#tree-selector {\n  padding-right: 0px;\n}\n#button-select-all {\n  min-width: 50px;\n}\n#select-all {\n  margin-left: 7px;\n  margin-right: 2px;\n}\n.menu_icon {\n  margin-right: 2px;\n}\n.tab-content .row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.folder_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f114\";\n}\n.folder_icon:before.pull-left {\n  margin-right: .3em;\n}\n.folder_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n}\n.notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.running_notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n  color: #5cb85c;\n}\n.running_notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.running_notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.file_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f016\";\n  position: relative;\n  top: -2px;\n}\n.file_icon:before.pull-left {\n  margin-right: .3em;\n}\n.file_icon:before.pull-right {\n  margin-left: .3em;\n}\n#notebook_toolbar .pull-right {\n  padding-top: 0px;\n  margin-right: -1px;\n}\nul#new-menu {\n  left: auto;\n  right: 0;\n}\n.kernel-menu-icon {\n  padding-right: 12px;\n  width: 24px;\n  content: \"\\f096\";\n}\n.kernel-menu-icon:before {\n  content: \"\\f096\";\n}\n.kernel-menu-icon-current:before {\n  content: \"\\f00c\";\n}\n#tab_content {\n  padding-top: 20px;\n}\n#running .panel-group .panel {\n  margin-top: 3px;\n  margin-bottom: 1em;\n}\n#running .panel-group .panel .panel-heading {\n  background-color: #EEE;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n#running .panel-group .panel .panel-heading a:focus,\n#running .panel-group .panel .panel-heading a:hover {\n  text-decoration: none;\n}\n#running .panel-group .panel .panel-body {\n  padding: 0px;\n}\n#running .panel-group .panel .panel-body .list_container {\n  margin-top: 0px;\n  margin-bottom: 0px;\n  border: 0px;\n  border-radius: 0px;\n}\n#running .panel-group .panel .panel-body .list_container .list_item {\n  border-bottom: 1px solid #ddd;\n}\n#running .panel-group .panel .panel-body .list_container .list_item:last-child {\n  border-bottom: 0px;\n}\n.delete-button {\n  display: none;\n}\n.duplicate-button {\n  display: none;\n}\n.rename-button {\n  display: none;\n}\n.shutdown-button {\n  display: none;\n}\n.dynamic-instructions {\n  display: inline-block;\n  padding-top: 4px;\n}\n/*!\n*\n* IPython text editor webapp\n*\n*/\n.selected-keymap i.fa {\n  padding: 0px 5px;\n}\n.selected-keymap i.fa:before {\n  content: \"\\f00c\";\n}\n#mode-menu {\n  overflow: auto;\n  max-height: 20em;\n}\n.edit_app #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.edit_app #menubar .navbar {\n  /* Use a negative 1 bottom margin, so the border overlaps the border of the\n    header */\n  margin-bottom: -1px;\n}\n.dirty-indicator {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-dirty {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-dirty.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-dirty.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-clean.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f00c\";\n}\n.dirty-indicator-clean:before.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean:before.pull-right {\n  margin-left: .3em;\n}\n#filename {\n  font-size: 16pt;\n  display: table;\n  padding: 0px 5px;\n}\n#current-mode {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#texteditor-backdrop {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n@media not print {\n  #texteditor-backdrop {\n    background-color: #EEE;\n  }\n}\n@media print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container {\n    padding: 0px;\n    background-color: #fff;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n/*!\n*\n* IPython notebook\n*\n*/\n/* CSS font colors for translated ANSI colors. */\n.ansibold {\n  font-weight: bold;\n}\n/* use dark versions for foreground, to improve visibility */\n.ansiblack {\n  color: black;\n}\n.ansired {\n  color: darkred;\n}\n.ansigreen {\n  color: darkgreen;\n}\n.ansiyellow {\n  color: #c4a000;\n}\n.ansiblue {\n  color: darkblue;\n}\n.ansipurple {\n  color: darkviolet;\n}\n.ansicyan {\n  color: steelblue;\n}\n.ansigray {\n  color: gray;\n}\n/* and light for background, for the same reason */\n.ansibgblack {\n  background-color: black;\n}\n.ansibgred {\n  background-color: red;\n}\n.ansibggreen {\n  background-color: green;\n}\n.ansibgyellow {\n  background-color: yellow;\n}\n.ansibgblue {\n  background-color: blue;\n}\n.ansibgpurple {\n  background-color: magenta;\n}\n.ansibgcyan {\n  background-color: cyan;\n}\n.ansibggray {\n  background-color: gray;\n}\ndiv.cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  border-radius: 2px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  border-width: 1px;\n  border-style: solid;\n  border-color: transparent;\n  width: 100%;\n  padding: 5px;\n  /* This acts as a spacer between cells, that is outside the border */\n  margin: 0px;\n  outline: none;\n  border-left-width: 1px;\n  padding-left: 5px;\n  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);\n}\ndiv.cell.jupyter-soft-selected {\n  border-left-color: #90CAF9;\n  border-left-color: #E3F2FD;\n  border-left-width: 1px;\n  padding-left: 5px;\n  border-right-color: #E3F2FD;\n  border-right-width: 1px;\n  background: #E3F2FD;\n}\n@media print {\n  div.cell.jupyter-soft-selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected {\n  border-color: #ababab;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  div.cell.selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected.jupyter-soft-selected {\n  border-left-width: 0;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);\n}\n.edit_mode div.cell.selected {\n  border-color: #66BB6A;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  .edit_mode div.cell.selected {\n    border-color: transparent;\n  }\n}\n.prompt {\n  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */\n  min-width: 14ex;\n  /* This padding is tuned to match the padding on the CodeMirror editor. */\n  padding: 0.4em;\n  margin: 0px;\n  font-family: monospace;\n  text-align: right;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n  /* Don't highlight prompt number selection */\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  /* Use default cursor */\n  cursor: default;\n}\n@media (max-width: 540px) {\n  .prompt {\n    text-align: left;\n  }\n}\ndiv.inner_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n@-moz-document url-prefix() {\n  div.inner_cell {\n    overflow-x: hidden;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_area {\n  border: 1px solid #cfcfcf;\n  border-radius: 2px;\n  background: #f7f7f7;\n  line-height: 1.21429em;\n}\n/* This is needed so that empty prompt areas can collapse to zero height when there\n   is no content in the output_subarea and the prompt. The main purpose of this is\n   to make sure that empty JavaScript output_subareas have no height. */\ndiv.prompt:empty {\n  padding-top: 0;\n  padding-bottom: 0;\n}\ndiv.unrecognized_cell {\n  padding: 5px 5px 5px 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.unrecognized_cell .inner_cell {\n  border-radius: 2px;\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n  border: 1px solid #cfcfcf;\n  background: #eaeaea;\n}\ndiv.unrecognized_cell .inner_cell a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.unrecognized_cell .inner_cell a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n@media (max-width: 540px) {\n  div.unrecognized_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.code_cell {\n  /* avoid page breaking on code cells when printing */\n}\n@media print {\n  div.code_cell {\n    page-break-inside: avoid;\n  }\n}\n/* any special styling for code cells that are currently running goes here */\ndiv.input {\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.input {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_prompt {\n  color: #303F9F;\n  border-top: 1px solid transparent;\n}\ndiv.input_area > div.highlight {\n  margin: 0.4em;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\ndiv.input_area > div.highlight > pre {\n  margin: 0px;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\n/* The following gets added to the <head> if it is detected that the user has a\n * monospace font with inconsistent normal/bold/italic height.  See\n * notebookmain.js.  Such fonts will have keywords vertically offset with\n * respect to the rest of the text.  The user should select a better font.\n * See: https://github.com/ipython/ipython/issues/1503\n *\n * .CodeMirror span {\n *      vertical-align: bottom;\n * }\n */\n.CodeMirror {\n  line-height: 1.21429em;\n  /* Changed from 1em to our global default */\n  font-size: 14px;\n  height: auto;\n  /* Changed to auto to autogrow */\n  background: none;\n  /* Changed from white to allow our bg to show through */\n}\n.CodeMirror-scroll {\n  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/\n  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/\n  overflow-y: hidden;\n  overflow-x: auto;\n}\n.CodeMirror-lines {\n  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */\n  /* we have set a different line-height and want this to scale with that. */\n  padding: 0.4em;\n}\n.CodeMirror-linenumber {\n  padding: 0 8px 0 4px;\n}\n.CodeMirror-gutters {\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.CodeMirror pre {\n  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */\n  /* .CodeMirror-lines */\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n}\n/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\nAdapted from GitHub theme\n\n*/\n.highlight-base {\n  color: #000;\n}\n.highlight-variable {\n  color: #000;\n}\n.highlight-variable-2 {\n  color: #1a1a1a;\n}\n.highlight-variable-3 {\n  color: #333333;\n}\n.highlight-string {\n  color: #BA2121;\n}\n.highlight-comment {\n  color: #408080;\n  font-style: italic;\n}\n.highlight-number {\n  color: #080;\n}\n.highlight-atom {\n  color: #88F;\n}\n.highlight-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.highlight-builtin {\n  color: #008000;\n}\n.highlight-error {\n  color: #f00;\n}\n.highlight-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.highlight-meta {\n  color: #AA22FF;\n}\n/* previously not defined, copying from default codemirror */\n.highlight-def {\n  color: #00f;\n}\n.highlight-string-2 {\n  color: #f50;\n}\n.highlight-qualifier {\n  color: #555;\n}\n.highlight-bracket {\n  color: #997;\n}\n.highlight-tag {\n  color: #170;\n}\n.highlight-attribute {\n  color: #00c;\n}\n.highlight-header {\n  color: blue;\n}\n.highlight-quote {\n  color: #090;\n}\n.highlight-link {\n  color: #00c;\n}\n/* apply the same style to codemirror */\n.cm-s-ipython span.cm-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-atom {\n  color: #88F;\n}\n.cm-s-ipython span.cm-number {\n  color: #080;\n}\n.cm-s-ipython span.cm-def {\n  color: #00f;\n}\n.cm-s-ipython span.cm-variable {\n  color: #000;\n}\n.cm-s-ipython span.cm-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-variable-2 {\n  color: #1a1a1a;\n}\n.cm-s-ipython span.cm-variable-3 {\n  color: #333333;\n}\n.cm-s-ipython span.cm-comment {\n  color: #408080;\n  font-style: italic;\n}\n.cm-s-ipython span.cm-string {\n  color: #BA2121;\n}\n.cm-s-ipython span.cm-string-2 {\n  color: #f50;\n}\n.cm-s-ipython span.cm-meta {\n  color: #AA22FF;\n}\n.cm-s-ipython span.cm-qualifier {\n  color: #555;\n}\n.cm-s-ipython span.cm-builtin {\n  color: #008000;\n}\n.cm-s-ipython span.cm-bracket {\n  color: #997;\n}\n.cm-s-ipython span.cm-tag {\n  color: #170;\n}\n.cm-s-ipython span.cm-attribute {\n  color: #00c;\n}\n.cm-s-ipython span.cm-header {\n  color: blue;\n}\n.cm-s-ipython span.cm-quote {\n  color: #090;\n}\n.cm-s-ipython span.cm-link {\n  color: #00c;\n}\n.cm-s-ipython span.cm-error {\n  color: #f00;\n}\n.cm-s-ipython span.cm-tab {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);\n  background-position: right;\n  background-repeat: no-repeat;\n}\ndiv.output_wrapper {\n  /* this position must be relative to enable descendents to be absolute within it */\n  position: relative;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  z-index: 1;\n}\n/* class for the output area when it should be height-limited */\ndiv.output_scroll {\n  /* ideally, this would be max-height, but FF barfs all over that */\n  height: 24em;\n  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */\n  width: 100%;\n  overflow: auto;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  display: block;\n}\n/* output div while it is collapsed */\ndiv.output_collapsed {\n  margin: 0px;\n  padding: 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\ndiv.out_prompt_overlay {\n  height: 100%;\n  padding: 0px 0.4em;\n  position: absolute;\n  border-radius: 2px;\n}\ndiv.out_prompt_overlay:hover {\n  /* use inner shadow to get border that is computed the same on WebKit/FF */\n  -webkit-box-shadow: inset 0 0 1px #000;\n  box-shadow: inset 0 0 1px #000;\n  background: rgba(240, 240, 240, 0.5);\n}\ndiv.output_prompt {\n  color: #D84315;\n}\n/* This class is the outer container of all output sections. */\ndiv.output_area {\n  padding: 0px;\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.output_area .MathJax_Display {\n  text-align: left !important;\n}\ndiv.output_area .rendered_html table {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area .rendered_html img {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area img,\ndiv.output_area svg {\n  max-width: 100%;\n  height: auto;\n}\ndiv.output_area img.unconfined,\ndiv.output_area svg.unconfined {\n  max-width: none;\n}\n/* This is needed to protect the pre formating from global settings such\n   as that of bootstrap */\n.output {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.output_area {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\ndiv.output_area pre {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  vertical-align: baseline;\n  color: black;\n  background-color: transparent;\n  border-radius: 0;\n}\n/* This class is for the output subarea inside the output_area and after\n   the prompt div. */\ndiv.output_subarea {\n  overflow-x: auto;\n  padding: 0.4em;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n  max-width: calc(100% - 14ex);\n}\ndiv.output_scroll div.output_subarea {\n  overflow-x: visible;\n}\n/* The rest of the output_* classes are for special styling of the different\n   output types */\n/* all text output has this class: */\ndiv.output_text {\n  text-align: left;\n  color: #000;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n}\n/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */\ndiv.output_stderr {\n  background: #fdd;\n  /* very light red background for stderr */\n}\ndiv.output_latex {\n  text-align: left;\n}\n/* Empty output_javascript divs should have no height */\ndiv.output_javascript:empty {\n  padding: 0;\n}\n.js-error {\n  color: darkred;\n}\n/* raw_input styles */\ndiv.raw_input_container {\n  line-height: 1.21429em;\n  padding-top: 5px;\n}\npre.raw_input_prompt {\n  /* nothing needed here. */\n}\ninput.raw_input {\n  font-family: monospace;\n  font-size: inherit;\n  color: inherit;\n  width: auto;\n  /* make sure input baseline aligns with prompt */\n  vertical-align: baseline;\n  /* padding + margin = 0.5em between prompt and cursor */\n  padding: 0em 0.25em;\n  margin: 0em 0.25em;\n}\ninput.raw_input:focus {\n  box-shadow: none;\n}\np.p-space {\n  margin-bottom: 10px;\n}\ndiv.output_unrecognized {\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n}\ndiv.output_unrecognized a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.output_unrecognized a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n.rendered_html {\n  color: #000;\n  /* any extras will just be numbers: */\n}\n.rendered_html em {\n  font-style: italic;\n}\n.rendered_html strong {\n  font-weight: bold;\n}\n.rendered_html u {\n  text-decoration: underline;\n}\n.rendered_html :link {\n  text-decoration: underline;\n}\n.rendered_html :visited {\n  text-decoration: underline;\n}\n.rendered_html h1 {\n  font-size: 185.7%;\n  margin: 1.08em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h2 {\n  font-size: 157.1%;\n  margin: 1.27em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h3 {\n  font-size: 128.6%;\n  margin: 1.55em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h4 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h5 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h6 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h1:first-child {\n  margin-top: 0.538em;\n}\n.rendered_html h2:first-child {\n  margin-top: 0.636em;\n}\n.rendered_html h3:first-child {\n  margin-top: 0.777em;\n}\n.rendered_html h4:first-child {\n  margin-top: 1em;\n}\n.rendered_html h5:first-child {\n  margin-top: 1em;\n}\n.rendered_html h6:first-child {\n  margin-top: 1em;\n}\n.rendered_html ul {\n  list-style: disc;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ul ul {\n  list-style: square;\n  margin: 0em 2em;\n}\n.rendered_html ul ul ul {\n  list-style: circle;\n  margin: 0em 2em;\n}\n.rendered_html ol {\n  list-style: decimal;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ol ol {\n  list-style: upper-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol {\n  list-style: lower-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol {\n  list-style: lower-roman;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol ol {\n  list-style: decimal;\n  margin: 0em 2em;\n}\n.rendered_html * + ul {\n  margin-top: 1em;\n}\n.rendered_html * + ol {\n  margin-top: 1em;\n}\n.rendered_html hr {\n  color: black;\n  background-color: black;\n}\n.rendered_html pre {\n  margin: 1em 2em;\n}\n.rendered_html pre,\n.rendered_html code {\n  border: 0;\n  background-color: #fff;\n  color: #000;\n  font-size: 100%;\n  padding: 0px;\n}\n.rendered_html blockquote {\n  margin: 1em 2em;\n}\n.rendered_html table {\n  margin-left: auto;\n  margin-right: auto;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\n.rendered_html tr,\n.rendered_html th,\n.rendered_html td {\n  border: 1px solid black;\n  border-collapse: collapse;\n  margin: 1em 2em;\n}\n.rendered_html td,\n.rendered_html th {\n  text-align: left;\n  vertical-align: middle;\n  padding: 4px;\n}\n.rendered_html th {\n  font-weight: bold;\n}\n.rendered_html * + table {\n  margin-top: 1em;\n}\n.rendered_html p {\n  text-align: left;\n}\n.rendered_html * + p {\n  margin-top: 1em;\n}\n.rendered_html img {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.rendered_html * + img {\n  margin-top: 1em;\n}\n.rendered_html img,\n.rendered_html svg {\n  max-width: 100%;\n  height: auto;\n}\n.rendered_html img.unconfined,\n.rendered_html svg.unconfined {\n  max-width: none;\n}\ndiv.text_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.text_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.text_cell_render {\n  /*font-family: \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;*/\n  outline: none;\n  resize: none;\n  width: inherit;\n  border-style: none;\n  padding: 0.5em 0.5em 0.5em 0.4em;\n  color: #000;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\na.anchor-link:link {\n  text-decoration: none;\n  padding: 0px 20px;\n  visibility: hidden;\n}\nh1:hover .anchor-link,\nh2:hover .anchor-link,\nh3:hover .anchor-link,\nh4:hover .anchor-link,\nh5:hover .anchor-link,\nh6:hover .anchor-link {\n  visibility: visible;\n}\n.text_cell.rendered .input_area {\n  display: none;\n}\n.text_cell.rendered .rendered_html {\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.text_cell.unrendered .text_cell_render {\n  display: none;\n}\n.cm-header-1,\n.cm-header-2,\n.cm-header-3,\n.cm-header-4,\n.cm-header-5,\n.cm-header-6 {\n  font-weight: bold;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.cm-header-1 {\n  font-size: 185.7%;\n}\n.cm-header-2 {\n  font-size: 157.1%;\n}\n.cm-header-3 {\n  font-size: 128.6%;\n}\n.cm-header-4 {\n  font-size: 110%;\n}\n.cm-header-5 {\n  font-size: 100%;\n  font-style: italic;\n}\n.cm-header-6 {\n  font-size: 100%;\n  font-style: italic;\n}\n/*!\n*\n* IPython notebook webapp\n*\n*/\n@media (max-width: 767px) {\n  .notebook_app {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n}\n#ipython-main-app {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook_panel {\n  margin: 0px;\n  padding: 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook {\n  font-size: 14px;\n  line-height: 20px;\n  overflow-y: hidden;\n  overflow-x: auto;\n  width: 100%;\n  /* This spaces the page away from the edge of the notebook area */\n  padding-top: 20px;\n  margin: 0px;\n  outline: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  min-height: 100%;\n}\n@media not print {\n  #notebook-container {\n    padding: 15px;\n    background-color: #fff;\n    min-height: 0;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n@media print {\n  #notebook-container {\n    width: 100%;\n  }\n}\ndiv.ui-widget-content {\n  border: 1px solid #ababab;\n  outline: none;\n}\npre.dialog {\n  background-color: #f7f7f7;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  padding: 0.4em;\n  padding-left: 2em;\n}\np.dialog {\n  padding: 0.2em;\n}\n/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems\n   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.\n */\npre,\ncode,\nkbd,\nsamp {\n  white-space: pre-wrap;\n}\n#fonttest {\n  font-family: monospace;\n}\np {\n  margin-bottom: 0;\n}\n.end_space {\n  min-height: 100px;\n  transition: height .2s ease;\n}\n.notebook_app > #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n@media not print {\n  .notebook_app {\n    background-color: #EEE;\n  }\n}\nkbd {\n  border-style: solid;\n  border-width: 1px;\n  box-shadow: none;\n  margin: 2px;\n  padding-left: 2px;\n  padding-right: 2px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n/* CSS for the cell toolbar */\n.celltoolbar {\n  border: thin solid #CFCFCF;\n  border-bottom: none;\n  background: #EEE;\n  border-radius: 2px 2px 0px 0px;\n  width: 100%;\n  height: 29px;\n  padding-right: 4px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n  display: -webkit-flex;\n}\n@media print {\n  .celltoolbar {\n    display: none;\n  }\n}\n.ctb_hideshow {\n  display: none;\n  vertical-align: bottom;\n}\n/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.\n   Cell toolbars are only shown when the ctb_global_show class is also set.\n*/\n.ctb_global_show .ctb_show.ctb_hideshow {\n  display: block;\n}\n.ctb_global_show .ctb_show + .input_area,\n.ctb_global_show .ctb_show + div.text_cell_input,\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border-top-right-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border: 1px solid #cfcfcf;\n}\n.celltoolbar {\n  font-size: 87%;\n  padding-top: 3px;\n}\n.celltoolbar select {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n  width: inherit;\n  font-size: inherit;\n  height: 22px;\n  padding: 0px;\n  display: inline-block;\n}\n.celltoolbar select:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.celltoolbar select::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.celltoolbar select:-ms-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-webkit-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.celltoolbar select[disabled],\n.celltoolbar select[readonly],\nfieldset[disabled] .celltoolbar select {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.celltoolbar select[disabled],\nfieldset[disabled] .celltoolbar select {\n  cursor: not-allowed;\n}\ntextarea.celltoolbar select {\n  height: auto;\n}\nselect.celltoolbar select {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.celltoolbar select,\nselect[multiple].celltoolbar select {\n  height: auto;\n}\n.celltoolbar label {\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.completions {\n  position: absolute;\n  z-index: 110;\n  overflow: hidden;\n  border: 1px solid #ababab;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  line-height: 1;\n}\n.completions select {\n  background: white;\n  outline: none;\n  border: none;\n  padding: 0px;\n  margin: 0px;\n  overflow: auto;\n  font-family: monospace;\n  font-size: 110%;\n  color: #000;\n  width: auto;\n}\n.completions select option.context {\n  color: #286090;\n}\n#kernel_logo_widget {\n  float: right !important;\n  float: right;\n}\n#kernel_logo_widget .current_kernel_logo {\n  display: none;\n  margin-top: -1px;\n  margin-bottom: -1px;\n  width: 32px;\n  height: 32px;\n}\n#menubar {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  margin-top: 1px;\n}\n#menubar .navbar {\n  border-top: 1px;\n  border-radius: 0px 0px 2px 2px;\n  margin-bottom: 0px;\n}\n#menubar .navbar-toggle {\n  float: left;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  border: none;\n}\n#menubar .navbar-collapse {\n  clear: left;\n}\n.nav-wrapper {\n  border-bottom: 1px solid #e7e7e7;\n}\ni.menu-icon {\n  padding-top: 4px;\n}\nul#help_menu li a {\n  overflow: hidden;\n  padding-right: 2.2em;\n}\nul#help_menu li a i {\n  margin-right: -1.2em;\n}\n.dropdown-submenu {\n  position: relative;\n}\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n}\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n.dropdown-submenu > a:after {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  display: block;\n  content: \"\\f0da\";\n  float: right;\n  color: #333333;\n  margin-top: 2px;\n  margin-right: -10px;\n}\n.dropdown-submenu > a:after.pull-left {\n  margin-right: .3em;\n}\n.dropdown-submenu > a:after.pull-right {\n  margin-left: .3em;\n}\n.dropdown-submenu:hover > a:after {\n  color: #262626;\n}\n.dropdown-submenu.pull-left {\n  float: none;\n}\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n}\n#notification_area {\n  float: right !important;\n  float: right;\n  z-index: 10;\n}\n.indicator_area {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#kernel_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  border-left: 1px solid;\n}\n#kernel_indicator .kernel_indicator_name {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#modal_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#readonly-indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  margin-top: 2px;\n  margin-bottom: 0px;\n  margin-left: 0px;\n  margin-right: 0px;\n  display: none;\n}\n.modal_indicator:before {\n  width: 1.28571429em;\n  text-align: center;\n}\n.edit_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f040\";\n}\n.edit_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.edit_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.command_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: ' ';\n}\n.command_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.command_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_idle_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f10c\";\n}\n.kernel_idle_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_idle_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_busy_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f111\";\n}\n.kernel_busy_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_busy_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_dead_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f1e2\";\n}\n.kernel_dead_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_dead_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_disconnected_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f127\";\n}\n.kernel_disconnected_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_disconnected_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notification_widget {\n  color: #777;\n  z-index: 10;\n  background: rgba(240, 240, 240, 0.5);\n  margin-right: 4px;\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget:focus,\n.notification_widget.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.notification_widget:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active:hover,\n.notification_widget.active:hover,\n.open > .dropdown-toggle.notification_widget:hover,\n.notification_widget:active:focus,\n.notification_widget.active:focus,\n.open > .dropdown-toggle.notification_widget:focus,\n.notification_widget:active.focus,\n.notification_widget.active.focus,\n.open > .dropdown-toggle.notification_widget.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  background-image: none;\n}\n.notification_widget.disabled:hover,\n.notification_widget[disabled]:hover,\nfieldset[disabled] .notification_widget:hover,\n.notification_widget.disabled:focus,\n.notification_widget[disabled]:focus,\nfieldset[disabled] .notification_widget:focus,\n.notification_widget.disabled.focus,\n.notification_widget[disabled].focus,\nfieldset[disabled] .notification_widget.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget .badge {\n  color: #fff;\n  background-color: #333;\n}\n.notification_widget.warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning:focus,\n.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.notification_widget.warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active:hover,\n.notification_widget.warning.active:hover,\n.open > .dropdown-toggle.notification_widget.warning:hover,\n.notification_widget.warning:active:focus,\n.notification_widget.warning.active:focus,\n.open > .dropdown-toggle.notification_widget.warning:focus,\n.notification_widget.warning:active.focus,\n.notification_widget.warning.active.focus,\n.open > .dropdown-toggle.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  background-image: none;\n}\n.notification_widget.warning.disabled:hover,\n.notification_widget.warning[disabled]:hover,\nfieldset[disabled] .notification_widget.warning:hover,\n.notification_widget.warning.disabled:focus,\n.notification_widget.warning[disabled]:focus,\nfieldset[disabled] .notification_widget.warning:focus,\n.notification_widget.warning.disabled.focus,\n.notification_widget.warning[disabled].focus,\nfieldset[disabled] .notification_widget.warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.notification_widget.success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success:focus,\n.notification_widget.success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.notification_widget.success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active:hover,\n.notification_widget.success.active:hover,\n.open > .dropdown-toggle.notification_widget.success:hover,\n.notification_widget.success:active:focus,\n.notification_widget.success.active:focus,\n.open > .dropdown-toggle.notification_widget.success:focus,\n.notification_widget.success:active.focus,\n.notification_widget.success.active.focus,\n.open > .dropdown-toggle.notification_widget.success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  background-image: none;\n}\n.notification_widget.success.disabled:hover,\n.notification_widget.success[disabled]:hover,\nfieldset[disabled] .notification_widget.success:hover,\n.notification_widget.success.disabled:focus,\n.notification_widget.success[disabled]:focus,\nfieldset[disabled] .notification_widget.success:focus,\n.notification_widget.success.disabled.focus,\n.notification_widget.success[disabled].focus,\nfieldset[disabled] .notification_widget.success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.notification_widget.info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info:focus,\n.notification_widget.info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.notification_widget.info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active:hover,\n.notification_widget.info.active:hover,\n.open > .dropdown-toggle.notification_widget.info:hover,\n.notification_widget.info:active:focus,\n.notification_widget.info.active:focus,\n.open > .dropdown-toggle.notification_widget.info:focus,\n.notification_widget.info:active.focus,\n.notification_widget.info.active.focus,\n.open > .dropdown-toggle.notification_widget.info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  background-image: none;\n}\n.notification_widget.info.disabled:hover,\n.notification_widget.info[disabled]:hover,\nfieldset[disabled] .notification_widget.info:hover,\n.notification_widget.info.disabled:focus,\n.notification_widget.info[disabled]:focus,\nfieldset[disabled] .notification_widget.info:focus,\n.notification_widget.info.disabled.focus,\n.notification_widget.info[disabled].focus,\nfieldset[disabled] .notification_widget.info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.notification_widget.danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger:focus,\n.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.notification_widget.danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active:hover,\n.notification_widget.danger.active:hover,\n.open > .dropdown-toggle.notification_widget.danger:hover,\n.notification_widget.danger:active:focus,\n.notification_widget.danger.active:focus,\n.open > .dropdown-toggle.notification_widget.danger:focus,\n.notification_widget.danger:active.focus,\n.notification_widget.danger.active.focus,\n.open > .dropdown-toggle.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  background-image: none;\n}\n.notification_widget.danger.disabled:hover,\n.notification_widget.danger[disabled]:hover,\nfieldset[disabled] .notification_widget.danger:hover,\n.notification_widget.danger.disabled:focus,\n.notification_widget.danger[disabled]:focus,\nfieldset[disabled] .notification_widget.danger:focus,\n.notification_widget.danger.disabled.focus,\n.notification_widget.danger[disabled].focus,\nfieldset[disabled] .notification_widget.danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\ndiv#pager {\n  background-color: #fff;\n  font-size: 14px;\n  line-height: 20px;\n  overflow: hidden;\n  display: none;\n  position: fixed;\n  bottom: 0px;\n  width: 100%;\n  max-height: 50%;\n  padding-top: 8px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  /* Display over codemirror */\n  z-index: 100;\n  /* Hack which prevents jquery ui resizable from changing top. */\n  top: auto !important;\n}\ndiv#pager pre {\n  line-height: 1.21429em;\n  color: #000;\n  background-color: #f7f7f7;\n  padding: 0.4em;\n}\ndiv#pager #pager-button-area {\n  position: absolute;\n  top: 8px;\n  right: 20px;\n}\ndiv#pager #pager-contents {\n  position: relative;\n  overflow: auto;\n  width: 100%;\n  height: 100%;\n}\ndiv#pager #pager-contents #pager-container {\n  position: relative;\n  padding: 15px 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\ndiv#pager .ui-resizable-handle {\n  top: 0px;\n  height: 8px;\n  background: #f7f7f7;\n  border-top: 1px solid #cfcfcf;\n  border-bottom: 1px solid #cfcfcf;\n  /* This injects handle bars (a short, wide = symbol) for \n        the resize handle. */\n}\ndiv#pager .ui-resizable-handle::after {\n  content: '';\n  top: 2px;\n  left: 50%;\n  height: 3px;\n  width: 30px;\n  margin-left: -15px;\n  position: absolute;\n  border-top: 1px solid #cfcfcf;\n}\n.quickhelp {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  line-height: 1.8em;\n}\n.shortcut_key {\n  display: inline-block;\n  width: 20ex;\n  text-align: right;\n  font-family: monospace;\n}\n.shortcut_descr {\n  display: inline-block;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\nspan.save_widget {\n  margin-top: 6px;\n}\nspan.save_widget span.filename {\n  height: 1em;\n  line-height: 1em;\n  padding: 3px;\n  margin-left: 16px;\n  border: none;\n  font-size: 146.5%;\n  border-radius: 2px;\n}\nspan.save_widget span.filename:hover {\n  background-color: #e6e6e6;\n}\nspan.checkpoint_status,\nspan.autosave_status {\n  font-size: small;\n}\n@media (max-width: 767px) {\n  span.save_widget {\n    font-size: small;\n  }\n  span.checkpoint_status,\n  span.autosave_status {\n    display: none;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  span.checkpoint_status {\n    display: none;\n  }\n  span.autosave_status {\n    font-size: x-small;\n  }\n}\n.toolbar {\n  padding: 0px;\n  margin-left: -5px;\n  margin-top: 2px;\n  margin-bottom: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.toolbar select,\n.toolbar label {\n  width: auto;\n  vertical-align: middle;\n  margin-right: 2px;\n  margin-bottom: 0px;\n  display: inline;\n  font-size: 92%;\n  margin-left: 0.3em;\n  margin-right: 0.3em;\n  padding: 0px;\n  padding-top: 3px;\n}\n.toolbar .btn {\n  padding: 2px 8px;\n}\n.toolbar .btn-group {\n  margin-top: 0px;\n  margin-left: 5px;\n}\n#maintoolbar {\n  margin-bottom: -3px;\n  margin-top: -8px;\n  border: 0px;\n  min-height: 27px;\n  margin-left: 0px;\n  padding-top: 11px;\n  padding-bottom: 3px;\n}\n#maintoolbar .navbar-text {\n  float: none;\n  vertical-align: middle;\n  text-align: right;\n  margin-left: 5px;\n  margin-right: 0px;\n  margin-top: 0px;\n}\n.select-xs {\n  height: 24px;\n}\n.pulse,\n.dropdown-menu > li > a.pulse,\nli.pulse > a.dropdown-toggle,\nli.pulse.open > a.dropdown-toggle {\n  background-color: #F37626;\n  color: white;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\n/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot\n * of chance of beeing generated from the ../less/[samename].less file, you can\n * try to get back the less file by reverting somme commit in history\n **/\n/*\n * We'll try to get something pretty, so we\n * have some strange css to have the scroll bar on\n * the left with fix button on the top right of the tooltip\n */\n@-moz-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-moz-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n/*properties of tooltip after \"expand\"*/\n.bigtooltip {\n  overflow: auto;\n  height: 200px;\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n}\n/*properties of tooltip before \"expand\"*/\n.smalltooltip {\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  height: 80px;\n}\n.tooltipbuttons {\n  position: absolute;\n  padding-right: 15px;\n  top: 0px;\n  right: 0px;\n}\n.tooltiptext {\n  /*avoid the button to overlap on some docstring*/\n  padding-right: 30px;\n}\n.ipython_tooltip {\n  max-width: 700px;\n  /*fade-in animation when inserted*/\n  -webkit-animation: fadeOut 400ms;\n  -moz-animation: fadeOut 400ms;\n  animation: fadeOut 400ms;\n  -webkit-animation: fadeIn 400ms;\n  -moz-animation: fadeIn 400ms;\n  animation: fadeIn 400ms;\n  vertical-align: middle;\n  background-color: #f7f7f7;\n  overflow: visible;\n  border: #ababab 1px solid;\n  outline: none;\n  padding: 3px;\n  margin: 0px;\n  padding-left: 7px;\n  font-family: monospace;\n  min-height: 50px;\n  -moz-box-shadow: 0px 6px 10px -1px #adadad;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 1000;\n}\n.ipython_tooltip a {\n  float: right;\n}\n.ipython_tooltip .tooltiptext pre {\n  border: 0;\n  border-radius: 0;\n  font-size: 100%;\n  background-color: #f7f7f7;\n}\n.pretooltiparrow {\n  left: 0px;\n  margin: 0px;\n  top: -16px;\n  width: 40px;\n  height: 16px;\n  overflow: hidden;\n  position: absolute;\n}\n.pretooltiparrow:before {\n  background-color: #f7f7f7;\n  border: 1px #ababab solid;\n  z-index: 11;\n  content: \"\";\n  position: absolute;\n  left: 15px;\n  top: 10px;\n  width: 25px;\n  height: 25px;\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n}\nul.typeahead-list i {\n  margin-left: -10px;\n  width: 18px;\n}\nul.typeahead-list {\n  max-height: 80vh;\n  overflow: auto;\n}\nul.typeahead-list > li > a {\n  /** Firefox bug **/\n  /* see https://github.com/jupyter/notebook/issues/559 */\n  white-space: normal;\n}\n.cmd-palette .modal-body {\n  padding: 7px;\n}\n.cmd-palette form {\n  background: white;\n}\n.cmd-palette input {\n  outline: none;\n}\n.no-shortcut {\n  display: none;\n}\n.command-shortcut:before {\n  content: \"(command)\";\n  padding-right: 3px;\n  color: #777777;\n}\n.edit-shortcut:before {\n  content: \"(edit)\";\n  padding-right: 3px;\n  color: #777777;\n}\n#find-and-replace #replace-preview .match,\n#find-and-replace #replace-preview .insert {\n  background-color: #BBDEFB;\n  border-color: #90CAF9;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .match {\n  background-color: #FFCDD2;\n  border-color: #EF9A9A;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .insert {\n  background-color: #C8E6C9;\n  border-color: #A5D6A7;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview {\n  max-height: 60vh;\n  overflow: auto;\n}\n#find-and-replace #replace-preview pre {\n  padding: 5px 10px;\n}\n.terminal-app {\n  background: #EEE;\n}\n.terminal-app #header {\n  background: #fff;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.terminal-app .terminal {\n  float: left;\n  font-family: monospace;\n  color: white;\n  background: black;\n  padding: 0.4em;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n}\n.terminal-app .terminal,\n.terminal-app .terminal dummy-screen {\n  line-height: 1em;\n  font-size: 14px;\n}\n.terminal-app .terminal-cursor {\n  color: black;\n  background: white;\n}\n.terminal-app #terminado-container {\n  margin-top: 20px;\n}\n/*# sourceMappingURL=style.min.css.map */\n    </style>\n<style type=\"text/css\">\n    .highlight .hll { background-color: #ffffcc }\n.highlight  { background: #f8f8f8; }\n.highlight .c { color: #408080; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #888888 } /* Generic.Output */\n.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #B00040 } /* Keyword.Type */\n.highlight .m { color: #666666 } /* Literal.Number */\n.highlight .s { color: #BA2121 } /* Literal.String */\n.highlight .na { color: #7D9029 } /* Name.Attribute */\n.highlight .nb { color: #008000 } /* Name.Builtin */\n.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.highlight .no { color: #880000 } /* Name.Constant */\n.highlight .nd { color: #AA22FF } /* Name.Decorator */\n.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #0000FF } /* Name.Function */\n.highlight .nl { color: #A0A000 } /* Name.Label */\n.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #19177C } /* Name.Variable */\n.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.highlight .mf { color: #666666 } /* Literal.Number.Float */\n.highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.highlight .sx { color: #008000 } /* Literal.String.Other */\n.highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n.highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #19177C } /* Name.Variable.Class */\n.highlight .vg { color: #19177C } /* Name.Variable.Global */\n.highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n    </style>\n<style type=\"text/css\">\n    \n/* Temporary definitions which will become obsolete with Notebook release 5.0 */\n.ansi-black-fg { color: #3E424D; }\n.ansi-black-bg { background-color: #3E424D; }\n.ansi-black-intense-fg { color: #282C36; }\n.ansi-black-intense-bg { background-color: #282C36; }\n.ansi-red-fg { color: #E75C58; }\n.ansi-red-bg { background-color: #E75C58; }\n.ansi-red-intense-fg { color: #B22B31; }\n.ansi-red-intense-bg { background-color: #B22B31; }\n.ansi-green-fg { color: #00A250; }\n.ansi-green-bg { background-color: #00A250; }\n.ansi-green-intense-fg { color: #007427; }\n.ansi-green-intense-bg { background-color: #007427; }\n.ansi-yellow-fg { color: #DDB62B; }\n.ansi-yellow-bg { background-color: #DDB62B; }\n.ansi-yellow-intense-fg { color: #B27D12; }\n.ansi-yellow-intense-bg { background-color: #B27D12; }\n.ansi-blue-fg { color: #208FFB; }\n.ansi-blue-bg { background-color: #208FFB; }\n.ansi-blue-intense-fg { color: #0065CA; }\n.ansi-blue-intense-bg { background-color: #0065CA; }\n.ansi-magenta-fg { color: #D160C4; }\n.ansi-magenta-bg { background-color: #D160C4; }\n.ansi-magenta-intense-fg { color: #A03196; }\n.ansi-magenta-intense-bg { background-color: #A03196; }\n.ansi-cyan-fg { color: #60C6C8; }\n.ansi-cyan-bg { background-color: #60C6C8; }\n.ansi-cyan-intense-fg { color: #258F8F; }\n.ansi-cyan-intense-bg { background-color: #258F8F; }\n.ansi-white-fg { color: #C5C1B4; }\n.ansi-white-bg { background-color: #C5C1B4; }\n.ansi-white-intense-fg { color: #A1A6B2; }\n.ansi-white-intense-bg { background-color: #A1A6B2; }\n\n.ansi-bold { font-weight: bold; }\n\n    </style>\n\n\n<style type=\"text/css\">\n/* Overrides of notebook CSS for static HTML export */\nbody {\n  overflow: visible;\n  padding: 8px;\n}\n\ndiv#notebook {\n  overflow: visible;\n  border-top: none;\n}\n\n@media print {\n  div.cell {\n    display: block;\n    page-break-inside: avoid;\n  } \n  div.output_wrapper { \n    display: block;\n    page-break-inside: avoid; \n  }\n  div.output { \n    display: block;\n    page-break-inside: avoid; \n  }\n}\n</style>\n\n<!-- Custom stylesheet, it must be in the same directory as the html file -->\n<link rel=\"stylesheet\" href=\"custom.css\">\n\n<!-- Loading mathjax macro -->\n<!-- Load mathjax -->\n    <script src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"></script>\n    <!-- MathJax configuration -->\n    <script type=\"text/x-mathjax-config\">\n    MathJax.Hub.Config({\n        tex2jax: {\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n            processEscapes: true,\n            processEnvironments: true\n        },\n        // Center justify equations in code and markdown cells. Elsewhere\n        // we use CSS to left justify single line equations in code cells.\n        displayAlign: 'center',\n        \"HTML-CSS\": {\n            styles: {'.MathJax_Display': {\"margin\": 0}},\n            linebreaks: { automatic: true }\n        }\n    });\n    </script>\n    <!-- End of mathjax configuration --></head>\n<body>\n  <div tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\">\n    <div class=\"container\" id=\"notebook-container\">\n\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Machine-Learning-Engineer-Nanodegree\">Machine Learning Engineer Nanodegree<a class=\"anchor-link\" href=\"#Machine-Learning-Engineer-Nanodegree\">&#182;</a></h1><h2 id=\"Model-Evaluation-&amp;-Validation\">Model Evaluation &amp; Validation<a class=\"anchor-link\" href=\"#Model-Evaluation-&amp;-Validation\">&#182;</a></h2><h2 id=\"Project-1:-Predicting-Boston-Housing-Prices\">Project 1: Predicting Boston Housing Prices<a class=\"anchor-link\" href=\"#Project-1:-Predicting-Boston-Housing-Prices\">&#182;</a></h2><p>Welcome to the first project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and you will need to implement additional functionality to successfully complete this project. You will not need to modify the included code beyond what is requested. Sections that begin with <strong>'Implementation'</strong> in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a 'TODO' statement. Please be sure to read the instructions carefully!</p>\n<p>In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a <strong>'Question X'</strong> header. Carefully read each question and provide thorough answers in the following text boxes that begin with <strong>'Answer:'</strong>. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.</p>\n<blockquote><p><strong>Note:</strong> Code and Markdown cells can be executed using the <strong>Shift + Enter</strong> keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Getting-Started\">Getting Started<a class=\"anchor-link\" href=\"#Getting-Started\">&#182;</a></h2><p>In this project, you will evaluate the performance and predictive power of a model that has been trained and tested on data collected from homes in suburbs of Boston, Massachusetts. A model trained on this data that is seen as a <em>good fit</em> could then be used to make certain predictions about a home — in particular, its monetary value. This model would prove to be invaluable for someone like a real estate agent who could make use of such information on a daily basis.</p>\n<p>The dataset for this project originates from the <a href=\"https://archive.ics.uci.edu/ml/datasets/Housing\">UCI Machine Learning Repository</a>. The Boston housing data was collected in 1978 and each of the 506 entries represent aggregated data about 14 features for homes from various suburbs in Boston, Massachusetts. For the purposes of this project, the following preprocessing steps have been made to the dataset:</p>\n<ul>\n<li>16 data points have an <code>'MEDV'</code> value of 50.0. These data points likely contain <strong>missing or censored values</strong> and have been removed.</li>\n<li>1 data point has an <code>'RM'</code> value of 8.78. This data point can be considered an <strong>outlier</strong> and has been removed.</li>\n<li>The features <code>'RM'</code>, <code>'LSTAT'</code>, <code>'PTRATIO'</code>, and <code>'MEDV'</code> are essential. The remaining <strong>non-relevant features</strong> have been excluded.</li>\n<li>The feature <code>'MEDV'</code> has been <strong>multiplicatively scaled</strong> to account for 35 years of market inflation.</li>\n</ul>\n<p>Run the code cell below to load the Boston housing dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[1]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Import libraries necessary for this project</span>\n<span class=\"kn\">import</span> <span class=\"nn\">numpy</span> <span class=\"kn\">as</span> <span class=\"nn\">np</span>\n<span class=\"kn\">import</span> <span class=\"nn\">pandas</span> <span class=\"kn\">as</span> <span class=\"nn\">pd</span>\n<span class=\"kn\">import</span> <span class=\"nn\">visuals</span> <span class=\"kn\">as</span> <span class=\"nn\">vs</span> <span class=\"c1\"># Supplementary code</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.cross_validation</span> <span class=\"kn\">import</span> <span class=\"n\">ShuffleSplit</span>\n\n<span class=\"c1\"># Pretty display for notebooks</span>\n<span class=\"o\">%</span><span class=\"k\">matplotlib</span> inline\n\n<span class=\"c1\"># Load the Boston housing dataset</span>\n<span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">read_csv</span><span class=\"p\">(</span><span class=\"s1\">&#39;housing.csv&#39;</span><span class=\"p\">)</span>\n<span class=\"n\">prices</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"p\">[</span><span class=\"s1\">&#39;MEDV&#39;</span><span class=\"p\">]</span>\n<span class=\"n\">features</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">(</span><span class=\"s1\">&#39;MEDV&#39;</span><span class=\"p\">,</span> <span class=\"n\">axis</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n    \n<span class=\"c1\"># Success</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Boston housing dataset has {} data points with {} variables each.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Boston housing dataset has 489 data points with 4 variables each.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Data-Exploration\">Data Exploration<a class=\"anchor-link\" href=\"#Data-Exploration\">&#182;</a></h2><p>In this first section of this project, you will make a cursory investigation about the Boston housing data and provide your observations. Familiarizing yourself with the data through an explorative process is a fundamental practice to help you better understand and justify your results.</p>\n<p>Since the main goal of this project is to construct a working model which has the capability of predicting the value of houses, we will need to separate the dataset into <strong>features</strong> and the <strong>target variable</strong>. The <strong>features</strong>, <code>'RM'</code>, <code>'LSTAT'</code>, and <code>'PTRATIO'</code>, give us quantitative information about each data point. The <strong>target variable</strong>, <code>'MEDV'</code>, will be the variable we seek to predict. These are stored in <code>features</code> and <code>prices</code>, respectively.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Calculate-Statistics\">Implementation: Calculate Statistics<a class=\"anchor-link\" href=\"#Implementation:-Calculate-Statistics\">&#182;</a></h3><p>For your very first coding implementation, you will calculate descriptive statistics about the Boston housing prices. Since <code>numpy</code> has already been imported for you, use this library to perform the necessary calculations. These statistics will be extremely important later on to analyze various prediction results from the constructed model.</p>\n<p>In the code cell below, you will need to implement the following:</p>\n<ul>\n<li>Calculate the minimum, maximum, mean, median, and standard deviation of <code>'MEDV'</code>, which is stored in <code>prices</code>.<ul>\n<li>Store each calculation in their respective variable.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[2]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># TODO: Minimum price of the data</span>\n<span class=\"n\">minimum_price</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">min</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Maximum price of the data</span>\n<span class=\"n\">maximum_price</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">max</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Mean price of the data</span>\n<span class=\"n\">mean_price</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">mean</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Median price of the data</span>\n<span class=\"n\">median_price</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">median</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Standard deviation of prices of the data</span>\n<span class=\"n\">std_price</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">std</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Show the calculated statistics</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Statistics for Boston housing dataset:</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Minimum price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">minimum_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Maximum price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">maximum_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Mean price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">mean_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Median price ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">median_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Standard deviation of prices: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">std_price</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Statistics for Boston housing dataset:\n\nMinimum price: $105,000.00\nMaximum price: $1,024,800.00\nMean price: $454,342.94\nMedian price $438,900.00\nStandard deviation of prices: $165,171.13\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[3]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Boxplot of prices to get a sense of the data</span>\n\n<span class=\"kn\">import</span> <span class=\"nn\">matplotlib.pyplot</span> <span class=\"kn\">as</span> <span class=\"nn\">plt</span>\n<span class=\"o\">%</span><span class=\"k\">matplotlib</span> inline\n\n<span class=\"n\">plt</span><span class=\"o\">.</span><span class=\"n\">title</span><span class=\"p\">(</span><span class=\"s2\">&quot;Boston Home Prices&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">plt</span><span class=\"o\">.</span><span class=\"n\">ylabel</span><span class=\"p\">(</span><span class=\"s2\">&quot;Price (USD)&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">plt</span><span class=\"o\">.</span><span class=\"n\">boxplot</span><span class=\"p\">(</span><span class=\"n\">prices</span><span class=\"p\">)</span>\n<span class=\"n\">plt</span><span class=\"o\">.</span><span class=\"n\">show</span><span class=\"p\">()</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nZmZWiP8P9EgSll3r1RAAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-1---Feature-Observation\">Question 1 - Feature Observation<a class=\"anchor-link\" href=\"#Question-1---Feature-Observation\">&#182;</a></h3><p>As a reminder, we are using three features from the Boston housing dataset: <code>'RM'</code>, <code>'LSTAT'</code>, and <code>'PTRATIO'</code>. For each data point (neighborhood):</p>\n<ul>\n<li><code>'RM'</code> is the average number of rooms among homes in the neighborhood.</li>\n<li><code>'LSTAT'</code> is the percentage of homeowners in the neighborhood considered \"lower class\" (working poor).</li>\n<li><code>'PTRATIO'</code> is the ratio of students to teachers in primary and secondary schools in the neighborhood.</li>\n</ul>\n<p><em>Using your intuition, for each of the three features above, do you think that an increase in the value of that feature would lead to an <strong>increase</strong> in the value of <code>'MEDV'</code> or a <strong>decrease</strong> in the value of <code>'MEDV'</code>? Justify your answer for each.</em><br>\n<strong>Hint:</strong> Would you expect a home that has an <code>'RM'</code> value of 6 be worth more or less than a home that has an <code>'RM'</code> value of 7?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li><p><strong><code>'RM'</code>: increase</strong>.</p>\n<ul>\n<li>An increase in the value of <code>'RM'</code> should lead to an increase in the value of <code>'MEDV'</code>.</li>\n<li>Intuitively, homes with more rooms should have <strong>larger floor area</strong>. </li>\n<li>Homes with larger floor area should be more expensive than homes with small area (if price per square foot is is similar), hence the guess for a positive relationship.</li>\n<li>However, homes in cities with high prices and high prices per square foot (cities such as Hong Kong or New York) tend to be much smaller on average than homes in say rural France. If we compared <strong>homes in Hong Kong with homes in rural France, there would be a negative relationship between <code>'RM'</code> and <code>'MEDV'</code></strong>.</li>\n<li>But it is unlikely than there will be such high and large-scale regional variance within Boston.</li>\n</ul>\n</li>\n<li><p><strong><code>'LSTAT'</code>: decrease</strong>.</p>\n<ul>\n<li>An increase in the value of <code>'LSTAT'</code> should lead to an decrease in the value of <code>'MEDV'</code>.</li>\n<li>If more people in the neighbourhood are the 'working poor', given (1) they usually have low income (by definition) and (2) they should've been able to afford their homes, their homes should tend to be relatively cheap.</li>\n<li>Thus, the higher <code>'LSTAT'</code> is, the higher the percentage of relatively cheap homes in the area is likely to be. </li>\n<li>The higher the percentage of relatively cheap homes in the area, the lower the average price of homes in the area.</li>\n</ul>\n</li>\n<li><p><strong><code>'PTRATIO'</code>: increase</strong>.</p>\n<ul>\n<li>An increase in the value of <code>'RM'</code> should lead to an increase in the value of <code>'MEDV'</code>.</li>\n<li>A higher <code>'PTRATIO'</code> means there are more students to one teacher in schools. </li>\n<li>Maintaining lower student-to-teacher ratios is more expensive and thus usually reflects more funding to schools either through tuition fees or donations. </li>\n<li>This usually means people in the area are relatively well-off. </li>\n<li>People who are more well-off often choose to buy more expensive homes since homes are normal goods. (As income increases, amount spent on said good increases.)</li>\n<li>Thus the homes in the area are likely to be more expensive. That is, <code>'MDEV'</code> is likely to be higher.</li>\n</ul>\n</li>\n</ol>\n<p>It is notable that the question asked whether an increase in the value of X would LEAD TO an increase in the value of Y. This is fine because this is an intuition-based question and not a statistical one.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<h2 id=\"Developing-a-Model\">Developing a Model<a class=\"anchor-link\" href=\"#Developing-a-Model\">&#182;</a></h2><p>In this second section of the project, you will develop the tools and techniques necessary for a model to make a prediction. Being able to make accurate evaluations of each model's performance through the use of these tools and techniques helps to greatly reinforce the confidence in your predictions.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Define-a-Performance-Metric\">Implementation: Define a Performance Metric<a class=\"anchor-link\" href=\"#Implementation:-Define-a-Performance-Metric\">&#182;</a></h3><p>It is difficult to measure the quality of a given model without quantifying its performance over training and testing. This is typically done using some type of performance metric, whether it is through calculating some type of error, the goodness of fit, or some other useful measurement. For this project, you will be calculating the <a href=\"http://stattrek.com/statistics/dictionary.aspx?definition=coefficient_of_determination\"><em>coefficient of determination</em></a>, R<sup>2</sup>, to quantify your model's performance. The coefficient of determination for a model is a useful statistic in regression analysis, as it often describes how \"good\" that model is at making predictions.</p>\n<p>The values for R<sup>2</sup> range from 0 to 1, which captures the percentage of squared correlation between the predicted and actual values of the <strong>target variable</strong>. A model with an R<sup>2</sup> of 0 always fails to predict the target variable, whereas a model with an R<sup>2</sup> of 1 perfectly predicts the target variable. Any value between 0 and 1 indicates what percentage of the target variable, using this model, can be explained by the <strong>features</strong>. <em>A model can be given a negative R<sup>2</sup> as well, which indicates that the model is no better than one that naively predicts the mean of the target variable.</em></p>\n<p>For the <code>performance_metric</code> function in the code cell below, you will need to implement the following:</p>\n<ul>\n<li>Use <code>r2_score</code> from <code>sklearn.metrics</code> to perform a performance calculation between <code>y_true</code> and <code>y_predict</code>.</li>\n<li>Assign the performance score to the <code>score</code> variable.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[4]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># TODO: Import &#39;r2_score&#39;</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.metrics</span> <span class=\"kn\">import</span> <span class=\"n\">r2_score</span>\n\n<span class=\"k\">def</span> <span class=\"nf\">performance_metric</span><span class=\"p\">(</span><span class=\"n\">y_true</span><span class=\"p\">,</span> <span class=\"n\">y_predict</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Calculates and returns the performance score between </span>\n<span class=\"sd\">        true and predicted values based on the metric chosen. &quot;&quot;&quot;</span>\n    \n    <span class=\"c1\"># TODO: Calculate the performance score between &#39;y_true&#39; and &#39;y_predict&#39;</span>\n    <span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">r2_score</span><span class=\"p\">(</span><span class=\"n\">y_true</span><span class=\"p\">,</span> <span class=\"n\">y_predict</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Return the score</span>\n    <span class=\"k\">return</span> <span class=\"n\">score</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-2---Goodness-of-Fit\">Question 2 - Goodness of Fit<a class=\"anchor-link\" href=\"#Question-2---Goodness-of-Fit\">&#182;</a></h3><p>Assume that a dataset contains five data points and a model made the following predictions for the target variable:</p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">True Value</th>\n<th style=\"text-align:center\">Prediction</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">3.0</td>\n<td style=\"text-align:center\">2.5</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">-0.5</td>\n<td style=\"text-align:center\">0.0</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">2.0</td>\n<td style=\"text-align:center\">2.1</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">7.0</td>\n<td style=\"text-align:center\">7.8</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">4.2</td>\n<td style=\"text-align:center\">5.3</td>\n</tr>\n</tbody>\n</table>\n<p><em>Would you consider this model to have successfully captured the variation of the target variable? Why or why not?</em></p>\n<p>Run the code cell below to use the <code>performance_metric</code> function and calculate this model's coefficient of determination.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[5]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Calculate the performance of this model</span>\n<span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">performance_metric</span><span class=\"p\">([</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mf\">0.5</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">7</span><span class=\"p\">,</span> <span class=\"mf\">4.2</span><span class=\"p\">],</span> <span class=\"p\">[</span><span class=\"mf\">2.5</span><span class=\"p\">,</span> <span class=\"mf\">0.0</span><span class=\"p\">,</span> <span class=\"mf\">2.1</span><span class=\"p\">,</span> <span class=\"mf\">7.8</span><span class=\"p\">,</span> <span class=\"mf\">5.3</span><span class=\"p\">])</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Model has a coefficient of determination, R^2, of {:.3f}.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">score</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Model has a coefficient of determination, R^2, of 0.923.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<p><strong>Yes</strong>, I'd consider this model to have successfully captured the variation of the target variable because</p>\n<ol>\n<li>The model has a <strong>high R^2 of 0.923</strong>. This means a 92.3% percentage of the target variable can be explained by the features using the model. So the model is pretty good.</li>\n<li>The model also got the ordering of all five datapoints in the dataset correct.</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Shuffle-and-Split-Data\">Implementation: Shuffle and Split Data<a class=\"anchor-link\" href=\"#Implementation:-Shuffle-and-Split-Data\">&#182;</a></h3><p>Your next implementation requires that you take the Boston housing dataset and split the data into training and testing subsets. Typically, the data is also shuffled into a random order when creating the training and testing subsets to remove any bias in the ordering of the dataset.</p>\n<p>For the code cell below, you will need to implement the following:</p>\n<ul>\n<li>Use <code>train_test_split</code> from <code>sklearn.cross_validation</code> to shuffle and split the <code>features</code> and <code>prices</code> data into training and testing sets.<ul>\n<li>Split the data into 80% training and 20% testing.</li>\n<li>Set the <code>random_state</code> for <code>train_test_split</code> to a value of your choice. This ensures results are consistent.</li>\n</ul>\n</li>\n<li>Assign the train and testing splits to <code>X_train</code>, <code>X_test</code>, <code>y_train</code>, and <code>y_test</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[6]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># TODO: Import &#39;train_test_split&#39;</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.cross_validation</span> <span class=\"kn\">import</span> <span class=\"n\">train_test_split</span>\n\n<span class=\"c1\"># TODO: Shuffle and split the data into training and testing subsets</span>\n<span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">,</span> <span class=\"n\">y_test</span> <span class=\"o\">=</span> <span class=\"n\">train_test_split</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">prices</span><span class=\"p\">,</span> <span class=\"n\">test_size</span><span class=\"o\">=</span><span class=\"mf\">0.2</span><span class=\"p\">,</span> <span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">7</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Success</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Training and testing split was successful.&quot;</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Training and testing split was successful.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[7]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"s2\">&quot;Train shapes (X,y): &quot;</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"o\">.</span><span class=\"n\">shape</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Test shapes (X,y): &quot;</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"o\">.</span><span class=\"n\">shape</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Train shapes (X,y):  (391, 3) (391,)\nTest shapes (X,y):  (98, 3) (98,)\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-3---Training-and-Testing\">Question 3 - Training and Testing<a class=\"anchor-link\" href=\"#Question-3---Training-and-Testing\">&#182;</a></h3><p><em>What is the benefit to splitting a dataset into some ratio of training and testing subsets for a learning algorithm?</em><br>\n<strong>Hint:</strong> What could go wrong with not having a way to test your model?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p>It provides <strong>more reliable evaluation metrics</strong> and helps detect <strong>overfitting</strong>.</p>\n<ol>\n<li><p>If there was no training set, we wouldn't be able to train our model which would be bad because then our model would be purely based on (possibly random) initial values.</p>\n</li>\n<li><p>If there was no test set, we wouldn't be able to test our model on unseen data.</p>\n<ul>\n<li>That is, we would be making judgements about how good our model was purely on its performance on the training set.</li>\n<li>Suppose we used <code>accuracy_score</code> as our performance metric. If we had e.g. an overfit decision tree with <code>accuracy_score = 0.98</code>, we might think it was an excellent model.</li>\n<li>But it would not be excellent because it wouldn't generalise well. That is, it would perform well on examples it had seen before (because it had overfitted) but likely be terrible for examples it hadn't seen before.</li>\n<li><strong>If we had test our model on unseen data, we would have a better idea as to whether the model generalised and so whether it was actually that good.</strong> E.g. we may have had an <code>accuracy_score = 0.6</code> on test data, realised our model wasn't generalised and tried another one.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<h2 id=\"Analyzing-Model-Performance\">Analyzing Model Performance<a class=\"anchor-link\" href=\"#Analyzing-Model-Performance\">&#182;</a></h2><p>In this third section of the project, you'll take a look at several models' learning and testing performances on various subsets of training data. Additionally, you'll investigate one particular algorithm with an increasing <code>'max_depth'</code> parameter on the full training set to observe how model complexity affects performance. Graphing your model's performance based on varying criteria can be beneficial in the analysis process, such as visualizing behavior that may not have been apparent from the results alone.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Learning-Curves\">Learning Curves<a class=\"anchor-link\" href=\"#Learning-Curves\">&#182;</a></h3><p>The following code cell produces four graphs for a decision tree model with different maximum depths. Each graph visualizes the learning curves of the model for both training and testing as the size of the training set is increased. Note that the shaded region of a learning curve denotes the uncertainty of that curve (measured as the standard deviation). The model is scored on both the training and testing sets using R<sup>2</sup>, the coefficient of determination.</p>\n<p>Run the code cell below and use these graphs to answer the following question.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[8]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Produce learning curves for varying training set sizes and maximum depths</span>\n<span class=\"n\">vs</span><span class=\"o\">.</span><span class=\"n\">ModelLearning</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">prices</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nzlT9hrEwZ5qVIjYzUAPMYExK+J5+GrGMSStjAHxXXgl87WsL48h8voUMk86Jrq1AzLkdiwHHj6e/\ndlukzG55SwVsD7z2GrYdO5bd4vaBD2Dgj/7IfI/V9dLZBTMcNrtQNjUtfJ4zy6VzXFzmOte+DK6B\n8+7dNZPspFYDQWe5iIiIqLGxZYuWpoxAbejgQdzz/ventyCtW4cb/9f/wro1axbOteYQcc4n4gzc\nMr8j13g45xgwXTeDNitwc6wH7roL2w4ezCr+QE8Ptl16afa0AqqanjzF2pdMmt0dw2GzFS0UWtgu\ntM963dyctt7205/iZpd55u585zsxcNtt2RNJhsPp+zITnmRuu+0rcnvo0CHcc/XV6XPi1EDWy8wA\ntR4zYLEuJqJGw5Yt8hJbtmhpsiabTll39tm48be/XVyLm3McW+a8H27bzsmxrQDOGcw5tn2nnYZY\nKmCwxAD4LrwQuO22/GVy/qxWIhVVTV+SyYXALJlMD9Cci6KYiU6soC6RgJFRLiA1WeXgoDmpt65n\nTzxp/dy6vtDSVsxSyrmBAB7YtSt7DN4bb+DO974XA+97X+7xdLnG3LltZ56f71hq+4Gvf90OtIiI\niKjxMdgiSlm3YQMGfvSj0t8oxKISXxTjhh/8AAPvfnd6C83GjbjxO98B1q0rPqFJocXtPGdwaL12\n/My+L30JMZcpBnzveAfw5S+bO5ytexbrc62gK3NxBmXOczJfW4Gcte14r5FMugeC09PAxER6ApfM\nrqhu+8p0vjE9zUCLiIhoCWGwRVTD1m3ciBt/85vyjHErB0cQd8M992DgmmvSA8ENG3Djt7+dHghm\nvC9tAdyDvFzBn9sxl/2+ffvcx+Cdfz5w443pP0++JCvOY9Zr589UbFfI1Np3662IPfwwAy4iIqIl\ngmO2iGjRanmySteslw8/bJYvM+DLFRjme21tuwWIOV4PDQ3hnhtuwLbhYY7ZIiKqERyzRV5isEVE\nDamWA0GrXF9+/PG6u8CzLiaiRsNgi7zEYIuIqErq8QLPupiIGk091sVUP3zVLgAREREREVEjYrBF\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQeYLBF\nRERERETkAQZbREREREREHmCwRURERERE5AEGW0RERERERB5gsEVEREREROQBBltEREREREQe8DzY\n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\n/D+cJBlqTR21IAAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-4---Learning-the-Data\">Question 4 - Learning the Data<a class=\"anchor-link\" href=\"#Question-4---Learning-the-Data\">&#182;</a></h3><p><em>Choose one of the graphs above and state the maximum depth for the model. What happens to the score of the training curve as more training points are added? What about the testing curve? Would having more training points benefit the model?</em><br>\n<strong>Hint:</strong> Are the learning curves converging to particular scores?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p>Chosen graph has <strong><code>max_depth = 1</code></strong>.</p>\n<p><strong>As more training points (TP) are added</strong>,</p>\n<ul>\n<li><strong>The score of the training curve decreases</strong>.<ul>\n<li>It decreases dramatically from 1.0 (since there are 0 TP, it predicts perfectly) at 0 TP to just under 0.6 at 50 TP. </li>\n<li>It then decreases slightly as TP increases.</li>\n<li>The score the testing curve converges to is <strong>just under 0.5</strong>.</li>\n</ul>\n</li>\n<li><strong>The score of the testing curve increases</strong> dramatically from &lt;0 to just under 0.4 when the number of TP is increased from 0 to 50. <ul>\n<li>It then increases slightly (by less than 0.1) as the number of TP increases from 50 to 200</li>\n<li>before plateauing or even decreasing slightly as more TP are added beyond 200 TP.</li>\n<li>The score the testing curve converges to is roughly <strong>0.4</strong>.</li>\n<li>Most gains are made by TP = 50.</li>\n</ul>\n</li>\n</ul>\n<p>It <strong>does not seem like the model will benefit from additional training points beyond 200 training points</strong>.</p>\n<p>The final gap between the training and testing curve scores is small (&lt; 0.1 and much smaller than in the other graphs). The error (~0.6) is quite high. This indicates that the model is <strong>biased</strong>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Complexity-Curves\">Complexity Curves<a class=\"anchor-link\" href=\"#Complexity-Curves\">&#182;</a></h3><p>The following code cell produces a graph for a decision tree model that has been trained and validated on the training data using different maximum depths. The graph produces two complexity curves — one for training and one for validation. Similar to the <strong>learning curves</strong>, the shaded regions of both the complexity curves denote the uncertainty in those curves, and the model is scored on both the training and validation sets using the <code>performance_metric</code> function.</p>\n<p>Run the code cell below and use this graph to answer the following two questions.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[9]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">vs</span><span class=\"o\">.</span><span class=\"n\">ModelComplexity</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-5---Bias-Variance-Tradeoff\">Question 5 - Bias-Variance Tradeoff<a class=\"anchor-link\" href=\"#Question-5---Bias-Variance-Tradeoff\">&#182;</a></h3><p><em>When the model is trained with a maximum depth of 1, does the model suffer from high bias or from high variance? How about when the model is trained with a maximum depth of 10? What visual cues in the graph justify your conclusions?</em><br>\n<strong>Hint:</strong> How do you know when a model is suffering from high bias or high variance?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li>When the model is trained with <code>max_depth = 1</code>,<ul>\n<li>it suffers from <strong>high bias</strong>.</li>\n<li>We can infer this from two features:<ol>\n<li>The training and testing learning curves converge (the <strong>gap between them is small</strong>) at </li>\n<li>a <strong>high error of 0.6</strong> as the number of training points increases.</li>\n</ol>\n</li>\n<li>This is shown in the model complexity graph where the gap between the training and validation scores is smaller than 0.1 and both scores are low (in the range 0.4-0.5), meaning the errors are high. </li>\n</ul>\n</li>\n<li>When the model is trained with <code>max_depth = 10</code>,<ul>\n<li>it suffers from <strong>high variance</strong>.</li>\n<li>We can infer this from the <strong>large gap</strong> between the training and validation scores in the model complexity graph. </li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-6---Best-Guess-Optimal-Model\">Question 6 - Best-Guess Optimal Model<a class=\"anchor-link\" href=\"#Question-6---Best-Guess-Optimal-Model\">&#182;</a></h3><p><em>Which maximum depth do you think results in a model that best generalizes to unseen data? What intuition lead you to this answer?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p>I think <strong><code>max_depth=3</code></strong> best generalises to unseen data.</p>\n<ol>\n<li><code>max_depth=3</code> and <code>max_depth=4</code> have <strong>roughly the highest validation score</strong>, i.e. score on unseen data.</li>\n<li>Between those two, <code>max_depth=3</code> has a <strong>lower variance</strong> (as seen by the difference between training and testing scores), which suggests it <strong>suffers less from overfitting</strong> and generalises better. The validation score is thus more reliable.</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<hr>\n<h2 id=\"Evaluating-Model-Performance\">Evaluating Model Performance<a class=\"anchor-link\" href=\"#Evaluating-Model-Performance\">&#182;</a></h2><p>In this final section of the project, you will construct a model and make a prediction on the client's feature set using an optimized model from <code>fit_model</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-7---Grid-Search\">Question 7 - Grid Search<a class=\"anchor-link\" href=\"#Question-7---Grid-Search\">&#182;</a></h3><p><em>What is the grid search technique and how it can be applied to optimize a learning algorithm?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li>The grid search technique tests different values within a given range for each parameter  to see which (combination of) parameter value(s) is optimal. E.g. which combination of parameter values maximises the accuracy score.</li>\n<li>It can be applied to optimise a learning algorithm by <strong>optimally tuning parameters to maximise performance score</strong>.</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-8---Cross-Validation\">Question 8 - Cross-Validation<a class=\"anchor-link\" href=\"#Question-8---Cross-Validation\">&#182;</a></h3><p><em>What is the k-fold cross-validation training technique? What benefit does this technique provide for grid search when optimizing a model?</em><br>\n<strong>Hint:</strong> Much like the reasoning behind having a testing set, what could go wrong with using grid search without a cross-validated set?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li>The k-fold cross-validation training technique equally partitions a dataset into k parts ('folds') without shuffling. <ul>\n<li>For each fold, it trains the model on data from the remaining (k-1) folds and then validates (tests) it on the data from the one fold. </li>\n<li>It repeats this k times (once on each fold).</li>\n<li>The k results can then be averaged to produce a single score.</li>\n</ul>\n</li>\n<li>Benefits for Grid Search:<ul>\n<li>With k-fold CV, all data is used for training and all data is used for validation exactly once.</li>\n<li>Suppose there is no cross-validated set. Then Grid Search may choose values of parameters than work well (score highly) for a particular validation/test set but <strong>don't generalise</strong>. </li>\n<li>With a cross-validated set, there is more test data and the model is tested more times because the model is validated k times (each time on different data). So if the averaged score is high, the model (with parameters chosen from Grid Search) is more likely to be generalisable.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Fitting-a-Model\">Implementation: Fitting a Model<a class=\"anchor-link\" href=\"#Implementation:-Fitting-a-Model\">&#182;</a></h3><p>Your final implementation requires that you bring everything together and train a model using the <strong>decision tree algorithm</strong>. To ensure that you are producing an optimized model, you will train the model using the grid search technique to optimize the <code>'max_depth'</code> parameter for the decision tree. The <code>'max_depth'</code> parameter can be thought of as how many questions the decision tree algorithm is allowed to ask about the data before making a prediction. Decision trees are part of a class of algorithms called <em>supervised learning algorithms</em>.</p>\n<p>For the <code>fit_model</code> function in the code cell below, you will need to implement the following:</p>\n<ul>\n<li>Use <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html\"><code>DecisionTreeRegressor</code></a> from <code>sklearn.tree</code> to create a decision tree regressor object.<ul>\n<li>Assign this object to the <code>'regressor'</code> variable.</li>\n</ul>\n</li>\n<li>Create a dictionary for <code>'max_depth'</code> with the values from 1 to 10, and assign this to the <code>'params'</code> variable.</li>\n<li>Use <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html\"><code>make_scorer</code></a> from <code>sklearn.metrics</code> to create a scoring function object.<ul>\n<li>Pass the <code>performance_metric</code> function as a parameter to the object.</li>\n<li>Assign this scoring function to the <code>'scoring_fnc'</code> variable.</li>\n</ul>\n</li>\n<li>Use <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html\"><code>GridSearchCV</code></a> from <code>sklearn.grid_search</code> to create a grid search object.<ul>\n<li>Pass the variables <code>'regressor'</code>, <code>'params'</code>, <code>'scoring_fnc'</code>, and <code>'cv_sets'</code> as parameters to the object. </li>\n<li>Assign the <code>GridSearchCV</code> object to the <code>'grid'</code> variable.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[10]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># TODO: Import &#39;make_scorer&#39;, &#39;DecisionTreeRegressor&#39;, and &#39;GridSearchCV&#39;</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.tree</span> <span class=\"kn\">import</span> <span class=\"n\">DecisionTreeRegressor</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.metrics</span> <span class=\"kn\">import</span> <span class=\"n\">make_scorer</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.grid_search</span> <span class=\"kn\">import</span> <span class=\"n\">GridSearchCV</span>\n\n<span class=\"k\">def</span> <span class=\"nf\">fit_model</span><span class=\"p\">(</span><span class=\"n\">X</span><span class=\"p\">,</span> <span class=\"n\">y</span><span class=\"p\">):</span>\n    <span class=\"sd\">&quot;&quot;&quot; Performs grid search over the &#39;max_depth&#39; parameter for a </span>\n<span class=\"sd\">        decision tree regressor trained on the input data [X, y]. &quot;&quot;&quot;</span>\n    \n    <span class=\"c1\"># Create cross-validation sets from the training data</span>\n    <span class=\"n\">cv_sets</span> <span class=\"o\">=</span> <span class=\"n\">ShuffleSplit</span><span class=\"p\">(</span><span class=\"n\">X</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">],</span> <span class=\"n\">n_iter</span> <span class=\"o\">=</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"n\">test_size</span> <span class=\"o\">=</span> <span class=\"mf\">0.20</span><span class=\"p\">,</span> <span class=\"n\">random_state</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Create a decision tree regressor object</span>\n    <span class=\"n\">regressor</span> <span class=\"o\">=</span> <span class=\"n\">DecisionTreeRegressor</span><span class=\"p\">()</span>\n\n    <span class=\"c1\"># TODO: Create a dictionary for the parameter &#39;max_depth&#39; with a range from 1 to 10</span>\n    <span class=\"n\">params</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;max_depth&#39;</span><span class=\"p\">:</span><span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">11</span><span class=\"p\">)}</span>\n\n    <span class=\"c1\"># TODO: Transform &#39;performance_metric&#39; into a scoring function using &#39;make_scorer&#39; </span>\n    <span class=\"n\">scoring_fnc</span> <span class=\"o\">=</span> <span class=\"n\">make_scorer</span><span class=\"p\">(</span><span class=\"n\">performance_metric</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Create the grid search object</span>\n    <span class=\"n\">grid</span> <span class=\"o\">=</span> <span class=\"n\">GridSearchCV</span><span class=\"p\">(</span><span class=\"n\">regressor</span><span class=\"p\">,</span> <span class=\"n\">param_grid</span><span class=\"o\">=</span><span class=\"n\">params</span><span class=\"p\">,</span> <span class=\"n\">scoring</span><span class=\"o\">=</span><span class=\"n\">scoring_fnc</span><span class=\"p\">,</span> <span class=\"n\">cv</span><span class=\"o\">=</span><span class=\"n\">cv_sets</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># Fit the grid search object to the data to compute the optimal model</span>\n    <span class=\"n\">grid</span> <span class=\"o\">=</span> <span class=\"n\">grid</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">X</span><span class=\"p\">,</span> <span class=\"n\">y</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># Return the optimal model after fitting the data</span>\n    <span class=\"k\">return</span> <span class=\"n\">grid</span><span class=\"o\">.</span><span class=\"n\">best_estimator_</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Making-Predictions\">Making Predictions<a class=\"anchor-link\" href=\"#Making-Predictions\">&#182;</a></h3><p>Once a model has been trained on a given set of data, it can now be used to make predictions on new sets of input data. In the case of a <em>decision tree regressor</em>, the model has learned <em>what the best questions to ask about the input data are</em>, and can respond with a prediction for the <strong>target variable</strong>. You can use these predictions to gain information about data where the value of the target variable is unknown — such as data the model was not trained on.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-9---Optimal-Model\">Question 9 - Optimal Model<a class=\"anchor-link\" href=\"#Question-9---Optimal-Model\">&#182;</a></h3><p><em>What maximum depth does the optimal model have? How does this result compare to your guess in <strong>Question 6</strong>?</em></p>\n<p>Run the code block below to fit the decision tree regressor to the training data and produce an optimal model.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[11]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Fit the training data to the model using grid search</span>\n<span class=\"n\">reg</span> <span class=\"o\">=</span> <span class=\"n\">fit_model</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Produce the value for &#39;max_depth&#39;</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Parameter &#39;max_depth&#39; is {} for the optimal model.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">reg</span><span class=\"o\">.</span><span class=\"n\">get_params</span><span class=\"p\">()[</span><span class=\"s1\">&#39;max_depth&#39;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Parameter &#39;max_depth&#39; is 4 for the optimal model.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong>\nThe optimal model has <strong><code>max_depth = 4</code></strong>.</p>\n<ul>\n<li>This is not what I guessed initially (I guessed <code>max_depth = 3</code>) but is reasonable because it did have a <strong>slightly higher validation score</strong> than <code>max_depth = 3</code>.</li>\n<li>I guessed that <code>max_depth = 3</code> would be better because it had a similar validation score and had lower variance.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-10---Predicting-Selling-Prices\">Question 10 - Predicting Selling Prices<a class=\"anchor-link\" href=\"#Question-10---Predicting-Selling-Prices\">&#182;</a></h3><p>Imagine that you were a real estate agent in the Boston area looking to use this model to help price homes owned by your clients that they wish to sell. You have collected the following information from three of your clients:</p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Feature</th>\n<th style=\"text-align:center\">Client 1</th>\n<th style=\"text-align:center\">Client 2</th>\n<th style=\"text-align:center\">Client 3</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">Total number of rooms in home</td>\n<td style=\"text-align:center\">5 rooms</td>\n<td style=\"text-align:center\">4 rooms</td>\n<td style=\"text-align:center\">8 rooms</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">Neighborhood poverty level (as %)</td>\n<td style=\"text-align:center\">17%</td>\n<td style=\"text-align:center\">32%</td>\n<td style=\"text-align:center\">3%</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">Student-teacher ratio of nearby schools</td>\n<td style=\"text-align:center\">15-to-1</td>\n<td style=\"text-align:center\">22-to-1</td>\n<td style=\"text-align:center\">12-to-1</td>\n</tr>\n</tbody>\n</table>\n<p><em>What price would you recommend each client sell his/her home at? Do these prices seem reasonable given the values for the respective features?</em><br>\n<strong>Hint:</strong> Use the statistics you calculated in the <strong>Data Exploration</strong> section to help justify your response.</p>\n<p>Run the code block below to have your optimized model make predictions for each client's home.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[12]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Produce a matrix for client data</span>\n<span class=\"n\">client_data</span> <span class=\"o\">=</span> <span class=\"p\">[[</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">17</span><span class=\"p\">,</span> <span class=\"mi\">15</span><span class=\"p\">],</span> <span class=\"c1\"># Client 1</span>\n               <span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"p\">,</span> <span class=\"mi\">32</span><span class=\"p\">,</span> <span class=\"mi\">22</span><span class=\"p\">],</span> <span class=\"c1\"># Client 2</span>\n               <span class=\"p\">[</span><span class=\"mi\">8</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">]]</span>  <span class=\"c1\"># Client 3</span>\n<span class=\"n\">client_prices</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n<span class=\"c1\"># Show predictions</span>\n<span class=\"k\">for</span> <span class=\"n\">i</span><span class=\"p\">,</span> <span class=\"n\">price</span> <span class=\"ow\">in</span> <span class=\"nb\">enumerate</span><span class=\"p\">(</span><span class=\"n\">reg</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">client_data</span><span class=\"p\">)):</span>\n    <span class=\"k\">print</span> <span class=\"s2\">&quot;Predicted selling price for Client {}&#39;s home: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"o\">+</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"n\">price</span><span class=\"p\">)</span>\n    <span class=\"n\">client_prices</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"n\">price</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Predicted selling price for Client 1&#39;s home: $407,232.00\nPredicted selling price for Client 2&#39;s home: $229,200.00\nPredicted selling price for Client 3&#39;s home: $979,300.00\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li><p>The recommended selling prices are:</p>\n<ul>\n<li>Client 1: \\$407,232</li>\n<li>Client 2: \\$229,200</li>\n<li>Client 3: \\$979,300</li>\n</ul>\n</li>\n<li><p>By intuition in Q1:</p>\n<ul>\n<li>Client 3 has the highest <code>RMSTAT</code> (intuited positive relationship with price), the lowest <code>STRATIO</code> and the lowest <code>LSTAT</code> (Both intuited negative rel with price). </li>\n<li>Client 2 has the lowest <code>RMSTAT</code>, the highest <code>STRATIO</code> and the highest <code>LSTAT</code>.</li>\n<li>So based on intuition from Question 1, the <strong>ordering of prices (Client 3 &gt; Client 1 &gt; Client 2) is reasonable</strong>. </li>\n</ul>\n</li>\n<li><p>Revisiting the statistics from the Data Exploration section:</p>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[13]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Show the calculated statistics</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Statistics for Boston housing dataset:</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Minimum price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">minimum_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Maximum price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">maximum_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Mean price: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">mean_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Median price ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">median_price</span><span class=\"p\">)</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Standard deviation of prices: ${:,.2f}&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">std_price</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Statistics for Boston housing dataset:\n\nMinimum price: $105,000.00\nMaximum price: $1,024,800.00\nMean price: $454,342.94\nMedian price $438,900.00\nStandard deviation of prices: $165,171.13\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n\n<pre><code>* The prices are all within the min-max of existing house prices, so they are not outrageous.\n* I'd argue that it is difficult to justify the reasonable-ness of the predicted prices purely based on the Data Exploration statistics (beyond whether or not the prices are obviously crazy). We need more information on the distribution of `RMSTAT`, `PTRATIO` and `LSTAT`.</code></pre>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[14]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"k\">print</span> <span class=\"s2\">&quot;Stds away from the mean (Client 1): &quot;</span><span class=\"p\">,</span> <span class=\"p\">(</span><span class=\"n\">client_prices</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">-</span><span class=\"n\">mean_price</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">std_price</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Stds away from the mean (Client 2): &quot;</span><span class=\"p\">,</span> <span class=\"p\">(</span><span class=\"n\">client_prices</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span><span class=\"o\">-</span><span class=\"n\">mean_price</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">std_price</span>\n<span class=\"k\">print</span> <span class=\"s2\">&quot;Stds away from the mean (Client 3): &quot;</span><span class=\"p\">,</span> <span class=\"p\">(</span><span class=\"n\">client_prices</span><span class=\"p\">[</span><span class=\"mi\">2</span><span class=\"p\">]</span><span class=\"o\">-</span><span class=\"n\">mean_price</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">std_price</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Stds away from the mean (Client 1):  -0.285225053221\nStds away from the mean (Client 2):  -1.36308895314\nStds away from the mean (Client 3):  3.17826154187\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Sensitivity\">Sensitivity<a class=\"anchor-link\" href=\"#Sensitivity\">&#182;</a></h3><p>An optimal model is not necessarily a robust model. Sometimes, a model is either too complex or too simple to sufficiently generalize to new data. Sometimes, a model could use a learning algorithm that is not appropriate for the structure of the data given. Other times, the data itself could be too noisy or contain too few samples to allow a model to adequately capture the target variable — i.e., the model is underfitted. Run the code cell below to run the <code>fit_model</code> function ten times with different training and testing sets to see how the prediction for a specific client changes with the data it's trained on.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[15]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"n\">vs</span><span class=\"o\">.</span><span class=\"n\">PredictTrials</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">prices</span><span class=\"p\">,</span> <span class=\"n\">fit_model</span><span class=\"p\">,</span> <span class=\"n\">client_data</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Trial 1: $391,183.33\nTrial 2: $419,700.00\nTrial 3: $415,800.00\nTrial 4: $420,622.22\nTrial 5: $418,377.27\nTrial 6: $411,931.58\nTrial 7: $399,663.16\nTrial 8: $407,232.00\nTrial 9: $351,577.61\nTrial 10: $413,700.00\n\nRange in prices: $69,044.61\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-11---Applicability\">Question 11 - Applicability<a class=\"anchor-link\" href=\"#Question-11---Applicability\">&#182;</a></h3><p><em>In a few sentences, discuss whether the constructed model should or should not be used in a real-world setting.</em><br>\n<strong>Hint:</strong> Some questions to answer:</p>\n<ul>\n<li><em>How relevant today is data that was collected from 1978?</em></li>\n<li><em>Are the features present in the data sufficient to describe a home?</em></li>\n<li><em>Is the model robust enough to make consistent predictions?</em></li>\n<li><em>Would data collected in an urban city like Boston be applicable in a rural city?</em></li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<ol>\n<li>House prices have changed greatly since 1978. <ul>\n<li>Taking inflation into account is insufficient because housing prices are highly volatile. </li>\n<li>So even a model based on data from 3 years ago might not be useful today.</li>\n</ul>\n</li>\n<li>Features presented are not sufficient to describe a home.<ul>\n<li>Important features may include square feet, other aspects of location (proximity to transport, places of work, grocery stores, schools, leisure facilities), state of house (age, whether it's recently been refurbished).</li>\n<li>But with more features comes the need for exponentially more data (the Curse of Dimensionality).</li>\n</ul>\n</li>\n<li>The model does not make consistent predictions, as seen in the Sensitivity section above.<ul>\n<li>The range in prices of \\$28,652.84 is non-trivial - for some, it is more than 6 months' worth of the median US salary.</li>\n<li>But if you look at the percentage variation it's about +/- 3.5% which isn't that much. <ul>\n<li>Calculation ((28652.84/2)/410000), 410k estimated by eye.</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>No, data collected in an urban city like Boston would not be applicable in a rural city. So the predictions in this model <strong>should not be used in other cities</strong>. <ul>\n<li>If we constructed a model based on data from a wide range of cities and included features that could represent the variation in cities (e.g. population, GDP per capita), we might be able come up with a model that can cover both urban and rural cities in different countries.</li>\n<li>But that would be a complex model that wolud require exponentially more data.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[16]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython2\"><pre><span></span><span class=\"c1\"># Rough work calculations</span>\n<span class=\"p\">(</span><span class=\"mf\">28652.84</span><span class=\"o\">/</span><span class=\"mi\">2</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"mi\">410000</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[16]:</div>\n\n\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>0.03494248780487805</pre>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n    </div>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "p1-boston-housing/visuals.py",
    "content": "###########################################\n# Suppress matplotlib user warnings\n# Necessary for newer version of matplotlib\nimport warnings\nwarnings.filterwarnings(\"ignore\", category = UserWarning, module = \"matplotlib\")\n###########################################\n\nimport matplotlib.pyplot as pl\nimport numpy as np\nimport sklearn.learning_curve as curves\nfrom sklearn.tree import DecisionTreeRegressor\nfrom sklearn.cross_validation import ShuffleSplit, train_test_split\n\ndef ModelLearning(X, y):\n    \"\"\" Calculates the performance of several models with varying sizes of training data.\n        The learning and testing scores for each model are then plotted. \"\"\"\n    \n    # Create 10 cross-validation sets for training and testing\n    cv = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.2, random_state = 0)\n\n    # Generate the training set sizes increasing by 50\n    train_sizes = np.rint(np.linspace(1, X.shape[0]*0.8 - 1, 9)).astype(int)\n\n    # Create the figure window\n    fig = pl.figure(figsize=(10,7))\n\n    # Create three different models based on max_depth\n    for k, depth in enumerate([1,3,6,10]):\n        \n        # Create a Decision tree regressor at max_depth = depth\n        regressor = DecisionTreeRegressor(max_depth = depth)\n\n        # Calculate the training and testing scores\n        sizes, train_scores, test_scores = curves.learning_curve(regressor, X, y, \\\n            cv = cv, train_sizes = train_sizes, scoring = 'r2')\n        \n        # Find the mean and standard deviation for smoothing\n        train_std = np.std(train_scores, axis = 1)\n        train_mean = np.mean(train_scores, axis = 1)\n        test_std = np.std(test_scores, axis = 1)\n        test_mean = np.mean(test_scores, axis = 1)\n\n        # Subplot the learning curve \n        ax = fig.add_subplot(2, 2, k+1)\n        ax.plot(sizes, train_mean, 'o-', color = 'r', label = 'Training Score')\n        ax.plot(sizes, test_mean, 'o-', color = 'g', label = 'Testing Score')\n        ax.fill_between(sizes, train_mean - train_std, \\\n            train_mean + train_std, alpha = 0.15, color = 'r')\n        ax.fill_between(sizes, test_mean - test_std, \\\n            test_mean + test_std, alpha = 0.15, color = 'g')\n        \n        # Labels\n        ax.set_title('max_depth = %s'%(depth))\n        ax.set_xlabel('Number of Training Points')\n        ax.set_ylabel('Score')\n        ax.set_xlim([0, X.shape[0]*0.8])\n        ax.set_ylim([-0.05, 1.05])\n    \n    # Visual aesthetics\n    ax.legend(bbox_to_anchor=(1.05, 2.05), loc='lower left', borderaxespad = 0.)\n    fig.suptitle('Decision Tree Regressor Learning Performances', fontsize = 16, y = 1.03)\n    fig.tight_layout()\n    fig.show()\n\n\ndef ModelComplexity(X, y):\n    \"\"\" Calculates the performance of the model as model complexity increases.\n        The learning and testing errors rates are then plotted. \"\"\"\n    \n    # Create 10 cross-validation sets for training and testing\n    cv = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.2, random_state = 0)\n\n    # Vary the max_depth parameter from 1 to 10\n    max_depth = np.arange(1,11)\n\n    # Calculate the training and testing scores\n    train_scores, test_scores = curves.validation_curve(DecisionTreeRegressor(), X, y, \\\n        param_name = \"max_depth\", param_range = max_depth, cv = cv, scoring = 'r2')\n\n    # Find the mean and standard deviation for smoothing\n    train_mean = np.mean(train_scores, axis=1)\n    train_std = np.std(train_scores, axis=1)\n    test_mean = np.mean(test_scores, axis=1)\n    test_std = np.std(test_scores, axis=1)\n\n    # Plot the validation curve\n    pl.figure(figsize=(7, 5))\n    pl.title('Decision Tree Regressor Complexity Performance')\n    pl.plot(max_depth, train_mean, 'o-', color = 'r', label = 'Training Score')\n    pl.plot(max_depth, test_mean, 'o-', color = 'g', label = 'Validation Score')\n    pl.fill_between(max_depth, train_mean - train_std, \\\n        train_mean + train_std, alpha = 0.15, color = 'r')\n    pl.fill_between(max_depth, test_mean - test_std, \\\n        test_mean + test_std, alpha = 0.15, color = 'g')\n    \n    # Visual aesthetics\n    pl.legend(loc = 'lower right')\n    pl.xlabel('Maximum Depth')\n    pl.ylabel('Score')\n    pl.ylim([-0.05,1.05])\n    pl.show()\n\n\ndef PredictTrials(X, y, fitter, data):\n    \"\"\" Performs trials of fitting and predicting data. \"\"\"\n\n    # Store the predicted prices\n    prices = []\n\n    for k in range(10):\n        # Split the data\n        X_train, X_test, y_train, y_test = train_test_split(X, y, \\\n            test_size = 0.2, random_state = k)\n        \n        # Fit the data\n        reg = fitter(X_train, y_train)\n        \n        # Make a prediction\n        pred = reg.predict([data[0]])[0]\n        prices.append(pred)\n        \n        # Result\n        print \"Trial {}: ${:,.2f}\".format(k+1, pred)\n\n    # Display price range\n    print \"\\nRange in prices: ${:,.2f}\".format(max(prices) - min(prices))"
  },
  {
    "path": "p2-student-intervention/.ipynb_checkpoints/student_intervention-Copy1-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 54,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count labels column\\n\",\n    \"n_features = len(student_data.iloc[0]) -1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 30 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 30 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0516 seconds\\n\",\n      \"Score:  0.97\\n\",\n      \"Made predictions in 0.0039 seconds.\\n\",\n      \"F1 score for training set: 0.9774.\\n\",\n      \"Score:  0.652631578947\\n\",\n      \"Made predictions in 0.0024 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0095 seconds\\n\",\n      \"Score:  0.985\\n\",\n      \"Made predictions in 0.0027 seconds.\\n\",\n      \"F1 score for training set: 0.9889.\\n\",\n      \"Score:  0.684210526316\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for test set: 0.7727.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0146 seconds\\n\",\n      \"Score:  0.986666666667\\n\",\n      \"Made predictions in 0.0065 seconds.\\n\",\n      \"F1 score for training set: 0.9901.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0019 seconds.\\n\",\n      \"F1 score for test set: 0.7344.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Score:  0.82\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Score:  0.589473684211\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Score:  0.775\\n\",\n      \"Made predictions in 0.0062 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Score:  0.578947368421\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Score:  0.743333333333\\n\",\n      \"Made predictions in 0.0044 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Score:  0.6\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0039 seconds\\n\",\n      \"Score:  0.84\\n\",\n      \"Made predictions in 0.0043 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Score:  0.815\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Score:  0.610526315789\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0038 seconds\\n\",\n      \"Score:  0.783333333333\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Score:  0.631578947368\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier(random_state=0)\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = LogisticRegression(random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 63,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a DecisionTreeClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.6721.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6723.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0058 seconds\\n\",\n      \"Made predictions in 0.0029 seconds.\\n\",\n      \"F1 score for training set: 0.0000.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.0000.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8074.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7069.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0010 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.6268.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6847.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0016 seconds.\\n\",\n      \"F1 score for training set: 0.8645.\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.7867.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0040 seconds\\n\",\n      \"Made predictions in 0.0021 seconds.\\n\",\n      \"F1 score for training set: 0.8698.\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for test set: 0.7785.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0068 seconds\\n\",\n      \"Made predictions in 0.0040 seconds.\\n\",\n      \"F1 score for training set: 0.8675.\\n\",\n      \"Made predictions in 0.0015 seconds.\\n\",\n      \"F1 score for test set: 0.7755.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0015 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0034 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\\n\",\n      \"  'precision', 'predicted', average, warn_for)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Models 4 - 7 for general comparison\\n\",\n    \"\\n\",\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.svm import SVC\\n\",\n    \"from sklearn.neighbors import KNeighborsClassifier\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.linear_model import SGDClassifier\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = DecisionTreeClassifier()\\n\",\n    \"clf_B = SGDClassifier()\\n\",\n    \"clf_C = SVC()\\n\",\n    \"clf_D = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C, clf_D]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0102                   |     0.0009                   |      0.9922            |         **0.7206**        |\\n\",\n    \"| 200               |        0.0094          |            0.0008            |          0.9962        |       0.6977          |\\n\",\n    \"| 300               |           0.0107              |         0.0012               |        0.9951          |    0.6721      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0009               |     0.0004                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 4 - Support Vector Machines SVC**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |        0.0038                 |    0.0007                    |            0.8671      |    0.7483             |\\n\",\n    \"| 200               |     0.0033             |     0.0013                   |   0.8800               |     0.7724            |\\n\",\n    \"| 300               |        0.0053                 |      0.0013                  |     0.8793             |     **0.7808**     |\\n\",\n    \"\\n\",\n    \"* This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).\\n\",\n    \"* Prediction time linear with number of things to predict for training set sizes 200,300.\\n\",\n    \"\\n\",\n    \"** Classifer 5 - KNeighborsClassifier**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |    0.0006                     |    0.0012                    |    0.8345              |     0.7023            |\\n\",\n    \"| 200               |     0.0006             |      0.0014                  |       0.8502           |   0.7121              |\\n\",\n    \"| 300               |      0.0007                   |    0.0019                    |   0.8731               |     **0.7556**     |\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"** Classifer 6 - Decision Trees**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |           0.0009              |    0.0004                    |   1.0000               |     0.6667            |\\n\",\n    \"| 200               |     0.0013             |        0.0001                |   1.0000               |    **0.7460**             |\\n\",\n    \"| 300               |     0.0016                    |     0.0002                   |      1.0000            |     0.7424     |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.\\n\",\n    \"\\n\",\n    \"** Classifer 7 - Stochastic Gradient Descent**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |         0.0091                |     0.0008                   |    0.7832              |     0.7586            |\\n\",\n    \"| 200               |     0.0010             |    0.0002                    |      0.5027            |     0.3902            |\\n\",\n    \"| 300               |       0.0010                  |         0.0002               |  0.5981                |     0.4946     |\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**The model is trained by** trying to fit an S-shaped curve to our data. This curve maps input features to the whether or not a student passed. The model picks this curve by minimising some error between the curve and our training data. This curve is expressed in the form of an equation (which becomes our model for prediction).\\n\",\n    \"\\n\",\n    \"**The model makes a prediction** putting the input features (have they failed before? Do they have access to Internet at home?) into an equation we got during training. The equation gives us an output which tells us the chance of this student passing. If we predict that the student is more likely to pass than to fail, they are classified as 'passed' and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/.ipynb_checkpoints/student_intervention-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count label column\\n\",\n    \"n_features = len(student_data.iloc[0]) - 1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 31 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 31 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 62,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0242 seconds\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0022 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0121 seconds\\n\",\n      \"Made predictions in 0.0011 seconds.\\n\",\n      \"F1 score for training set: 0.9964.\\n\",\n      \"Made predictions in 0.0013 seconds.\\n\",\n      \"F1 score for test set: 0.6563.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0140 seconds\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for training set: 0.9927.\\n\",\n      \"Made predictions in 0.0009 seconds.\\n\",\n      \"F1 score for test set: 0.6870.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0077 seconds\\n\",\n      \"Made predictions in 0.0071 seconds.\\n\",\n      \"F1 score for training set: 0.8552.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0030 seconds.\\n\",\n      \"F1 score for training set: 0.8667.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7737.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0047 seconds.\\n\",\n      \"F1 score for training set: 0.8615.\\n\",\n      \"Made predictions in 0.0017 seconds.\\n\",\n      \"F1 score for test set: 0.7971.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier(random_state=0)\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = LogisticRegression(random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 63,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a DecisionTreeClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.6721.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6723.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0058 seconds\\n\",\n      \"Made predictions in 0.0029 seconds.\\n\",\n      \"F1 score for training set: 0.0000.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.0000.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8074.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7069.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0010 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.6268.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6847.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0016 seconds.\\n\",\n      \"F1 score for training set: 0.8645.\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.7867.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0040 seconds\\n\",\n      \"Made predictions in 0.0021 seconds.\\n\",\n      \"F1 score for training set: 0.8698.\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for test set: 0.7785.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0068 seconds\\n\",\n      \"Made predictions in 0.0040 seconds.\\n\",\n      \"F1 score for training set: 0.8675.\\n\",\n      \"Made predictions in 0.0015 seconds.\\n\",\n      \"F1 score for test set: 0.7755.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0015 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0034 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\\n\",\n      \"  'precision', 'predicted', average, warn_for)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Models 4 - 7 for general comparison\\n\",\n    \"\\n\",\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.svm import SVC\\n\",\n    \"from sklearn.neighbors import KNeighborsClassifier\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.linear_model import SGDClassifier\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = DecisionTreeClassifier(random_state=0)\\n\",\n    \"clf_B = SGDClassifier(random_state=0)\\n\",\n    \"clf_C = SVC(random_state=0)\\n\",\n    \"clf_D = KNeighborsClassifier()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C, clf_D]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0102                   |     0.0009                   |      0.9922            |         **0.7206**        |\\n\",\n    \"| 200               |        0.0094          |            0.0008            |          0.9962        |       0.6977          |\\n\",\n    \"| 300               |           0.0107              |         0.0012               |        0.9951          |    0.6721      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0009               |     0.0004                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 4 - Support Vector Machines SVC**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |        0.0038                 |    0.0007                    |            0.8671      |    0.7483             |\\n\",\n    \"| 200               |     0.0033             |     0.0013                   |   0.8800               |     0.7724            |\\n\",\n    \"| 300               |        0.0053                 |      0.0013                  |     0.8793             |     **0.7808**     |\\n\",\n    \"\\n\",\n    \"* This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).\\n\",\n    \"* Prediction time linear with number of things to predict for training set sizes 200,300.\\n\",\n    \"\\n\",\n    \"** Classifer 5 - KNeighborsClassifier**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |    0.0006                     |    0.0012                    |    0.8345              |     0.7023            |\\n\",\n    \"| 200               |     0.0006             |      0.0014                  |       0.8502           |   0.7121              |\\n\",\n    \"| 300               |      0.0007                   |    0.0019                    |   0.8731               |     **0.7556**     |\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"** Classifer 6 - Decision Trees**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |           0.0009              |    0.0004                    |   1.0000               |     0.6667            |\\n\",\n    \"| 200               |     0.0013             |        0.0001                |   1.0000               |    **0.7460**             |\\n\",\n    \"| 300               |     0.0016                    |     0.0002                   |      1.0000            |     0.7424     |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.\\n\",\n    \"\\n\",\n    \"** Classifer 7 - Stochastic Gradient Descent**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |         0.0091                |     0.0008                   |    0.7832              |     0.7586            |\\n\",\n    \"| 200               |     0.0010             |    0.0002                    |      0.5027            |     0.3902            |\\n\",\n    \"| 300               |       0.0010                  |         0.0002               |  0.5981                |     0.4946     |\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Training** Logistic regression will draw one single curve to relate characteristics like whether or not a student has access to Internet or whether to the predicted probability that they pass. For example, it may think that students who have little free time and are in romantic relationships are less likely to pass (an intuitive reason is because they have less time to study). \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Prediction** If the model guesses based on the student's characteristics they are more likely to pass than to fail, then it predicts that they will pass and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/.ipynb_checkpoints/student_intervention1-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 54,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count labels column\\n\",\n    \"n_features = len(student_data.iloc[0]) -1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 30 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 30 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 62,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0242 seconds\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0022 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0121 seconds\\n\",\n      \"Made predictions in 0.0011 seconds.\\n\",\n      \"F1 score for training set: 0.9964.\\n\",\n      \"Made predictions in 0.0013 seconds.\\n\",\n      \"F1 score for test set: 0.6563.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0140 seconds\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for training set: 0.9927.\\n\",\n      \"Made predictions in 0.0009 seconds.\\n\",\n      \"F1 score for test set: 0.6870.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0077 seconds\\n\",\n      \"Made predictions in 0.0071 seconds.\\n\",\n      \"F1 score for training set: 0.8552.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0030 seconds.\\n\",\n      \"F1 score for training set: 0.8667.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7737.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0047 seconds.\\n\",\n      \"F1 score for training set: 0.8615.\\n\",\n      \"Made predictions in 0.0017 seconds.\\n\",\n      \"F1 score for test set: 0.7971.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier()\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = KNeighborsClassifier()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 63,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a DecisionTreeClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.6721.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6723.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0058 seconds\\n\",\n      \"Made predictions in 0.0029 seconds.\\n\",\n      \"F1 score for training set: 0.0000.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.0000.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8074.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7069.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0010 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.6268.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6847.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0016 seconds.\\n\",\n      \"F1 score for training set: 0.8645.\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.7867.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0040 seconds\\n\",\n      \"Made predictions in 0.0021 seconds.\\n\",\n      \"F1 score for training set: 0.8698.\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for test set: 0.7785.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0068 seconds\\n\",\n      \"Made predictions in 0.0040 seconds.\\n\",\n      \"F1 score for training set: 0.8675.\\n\",\n      \"Made predictions in 0.0015 seconds.\\n\",\n      \"F1 score for test set: 0.7755.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0015 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0034 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\\n\",\n      \"  'precision', 'predicted', average, warn_for)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Models 4 - 7 for general comparison\\n\",\n    \"\\n\",\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.svm import SVC\\n\",\n    \"from sklearn.neighbors import KNeighborsClassifier\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.linear_model import SGDClassifier\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = DecisionTreeClassifier()\\n\",\n    \"clf_B = SGDClassifier()\\n\",\n    \"clf_C = SVC()\\n\",\n    \"clf_D = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C, clf_D]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0102                   |     0.0009                   |      0.9922            |         **0.7206**        |\\n\",\n    \"| 200               |        0.0094          |            0.0008            |          0.9962        |       0.6977          |\\n\",\n    \"| 300               |           0.0107              |         0.0012               |        0.9951          |    0.6721      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0009               |     0.0004                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 4 - Support Vector Machines SVC**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |        0.0038                 |    0.0007                    |            0.8671      |    0.7483             |\\n\",\n    \"| 200               |     0.0033             |     0.0013                   |   0.8800               |     0.7724            |\\n\",\n    \"| 300               |        0.0053                 |      0.0013                  |     0.8793             |     **0.7808**     |\\n\",\n    \"\\n\",\n    \"* This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).\\n\",\n    \"* Prediction time linear with number of things to predict for training set sizes 200,300.\\n\",\n    \"\\n\",\n    \"** Classifer 5 - KNeighborsClassifier**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |    0.0006                     |    0.0012                    |    0.8345              |     0.7023            |\\n\",\n    \"| 200               |     0.0006             |      0.0014                  |       0.8502           |   0.7121              |\\n\",\n    \"| 300               |      0.0007                   |    0.0019                    |   0.8731               |     **0.7556**     |\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"** Classifer 6 - Decision Trees**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |           0.0009              |    0.0004                    |   1.0000               |     0.6667            |\\n\",\n    \"| 200               |     0.0013             |        0.0001                |   1.0000               |    **0.7460**             |\\n\",\n    \"| 300               |     0.0016                    |     0.0002                   |      1.0000            |     0.7424     |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.\\n\",\n    \"\\n\",\n    \"** Classifer 7 - Stochastic Gradient Descent**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |         0.0091                |     0.0008                   |    0.7832              |     0.7586            |\\n\",\n    \"| 200               |     0.0010             |    0.0002                    |      0.5027            |     0.3902            |\\n\",\n    \"| 300               |       0.0010                  |         0.0002               |  0.5981                |     0.4946     |\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**The model is trained by** trying to fit an S-shaped curve to our data. This curve maps input features to the whether or not a student passed. The model picks this curve by minimising some error between the curve and our training data. This curve is expressed in the form of an equation (which becomes our model for prediction).\\n\",\n    \"\\n\",\n    \"**The model makes a prediction** putting the input features (have they failed before? Do they have access to Internet at home?) into an equation we got during training. The equation gives us an output which tells us the chance of this student passing. If we predict that the student is more likely to pass than to fail, they are classified as 'passed' and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/.ipynb_checkpoints/student_intervention_py2.7-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: ** \\n\",\n    \"\\n\",\n    \"**Classification**.\\n\",\n    \"- The **inputs are discrete**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output. \\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print \\\"Student data read successfully!\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print \\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students: 395\\n\",\n      \"Number of features: 31\\n\",\n      \"Number of students who passed: 265\\n\",\n      \"Number of students who failed: 130\\n\",\n      \"Graduation rate of the class: 0.67%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"n_features = len(student_data.iloc[0])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print \\\"Total number of students: {}\\\".format(n_students)\\n\",\n    \"print \\\"Number of features: {}\\\".format(n_features)\\n\",\n    \"print \\\"Number of students who passed: {}\\\".format(n_passed)\\n\",\n    \"print \\\"Number of students who failed: {}\\\".format(n_failed)\\n\",\n    \"print \\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print \\\"Feature columns:\\\\n{}\\\".format(feature_cols)\\n\",\n    \"print \\\"\\\\nTarget column: {}\\\".format(target_col)\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print \\\"\\\\nFeature values:\\\"\\n\",\n    \"print X_all.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print \\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"num_test:  95\\n\",\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"print \\\"num_test: \\\", num_test\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print \\\"Training set has {} samples.\\\".format(X_train.shape[0])\\n\",\n    \"print \\\"Testing set has {} samples.\\\".format(X_test.shape[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"Description of data:\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 31 features (non-trivial)\\n\",\n    \"\\n\",\n    \"**Model 1: Naive Bayes**\\n\",\n    \"- Application: Text learning\\n\",\n    \"- Strengths:\\n\",\n    \"    - Efficient: problem stated they cared about computational cost.\\n\",\n    \"    - Can deal with many features. (31 features)\\n\",\n    \"- Weaknesses:\\n\",\n    \"    - Can break...?\\n\",\n    \"    - Independent features assumption may be false.\\n\",\n    \"- Why it's a good fit\\n\",\n    \"    - Efficient -> Problem stated they care about computational cost.\\n\",\n    \"    - Can deal with many features -> There are 31 (many) features in our dataset.\\n\",\n    \"\\n\",\n    \"**Model x: SVM**\\n\",\n    \"- works well in complicated domains where there is a clear margin of separation\\n\",\n    \"- doesn't work well with large datasets because training time is O(n^3) where n is the size of the dataset.\\n\",\n    \"- Don't work well with much noise (e.g. classes overlapping (or many features?)) -> Naive Bayes better.\\n\",\n    \"\\n\",\n    \"**Model 2: Random Forest**\\n\",\n    \"- It's just quite good\\n\",\n    \"- \\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print \\\"Trained model in {:.4f} seconds\\\".format(end - start)\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print \\\"Made predictions in {:.4f} seconds.\\\".format(end - start)\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print \\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print \\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train))\\n\",\n    \"    print \\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"# from sklearn import model_A\\n\",\n    \"# from sklearn import model_B\\n\",\n    \"# from skearln import model_C\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = None\\n\",\n    \"clf_B = None\\n\",\n    \"clf_C = None\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"X_train_100 = None\\n\",\n    \"y_train_100 = None\\n\",\n    \"\\n\",\n    \"X_train_200 = None\\n\",\n    \"y_train_200 = None\\n\",\n    \"\\n\",\n    \"X_train_300 = None\\n\",\n    \"y_train_300 = None\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"# train_predict(clf, X_train, y_train, X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |        EXAMPLE          |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |    EXAMPLE      |\\n\",\n    \"\\n\",\n    \"** Classifer 2 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |     EXAMPLE             |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |     EXAMPLE     |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |                         |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |                 |\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = None\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = None\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = None\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = None\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = None\\n\",\n    \"\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print \\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train))\\n\",\n    \"print \\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/README.md",
    "content": "# Project 2: Supervised Learning\n## Building a Student Intervention System\n\n### Install\n\nThis project requires **Python 2.7** and the following Python libraries installed:\n\n- [NumPy](http://www.numpy.org/)\n- [Pandas](http://pandas.pydata.org)\n- [scikit-learn](http://scikit-learn.org/stable/)\n\nYou will also need to have software installed to run and execute an [iPython Notebook](http://ipython.org/notebook.html)\n\nUdacity recommends our students install [Anaconda](https://www.continuum.io/downloads), a pre-packaged Python distribution that contains all of the necessary libraries and software for this project. \n\n### Code\n\nTemplate code is provided in the notebook `student_intervention.ipynb` notebook file. While some code has already been implemented to get you started, you will need to implement additional functionality when requested to successfully complete the project.\n\n### Run\n\nIn a terminal or command window, navigate to the top-level project directory `student_intervention/` (that contains this README) and run one of the following commands:\n\n```ipython notebook student_intervention.ipynb```  \n```jupyter notebook student_intervention.ipynb```\n\nThis will open the iPython Notebook software and project file in your browser.\n\n## Data\n\nThe dataset used in this project is included as `student-data.csv`. This dataset has the following attributes:\n\n- `school` : student's school (binary: \"GP\" or \"MS\")\n- `sex` : student's sex (binary: \"F\" - female or \"M\" - male)\n- `age` : student's age (numeric: from 15 to 22)\n- `address` : student's home address type (binary: \"U\" - urban or \"R\" - rural)\n- `famsize` : family size (binary: \"LE3\" - less or equal to 3 or \"GT3\" - greater than 3)\n- `Pstatus` : parent's cohabitation status (binary: \"T\" - living together or \"A\" - apart)\n- `Medu` : mother's education (numeric: 0 - none,  1 - primary education (4th grade), 2 - 5th to 9th grade, 3 - secondary education or 4 - higher education)\n- `Fedu` : father's education (numeric: 0 - none,  1 - primary education (4th grade), 2 - 5th to 9th grade, 3 - secondary education or 4 - higher education)\n- `Mjob` : mother's job (nominal: \"teacher\", \"health\" care related, civil \"services\" (e.g. administrative or police), \"at_home\" or \"other\")\n- `Fjob` : father's job (nominal: \"teacher\", \"health\" care related, civil \"services\" (e.g. administrative or police), \"at_home\" or \"other\")\n- `reason` : reason to choose this school (nominal: close to \"home\", school \"reputation\", \"course\" preference or \"other\")\n- `guardian` : student's guardian (nominal: \"mother\", \"father\" or \"other\")\n- `traveltime` : home to school travel time (numeric: 1 - <15 min., 2 - 15 to 30 min., 3 - 30 min. to 1 hour, or 4 - >1 hour)\n- `studytime` : weekly study time (numeric: 1 - <2 hours, 2 - 2 to 5 hours, 3 - 5 to 10 hours, or 4 - >10 hours)\n- `failures` : number of past class failures (numeric: n if 1<=n<3, else 4)\n- `schoolsup` : extra educational support (binary: yes or no)\n- `famsup` : family educational support (binary: yes or no)\n- `paid` : extra paid classes within the course subject (Math or Portuguese) (binary: yes or no)\n- `activities` : extra-curricular activities (binary: yes or no)\n- `nursery` : attended nursery school (binary: yes or no)\n- `higher` : wants to take higher education (binary: yes or no)\n- `internet` : Internet access at home (binary: yes or no)\n- `romantic` : with a romantic relationship (binary: yes or no)\n- `famrel` : quality of family relationships (numeric: from 1 - very bad to 5 - excellent)\n- `freetime` : free time after school (numeric: from 1 - very low to 5 - very high)\n- `goout` : going out with friends (numeric: from 1 - very low to 5 - very high)\n- `Dalc` : workday alcohol consumption (numeric: from 1 - very low to 5 - very high)\n- `Walc` : weekend alcohol consumption (numeric: from 1 - very low to 5 - very high)\n- `health` : current health status (numeric: from 1 - very bad to 5 - very good)\n- `absences` : number of school absences (numeric: from 0 to 93)\n- `passed` : did the student pass the final exam (binary: yes or no)\n"
  },
  {
    "path": "p2-student-intervention/archive/student_intervention-Copy1.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 54,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count labels column\\n\",\n    \"n_features = len(student_data.iloc[0]) -1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 30 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 30 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0516 seconds\\n\",\n      \"Score:  0.97\\n\",\n      \"Made predictions in 0.0039 seconds.\\n\",\n      \"F1 score for training set: 0.9774.\\n\",\n      \"Score:  0.652631578947\\n\",\n      \"Made predictions in 0.0024 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0095 seconds\\n\",\n      \"Score:  0.985\\n\",\n      \"Made predictions in 0.0027 seconds.\\n\",\n      \"F1 score for training set: 0.9889.\\n\",\n      \"Score:  0.684210526316\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for test set: 0.7727.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0146 seconds\\n\",\n      \"Score:  0.986666666667\\n\",\n      \"Made predictions in 0.0065 seconds.\\n\",\n      \"F1 score for training set: 0.9901.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0019 seconds.\\n\",\n      \"F1 score for test set: 0.7344.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Score:  0.82\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Score:  0.589473684211\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Score:  0.775\\n\",\n      \"Made predictions in 0.0062 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Score:  0.578947368421\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Score:  0.743333333333\\n\",\n      \"Made predictions in 0.0044 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Score:  0.6\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0039 seconds\\n\",\n      \"Score:  0.84\\n\",\n      \"Made predictions in 0.0043 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Score:  0.815\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Score:  0.610526315789\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0038 seconds\\n\",\n      \"Score:  0.783333333333\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Score:  0.631578947368\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier(random_state=0)\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = LogisticRegression(random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 63,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a DecisionTreeClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.6721.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6723.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0058 seconds\\n\",\n      \"Made predictions in 0.0029 seconds.\\n\",\n      \"F1 score for training set: 0.0000.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.0000.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8074.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7069.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0010 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.6268.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6847.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0016 seconds.\\n\",\n      \"F1 score for training set: 0.8645.\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.7867.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0040 seconds\\n\",\n      \"Made predictions in 0.0021 seconds.\\n\",\n      \"F1 score for training set: 0.8698.\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for test set: 0.7785.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0068 seconds\\n\",\n      \"Made predictions in 0.0040 seconds.\\n\",\n      \"F1 score for training set: 0.8675.\\n\",\n      \"Made predictions in 0.0015 seconds.\\n\",\n      \"F1 score for test set: 0.7755.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0015 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0034 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\\n\",\n      \"  'precision', 'predicted', average, warn_for)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Models 4 - 7 for general comparison\\n\",\n    \"\\n\",\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.svm import SVC\\n\",\n    \"from sklearn.neighbors import KNeighborsClassifier\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.linear_model import SGDClassifier\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = DecisionTreeClassifier()\\n\",\n    \"clf_B = SGDClassifier()\\n\",\n    \"clf_C = SVC()\\n\",\n    \"clf_D = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C, clf_D]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0102                   |     0.0009                   |      0.9922            |         **0.7206**        |\\n\",\n    \"| 200               |        0.0094          |            0.0008            |          0.9962        |       0.6977          |\\n\",\n    \"| 300               |           0.0107              |         0.0012               |        0.9951          |    0.6721      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0009               |     0.0004                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 4 - Support Vector Machines SVC**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |        0.0038                 |    0.0007                    |            0.8671      |    0.7483             |\\n\",\n    \"| 200               |     0.0033             |     0.0013                   |   0.8800               |     0.7724            |\\n\",\n    \"| 300               |        0.0053                 |      0.0013                  |     0.8793             |     **0.7808**     |\\n\",\n    \"\\n\",\n    \"* This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).\\n\",\n    \"* Prediction time linear with number of things to predict for training set sizes 200,300.\\n\",\n    \"\\n\",\n    \"** Classifer 5 - KNeighborsClassifier**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |    0.0006                     |    0.0012                    |    0.8345              |     0.7023            |\\n\",\n    \"| 200               |     0.0006             |      0.0014                  |       0.8502           |   0.7121              |\\n\",\n    \"| 300               |      0.0007                   |    0.0019                    |   0.8731               |     **0.7556**     |\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"** Classifer 6 - Decision Trees**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |           0.0009              |    0.0004                    |   1.0000               |     0.6667            |\\n\",\n    \"| 200               |     0.0013             |        0.0001                |   1.0000               |    **0.7460**             |\\n\",\n    \"| 300               |     0.0016                    |     0.0002                   |      1.0000            |     0.7424     |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.\\n\",\n    \"\\n\",\n    \"** Classifer 7 - Stochastic Gradient Descent**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |         0.0091                |     0.0008                   |    0.7832              |     0.7586            |\\n\",\n    \"| 200               |     0.0010             |    0.0002                    |      0.5027            |     0.3902            |\\n\",\n    \"| 300               |       0.0010                  |         0.0002               |  0.5981                |     0.4946     |\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**The model is trained by** trying to fit an S-shaped curve to our data. This curve maps input features to the whether or not a student passed. The model picks this curve by minimising some error between the curve and our training data. This curve is expressed in the form of an equation (which becomes our model for prediction).\\n\",\n    \"\\n\",\n    \"**The model makes a prediction** putting the input features (have they failed before? Do they have access to Internet at home?) into an equation we got during training. The equation gives us an output which tells us the chance of this student passing. If we predict that the student is more likely to pass than to fail, they are classified as 'passed' and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/archive/student_intervention1.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 54,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 65,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count labels column\\n\",\n    \"n_features = len(student_data.iloc[0]) -1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 30 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 30 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0516 seconds\\n\",\n      \"Score:  0.97\\n\",\n      \"Made predictions in 0.0039 seconds.\\n\",\n      \"F1 score for training set: 0.9774.\\n\",\n      \"Score:  0.652631578947\\n\",\n      \"Made predictions in 0.0024 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0095 seconds\\n\",\n      \"Score:  0.985\\n\",\n      \"Made predictions in 0.0027 seconds.\\n\",\n      \"F1 score for training set: 0.9889.\\n\",\n      \"Score:  0.684210526316\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for test set: 0.7727.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0146 seconds\\n\",\n      \"Score:  0.986666666667\\n\",\n      \"Made predictions in 0.0065 seconds.\\n\",\n      \"F1 score for training set: 0.9901.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0019 seconds.\\n\",\n      \"F1 score for test set: 0.7344.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Score:  0.82\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Score:  0.589473684211\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Score:  0.775\\n\",\n      \"Made predictions in 0.0062 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Score:  0.578947368421\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Score:  0.743333333333\\n\",\n      \"Made predictions in 0.0044 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Score:  0.6\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0039 seconds\\n\",\n      \"Score:  0.84\\n\",\n      \"Made predictions in 0.0043 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Score:  0.642105263158\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Score:  0.815\\n\",\n      \"Made predictions in 0.0005 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Score:  0.610526315789\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0038 seconds\\n\",\n      \"Score:  0.783333333333\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Score:  0.631578947368\\n\",\n      \"Made predictions in 0.0004 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier(random_state=0)\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = LogisticRegression(random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0516                   |     0.0024                   |      0.9774            |         0.7556        |\\n\",\n    \"| 200               |        0.0095          |            0.0018            |          0.9889        |       **0.7727**          |\\n\",\n    \"| 300               |           0.0146              |         0.0019               |        0.9901          |    0.7344      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (0.97-0.99) vs lower F1 score for test (0.73-0.77) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (over 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0018               |     0.0007                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**The model is trained by** trying to fit an S-shaped curve to our data. This curve maps input features to the whether or not a student passed. The model picks this curve by minimising some error between the curve and our training data. This curve is expressed in the form of an equation (which becomes our model for prediction).\\n\",\n    \"\\n\",\n    \"**The model makes a prediction** putting the input features (have they failed before? Do they have access to Internet at home?) into an equation we got during training. The equation gives us an output which tells us the chance of this student passing. If we predict that the student is more likely to pass than to fail, they are classified as 'passed' and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/archive/student_intervention_py2.7.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: ** \\n\",\n    \"\\n\",\n    \"**Classification**.\\n\",\n    \"- The **inputs are discrete**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output. \\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print \\\"Student data read successfully!\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print \\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students: 395\\n\",\n      \"Number of features: 31\\n\",\n      \"Number of students who passed: 265\\n\",\n      \"Number of students who failed: 130\\n\",\n      \"Graduation rate of the class: 0.67%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"n_features = len(student_data.iloc[0])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print \\\"Total number of students: {}\\\".format(n_students)\\n\",\n    \"print \\\"Number of features: {}\\\".format(n_features)\\n\",\n    \"print \\\"Number of students who passed: {}\\\".format(n_passed)\\n\",\n    \"print \\\"Number of students who failed: {}\\\".format(n_failed)\\n\",\n    \"print \\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print \\\"Feature columns:\\\\n{}\\\".format(feature_cols)\\n\",\n    \"print \\\"\\\\nTarget column: {}\\\".format(target_col)\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print \\\"\\\\nFeature values:\\\"\\n\",\n    \"print X_all.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print \\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"num_test:  95\\n\",\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"print \\\"num_test: \\\", num_test\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_all, y_all = shuffle(X_all, y_all)\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print \\\"Training set has {} samples.\\\".format(X_train.shape[0])\\n\",\n    \"print \\\"Testing set has {} samples.\\\".format(X_test.shape[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"Description of data:\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 31 features (non-trivial)\\n\",\n    \"\\n\",\n    \"**Model 1: Naive Bayes**\\n\",\n    \"- Application: Text learning\\n\",\n    \"- Strengths:\\n\",\n    \"    - Efficient: problem stated they cared about computational cost.\\n\",\n    \"    - Can deal with many features. (31 features)\\n\",\n    \"- Weaknesses:\\n\",\n    \"    - Can break...?\\n\",\n    \"    - Independent features assumption may be false.\\n\",\n    \"- Why it's a good fit\\n\",\n    \"    - Efficient -> Problem stated they care about computational cost.\\n\",\n    \"    - Can deal with many features -> There are 31 (many) features in our dataset.\\n\",\n    \"\\n\",\n    \"**Model x: SVM**\\n\",\n    \"- works well in complicated domains where there is a clear margin of separation\\n\",\n    \"- doesn't work well with large datasets because training time is O(n^3) where n is the size of the dataset.\\n\",\n    \"- Don't work well with much noise (e.g. classes overlapping (or many features?)) -> Naive Bayes better.\\n\",\n    \"\\n\",\n    \"**Model 2: Random Forest**\\n\",\n    \"- It's just quite good\\n\",\n    \"- \\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print \\\"Trained model in {:.4f} seconds\\\".format(end - start)\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print \\\"Made predictions in {:.4f} seconds.\\\".format(end - start)\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print \\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print \\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train))\\n\",\n    \"    print \\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"# from sklearn import model_A\\n\",\n    \"# from sklearn import model_B\\n\",\n    \"# from skearln import model_C\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = None\\n\",\n    \"clf_B = None\\n\",\n    \"clf_C = None\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"X_train_100 = None\\n\",\n    \"y_train_100 = None\\n\",\n    \"\\n\",\n    \"X_train_200 = None\\n\",\n    \"y_train_200 = None\\n\",\n    \"\\n\",\n    \"X_train_300 = None\\n\",\n    \"y_train_300 = None\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"# train_predict(clf, X_train, y_train, X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |        EXAMPLE          |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |    EXAMPLE      |\\n\",\n    \"\\n\",\n    \"** Classifer 2 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |     EXAMPLE             |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |     EXAMPLE     |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - ?**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time | Prediction Time (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |                         |                        |                  |                 |\\n\",\n    \"| 200               |                         |                        |                  |                 |\\n\",\n    \"| 300               |                         |                        |                  |                 |\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = None\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = None\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = None\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = None\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = None\\n\",\n    \"\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print \\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train))\\n\",\n    \"print \\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p2-student-intervention/report.html",
    "content": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>student_intervention</title>\n\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>\n\n<style type=\"text/css\">\n    /*!\n*\n* Twitter Bootstrap\n*\n*/\n/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #000;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 3px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 18px;\n  margin-bottom: 18px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 18px;\n  margin-bottom: 9px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 33px;\n}\nh2,\n.h2 {\n  font-size: 27px;\n}\nh3,\n.h3 {\n  font-size: 23px;\n}\nh4,\n.h4 {\n  font-size: 17px;\n}\nh5,\n.h5 {\n  font-size: 13px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 9px;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 14px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 19.5px;\n  }\n}\nsmall,\n.small {\n  font-size: 92%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 8px;\n  margin: 36px 0 18px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 9px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 18px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 541px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 9px 18px;\n  margin: 0 0 18px;\n  font-size: inherit;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 18px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 2px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #888;\n  background-color: transparent;\n  border-radius: 1px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 768px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 940px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1140px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 18px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 13.5px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 18px;\n  font-size: 19.5px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 32px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 45px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 18px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 31px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 30px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.form-group-lg select.form-control {\n  height: 45px;\n  line-height: 45px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 45px;\n  min-height: 35px;\n  padding: 11px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 40px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 45px;\n  height: 45px;\n  line-height: 45px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 23px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #404040;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 25px;\n}\n.form-horizontal .form-group {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 17px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  border-radius: 2px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 13px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 541px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 1px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 17px;\n  border-radius: 3px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 2px 2px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 2px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 30px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n}\n@media (min-width: 541px) {\n  .navbar {\n    border-radius: 2px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 0px;\n  padding-left: 0px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 541px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 540px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: 0px;\n  margin-left: 0px;\n}\n@media (min-width: 541px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 541px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 541px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 6px 0px;\n  font-size: 17px;\n  line-height: 18px;\n  height: 30px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 541px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: 0px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 0px;\n  padding: 9px 10px;\n  margin-top: -2px;\n  margin-bottom: -2px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 541px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 3px 0px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 18px;\n}\n@media (max-width: 540px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 18px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 6px;\n    padding-bottom: 6px;\n  }\n}\n.navbar-form {\n  margin-left: 0px;\n  margin-right: 0px;\n  padding: 10px 0px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 540px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 0px;\n  margin-bottom: 0px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 4px;\n  margin-bottom: 4px;\n}\n.navbar-text {\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n@media (min-width: 541px) {\n  .navbar-text {\n    float: left;\n    margin-left: 0px;\n    margin-right: 0px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-left {\n    float: left !important;\n    float: left;\n  }\n  .navbar-right {\n    float: right !important;\n    float: right;\n    margin-right: 0px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 540px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 540px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 18px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #5e5e5e;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 18px 0;\n  border-radius: 2px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 2px;\n  border-top-right-radius: 2px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.pager {\n  padding-left: 0;\n  margin: 18px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 20px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 3px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 59px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 18px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #000;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 18px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 18px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 2px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 15px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 1px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 1px;\n  border-bottom-right-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 1px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 18px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 2px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 3px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 1px;\n}\n.close {\n  float: right;\n  font-size: 19.5px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 2px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 13px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 13px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 2px 2px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.item_buttons:before,\n.item_buttons:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after,\n.item_buttons:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*!\n*\n* Font Awesome\n*\n*/\n/*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eee;\n  border-radius: .1em;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n/*!\n*\n* IPython base\n*\n*/\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\ncode {\n  color: #000;\n}\npre {\n  font-size: inherit;\n  line-height: inherit;\n}\nlabel {\n  font-weight: normal;\n}\n/* Make the page background atleast 100% the height of the view port */\n/* Make the page itself atleast 70% the height of the view port */\n.border-box-sizing {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.corner-all {\n  border-radius: 2px;\n}\n.no-padding {\n  padding: 0px;\n}\n/* Flexible box model classes */\n/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */\n/* This file is a compatability layer.  It allows the usage of flexible box \nmodel layouts accross multiple browsers, including older browsers.  The newest,\nuniversal implementation of the flexible box model is used when available (see\n`Modern browsers` comments below).  Browsers that are known to implement this \nnew spec completely include:\n\n    Firefox 28.0+\n    Chrome 29.0+\n    Internet Explorer 11+ \n    Opera 17.0+\n\nBrowsers not listed, including Safari, are supported via the styling under the\n`Old browsers` comments below.\n*/\n.hbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n.hbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.vbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n.vbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.hbox.reverse,\n.vbox.reverse,\n.reverse {\n  /* Old browsers */\n  -webkit-box-direction: reverse;\n  -moz-box-direction: reverse;\n  box-direction: reverse;\n  /* Modern browsers */\n  flex-direction: row-reverse;\n}\n.hbox.box-flex0,\n.vbox.box-flex0,\n.box-flex0 {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n  width: auto;\n}\n.hbox.box-flex1,\n.vbox.box-flex1,\n.box-flex1 {\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex,\n.vbox.box-flex,\n.box-flex {\n  /* Old browsers */\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex2,\n.vbox.box-flex2,\n.box-flex2 {\n  /* Old browsers */\n  -webkit-box-flex: 2;\n  -moz-box-flex: 2;\n  box-flex: 2;\n  /* Modern browsers */\n  flex: 2;\n}\n.box-group1 {\n  /*  Deprecated */\n  -webkit-box-flex-group: 1;\n  -moz-box-flex-group: 1;\n  box-flex-group: 1;\n}\n.box-group2 {\n  /* Deprecated */\n  -webkit-box-flex-group: 2;\n  -moz-box-flex-group: 2;\n  box-flex-group: 2;\n}\n.hbox.start,\n.vbox.start,\n.start {\n  /* Old browsers */\n  -webkit-box-pack: start;\n  -moz-box-pack: start;\n  box-pack: start;\n  /* Modern browsers */\n  justify-content: flex-start;\n}\n.hbox.end,\n.vbox.end,\n.end {\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n}\n.hbox.center,\n.vbox.center,\n.center {\n  /* Old browsers */\n  -webkit-box-pack: center;\n  -moz-box-pack: center;\n  box-pack: center;\n  /* Modern browsers */\n  justify-content: center;\n}\n.hbox.baseline,\n.vbox.baseline,\n.baseline {\n  /* Old browsers */\n  -webkit-box-pack: baseline;\n  -moz-box-pack: baseline;\n  box-pack: baseline;\n  /* Modern browsers */\n  justify-content: baseline;\n}\n.hbox.stretch,\n.vbox.stretch,\n.stretch {\n  /* Old browsers */\n  -webkit-box-pack: stretch;\n  -moz-box-pack: stretch;\n  box-pack: stretch;\n  /* Modern browsers */\n  justify-content: stretch;\n}\n.hbox.align-start,\n.vbox.align-start,\n.align-start {\n  /* Old browsers */\n  -webkit-box-align: start;\n  -moz-box-align: start;\n  box-align: start;\n  /* Modern browsers */\n  align-items: flex-start;\n}\n.hbox.align-end,\n.vbox.align-end,\n.align-end {\n  /* Old browsers */\n  -webkit-box-align: end;\n  -moz-box-align: end;\n  box-align: end;\n  /* Modern browsers */\n  align-items: flex-end;\n}\n.hbox.align-center,\n.vbox.align-center,\n.align-center {\n  /* Old browsers */\n  -webkit-box-align: center;\n  -moz-box-align: center;\n  box-align: center;\n  /* Modern browsers */\n  align-items: center;\n}\n.hbox.align-baseline,\n.vbox.align-baseline,\n.align-baseline {\n  /* Old browsers */\n  -webkit-box-align: baseline;\n  -moz-box-align: baseline;\n  box-align: baseline;\n  /* Modern browsers */\n  align-items: baseline;\n}\n.hbox.align-stretch,\n.vbox.align-stretch,\n.align-stretch {\n  /* Old browsers */\n  -webkit-box-align: stretch;\n  -moz-box-align: stretch;\n  box-align: stretch;\n  /* Modern browsers */\n  align-items: stretch;\n}\ndiv.error {\n  margin: 2em;\n  text-align: center;\n}\ndiv.error > h1 {\n  font-size: 500%;\n  line-height: normal;\n}\ndiv.error > p {\n  font-size: 200%;\n  line-height: normal;\n}\ndiv.traceback-wrapper {\n  text-align: left;\n  max-width: 800px;\n  margin: auto;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nbody {\n  background-color: #fff;\n  /* This makes sure that the body covers the entire window and needs to\n       be in a different element than the display: box in wrapper below */\n  position: absolute;\n  left: 0px;\n  right: 0px;\n  top: 0px;\n  bottom: 0px;\n  overflow: visible;\n}\nbody > #header {\n  /* Initially hidden to prevent FLOUC */\n  display: none;\n  background-color: #fff;\n  /* Display over codemirror */\n  position: relative;\n  z-index: 100;\n}\nbody > #header #header-container {\n  padding-bottom: 5px;\n  padding-top: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\nbody > #header .header-bar {\n  width: 100%;\n  height: 1px;\n  background: #e7e7e7;\n  margin-bottom: -1px;\n}\n@media print {\n  body > #header {\n    display: none !important;\n  }\n}\n#header-spacer {\n  width: 100%;\n  visibility: hidden;\n}\n@media print {\n  #header-spacer {\n    display: none;\n  }\n}\n#ipython_notebook {\n  padding-left: 0px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n@media (max-width: 991px) {\n  #ipython_notebook {\n    margin-left: 10px;\n  }\n}\n#noscript {\n  width: auto;\n  padding-top: 16px;\n  padding-bottom: 16px;\n  text-align: center;\n  font-size: 22px;\n  color: red;\n  font-weight: bold;\n}\n#ipython_notebook img {\n  height: 28px;\n}\n#site {\n  width: 100%;\n  display: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  overflow: auto;\n}\n@media print {\n  #site {\n    height: auto !important;\n  }\n}\n/* Smaller buttons */\n.ui-button .ui-button-text {\n  padding: 0.2em 0.8em;\n  font-size: 77%;\n}\ninput.ui-button {\n  padding: 0.3em 0.9em;\n}\nspan#login_widget {\n  float: right;\n}\nspan#login_widget > .button,\n#logout {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button:focus,\n#logout:focus,\nspan#login_widget > .button.focus,\n#logout.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:hover,\n#logout:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active:hover,\n#logout:active:hover,\nspan#login_widget > .button.active:hover,\n#logout.active:hover,\n.open > .dropdown-togglespan#login_widget > .button:hover,\n.open > .dropdown-toggle#logout:hover,\nspan#login_widget > .button:active:focus,\n#logout:active:focus,\nspan#login_widget > .button.active:focus,\n#logout.active:focus,\n.open > .dropdown-togglespan#login_widget > .button:focus,\n.open > .dropdown-toggle#logout:focus,\nspan#login_widget > .button:active.focus,\n#logout:active.focus,\nspan#login_widget > .button.active.focus,\n#logout.active.focus,\n.open > .dropdown-togglespan#login_widget > .button.focus,\n.open > .dropdown-toggle#logout.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  background-image: none;\n}\nspan#login_widget > .button.disabled:hover,\n#logout.disabled:hover,\nspan#login_widget > .button[disabled]:hover,\n#logout[disabled]:hover,\nfieldset[disabled] span#login_widget > .button:hover,\nfieldset[disabled] #logout:hover,\nspan#login_widget > .button.disabled:focus,\n#logout.disabled:focus,\nspan#login_widget > .button[disabled]:focus,\n#logout[disabled]:focus,\nfieldset[disabled] span#login_widget > .button:focus,\nfieldset[disabled] #logout:focus,\nspan#login_widget > .button.disabled.focus,\n#logout.disabled.focus,\nspan#login_widget > .button[disabled].focus,\n#logout[disabled].focus,\nfieldset[disabled] span#login_widget > .button.focus,\nfieldset[disabled] #logout.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button .badge,\n#logout .badge {\n  color: #fff;\n  background-color: #333;\n}\n.nav-header {\n  text-transform: none;\n}\n#header > span {\n  margin-top: 10px;\n}\n.modal_stretch .modal-dialog {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  min-height: 80vh;\n}\n.modal_stretch .modal-dialog .modal-body {\n  max-height: calc(100vh - 200px);\n  overflow: auto;\n  flex: 1;\n}\n@media (min-width: 768px) {\n  .modal .modal-dialog {\n    width: 700px;\n  }\n}\n@media (min-width: 768px) {\n  select.form-control {\n    margin-left: 12px;\n    margin-right: 12px;\n  }\n}\n/*!\n*\n* IPython auth\n*\n*/\n.center-nav {\n  display: inline-block;\n  margin-bottom: -4px;\n}\n/*!\n*\n* IPython tree view\n*\n*/\n/* We need an invisible input field on top of the sentense*/\n/* \"Drag file onto the list ...\" */\n.alternate_upload {\n  background-color: none;\n  display: inline;\n}\n.alternate_upload.form {\n  padding: 0;\n  margin: 0;\n}\n.alternate_upload input.fileinput {\n  text-align: center;\n  vertical-align: middle;\n  display: inline;\n  opacity: 0;\n  z-index: 2;\n  width: 12ex;\n  margin-right: -12ex;\n}\n.alternate_upload .btn-upload {\n  height: 22px;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nul#tabs {\n  margin-bottom: 4px;\n}\nul#tabs a {\n  padding-top: 6px;\n  padding-bottom: 4px;\n}\nul.breadcrumb a:focus,\nul.breadcrumb a:hover {\n  text-decoration: none;\n}\nul.breadcrumb i.icon-home {\n  font-size: 16px;\n  margin-right: 4px;\n}\nul.breadcrumb span {\n  color: #5e5e5e;\n}\n.list_toolbar {\n  padding: 4px 0 4px 0;\n  vertical-align: middle;\n}\n.list_toolbar .tree-buttons {\n  padding-top: 1px;\n}\n.dynamic-buttons {\n  padding-top: 3px;\n  display: inline-block;\n}\n.list_toolbar [class*=\"span\"] {\n  min-height: 24px;\n}\n.list_header {\n  font-weight: bold;\n  background-color: #EEE;\n}\n.list_placeholder {\n  font-weight: bold;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n.list_container {\n  margin-top: 4px;\n  margin-bottom: 20px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n}\n.list_container > div {\n  border-bottom: 1px solid #ddd;\n}\n.list_container > div:hover .list-item {\n  background-color: red;\n}\n.list_container > div:last-child {\n  border: none;\n}\n.list_item:hover .list_item {\n  background-color: #ddd;\n}\n.list_item a {\n  text-decoration: none;\n}\n.list_item:hover {\n  background-color: #fafafa;\n}\n.list_header > div,\n.list_item > div {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n.list_header > div input,\n.list_item > div input {\n  margin-right: 7px;\n  margin-left: 14px;\n  vertical-align: baseline;\n  line-height: 22px;\n  position: relative;\n  top: -1px;\n}\n.list_header > div .item_link,\n.list_item > div .item_link {\n  margin-left: -1px;\n  vertical-align: baseline;\n  line-height: 22px;\n}\n.new-file input[type=checkbox] {\n  visibility: hidden;\n}\n.item_name {\n  line-height: 22px;\n  height: 24px;\n}\n.item_icon {\n  font-size: 14px;\n  color: #5e5e5e;\n  margin-right: 7px;\n  margin-left: 7px;\n  line-height: 22px;\n  vertical-align: baseline;\n}\n.item_buttons {\n  line-height: 1em;\n  margin-left: -5px;\n}\n.item_buttons .btn,\n.item_buttons .btn-group,\n.item_buttons .input-group {\n  float: left;\n}\n.item_buttons > .btn,\n.item_buttons > .btn-group,\n.item_buttons > .input-group {\n  margin-left: 5px;\n}\n.item_buttons .btn {\n  min-width: 13ex;\n}\n.item_buttons .running-indicator {\n  padding-top: 4px;\n  color: #5cb85c;\n}\n.item_buttons .kernel-name {\n  padding-top: 4px;\n  color: #5bc0de;\n  margin-right: 7px;\n  float: left;\n}\n.toolbar_info {\n  height: 24px;\n  line-height: 24px;\n}\n.list_item input:not([type=checkbox]) {\n  padding-top: 3px;\n  padding-bottom: 3px;\n  height: 22px;\n  line-height: 14px;\n  margin: 0px;\n}\n.highlight_text {\n  color: blue;\n}\n#project_name {\n  display: inline-block;\n  padding-left: 7px;\n  margin-left: -2px;\n}\n#project_name > .breadcrumb {\n  padding: 0px;\n  margin-bottom: 0px;\n  background-color: transparent;\n  font-weight: bold;\n}\n#tree-selector {\n  padding-right: 0px;\n}\n#button-select-all {\n  min-width: 50px;\n}\n#select-all {\n  margin-left: 7px;\n  margin-right: 2px;\n}\n.menu_icon {\n  margin-right: 2px;\n}\n.tab-content .row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.folder_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f114\";\n}\n.folder_icon:before.pull-left {\n  margin-right: .3em;\n}\n.folder_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n}\n.notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.running_notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n  color: #5cb85c;\n}\n.running_notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.running_notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.file_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f016\";\n  position: relative;\n  top: -2px;\n}\n.file_icon:before.pull-left {\n  margin-right: .3em;\n}\n.file_icon:before.pull-right {\n  margin-left: .3em;\n}\n#notebook_toolbar .pull-right {\n  padding-top: 0px;\n  margin-right: -1px;\n}\nul#new-menu {\n  left: auto;\n  right: 0;\n}\n.kernel-menu-icon {\n  padding-right: 12px;\n  width: 24px;\n  content: \"\\f096\";\n}\n.kernel-menu-icon:before {\n  content: \"\\f096\";\n}\n.kernel-menu-icon-current:before {\n  content: \"\\f00c\";\n}\n#tab_content {\n  padding-top: 20px;\n}\n#running .panel-group .panel {\n  margin-top: 3px;\n  margin-bottom: 1em;\n}\n#running .panel-group .panel .panel-heading {\n  background-color: #EEE;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n#running .panel-group .panel .panel-heading a:focus,\n#running .panel-group .panel .panel-heading a:hover {\n  text-decoration: none;\n}\n#running .panel-group .panel .panel-body {\n  padding: 0px;\n}\n#running .panel-group .panel .panel-body .list_container {\n  margin-top: 0px;\n  margin-bottom: 0px;\n  border: 0px;\n  border-radius: 0px;\n}\n#running .panel-group .panel .panel-body .list_container .list_item {\n  border-bottom: 1px solid #ddd;\n}\n#running .panel-group .panel .panel-body .list_container .list_item:last-child {\n  border-bottom: 0px;\n}\n.delete-button {\n  display: none;\n}\n.duplicate-button {\n  display: none;\n}\n.rename-button {\n  display: none;\n}\n.shutdown-button {\n  display: none;\n}\n.dynamic-instructions {\n  display: inline-block;\n  padding-top: 4px;\n}\n/*!\n*\n* IPython text editor webapp\n*\n*/\n.selected-keymap i.fa {\n  padding: 0px 5px;\n}\n.selected-keymap i.fa:before {\n  content: \"\\f00c\";\n}\n#mode-menu {\n  overflow: auto;\n  max-height: 20em;\n}\n.edit_app #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.edit_app #menubar .navbar {\n  /* Use a negative 1 bottom margin, so the border overlaps the border of the\n    header */\n  margin-bottom: -1px;\n}\n.dirty-indicator {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-dirty {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-dirty.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-dirty.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-clean.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f00c\";\n}\n.dirty-indicator-clean:before.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean:before.pull-right {\n  margin-left: .3em;\n}\n#filename {\n  font-size: 16pt;\n  display: table;\n  padding: 0px 5px;\n}\n#current-mode {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#texteditor-backdrop {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n@media not print {\n  #texteditor-backdrop {\n    background-color: #EEE;\n  }\n}\n@media print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container {\n    padding: 0px;\n    background-color: #fff;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n/*!\n*\n* IPython notebook\n*\n*/\n/* CSS font colors for translated ANSI colors. */\n.ansibold {\n  font-weight: bold;\n}\n/* use dark versions for foreground, to improve visibility */\n.ansiblack {\n  color: black;\n}\n.ansired {\n  color: darkred;\n}\n.ansigreen {\n  color: darkgreen;\n}\n.ansiyellow {\n  color: #c4a000;\n}\n.ansiblue {\n  color: darkblue;\n}\n.ansipurple {\n  color: darkviolet;\n}\n.ansicyan {\n  color: steelblue;\n}\n.ansigray {\n  color: gray;\n}\n/* and light for background, for the same reason */\n.ansibgblack {\n  background-color: black;\n}\n.ansibgred {\n  background-color: red;\n}\n.ansibggreen {\n  background-color: green;\n}\n.ansibgyellow {\n  background-color: yellow;\n}\n.ansibgblue {\n  background-color: blue;\n}\n.ansibgpurple {\n  background-color: magenta;\n}\n.ansibgcyan {\n  background-color: cyan;\n}\n.ansibggray {\n  background-color: gray;\n}\ndiv.cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  border-radius: 2px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  border-width: 1px;\n  border-style: solid;\n  border-color: transparent;\n  width: 100%;\n  padding: 5px;\n  /* This acts as a spacer between cells, that is outside the border */\n  margin: 0px;\n  outline: none;\n  border-left-width: 1px;\n  padding-left: 5px;\n  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);\n}\ndiv.cell.jupyter-soft-selected {\n  border-left-color: #90CAF9;\n  border-left-color: #E3F2FD;\n  border-left-width: 1px;\n  padding-left: 5px;\n  border-right-color: #E3F2FD;\n  border-right-width: 1px;\n  background: #E3F2FD;\n}\n@media print {\n  div.cell.jupyter-soft-selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected {\n  border-color: #ababab;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  div.cell.selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected.jupyter-soft-selected {\n  border-left-width: 0;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);\n}\n.edit_mode div.cell.selected {\n  border-color: #66BB6A;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  .edit_mode div.cell.selected {\n    border-color: transparent;\n  }\n}\n.prompt {\n  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */\n  min-width: 14ex;\n  /* This padding is tuned to match the padding on the CodeMirror editor. */\n  padding: 0.4em;\n  margin: 0px;\n  font-family: monospace;\n  text-align: right;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n  /* Don't highlight prompt number selection */\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  /* Use default cursor */\n  cursor: default;\n}\n@media (max-width: 540px) {\n  .prompt {\n    text-align: left;\n  }\n}\ndiv.inner_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n@-moz-document url-prefix() {\n  div.inner_cell {\n    overflow-x: hidden;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_area {\n  border: 1px solid #cfcfcf;\n  border-radius: 2px;\n  background: #f7f7f7;\n  line-height: 1.21429em;\n}\n/* This is needed so that empty prompt areas can collapse to zero height when there\n   is no content in the output_subarea and the prompt. The main purpose of this is\n   to make sure that empty JavaScript output_subareas have no height. */\ndiv.prompt:empty {\n  padding-top: 0;\n  padding-bottom: 0;\n}\ndiv.unrecognized_cell {\n  padding: 5px 5px 5px 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.unrecognized_cell .inner_cell {\n  border-radius: 2px;\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n  border: 1px solid #cfcfcf;\n  background: #eaeaea;\n}\ndiv.unrecognized_cell .inner_cell a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.unrecognized_cell .inner_cell a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n@media (max-width: 540px) {\n  div.unrecognized_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.code_cell {\n  /* avoid page breaking on code cells when printing */\n}\n@media print {\n  div.code_cell {\n    page-break-inside: avoid;\n  }\n}\n/* any special styling for code cells that are currently running goes here */\ndiv.input {\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.input {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_prompt {\n  color: #303F9F;\n  border-top: 1px solid transparent;\n}\ndiv.input_area > div.highlight {\n  margin: 0.4em;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\ndiv.input_area > div.highlight > pre {\n  margin: 0px;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\n/* The following gets added to the <head> if it is detected that the user has a\n * monospace font with inconsistent normal/bold/italic height.  See\n * notebookmain.js.  Such fonts will have keywords vertically offset with\n * respect to the rest of the text.  The user should select a better font.\n * See: https://github.com/ipython/ipython/issues/1503\n *\n * .CodeMirror span {\n *      vertical-align: bottom;\n * }\n */\n.CodeMirror {\n  line-height: 1.21429em;\n  /* Changed from 1em to our global default */\n  font-size: 14px;\n  height: auto;\n  /* Changed to auto to autogrow */\n  background: none;\n  /* Changed from white to allow our bg to show through */\n}\n.CodeMirror-scroll {\n  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/\n  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/\n  overflow-y: hidden;\n  overflow-x: auto;\n}\n.CodeMirror-lines {\n  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */\n  /* we have set a different line-height and want this to scale with that. */\n  padding: 0.4em;\n}\n.CodeMirror-linenumber {\n  padding: 0 8px 0 4px;\n}\n.CodeMirror-gutters {\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.CodeMirror pre {\n  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */\n  /* .CodeMirror-lines */\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n}\n/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\nAdapted from GitHub theme\n\n*/\n.highlight-base {\n  color: #000;\n}\n.highlight-variable {\n  color: #000;\n}\n.highlight-variable-2 {\n  color: #1a1a1a;\n}\n.highlight-variable-3 {\n  color: #333333;\n}\n.highlight-string {\n  color: #BA2121;\n}\n.highlight-comment {\n  color: #408080;\n  font-style: italic;\n}\n.highlight-number {\n  color: #080;\n}\n.highlight-atom {\n  color: #88F;\n}\n.highlight-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.highlight-builtin {\n  color: #008000;\n}\n.highlight-error {\n  color: #f00;\n}\n.highlight-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.highlight-meta {\n  color: #AA22FF;\n}\n/* previously not defined, copying from default codemirror */\n.highlight-def {\n  color: #00f;\n}\n.highlight-string-2 {\n  color: #f50;\n}\n.highlight-qualifier {\n  color: #555;\n}\n.highlight-bracket {\n  color: #997;\n}\n.highlight-tag {\n  color: #170;\n}\n.highlight-attribute {\n  color: #00c;\n}\n.highlight-header {\n  color: blue;\n}\n.highlight-quote {\n  color: #090;\n}\n.highlight-link {\n  color: #00c;\n}\n/* apply the same style to codemirror */\n.cm-s-ipython span.cm-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-atom {\n  color: #88F;\n}\n.cm-s-ipython span.cm-number {\n  color: #080;\n}\n.cm-s-ipython span.cm-def {\n  color: #00f;\n}\n.cm-s-ipython span.cm-variable {\n  color: #000;\n}\n.cm-s-ipython span.cm-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-variable-2 {\n  color: #1a1a1a;\n}\n.cm-s-ipython span.cm-variable-3 {\n  color: #333333;\n}\n.cm-s-ipython span.cm-comment {\n  color: #408080;\n  font-style: italic;\n}\n.cm-s-ipython span.cm-string {\n  color: #BA2121;\n}\n.cm-s-ipython span.cm-string-2 {\n  color: #f50;\n}\n.cm-s-ipython span.cm-meta {\n  color: #AA22FF;\n}\n.cm-s-ipython span.cm-qualifier {\n  color: #555;\n}\n.cm-s-ipython span.cm-builtin {\n  color: #008000;\n}\n.cm-s-ipython span.cm-bracket {\n  color: #997;\n}\n.cm-s-ipython span.cm-tag {\n  color: #170;\n}\n.cm-s-ipython span.cm-attribute {\n  color: #00c;\n}\n.cm-s-ipython span.cm-header {\n  color: blue;\n}\n.cm-s-ipython span.cm-quote {\n  color: #090;\n}\n.cm-s-ipython span.cm-link {\n  color: #00c;\n}\n.cm-s-ipython span.cm-error {\n  color: #f00;\n}\n.cm-s-ipython span.cm-tab {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);\n  background-position: right;\n  background-repeat: no-repeat;\n}\ndiv.output_wrapper {\n  /* this position must be relative to enable descendents to be absolute within it */\n  position: relative;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  z-index: 1;\n}\n/* class for the output area when it should be height-limited */\ndiv.output_scroll {\n  /* ideally, this would be max-height, but FF barfs all over that */\n  height: 24em;\n  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */\n  width: 100%;\n  overflow: auto;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  display: block;\n}\n/* output div while it is collapsed */\ndiv.output_collapsed {\n  margin: 0px;\n  padding: 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\ndiv.out_prompt_overlay {\n  height: 100%;\n  padding: 0px 0.4em;\n  position: absolute;\n  border-radius: 2px;\n}\ndiv.out_prompt_overlay:hover {\n  /* use inner shadow to get border that is computed the same on WebKit/FF */\n  -webkit-box-shadow: inset 0 0 1px #000;\n  box-shadow: inset 0 0 1px #000;\n  background: rgba(240, 240, 240, 0.5);\n}\ndiv.output_prompt {\n  color: #D84315;\n}\n/* This class is the outer container of all output sections. */\ndiv.output_area {\n  padding: 0px;\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.output_area .MathJax_Display {\n  text-align: left !important;\n}\ndiv.output_area .rendered_html table {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area .rendered_html img {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area img,\ndiv.output_area svg {\n  max-width: 100%;\n  height: auto;\n}\ndiv.output_area img.unconfined,\ndiv.output_area svg.unconfined {\n  max-width: none;\n}\n/* This is needed to protect the pre formating from global settings such\n   as that of bootstrap */\n.output {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.output_area {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\ndiv.output_area pre {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  vertical-align: baseline;\n  color: black;\n  background-color: transparent;\n  border-radius: 0;\n}\n/* This class is for the output subarea inside the output_area and after\n   the prompt div. */\ndiv.output_subarea {\n  overflow-x: auto;\n  padding: 0.4em;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n  max-width: calc(100% - 14ex);\n}\ndiv.output_scroll div.output_subarea {\n  overflow-x: visible;\n}\n/* The rest of the output_* classes are for special styling of the different\n   output types */\n/* all text output has this class: */\ndiv.output_text {\n  text-align: left;\n  color: #000;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n}\n/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */\ndiv.output_stderr {\n  background: #fdd;\n  /* very light red background for stderr */\n}\ndiv.output_latex {\n  text-align: left;\n}\n/* Empty output_javascript divs should have no height */\ndiv.output_javascript:empty {\n  padding: 0;\n}\n.js-error {\n  color: darkred;\n}\n/* raw_input styles */\ndiv.raw_input_container {\n  line-height: 1.21429em;\n  padding-top: 5px;\n}\npre.raw_input_prompt {\n  /* nothing needed here. */\n}\ninput.raw_input {\n  font-family: monospace;\n  font-size: inherit;\n  color: inherit;\n  width: auto;\n  /* make sure input baseline aligns with prompt */\n  vertical-align: baseline;\n  /* padding + margin = 0.5em between prompt and cursor */\n  padding: 0em 0.25em;\n  margin: 0em 0.25em;\n}\ninput.raw_input:focus {\n  box-shadow: none;\n}\np.p-space {\n  margin-bottom: 10px;\n}\ndiv.output_unrecognized {\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n}\ndiv.output_unrecognized a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.output_unrecognized a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n.rendered_html {\n  color: #000;\n  /* any extras will just be numbers: */\n}\n.rendered_html em {\n  font-style: italic;\n}\n.rendered_html strong {\n  font-weight: bold;\n}\n.rendered_html u {\n  text-decoration: underline;\n}\n.rendered_html :link {\n  text-decoration: underline;\n}\n.rendered_html :visited {\n  text-decoration: underline;\n}\n.rendered_html h1 {\n  font-size: 185.7%;\n  margin: 1.08em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h2 {\n  font-size: 157.1%;\n  margin: 1.27em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h3 {\n  font-size: 128.6%;\n  margin: 1.55em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h4 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h5 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h6 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h1:first-child {\n  margin-top: 0.538em;\n}\n.rendered_html h2:first-child {\n  margin-top: 0.636em;\n}\n.rendered_html h3:first-child {\n  margin-top: 0.777em;\n}\n.rendered_html h4:first-child {\n  margin-top: 1em;\n}\n.rendered_html h5:first-child {\n  margin-top: 1em;\n}\n.rendered_html h6:first-child {\n  margin-top: 1em;\n}\n.rendered_html ul {\n  list-style: disc;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ul ul {\n  list-style: square;\n  margin: 0em 2em;\n}\n.rendered_html ul ul ul {\n  list-style: circle;\n  margin: 0em 2em;\n}\n.rendered_html ol {\n  list-style: decimal;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ol ol {\n  list-style: upper-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol {\n  list-style: lower-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol {\n  list-style: lower-roman;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol ol {\n  list-style: decimal;\n  margin: 0em 2em;\n}\n.rendered_html * + ul {\n  margin-top: 1em;\n}\n.rendered_html * + ol {\n  margin-top: 1em;\n}\n.rendered_html hr {\n  color: black;\n  background-color: black;\n}\n.rendered_html pre {\n  margin: 1em 2em;\n}\n.rendered_html pre,\n.rendered_html code {\n  border: 0;\n  background-color: #fff;\n  color: #000;\n  font-size: 100%;\n  padding: 0px;\n}\n.rendered_html blockquote {\n  margin: 1em 2em;\n}\n.rendered_html table {\n  margin-left: auto;\n  margin-right: auto;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\n.rendered_html tr,\n.rendered_html th,\n.rendered_html td {\n  border: 1px solid black;\n  border-collapse: collapse;\n  margin: 1em 2em;\n}\n.rendered_html td,\n.rendered_html th {\n  text-align: left;\n  vertical-align: middle;\n  padding: 4px;\n}\n.rendered_html th {\n  font-weight: bold;\n}\n.rendered_html * + table {\n  margin-top: 1em;\n}\n.rendered_html p {\n  text-align: left;\n}\n.rendered_html * + p {\n  margin-top: 1em;\n}\n.rendered_html img {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.rendered_html * + img {\n  margin-top: 1em;\n}\n.rendered_html img,\n.rendered_html svg {\n  max-width: 100%;\n  height: auto;\n}\n.rendered_html img.unconfined,\n.rendered_html svg.unconfined {\n  max-width: none;\n}\ndiv.text_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.text_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.text_cell_render {\n  /*font-family: \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;*/\n  outline: none;\n  resize: none;\n  width: inherit;\n  border-style: none;\n  padding: 0.5em 0.5em 0.5em 0.4em;\n  color: #000;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\na.anchor-link:link {\n  text-decoration: none;\n  padding: 0px 20px;\n  visibility: hidden;\n}\nh1:hover .anchor-link,\nh2:hover .anchor-link,\nh3:hover .anchor-link,\nh4:hover .anchor-link,\nh5:hover .anchor-link,\nh6:hover .anchor-link {\n  visibility: visible;\n}\n.text_cell.rendered .input_area {\n  display: none;\n}\n.text_cell.rendered .rendered_html {\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.text_cell.unrendered .text_cell_render {\n  display: none;\n}\n.cm-header-1,\n.cm-header-2,\n.cm-header-3,\n.cm-header-4,\n.cm-header-5,\n.cm-header-6 {\n  font-weight: bold;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.cm-header-1 {\n  font-size: 185.7%;\n}\n.cm-header-2 {\n  font-size: 157.1%;\n}\n.cm-header-3 {\n  font-size: 128.6%;\n}\n.cm-header-4 {\n  font-size: 110%;\n}\n.cm-header-5 {\n  font-size: 100%;\n  font-style: italic;\n}\n.cm-header-6 {\n  font-size: 100%;\n  font-style: italic;\n}\n/*!\n*\n* IPython notebook webapp\n*\n*/\n@media (max-width: 767px) {\n  .notebook_app {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n}\n#ipython-main-app {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook_panel {\n  margin: 0px;\n  padding: 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook {\n  font-size: 14px;\n  line-height: 20px;\n  overflow-y: hidden;\n  overflow-x: auto;\n  width: 100%;\n  /* This spaces the page away from the edge of the notebook area */\n  padding-top: 20px;\n  margin: 0px;\n  outline: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  min-height: 100%;\n}\n@media not print {\n  #notebook-container {\n    padding: 15px;\n    background-color: #fff;\n    min-height: 0;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n@media print {\n  #notebook-container {\n    width: 100%;\n  }\n}\ndiv.ui-widget-content {\n  border: 1px solid #ababab;\n  outline: none;\n}\npre.dialog {\n  background-color: #f7f7f7;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  padding: 0.4em;\n  padding-left: 2em;\n}\np.dialog {\n  padding: 0.2em;\n}\n/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems\n   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.\n */\npre,\ncode,\nkbd,\nsamp {\n  white-space: pre-wrap;\n}\n#fonttest {\n  font-family: monospace;\n}\np {\n  margin-bottom: 0;\n}\n.end_space {\n  min-height: 100px;\n  transition: height .2s ease;\n}\n.notebook_app > #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n@media not print {\n  .notebook_app {\n    background-color: #EEE;\n  }\n}\nkbd {\n  border-style: solid;\n  border-width: 1px;\n  box-shadow: none;\n  margin: 2px;\n  padding-left: 2px;\n  padding-right: 2px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n/* CSS for the cell toolbar */\n.celltoolbar {\n  border: thin solid #CFCFCF;\n  border-bottom: none;\n  background: #EEE;\n  border-radius: 2px 2px 0px 0px;\n  width: 100%;\n  height: 29px;\n  padding-right: 4px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n  display: -webkit-flex;\n}\n@media print {\n  .celltoolbar {\n    display: none;\n  }\n}\n.ctb_hideshow {\n  display: none;\n  vertical-align: bottom;\n}\n/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.\n   Cell toolbars are only shown when the ctb_global_show class is also set.\n*/\n.ctb_global_show .ctb_show.ctb_hideshow {\n  display: block;\n}\n.ctb_global_show .ctb_show + .input_area,\n.ctb_global_show .ctb_show + div.text_cell_input,\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border-top-right-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border: 1px solid #cfcfcf;\n}\n.celltoolbar {\n  font-size: 87%;\n  padding-top: 3px;\n}\n.celltoolbar select {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n  width: inherit;\n  font-size: inherit;\n  height: 22px;\n  padding: 0px;\n  display: inline-block;\n}\n.celltoolbar select:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.celltoolbar select::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.celltoolbar select:-ms-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-webkit-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.celltoolbar select[disabled],\n.celltoolbar select[readonly],\nfieldset[disabled] .celltoolbar select {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.celltoolbar select[disabled],\nfieldset[disabled] .celltoolbar select {\n  cursor: not-allowed;\n}\ntextarea.celltoolbar select {\n  height: auto;\n}\nselect.celltoolbar select {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.celltoolbar select,\nselect[multiple].celltoolbar select {\n  height: auto;\n}\n.celltoolbar label {\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.completions {\n  position: absolute;\n  z-index: 110;\n  overflow: hidden;\n  border: 1px solid #ababab;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  line-height: 1;\n}\n.completions select {\n  background: white;\n  outline: none;\n  border: none;\n  padding: 0px;\n  margin: 0px;\n  overflow: auto;\n  font-family: monospace;\n  font-size: 110%;\n  color: #000;\n  width: auto;\n}\n.completions select option.context {\n  color: #286090;\n}\n#kernel_logo_widget {\n  float: right !important;\n  float: right;\n}\n#kernel_logo_widget .current_kernel_logo {\n  display: none;\n  margin-top: -1px;\n  margin-bottom: -1px;\n  width: 32px;\n  height: 32px;\n}\n#menubar {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  margin-top: 1px;\n}\n#menubar .navbar {\n  border-top: 1px;\n  border-radius: 0px 0px 2px 2px;\n  margin-bottom: 0px;\n}\n#menubar .navbar-toggle {\n  float: left;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  border: none;\n}\n#menubar .navbar-collapse {\n  clear: left;\n}\n.nav-wrapper {\n  border-bottom: 1px solid #e7e7e7;\n}\ni.menu-icon {\n  padding-top: 4px;\n}\nul#help_menu li a {\n  overflow: hidden;\n  padding-right: 2.2em;\n}\nul#help_menu li a i {\n  margin-right: -1.2em;\n}\n.dropdown-submenu {\n  position: relative;\n}\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n}\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n.dropdown-submenu > a:after {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  display: block;\n  content: \"\\f0da\";\n  float: right;\n  color: #333333;\n  margin-top: 2px;\n  margin-right: -10px;\n}\n.dropdown-submenu > a:after.pull-left {\n  margin-right: .3em;\n}\n.dropdown-submenu > a:after.pull-right {\n  margin-left: .3em;\n}\n.dropdown-submenu:hover > a:after {\n  color: #262626;\n}\n.dropdown-submenu.pull-left {\n  float: none;\n}\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n}\n#notification_area {\n  float: right !important;\n  float: right;\n  z-index: 10;\n}\n.indicator_area {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#kernel_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  border-left: 1px solid;\n}\n#kernel_indicator .kernel_indicator_name {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#modal_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#readonly-indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  margin-top: 2px;\n  margin-bottom: 0px;\n  margin-left: 0px;\n  margin-right: 0px;\n  display: none;\n}\n.modal_indicator:before {\n  width: 1.28571429em;\n  text-align: center;\n}\n.edit_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f040\";\n}\n.edit_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.edit_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.command_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: ' ';\n}\n.command_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.command_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_idle_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f10c\";\n}\n.kernel_idle_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_idle_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_busy_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f111\";\n}\n.kernel_busy_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_busy_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_dead_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f1e2\";\n}\n.kernel_dead_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_dead_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_disconnected_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f127\";\n}\n.kernel_disconnected_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_disconnected_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notification_widget {\n  color: #777;\n  z-index: 10;\n  background: rgba(240, 240, 240, 0.5);\n  margin-right: 4px;\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget:focus,\n.notification_widget.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.notification_widget:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active:hover,\n.notification_widget.active:hover,\n.open > .dropdown-toggle.notification_widget:hover,\n.notification_widget:active:focus,\n.notification_widget.active:focus,\n.open > .dropdown-toggle.notification_widget:focus,\n.notification_widget:active.focus,\n.notification_widget.active.focus,\n.open > .dropdown-toggle.notification_widget.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  background-image: none;\n}\n.notification_widget.disabled:hover,\n.notification_widget[disabled]:hover,\nfieldset[disabled] .notification_widget:hover,\n.notification_widget.disabled:focus,\n.notification_widget[disabled]:focus,\nfieldset[disabled] .notification_widget:focus,\n.notification_widget.disabled.focus,\n.notification_widget[disabled].focus,\nfieldset[disabled] .notification_widget.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget .badge {\n  color: #fff;\n  background-color: #333;\n}\n.notification_widget.warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning:focus,\n.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.notification_widget.warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active:hover,\n.notification_widget.warning.active:hover,\n.open > .dropdown-toggle.notification_widget.warning:hover,\n.notification_widget.warning:active:focus,\n.notification_widget.warning.active:focus,\n.open > .dropdown-toggle.notification_widget.warning:focus,\n.notification_widget.warning:active.focus,\n.notification_widget.warning.active.focus,\n.open > .dropdown-toggle.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  background-image: none;\n}\n.notification_widget.warning.disabled:hover,\n.notification_widget.warning[disabled]:hover,\nfieldset[disabled] .notification_widget.warning:hover,\n.notification_widget.warning.disabled:focus,\n.notification_widget.warning[disabled]:focus,\nfieldset[disabled] .notification_widget.warning:focus,\n.notification_widget.warning.disabled.focus,\n.notification_widget.warning[disabled].focus,\nfieldset[disabled] .notification_widget.warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.notification_widget.success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success:focus,\n.notification_widget.success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.notification_widget.success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active:hover,\n.notification_widget.success.active:hover,\n.open > .dropdown-toggle.notification_widget.success:hover,\n.notification_widget.success:active:focus,\n.notification_widget.success.active:focus,\n.open > .dropdown-toggle.notification_widget.success:focus,\n.notification_widget.success:active.focus,\n.notification_widget.success.active.focus,\n.open > .dropdown-toggle.notification_widget.success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  background-image: none;\n}\n.notification_widget.success.disabled:hover,\n.notification_widget.success[disabled]:hover,\nfieldset[disabled] .notification_widget.success:hover,\n.notification_widget.success.disabled:focus,\n.notification_widget.success[disabled]:focus,\nfieldset[disabled] .notification_widget.success:focus,\n.notification_widget.success.disabled.focus,\n.notification_widget.success[disabled].focus,\nfieldset[disabled] .notification_widget.success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.notification_widget.info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info:focus,\n.notification_widget.info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.notification_widget.info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active:hover,\n.notification_widget.info.active:hover,\n.open > .dropdown-toggle.notification_widget.info:hover,\n.notification_widget.info:active:focus,\n.notification_widget.info.active:focus,\n.open > .dropdown-toggle.notification_widget.info:focus,\n.notification_widget.info:active.focus,\n.notification_widget.info.active.focus,\n.open > .dropdown-toggle.notification_widget.info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  background-image: none;\n}\n.notification_widget.info.disabled:hover,\n.notification_widget.info[disabled]:hover,\nfieldset[disabled] .notification_widget.info:hover,\n.notification_widget.info.disabled:focus,\n.notification_widget.info[disabled]:focus,\nfieldset[disabled] .notification_widget.info:focus,\n.notification_widget.info.disabled.focus,\n.notification_widget.info[disabled].focus,\nfieldset[disabled] .notification_widget.info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.notification_widget.danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger:focus,\n.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.notification_widget.danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active:hover,\n.notification_widget.danger.active:hover,\n.open > .dropdown-toggle.notification_widget.danger:hover,\n.notification_widget.danger:active:focus,\n.notification_widget.danger.active:focus,\n.open > .dropdown-toggle.notification_widget.danger:focus,\n.notification_widget.danger:active.focus,\n.notification_widget.danger.active.focus,\n.open > .dropdown-toggle.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  background-image: none;\n}\n.notification_widget.danger.disabled:hover,\n.notification_widget.danger[disabled]:hover,\nfieldset[disabled] .notification_widget.danger:hover,\n.notification_widget.danger.disabled:focus,\n.notification_widget.danger[disabled]:focus,\nfieldset[disabled] .notification_widget.danger:focus,\n.notification_widget.danger.disabled.focus,\n.notification_widget.danger[disabled].focus,\nfieldset[disabled] .notification_widget.danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\ndiv#pager {\n  background-color: #fff;\n  font-size: 14px;\n  line-height: 20px;\n  overflow: hidden;\n  display: none;\n  position: fixed;\n  bottom: 0px;\n  width: 100%;\n  max-height: 50%;\n  padding-top: 8px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  /* Display over codemirror */\n  z-index: 100;\n  /* Hack which prevents jquery ui resizable from changing top. */\n  top: auto !important;\n}\ndiv#pager pre {\n  line-height: 1.21429em;\n  color: #000;\n  background-color: #f7f7f7;\n  padding: 0.4em;\n}\ndiv#pager #pager-button-area {\n  position: absolute;\n  top: 8px;\n  right: 20px;\n}\ndiv#pager #pager-contents {\n  position: relative;\n  overflow: auto;\n  width: 100%;\n  height: 100%;\n}\ndiv#pager #pager-contents #pager-container {\n  position: relative;\n  padding: 15px 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\ndiv#pager .ui-resizable-handle {\n  top: 0px;\n  height: 8px;\n  background: #f7f7f7;\n  border-top: 1px solid #cfcfcf;\n  border-bottom: 1px solid #cfcfcf;\n  /* This injects handle bars (a short, wide = symbol) for \n        the resize handle. */\n}\ndiv#pager .ui-resizable-handle::after {\n  content: '';\n  top: 2px;\n  left: 50%;\n  height: 3px;\n  width: 30px;\n  margin-left: -15px;\n  position: absolute;\n  border-top: 1px solid #cfcfcf;\n}\n.quickhelp {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  line-height: 1.8em;\n}\n.shortcut_key {\n  display: inline-block;\n  width: 20ex;\n  text-align: right;\n  font-family: monospace;\n}\n.shortcut_descr {\n  display: inline-block;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\nspan.save_widget {\n  margin-top: 6px;\n}\nspan.save_widget span.filename {\n  height: 1em;\n  line-height: 1em;\n  padding: 3px;\n  margin-left: 16px;\n  border: none;\n  font-size: 146.5%;\n  border-radius: 2px;\n}\nspan.save_widget span.filename:hover {\n  background-color: #e6e6e6;\n}\nspan.checkpoint_status,\nspan.autosave_status {\n  font-size: small;\n}\n@media (max-width: 767px) {\n  span.save_widget {\n    font-size: small;\n  }\n  span.checkpoint_status,\n  span.autosave_status {\n    display: none;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  span.checkpoint_status {\n    display: none;\n  }\n  span.autosave_status {\n    font-size: x-small;\n  }\n}\n.toolbar {\n  padding: 0px;\n  margin-left: -5px;\n  margin-top: 2px;\n  margin-bottom: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.toolbar select,\n.toolbar label {\n  width: auto;\n  vertical-align: middle;\n  margin-right: 2px;\n  margin-bottom: 0px;\n  display: inline;\n  font-size: 92%;\n  margin-left: 0.3em;\n  margin-right: 0.3em;\n  padding: 0px;\n  padding-top: 3px;\n}\n.toolbar .btn {\n  padding: 2px 8px;\n}\n.toolbar .btn-group {\n  margin-top: 0px;\n  margin-left: 5px;\n}\n#maintoolbar {\n  margin-bottom: -3px;\n  margin-top: -8px;\n  border: 0px;\n  min-height: 27px;\n  margin-left: 0px;\n  padding-top: 11px;\n  padding-bottom: 3px;\n}\n#maintoolbar .navbar-text {\n  float: none;\n  vertical-align: middle;\n  text-align: right;\n  margin-left: 5px;\n  margin-right: 0px;\n  margin-top: 0px;\n}\n.select-xs {\n  height: 24px;\n}\n.pulse,\n.dropdown-menu > li > a.pulse,\nli.pulse > a.dropdown-toggle,\nli.pulse.open > a.dropdown-toggle {\n  background-color: #F37626;\n  color: white;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\n/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot\n * of chance of beeing generated from the ../less/[samename].less file, you can\n * try to get back the less file by reverting somme commit in history\n **/\n/*\n * We'll try to get something pretty, so we\n * have some strange css to have the scroll bar on\n * the left with fix button on the top right of the tooltip\n */\n@-moz-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-moz-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n/*properties of tooltip after \"expand\"*/\n.bigtooltip {\n  overflow: auto;\n  height: 200px;\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n}\n/*properties of tooltip before \"expand\"*/\n.smalltooltip {\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  height: 80px;\n}\n.tooltipbuttons {\n  position: absolute;\n  padding-right: 15px;\n  top: 0px;\n  right: 0px;\n}\n.tooltiptext {\n  /*avoid the button to overlap on some docstring*/\n  padding-right: 30px;\n}\n.ipython_tooltip {\n  max-width: 700px;\n  /*fade-in animation when inserted*/\n  -webkit-animation: fadeOut 400ms;\n  -moz-animation: fadeOut 400ms;\n  animation: fadeOut 400ms;\n  -webkit-animation: fadeIn 400ms;\n  -moz-animation: fadeIn 400ms;\n  animation: fadeIn 400ms;\n  vertical-align: middle;\n  background-color: #f7f7f7;\n  overflow: visible;\n  border: #ababab 1px solid;\n  outline: none;\n  padding: 3px;\n  margin: 0px;\n  padding-left: 7px;\n  font-family: monospace;\n  min-height: 50px;\n  -moz-box-shadow: 0px 6px 10px -1px #adadad;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 1000;\n}\n.ipython_tooltip a {\n  float: right;\n}\n.ipython_tooltip .tooltiptext pre {\n  border: 0;\n  border-radius: 0;\n  font-size: 100%;\n  background-color: #f7f7f7;\n}\n.pretooltiparrow {\n  left: 0px;\n  margin: 0px;\n  top: -16px;\n  width: 40px;\n  height: 16px;\n  overflow: hidden;\n  position: absolute;\n}\n.pretooltiparrow:before {\n  background-color: #f7f7f7;\n  border: 1px #ababab solid;\n  z-index: 11;\n  content: \"\";\n  position: absolute;\n  left: 15px;\n  top: 10px;\n  width: 25px;\n  height: 25px;\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n}\nul.typeahead-list i {\n  margin-left: -10px;\n  width: 18px;\n}\nul.typeahead-list {\n  max-height: 80vh;\n  overflow: auto;\n}\nul.typeahead-list > li > a {\n  /** Firefox bug **/\n  /* see https://github.com/jupyter/notebook/issues/559 */\n  white-space: normal;\n}\n.cmd-palette .modal-body {\n  padding: 7px;\n}\n.cmd-palette form {\n  background: white;\n}\n.cmd-palette input {\n  outline: none;\n}\n.no-shortcut {\n  display: none;\n}\n.command-shortcut:before {\n  content: \"(command)\";\n  padding-right: 3px;\n  color: #777777;\n}\n.edit-shortcut:before {\n  content: \"(edit)\";\n  padding-right: 3px;\n  color: #777777;\n}\n#find-and-replace #replace-preview .match,\n#find-and-replace #replace-preview .insert {\n  background-color: #BBDEFB;\n  border-color: #90CAF9;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .match {\n  background-color: #FFCDD2;\n  border-color: #EF9A9A;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .insert {\n  background-color: #C8E6C9;\n  border-color: #A5D6A7;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview {\n  max-height: 60vh;\n  overflow: auto;\n}\n#find-and-replace #replace-preview pre {\n  padding: 5px 10px;\n}\n.terminal-app {\n  background: #EEE;\n}\n.terminal-app #header {\n  background: #fff;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.terminal-app .terminal {\n  float: left;\n  font-family: monospace;\n  color: white;\n  background: black;\n  padding: 0.4em;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n}\n.terminal-app .terminal,\n.terminal-app .terminal dummy-screen {\n  line-height: 1em;\n  font-size: 14px;\n}\n.terminal-app .terminal-cursor {\n  color: black;\n  background: white;\n}\n.terminal-app #terminado-container {\n  margin-top: 20px;\n}\n/*# sourceMappingURL=style.min.css.map */\n    </style>\n<style type=\"text/css\">\n    .highlight .hll { background-color: #ffffcc }\n.highlight  { background: #f8f8f8; }\n.highlight .c { color: #408080; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #888888 } /* Generic.Output */\n.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #B00040 } /* Keyword.Type */\n.highlight .m { color: #666666 } /* Literal.Number */\n.highlight .s { color: #BA2121 } /* Literal.String */\n.highlight .na { color: #7D9029 } /* Name.Attribute */\n.highlight .nb { color: #008000 } /* Name.Builtin */\n.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.highlight .no { color: #880000 } /* Name.Constant */\n.highlight .nd { color: #AA22FF } /* Name.Decorator */\n.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #0000FF } /* Name.Function */\n.highlight .nl { color: #A0A000 } /* Name.Label */\n.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #19177C } /* Name.Variable */\n.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.highlight .mf { color: #666666 } /* Literal.Number.Float */\n.highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.highlight .sx { color: #008000 } /* Literal.String.Other */\n.highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n.highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #19177C } /* Name.Variable.Class */\n.highlight .vg { color: #19177C } /* Name.Variable.Global */\n.highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n    </style>\n<style type=\"text/css\">\n    \n/* Temporary definitions which will become obsolete with Notebook release 5.0 */\n.ansi-black-fg { color: #3E424D; }\n.ansi-black-bg { background-color: #3E424D; }\n.ansi-black-intense-fg { color: #282C36; }\n.ansi-black-intense-bg { background-color: #282C36; }\n.ansi-red-fg { color: #E75C58; }\n.ansi-red-bg { background-color: #E75C58; }\n.ansi-red-intense-fg { color: #B22B31; }\n.ansi-red-intense-bg { background-color: #B22B31; }\n.ansi-green-fg { color: #00A250; }\n.ansi-green-bg { background-color: #00A250; }\n.ansi-green-intense-fg { color: #007427; }\n.ansi-green-intense-bg { background-color: #007427; }\n.ansi-yellow-fg { color: #DDB62B; }\n.ansi-yellow-bg { background-color: #DDB62B; }\n.ansi-yellow-intense-fg { color: #B27D12; }\n.ansi-yellow-intense-bg { background-color: #B27D12; }\n.ansi-blue-fg { color: #208FFB; }\n.ansi-blue-bg { background-color: #208FFB; }\n.ansi-blue-intense-fg { color: #0065CA; }\n.ansi-blue-intense-bg { background-color: #0065CA; }\n.ansi-magenta-fg { color: #D160C4; }\n.ansi-magenta-bg { background-color: #D160C4; }\n.ansi-magenta-intense-fg { color: #A03196; }\n.ansi-magenta-intense-bg { background-color: #A03196; }\n.ansi-cyan-fg { color: #60C6C8; }\n.ansi-cyan-bg { background-color: #60C6C8; }\n.ansi-cyan-intense-fg { color: #258F8F; }\n.ansi-cyan-intense-bg { background-color: #258F8F; }\n.ansi-white-fg { color: #C5C1B4; }\n.ansi-white-bg { background-color: #C5C1B4; }\n.ansi-white-intense-fg { color: #A1A6B2; }\n.ansi-white-intense-bg { background-color: #A1A6B2; }\n\n.ansi-bold { font-weight: bold; }\n\n    </style>\n\n\n<style type=\"text/css\">\n/* Overrides of notebook CSS for static HTML export */\nbody {\n  overflow: visible;\n  padding: 8px;\n}\n\ndiv#notebook {\n  overflow: visible;\n  border-top: none;\n}\n\n@media print {\n  div.cell {\n    display: block;\n    page-break-inside: avoid;\n  } \n  div.output_wrapper { \n    display: block;\n    page-break-inside: avoid; \n  }\n  div.output { \n    display: block;\n    page-break-inside: avoid; \n  }\n}\n</style>\n\n<!-- Custom stylesheet, it must be in the same directory as the html file -->\n<link rel=\"stylesheet\" href=\"custom.css\">\n\n<!-- Loading mathjax macro -->\n<!-- Load mathjax -->\n    <script src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"></script>\n    <!-- MathJax configuration -->\n    <script type=\"text/x-mathjax-config\">\n    MathJax.Hub.Config({\n        tex2jax: {\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n            processEscapes: true,\n            processEnvironments: true\n        },\n        // Center justify equations in code and markdown cells. Elsewhere\n        // we use CSS to left justify single line equations in code cells.\n        displayAlign: 'center',\n        \"HTML-CSS\": {\n            styles: {'.MathJax_Display': {\"margin\": 0}},\n            linebreaks: { automatic: true }\n        }\n    });\n    </script>\n    <!-- End of mathjax configuration --></head>\n<body>\n  <div tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\">\n    <div class=\"container\" id=\"notebook-container\">\n\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Machine-Learning-Engineer-Nanodegree\">Machine Learning Engineer Nanodegree<a class=\"anchor-link\" href=\"#Machine-Learning-Engineer-Nanodegree\">&#182;</a></h1><h2 id=\"Supervised-Learning\">Supervised Learning<a class=\"anchor-link\" href=\"#Supervised-Learning\">&#182;</a></h2><h2 id=\"Project-2:-Building-a-Student-Intervention-System\">Project 2: Building a Student Intervention System<a class=\"anchor-link\" href=\"#Project-2:-Building-a-Student-Intervention-System\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with <strong>'Implementation'</strong> in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a <code>'TODO'</code> statement. Please be sure to read the instructions carefully!</p>\n<p>In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a <strong>'Question X'</strong> header. Carefully read each question and provide thorough answers in the following text boxes that begin with <strong>'Answer:'</strong>. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.</p>\n<blockquote><p><strong>Note:</strong> Code and Markdown cells can be executed using the <strong>Shift + Enter</strong> keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-1---Classification-vs.-Regression\">Question 1 - Classification vs. Regression<a class=\"anchor-link\" href=\"#Question-1---Classification-vs.-Regression\">&#182;</a></h3><p><em>Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p>It is a <strong>classification problem</strong>.</p>\n<ul>\n<li>The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.</li>\n<li>Thus <strong>the output is discrete</strong>.</li>\n<li>Regression deals with continuous output, whereas classification deals with discrete output.</li>\n<li>So this supervised learning problem is a classification problem, specifically one with <strong>two classes</strong>.</li>\n</ul>\n<p>If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Exploring-the-Data\">Exploring the Data<a class=\"anchor-link\" href=\"#Exploring-the-Data\">&#182;</a></h2><p>Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, <code>'passed'</code>, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[3]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Import libraries</span>\n<span class=\"kn\">import</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">np</span>\n<span class=\"kn\">import</span> <span class=\"nn\">pandas</span> <span class=\"k\">as</span> <span class=\"nn\">pd</span>\n<span class=\"kn\">from</span> <span class=\"nn\">time</span> <span class=\"k\">import</span> <span class=\"n\">time</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.metrics</span> <span class=\"k\">import</span> <span class=\"n\">f1_score</span>\n\n<span class=\"c1\"># Read student data</span>\n<span class=\"n\">student_data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">read_csv</span><span class=\"p\">(</span><span class=\"s2\">&quot;student-data.csv&quot;</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Student data read successfully!&quot;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Student data read successfully!\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Data-Exploration\">Implementation: Data Exploration<a class=\"anchor-link\" href=\"#Implementation:-Data-Exploration\">&#182;</a></h3><p>Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:</p>\n<ul>\n<li>The total number of students, <code>n_students</code>.</li>\n<li>The total number of features for each student, <code>n_features</code>.</li>\n<li>The number of those students who passed, <code>n_passed</code>.</li>\n<li>The number of those students who failed, <code>n_failed</code>.</li>\n<li>The graduation rate of the class, <code>grad_rate</code>, in percent (%).</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[4]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Calculate number of students</span>\n<span class=\"n\">n_students</span> <span class=\"o\">=</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Calculate number of features</span>\n<span class=\"c1\"># Don&#39;t count label column</span>\n<span class=\"n\">n_features</span> <span class=\"o\">=</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">iloc</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">])</span> <span class=\"o\">-</span> <span class=\"mi\">1</span>\n\n<span class=\"c1\"># TODO: Calculate passing students</span>\n<span class=\"n\">n_passed</span> <span class=\"o\">=</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"s1\">&#39;passed&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;yes&#39;</span><span class=\"p\">])</span>\n\n<span class=\"c1\"># TODO: Calculate failing students</span>\n<span class=\"n\">n_failed</span> <span class=\"o\">=</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"s1\">&#39;passed&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;no&#39;</span><span class=\"p\">])</span>\n\n<span class=\"c1\"># TODO: Calculate graduation rate</span>\n<span class=\"n\">grad_rate</span> <span class=\"o\">=</span> <span class=\"nb\">float</span><span class=\"p\">(</span><span class=\"n\">n_passed</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">n_students</span> <span class=\"o\">*</span> <span class=\"mi\">100</span>\n\n<span class=\"c1\"># Print the results</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Total number of students （number of datapoints): </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">n_students</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Number of features: </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">n_features</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Number of students who passed (graduates): </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">n_passed</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Number of students who failed (non-graduates): </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">n_failed</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Graduation rate of the class: </span><span class=\"si\">{:.2f}</span><span class=\"s2\">%&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">grad_rate</span><span class=\"p\">))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Total number of students （number of datapoints): 395\nNumber of features: 30\nNumber of students who passed (graduates): 265\nNumber of students who failed (non-graduates): 130\nGraduation rate of the class: 67.09%\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[56]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">head</span><span class=\"p\">()</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[56]:</div>\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>school</th>\n      <th>sex</th>\n      <th>age</th>\n      <th>address</th>\n      <th>famsize</th>\n      <th>Pstatus</th>\n      <th>Medu</th>\n      <th>Fedu</th>\n      <th>Mjob</th>\n      <th>Fjob</th>\n      <th>...</th>\n      <th>internet</th>\n      <th>romantic</th>\n      <th>famrel</th>\n      <th>freetime</th>\n      <th>goout</th>\n      <th>Dalc</th>\n      <th>Walc</th>\n      <th>health</th>\n      <th>absences</th>\n      <th>passed</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>GP</td>\n      <td>F</td>\n      <td>18</td>\n      <td>U</td>\n      <td>GT3</td>\n      <td>A</td>\n      <td>4</td>\n      <td>4</td>\n      <td>at_home</td>\n      <td>teacher</td>\n      <td>...</td>\n      <td>no</td>\n      <td>no</td>\n      <td>4</td>\n      <td>3</td>\n      <td>4</td>\n      <td>1</td>\n      <td>1</td>\n      <td>3</td>\n      <td>6</td>\n      <td>no</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>GP</td>\n      <td>F</td>\n      <td>17</td>\n      <td>U</td>\n      <td>GT3</td>\n      <td>T</td>\n      <td>1</td>\n      <td>1</td>\n      <td>at_home</td>\n      <td>other</td>\n      <td>...</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>5</td>\n      <td>3</td>\n      <td>3</td>\n      <td>1</td>\n      <td>1</td>\n      <td>3</td>\n      <td>4</td>\n      <td>no</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>GP</td>\n      <td>F</td>\n      <td>15</td>\n      <td>U</td>\n      <td>LE3</td>\n      <td>T</td>\n      <td>1</td>\n      <td>1</td>\n      <td>at_home</td>\n      <td>other</td>\n      <td>...</td>\n      <td>yes</td>\n      <td>no</td>\n      <td>4</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>3</td>\n      <td>3</td>\n      <td>10</td>\n      <td>yes</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>GP</td>\n      <td>F</td>\n      <td>15</td>\n      <td>U</td>\n      <td>GT3</td>\n      <td>T</td>\n      <td>4</td>\n      <td>2</td>\n      <td>health</td>\n      <td>services</td>\n      <td>...</td>\n      <td>yes</td>\n      <td>yes</td>\n      <td>3</td>\n      <td>2</td>\n      <td>2</td>\n      <td>1</td>\n      <td>1</td>\n      <td>5</td>\n      <td>2</td>\n      <td>yes</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>GP</td>\n      <td>F</td>\n      <td>16</td>\n      <td>U</td>\n      <td>GT3</td>\n      <td>T</td>\n      <td>3</td>\n      <td>3</td>\n      <td>other</td>\n      <td>other</td>\n      <td>...</td>\n      <td>no</td>\n      <td>no</td>\n      <td>4</td>\n      <td>3</td>\n      <td>2</td>\n      <td>1</td>\n      <td>2</td>\n      <td>5</td>\n      <td>4</td>\n      <td>yes</td>\n    </tr>\n  </tbody>\n</table>\n<p>5 rows × 31 columns</p>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[57]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Experiment to see if `failures` are a good predictor of `passed`</span>\n\n<span class=\"n\">student_data</span><span class=\"p\">[[</span><span class=\"s1\">&#39;failures&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;passed&#39;</span><span class=\"p\">]]</span>\n<span class=\"n\">pp</span><span class=\"p\">,</span> <span class=\"n\">pf</span><span class=\"p\">,</span> <span class=\"n\">fp</span><span class=\"p\">,</span> <span class=\"n\">ff</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"p\">)):</span>\n    <span class=\"k\">if</span> <span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">iloc</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">][</span><span class=\"s1\">&#39;failures&#39;</span><span class=\"p\">]</span> <span class=\"o\">&gt;</span> <span class=\"mi\">0</span><span class=\"p\">:</span>\n        <span class=\"k\">if</span> <span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">iloc</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">][</span><span class=\"s1\">&#39;passed&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;no&#39;</span><span class=\"p\">:</span>\n            <span class=\"n\">ff</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span>\n        <span class=\"k\">else</span><span class=\"p\">:</span>\n            <span class=\"n\">fp</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span>\n    <span class=\"k\">else</span><span class=\"p\">:</span>\n        <span class=\"k\">if</span> <span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">iloc</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">][</span><span class=\"s1\">&#39;passed&#39;</span><span class=\"p\">]</span> <span class=\"o\">==</span> <span class=\"s1\">&#39;no&#39;</span><span class=\"p\">:</span>\n            <span class=\"n\">pf</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span>\n        <span class=\"k\">else</span><span class=\"p\">:</span>\n            <span class=\"n\">pp</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;pp: &quot;</span><span class=\"p\">,</span> <span class=\"n\">pp</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pf: &quot;</span><span class=\"p\">,</span> <span class=\"n\">pf</span><span class=\"p\">,</span> <span class=\"s2\">&quot;fp: &quot;</span><span class=\"p\">,</span> <span class=\"n\">fp</span><span class=\"p\">,</span> <span class=\"s2\">&quot;ff: &quot;</span><span class=\"p\">,</span> <span class=\"n\">ff</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>pp:  234 pf:  78 fp:  31 ff:  52\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Preparing-the-Data\">Preparing the Data<a class=\"anchor-link\" href=\"#Preparing-the-Data\">&#182;</a></h2><p>In this section, we will prepare the data for modeling, training and testing.</p>\n<h3 id=\"Identify-feature-and-target-columns\">Identify feature and target columns<a class=\"anchor-link\" href=\"#Identify-feature-and-target-columns\">&#182;</a></h3><p>It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.</p>\n<p>Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[58]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Extract feature columns</span>\n<span class=\"n\">feature_cols</span> <span class=\"o\">=</span> <span class=\"nb\">list</span><span class=\"p\">(</span><span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">columns</span><span class=\"p\">[:</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">])</span>\n\n<span class=\"c1\"># Extract target column &#39;passed&#39;</span>\n<span class=\"n\">target_col</span> <span class=\"o\">=</span> <span class=\"n\">student_data</span><span class=\"o\">.</span><span class=\"n\">columns</span><span class=\"p\">[</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">]</span> \n\n<span class=\"c1\"># Show the list of columns</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Feature columns:</span><span class=\"se\">\\n</span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">feature_cols</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">Target column: </span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">target_col</span><span class=\"p\">))</span>\n\n<span class=\"c1\"># Separate the data into feature data and target data (X_all and y_all, respectively)</span>\n<span class=\"n\">X_all</span> <span class=\"o\">=</span> <span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"n\">feature_cols</span><span class=\"p\">]</span>\n<span class=\"n\">y_all</span> <span class=\"o\">=</span> <span class=\"n\">student_data</span><span class=\"p\">[</span><span class=\"n\">target_col</span><span class=\"p\">]</span>\n\n<span class=\"c1\"># Show the feature information by printing the first five rows</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">Feature values:&quot;</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">X_all</span><span class=\"o\">.</span><span class=\"n\">head</span><span class=\"p\">())</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Feature columns:\n[&#39;school&#39;, &#39;sex&#39;, &#39;age&#39;, &#39;address&#39;, &#39;famsize&#39;, &#39;Pstatus&#39;, &#39;Medu&#39;, &#39;Fedu&#39;, &#39;Mjob&#39;, &#39;Fjob&#39;, &#39;reason&#39;, &#39;guardian&#39;, &#39;traveltime&#39;, &#39;studytime&#39;, &#39;failures&#39;, &#39;schoolsup&#39;, &#39;famsup&#39;, &#39;paid&#39;, &#39;activities&#39;, &#39;nursery&#39;, &#39;higher&#39;, &#39;internet&#39;, &#39;romantic&#39;, &#39;famrel&#39;, &#39;freetime&#39;, &#39;goout&#39;, &#39;Dalc&#39;, &#39;Walc&#39;, &#39;health&#39;, &#39;absences&#39;]\n\nTarget column: passed\n\nFeature values:\n  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\n0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \n1     GP   F   17       U     GT3       T     1     1  at_home     other   \n2     GP   F   15       U     LE3       T     1     1  at_home     other   \n3     GP   F   15       U     GT3       T     4     2   health  services   \n4     GP   F   16       U     GT3       T     3     3    other     other   \n\n    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\n0   ...       yes       no        no       4         3     4    1    1      3   \n1   ...       yes      yes        no       5         3     3    1    1      3   \n2   ...       yes      yes        no       4         3     2    2    3      3   \n3   ...       yes      yes       yes       3         2     2    1    1      5   \n4   ...       yes       no        no       4         3     2    1    2      5   \n\n  absences  \n0        6  \n1        4  \n2       10  \n3        2  \n4        4  \n\n[5 rows x 30 columns]\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Preprocess-Feature-Columns\">Preprocess Feature Columns<a class=\"anchor-link\" href=\"#Preprocess-Feature-Columns\">&#182;</a></h3><p>As you can see, there are several non-numeric columns that need to be converted! Many of them are simply <code>yes</code>/<code>no</code>, e.g. <code>internet</code>. These can be reasonably converted into <code>1</code>/<code>0</code> (binary) values.</p>\n<p>Other columns, like <code>Mjob</code> and <code>Fjob</code>, have more than two values, and are known as <em>categorical variables</em>. The recommended way to handle such a column is to create as many columns as possible values (e.g. <code>Fjob_teacher</code>, <code>Fjob_other</code>, <code>Fjob_services</code>, etc.), and assign a <code>1</code> to one of them and <code>0</code> to all others.</p>\n<p>These generated columns are sometimes called <em>dummy variables</em>, and we will use the <a href=\"http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies\"><code>pandas.get_dummies()</code></a> function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[59]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">preprocess_features</span><span class=\"p\">(</span><span class=\"n\">X</span><span class=\"p\">):</span>\n    <span class=\"sd\">&#39;&#39;&#39; Preprocesses the student data and converts non-numeric binary variables into</span>\n<span class=\"sd\">        binary (0/1) variables. Converts categorical variables into dummy variables. &#39;&#39;&#39;</span>\n    \n    <span class=\"c1\"># Initialize new output DataFrame</span>\n    <span class=\"n\">output</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"n\">X</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># Investigate each feature column for the data</span>\n    <span class=\"k\">for</span> <span class=\"n\">col</span><span class=\"p\">,</span> <span class=\"n\">col_data</span> <span class=\"ow\">in</span> <span class=\"n\">X</span><span class=\"o\">.</span><span class=\"n\">iteritems</span><span class=\"p\">():</span>\n        \n        <span class=\"c1\"># If data type is non-numeric, replace all yes/no values with 1/0</span>\n        <span class=\"k\">if</span> <span class=\"n\">col_data</span><span class=\"o\">.</span><span class=\"n\">dtype</span> <span class=\"o\">==</span> <span class=\"nb\">object</span><span class=\"p\">:</span>\n            <span class=\"n\">col_data</span> <span class=\"o\">=</span> <span class=\"n\">col_data</span><span class=\"o\">.</span><span class=\"n\">replace</span><span class=\"p\">([</span><span class=\"s1\">&#39;yes&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;no&#39;</span><span class=\"p\">],</span> <span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">])</span>\n\n        <span class=\"c1\"># If data type is categorical, convert to dummy variables</span>\n        <span class=\"k\">if</span> <span class=\"n\">col_data</span><span class=\"o\">.</span><span class=\"n\">dtype</span> <span class=\"o\">==</span> <span class=\"nb\">object</span><span class=\"p\">:</span>\n            <span class=\"c1\"># Example: &#39;school&#39; =&gt; &#39;school_GP&#39; and &#39;school_MS&#39;</span>\n            <span class=\"n\">col_data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">get_dummies</span><span class=\"p\">(</span><span class=\"n\">col_data</span><span class=\"p\">,</span> <span class=\"n\">prefix</span> <span class=\"o\">=</span> <span class=\"n\">col</span><span class=\"p\">)</span>  \n        \n        <span class=\"c1\"># Collect the revised columns</span>\n        <span class=\"n\">output</span> <span class=\"o\">=</span> <span class=\"n\">output</span><span class=\"o\">.</span><span class=\"n\">join</span><span class=\"p\">(</span><span class=\"n\">col_data</span><span class=\"p\">)</span>\n    \n    <span class=\"k\">return</span> <span class=\"n\">output</span>\n\n<span class=\"n\">X_all</span> <span class=\"o\">=</span> <span class=\"n\">preprocess_features</span><span class=\"p\">(</span><span class=\"n\">X_all</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Processed feature columns (</span><span class=\"si\">{}</span><span class=\"s2\"> total features):</span><span class=\"se\">\\n</span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">X_all</span><span class=\"o\">.</span><span class=\"n\">columns</span><span class=\"p\">),</span> <span class=\"nb\">list</span><span class=\"p\">(</span><span class=\"n\">X_all</span><span class=\"o\">.</span><span class=\"n\">columns</span><span class=\"p\">)))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Processed feature columns (48 total features):\n[&#39;school_GP&#39;, &#39;school_MS&#39;, &#39;sex_F&#39;, &#39;sex_M&#39;, &#39;age&#39;, &#39;address_R&#39;, &#39;address_U&#39;, &#39;famsize_GT3&#39;, &#39;famsize_LE3&#39;, &#39;Pstatus_A&#39;, &#39;Pstatus_T&#39;, &#39;Medu&#39;, &#39;Fedu&#39;, &#39;Mjob_at_home&#39;, &#39;Mjob_health&#39;, &#39;Mjob_other&#39;, &#39;Mjob_services&#39;, &#39;Mjob_teacher&#39;, &#39;Fjob_at_home&#39;, &#39;Fjob_health&#39;, &#39;Fjob_other&#39;, &#39;Fjob_services&#39;, &#39;Fjob_teacher&#39;, &#39;reason_course&#39;, &#39;reason_home&#39;, &#39;reason_other&#39;, &#39;reason_reputation&#39;, &#39;guardian_father&#39;, &#39;guardian_mother&#39;, &#39;guardian_other&#39;, &#39;traveltime&#39;, &#39;studytime&#39;, &#39;failures&#39;, &#39;schoolsup&#39;, &#39;famsup&#39;, &#39;paid&#39;, &#39;activities&#39;, &#39;nursery&#39;, &#39;higher&#39;, &#39;internet&#39;, &#39;romantic&#39;, &#39;famrel&#39;, &#39;freetime&#39;, &#39;goout&#39;, &#39;Dalc&#39;, &#39;Walc&#39;, &#39;health&#39;, &#39;absences&#39;]\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Training-and-Testing-Data-Split\">Implementation: Training and Testing Data Split<a class=\"anchor-link\" href=\"#Implementation:-Training-and-Testing-Data-Split\">&#182;</a></h3><p>So far, we have converted all <em>categorical</em> features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:</p>\n<ul>\n<li>Randomly shuffle and split the data (<code>X_all</code>, <code>y_all</code>) into training and testing subsets.<ul>\n<li>Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).</li>\n<li>Set a <code>random_state</code> for the function(s) you use, if provided.</li>\n<li>Store the results in <code>X_train</code>, <code>X_test</code>, <code>y_train</code>, and <code>y_test</code>.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[60]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Import any additional functionality you may need here</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.cross_validation</span> <span class=\"k\">import</span> <span class=\"n\">train_test_split</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.utils</span> <span class=\"k\">import</span> <span class=\"n\">shuffle</span>\n\n<span class=\"c1\"># TODO: Set the number of training points</span>\n<span class=\"n\">num_train</span> <span class=\"o\">=</span> <span class=\"mi\">300</span>\n\n<span class=\"c1\"># Set the number of testing points</span>\n<span class=\"n\">num_test</span> <span class=\"o\">=</span> <span class=\"n\">X_all</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">-</span> <span class=\"n\">num_train</span>\n\n<span class=\"c1\"># TODO: Shuffle and split the dataset into the number of training and testing points above</span>\n<span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">,</span> <span class=\"n\">y_test</span> <span class=\"o\">=</span> <span class=\"n\">train_test_split</span><span class=\"p\">(</span><span class=\"n\">X_all</span><span class=\"p\">,</span> <span class=\"n\">y_all</span><span class=\"p\">,</span> <span class=\"n\">train_size</span><span class=\"o\">=</span><span class=\"n\">num_train</span><span class=\"p\">,</span> <span class=\"n\">test_size</span><span class=\"o\">=</span><span class=\"n\">num_test</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Show the results of the split</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Training set has </span><span class=\"si\">{}</span><span class=\"s2\"> samples.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Testing set has </span><span class=\"si\">{}</span><span class=\"s2\"> samples.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">X_test</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Training set has 300 samples.\nTesting set has 95 samples.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Training-and-Evaluating-Models\">Training and Evaluating Models<a class=\"anchor-link\" href=\"#Training-and-Evaluating-Models\">&#182;</a></h2><p>In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in <code>scikit-learn</code>. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.</p>\n<p><strong>The following supervised learning models are currently available in</strong> <a href=\"http://scikit-learn.org/stable/supervised_learning.html\"><code>scikit-learn</code></a> <strong>that you may choose from:</strong></p>\n<ul>\n<li>Gaussian Naive Bayes (GaussianNB)</li>\n<li>Decision Trees</li>\n<li>Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)</li>\n<li>K-Nearest Neighbors (KNeighbors)</li>\n<li>Stochastic Gradient Descent (SGDC)</li>\n<li>Support Vector Machines (SVM)</li>\n<li>Logistic Regression</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-2---Model-Application\">Question 2 - Model Application<a class=\"anchor-link\" href=\"#Question-2---Model-Application\">&#182;</a></h3><p><em>List three supervised learning models that are appropriate for this problem. For each model chosen</em></p>\n<ul>\n<li>Describe one real-world application in industry where the model can be applied. <em>(You may need to do a small bit of research for this — give references!)</em> </li>\n<li>What are the strengths of the model; when does it perform well? </li>\n<li>What are the weaknesses of the model; when does it perform poorly?</li>\n<li>What makes this model a good candidate for the problem, given what you know about the data?</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p><strong>Description of data:</strong></p>\n<ul>\n<li>395 datapoints (few) -&gt; should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)</li>\n<li>31 features (non-trivial but not high compared to text learning applications that may have 50,000 features) </li>\n</ul>\n<p><strong>Model 1: Random Forests</strong></p>\n<table>\n<th></th><th>Random Forests</th>\n<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\"http://www.scientific.net/AMM.740.947\">The Application of Random Forest in Finance, 2015\"</a>).</li></ul></td></tr>\n<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\n<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\n<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\n</li><li>It is often quite accurate.</li></ul></td></tr>\n</table><p><strong>Model 2: Naive Bayes (GaussianNB)</strong></p>\n<table>\n<th></th><th>Naive Bayes</th>\n<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\n<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\n<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\n<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 31 features in our dataset.</li></ul></td></tr>\n</table><p><strong>Model 3: Logistic Regression</strong></p>\n<table>\n<th></th><th>Logistic Regression</th>\n<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\"http://www.aabri.com/manuscripts/10617.pdf\">Multiple logistic regression analysis of cigarette use among\nhigh school students, 2009</a>).</li></ul></td></tr>\n<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\n<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\n<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\n</table><p>Reference documents:</p>\n<ul>\n<li><a href=\"https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms\">What are the advantages of different classification algorithms?</a></li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Setup\">Setup<a class=\"anchor-link\" href=\"#Setup\">&#182;</a></h3><p>Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:</p>\n<ul>\n<li><code>train_classifier</code> - takes as input a classifier and training data and fits the classifier to the data.</li>\n<li><code>predict_labels</code> - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.</li>\n<li><code>train_predict</code> - takes as input a classifier, and the training and testing data, and performs <code>train_clasifier</code> and <code>predict_labels</code>.<ul>\n<li>This function will report the F<sub>1</sub> score for both the training and testing data separately.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[61]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">def</span> <span class=\"nf\">train_classifier</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">):</span>\n    <span class=\"sd\">&#39;&#39;&#39; Fits a classifier to the training data. &#39;&#39;&#39;</span>\n    \n    <span class=\"c1\"># Start the clock, train the classifier, then stop the clock</span>\n    <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    <span class=\"n\">clf</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n    <span class=\"n\">end</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    \n    <span class=\"c1\"># Print the results</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Trained model in </span><span class=\"si\">{:.4f}</span><span class=\"s2\"> seconds&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">end</span> <span class=\"o\">-</span> <span class=\"n\">start</span><span class=\"p\">))</span>\n\n    \n<span class=\"k\">def</span> <span class=\"nf\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">target</span><span class=\"p\">):</span>\n    <span class=\"sd\">&#39;&#39;&#39; Makes predictions using a fit classifier based on F1 score. &#39;&#39;&#39;</span>\n    \n    <span class=\"c1\"># Start the clock, make predictions, then stop the clock</span>\n    <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    <span class=\"n\">y_pred</span> <span class=\"o\">=</span> <span class=\"n\">clf</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">)</span>\n    <span class=\"n\">end</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    \n    <span class=\"c1\"># Print and return results</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Made predictions in </span><span class=\"si\">{:.4f}</span><span class=\"s2\"> seconds.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">end</span> <span class=\"o\">-</span> <span class=\"n\">start</span><span class=\"p\">))</span>\n    <span class=\"k\">return</span> <span class=\"n\">f1_score</span><span class=\"p\">(</span><span class=\"n\">target</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">,</span> <span class=\"n\">y_pred</span><span class=\"p\">,</span> <span class=\"n\">pos_label</span><span class=\"o\">=</span><span class=\"s1\">&#39;yes&#39;</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">def</span> <span class=\"nf\">train_predict</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">):</span>\n    <span class=\"sd\">&#39;&#39;&#39; Train and predict using a classifer based on F1 score. &#39;&#39;&#39;</span>\n    \n    <span class=\"c1\"># Indicate the classifier and the training set size</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Training a </span><span class=\"si\">{}</span><span class=\"s2\"> using a training set size of </span><span class=\"si\">{}</span><span class=\"s2\">. . .&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"o\">.</span><span class=\"n\">__class__</span><span class=\"o\">.</span><span class=\"n\">__name__</span><span class=\"p\">,</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">)))</span>\n    \n    <span class=\"c1\"># Train the classifier</span>\n    <span class=\"n\">train_classifier</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Print the results of prediction for both training and testing</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;F1 score for training set: </span><span class=\"si\">{:.4f}</span><span class=\"s2\">.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)))</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;F1 score for test set: </span><span class=\"si\">{:.4f}</span><span class=\"s2\">.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)))</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Model-Performance-Metrics\">Implementation: Model Performance Metrics<a class=\"anchor-link\" href=\"#Implementation:-Model-Performance-Metrics\">&#182;</a></h3><p>With the predefined functions above, you will now import the three supervised learning models of your choice and run the <code>train_predict</code> function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:</p>\n<ul>\n<li>Import the three supervised learning models you've discussed in the previous section.</li>\n<li>Initialize the three models and store them in <code>clf_A</code>, <code>clf_B</code>, and <code>clf_C</code>.<ul>\n<li>Use a <code>random_state</code> for each model you use, if provided.</li>\n<li><strong>Note:</strong> Use the default settings for each model — you will tune one specific model in a later section.</li>\n</ul>\n</li>\n<li>Create the different training set sizes to be used to train each model.<ul>\n<li><em>Do not reshuffle and resplit the data! The new training points should be drawn from <code>X_train</code> and <code>y_train</code>.</em></li>\n</ul>\n</li>\n<li>Fit each model with each training set size and make predictions on the test set (9 in total).<br>\n<strong>Note:</strong> Three tables are provided after the following code cell which can be used to store your results.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[62]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Import the three supervised learning models from sklearn</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.ensemble</span> <span class=\"k\">import</span> <span class=\"n\">RandomForestClassifier</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.naive_bayes</span> <span class=\"k\">import</span> <span class=\"n\">GaussianNB</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.linear_model</span> <span class=\"k\">import</span> <span class=\"n\">LogisticRegression</span>\n\n<span class=\"c1\"># TODO: Initialize the three models</span>\n<span class=\"n\">clf_A</span> <span class=\"o\">=</span> <span class=\"n\">RandomForestClassifier</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"n\">clf_B</span> <span class=\"o\">=</span> <span class=\"n\">GaussianNB</span><span class=\"p\">()</span>\n<span class=\"n\">clf_C</span> <span class=\"o\">=</span> <span class=\"n\">LogisticRegression</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Set up the training set sizes</span>\n<span class=\"c1\"># Previously shuffled</span>\n<span class=\"n\">X_train_100</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span><span class=\"p\">[:</span><span class=\"mi\">100</span><span class=\"p\">]</span>\n<span class=\"n\">y_train_100</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span><span class=\"p\">[:</span><span class=\"mi\">100</span><span class=\"p\">]</span>\n\n<span class=\"n\">X_train_200</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span><span class=\"p\">[:</span><span class=\"mi\">200</span><span class=\"p\">]</span>\n<span class=\"n\">y_train_200</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span><span class=\"p\">[:</span><span class=\"mi\">200</span><span class=\"p\">]</span>\n\n<span class=\"n\">X_train_300</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span>\n<span class=\"n\">y_train_300</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span>\n\n<span class=\"c1\"># TODO: Execute the &#39;train_predict&#39; function for each classifier and each training set size</span>\n<span class=\"k\">for</span> <span class=\"n\">clf</span> <span class=\"ow\">in</span> <span class=\"p\">[</span><span class=\"n\">clf_A</span><span class=\"p\">,</span> <span class=\"n\">clf_B</span><span class=\"p\">,</span> <span class=\"n\">clf_C</span><span class=\"p\">]:</span>\n    <span class=\"k\">for</span> <span class=\"n\">j</span> <span class=\"ow\">in</span> <span class=\"p\">[(</span><span class=\"n\">X_train_100</span><span class=\"p\">,</span> <span class=\"n\">y_train_100</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"n\">X_train_200</span><span class=\"p\">,</span> <span class=\"n\">y_train_200</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"n\">X_train_300</span><span class=\"p\">,</span> <span class=\"n\">y_train_300</span><span class=\"p\">)]:</span>\n        <span class=\"n\">train_predict</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">j</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">],</span> <span class=\"n\">j</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">],</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Training a RandomForestClassifier using a training set size of 100. . .\nTrained model in 0.0242 seconds\nMade predictions in 0.0018 seconds.\nF1 score for training set: 1.0000.\nMade predictions in 0.0022 seconds.\nF1 score for test set: 0.6667.\n\n\nTraining a RandomForestClassifier using a training set size of 200. . .\nTrained model in 0.0121 seconds\nMade predictions in 0.0011 seconds.\nF1 score for training set: 0.9964.\nMade predictions in 0.0013 seconds.\nF1 score for test set: 0.6563.\n\n\nTraining a RandomForestClassifier using a training set size of 300. . .\nTrained model in 0.0140 seconds\nMade predictions in 0.0012 seconds.\nF1 score for training set: 0.9927.\nMade predictions in 0.0009 seconds.\nF1 score for test set: 0.6870.\n\n\nTraining a GaussianNB using a training set size of 100. . .\nTrained model in 0.0017 seconds\nMade predictions in 0.0003 seconds.\nF1 score for training set: 0.8714.\nMade predictions in 0.0003 seconds.\nF1 score for test set: 0.6977.\n\n\nTraining a GaussianNB using a training set size of 200. . .\nTrained model in 0.0009 seconds\nMade predictions in 0.0003 seconds.\nF1 score for training set: 0.8421.\nMade predictions in 0.0003 seconds.\nF1 score for test set: 0.6875.\n\n\nTraining a GaussianNB using a training set size of 300. . .\nTrained model in 0.0008 seconds\nMade predictions in 0.0003 seconds.\nF1 score for training set: 0.8180.\nMade predictions in 0.0003 seconds.\nF1 score for test set: 0.7031.\n\n\nTraining a KNeighborsClassifier using a training set size of 100. . .\nTrained model in 0.0077 seconds\nMade predictions in 0.0071 seconds.\nF1 score for training set: 0.8552.\nMade predictions in 0.0014 seconds.\nF1 score for test set: 0.7556.\n\n\nTraining a KNeighborsClassifier using a training set size of 200. . .\nTrained model in 0.0008 seconds\nMade predictions in 0.0030 seconds.\nF1 score for training set: 0.8667.\nMade predictions in 0.0014 seconds.\nF1 score for test set: 0.7737.\n\n\nTraining a KNeighborsClassifier using a training set size of 300. . .\nTrained model in 0.0008 seconds\nMade predictions in 0.0047 seconds.\nF1 score for training set: 0.8615.\nMade predictions in 0.0017 seconds.\nF1 score for test set: 0.7971.\n\n\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[63]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Models 4 - 7 for general comparison</span>\n\n<span class=\"c1\"># TODO: Import the three supervised learning models from sklearn</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.svm</span> <span class=\"k\">import</span> <span class=\"n\">SVC</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.neighbors</span> <span class=\"k\">import</span> <span class=\"n\">KNeighborsClassifier</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.tree</span> <span class=\"k\">import</span> <span class=\"n\">DecisionTreeClassifier</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.linear_model</span> <span class=\"k\">import</span> <span class=\"n\">SGDClassifier</span>\n\n\n<span class=\"c1\"># TODO: Initialize the three models</span>\n<span class=\"n\">clf_A</span> <span class=\"o\">=</span> <span class=\"n\">DecisionTreeClassifier</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"n\">clf_B</span> <span class=\"o\">=</span> <span class=\"n\">SGDClassifier</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"n\">clf_C</span> <span class=\"o\">=</span> <span class=\"n\">SVC</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"n\">clf_D</span> <span class=\"o\">=</span> <span class=\"n\">KNeighborsClassifier</span><span class=\"p\">()</span>\n\n<span class=\"c1\"># TODO: Set up the training set sizes</span>\n<span class=\"c1\"># Previously shuffled</span>\n<span class=\"n\">X_train_100</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span><span class=\"p\">[:</span><span class=\"mi\">100</span><span class=\"p\">]</span>\n<span class=\"n\">y_train_100</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span><span class=\"p\">[:</span><span class=\"mi\">100</span><span class=\"p\">]</span>\n\n<span class=\"n\">X_train_200</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span><span class=\"p\">[:</span><span class=\"mi\">200</span><span class=\"p\">]</span>\n<span class=\"n\">y_train_200</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span><span class=\"p\">[:</span><span class=\"mi\">200</span><span class=\"p\">]</span>\n\n<span class=\"n\">X_train_300</span> <span class=\"o\">=</span> <span class=\"n\">X_train</span>\n<span class=\"n\">y_train_300</span> <span class=\"o\">=</span> <span class=\"n\">y_train</span>\n\n<span class=\"c1\"># TODO: Execute the &#39;train_predict&#39; function for each classifier and each training set size</span>\n<span class=\"k\">for</span> <span class=\"n\">clf</span> <span class=\"ow\">in</span> <span class=\"p\">[</span><span class=\"n\">clf_A</span><span class=\"p\">,</span> <span class=\"n\">clf_B</span><span class=\"p\">,</span> <span class=\"n\">clf_C</span><span class=\"p\">,</span> <span class=\"n\">clf_D</span><span class=\"p\">]:</span>\n    <span class=\"k\">for</span> <span class=\"n\">j</span> <span class=\"ow\">in</span> <span class=\"p\">[(</span><span class=\"n\">X_train_100</span><span class=\"p\">,</span> <span class=\"n\">y_train_100</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"n\">X_train_200</span><span class=\"p\">,</span> <span class=\"n\">y_train_200</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"n\">X_train_300</span><span class=\"p\">,</span> <span class=\"n\">y_train_300</span><span class=\"p\">)]:</span>\n        <span class=\"n\">train_predict</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">j</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">],</span> <span class=\"n\">j</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">],</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Training a DecisionTreeClassifier using a training set size of 100. . .\nTrained model in 0.0022 seconds\nMade predictions in 0.0003 seconds.\nF1 score for training set: 1.0000.\nMade predictions in 0.0008 seconds.\nF1 score for test set: 0.6721.\n\n\nTraining a DecisionTreeClassifier using a training set size of 200. . .\nTrained model in 0.0017 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 1.0000.\nMade predictions in 0.0002 seconds.\nF1 score for test set: 0.6667.\n\n\nTraining a DecisionTreeClassifier using a training set size of 300. . .\nTrained model in 0.0018 seconds\nMade predictions in 0.0003 seconds.\nF1 score for training set: 1.0000.\nMade predictions in 0.0002 seconds.\nF1 score for test set: 0.6723.\n\n\nTraining a SGDClassifier using a training set size of 100. . .\nTrained model in 0.0058 seconds\nMade predictions in 0.0029 seconds.\nF1 score for training set: 0.0000.\nMade predictions in 0.0003 seconds.\nF1 score for test set: 0.0000.\n\n\nTraining a SGDClassifier using a training set size of 200. . .\nTrained model in 0.0009 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 0.8074.\nMade predictions in 0.0001 seconds.\nF1 score for test set: 0.7069.\n\n\nTraining a SGDClassifier using a training set size of 300. . .\nTrained model in 0.0010 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 0.6268.\nMade predictions in 0.0002 seconds.\nF1 score for test set: 0.6847.\n\n\nTraining a SVC using a training set size of 100. . .\nTrained model in 0.0042 seconds\nMade predictions in 0.0016 seconds.\nF1 score for training set: 0.8645.\nMade predictions in 0.0007 seconds.\nF1 score for test set: 0.7867.\n\n\nTraining a SVC using a training set size of 200. . .\nTrained model in 0.0040 seconds\nMade predictions in 0.0021 seconds.\nF1 score for training set: 0.8698.\nMade predictions in 0.0012 seconds.\nF1 score for test set: 0.7785.\n\n\nTraining a SVC using a training set size of 300. . .\nTrained model in 0.0068 seconds\nMade predictions in 0.0040 seconds.\nF1 score for training set: 0.8675.\nMade predictions in 0.0015 seconds.\nF1 score for test set: 0.7755.\n\n\nTraining a LogisticRegression using a training set size of 100. . .\nTrained model in 0.0042 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 0.8857.\nMade predictions in 0.0002 seconds.\nF1 score for test set: 0.7385.\n\n\nTraining a LogisticRegression using a training set size of 200. . .\nTrained model in 0.0015 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 0.8720.\nMade predictions in 0.0001 seconds.\nF1 score for test set: 0.7132.\n\n\nTraining a LogisticRegression using a training set size of 300. . .\nTrained model in 0.0034 seconds\nMade predictions in 0.0002 seconds.\nF1 score for training set: 0.8513.\nMade predictions in 0.0001 seconds.\nF1 score for test set: 0.7407.\n\n\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stderr output_text\">\n<pre>/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\n  &#39;precision&#39;, &#39;predicted&#39;, average, warn_for)\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Tabular-Results\">Tabular Results<a class=\"anchor-link\" href=\"#Tabular-Results\">&#182;</a></h3><p>Edit the cell below to see how a table can be designed in <a href=\"https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables\">Markdown</a>. You can record your results from above in the tables provided.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong> Classifer 1 - Random Forest</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (s) (test)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0102</td>\n<td style=\"text-align:center\">0.0009</td>\n<td style=\"text-align:center\">0.9922</td>\n<td style=\"text-align:center\"><strong>0.7206</strong></td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0094</td>\n<td style=\"text-align:center\">0.0008</td>\n<td style=\"text-align:center\">0.9962</td>\n<td style=\"text-align:center\">0.6977</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0107</td>\n<td style=\"text-align:center\">0.0012</td>\n<td style=\"text-align:center\">0.9951</td>\n<td style=\"text-align:center\">0.6721</td>\n</tr>\n</tbody>\n</table>\n<ul>\n<li>High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.</li>\n<li>F1 test score decreases as training set size increases, again suggesting that there is overfitting.</li>\n<li>Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)</li>\n</ul>\n<p><strong> Classifer 2 - GaussianNB</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0009</td>\n<td style=\"text-align:center\">0.0004</td>\n<td style=\"text-align:center\">0.8392</td>\n<td style=\"text-align:center\"><strong>0.7591</strong></td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0007</td>\n<td style=\"text-align:center\">0.0002</td>\n<td style=\"text-align:center\">0.8309</td>\n<td style=\"text-align:center\">0.7424</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0011</td>\n<td style=\"text-align:center\">0.0003</td>\n<td style=\"text-align:center\">0.8099</td>\n<td style=\"text-align:center\">0.7463</td>\n</tr>\n</tbody>\n</table>\n<p><strong> Classifer 3 - Logistic Regression</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0027</td>\n<td style=\"text-align:center\">0.0001</td>\n<td style=\"text-align:center\">0.8872</td>\n<td style=\"text-align:center\">0.7328</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0017</td>\n<td style=\"text-align:center\">0.0002</td>\n<td style=\"text-align:center\">0.8489</td>\n<td style=\"text-align:center\">0.7612</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0026</td>\n<td style=\"text-align:center\">0.0001</td>\n<td style=\"text-align:center\">0.8337</td>\n<td style=\"text-align:center\"><strong>0.7883</strong></td>\n</tr>\n</tbody>\n</table>\n<p>It's doing surprisingly well.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong> Classifer 4 - Support Vector Machines SVC</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0038</td>\n<td style=\"text-align:center\">0.0007</td>\n<td style=\"text-align:center\">0.8671</td>\n<td style=\"text-align:center\">0.7483</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0033</td>\n<td style=\"text-align:center\">0.0013</td>\n<td style=\"text-align:center\">0.8800</td>\n<td style=\"text-align:center\">0.7724</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0053</td>\n<td style=\"text-align:center\">0.0013</td>\n<td style=\"text-align:center\">0.8793</td>\n<td style=\"text-align:center\"><strong>0.7808</strong></td>\n</tr>\n</tbody>\n</table>\n<ul>\n<li>This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).</li>\n<li>Prediction time linear with number of things to predict for training set sizes 200,300.</li>\n</ul>\n<p><strong> Classifer 5 - KNeighborsClassifier</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0006</td>\n<td style=\"text-align:center\">0.0012</td>\n<td style=\"text-align:center\">0.8345</td>\n<td style=\"text-align:center\">0.7023</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0006</td>\n<td style=\"text-align:center\">0.0014</td>\n<td style=\"text-align:center\">0.8502</td>\n<td style=\"text-align:center\">0.7121</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0007</td>\n<td style=\"text-align:center\">0.0019</td>\n<td style=\"text-align:center\">0.8731</td>\n<td style=\"text-align:center\"><strong>0.7556</strong></td>\n</tr>\n</tbody>\n</table>\n<p><strong> Classifer 6 - Decision Trees</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0009</td>\n<td style=\"text-align:center\">0.0004</td>\n<td style=\"text-align:center\">1.0000</td>\n<td style=\"text-align:center\">0.6667</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0013</td>\n<td style=\"text-align:center\">0.0001</td>\n<td style=\"text-align:center\">1.0000</td>\n<td style=\"text-align:center\"><strong>0.7460</strong></td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0016</td>\n<td style=\"text-align:center\">0.0002</td>\n<td style=\"text-align:center\">1.0000</td>\n<td style=\"text-align:center\">0.7424</td>\n</tr>\n</tbody>\n</table>\n<ul>\n<li>High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.</li>\n<li>F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.</li>\n</ul>\n<p><strong> Classifer 7 - Stochastic Gradient Descent</strong></p>\n<table>\n<thead><tr>\n<th style=\"text-align:center\">Training Set Size</th>\n<th style=\"text-align:center\">Training Time (s)</th>\n<th style=\"text-align:center\">Prediction Time (test) (s)</th>\n<th style=\"text-align:center\">F1 Score (train)</th>\n<th style=\"text-align:center\">F1 Score (test)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">100</td>\n<td style=\"text-align:center\">0.0091</td>\n<td style=\"text-align:center\">0.0008</td>\n<td style=\"text-align:center\">0.7832</td>\n<td style=\"text-align:center\">0.7586</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">200</td>\n<td style=\"text-align:center\">0.0010</td>\n<td style=\"text-align:center\">0.0002</td>\n<td style=\"text-align:center\">0.5027</td>\n<td style=\"text-align:center\">0.3902</td>\n</tr>\n<tr>\n<td style=\"text-align:center\">300</td>\n<td style=\"text-align:center\">0.0010</td>\n<td style=\"text-align:center\">0.0002</td>\n<td style=\"text-align:center\">0.5981</td>\n<td style=\"text-align:center\">0.4946</td>\n</tr>\n</tbody>\n</table>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Choosing-the-Best-Model\">Choosing the Best Model<a class=\"anchor-link\" href=\"#Choosing-the-Best-Model\">&#182;</a></h2><p>In this final section, you will choose from the three supervised learning models the <em>best</em> model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (<code>X_train</code> and <code>y_train</code>) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-3---Choosing-the-Best-Model\">Question 3 - Choosing the Best Model<a class=\"anchor-link\" href=\"#Question-3---Choosing-the-Best-Model\">&#182;</a></h3><p><em>Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p>I chose <strong>Logistic Regression</strong>.</p>\n<ol>\n<li><p><strong>Performance (important)</strong>: Logistic Regression had the <strong>highest F1 score</strong>.</p>\n<ul>\n<li>F1 score is a combined measure of (the harmonic mean of) precision and recall.<ul>\n<li>Precision is X and </li>\n<li>Recall is Y.</li>\n</ul>\n</li>\n<li>The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of <strong>0.7883</strong> and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.</li>\n</ul>\n</li>\n<li><p><strong>Cost</strong> (measured by training and prediction times):</p>\n<ul>\n<li>Out of the two models with similar F1 score, Logistic Regression has the <strong>shorter training and prediction time</strong> at &lt; 50% that af SVC's time (<strong>0.0026s to train, 0.0001s to predict</strong> vs SVC 0.0053s to train and 0.0013 to predict). </li>\n<li>The training time is not too high and the prediction time is extremely low at 0.0001s.</li>\n<li>Since minimising computational cost is a concern, Logistic Regression seems like a good choice.</li>\n</ul>\n</li>\n<li><p><strong>Available data</strong></p>\n<ul>\n<li>This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.</li>\n</ul>\n</li>\n</ol>\n<p><strong>Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB</strong></p>\n<p>If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).</p>\n<ul>\n<li>It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.</li>\n</ul>\n<p><strong>Note 2: This may not be the optimal model because we did not tune any parameters.</strong></p>\n<ul>\n<li>The default parameters for e.g. Decision Trees may just be really bad for this example.</li>\n<li>If we wanted to choose the best model, we should compare versions of the models with tuned parameters.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-4---Model-in-Layman's-Terms\">Question 4 - Model in Layman's Terms<a class=\"anchor-link\" href=\"#Question-4---Model-in-Layman's-Terms\">&#182;</a></h3><p><em>In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n<p><strong>Training</strong> Logistic regression will draw one single curve to relate characteristics like whether or not a student has access to Internet or whether to the predicted probability that they pass. For example, it may think that students who have little free time and are in romantic relationships are less likely to pass (an intuitive reason is because they have less time to study).</p>\n<p><strong>Prediction</strong> If the model guesses based on the student's characteristics they are more likely to pass than to fail, then it predicts that they will pass and vice versa.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Model-Tuning\">Implementation: Model Tuning<a class=\"anchor-link\" href=\"#Implementation:-Model-Tuning\">&#182;</a></h3><p>Fine tune the chosen model. Use grid search (<code>GridSearchCV</code>) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:</p>\n<ul>\n<li>Import <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html\"><code>sklearn.grid_search.gridSearchCV</code></a> and <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html\"><code>sklearn.metrics.make_scorer</code></a>.</li>\n<li>Create a dictionary of parameters you wish to tune for the chosen model.<ul>\n<li>Example: <code>parameters = {'parameter' : [list of values]}</code>.</li>\n</ul>\n</li>\n<li>Initialize the classifier you've chosen and store it in <code>clf</code>.</li>\n<li>Create the F<sub>1</sub> scoring function using <code>make_scorer</code> and store it in <code>f1_scorer</code>.<ul>\n<li>Set the <code>pos_label</code> parameter to the correct value!</li>\n</ul>\n</li>\n<li>Perform grid search on the classifier <code>clf</code> using <code>f1_scorer</code> as the scoring method, and store it in <code>grid_obj</code>.</li>\n<li>Fit the grid search object to the training data (<code>X_train</code>, <code>y_train</code>), and store it in <code>grid_obj</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[64]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Import &#39;GridSearchCV&#39; and &#39;make_scorer&#39;</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.grid_search</span> <span class=\"k\">import</span> <span class=\"n\">GridSearchCV</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.metrics</span> <span class=\"k\">import</span> <span class=\"n\">make_scorer</span>\n\n<span class=\"k\">def</span> <span class=\"nf\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">target</span><span class=\"p\">):</span>\n    <span class=\"sd\">&#39;&#39;&#39; Makes predictions using a fit classifier based on F1 score. &#39;&#39;&#39;</span>\n    \n    <span class=\"c1\"># Start the clock, make predictions, then stop the clock</span>\n    <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    <span class=\"n\">y_pred</span> <span class=\"o\">=</span> <span class=\"n\">clf</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">)</span>\n    <span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">clf</span><span class=\"o\">.</span><span class=\"n\">score</span><span class=\"p\">(</span><span class=\"n\">features</span><span class=\"p\">,</span> <span class=\"n\">target</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">)</span>\n    <span class=\"n\">end</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"p\">()</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Score: &quot;</span><span class=\"p\">,</span> <span class=\"n\">score</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Print and return results</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Made predictions in </span><span class=\"si\">{:.4f}</span><span class=\"s2\"> seconds.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">end</span> <span class=\"o\">-</span> <span class=\"n\">start</span><span class=\"p\">))</span>\n    <span class=\"k\">return</span> <span class=\"n\">f1_score</span><span class=\"p\">(</span><span class=\"n\">target</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">,</span> <span class=\"n\">y_pred</span><span class=\"p\">,</span> <span class=\"n\">pos_label</span><span class=\"o\">=</span><span class=\"s1\">&#39;yes&#39;</span><span class=\"p\">)</span>\n\n\n<span class=\"c1\"># TODO: Create the parameters list you wish to tune</span>\n<span class=\"n\">parameters</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"s2\">&quot;penalty&quot;</span><span class=\"p\">:[</span><span class=\"s2\">&quot;l2&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;l1&quot;</span><span class=\"p\">],</span> \n              <span class=\"c1\"># &quot;tol&quot;:[0.00001, 0.0001, 0.001, 0.1, 1], </span>\n               <span class=\"s2\">&quot;C&quot;</span><span class=\"p\">:[</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">10</span><span class=\"p\">,</span><span class=\"mi\">100</span><span class=\"p\">,</span><span class=\"mi\">1000</span><span class=\"p\">],</span>\n              <span class=\"p\">}</span>\n\n<span class=\"c1\"># TODO: Initialize the classifier</span>\n<span class=\"n\">clf</span> <span class=\"o\">=</span> <span class=\"n\">LogisticRegression</span><span class=\"p\">()</span>\n\n<span class=\"c1\"># TODO: Make an f1 scoring function using &#39;make_scorer&#39; </span>\n<span class=\"n\">f1_scorer</span> <span class=\"o\">=</span> <span class=\"n\">make_scorer</span><span class=\"p\">(</span><span class=\"n\">f1_score</span><span class=\"p\">,</span> <span class=\"n\">pos_label</span><span class=\"o\">=</span><span class=\"s1\">&#39;yes&#39;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Perform grid search on the classifier using the f1_scorer as the scoring method</span>\n<span class=\"n\">grid_obj</span> <span class=\"o\">=</span> <span class=\"n\">GridSearchCV</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">parameters</span><span class=\"p\">,</span> <span class=\"n\">scoring</span><span class=\"o\">=</span><span class=\"n\">f1_scorer</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Fit the grid search object to the training data and find the optimal parameters</span>\n<span class=\"n\">grid_obj</span> <span class=\"o\">=</span> <span class=\"n\">grid_obj</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">grid_obj</span><span class=\"p\">)</span>\n<span class=\"c1\"># Get the estimator</span>\n<span class=\"n\">clf</span> <span class=\"o\">=</span> <span class=\"n\">grid_obj</span><span class=\"o\">.</span><span class=\"n\">best_estimator_</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Report the final F1 score for training and testing after parameter tuning</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Tuned model has a training F1 score of </span><span class=\"si\">{:.4f}</span><span class=\"s2\">.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Tuned model has a testing F1 score of </span><span class=\"si\">{:.4f}</span><span class=\"s2\">.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">predict_labels</span><span class=\"p\">(</span><span class=\"n\">clf</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>GridSearchCV(cv=None, error_score=&#39;raise&#39;,\n       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n          intercept_scaling=1, max_iter=100, multi_class=&#39;ovr&#39;, n_jobs=1,\n          penalty=&#39;l2&#39;, random_state=None, solver=&#39;liblinear&#39;, tol=0.0001,\n          verbose=0, warm_start=False),\n       fit_params={}, iid=True, n_jobs=1,\n       param_grid={&#39;penalty&#39;: [&#39;l2&#39;, &#39;l1&#39;], &#39;C&#39;: [1, 10, 100, 1000]},\n       pre_dispatch=&#39;2*n_jobs&#39;, refit=True,\n       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\nLogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\n          intercept_scaling=1, max_iter=100, multi_class=&#39;ovr&#39;, n_jobs=1,\n          penalty=&#39;l1&#39;, random_state=None, solver=&#39;liblinear&#39;, tol=0.0001,\n          verbose=0, warm_start=False)\nScore:  0.77\nMade predictions in 0.0008 seconds.\nTuned model has a training F1 score of 0.8442.\nScore:  0.621052631579\nMade predictions in 0.0008 seconds.\nTuned model has a testing F1 score of 0.7313.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-5---Final-F1-Score\">Question 5 - Final F<sub>1</sub> Score<a class=\"anchor-link\" href=\"#Question-5---Final-F1-Score\">&#182;</a></h3><p><em>What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer: </strong></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\n<tr><td>1 (allow \"penalty\" and \"C\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\n<tr><td>2 (only allow \"C\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\n<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\n</table><ul>\n<li>The train and test scores are both lower than the untuned version if I allow both \"penalty\" and \"C\" to vary.</li>\n<li>If I only allow \"C\" to vary, GridSearchCV chooses \"C\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.</li>\n<li>Why would GridSearchCV pick <code>penalty=\"l1\"</code> if <code>penalty=\"l2\"</code> produces better training F1 scores (all other factors held constant)?<ul>\n<li>One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \"penalty\" and \"C\" values (as opposed to only \"C\"), the accuracy score was lower.</li>\n</ul>\n</li>\n</ul>\n<p>Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).</p>\n\n</div>\n</div>\n</div># Try 1\nparameters = {\"penalty\":(\"l1\",\"l2\"), \n              \"C\":[1,10,100,1000],\n             }\n             \nLogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\n          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\n          verbose=0, warm_start=False)\nScore:  0.746666666667\nMade predictions in 0.0047 seconds.\nTuned model has a training F1 score of 0.8288.\nScore:  0.673684210526\nMade predictions in 0.0006 seconds.\nTuned model has a testing F1 score of 0.7801.# Try 2\nparameters = {# \"penalty\":(\"l1\",\"l2\"), \n               \"C\":[1,10,100,1000],\n             }\n\nLogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\n          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n          verbose=0, warm_start=False)\nScore:  0.756666666667\nMade predictions in 0.0008 seconds.\nTuned model has a training F1 score of 0.8337.\nScore:  0.694736842105\nMade predictions in 0.0004 seconds.\nTuned model has a testing F1 score of 0.7883.\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<blockquote><p><strong>Note</strong>: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to<br>\n<strong>File -&gt; Download as -&gt; HTML (.html)</strong>. Include the finished document along with this notebook as your submission.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n    </div>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "p2-student-intervention/student-data.csv",
    "content": "school,sex,age,address,famsize,Pstatus,Medu,Fedu,Mjob,Fjob,reason,guardian,traveltime,studytime,failures,schoolsup,famsup,paid,activities,nursery,higher,internet,romantic,famrel,freetime,goout,Dalc,Walc,health,absences,passed\nGP,F,18,U,GT3,A,4,4,at_home,teacher,course,mother,2,2,0,yes,no,no,no,yes,yes,no,no,4,3,4,1,1,3,6,no\nGP,F,17,U,GT3,T,1,1,at_home,other,course,father,1,2,0,no,yes,no,no,no,yes,yes,no,5,3,3,1,1,3,4,no\nGP,F,15,U,LE3,T,1,1,at_home,other,other,mother,1,2,3,yes,no,yes,no,yes,yes,yes,no,4,3,2,2,3,3,10,yes\nGP,F,15,U,GT3,T,4,2,health,services,home,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,yes,3,2,2,1,1,5,2,yes\nGP,F,16,U,GT3,T,3,3,other,other,home,father,1,2,0,no,yes,yes,no,yes,yes,no,no,4,3,2,1,2,5,4,yes\nGP,M,16,U,LE3,T,4,3,services,other,reputation,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,5,4,2,1,2,5,10,yes\nGP,M,16,U,LE3,T,2,2,other,other,home,mother,1,2,0,no,no,no,no,yes,yes,yes,no,4,4,4,1,1,3,0,yes\nGP,F,17,U,GT3,A,4,4,other,teacher,home,mother,2,2,0,yes,yes,no,no,yes,yes,no,no,4,1,4,1,1,1,6,no\nGP,M,15,U,LE3,A,3,2,services,other,home,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,2,2,1,1,1,0,yes\nGP,M,15,U,GT3,T,3,4,other,other,home,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,5,5,1,1,1,5,0,yes\nGP,F,15,U,GT3,T,4,4,teacher,health,reputation,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,3,3,3,1,2,2,0,no\nGP,F,15,U,GT3,T,2,1,services,other,reputation,father,3,3,0,no,yes,no,yes,yes,yes,yes,no,5,2,2,1,1,4,4,yes\nGP,M,15,U,LE3,T,4,4,health,services,course,father,1,1,0,no,yes,yes,yes,yes,yes,yes,no,4,3,3,1,3,5,2,yes\nGP,M,15,U,GT3,T,4,3,teacher,other,course,mother,2,2,0,no,yes,yes,no,yes,yes,yes,no,5,4,3,1,2,3,2,yes\nGP,M,15,U,GT3,A,2,2,other,other,home,other,1,3,0,no,yes,no,no,yes,yes,yes,yes,4,5,2,1,1,3,0,yes\nGP,F,16,U,GT3,T,4,4,health,other,home,mother,1,1,0,no,yes,no,no,yes,yes,yes,no,4,4,4,1,2,2,4,yes\nGP,F,16,U,GT3,T,4,4,services,services,reputation,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,no,3,2,3,1,2,2,6,yes\nGP,F,16,U,GT3,T,3,3,other,other,reputation,mother,3,2,0,yes,yes,no,yes,yes,yes,no,no,5,3,2,1,1,4,4,yes\nGP,M,17,U,GT3,T,3,2,services,services,course,mother,1,1,3,no,yes,no,yes,yes,yes,yes,no,5,5,5,2,4,5,16,no\nGP,M,16,U,LE3,T,4,3,health,other,home,father,1,1,0,no,no,yes,yes,yes,yes,yes,no,3,1,3,1,3,5,4,yes\nGP,M,15,U,GT3,T,4,3,teacher,other,reputation,mother,1,2,0,no,no,no,no,yes,yes,yes,no,4,4,1,1,1,1,0,yes\nGP,M,15,U,GT3,T,4,4,health,health,other,father,1,1,0,no,yes,yes,no,yes,yes,yes,no,5,4,2,1,1,5,0,yes\nGP,M,16,U,LE3,T,4,2,teacher,other,course,mother,1,2,0,no,no,no,yes,yes,yes,yes,no,4,5,1,1,3,5,2,yes\nGP,M,16,U,LE3,T,2,2,other,other,reputation,mother,2,2,0,no,yes,no,yes,yes,yes,yes,no,5,4,4,2,4,5,0,yes\nGP,F,15,R,GT3,T,2,4,services,health,course,mother,1,3,0,yes,yes,yes,yes,yes,yes,yes,no,4,3,2,1,1,5,2,no\nGP,F,16,U,GT3,T,2,2,services,services,home,mother,1,1,2,no,yes,yes,no,no,yes,yes,no,1,2,2,1,3,5,14,no\nGP,M,15,U,GT3,T,2,2,other,other,home,mother,1,1,0,no,yes,yes,no,yes,yes,yes,no,4,2,2,1,2,5,2,yes\nGP,M,15,U,GT3,T,4,2,health,services,other,mother,1,1,0,no,no,yes,no,yes,yes,yes,no,2,2,4,2,4,1,4,yes\nGP,M,16,U,LE3,A,3,4,services,other,home,mother,1,2,0,yes,yes,no,yes,yes,yes,yes,no,5,3,3,1,1,5,4,yes\nGP,M,16,U,GT3,T,4,4,teacher,teacher,home,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,yes,4,4,5,5,5,5,16,yes\nGP,M,15,U,GT3,T,4,4,health,services,home,mother,1,2,0,no,yes,yes,no,no,yes,yes,no,5,4,2,3,4,5,0,yes\nGP,M,15,U,GT3,T,4,4,services,services,reputation,mother,2,2,0,no,yes,no,yes,yes,yes,yes,no,4,3,1,1,1,5,0,yes\nGP,M,15,R,GT3,T,4,3,teacher,at_home,course,mother,1,2,0,no,yes,no,yes,yes,yes,yes,yes,4,5,2,1,1,5,0,yes\nGP,M,15,U,LE3,T,3,3,other,other,course,mother,1,2,0,no,no,no,yes,no,yes,yes,no,5,3,2,1,1,2,0,yes\nGP,M,16,U,GT3,T,3,2,other,other,home,mother,1,1,0,no,yes,yes,no,no,yes,yes,no,5,4,3,1,1,5,0,yes\nGP,F,15,U,GT3,T,2,3,other,other,other,father,2,1,0,no,yes,no,yes,yes,yes,no,no,3,5,1,1,1,5,0,no\nGP,M,15,U,LE3,T,4,3,teacher,services,home,mother,1,3,0,no,yes,no,yes,yes,yes,yes,no,5,4,3,1,1,4,2,yes\nGP,M,16,R,GT3,A,4,4,other,teacher,reputation,mother,2,3,0,no,yes,no,yes,yes,yes,yes,yes,2,4,3,1,1,5,7,yes\nGP,F,15,R,GT3,T,3,4,services,health,course,mother,1,3,0,yes,yes,yes,yes,yes,yes,yes,no,4,3,2,1,1,5,2,yes\nGP,F,15,R,GT3,T,2,2,at_home,other,reputation,mother,1,1,0,yes,yes,yes,yes,yes,yes,no,no,4,3,1,1,1,2,8,yes\nGP,F,16,U,LE3,T,2,2,other,other,home,mother,2,2,1,no,yes,no,yes,no,yes,yes,yes,3,3,3,1,2,3,25,yes\nGP,M,15,U,LE3,T,4,4,teacher,other,home,other,1,1,0,no,yes,no,no,no,yes,yes,yes,5,4,3,2,4,5,8,yes\nGP,M,15,U,GT3,T,4,4,services,teacher,course,father,1,2,0,no,yes,no,yes,yes,yes,yes,no,4,3,3,1,1,5,2,yes\nGP,M,15,U,GT3,T,2,2,services,services,course,father,1,1,0,yes,yes,no,no,yes,yes,yes,no,5,4,1,1,1,1,0,yes\nGP,F,16,U,LE3,T,2,2,other,at_home,course,father,2,2,1,yes,no,no,yes,yes,yes,yes,no,4,3,3,2,2,5,14,no\nGP,F,15,U,LE3,A,4,3,other,other,course,mother,1,2,0,yes,yes,yes,yes,yes,yes,yes,yes,5,2,2,1,1,5,8,no\nGP,F,16,U,LE3,A,3,3,other,services,home,mother,1,2,0,no,yes,no,no,yes,yes,yes,no,2,3,5,1,4,3,12,yes\nGP,M,16,U,GT3,T,4,3,health,services,reputation,mother,1,4,0,no,no,no,yes,yes,yes,yes,no,4,2,2,1,1,2,4,yes\nGP,M,15,U,GT3,T,4,2,teacher,other,home,mother,1,2,0,no,yes,yes,no,yes,yes,no,no,4,3,3,2,2,5,2,yes\nGP,F,15,U,GT3,T,4,4,services,teacher,other,father,1,2,1,yes,yes,no,yes,no,yes,yes,no,4,4,4,1,1,3,2,no\nGP,F,16,U,LE3,T,2,2,services,services,course,mother,3,2,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,2,3,4,2,yes\nGP,F,15,U,LE3,T,4,2,health,other,other,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,1,1,5,2,yes\nGP,M,15,U,LE3,A,4,2,health,health,other,father,2,1,1,no,no,no,no,yes,yes,no,no,5,5,5,3,4,5,6,yes\nGP,F,15,U,GT3,T,4,4,services,services,course,mother,1,1,0,yes,yes,yes,no,yes,yes,yes,no,3,3,4,2,3,5,0,yes\nGP,F,15,U,LE3,A,3,3,other,other,other,mother,1,1,0,no,no,yes,no,yes,yes,yes,no,5,3,4,4,4,1,6,yes\nGP,F,16,U,GT3,A,2,1,other,other,other,mother,1,2,0,no,no,yes,yes,yes,yes,yes,yes,5,3,4,1,1,2,8,yes\nGP,F,15,U,GT3,A,4,3,services,services,reputation,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,4,3,2,1,1,1,0,yes\nGP,M,15,U,GT3,T,4,4,teacher,health,reputation,mother,1,2,0,no,yes,no,yes,yes,yes,no,no,3,2,2,1,1,5,4,yes\nGP,M,15,U,LE3,T,1,2,other,at_home,home,father,1,2,0,yes,yes,no,yes,yes,yes,yes,no,4,3,2,1,1,5,2,no\nGP,F,16,U,GT3,T,4,2,services,other,course,mother,1,2,0,no,yes,no,no,yes,yes,yes,no,4,2,3,1,1,5,2,yes\nGP,F,16,R,GT3,T,4,4,health,teacher,other,mother,1,2,0,no,yes,no,yes,yes,yes,no,no,2,4,4,2,3,4,6,yes\nGP,F,16,U,GT3,T,1,1,services,services,course,father,4,1,0,yes,yes,no,yes,no,yes,yes,yes,5,5,5,5,5,5,6,yes\nGP,F,16,U,LE3,T,1,2,other,services,reputation,father,1,2,0,yes,no,no,yes,yes,yes,yes,no,4,4,3,1,1,1,4,no\nGP,F,16,U,GT3,T,4,3,teacher,health,home,mother,1,3,0,yes,yes,yes,yes,yes,yes,yes,no,3,4,4,2,4,4,2,no\nGP,F,15,U,LE3,T,4,3,services,services,reputation,father,1,2,0,yes,no,no,yes,yes,yes,yes,yes,4,4,4,2,4,2,0,yes\nGP,F,16,U,LE3,T,4,3,teacher,services,course,mother,3,2,0,no,yes,no,yes,yes,yes,yes,no,5,4,3,1,2,1,2,yes\nGP,M,15,U,GT3,A,4,4,other,services,reputation,mother,1,4,0,no,yes,no,yes,no,yes,yes,yes,1,3,3,5,5,3,4,yes\nGP,F,16,U,GT3,T,3,1,services,other,course,mother,1,4,0,yes,yes,yes,no,yes,yes,yes,no,4,3,3,1,2,5,4,no\nGP,F,15,R,LE3,T,2,2,health,services,reputation,mother,2,2,0,yes,yes,yes,no,yes,yes,yes,no,4,1,3,1,3,4,2,no\nGP,F,15,R,LE3,T,3,1,other,other,reputation,father,2,4,0,no,yes,no,no,no,yes,yes,no,4,4,2,2,3,3,12,yes\nGP,M,16,U,GT3,T,3,1,other,other,reputation,father,2,4,0,no,yes,yes,no,yes,yes,yes,no,4,3,2,1,1,5,0,yes\nGP,M,15,U,GT3,T,4,2,other,other,course,mother,1,4,0,no,no,no,no,yes,yes,yes,no,3,3,3,1,1,3,0,yes\nGP,F,15,R,GT3,T,1,1,other,other,reputation,mother,1,2,2,yes,yes,no,no,no,yes,yes,yes,3,3,4,2,4,5,2,no\nGP,M,16,U,GT3,T,3,1,other,other,reputation,mother,1,1,0,no,no,no,yes,yes,yes,no,no,5,3,2,2,2,5,2,yes\nGP,F,16,U,GT3,T,3,3,other,services,home,mother,1,2,0,yes,yes,yes,yes,yes,yes,yes,no,4,3,3,2,4,5,54,yes\nGP,M,15,U,GT3,T,4,3,teacher,other,home,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,4,3,3,2,3,5,6,yes\nGP,M,15,U,GT3,T,4,0,teacher,other,course,mother,2,4,0,no,no,no,yes,yes,yes,yes,no,3,4,3,1,1,1,8,yes\nGP,F,16,U,GT3,T,2,2,other,other,reputation,mother,1,4,0,no,no,yes,no,yes,yes,yes,yes,5,2,3,1,3,3,0,yes\nGP,M,17,U,GT3,T,2,1,other,other,home,mother,2,1,3,yes,yes,no,yes,yes,no,yes,no,4,5,1,1,1,3,2,yes\nGP,F,16,U,GT3,T,3,4,at_home,other,course,mother,1,2,0,no,yes,no,no,yes,yes,yes,no,2,4,3,1,2,3,12,no\nGP,M,15,U,GT3,T,2,3,other,services,course,father,1,1,0,yes,yes,yes,yes,no,yes,yes,yes,3,2,2,1,3,3,2,yes\nGP,M,15,U,GT3,T,2,3,other,other,home,mother,1,3,0,yes,no,yes,no,no,yes,yes,no,5,3,2,1,2,5,4,yes\nGP,F,15,U,LE3,T,3,2,services,other,reputation,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,4,4,1,1,5,10,no\nGP,M,15,U,LE3,T,2,2,services,services,home,mother,2,2,0,no,no,yes,yes,yes,yes,yes,no,5,3,3,1,3,4,4,yes\nGP,F,15,U,GT3,T,1,1,other,other,home,father,1,2,0,no,yes,no,yes,no,yes,yes,no,4,3,2,2,3,4,2,yes\nGP,F,15,U,GT3,T,4,4,services,services,reputation,father,2,2,2,no,no,yes,no,yes,yes,yes,yes,4,4,4,2,3,5,6,no\nGP,F,16,U,LE3,T,2,2,at_home,other,course,mother,1,2,0,no,yes,no,no,yes,yes,no,no,4,3,4,1,2,2,4,no\nGP,F,15,U,GT3,T,4,2,other,other,reputation,mother,1,3,0,no,yes,no,yes,yes,yes,yes,no,5,3,3,1,3,1,4,yes\nGP,M,16,U,GT3,T,2,2,services,other,reputation,father,2,2,1,no,no,yes,yes,no,yes,yes,no,4,4,2,1,1,3,12,yes\nGP,M,16,U,LE3,A,4,4,teacher,health,reputation,mother,1,2,0,no,yes,no,no,yes,yes,no,no,4,1,3,3,5,5,18,no\nGP,F,16,U,GT3,T,3,3,other,other,home,mother,1,3,0,no,yes,yes,no,yes,yes,yes,yes,4,3,3,1,3,4,0,no\nGP,F,15,U,GT3,T,4,3,services,other,reputation,mother,1,1,0,no,no,yes,yes,yes,yes,yes,no,4,5,5,1,3,1,4,yes\nGP,F,16,U,LE3,T,3,1,other,other,home,father,1,2,0,yes,yes,no,no,yes,yes,no,no,3,3,3,2,3,2,4,no\nGP,F,16,U,GT3,T,4,2,teacher,services,home,mother,2,2,0,no,yes,yes,yes,yes,yes,yes,no,5,3,3,1,1,1,0,yes\nGP,M,15,U,LE3,T,2,2,services,health,reputation,mother,1,4,0,no,yes,no,yes,yes,yes,yes,no,4,3,4,1,1,4,6,yes\nGP,F,15,R,GT3,T,1,1,at_home,other,home,mother,2,4,1,yes,yes,yes,yes,yes,yes,yes,no,3,1,2,1,1,1,2,yes\nGP,M,16,R,GT3,T,4,3,services,other,reputation,mother,2,1,0,yes,yes,no,yes,no,yes,yes,no,3,3,3,1,1,4,2,yes\nGP,F,16,U,GT3,T,2,1,other,other,course,mother,1,2,0,no,yes,yes,no,yes,yes,no,yes,4,3,5,1,1,5,2,yes\nGP,F,16,U,GT3,T,4,4,other,other,reputation,mother,1,1,0,no,no,no,yes,no,yes,yes,no,5,3,4,1,2,1,6,yes\nGP,F,16,U,GT3,T,4,3,other,at_home,course,mother,1,3,0,yes,yes,yes,no,yes,yes,yes,no,5,3,5,1,1,3,0,no\nGP,M,16,U,GT3,T,4,4,services,services,other,mother,1,1,0,yes,yes,yes,yes,yes,yes,yes,no,4,5,5,5,5,4,14,no\nGP,M,16,U,GT3,T,4,4,services,teacher,other,father,1,3,0,no,yes,no,yes,yes,yes,yes,yes,4,4,3,1,1,4,0,yes\nGP,M,15,U,GT3,T,4,4,services,other,course,mother,1,1,0,no,yes,no,yes,no,yes,yes,no,5,3,3,1,1,5,4,yes\nGP,F,15,U,GT3,T,3,2,services,other,home,mother,2,2,0,yes,yes,yes,no,yes,yes,yes,no,4,3,5,1,1,2,26,no\nGP,M,15,U,GT3,A,3,4,services,other,course,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,5,4,4,1,1,1,0,yes\nGP,F,15,U,GT3,A,3,3,other,health,reputation,father,1,4,0,yes,no,no,no,yes,yes,no,no,4,3,3,1,1,4,10,yes\nGP,F,15,U,GT3,T,2,2,other,other,course,mother,1,4,0,yes,yes,yes,no,yes,yes,yes,no,5,1,2,1,1,3,8,no\nGP,M,16,U,GT3,T,3,3,services,other,home,father,1,3,0,no,yes,no,yes,yes,yes,yes,no,5,3,3,1,1,5,2,yes\nGP,M,15,R,GT3,T,4,4,other,other,home,father,4,4,0,no,yes,yes,yes,yes,yes,yes,yes,1,3,5,3,5,1,6,yes\nGP,F,16,U,LE3,T,4,4,health,health,other,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,yes,5,4,5,1,1,4,4,yes\nGP,M,15,U,LE3,A,4,4,teacher,teacher,course,mother,1,1,0,no,no,no,yes,yes,yes,yes,no,5,5,3,1,1,4,6,yes\nGP,F,16,R,GT3,T,3,3,services,other,reputation,father,1,3,1,yes,yes,no,yes,yes,yes,yes,no,4,1,2,1,1,2,0,yes\nGP,F,16,U,GT3,T,2,2,at_home,other,home,mother,1,2,1,yes,no,no,yes,yes,yes,yes,no,3,1,2,1,1,5,6,yes\nGP,M,15,U,LE3,T,4,2,teacher,other,course,mother,1,1,0,no,no,no,no,yes,yes,yes,no,3,5,2,1,1,3,10,yes\nGP,M,15,R,GT3,T,2,1,health,services,reputation,mother,1,2,0,no,no,no,yes,yes,yes,yes,yes,5,4,2,1,1,5,8,no\nGP,M,16,U,GT3,T,4,4,teacher,teacher,course,father,1,2,0,no,yes,no,yes,yes,yes,yes,no,5,4,4,1,2,5,2,yes\nGP,M,15,U,GT3,T,4,4,other,teacher,reputation,father,2,2,0,no,yes,no,yes,yes,yes,no,no,4,4,3,1,1,2,2,yes\nGP,M,16,U,GT3,T,3,3,other,services,home,father,2,1,0,no,no,no,yes,yes,yes,yes,no,5,4,2,1,1,5,0,yes\nGP,M,17,R,GT3,T,1,3,other,other,course,father,3,2,1,no,yes,no,yes,yes,yes,yes,no,5,2,4,1,4,5,20,no\nGP,M,15,U,GT3,T,3,4,other,other,reputation,father,1,1,0,no,no,no,no,yes,yes,yes,no,3,4,3,1,2,4,6,yes\nGP,F,15,U,GT3,T,1,2,at_home,services,course,mother,1,2,0,no,no,no,no,no,yes,yes,no,3,2,3,1,2,1,2,yes\nGP,M,15,U,GT3,T,2,2,services,services,home,father,1,4,0,no,yes,yes,yes,yes,yes,yes,no,5,5,4,1,2,5,6,yes\nGP,F,16,U,LE3,T,2,4,other,health,course,father,2,2,0,no,yes,yes,yes,yes,yes,yes,yes,4,2,2,1,2,5,2,yes\nGP,M,16,U,GT3,T,4,4,health,other,course,mother,1,1,0,no,yes,no,yes,yes,yes,yes,no,3,4,4,1,4,5,18,yes\nGP,F,16,U,GT3,T,2,2,other,other,home,mother,1,2,0,no,no,yes,no,yes,yes,yes,yes,5,4,4,1,1,5,0,no\nGP,M,15,U,GT3,T,3,4,services,services,home,father,1,1,0,yes,no,no,no,yes,yes,yes,no,5,5,5,3,2,5,0,yes\nGP,F,15,U,LE3,A,3,4,other,other,home,mother,1,2,0,yes,no,no,yes,yes,yes,yes,yes,5,3,2,1,1,1,0,yes\nGP,F,19,U,GT3,T,0,1,at_home,other,course,other,1,2,3,no,yes,no,no,no,no,no,no,3,4,2,1,1,5,2,no\nGP,M,18,R,GT3,T,2,2,services,other,reputation,mother,1,1,2,no,yes,no,yes,yes,yes,yes,no,3,3,3,1,2,4,0,no\nGP,M,16,R,GT3,T,4,4,teacher,teacher,course,mother,1,1,0,no,no,yes,yes,yes,yes,yes,no,3,5,5,2,5,4,8,yes\nGP,F,15,R,GT3,T,3,4,services,teacher,course,father,2,3,2,no,yes,no,no,yes,yes,yes,yes,4,2,2,2,2,5,0,no\nGP,F,15,U,GT3,T,1,1,at_home,other,course,mother,3,1,0,no,yes,no,yes,no,yes,yes,yes,4,3,3,1,2,4,0,no\nGP,F,17,U,LE3,T,2,2,other,other,course,father,1,1,0,no,yes,no,no,yes,yes,yes,yes,3,4,4,1,3,5,12,yes\nGP,F,16,U,GT3,A,3,4,services,other,course,father,1,1,0,no,no,no,no,yes,yes,yes,no,3,2,1,1,4,5,16,yes\nGP,M,15,R,GT3,T,3,4,at_home,teacher,course,mother,4,2,0,no,yes,no,no,yes,yes,no,yes,5,3,3,1,1,5,0,no\nGP,F,15,U,GT3,T,4,4,services,at_home,course,mother,1,3,0,no,yes,no,yes,yes,yes,yes,yes,4,3,3,1,1,5,0,no\nGP,M,17,R,GT3,T,3,4,at_home,other,course,mother,3,2,0,no,no,no,no,yes,yes,no,no,5,4,5,2,4,5,0,no\nGP,F,16,U,GT3,A,3,3,other,other,course,other,2,1,2,no,yes,no,yes,no,yes,yes,yes,4,3,2,1,1,5,0,no\nGP,M,16,U,LE3,T,1,1,services,other,course,mother,1,2,1,no,no,no,no,yes,yes,no,yes,4,4,4,1,3,5,0,yes\nGP,F,15,U,GT3,T,4,4,teacher,teacher,course,mother,2,1,0,no,no,no,yes,yes,yes,yes,no,4,3,2,1,1,5,0,yes\nGP,M,15,U,GT3,T,4,3,teacher,services,course,father,2,4,0,yes,yes,no,no,yes,yes,yes,no,2,2,2,1,1,3,0,no\nGP,M,16,U,LE3,T,2,2,services,services,reputation,father,2,1,2,no,yes,no,yes,yes,yes,yes,no,2,3,3,2,2,2,8,no\nGP,F,15,U,GT3,T,4,4,teacher,services,course,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,no,4,2,2,1,1,5,2,yes\nGP,F,16,U,LE3,T,1,1,at_home,at_home,course,mother,1,1,0,no,no,no,no,yes,yes,yes,no,3,4,4,3,3,1,2,yes\nGP,M,17,U,GT3,T,2,1,other,other,home,mother,1,1,3,no,yes,no,no,yes,yes,yes,no,5,4,5,1,2,5,0,no\nGP,F,15,U,GT3,T,1,1,other,services,course,father,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,4,2,1,2,5,0,yes\nGP,F,15,U,GT3,T,3,2,health,services,home,father,1,2,3,no,yes,no,no,yes,yes,yes,no,3,3,2,1,1,3,0,no\nGP,F,15,U,GT3,T,1,2,at_home,other,course,mother,1,2,0,no,yes,yes,no,no,yes,yes,no,4,3,2,1,1,5,2,yes\nGP,M,16,U,GT3,T,4,4,teacher,teacher,course,mother,1,1,0,no,yes,no,no,yes,no,yes,yes,3,3,2,2,1,5,0,no\nGP,M,15,U,LE3,A,2,1,services,other,course,mother,4,1,3,no,no,no,no,yes,yes,yes,no,4,5,5,2,5,5,0,yes\nGP,M,18,U,LE3,T,1,1,other,other,course,mother,1,1,3,no,no,no,no,yes,no,yes,yes,2,3,5,2,5,4,0,no\nGP,M,16,U,LE3,T,2,1,at_home,other,course,mother,1,1,1,no,no,no,yes,yes,yes,no,yes,4,4,4,3,5,5,6,yes\nGP,F,15,R,GT3,T,3,3,services,services,reputation,other,2,3,2,no,yes,yes,yes,yes,yes,yes,yes,4,2,1,2,3,3,8,yes\nGP,M,19,U,GT3,T,3,2,services,at_home,home,mother,1,1,3,no,yes,no,no,yes,no,yes,yes,4,5,4,1,1,4,0,no\nGP,F,17,U,GT3,T,4,4,other,teacher,course,mother,1,1,0,yes,yes,no,no,yes,yes,no,yes,4,2,1,1,1,4,0,yes\nGP,M,15,R,GT3,T,2,3,at_home,services,course,mother,1,2,0,yes,no,yes,yes,yes,yes,no,no,4,4,4,1,1,1,2,no\nGP,M,17,R,LE3,T,1,2,other,other,reputation,mother,1,1,0,no,no,no,no,yes,yes,no,no,2,2,2,3,3,5,8,yes\nGP,F,18,R,GT3,T,1,1,at_home,other,course,mother,3,1,3,no,yes,no,yes,no,yes,no,no,5,2,5,1,5,4,6,yes\nGP,M,16,R,GT3,T,2,2,at_home,other,course,mother,3,1,0,no,no,no,no,no,yes,no,no,4,2,2,1,2,3,2,yes\nGP,M,16,U,GT3,T,3,3,other,services,course,father,1,2,1,no,yes,yes,no,yes,yes,yes,yes,4,5,5,4,4,5,4,yes\nGP,M,17,R,LE3,T,2,1,at_home,other,course,mother,2,1,2,no,no,no,yes,yes,no,yes,yes,3,3,2,2,2,5,0,no\nGP,M,15,R,GT3,T,3,2,other,other,course,mother,2,2,2,yes,yes,no,no,yes,yes,yes,yes,4,4,4,1,4,3,6,no\nGP,M,16,U,LE3,T,1,2,other,other,course,mother,2,1,1,no,no,no,yes,yes,yes,no,no,4,4,4,2,4,5,0,no\nGP,M,17,U,GT3,T,1,3,at_home,services,course,father,1,1,0,no,no,no,no,yes,no,yes,no,5,3,3,1,4,2,2,yes\nGP,M,17,R,LE3,T,1,1,other,services,course,mother,4,2,3,no,no,no,yes,yes,no,no,yes,5,3,5,1,5,5,0,no\nGP,M,16,U,GT3,T,3,2,services,services,course,mother,2,1,1,no,yes,no,yes,no,no,no,no,4,5,2,1,1,2,16,yes\nGP,M,16,U,GT3,T,2,2,other,other,course,father,1,2,0,no,no,no,no,yes,no,yes,no,4,3,5,2,4,4,4,yes\nGP,F,16,U,GT3,T,4,2,health,services,home,father,1,2,0,no,no,yes,no,yes,yes,yes,yes,4,2,3,1,1,3,0,yes\nGP,F,16,U,GT3,T,2,2,other,other,home,mother,1,2,0,no,yes,yes,no,no,yes,yes,no,5,1,5,1,1,4,0,no\nGP,F,16,U,GT3,T,4,4,health,health,reputation,mother,1,2,0,no,yes,yes,no,yes,yes,yes,yes,4,4,2,1,1,3,0,yes\nGP,M,16,U,GT3,T,3,4,other,other,course,father,3,1,2,no,yes,no,yes,no,yes,yes,no,3,4,5,2,4,2,0,no\nGP,M,16,U,GT3,T,1,0,other,other,reputation,mother,2,2,0,no,yes,yes,yes,yes,yes,yes,yes,4,3,2,1,1,3,2,yes\nGP,M,17,U,LE3,T,4,4,teacher,other,reputation,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,4,4,4,1,3,5,0,yes\nGP,F,16,U,GT3,T,1,3,at_home,services,home,mother,1,2,3,no,no,no,yes,no,yes,yes,yes,4,3,5,1,1,3,0,no\nGP,F,16,U,LE3,T,3,3,other,other,reputation,mother,2,2,0,no,yes,yes,yes,yes,yes,yes,no,4,4,5,1,1,4,4,no\nGP,M,17,U,LE3,T,4,3,teacher,other,course,mother,2,2,0,no,no,yes,yes,yes,yes,yes,no,4,4,4,4,4,4,4,no\nGP,F,16,U,GT3,T,2,2,services,other,reputation,mother,2,2,0,no,no,yes,yes,no,yes,yes,no,3,4,4,1,4,5,2,yes\nGP,M,17,U,GT3,T,3,3,other,other,reputation,father,1,2,0,no,no,no,yes,no,yes,yes,no,4,3,4,1,4,4,4,no\nGP,M,16,R,GT3,T,4,2,teacher,services,other,mother,1,1,0,no,yes,no,yes,yes,yes,yes,yes,4,3,3,3,4,3,10,no\nGP,M,17,U,GT3,T,4,3,other,other,course,mother,1,2,0,no,yes,no,yes,yes,yes,yes,yes,5,2,3,1,1,2,4,yes\nGP,M,16,U,GT3,T,4,3,teacher,other,home,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,3,4,3,2,3,3,10,no\nGP,M,16,U,GT3,T,3,3,services,other,home,mother,1,2,0,no,no,yes,yes,yes,yes,yes,yes,4,2,3,1,2,3,2,yes\nGP,F,17,U,GT3,T,2,4,services,services,reputation,father,1,2,0,no,yes,no,yes,yes,yes,no,no,5,4,2,2,3,5,0,yes\nGP,F,17,U,LE3,T,3,3,other,other,reputation,mother,1,2,0,no,yes,no,yes,yes,yes,yes,yes,5,3,3,2,3,1,56,no\nGP,F,16,U,GT3,T,3,2,other,other,reputation,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,1,2,2,1,2,1,14,yes\nGP,M,17,U,GT3,T,3,3,services,services,other,mother,1,2,0,no,yes,no,yes,yes,yes,yes,yes,4,3,4,2,3,4,12,yes\nGP,M,16,U,GT3,T,1,2,services,services,other,mother,1,1,0,no,yes,yes,yes,yes,yes,yes,yes,3,3,3,1,2,3,2,yes\nGP,M,16,U,LE3,T,2,1,other,other,course,mother,1,2,0,no,no,yes,yes,yes,yes,yes,yes,4,2,3,1,2,5,0,yes\nGP,F,17,U,GT3,A,3,3,health,other,reputation,mother,1,2,0,no,yes,no,no,no,yes,yes,yes,3,3,3,1,3,3,6,no\nGP,M,17,R,GT3,T,1,2,at_home,other,home,mother,1,2,0,no,no,no,no,yes,yes,no,no,3,1,3,1,5,3,4,yes\nGP,F,16,U,GT3,T,2,3,services,services,course,mother,1,2,0,no,no,no,no,yes,yes,yes,no,4,3,3,1,1,2,10,yes\nGP,F,17,U,GT3,T,1,1,at_home,services,course,mother,1,2,0,no,no,no,yes,yes,yes,yes,no,5,3,3,1,1,3,0,no\nGP,M,17,U,GT3,T,1,2,at_home,services,other,other,2,2,0,no,no,yes,yes,no,yes,yes,no,4,4,4,4,5,5,12,no\nGP,M,16,R,GT3,T,3,3,services,services,reputation,mother,1,1,0,no,yes,no,yes,yes,yes,yes,no,4,3,2,3,4,5,8,yes\nGP,M,16,U,GT3,T,2,3,other,other,home,father,2,1,0,no,no,no,no,yes,yes,yes,no,5,3,3,1,1,3,0,yes\nGP,F,17,U,LE3,T,2,4,services,services,course,father,1,2,0,no,no,no,yes,yes,yes,yes,yes,4,3,2,1,1,5,0,yes\nGP,M,17,U,GT3,T,4,4,services,teacher,home,mother,1,1,0,no,no,no,no,yes,yes,yes,no,5,2,3,1,2,5,4,yes\nGP,M,16,R,LE3,T,3,3,teacher,other,home,father,3,1,0,no,yes,yes,yes,yes,yes,yes,no,3,3,4,3,5,3,8,yes\nGP,F,17,U,GT3,T,4,4,services,teacher,home,mother,2,1,1,no,yes,no,no,yes,yes,yes,no,4,2,4,2,3,2,24,yes\nGP,F,16,U,LE3,T,4,4,teacher,teacher,reputation,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,5,2,1,2,3,0,yes\nGP,F,16,U,GT3,T,4,3,health,other,home,mother,1,2,0,no,yes,no,yes,yes,yes,yes,no,4,3,5,1,5,2,2,yes\nGP,F,16,U,GT3,T,2,3,other,other,reputation,mother,1,2,0,yes,yes,yes,yes,yes,yes,no,no,4,4,3,1,3,4,6,yes\nGP,F,17,U,GT3,T,1,1,other,other,course,mother,1,2,0,no,yes,yes,no,no,yes,no,no,4,4,4,1,3,1,4,yes\nGP,F,17,R,GT3,T,2,2,other,other,reputation,mother,1,1,0,no,yes,no,no,yes,yes,yes,no,5,3,2,1,2,3,18,no\nGP,F,16,R,GT3,T,2,2,services,services,reputation,mother,2,4,0,no,yes,yes,yes,no,yes,yes,no,5,3,5,1,1,5,6,yes\nGP,F,17,U,GT3,T,3,4,at_home,services,home,mother,1,3,1,no,yes,yes,no,yes,yes,yes,yes,4,4,3,3,4,5,28,no\nGP,F,16,U,GT3,A,3,1,services,other,course,mother,1,2,3,no,yes,yes,no,yes,yes,yes,no,2,3,3,2,2,4,5,no\nGP,F,16,U,GT3,T,4,3,teacher,other,other,mother,1,2,0,no,no,yes,yes,yes,yes,yes,yes,1,3,2,1,1,1,10,yes\nGP,F,16,U,GT3,T,1,1,at_home,other,home,mother,2,1,0,no,yes,yes,no,yes,yes,no,no,4,3,2,1,4,5,6,yes\nGP,F,17,R,GT3,T,4,3,teacher,other,reputation,mother,2,3,0,no,yes,yes,yes,yes,yes,yes,yes,4,4,2,1,1,4,6,no\nGP,F,19,U,GT3,T,3,3,other,other,reputation,other,1,4,0,no,yes,yes,yes,yes,yes,yes,no,4,3,3,1,2,3,10,no\nGP,M,17,U,LE3,T,4,4,services,other,home,mother,1,2,0,no,yes,yes,no,yes,yes,yes,yes,5,3,5,4,5,3,13,yes\nGP,F,16,U,GT3,A,2,2,other,other,reputation,mother,1,2,0,yes,yes,yes,no,yes,yes,yes,no,3,3,4,1,1,4,0,yes\nGP,M,18,U,GT3,T,2,2,services,other,home,mother,1,2,1,no,yes,yes,yes,yes,yes,yes,no,4,4,4,2,4,5,15,no\nGP,F,17,R,LE3,T,4,4,services,other,other,mother,1,1,0,no,yes,yes,no,yes,yes,no,no,5,2,1,1,2,3,12,yes\nGP,F,17,U,LE3,T,3,2,other,other,reputation,mother,2,2,0,no,no,yes,no,yes,yes,yes,no,4,4,4,1,3,1,2,yes\nGP,F,17,U,GT3,T,4,3,other,other,reputation,mother,1,2,2,no,no,yes,no,yes,yes,yes,yes,3,4,5,2,4,1,22,no\nGP,M,18,U,LE3,T,3,3,services,health,home,father,1,2,1,no,yes,yes,no,yes,yes,yes,no,3,2,4,2,4,4,13,no\nGP,F,17,U,GT3,T,2,3,at_home,other,home,father,2,1,0,no,yes,yes,no,yes,yes,no,no,3,3,3,1,4,3,3,no\nGP,F,17,U,GT3,T,2,2,at_home,at_home,course,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,no,4,3,3,1,1,4,4,yes\nGP,F,17,R,GT3,T,2,1,at_home,services,reputation,mother,2,2,0,no,yes,no,yes,yes,yes,yes,no,4,2,5,1,2,5,2,no\nGP,F,17,U,GT3,T,1,1,at_home,other,reputation,mother,1,3,1,no,yes,no,yes,yes,yes,no,yes,4,3,4,1,1,5,0,no\nGP,F,16,U,GT3,T,2,3,services,teacher,other,mother,1,2,0,yes,no,no,no,yes,yes,yes,no,2,3,1,1,1,3,2,yes\nGP,M,18,U,GT3,T,2,2,other,other,home,mother,2,2,0,no,yes,yes,no,yes,yes,yes,no,3,3,3,5,5,4,0,yes\nGP,F,16,U,GT3,T,4,4,teacher,services,home,mother,1,3,0,no,yes,no,yes,no,yes,yes,no,5,3,2,1,1,5,0,yes\nGP,F,18,R,GT3,T,3,1,other,other,reputation,mother,1,2,1,no,no,no,yes,yes,yes,yes,yes,5,3,3,1,1,4,16,no\nGP,F,17,U,GT3,T,3,2,other,other,course,mother,1,2,0,no,no,no,yes,no,yes,yes,no,5,3,4,1,3,3,10,yes\nGP,M,17,U,LE3,T,2,3,services,services,reputation,father,1,2,0,no,yes,yes,no,no,yes,yes,no,5,3,3,1,3,3,2,yes\nGP,M,18,U,LE3,T,2,1,at_home,other,course,mother,4,2,0,yes,yes,yes,yes,yes,yes,yes,yes,4,3,2,4,5,3,14,no\nGP,F,17,U,GT3,A,2,1,other,other,course,mother,2,3,0,no,no,no,yes,yes,yes,yes,yes,3,2,3,1,2,3,10,yes\nGP,F,17,U,LE3,T,4,3,health,other,reputation,father,1,2,0,no,no,no,yes,yes,yes,yes,yes,3,2,3,1,2,3,14,yes\nGP,M,17,R,GT3,T,2,2,other,other,course,father,2,2,0,no,yes,yes,yes,yes,yes,yes,no,4,5,2,1,1,1,4,yes\nGP,M,17,U,GT3,T,4,4,teacher,teacher,reputation,mother,1,2,0,yes,yes,no,yes,yes,yes,yes,yes,4,5,5,1,3,2,14,no\nGP,M,16,U,GT3,T,4,4,health,other,reputation,father,1,2,0,no,yes,yes,yes,yes,yes,yes,no,4,2,4,2,4,1,2,yes\nGP,M,16,U,LE3,T,1,1,other,other,home,mother,2,2,0,no,yes,yes,no,yes,yes,yes,no,3,4,2,1,1,5,18,no\nGP,M,16,U,GT3,T,3,2,at_home,other,reputation,mother,2,3,0,no,no,no,yes,yes,yes,yes,yes,5,3,3,1,3,2,10,yes\nGP,M,17,U,LE3,T,2,2,other,other,home,father,1,2,0,no,no,yes,yes,no,yes,yes,yes,4,4,2,5,5,4,4,yes\nGP,F,16,U,GT3,T,2,1,other,other,home,mother,1,1,0,no,no,no,no,yes,yes,yes,yes,4,5,2,1,1,5,20,yes\nGP,F,17,R,GT3,T,2,1,at_home,services,course,mother,3,2,0,no,no,no,yes,yes,yes,no,no,2,1,1,1,1,3,2,yes\nGP,M,18,U,GT3,T,2,2,other,services,reputation,father,1,2,1,no,no,no,no,yes,no,yes,no,5,5,4,3,5,2,0,no\nGP,M,17,U,LE3,T,4,3,health,other,course,mother,2,2,0,no,no,no,yes,yes,yes,yes,yes,2,5,5,1,4,5,14,yes\nGP,M,17,R,LE3,A,4,4,teacher,other,course,mother,2,2,0,no,yes,yes,no,yes,yes,yes,no,3,3,3,2,3,4,2,yes\nGP,M,16,U,LE3,T,4,3,teacher,other,course,mother,1,1,0,no,no,no,yes,no,yes,yes,no,5,4,5,1,1,3,0,no\nGP,M,16,U,GT3,T,4,4,services,services,course,mother,1,1,0,no,no,no,yes,yes,yes,yes,no,5,3,2,1,2,5,0,yes\nGP,F,18,U,GT3,T,2,1,other,other,course,other,2,3,0,no,yes,yes,no,no,yes,yes,yes,4,4,4,1,1,3,0,no\nGP,M,16,U,GT3,T,2,1,other,other,course,mother,3,1,0,no,no,no,no,yes,yes,yes,no,4,3,3,1,1,4,6,yes\nGP,M,17,U,GT3,T,2,3,other,other,course,father,2,1,0,no,no,no,no,yes,yes,yes,no,5,2,2,1,1,2,4,yes\nGP,M,22,U,GT3,T,3,1,services,services,other,mother,1,1,3,no,no,no,no,no,no,yes,yes,5,4,5,5,5,1,16,no\nGP,M,18,R,LE3,T,3,3,other,services,course,mother,1,2,1,no,yes,no,no,yes,yes,yes,yes,4,3,3,1,3,5,8,no\nGP,M,16,U,GT3,T,0,2,other,other,other,mother,1,1,0,no,no,yes,no,no,yes,yes,no,4,3,2,2,4,5,0,yes\nGP,M,18,U,GT3,T,3,2,services,other,course,mother,2,1,1,no,no,no,no,yes,no,yes,no,4,4,5,2,4,5,0,no\nGP,M,16,U,GT3,T,3,3,at_home,other,reputation,other,3,2,0,yes,yes,no,no,no,yes,yes,no,5,3,3,1,3,2,6,yes\nGP,M,18,U,GT3,T,2,1,services,services,other,mother,1,1,1,no,no,no,no,no,no,yes,no,3,2,5,2,5,5,4,no\nGP,M,16,R,GT3,T,2,1,other,other,course,mother,2,1,0,no,no,no,yes,no,yes,no,no,3,3,2,1,3,3,0,no\nGP,M,17,R,GT3,T,2,1,other,other,course,mother,1,1,0,no,no,no,no,no,yes,yes,no,4,4,2,2,4,5,0,yes\nGP,M,17,U,LE3,T,1,1,health,other,course,mother,2,1,1,no,yes,no,yes,yes,yes,yes,no,4,4,4,1,2,5,2,no\nGP,F,17,U,LE3,T,4,2,teacher,services,reputation,mother,1,4,0,no,yes,yes,yes,yes,yes,yes,no,4,2,3,1,1,4,6,yes\nGP,M,19,U,LE3,A,4,3,services,at_home,reputation,mother,1,2,0,no,yes,no,no,yes,yes,yes,no,4,3,1,1,1,1,12,yes\nGP,M,18,U,GT3,T,2,1,other,other,home,mother,1,2,0,no,no,no,yes,yes,yes,yes,no,5,2,4,1,2,4,8,yes\nGP,F,17,U,LE3,T,2,2,services,services,course,father,1,4,0,no,no,yes,yes,yes,yes,yes,yes,3,4,1,1,1,2,0,no\nGP,F,18,U,GT3,T,4,3,services,other,home,father,1,2,0,no,yes,yes,no,yes,yes,yes,yes,3,1,2,1,3,2,21,yes\nGP,M,18,U,GT3,T,4,3,teacher,other,course,mother,1,2,0,no,yes,yes,no,no,yes,yes,no,4,3,2,1,1,3,2,no\nGP,M,18,R,GT3,T,3,2,other,other,course,mother,1,3,0,no,no,no,yes,no,yes,no,no,5,3,2,1,1,3,1,yes\nGP,F,17,U,GT3,T,3,3,other,other,home,mother,1,3,0,no,no,no,yes,no,yes,no,no,3,2,3,1,1,4,4,no\nGP,F,18,U,GT3,T,2,2,at_home,services,home,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,yes,4,3,3,1,1,3,0,no\nGP,M,18,R,LE3,A,3,4,other,other,reputation,mother,2,2,0,no,yes,yes,yes,yes,yes,yes,no,4,2,5,3,4,1,13,yes\nGP,M,17,U,GT3,T,3,1,services,other,other,mother,1,2,0,no,no,yes,yes,yes,yes,yes,yes,5,4,4,3,4,5,2,yes\nGP,F,18,R,GT3,T,4,4,teacher,other,reputation,mother,2,2,0,no,no,yes,yes,yes,yes,yes,no,4,3,4,2,2,4,8,yes\nGP,M,18,U,GT3,T,4,2,health,other,reputation,father,1,2,0,no,yes,yes,yes,yes,yes,yes,yes,5,4,5,1,3,5,10,yes\nGP,F,18,R,GT3,T,2,1,other,other,reputation,mother,2,2,0,no,yes,no,no,yes,no,yes,yes,4,3,5,1,2,3,0,no\nGP,F,19,U,GT3,T,3,3,other,services,home,other,1,2,2,no,yes,yes,yes,yes,yes,yes,no,4,3,5,3,3,5,15,no\nGP,F,18,U,GT3,T,2,3,other,services,reputation,father,1,4,0,no,yes,yes,yes,yes,yes,yes,yes,4,5,5,1,3,2,4,yes\nGP,F,18,U,LE3,T,1,1,other,other,home,mother,2,2,0,no,yes,yes,no,no,yes,no,no,4,4,3,1,1,3,2,yes\nGP,M,17,R,GT3,T,1,2,at_home,at_home,home,mother,1,2,0,no,yes,yes,yes,no,yes,no,yes,3,5,2,2,2,1,2,yes\nGP,F,17,U,GT3,T,2,4,at_home,health,reputation,mother,2,2,0,no,yes,yes,no,yes,yes,yes,yes,4,3,3,1,1,1,2,yes\nGP,F,17,U,LE3,T,2,2,services,other,course,mother,2,2,0,yes,yes,yes,no,yes,yes,yes,yes,4,4,4,2,3,5,6,yes\nGP,F,18,R,GT3,A,3,2,other,services,home,mother,2,2,0,no,no,no,no,no,no,yes,yes,4,1,1,1,1,5,75,no\nGP,M,18,U,GT3,T,4,4,teacher,services,home,mother,2,1,0,no,no,yes,yes,yes,yes,yes,no,3,2,4,1,4,3,22,no\nGP,F,18,U,GT3,T,4,4,health,health,reputation,father,1,2,1,yes,yes,no,yes,yes,yes,yes,yes,2,4,4,1,1,4,15,no\nGP,M,18,U,LE3,T,4,3,teacher,services,course,mother,2,1,0,no,no,yes,yes,yes,yes,yes,no,4,2,3,1,2,1,8,yes\nGP,M,17,U,LE3,A,4,1,services,other,home,mother,2,1,0,no,no,yes,yes,yes,yes,yes,yes,4,5,4,2,4,5,30,no\nGP,M,17,U,LE3,A,3,2,teacher,services,home,mother,1,1,1,no,no,no,no,yes,yes,yes,no,4,4,4,3,4,3,19,yes\nGP,F,18,R,LE3,T,1,1,at_home,other,reputation,mother,2,4,0,no,yes,yes,yes,yes,yes,no,no,5,2,2,1,1,3,1,yes\nGP,F,18,U,GT3,T,1,1,other,other,home,mother,2,2,0,yes,no,no,yes,yes,yes,yes,no,5,4,4,1,1,4,4,yes\nGP,F,17,U,GT3,T,2,2,other,other,course,mother,1,2,0,no,yes,no,no,no,yes,yes,no,5,4,5,1,2,5,4,yes\nGP,M,17,U,GT3,T,1,1,other,other,reputation,father,1,2,0,no,no,yes,no,no,yes,yes,no,4,3,3,1,2,4,2,yes\nGP,F,18,U,GT3,T,2,2,at_home,at_home,other,mother,1,3,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,1,2,2,5,yes\nGP,F,17,U,GT3,T,1,1,services,teacher,reputation,mother,1,3,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,1,1,3,6,yes\nGP,M,18,U,GT3,T,2,1,services,services,reputation,mother,1,3,0,no,no,yes,yes,yes,yes,yes,no,4,2,4,1,3,2,6,yes\nGP,M,18,U,LE3,A,4,4,teacher,teacher,reputation,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,no,5,4,3,1,1,2,9,yes\nGP,M,18,U,GT3,T,4,2,teacher,other,home,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,yes,4,3,2,1,4,5,11,yes\nGP,F,17,U,GT3,T,4,3,health,services,reputation,mother,1,3,0,no,yes,yes,no,yes,yes,yes,no,4,2,2,1,2,3,0,yes\nGP,F,18,U,LE3,T,2,1,services,at_home,reputation,mother,1,2,1,no,no,no,no,yes,yes,yes,yes,5,4,3,1,1,5,12,yes\nGP,F,17,R,LE3,T,3,1,services,other,reputation,mother,2,4,0,no,yes,yes,no,yes,yes,no,no,3,1,2,1,1,3,6,yes\nGP,M,18,R,LE3,T,3,2,services,other,reputation,mother,2,3,0,no,yes,yes,yes,yes,yes,yes,no,5,4,2,1,1,4,8,yes\nGP,M,17,U,GT3,T,3,3,health,other,home,mother,1,1,0,no,yes,yes,no,yes,yes,yes,no,4,4,3,1,3,5,4,yes\nGP,F,19,U,GT3,T,4,4,health,other,reputation,other,2,2,0,no,yes,yes,yes,yes,yes,yes,no,2,3,4,2,3,2,0,no\nGP,F,18,U,LE3,T,4,3,other,other,home,other,2,2,0,no,yes,yes,no,yes,yes,yes,yes,4,4,5,1,2,2,10,no\nGP,F,18,U,GT3,T,4,3,other,other,reputation,father,1,4,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,1,1,3,0,yes\nGP,M,18,U,LE3,T,4,4,teacher,teacher,home,mother,1,1,0,no,yes,yes,no,yes,yes,yes,yes,1,4,2,2,2,1,5,yes\nGP,F,18,U,LE3,A,4,4,health,other,home,mother,1,2,0,no,yes,no,no,yes,yes,yes,yes,4,2,4,1,1,4,14,yes\nGP,M,17,U,LE3,T,4,4,other,teacher,home,father,2,1,0,no,no,yes,no,yes,yes,yes,no,4,1,1,2,2,5,0,yes\nGP,F,17,U,GT3,T,4,2,other,other,reputation,mother,2,3,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,1,1,3,0,yes\nGP,F,17,U,GT3,T,3,2,health,health,reputation,father,1,4,0,no,yes,yes,yes,no,yes,yes,no,5,2,2,1,2,5,0,yes\nGP,M,19,U,GT3,T,3,3,other,other,home,other,1,2,1,no,yes,no,yes,yes,yes,yes,yes,4,4,4,1,1,3,20,yes\nGP,F,18,U,GT3,T,2,4,services,at_home,reputation,other,1,2,1,no,yes,yes,yes,yes,yes,yes,no,4,4,3,1,1,3,8,yes\nGP,M,20,U,GT3,A,3,2,services,other,course,other,1,1,0,no,no,no,yes,yes,yes,no,no,5,5,3,1,1,5,0,yes\nGP,M,19,U,GT3,T,4,4,teacher,services,reputation,other,2,1,1,no,yes,yes,no,yes,yes,yes,yes,4,3,4,1,1,4,38,no\nGP,M,19,R,GT3,T,3,3,other,services,reputation,father,1,2,1,no,no,no,yes,yes,yes,no,yes,4,5,3,1,2,5,0,yes\nGP,F,19,U,LE3,T,1,1,at_home,other,reputation,other,1,2,1,yes,yes,no,yes,no,yes,yes,no,4,4,3,1,3,3,18,yes\nGP,F,19,U,LE3,T,1,2,services,services,home,other,1,2,1,no,no,no,yes,no,yes,no,yes,4,2,4,2,2,3,0,no\nGP,F,19,U,GT3,T,2,1,at_home,other,other,other,3,2,0,no,yes,no,no,yes,no,yes,yes,3,4,1,1,1,2,20,yes\nGP,M,19,U,GT3,T,1,2,other,services,course,other,1,2,1,no,no,no,no,no,yes,yes,no,4,5,2,2,2,4,3,yes\nGP,F,19,U,LE3,T,3,2,services,other,reputation,other,2,2,1,no,yes,yes,no,no,yes,yes,yes,4,2,2,1,2,1,22,yes\nGP,F,19,U,GT3,T,1,1,at_home,health,home,other,1,3,2,no,no,no,no,no,yes,yes,yes,4,1,2,1,1,3,14,yes\nGP,F,19,R,GT3,T,2,3,other,other,reputation,other,1,3,1,no,no,no,no,yes,yes,yes,yes,4,1,2,1,1,3,40,yes\nGP,F,18,U,GT3,T,2,1,services,other,course,mother,2,2,0,no,yes,yes,yes,yes,yes,yes,no,5,3,3,1,2,1,0,no\nGP,F,18,U,GT3,T,4,3,other,other,course,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,yes,4,3,4,1,1,5,9,no\nGP,F,17,R,GT3,T,3,4,at_home,services,course,father,1,3,0,no,yes,yes,yes,no,yes,yes,no,4,3,4,2,5,5,0,yes\nGP,F,18,U,GT3,T,4,4,teacher,other,course,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,4,4,3,3,5,2,yes\nGP,F,17,U,GT3,A,4,3,services,services,course,mother,1,2,0,no,yes,yes,no,yes,yes,yes,yes,5,2,2,1,2,5,23,yes\nGP,F,17,U,GT3,T,2,2,other,other,course,mother,1,2,0,no,yes,no,no,yes,yes,no,yes,4,2,2,1,1,3,12,no\nGP,F,17,R,LE3,T,2,2,services,services,course,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,no,3,3,2,2,2,3,3,yes\nGP,F,17,U,GT3,T,3,1,services,services,course,father,1,3,0,no,yes,no,no,no,yes,yes,no,3,4,3,2,3,5,1,yes\nGP,F,17,U,LE3,T,0,2,at_home,at_home,home,father,2,3,0,no,no,no,no,yes,yes,yes,no,3,3,3,2,3,2,0,yes\nGP,M,18,U,GT3,T,4,4,other,other,course,mother,1,3,0,no,no,no,yes,yes,yes,yes,no,4,3,3,2,2,3,3,yes\nGP,M,17,U,GT3,T,3,3,other,services,reputation,mother,1,1,0,no,no,no,yes,no,yes,yes,no,4,3,5,3,5,5,3,yes\nGP,M,17,R,GT3,T,2,2,services,other,course,mother,4,1,0,no,yes,no,no,yes,yes,yes,no,4,4,5,5,5,4,8,yes\nGP,F,17,U,GT3,T,4,4,teacher,services,course,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,no,5,4,4,1,3,4,7,no\nGP,F,17,U,GT3,T,4,4,teacher,teacher,course,mother,2,3,0,no,yes,yes,no,no,yes,yes,yes,4,3,3,1,2,4,4,yes\nGP,M,18,U,LE3,T,2,2,other,other,course,mother,1,4,0,no,yes,no,yes,yes,yes,yes,no,4,5,5,2,4,5,2,no\nGP,F,17,R,GT3,T,2,4,at_home,other,course,father,1,3,0,no,yes,no,no,yes,yes,yes,yes,4,4,3,1,1,5,7,yes\nGP,F,18,U,GT3,T,3,3,services,services,home,mother,1,2,0,no,no,no,yes,yes,yes,yes,no,5,3,4,1,1,4,0,no\nGP,F,18,U,LE3,T,2,2,other,other,home,other,1,2,0,no,no,no,yes,no,yes,yes,yes,4,3,3,1,1,2,0,no\nGP,F,18,R,GT3,T,2,2,at_home,other,course,mother,2,4,0,no,no,no,yes,yes,yes,no,no,4,4,4,1,1,4,0,no\nGP,F,17,U,GT3,T,3,4,services,other,course,mother,1,3,0,no,no,no,no,yes,yes,yes,no,4,4,5,1,3,5,16,yes\nGP,F,19,R,GT3,A,3,1,services,at_home,home,other,1,3,1,no,no,yes,no,yes,yes,no,no,5,4,3,1,2,5,12,yes\nGP,F,17,U,GT3,T,3,2,other,other,home,mother,1,2,0,no,yes,yes,no,yes,yes,yes,yes,4,3,2,2,3,2,0,no\nGP,F,18,U,LE3,T,3,3,services,services,home,mother,1,4,0,no,yes,no,no,yes,yes,yes,no,5,3,3,1,1,1,7,yes\nGP,F,17,R,GT3,A,3,2,other,other,home,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,3,3,2,3,2,4,yes\nGP,F,19,U,GT3,T,2,1,services,services,home,other,1,3,1,no,no,yes,yes,yes,yes,yes,yes,4,3,4,1,3,3,4,yes\nGP,M,18,U,GT3,T,4,4,teacher,services,home,father,1,2,1,no,yes,no,yes,yes,yes,yes,no,4,3,3,2,2,2,0,no\nGP,M,18,U,LE3,T,3,4,services,other,home,mother,1,2,0,no,no,no,yes,yes,yes,yes,yes,4,3,3,1,3,5,11,yes\nGP,F,17,U,GT3,A,2,2,at_home,at_home,home,father,1,2,1,no,yes,no,no,yes,yes,yes,yes,3,3,1,1,2,4,0,no\nGP,F,18,U,GT3,T,2,3,at_home,other,course,mother,1,3,0,no,yes,no,no,yes,yes,yes,no,4,3,3,1,2,3,4,yes\nGP,F,18,U,GT3,T,3,2,other,services,other,mother,1,3,0,no,no,no,no,yes,yes,yes,yes,5,4,3,2,3,1,7,yes\nGP,M,18,R,GT3,T,4,3,teacher,services,course,mother,1,3,0,no,no,no,no,yes,yes,yes,yes,5,3,2,1,2,4,9,yes\nGP,M,18,U,GT3,T,4,3,teacher,other,course,mother,1,3,0,no,yes,yes,no,yes,yes,yes,yes,5,4,5,2,3,5,0,no\nGP,F,17,U,GT3,T,4,3,health,other,reputation,mother,1,3,0,no,yes,yes,yes,yes,yes,yes,yes,4,4,3,1,3,4,0,yes\nMS,M,18,R,GT3,T,3,2,other,other,course,mother,2,1,1,no,yes,no,no,no,yes,yes,no,2,5,5,5,5,5,10,yes\nMS,M,19,R,GT3,T,1,1,other,services,home,other,3,2,3,no,no,no,no,yes,yes,yes,no,5,4,4,3,3,2,8,no\nMS,M,17,U,GT3,T,3,3,health,other,course,mother,2,2,0,no,yes,yes,no,yes,yes,yes,no,4,5,4,2,3,3,2,yes\nMS,M,18,U,LE3,T,1,3,at_home,services,course,mother,1,1,1,no,no,no,no,yes,no,yes,yes,4,3,3,2,3,3,7,no\nMS,M,19,R,GT3,T,1,1,other,other,home,other,3,1,1,no,yes,no,no,yes,yes,yes,no,4,4,4,3,3,5,4,no\nMS,M,17,R,GT3,T,4,3,services,other,home,mother,2,2,0,no,yes,yes,yes,no,yes,yes,yes,4,5,5,1,3,2,4,yes\nMS,F,18,U,GT3,T,3,3,services,services,course,father,1,2,0,no,yes,no,no,yes,yes,no,yes,5,3,4,1,1,5,0,no\nMS,F,17,R,GT3,T,4,4,teacher,services,other,father,2,2,0,no,yes,yes,yes,yes,yes,yes,no,4,3,3,1,2,5,4,yes\nMS,F,17,U,LE3,A,3,2,services,other,reputation,mother,2,2,0,no,no,no,no,yes,yes,no,yes,1,2,3,1,2,5,2,yes\nMS,M,18,U,LE3,T,1,1,other,services,home,father,2,1,0,no,no,no,no,no,yes,yes,yes,3,3,2,1,2,3,4,yes\nMS,F,18,U,LE3,T,1,1,at_home,services,course,father,2,3,0,no,no,no,no,yes,yes,yes,no,5,3,2,1,1,4,0,yes\nMS,F,18,R,LE3,A,1,4,at_home,other,course,mother,3,2,0,no,no,no,no,yes,yes,no,yes,4,3,4,1,4,5,0,yes\nMS,M,18,R,LE3,T,1,1,at_home,other,other,mother,2,2,1,no,no,no,yes,no,no,no,no,4,4,3,2,3,5,2,yes\nMS,F,18,U,GT3,T,3,3,services,services,other,mother,2,2,0,no,yes,no,no,yes,yes,yes,yes,4,3,2,1,3,3,0,yes\nMS,F,17,U,LE3,T,4,4,at_home,at_home,course,mother,1,2,0,no,yes,yes,yes,yes,yes,yes,yes,2,3,4,1,1,1,0,yes\nMS,F,17,R,GT3,T,1,2,other,services,course,father,2,2,0,no,no,no,no,no,yes,no,no,3,2,2,1,2,3,0,yes\nMS,M,18,R,GT3,T,1,3,at_home,other,course,mother,2,2,0,no,yes,yes,no,yes,yes,no,no,3,3,4,2,4,3,4,yes\nMS,M,18,U,LE3,T,4,4,teacher,services,other,mother,2,3,0,no,no,yes,no,yes,yes,yes,yes,4,2,2,2,2,5,0,yes\nMS,F,17,R,GT3,T,1,1,other,services,reputation,mother,3,1,1,no,yes,yes,no,yes,yes,yes,yes,5,2,1,1,2,1,0,no\nMS,F,18,U,GT3,T,2,3,at_home,services,course,father,2,1,0,no,yes,yes,no,yes,yes,yes,yes,5,2,3,1,2,4,0,yes\nMS,F,18,R,GT3,T,4,4,other,teacher,other,father,3,2,0,no,yes,yes,no,no,yes,yes,yes,3,2,2,4,2,5,10,yes\nMS,F,19,U,LE3,T,3,2,services,services,home,other,2,2,2,no,no,no,yes,yes,yes,no,yes,3,2,2,1,1,3,4,no\nMS,M,18,R,LE3,T,1,2,at_home,services,other,father,3,1,0,no,yes,yes,yes,yes,no,yes,yes,4,3,3,2,3,3,3,yes\nMS,F,17,U,GT3,T,2,2,other,at_home,home,mother,1,3,0,no,no,no,yes,yes,yes,no,yes,3,4,3,1,1,3,8,yes\nMS,F,17,R,GT3,T,1,2,other,other,course,mother,1,1,0,no,no,no,yes,yes,yes,yes,no,3,5,5,1,3,1,14,no\nMS,F,18,R,LE3,T,4,4,other,other,reputation,mother,2,3,0,no,no,no,no,yes,yes,yes,no,5,4,4,1,1,1,0,yes\nMS,F,18,R,GT3,T,1,1,other,other,home,mother,4,3,0,no,no,no,no,yes,yes,yes,no,4,3,2,1,2,4,2,yes\nMS,F,20,U,GT3,T,4,2,health,other,course,other,2,3,2,no,yes,yes,no,no,yes,yes,yes,5,4,3,1,1,3,4,yes\nMS,F,18,R,LE3,T,4,4,teacher,services,course,mother,1,2,0,no,no,yes,yes,yes,yes,yes,no,5,4,3,3,4,2,4,yes\nMS,F,18,U,GT3,T,3,3,other,other,home,mother,1,2,0,no,no,yes,no,yes,yes,yes,yes,4,1,3,1,2,1,0,yes\nMS,F,17,R,GT3,T,3,1,at_home,other,reputation,mother,1,2,0,no,yes,yes,yes,no,yes,yes,no,4,5,4,2,3,1,17,yes\nMS,M,18,U,GT3,T,4,4,teacher,teacher,home,father,1,2,0,no,no,yes,yes,no,yes,yes,no,3,2,4,1,4,2,4,yes\nMS,M,18,R,GT3,T,2,1,other,other,other,mother,2,1,0,no,no,no,yes,no,yes,yes,yes,4,4,3,1,3,5,5,no\nMS,M,17,U,GT3,T,2,3,other,services,home,father,2,2,0,no,no,no,yes,yes,yes,yes,no,4,4,3,1,1,3,2,yes\nMS,M,19,R,GT3,T,1,1,other,services,other,mother,2,1,1,no,no,no,no,yes,yes,no,no,4,3,2,1,3,5,0,no\nMS,M,18,R,GT3,T,4,2,other,other,home,father,2,1,1,no,no,yes,no,yes,yes,no,no,5,4,3,4,3,3,14,no\nMS,F,18,R,GT3,T,2,2,at_home,other,other,mother,2,3,0,no,no,yes,no,yes,yes,no,no,5,3,3,1,3,4,2,yes\nMS,F,18,R,GT3,T,4,4,teacher,at_home,reputation,mother,3,1,0,no,yes,yes,yes,yes,yes,yes,yes,4,4,3,2,2,5,7,no\nMS,F,19,R,GT3,T,2,3,services,other,course,mother,1,3,1,no,no,no,yes,no,yes,yes,no,5,4,2,1,2,5,0,no\nMS,F,18,U,LE3,T,3,1,teacher,services,course,mother,1,2,0,no,yes,yes,no,yes,yes,yes,no,4,3,4,1,1,1,0,no\nMS,F,18,U,GT3,T,1,1,other,other,course,mother,2,2,1,no,no,no,yes,yes,yes,no,no,1,1,1,1,1,5,0,no\nMS,M,20,U,LE3,A,2,2,services,services,course,other,1,2,2,no,yes,yes,no,yes,yes,no,no,5,5,4,4,5,4,11,no\nMS,M,17,U,LE3,T,3,1,services,services,course,mother,2,1,0,no,no,no,no,no,yes,yes,no,2,4,5,3,4,2,3,yes\nMS,M,21,R,GT3,T,1,1,other,other,course,other,1,1,3,no,no,no,no,no,yes,no,no,5,5,3,3,3,3,3,no\nMS,M,18,R,LE3,T,3,2,services,other,course,mother,3,1,0,no,no,no,no,no,yes,yes,no,4,4,1,3,4,5,0,yes\nMS,M,19,U,LE3,T,1,1,other,at_home,course,father,1,1,0,no,no,no,no,yes,yes,yes,no,3,2,3,3,3,5,5,no\n"
  },
  {
    "path": "p2-student-intervention/student_intervention.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Supervised Learning\\n\",\n    \"## Project 2: Building a Student Intervention System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the second project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1 - Classification vs. Regression\\n\",\n    \"*Your goal for this project is to identify students who might need early intervention before they fail to graduate. Which type of supervised learning problem is this, classification or regression? Why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"It is a **classification problem**.\\n\",\n    \"- The output is binary. It is a Yes-no answer to the question 'Does the student need early intervention?'.\\n\",\n    \"- Thus **the output is discrete**.\\n\",\n    \"- Regression deals with continuous output, whereas classification deals with discrete output.\\n\",\n    \"- So this supervised learning problem is a classification problem, specifically one with **two classes**.\\n\",\n    \"\\n\",\n    \"If we had a continuous score ranging from 0 to 1 that indicated the extent to which students might need early intervention, this could be a regression problem. But we don't have this data for students, so it's not a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploring the Data\\n\",\n    \"Run the code cell below to load necessary Python libraries and load the student data. Note that the last column from this dataset, `'passed'`, will be our target label (whether the student graduated or didn't graduate). All other columns are features about each student.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Student data read successfully!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"from time import time\\n\",\n    \"from sklearn.metrics import f1_score\\n\",\n    \"\\n\",\n    \"# Read student data\\n\",\n    \"student_data = pd.read_csv(\\\"student-data.csv\\\")\\n\",\n    \"print(\\\"Student data read successfully!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Exploration\\n\",\n    \"Let's begin by investigating the dataset to determine how many students we have information on, and learn about the graduation rate among these students. In the code cell below, you will need to compute the following:\\n\",\n    \"- The total number of students, `n_students`.\\n\",\n    \"- The total number of features for each student, `n_features`.\\n\",\n    \"- The number of those students who passed, `n_passed`.\\n\",\n    \"- The number of those students who failed, `n_failed`.\\n\",\n    \"- The graduation rate of the class, `grad_rate`, in percent (%).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of students （number of datapoints): 395\\n\",\n      \"Number of features: 30\\n\",\n      \"Number of students who passed (graduates): 265\\n\",\n      \"Number of students who failed (non-graduates): 130\\n\",\n      \"Graduation rate of the class: 67.09%\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Calculate number of students\\n\",\n    \"n_students = len(student_data)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate number of features\\n\",\n    \"# Don't count label column\\n\",\n    \"n_features = len(student_data.iloc[0]) - 1\\n\",\n    \"\\n\",\n    \"# TODO: Calculate passing students\\n\",\n    \"n_passed = len(student_data[student_data['passed'] == 'yes'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate failing students\\n\",\n    \"n_failed = len(student_data[student_data['passed'] == 'no'])\\n\",\n    \"\\n\",\n    \"# TODO: Calculate graduation rate\\n\",\n    \"grad_rate = float(n_passed)/n_students * 100\\n\",\n    \"\\n\",\n    \"# Print the results\\n\",\n    \"print(\\\"Total number of students （number of datapoints): {}\\\".format(n_students))\\n\",\n    \"print(\\\"Number of features: {}\\\".format(n_features))\\n\",\n    \"print(\\\"Number of students who passed (graduates): {}\\\".format(n_passed))\\n\",\n    \"print(\\\"Number of students who failed (non-graduates): {}\\\".format(n_failed))\\n\",\n    \"print(\\\"Graduation rate of the class: {:.2f}%\\\".format(grad_rate))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>school</th>\\n\",\n       \"      <th>sex</th>\\n\",\n       \"      <th>age</th>\\n\",\n       \"      <th>address</th>\\n\",\n       \"      <th>famsize</th>\\n\",\n       \"      <th>Pstatus</th>\\n\",\n       \"      <th>Medu</th>\\n\",\n       \"      <th>Fedu</th>\\n\",\n       \"      <th>Mjob</th>\\n\",\n       \"      <th>Fjob</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>internet</th>\\n\",\n       \"      <th>romantic</th>\\n\",\n       \"      <th>famrel</th>\\n\",\n       \"      <th>freetime</th>\\n\",\n       \"      <th>goout</th>\\n\",\n       \"      <th>Dalc</th>\\n\",\n       \"      <th>Walc</th>\\n\",\n       \"      <th>health</th>\\n\",\n       \"      <th>absences</th>\\n\",\n       \"      <th>passed</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>teacher</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>LE3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>at_home</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>health</td>\\n\",\n       \"      <td>services</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>GP</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>U</td>\\n\",\n       \"      <td>GT3</td>\\n\",\n       \"      <td>T</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>other</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>no</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>yes</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 31 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n       \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n       \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n       \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n       \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n       \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n       \"\\n\",\n       \"   ...   internet romantic  famrel  freetime  goout Dalc Walc health absences  \\\\\\n\",\n       \"0  ...         no       no       4         3      4    1    1      3        6   \\n\",\n       \"1  ...        yes       no       5         3      3    1    1      3        4   \\n\",\n       \"2  ...        yes       no       4         3      2    2    3      3       10   \\n\",\n       \"3  ...        yes      yes       3         2      2    1    1      5        2   \\n\",\n       \"4  ...         no       no       4         3      2    1    2      5        4   \\n\",\n       \"\\n\",\n       \"  passed  \\n\",\n       \"0     no  \\n\",\n       \"1     no  \\n\",\n       \"2    yes  \\n\",\n       \"3    yes  \\n\",\n       \"4    yes  \\n\",\n       \"\\n\",\n       \"[5 rows x 31 columns]\"\n      ]\n     },\n     \"execution_count\": 56,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"student_data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"pp:  234 pf:  78 fp:  31 ff:  52\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Experiment to see if `failures` are a good predictor of `passed`\\n\",\n    \"\\n\",\n    \"student_data[['failures', 'passed']]\\n\",\n    \"pp, pf, fp, ff = 0, 0, 0, 0\\n\",\n    \"for i in range(len(student_data)):\\n\",\n    \"    if student_data.iloc[i]['failures'] > 0:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            ff += 1\\n\",\n    \"        else:\\n\",\n    \"            fp += 1\\n\",\n    \"    else:\\n\",\n    \"        if student_data.iloc[i]['passed'] == 'no':\\n\",\n    \"            pf += 1\\n\",\n    \"        else:\\n\",\n    \"            pp += 1\\n\",\n    \"print(\\\"pp: \\\", pp, \\\"pf: \\\", pf, \\\"fp: \\\", fp, \\\"ff: \\\", ff)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing the Data\\n\",\n    \"In this section, we will prepare the data for modeling, training and testing.\\n\",\n    \"\\n\",\n    \"### Identify feature and target columns\\n\",\n    \"It is often the case that the data you obtain contains non-numeric features. This can be a problem, as most machine learning algorithms expect numeric data to perform computations with.\\n\",\n    \"\\n\",\n    \"Run the code cell below to separate the student data into feature and target columns to see if any features are non-numeric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature columns:\\n\",\n      \"['school', 'sex', 'age', 'address', 'famsize', 'Pstatus', 'Medu', 'Fedu', 'Mjob', 'Fjob', 'reason', 'guardian', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\",\n      \"\\n\",\n      \"Target column: passed\\n\",\n      \"\\n\",\n      \"Feature values:\\n\",\n      \"  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\\\\n\",\n      \"0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \\n\",\n      \"1     GP   F   17       U     GT3       T     1     1  at_home     other   \\n\",\n      \"2     GP   F   15       U     LE3       T     1     1  at_home     other   \\n\",\n      \"3     GP   F   15       U     GT3       T     4     2   health  services   \\n\",\n      \"4     GP   F   16       U     GT3       T     3     3    other     other   \\n\",\n      \"\\n\",\n      \"    ...    higher internet  romantic  famrel  freetime goout Dalc Walc health  \\\\\\n\",\n      \"0   ...       yes       no        no       4         3     4    1    1      3   \\n\",\n      \"1   ...       yes      yes        no       5         3     3    1    1      3   \\n\",\n      \"2   ...       yes      yes        no       4         3     2    2    3      3   \\n\",\n      \"3   ...       yes      yes       yes       3         2     2    1    1      5   \\n\",\n      \"4   ...       yes       no        no       4         3     2    1    2      5   \\n\",\n      \"\\n\",\n      \"  absences  \\n\",\n      \"0        6  \\n\",\n      \"1        4  \\n\",\n      \"2       10  \\n\",\n      \"3        2  \\n\",\n      \"4        4  \\n\",\n      \"\\n\",\n      \"[5 rows x 30 columns]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Extract feature columns\\n\",\n    \"feature_cols = list(student_data.columns[:-1])\\n\",\n    \"\\n\",\n    \"# Extract target column 'passed'\\n\",\n    \"target_col = student_data.columns[-1] \\n\",\n    \"\\n\",\n    \"# Show the list of columns\\n\",\n    \"print(\\\"Feature columns:\\\\n{}\\\".format(feature_cols))\\n\",\n    \"print(\\\"\\\\nTarget column: {}\\\".format(target_col))\\n\",\n    \"\\n\",\n    \"# Separate the data into feature data and target data (X_all and y_all, respectively)\\n\",\n    \"X_all = student_data[feature_cols]\\n\",\n    \"y_all = student_data[target_col]\\n\",\n    \"\\n\",\n    \"# Show the feature information by printing the first five rows\\n\",\n    \"print(\\\"\\\\nFeature values:\\\")\\n\",\n    \"print(X_all.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Preprocess Feature Columns\\n\",\n    \"\\n\",\n    \"As you can see, there are several non-numeric columns that need to be converted! Many of them are simply `yes`/`no`, e.g. `internet`. These can be reasonably converted into `1`/`0` (binary) values.\\n\",\n    \"\\n\",\n    \"Other columns, like `Mjob` and `Fjob`, have more than two values, and are known as _categorical variables_. The recommended way to handle such a column is to create as many columns as possible values (e.g. `Fjob_teacher`, `Fjob_other`, `Fjob_services`, etc.), and assign a `1` to one of them and `0` to all others.\\n\",\n    \"\\n\",\n    \"These generated columns are sometimes called _dummy variables_, and we will use the [`pandas.get_dummies()`](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html?highlight=get_dummies#pandas.get_dummies) function to perform this transformation. Run the code cell below to perform the preprocessing routine discussed in this section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Processed feature columns (48 total features):\\n\",\n      \"['school_GP', 'school_MS', 'sex_F', 'sex_M', 'age', 'address_R', 'address_U', 'famsize_GT3', 'famsize_LE3', 'Pstatus_A', 'Pstatus_T', 'Medu', 'Fedu', 'Mjob_at_home', 'Mjob_health', 'Mjob_other', 'Mjob_services', 'Mjob_teacher', 'Fjob_at_home', 'Fjob_health', 'Fjob_other', 'Fjob_services', 'Fjob_teacher', 'reason_course', 'reason_home', 'reason_other', 'reason_reputation', 'guardian_father', 'guardian_mother', 'guardian_other', 'traveltime', 'studytime', 'failures', 'schoolsup', 'famsup', 'paid', 'activities', 'nursery', 'higher', 'internet', 'romantic', 'famrel', 'freetime', 'goout', 'Dalc', 'Walc', 'health', 'absences']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def preprocess_features(X):\\n\",\n    \"    ''' Preprocesses the student data and converts non-numeric binary variables into\\n\",\n    \"        binary (0/1) variables. Converts categorical variables into dummy variables. '''\\n\",\n    \"    \\n\",\n    \"    # Initialize new output DataFrame\\n\",\n    \"    output = pd.DataFrame(index = X.index)\\n\",\n    \"\\n\",\n    \"    # Investigate each feature column for the data\\n\",\n    \"    for col, col_data in X.iteritems():\\n\",\n    \"        \\n\",\n    \"        # If data type is non-numeric, replace all yes/no values with 1/0\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            col_data = col_data.replace(['yes', 'no'], [1, 0])\\n\",\n    \"\\n\",\n    \"        # If data type is categorical, convert to dummy variables\\n\",\n    \"        if col_data.dtype == object:\\n\",\n    \"            # Example: 'school' => 'school_GP' and 'school_MS'\\n\",\n    \"            col_data = pd.get_dummies(col_data, prefix = col)  \\n\",\n    \"        \\n\",\n    \"        # Collect the revised columns\\n\",\n    \"        output = output.join(col_data)\\n\",\n    \"    \\n\",\n    \"    return output\\n\",\n    \"\\n\",\n    \"X_all = preprocess_features(X_all)\\n\",\n    \"print(\\\"Processed feature columns ({} total features):\\\\n{}\\\".format(len(X_all.columns), list(X_all.columns)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Training and Testing Data Split\\n\",\n    \"So far, we have converted all _categorical_ features into numeric values. For the next step, we split the data (both features and corresponding labels) into training and test sets. In the following code cell below, you will need to implement the following:\\n\",\n    \"- Randomly shuffle and split the data (`X_all`, `y_all`) into training and testing subsets.\\n\",\n    \"  - Use 300 training points (approximately 75%) and 95 testing points (approximately 25%).\\n\",\n    \"  - Set a `random_state` for the function(s) you use, if provided.\\n\",\n    \"  - Store the results in `X_train`, `X_test`, `y_train`, and `y_test`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training set has 300 samples.\\n\",\n      \"Testing set has 95 samples.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import any additional functionality you may need here\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"from sklearn.utils import shuffle\\n\",\n    \"\\n\",\n    \"# TODO: Set the number of training points\\n\",\n    \"num_train = 300\\n\",\n    \"\\n\",\n    \"# Set the number of testing points\\n\",\n    \"num_test = X_all.shape[0] - num_train\\n\",\n    \"\\n\",\n    \"# TODO: Shuffle and split the dataset into the number of training and testing points above\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, train_size=num_train, test_size=num_test)\\n\",\n    \"\\n\",\n    \"# Show the results of the split\\n\",\n    \"print(\\\"Training set has {} samples.\\\".format(X_train.shape[0]))\\n\",\n    \"print(\\\"Testing set has {} samples.\\\".format(X_test.shape[0]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training and Evaluating Models\\n\",\n    \"In this section, you will choose 3 supervised learning models that are appropriate for this problem and available in `scikit-learn`. You will first discuss the reasoning behind choosing these three models by considering what you know about the data and each model's strengths and weaknesses. You will then fit the model to varying sizes of training data (100 data points, 200 data points, and 300 data points) and measure the F<sub>1</sub> score. You will need to produce three tables (one for each model) that shows the training set size, training time, prediction time, F<sub>1</sub> score on the training set, and F<sub>1</sub> score on the testing set.\\n\",\n    \"\\n\",\n    \"**The following supervised learning models are currently available in** [`scikit-learn`](http://scikit-learn.org/stable/supervised_learning.html) **that you may choose from:**\\n\",\n    \"- Gaussian Naive Bayes (GaussianNB)\\n\",\n    \"- Decision Trees\\n\",\n    \"- Ensemble Methods (Bagging, AdaBoost, Random Forest, Gradient Boosting)\\n\",\n    \"- K-Nearest Neighbors (KNeighbors)\\n\",\n    \"- Stochastic Gradient Descent (SGDC)\\n\",\n    \"- Support Vector Machines (SVM)\\n\",\n    \"- Logistic Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2 - Model Application\\n\",\n    \"*List three supervised learning models that are appropriate for this problem. For each model chosen*\\n\",\n    \"- Describe one real-world application in industry where the model can be applied. *(You may need to do a small bit of research for this — give references!)* \\n\",\n    \"- What are the strengths of the model; when does it perform well? \\n\",\n    \"- What are the weaknesses of the model; when does it perform poorly?\\n\",\n    \"- What makes this model a good candidate for the problem, given what you know about the data?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Description of data:**\\n\",\n    \"- 395 datapoints (few) -> should not use that many features if we want an accurate, generalisable model (Curse of Dimensionality)\\n\",\n    \"- 31 features (non-trivial but not high compared to text learning applications that may have 50,000 features) \\n\",\n    \"\\n\",\n    \"**Model 1: Random Forests**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Random Forests</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predicting prices of futures (stocks) (<a href=\\\"http://www.scientific.net/AMM.740.947\\\">The Application of Random Forest in Finance, 2015\\\"</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Handles binary features well because it is an ensemble of decision trees.</li><li>Handle high dimensional spaces and large numbers of training examples well.</li><li>Does not expect linear features or features that interact linearly.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>May overfit especially for noisy training data</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Handles binary features well -> We have constructed the dataset such that we have many binary features.\\n\",\n    \"</li><li>It is often quite accurate.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Model 2: Naive Bayes (GaussianNB)**\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Naive Bayes</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Text learning.</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Computationally efficient.</li><li>Can deal with many features (and so is used in text learning where there may be 50,000 features).</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Independent features assumption is likely false here.</li><li>E.g. `Medu` may be associated with `Fedu` because couples often meet at university or at workplaces where they may have similar jobs.</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Efficient -> Problem stated they care about computational cost.</li><li>Can deal with many features -> There are 31 features in our dataset.</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"    \\n\",\n    \"\\n\",\n    \"**Model 3: Logistic Regression**\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th></th><th>Logistic Regression</th>\\n\",\n    \"<tr><td>Application</td><td><ul><li>Predict whether or not high school students might smoke cigarettes (<a href=\\\"http://www.aabri.com/manuscripts/10617.pdf\\\">Multiple logistic regression analysis of cigarette use among\\n\",\n    \"high school students, 2009</a>).</li></ul></td></tr>\\n\",\n    \"<tr><td>Strengths</td><td><ul><li>Is simple and has low variance -> robust to noise and is less likely to over-fit.</li></ul></td></tr>\\n\",\n    \"<tr><td>Weaknesses</td><td><ul><li>Assumes there is one smooth linear decision boundary (features are linearly separable).</li></ul></td></tr>\\n\",\n    \"<tr><td>Why it's a good candidate</td><td><ul><li>Output is binary (which is what we want).</li><li>Efficient (we care about computational cost).</li><li>Output can be interpreted as a probability, so it may be useful in prioritising students for intervention later on.</li><li>Unlikely to overfit (Good to compare with Random Forests).</li></ul></td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference documents:\\n\",\n    \"* [What are the advantages of different classification algorithms?](https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\\n\",\n    \"Run the code cell below to initialize three helper functions which you can use for training and testing the three supervised learning models you've chosen above. The functions are as follows:\\n\",\n    \"- `train_classifier` - takes as input a classifier and training data and fits the classifier to the data.\\n\",\n    \"- `predict_labels` - takes as input a fit classifier, features, and a target labeling and makes predictions using the F<sub>1</sub> score.\\n\",\n    \"- `train_predict` - takes as input a classifier, and the training and testing data, and performs `train_clasifier` and `predict_labels`.\\n\",\n    \" - This function will report the F<sub>1</sub> score for both the training and testing data separately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 61,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def train_classifier(clf, X_train, y_train):\\n\",\n    \"    ''' Fits a classifier to the training data. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, train the classifier, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print the results\\n\",\n    \"    print(\\\"Trained model in {:.4f} seconds\\\".format(end - start))\\n\",\n    \"\\n\",\n    \"    \\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    end = time()\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def train_predict(clf, X_train, y_train, X_test, y_test):\\n\",\n    \"    ''' Train and predict using a classifer based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Indicate the classifier and the training set size\\n\",\n    \"    print(\\\"Training a {} using a training set size of {}. . .\\\".format(clf.__class__.__name__, len(X_train)))\\n\",\n    \"    \\n\",\n    \"    # Train the classifier\\n\",\n    \"    train_classifier(clf, X_train, y_train)\\n\",\n    \"    \\n\",\n    \"    # Print the results of prediction for both training and testing\\n\",\n    \"    print(\\\"F1 score for training set: {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"    print(\\\"F1 score for test set: {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\\n\",\n    \"    print(\\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Performance Metrics\\n\",\n    \"With the predefined functions above, you will now import the three supervised learning models of your choice and run the `train_predict` function for each one. Remember that you will need to train and predict on each classifier for three different training set sizes: 100, 200, and 300. Hence, you should expect to have 9 different outputs below — 3 for each model using the varying training set sizes. In the following code cell, you will need to implement the following:\\n\",\n    \"- Import the three supervised learning models you've discussed in the previous section.\\n\",\n    \"- Initialize the three models and store them in `clf_A`, `clf_B`, and `clf_C`.\\n\",\n    \" - Use a `random_state` for each model you use, if provided.\\n\",\n    \" - **Note:** Use the default settings for each model — you will tune one specific model in a later section.\\n\",\n    \"- Create the different training set sizes to be used to train each model.\\n\",\n    \" - *Do not reshuffle and resplit the data! The new training points should be drawn from `X_train` and `y_train`.*\\n\",\n    \"- Fit each model with each training set size and make predictions on the test set (9 in total).  \\n\",\n    \"**Note:** Three tables are provided after the following code cell which can be used to store your results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 62,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a RandomForestClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0242 seconds\\n\",\n      \"Made predictions in 0.0018 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0022 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0121 seconds\\n\",\n      \"Made predictions in 0.0011 seconds.\\n\",\n      \"F1 score for training set: 0.9964.\\n\",\n      \"Made predictions in 0.0013 seconds.\\n\",\n      \"F1 score for test set: 0.6563.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a RandomForestClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0140 seconds\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for training set: 0.9927.\\n\",\n      \"Made predictions in 0.0009 seconds.\\n\",\n      \"F1 score for test set: 0.6870.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8714.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6977.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8421.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.6875.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a GaussianNB using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 0.8180.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.7031.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0077 seconds\\n\",\n      \"Made predictions in 0.0071 seconds.\\n\",\n      \"F1 score for training set: 0.8552.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7556.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0030 seconds.\\n\",\n      \"F1 score for training set: 0.8667.\\n\",\n      \"Made predictions in 0.0014 seconds.\\n\",\n      \"F1 score for test set: 0.7737.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a KNeighborsClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0008 seconds\\n\",\n      \"Made predictions in 0.0047 seconds.\\n\",\n      \"F1 score for training set: 0.8615.\\n\",\n      \"Made predictions in 0.0017 seconds.\\n\",\n      \"F1 score for test set: 0.7971.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.ensemble import RandomForestClassifier\\n\",\n    \"from sklearn.naive_bayes import GaussianNB\\n\",\n    \"from sklearn.linear_model import LogisticRegression\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = RandomForestClassifier(random_state=0)\\n\",\n    \"clf_B = GaussianNB()\\n\",\n    \"clf_C = LogisticRegression(random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 63,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Training a DecisionTreeClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0022 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"F1 score for test set: 0.6721.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0017 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6667.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a DecisionTreeClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0018 seconds\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for training set: 1.0000.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6723.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0058 seconds\\n\",\n      \"Made predictions in 0.0029 seconds.\\n\",\n      \"F1 score for training set: 0.0000.\\n\",\n      \"Made predictions in 0.0003 seconds.\\n\",\n      \"F1 score for test set: 0.0000.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0009 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8074.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7069.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SGDClassifier using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0010 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.6268.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.6847.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0016 seconds.\\n\",\n      \"F1 score for training set: 0.8645.\\n\",\n      \"Made predictions in 0.0007 seconds.\\n\",\n      \"F1 score for test set: 0.7867.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0040 seconds\\n\",\n      \"Made predictions in 0.0021 seconds.\\n\",\n      \"F1 score for training set: 0.8698.\\n\",\n      \"Made predictions in 0.0012 seconds.\\n\",\n      \"F1 score for test set: 0.7785.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a SVC using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0068 seconds\\n\",\n      \"Made predictions in 0.0040 seconds.\\n\",\n      \"F1 score for training set: 0.8675.\\n\",\n      \"Made predictions in 0.0015 seconds.\\n\",\n      \"F1 score for test set: 0.7755.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 100. . .\\n\",\n      \"Trained model in 0.0042 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8857.\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for test set: 0.7385.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 200. . .\\n\",\n      \"Trained model in 0.0015 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8720.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7132.\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Training a LogisticRegression using a training set size of 300. . .\\n\",\n      \"Trained model in 0.0034 seconds\\n\",\n      \"Made predictions in 0.0002 seconds.\\n\",\n      \"F1 score for training set: 0.8513.\\n\",\n      \"Made predictions in 0.0001 seconds.\\n\",\n      \"F1 score for test set: 0.7407.\\n\",\n      \"\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/classification.py:1074: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.\\n\",\n      \"  'precision', 'predicted', average, warn_for)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Models 4 - 7 for general comparison\\n\",\n    \"\\n\",\n    \"# TODO: Import the three supervised learning models from sklearn\\n\",\n    \"from sklearn.svm import SVC\\n\",\n    \"from sklearn.neighbors import KNeighborsClassifier\\n\",\n    \"from sklearn.tree import DecisionTreeClassifier\\n\",\n    \"from sklearn.linear_model import SGDClassifier\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the three models\\n\",\n    \"clf_A = DecisionTreeClassifier(random_state=0)\\n\",\n    \"clf_B = SGDClassifier(random_state=0)\\n\",\n    \"clf_C = SVC(random_state=0)\\n\",\n    \"clf_D = KNeighborsClassifier()\\n\",\n    \"\\n\",\n    \"# TODO: Set up the training set sizes\\n\",\n    \"# Previously shuffled\\n\",\n    \"X_train_100 = X_train[:100]\\n\",\n    \"y_train_100 = y_train[:100]\\n\",\n    \"\\n\",\n    \"X_train_200 = X_train[:200]\\n\",\n    \"y_train_200 = y_train[:200]\\n\",\n    \"\\n\",\n    \"X_train_300 = X_train\\n\",\n    \"y_train_300 = y_train\\n\",\n    \"\\n\",\n    \"# TODO: Execute the 'train_predict' function for each classifier and each training set size\\n\",\n    \"for clf in [clf_A, clf_B, clf_C, clf_D]:\\n\",\n    \"    for j in [(X_train_100, y_train_100), (X_train_200, y_train_200), (X_train_300, y_train_300)]:\\n\",\n    \"        train_predict(clf, j[0], j[1], X_test, y_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tabular Results\\n\",\n    \"Edit the cell below to see how a table can be designed in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables). You can record your results from above in the tables provided.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 1 - Random Forest**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s) | Prediction Time (s) (test) | F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |      0.0102                   |     0.0009                   |      0.9922            |         **0.7206**        |\\n\",\n    \"| 200               |        0.0094          |            0.0008            |          0.9962        |       0.6977          |\\n\",\n    \"| 300               |           0.0107              |         0.0012               |        0.9951          |    0.6721      |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 test score decreases as training set size increases, again suggesting that there is overfitting.\\n\",\n    \"* Training time is high. (about 10x that of GaussianNB, KNeighborsClassifier)\\n\",\n    \"\\n\",\n    \"** Classifer 2 - GaussianNB**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |          0.0009               |     0.0004                   |     0.8392             |     **0.7591**            |\\n\",\n    \"| 200               |     0.0007                    |   0.0002                     |   0.8309               |     0.7424     |\\n\",\n    \"| 300               |     0.0011             |    0.0003                    |    0.8099              |    0.7463             |\\n\",\n    \"\\n\",\n    \"** Classifer 3 - Logistic Regression**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |     0.0027                    |        0.0001                |    0.8872              |   0.7328              |\\n\",\n    \"| 200               |     0.0017             |          0.0002              |          0.8489        |          0.7612       |\\n\",\n    \"| 300               |        0.0026                 |      0.0001                  |    0.8337              |     **0.7883**     |\\n\",\n    \"\\n\",\n    \"It's doing surprisingly well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"** Classifer 4 - Support Vector Machines SVC**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |        0.0038                 |    0.0007                    |            0.8671      |    0.7483             |\\n\",\n    \"| 200               |     0.0033             |     0.0013                   |   0.8800               |     0.7724            |\\n\",\n    \"| 300               |        0.0053                 |      0.0013                  |     0.8793             |     **0.7808**     |\\n\",\n    \"\\n\",\n    \"* This also did surprisingly well compared to expectations. I thought SVM wasn't great with data that had many features. Maybe this dataset doesn't actually have that many features (vs 50,000 features for some text learning applications).\\n\",\n    \"* Prediction time linear with number of things to predict for training set sizes 200,300.\\n\",\n    \"\\n\",\n    \"** Classifer 5 - KNeighborsClassifier**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |    0.0006                     |    0.0012                    |    0.8345              |     0.7023            |\\n\",\n    \"| 200               |     0.0006             |      0.0014                  |       0.8502           |   0.7121              |\\n\",\n    \"| 300               |      0.0007                   |    0.0019                    |   0.8731               |     **0.7556**     |\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"** Classifer 6 - Decision Trees**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |           0.0009              |    0.0004                    |   1.0000               |     0.6667            |\\n\",\n    \"| 200               |     0.0013             |        0.0001                |   1.0000               |    **0.7460**             |\\n\",\n    \"| 300               |     0.0016                    |     0.0002                   |      1.0000            |     0.7424     |\\n\",\n    \"\\n\",\n    \"* High F1 score for train (1.0000) vs lower F1 score for test (0.6667 to 0.7460) indicates there is overfitting and that the model is not generalising well.\\n\",\n    \"* F1 score peaks at 200 training points and decreases slightly at 300 training points, suggesting there is overfitting at 300 training points.\\n\",\n    \"\\n\",\n    \"** Classifer 7 - Stochastic Gradient Descent**  \\n\",\n    \"\\n\",\n    \"| Training Set Size | Training Time (s)| Prediction Time (test) (s)| F1 Score (train) | F1 Score (test) |\\n\",\n    \"| :---------------: | :---------------------: | :--------------------: | :--------------: | :-------------: |\\n\",\n    \"| 100               |         0.0091                |     0.0008                   |    0.7832              |     0.7586            |\\n\",\n    \"| 200               |     0.0010             |    0.0002                    |      0.5027            |     0.3902            |\\n\",\n    \"| 300               |       0.0010                  |         0.0002               |  0.5981                |     0.4946     |\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Choosing the Best Model\\n\",\n    \"In this final section, you will choose from the three supervised learning models the *best* model to use on the student data. You will then perform a grid search optimization for the model over the entire training set (`X_train` and `y_train`) by tuning at least one parameter to improve upon the untuned model's F<sub>1</sub> score. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3 - Choosing the Best Model\\n\",\n    \"*Based on the experiments you performed earlier, in one to two paragraphs, explain to the board of supervisors what single model you chose as the best model. Which model is generally the most appropriate based on the available data, limited resources, cost, and performance?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"I chose **Logistic Regression**.\\n\",\n    \"\\n\",\n    \"1. **Performance (important)**: Logistic Regression had the **highest F1 score**. \\n\",\n    \"    * F1 score is a combined measure of (the harmonic mean of) precision and recall.\\n\",\n    \"        - Precision is X and \\n\",\n    \"        - Recall is Y.\\n\",\n    \"    * The other comparable model is SVC. Logistic Regression and SVC have maximum F1 scores of **0.7883** and 0.7808 respectively, with both attaining F1 max at 300 training points. They are significantly higher than the third highest F1 score at 0.7591 for GaussianNB.\\n\",\n    \"\\n\",\n    \"2. **Cost** (measured by training and prediction times):\\n\",\n    \"    * Out of the two models with similar F1 score, Logistic Regression has the **shorter training and prediction time** at < 50% that af SVC's time (**0.0026s to train, 0.0001s to predict** vs SVC 0.0053s to train and 0.0013 to predict). \\n\",\n    \"    * The training time is not too high and the prediction time is extremely low at 0.0001s.\\n\",\n    \"    * Since minimising computational cost is a concern, Logistic Regression seems like a good choice.\\n\",\n    \"\\n\",\n    \"3. **Available data**\\n\",\n    \"    * This is taken into account by the F1 scores used to assess the models. Three models - KNeighborsClassifier, SVC and Logistic Regression - have F1 scores that increase as the number of training datapoints increases. These models may perform even better if we had, say, 500 training data points. One of SVC or KNeighborsClassifier might outperform Logistic Regression. But we only have 300 data points, so we need to make choices based on the F1 scores in the tables.\\n\",\n    \"\\n\",\n    \"**Note 1: Backup in case even Logistic Regression is too computationally expensive: GaussianNB**\\n\",\n    \"\\n\",\n    \"If the computational cost is considered too great, we choose KNeighborsClassifier, which has a training time of 0.0009s, a prediction time of 0.0004s and an F1 score of 0.7591 on 100 training points, the third highest F1 score and the shortest (training time + prediction time).\\n\",\n    \"* It is only trained on 100 datapoints which makes it feel a bit dodgy. I considered choosing KNeighborsClassifier which has the fourth highest F1 score (max at 300 training points) and a shorter training time, but its prediction time of 0.0019s is quite high, making computational cost high.\\n\",\n    \"\\n\",\n    \"**Note 2: This may not be the optimal model because we did not tune any parameters.**\\n\",\n    \"* The default parameters for e.g. Decision Trees may just be really bad for this example.\\n\",\n    \"* If we wanted to choose the best model, we should compare versions of the models with tuned parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 4 - Model in Layman's Terms\\n\",\n    \"*In one to two paragraphs, explain to the board of directors in layman's terms how the final model chosen is supposed to work. Be sure that you are describing the major qualities of the model, such as how the model is trained and how the model makes a prediction. Avoid using advanced mathematical or technical jargon, such as describing equations or discussing the algorithm implementation.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\\n\",\n    \"\\n\",\n    \"**Training** Logistic regression will draw one single curve to relate characteristics like whether or not a student has access to Internet or whether to the predicted probability that they pass. For example, it may think that students who have little free time and are in romantic relationships are less likely to pass (an intuitive reason is because they have less time to study). \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"**Prediction** If the model guesses based on the student's characteristics they are more likely to pass than to fail, then it predicts that they will pass and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Model Tuning\\n\",\n    \"Fine tune the chosen model. Use grid search (`GridSearchCV`) with at least one important parameter tuned with at least 3 different values. You will need to use the entire training set for this. In the code cell below, you will need to implement the following:\\n\",\n    \"- Import [`sklearn.grid_search.gridSearchCV`](http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html) and [`sklearn.metrics.make_scorer`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html).\\n\",\n    \"- Create a dictionary of parameters you wish to tune for the chosen model.\\n\",\n    \" - Example: `parameters = {'parameter' : [list of values]}`.\\n\",\n    \"- Initialize the classifier you've chosen and store it in `clf`.\\n\",\n    \"- Create the F<sub>1</sub> scoring function using `make_scorer` and store it in `f1_scorer`.\\n\",\n    \" - Set the `pos_label` parameter to the correct value!\\n\",\n    \"- Perform grid search on the classifier `clf` using `f1_scorer` as the scoring method, and store it in `grid_obj`.\\n\",\n    \"- Fit the grid search object to the training data (`X_train`, `y_train`), and store it in `grid_obj`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 64,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"GridSearchCV(cv=None, error_score='raise',\\n\",\n      \"       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False),\\n\",\n      \"       fit_params={}, iid=True, n_jobs=1,\\n\",\n      \"       param_grid={'penalty': ['l2', 'l1'], 'C': [1, 10, 100, 1000]},\\n\",\n      \"       pre_dispatch='2*n_jobs', refit=True,\\n\",\n      \"       scoring=make_scorer(f1_score, pos_label=yes), verbose=0)\\n\",\n      \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n      \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n      \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n      \"          verbose=0, warm_start=False)\\n\",\n      \"Score:  0.77\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a training F1 score of 0.8442.\\n\",\n      \"Score:  0.621052631579\\n\",\n      \"Made predictions in 0.0008 seconds.\\n\",\n      \"Tuned model has a testing F1 score of 0.7313.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Import 'GridSearchCV' and 'make_scorer'\\n\",\n    \"from sklearn.grid_search import GridSearchCV\\n\",\n    \"from sklearn.metrics import make_scorer\\n\",\n    \"\\n\",\n    \"def predict_labels(clf, features, target):\\n\",\n    \"    ''' Makes predictions using a fit classifier based on F1 score. '''\\n\",\n    \"    \\n\",\n    \"    # Start the clock, make predictions, then stop the clock\\n\",\n    \"    start = time()\\n\",\n    \"    y_pred = clf.predict(features)\\n\",\n    \"    score = clf.score(features, target.values)\\n\",\n    \"    end = time()\\n\",\n    \"    print(\\\"Score: \\\", score)\\n\",\n    \"    \\n\",\n    \"    # Print and return results\\n\",\n    \"    print(\\\"Made predictions in {:.4f} seconds.\\\".format(end - start))\\n\",\n    \"    return f1_score(target.values, y_pred, pos_label='yes')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Create the parameters list you wish to tune\\n\",\n    \"parameters = { \\\"penalty\\\":[\\\"l2\\\",\\\"l1\\\"], \\n\",\n    \"              # \\\"tol\\\":[0.00001, 0.0001, 0.001, 0.1, 1], \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"              }\\n\",\n    \"\\n\",\n    \"# TODO: Initialize the classifier\\n\",\n    \"clf = LogisticRegression()\\n\",\n    \"\\n\",\n    \"# TODO: Make an f1 scoring function using 'make_scorer' \\n\",\n    \"f1_scorer = make_scorer(f1_score, pos_label='yes')\\n\",\n    \"\\n\",\n    \"# TODO: Perform grid search on the classifier using the f1_scorer as the scoring method\\n\",\n    \"grid_obj = GridSearchCV(clf, parameters, scoring=f1_scorer)\\n\",\n    \"\\n\",\n    \"# TODO: Fit the grid search object to the training data and find the optimal parameters\\n\",\n    \"grid_obj = grid_obj.fit(X_train, y_train)\\n\",\n    \"print(grid_obj)\\n\",\n    \"# Get the estimator\\n\",\n    \"clf = grid_obj.best_estimator_\\n\",\n    \"print(clf)\\n\",\n    \"\\n\",\n    \"# Report the final F1 score for training and testing after parameter tuning\\n\",\n    \"print(\\\"Tuned model has a training F1 score of {:.4f}.\\\".format(predict_labels(clf, X_train, y_train)))\\n\",\n    \"print(\\\"Tuned model has a testing F1 score of {:.4f}.\\\".format(predict_labels(clf, X_test, y_test)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 5 - Final F<sub>1</sub> Score\\n\",\n    \"*What is the final model's F<sub>1</sub> score for training and testing? How does that score compare to the untuned model?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer: **\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attempt</th><th>F1 train score</th><th>F1 test score</th>\\n\",\n    \"<tr><td>1 (allow \\\"penalty\\\" and \\\"C\\\" to vary)</td><td>0.8288</td><td>0.7801</td></tr>\\n\",\n    \"<tr><td>2 (only allow \\\"C\\\" to vary)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"<tr><td>0 (untuned model)</td><td>0.8337</td><td>0.7883</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"- The train and test scores are both lower than the untuned version if I allow both \\\"penalty\\\" and \\\"C\\\" to vary.\\n\",\n    \"- If I only allow \\\"C\\\" to vary, GridSearchCV chooses \\\"C\\\"=1, which is the same as that of the untuned model. The train and test scores are thus the same as the untuned version.\\n\",\n    \"- Why would GridSearchCV pick `penalty=\\\"l1\\\"` if `penalty=\\\"l2\\\"` produces better training F1 scores (all other factors held constant)?\\n\",\n    \"    - One hypothesis was that it might be maximising another metric. This was not the case. I also printed the accuracy score and found that when I allowed GridSearchCV to choose the \\\"penalty\\\" and \\\"C\\\" values (as opposed to only \\\"C\\\"), the accuracy score was lower.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Note: We need to be wary of optimising for the testing set's F1 score. The test set is supposed to be a stand-in for future cases (generalising).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 1\\n\",\n    \"parameters = {\\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"              \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"             \\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.746666666667\\n\",\n    \"Made predictions in 0.0047 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8288.\\n\",\n    \"Score:  0.673684210526\\n\",\n    \"Made predictions in 0.0006 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7801.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Try 2\\n\",\n    \"parameters = {# \\\"penalty\\\":(\\\"l1\\\",\\\"l2\\\"), \\n\",\n    \"               \\\"C\\\":[1,10,100,1000],\\n\",\n    \"             }\\n\",\n    \"\\n\",\n    \"LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\\n\",\n    \"          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\\n\",\n    \"          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\\n\",\n    \"          verbose=0, warm_start=False)\\n\",\n    \"Score:  0.756666666667\\n\",\n    \"Made predictions in 0.0008 seconds.\\n\",\n    \"Tuned model has a training F1 score of 0.8337.\\n\",\n    \"Score:  0.694736842105\\n\",\n    \"Made predictions in 0.0004 seconds.\\n\",\n    \"Tuned model has a testing F1 score of 0.7883.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p3-creating-customer-segments/.ipynb_checkpoints/customer_segments-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Unsupervised Learning\\n\",\n    \"## Project 3: Creating Customer Segments\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the third project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting Started\\n\",\n    \"\\n\",\n    \"In this project, you will analyze a dataset containing data on various customers' annual spending amounts (reported in *monetary units*) of diverse product categories for internal structure. One goal of this project is to best describe the variation in the different types of customers that a wholesale distributor interacts with. Doing so would equip the distributor with insight into how to best structure their delivery service to meet the needs of each customer.\\n\",\n    \"\\n\",\n    \"The dataset for this project can be found on the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Wholesale+customers). For the purposes of this project, the features `'Channel'` and `'Region'` will be excluded in the analysis — with focus instead on the six product categories recorded for customers.\\n\",\n    \"\\n\",\n    \"Run the code block below to load the wholesale customers dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Wholesale customers dataset has 440 samples with 6 features each.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries necessary for this project\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import renders_py3 as rs\\n\",\n    \"from IPython.display import display # Allows the use of display() for DataFrames\\n\",\n    \"\\n\",\n    \"# Show matplotlib plots inline (nicely formatted in the notebook)\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the wholesale customers dataset\\n\",\n    \"try:\\n\",\n    \"    data = pd.read_csv(\\\"customers.csv\\\")\\n\",\n    \"    data.drop(['Region', 'Channel'], axis = 1, inplace = True)\\n\",\n    \"    print(\\\"Wholesale customers dataset has {} samples with {} features each.\\\".format(*data.shape))\\n\",\n    \"except:\\n\",\n    \"    print(\\\"Dataset could not be loaded. Is the dataset missing?\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Exploration\\n\",\n    \"In this section, you will begin exploring the data through visualizations and code to understand how each feature is related to the others. You will observe a statistical description of the dataset, consider the relevance of each feature, and select a few sample data points from the dataset which you will track through the course of this project.\\n\",\n    \"\\n\",\n    \"Run the code block below to observe a statistical description of the dataset. Note that the dataset is composed of six important product categories: **'Fresh'**, **'Milk'**, **'Grocery'**, **'Frozen'**, **'Detergents_Paper'**, and **'Delicatessen'**. Consider what each category represents in terms of products you could purchase.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>12000.297727</td>\\n\",\n       \"      <td>5796.265909</td>\\n\",\n       \"      <td>7951.277273</td>\\n\",\n       \"      <td>3071.931818</td>\\n\",\n       \"      <td>2881.493182</td>\\n\",\n       \"      <td>1524.870455</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>12647.328865</td>\\n\",\n       \"      <td>7380.377175</td>\\n\",\n       \"      <td>9503.162829</td>\\n\",\n       \"      <td>4854.673333</td>\\n\",\n       \"      <td>4767.854448</td>\\n\",\n       \"      <td>2820.105937</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>55.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>25.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>3127.750000</td>\\n\",\n       \"      <td>1533.000000</td>\\n\",\n       \"      <td>2153.000000</td>\\n\",\n       \"      <td>742.250000</td>\\n\",\n       \"      <td>256.750000</td>\\n\",\n       \"      <td>408.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>8504.000000</td>\\n\",\n       \"      <td>3627.000000</td>\\n\",\n       \"      <td>4755.500000</td>\\n\",\n       \"      <td>1526.000000</td>\\n\",\n       \"      <td>816.500000</td>\\n\",\n       \"      <td>965.500000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>16933.750000</td>\\n\",\n       \"      <td>7190.250000</td>\\n\",\n       \"      <td>10655.750000</td>\\n\",\n       \"      <td>3554.250000</td>\\n\",\n       \"      <td>3922.000000</td>\\n\",\n       \"      <td>1820.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>112151.000000</td>\\n\",\n       \"      <td>73498.000000</td>\\n\",\n       \"      <td>92780.000000</td>\\n\",\n       \"      <td>60869.000000</td>\\n\",\n       \"      <td>40827.000000</td>\\n\",\n       \"      <td>47943.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Fresh          Milk       Grocery        Frozen  \\\\\\n\",\n       \"count     440.000000    440.000000    440.000000    440.000000   \\n\",\n       \"mean    12000.297727   5796.265909   7951.277273   3071.931818   \\n\",\n       \"std     12647.328865   7380.377175   9503.162829   4854.673333   \\n\",\n       \"min         3.000000     55.000000      3.000000     25.000000   \\n\",\n       \"25%      3127.750000   1533.000000   2153.000000    742.250000   \\n\",\n       \"50%      8504.000000   3627.000000   4755.500000   1526.000000   \\n\",\n       \"75%     16933.750000   7190.250000  10655.750000   3554.250000   \\n\",\n       \"max    112151.000000  73498.000000  92780.000000  60869.000000   \\n\",\n       \"\\n\",\n       \"       Detergents_Paper  Delicatessen  \\n\",\n       \"count        440.000000    440.000000  \\n\",\n       \"mean        2881.493182   1524.870455  \\n\",\n       \"std         4767.854448   2820.105937  \\n\",\n       \"min            3.000000      3.000000  \\n\",\n       \"25%          256.750000    408.250000  \\n\",\n       \"50%          816.500000    965.500000  \\n\",\n       \"75%         3922.000000   1820.250000  \\n\",\n       \"max        40827.000000  47943.000000  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display a description of the dataset\\n\",\n    \"display(data.describe())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>12669</td>\\n\",\n       \"      <td>9656</td>\\n\",\n       \"      <td>7561</td>\\n\",\n       \"      <td>214</td>\\n\",\n       \"      <td>2674</td>\\n\",\n       \"      <td>1338</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>7057</td>\\n\",\n       \"      <td>9810</td>\\n\",\n       \"      <td>9568</td>\\n\",\n       \"      <td>1762</td>\\n\",\n       \"      <td>3293</td>\\n\",\n       \"      <td>1776</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>6353</td>\\n\",\n       \"      <td>8808</td>\\n\",\n       \"      <td>7684</td>\\n\",\n       \"      <td>2405</td>\\n\",\n       \"      <td>3516</td>\\n\",\n       \"      <td>7844</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>13265</td>\\n\",\n       \"      <td>1196</td>\\n\",\n       \"      <td>4221</td>\\n\",\n       \"      <td>6404</td>\\n\",\n       \"      <td>507</td>\\n\",\n       \"      <td>1788</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>22615</td>\\n\",\n       \"      <td>5410</td>\\n\",\n       \"      <td>7198</td>\\n\",\n       \"      <td>3915</td>\\n\",\n       \"      <td>1777</td>\\n\",\n       \"      <td>5185</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Fresh  Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0  12669  9656     7561     214              2674          1338\\n\",\n       \"1   7057  9810     9568    1762              3293          1776\\n\",\n       \"2   6353  8808     7684    2405              3516          7844\\n\",\n       \"3  13265  1196     4221    6404               507          1788\\n\",\n       \"4  22615  5410     7198    3915              1777          5185\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Selecting Samples\\n\",\n    \"To get a better understanding of the customers and how their data will transform through the analysis, it would be best to select a few sample data points and explore them in more detail. In the code block below, add **three** indices of your choice to the `indices` list which will represent the customers to track. It is suggested to try different sets of samples until you obtain customers that vary significantly from one another.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Chosen samples of wholesale customers dataset:\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>16117</td>\\n\",\n       \"      <td>46197</td>\\n\",\n       \"      <td>92780</td>\\n\",\n       \"      <td>1026</td>\\n\",\n       \"      <td>40827</td>\\n\",\n       \"      <td>2944</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>112151</td>\\n\",\n       \"      <td>29627</td>\\n\",\n       \"      <td>18148</td>\\n\",\n       \"      <td>16745</td>\\n\",\n       \"      <td>4948</td>\\n\",\n       \"      <td>8550</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>333</td>\\n\",\n       \"      <td>7021</td>\\n\",\n       \"      <td>15601</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>550</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   16117  46197    92780    1026             40827          2944\\n\",\n       \"1  112151  29627    18148   16745              4948          8550\\n\",\n       \"2       3    333     7021   15601                15           550\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Select three indices of your choice you wish to sample from the dataset\\n\",\n    \"indices = [85, 181, 338]\\n\",\n    \"\\n\",\n    \"# Create a DataFrame of the chosen samples\\n\",\n    \"samples = pd.DataFrame(data.loc[indices], columns = data.keys()).reset_index(drop = True)\\n\",\n    \"print(\\\"Chosen samples of wholesale customers dataset:\\\")\\n\",\n    \"display(samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1\\n\",\n    \"Consider the total purchase cost of each product category and the statistical description of the dataset above for your sample customers.  \\n\",\n    \"*What kind of establishment (customer) could each of the three samples you've chosen represent?*  \\n\",\n    \"**Hint:** Examples of establishments include places like markets, cafes, and retailers, among many others. Avoid using names for establishments, such as saying *\\\"McDonalds\\\"* when describing a sample customer as a restaurant.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"1. Index 85: Retailer\\n\",\n    \"    - Highest spending on (1) detergents and paper and (2) groceries (each) of all customers in dataset. (1) -> May have a large 'home goods' focus.\\n\",\n    \"    - Milk: Spends more than the median amount \\n\",\n    \"    - Frozen: Spends less than the median customer\\n\",\n    \"\\n\",\n    \"2. Index 181: Large market\\n\",\n    \"    - High spending on most product categories: 8000+ MUs spent on each of all food-related goods, nearly 5000 MUs spent on detergents and paper (highest quartile for spending in all good categories).\\n\",\n    \"    - Highest spending on fresh goods of all customers in dataset\\n\",\n    \"    - Focus on fresh goods, which means it likely has a large market component.\\n\",\n    \"    - Little emphasis on detergent and paper, which indicates it is unlikely to be a shopping mall type shop.\\n\",\n    \"\\n\",\n    \"3. Index 338: Restaurant\\n\",\n    \"    - Much smaller scale than the previous two customers discussed.\\n\",\n    \"        - Amount spent on Fresh is least in dataset.\\n\",\n    \"        - Spending on each of Milk, Detergents and Paper is in the bottom quartile.\\n\",\n    \"    - Needs groceries and frozen food to produce food for customers. May serve delicatessen type meats. Needs milk for coffee and tea.\\n\",\n    \"    - May be cheaper so it doesn't need much fresh food.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Relevance\\n\",\n    \"One interesting thought to consider is if one (or more) of the six product categories is actually relevant for understanding customer purchasing. That is to say, is it possible to determine whether customers purchasing some amount of one category of products will necessarily purchase some proportional amount of another category of products? We can make this determination quite easily by training a supervised regression learner on a subset of the data with one feature removed, and then score how well that model can predict the removed feature.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign `new_data` a copy of the data by removing a feature of your choice using the `DataFrame.drop` function.\\n\",\n    \" - Use `sklearn.cross_validation.train_test_split` to split the dataset into training and testing sets.\\n\",\n    \"   - Use the removed feature as your target label. Set a `test_size` of `0.25` and set a `random_state`.\\n\",\n    \" - Import a decision tree regressor, set a `random_state`, and fit the learner to the training data.\\n\",\n    \" - Report the prediction score of the testing set using the regressor's `score` function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Score of prediction on test set:  0.602801978878\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature\\n\",\n    \"new_data = data.drop(\\\"Grocery\\\", axis=1)\\n\",\n    \"new_data\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Split the data into training and testing sets using the given feature as the target\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(new_data, data[\\\"Grocery\\\"], test_size=0.25, random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Create a decision tree regressor and fit it to the training set\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"regressor = DecisionTreeRegressor(random_state=0).fit(X_train, y_train)\\n\",\n    \"\\n\",\n    \"# TODO: Report the score of the prediction using the testing set\\n\",\n    \"score = regressor.score(X_test, y_test)\\n\",\n    \"print(\\\"Score of prediction on test set: \\\", score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2\\n\",\n    \"*Which feature did you attempt to predict? What was the reported prediction score? Is this feature is necessary for identifying customers' spending habits?*  \\n\",\n    \"**Hint:** The coefficient of determination, `R^2`, is scored between 0 and 1, with 1 being a perfect fit. A negative `R^2` implies the model fails to fit the data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- I attempted to predict the **`Grocery`** feature. \\n\",\n    \"- The reported prediction score was **0.6028**. \\n\",\n    \"- This feature is **not absolutely necessary** to identify customers' spending habits because it appears loosely correlated with the other five features, but the `R^2` score is not sufficiently high for us to be confident in dropping it. \\n\",\n    \"\\n\",\n    \"I compared `Grocery`'s `R^2` score with the other features' `R^2` scores below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature is:  Fresh\\n\",\n      \"Score of prediction on test set:  -0.252469807688\\n\",\n      \"Feature is:  Milk\\n\",\n      \"Score of prediction on test set:  0.365725292736\\n\",\n      \"Feature is:  Grocery\\n\",\n      \"Score of prediction on test set:  0.602801978878\\n\",\n      \"Feature is:  Frozen\\n\",\n      \"Score of prediction on test set:  0.253973446697\\n\",\n      \"Feature is:  Detergents_Paper\\n\",\n      \"Score of prediction on test set:  0.728655181254\\n\",\n      \"Feature is:  Delicatessen\\n\",\n      \"Score of prediction on test set:  -11.6636871594\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# For experimentation's sake\\n\",\n    \"features_list = [\\\"Fresh\\\",\\\"Milk\\\",\\\"Grocery\\\",\\\"Frozen\\\",\\\"Detergents_Paper\\\",\\\"Delicatessen\\\"]\\n\",\n    \"\\n\",\n    \"for feature in features_list:\\n\",\n    \"    # TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature\\n\",\n    \"    new_data = data.drop(feature, axis=1)\\n\",\n    \"    new_data\\n\",\n    \"    print(\\\"Feature is: \\\", feature)\\n\",\n    \"\\n\",\n    \"    # TODO: Split the data into training and testing sets using the given feature as the target\\n\",\n    \"    X_train, X_test, y_train, y_test = train_test_split(new_data, data[feature], test_size=0.25, random_state=0)\\n\",\n    \"\\n\",\n    \"    # TODO: Create a decision tree regressor and fit it to the training set\\n\",\n    \"    regressor = DecisionTreeRegressor(random_state=0).fit(X_train, y_train)\\n\",\n    \"\\n\",\n    \"    # TODO: Report the score of the prediction using the testing set\\n\",\n    \"    score = regressor.score(X_test, y_test)\\n\",\n    \"    print(\\\"Score of prediction on test set: \\\", score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**:\\n\",\n    \"- Notice that the Delicatessen R^2 score is very negative and the Fresh R^2 score is quite negative, so those definitely cannot be dropped as the model fails to fit the data. \\n\",\n    \"- The feature that might be okay to remove is Detergents_Paper, followed by Grocery. \\n\",\n    \"- Milk and Frozen are loosely correlated with the others but not enough to say much.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize Feature Distributions\\n\",\n    \"To get a better understanding of the dataset, we can construct a scatter matrix of each of the six product features present in the data. If you found that the feature you attempted to predict above is relevant for identifying a specific customer, then the scatter matrix below may not show any correlation between that feature and the others. Conversely, if you believe that feature is not relevant for identifying a specific customer, the scatter matrix might show a correlation between that feature and another feature in the data. Run the code block below to produce a scatter matrix.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nNy7+WPF7swAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c66b38>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Produce a scatter matrix for each pair of features in the data\\n\",\n    \"pd.scatter_matrix(data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3\\n\",\n    \"*Are there any pairs of features which exhibit some degree of correlation? Does this confirm or deny your suspicions about the relevance of the feature you attempted to predict? How is the data for those features distributed?*  \\n\",\n    \"**Hint:** Is the data normally distributed? Where do most of the data points lie? \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"* The pair (`Detergents_Paper`, `Grocery`) exhibits a high degree of correlation. The pairs (`Milk`,`Grocery`) and (`Milk`,`Detergents_Paper`) also exhibit some degree of correlation.\\n\",\n    \"* This confirms that `Grocery` might not be that relevant (necessary).\\n\",\n    \"* The data is not normally distributed - it is positively skewed. The features more closely resemble the log-normal distribution.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Preprocessing\\n\",\n    \"In this section, you will preprocess the data to create a better representation of customers by performing a scaling on the data and detecting (and optionally removing) outliers. Preprocessing data is often times a critical step in assuring that results you obtain from your analysis are significant and meaningful.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Scaling\\n\",\n    \"If data is not normally distributed, especially if the mean and median vary significantly (indicating a large skew), it is most [often appropriate](http://econbrowser.com/archives/2014/02/use-of-logarithms-in-economics) to apply a non-linear scaling — particularly for financial data. One way to achieve this scaling is by using a [Box-Cox test](http://scipy.github.io/devdocs/generated/scipy.stats.boxcox.html), which calculates the best power transformation of the data that reduces skewness. A simpler approach which can work in most cases would be applying the natural logarithm.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign a copy of the data to `log_data` after applying a logarithm scaling. Use the `np.log` function for this.\\n\",\n    \" - Assign a copy of the sample data to `log_samples` after applying a logrithm scaling. Again, use `np.log`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11e1bd438>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Scale the data using the natural logarithm\\n\",\n    \"log_data = np.log(data)\\n\",\n    \"\\n\",\n    \"# TODO: Scale the sample data using the natural logarithm\\n\",\n    \"log_samples = np.log(samples)\\n\",\n    \"\\n\",\n    \"# Produce a scatter matrix for each pair of newly-transformed features\\n\",\n    \"pd.scatter_matrix(log_data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"After applying a natural logarithm scaling to the data, the distribution of each feature should appear much more normal. For any pairs of features you may have identified earlier as being correlated, observe here whether that correlation is still present (and whether it is now stronger or weaker than before).\\n\",\n    \"\\n\",\n    \"* The correlations are still present and appear stronger than before.\\n\",\n    \"\\n\",\n    \"Run the code below to see how the sample data has changed after having the natural logarithm applied to it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>9.687630</td>\\n\",\n       \"      <td>10.740670</td>\\n\",\n       \"      <td>11.437986</td>\\n\",\n       \"      <td>6.933423</td>\\n\",\n       \"      <td>10.617099</td>\\n\",\n       \"      <td>7.987524</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>11.627601</td>\\n\",\n       \"      <td>10.296441</td>\\n\",\n       \"      <td>9.806316</td>\\n\",\n       \"      <td>9.725855</td>\\n\",\n       \"      <td>8.506739</td>\\n\",\n       \"      <td>9.053687</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>5.808142</td>\\n\",\n       \"      <td>8.856661</td>\\n\",\n       \"      <td>9.655090</td>\\n\",\n       \"      <td>2.708050</td>\\n\",\n       \"      <td>6.309918</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"       Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   9.687630  10.740670  11.437986  6.933423         10.617099      7.987524\\n\",\n       \"1  11.627601  10.296441   9.806316  9.725855          8.506739      9.053687\\n\",\n       \"2   1.098612   5.808142   8.856661  9.655090          2.708050      6.309918\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the log-transformed sample data\\n\",\n    \"display(log_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Outlier Detection\\n\",\n    \"Detecting outliers in the data is extremely important in the data preprocessing step of any analysis. The presence of outliers can often skew results which take into consideration these data points. There are many \\\"rules of thumb\\\" for what constitutes an outlier in a dataset. Here, we will use [Tukey's Method for identfying outliers](http://datapigtechnologies.com/blog/index.php/highlighting-outliers-in-your-data-with-the-tukey-method/): An *outlier step* is calculated as 1.5 times the interquartile range (IQR). A data point with a feature that is beyond an outlier step outside of the IQR for that feature is considered abnormal.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the value of the 25th percentile for the given feature to `Q1`. Use `np.percentile` for this.\\n\",\n    \" - Assign the value of the 75th percentile for the given feature to `Q3`. Again, use `np.percentile`.\\n\",\n    \" - Assign the calculation of an outlier step for the given feature to `step`.\\n\",\n    \" - Optionally remove data points from the dataset by adding indices to the `outliers` list.\\n\",\n    \"\\n\",\n    \"**NOTE:** If you choose to remove any outliers, ensure that the sample data does not contain any of these points!  \\n\",\n    \"Once you have performed this implementation, the dataset will be stored in the variable `good_data`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Fresh':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>4.442651</td>\\n\",\n       \"      <td>9.950323</td>\\n\",\n       \"      <td>10.732651</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"      <td>10.095388</td>\\n\",\n       \"      <td>7.260523</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>7.335634</td>\\n\",\n       \"      <td>8.911530</td>\\n\",\n       \"      <td>5.164786</td>\\n\",\n       \"      <td>8.151333</td>\\n\",\n       \"      <td>3.295837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>81</th>\\n\",\n       \"      <td>5.389072</td>\\n\",\n       \"      <td>9.163249</td>\\n\",\n       \"      <td>9.575192</td>\\n\",\n       \"      <td>5.645447</td>\\n\",\n       \"      <td>8.964184</td>\\n\",\n       \"      <td>5.049856</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>95</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>7.979339</td>\\n\",\n       \"      <td>8.740657</td>\\n\",\n       \"      <td>6.086775</td>\\n\",\n       \"      <td>5.407172</td>\\n\",\n       \"      <td>6.563856</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>96</th>\\n\",\n       \"      <td>3.135494</td>\\n\",\n       \"      <td>7.869402</td>\\n\",\n       \"      <td>9.001839</td>\\n\",\n       \"      <td>4.976734</td>\\n\",\n       \"      <td>8.262043</td>\\n\",\n       \"      <td>5.379897</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>4.941642</td>\\n\",\n       \"      <td>9.087834</td>\\n\",\n       \"      <td>8.248791</td>\\n\",\n       \"      <td>4.955827</td>\\n\",\n       \"      <td>6.967909</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>171</th>\\n\",\n       \"      <td>5.298317</td>\\n\",\n       \"      <td>10.160530</td>\\n\",\n       \"      <td>9.894245</td>\\n\",\n       \"      <td>6.478510</td>\\n\",\n       \"      <td>9.079434</td>\\n\",\n       \"      <td>8.740337</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>193</th>\\n\",\n       \"      <td>5.192957</td>\\n\",\n       \"      <td>8.156223</td>\\n\",\n       \"      <td>9.917982</td>\\n\",\n       \"      <td>6.865891</td>\\n\",\n       \"      <td>8.633731</td>\\n\",\n       \"      <td>6.501290</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>218</th>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"      <td>8.923191</td>\\n\",\n       \"      <td>9.629380</td>\\n\",\n       \"      <td>7.158514</td>\\n\",\n       \"      <td>8.475746</td>\\n\",\n       \"      <td>8.759669</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>304</th>\\n\",\n       \"      <td>5.081404</td>\\n\",\n       \"      <td>8.917311</td>\\n\",\n       \"      <td>10.117510</td>\\n\",\n       \"      <td>6.424869</td>\\n\",\n       \"      <td>9.374413</td>\\n\",\n       \"      <td>7.787382</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>305</th>\\n\",\n       \"      <td>5.493061</td>\\n\",\n       \"      <td>9.468001</td>\\n\",\n       \"      <td>9.088399</td>\\n\",\n       \"      <td>6.683361</td>\\n\",\n       \"      <td>8.271037</td>\\n\",\n       \"      <td>5.351858</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>338</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>5.808142</td>\\n\",\n       \"      <td>8.856661</td>\\n\",\n       \"      <td>9.655090</td>\\n\",\n       \"      <td>2.708050</td>\\n\",\n       \"      <td>6.309918</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>353</th>\\n\",\n       \"      <td>4.762174</td>\\n\",\n       \"      <td>8.742574</td>\\n\",\n       \"      <td>9.961898</td>\\n\",\n       \"      <td>5.429346</td>\\n\",\n       \"      <td>9.069007</td>\\n\",\n       \"      <td>7.013016</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>355</th>\\n\",\n       \"      <td>5.247024</td>\\n\",\n       \"      <td>6.588926</td>\\n\",\n       \"      <td>7.606885</td>\\n\",\n       \"      <td>5.501258</td>\\n\",\n       \"      <td>5.214936</td>\\n\",\n       \"      <td>4.844187</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>357</th>\\n\",\n       \"      <td>3.610918</td>\\n\",\n       \"      <td>7.150701</td>\\n\",\n       \"      <td>10.011086</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>8.816853</td>\\n\",\n       \"      <td>4.700480</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>412</th>\\n\",\n       \"      <td>4.574711</td>\\n\",\n       \"      <td>8.190077</td>\\n\",\n       \"      <td>9.425452</td>\\n\",\n       \"      <td>4.584967</td>\\n\",\n       \"      <td>7.996317</td>\\n\",\n       \"      <td>4.127134</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"65   4.442651   9.950323  10.732651  3.583519         10.095388      7.260523\\n\",\n       \"66   2.197225   7.335634   8.911530  5.164786          8.151333      3.295837\\n\",\n       \"81   5.389072   9.163249   9.575192  5.645447          8.964184      5.049856\\n\",\n       \"95   1.098612   7.979339   8.740657  6.086775          5.407172      6.563856\\n\",\n       \"96   3.135494   7.869402   9.001839  4.976734          8.262043      5.379897\\n\",\n       \"128  4.941642   9.087834   8.248791  4.955827          6.967909      1.098612\\n\",\n       \"171  5.298317  10.160530   9.894245  6.478510          9.079434      8.740337\\n\",\n       \"193  5.192957   8.156223   9.917982  6.865891          8.633731      6.501290\\n\",\n       \"218  2.890372   8.923191   9.629380  7.158514          8.475746      8.759669\\n\",\n       \"304  5.081404   8.917311  10.117510  6.424869          9.374413      7.787382\\n\",\n       \"305  5.493061   9.468001   9.088399  6.683361          8.271037      5.351858\\n\",\n       \"338  1.098612   5.808142   8.856661  9.655090          2.708050      6.309918\\n\",\n       \"353  4.762174   8.742574   9.961898  5.429346          9.069007      7.013016\\n\",\n       \"355  5.247024   6.588926   7.606885  5.501258          5.214936      4.844187\\n\",\n       \"357  3.610918   7.150701  10.011086  4.919981          8.816853      4.700480\\n\",\n       \"412  4.574711   8.190077   9.425452  4.584967          7.996317      4.127134\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Milk':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>86</th>\\n\",\n       \"      <td>10.039983</td>\\n\",\n       \"      <td>11.205013</td>\\n\",\n       \"      <td>10.377047</td>\\n\",\n       \"      <td>6.894670</td>\\n\",\n       \"      <td>9.906981</td>\\n\",\n       \"      <td>6.805723</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>98</th>\\n\",\n       \"      <td>6.220590</td>\\n\",\n       \"      <td>4.718499</td>\\n\",\n       \"      <td>6.656727</td>\\n\",\n       \"      <td>6.796824</td>\\n\",\n       \"      <td>4.025352</td>\\n\",\n       \"      <td>4.882802</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>356</th>\\n\",\n       \"      <td>10.029503</td>\\n\",\n       \"      <td>4.897840</td>\\n\",\n       \"      <td>5.384495</td>\\n\",\n       \"      <td>8.057377</td>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>6.306275</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"86   10.039983  11.205013  10.377047  6.894670          9.906981      6.805723\\n\",\n       \"98    6.220590   4.718499   6.656727  6.796824          4.025352      4.882802\\n\",\n       \"154   6.432940   4.007333   4.919981  4.317488          1.945910      2.079442\\n\",\n       \"356  10.029503   4.897840   5.384495  8.057377          2.197225      6.306275\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Grocery':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>9.923192</td>\\n\",\n       \"      <td>7.036148</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>8.390949</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>6.882437</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh      Milk   Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"75   9.923192  7.036148  1.098612  8.390949          1.098612      6.882437\\n\",\n       \"154  6.432940  4.007333  4.919981  4.317488          1.945910      2.079442\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Frozen':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>38</th>\\n\",\n       \"      <td>8.431853</td>\\n\",\n       \"      <td>9.663261</td>\\n\",\n       \"      <td>9.723703</td>\\n\",\n       \"      <td>3.496508</td>\\n\",\n       \"      <td>8.847360</td>\\n\",\n       \"      <td>6.070738</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>57</th>\\n\",\n       \"      <td>8.597297</td>\\n\",\n       \"      <td>9.203618</td>\\n\",\n       \"      <td>9.257892</td>\\n\",\n       \"      <td>3.637586</td>\\n\",\n       \"      <td>8.932213</td>\\n\",\n       \"      <td>7.156177</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>4.442651</td>\\n\",\n       \"      <td>9.950323</td>\\n\",\n       \"      <td>10.732651</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"      <td>10.095388</td>\\n\",\n       \"      <td>7.260523</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>145</th>\\n\",\n       \"      <td>10.000569</td>\\n\",\n       \"      <td>9.034080</td>\\n\",\n       \"      <td>10.457143</td>\\n\",\n       \"      <td>3.737670</td>\\n\",\n       \"      <td>9.440738</td>\\n\",\n       \"      <td>8.396155</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>175</th>\\n\",\n       \"      <td>7.759187</td>\\n\",\n       \"      <td>8.967632</td>\\n\",\n       \"      <td>9.382106</td>\\n\",\n       \"      <td>3.951244</td>\\n\",\n       \"      <td>8.341887</td>\\n\",\n       \"      <td>7.436617</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>264</th>\\n\",\n       \"      <td>6.978214</td>\\n\",\n       \"      <td>9.177714</td>\\n\",\n       \"      <td>9.645041</td>\\n\",\n       \"      <td>4.110874</td>\\n\",\n       \"      <td>8.696176</td>\\n\",\n       \"      <td>7.142827</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>325</th>\\n\",\n       \"      <td>10.395650</td>\\n\",\n       \"      <td>9.728181</td>\\n\",\n       \"      <td>9.519735</td>\\n\",\n       \"      <td>11.016479</td>\\n\",\n       \"      <td>7.148346</td>\\n\",\n       \"      <td>8.632128</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>420</th>\\n\",\n       \"      <td>8.402007</td>\\n\",\n       \"      <td>8.569026</td>\\n\",\n       \"      <td>9.490015</td>\\n\",\n       \"      <td>3.218876</td>\\n\",\n       \"      <td>8.827321</td>\\n\",\n       \"      <td>7.239215</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>429</th>\\n\",\n       \"      <td>9.060331</td>\\n\",\n       \"      <td>7.467371</td>\\n\",\n       \"      <td>8.183118</td>\\n\",\n       \"      <td>3.850148</td>\\n\",\n       \"      <td>4.430817</td>\\n\",\n       \"      <td>7.824446</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>439</th>\\n\",\n       \"      <td>7.932721</td>\\n\",\n       \"      <td>7.437206</td>\\n\",\n       \"      <td>7.828038</td>\\n\",\n       \"      <td>4.174387</td>\\n\",\n       \"      <td>6.167516</td>\\n\",\n       \"      <td>3.951244</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh      Milk    Grocery     Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"38    8.431853  9.663261   9.723703   3.496508          8.847360      6.070738\\n\",\n       \"57    8.597297  9.203618   9.257892   3.637586          8.932213      7.156177\\n\",\n       \"65    4.442651  9.950323  10.732651   3.583519         10.095388      7.260523\\n\",\n       \"145  10.000569  9.034080  10.457143   3.737670          9.440738      8.396155\\n\",\n       \"175   7.759187  8.967632   9.382106   3.951244          8.341887      7.436617\\n\",\n       \"264   6.978214  9.177714   9.645041   4.110874          8.696176      7.142827\\n\",\n       \"325  10.395650  9.728181   9.519735  11.016479          7.148346      8.632128\\n\",\n       \"420   8.402007  8.569026   9.490015   3.218876          8.827321      7.239215\\n\",\n       \"429   9.060331  7.467371   8.183118   3.850148          4.430817      7.824446\\n\",\n       \"439   7.932721  7.437206   7.828038   4.174387          6.167516      3.951244\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Detergents_Paper':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>9.923192</td>\\n\",\n       \"      <td>7.036148</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>8.390949</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>6.882437</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>161</th>\\n\",\n       \"      <td>9.428190</td>\\n\",\n       \"      <td>6.291569</td>\\n\",\n       \"      <td>5.645447</td>\\n\",\n       \"      <td>6.995766</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>7.711101</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh      Milk   Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"75   9.923192  7.036148  1.098612  8.390949          1.098612      6.882437\\n\",\n       \"161  9.428190  6.291569  5.645447  6.995766          1.098612      7.711101\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Delicatessen':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>7.335634</td>\\n\",\n       \"      <td>8.911530</td>\\n\",\n       \"      <td>5.164786</td>\\n\",\n       \"      <td>8.151333</td>\\n\",\n       \"      <td>3.295837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>109</th>\\n\",\n       \"      <td>7.248504</td>\\n\",\n       \"      <td>9.724899</td>\\n\",\n       \"      <td>10.274568</td>\\n\",\n       \"      <td>6.511745</td>\\n\",\n       \"      <td>6.728629</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>4.941642</td>\\n\",\n       \"      <td>9.087834</td>\\n\",\n       \"      <td>8.248791</td>\\n\",\n       \"      <td>4.955827</td>\\n\",\n       \"      <td>6.967909</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>137</th>\\n\",\n       \"      <td>8.034955</td>\\n\",\n       \"      <td>8.997147</td>\\n\",\n       \"      <td>9.021840</td>\\n\",\n       \"      <td>6.493754</td>\\n\",\n       \"      <td>6.580639</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>142</th>\\n\",\n       \"      <td>10.519646</td>\\n\",\n       \"      <td>8.875147</td>\\n\",\n       \"      <td>9.018332</td>\\n\",\n       \"      <td>8.004700</td>\\n\",\n       \"      <td>2.995732</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>183</th>\\n\",\n       \"      <td>10.514529</td>\\n\",\n       \"      <td>10.690808</td>\\n\",\n       \"      <td>9.911952</td>\\n\",\n       \"      <td>10.505999</td>\\n\",\n       \"      <td>5.476464</td>\\n\",\n       \"      <td>10.777768</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>184</th>\\n\",\n       \"      <td>5.789960</td>\\n\",\n       \"      <td>6.822197</td>\\n\",\n       \"      <td>8.457443</td>\\n\",\n       \"      <td>4.304065</td>\\n\",\n       \"      <td>5.811141</td>\\n\",\n       \"      <td>2.397895</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>187</th>\\n\",\n       \"      <td>7.798933</td>\\n\",\n       \"      <td>8.987447</td>\\n\",\n       \"      <td>9.192075</td>\\n\",\n       \"      <td>8.743372</td>\\n\",\n       \"      <td>8.148735</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>203</th>\\n\",\n       \"      <td>6.368187</td>\\n\",\n       \"      <td>6.529419</td>\\n\",\n       \"      <td>7.703459</td>\\n\",\n       \"      <td>6.150603</td>\\n\",\n       \"      <td>6.860664</td>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>233</th>\\n\",\n       \"      <td>6.871091</td>\\n\",\n       \"      <td>8.513988</td>\\n\",\n       \"      <td>8.106515</td>\\n\",\n       \"      <td>6.842683</td>\\n\",\n       \"      <td>6.013715</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>285</th>\\n\",\n       \"      <td>10.602965</td>\\n\",\n       \"      <td>6.461468</td>\\n\",\n       \"      <td>8.188689</td>\\n\",\n       \"      <td>6.948897</td>\\n\",\n       \"      <td>6.077642</td>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>289</th>\\n\",\n       \"      <td>10.663966</td>\\n\",\n       \"      <td>5.655992</td>\\n\",\n       \"      <td>6.154858</td>\\n\",\n       \"      <td>7.235619</td>\\n\",\n       \"      <td>3.465736</td>\\n\",\n       \"      <td>3.091042</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>343</th>\\n\",\n       \"      <td>7.431892</td>\\n\",\n       \"      <td>8.848509</td>\\n\",\n       \"      <td>10.177932</td>\\n\",\n       \"      <td>7.283448</td>\\n\",\n       \"      <td>9.646593</td>\\n\",\n       \"      <td>3.610918</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh       Milk    Grocery     Frozen  Detergents_Paper  \\\\\\n\",\n       \"66    2.197225   7.335634   8.911530   5.164786          8.151333   \\n\",\n       \"109   7.248504   9.724899  10.274568   6.511745          6.728629   \\n\",\n       \"128   4.941642   9.087834   8.248791   4.955827          6.967909   \\n\",\n       \"137   8.034955   8.997147   9.021840   6.493754          6.580639   \\n\",\n       \"142  10.519646   8.875147   9.018332   8.004700          2.995732   \\n\",\n       \"154   6.432940   4.007333   4.919981   4.317488          1.945910   \\n\",\n       \"183  10.514529  10.690808   9.911952  10.505999          5.476464   \\n\",\n       \"184   5.789960   6.822197   8.457443   4.304065          5.811141   \\n\",\n       \"187   7.798933   8.987447   9.192075   8.743372          8.148735   \\n\",\n       \"203   6.368187   6.529419   7.703459   6.150603          6.860664   \\n\",\n       \"233   6.871091   8.513988   8.106515   6.842683          6.013715   \\n\",\n       \"285  10.602965   6.461468   8.188689   6.948897          6.077642   \\n\",\n       \"289  10.663966   5.655992   6.154858   7.235619          3.465736   \\n\",\n       \"343   7.431892   8.848509  10.177932   7.283448          9.646593   \\n\",\n       \"\\n\",\n       \"     Delicatessen  \\n\",\n       \"66       3.295837  \\n\",\n       \"109      1.098612  \\n\",\n       \"128      1.098612  \\n\",\n       \"137      3.583519  \\n\",\n       \"142      1.098612  \\n\",\n       \"154      2.079442  \\n\",\n       \"183     10.777768  \\n\",\n       \"184      2.397895  \\n\",\n       \"187      1.098612  \\n\",\n       \"203      2.890372  \\n\",\n       \"233      1.945910  \\n\",\n       \"285      2.890372  \\n\",\n       \"289      3.091042  \\n\",\n       \"343      3.610918  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"potential_outliers = []\\n\",\n    \"\\n\",\n    \"# For each feature find the data points with extreme high or low values\\n\",\n    \"for feature in log_data.keys():\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q1 (25th percentile of the data) for the given feature\\n\",\n    \"    Q1 = np.percentile(log_data[feature],25)\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q3 (75th percentile of the data) for the given feature\\n\",\n    \"    Q3 = np.percentile(log_data[feature],75)\\n\",\n    \"    \\n\",\n    \"    # TODO: Use the interquartile range to calculate an outlier step (1.5 times the interquartile range)\\n\",\n    \"    step = 1.5 * (Q3-Q1)\\n\",\n    \"    \\n\",\n    \"    # Display the outliers\\n\",\n    \"    print(\\\"Data points considered outliers for the feature '{}':\\\".format(feature))\\n\",\n    \"    display(log_data[~((log_data[feature] >= Q1 - step) & (log_data[feature] <= Q3 + step))])\\n\",\n    \"    list = log_data[~((log_data[feature] >= Q1 - step) & (log_data[feature] <= Q3 + step))].index.tolist()\\n\",\n    \"    potential_outliers.append(list)\\n\",\n    \"    \\n\",\n    \"# OPTIONAL: Select the indices for data points you wish to remove\\n\",\n    \"outliers  = []\\n\",\n    \"\\n\",\n    \"# Remove the outliers, if any were specified\\n\",\n    \"good_data = log_data.drop(log_data.index[outliers]).reset_index(drop = True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 4\\n\",\n    \"*Are there any data points considered outliers for more than one feature based on the definition above? Should these data points be removed from the dataset? If any data points were added to the `outliers` list to be removed, explain why.* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"Datapoints considered outliers for more than one feature: rows 65, 66, 75, 128, 154. (Rough work below.)\\n\",\n    \"\\n\",\n    \"These data points look a bit suspicious. E.g. Row 75 spent 3 monetary units on Grocery and Detergents_Paper but spent a lot more (up to around 20k in Fresh) in other categories.\\n\",\n    \"\\n\",\n    \"But they should not be removed from the dataset. They could still be genuine datapoints because it is plausible shops don't use much of these categories of goods. (Detergents_Paper seems less plausible though.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 67,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>85</td>\\n\",\n       \"      <td>20959</td>\\n\",\n       \"      <td>45828</td>\\n\",\n       \"      <td>36</td>\\n\",\n       \"      <td>24231</td>\\n\",\n       \"      <td>1423</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>1534</td>\\n\",\n       \"      <td>7417</td>\\n\",\n       \"      <td>175</td>\\n\",\n       \"      <td>3468</td>\\n\",\n       \"      <td>27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>20398</td>\\n\",\n       \"      <td>1137</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4407</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>975</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>140</td>\\n\",\n       \"      <td>8847</td>\\n\",\n       \"      <td>3823</td>\\n\",\n       \"      <td>142</td>\\n\",\n       \"      <td>1062</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>622</td>\\n\",\n       \"      <td>55</td>\\n\",\n       \"      <td>137</td>\\n\",\n       \"      <td>75</td>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>8</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"     Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"65      85  20959    45828      36             24231          1423\\n\",\n       \"66       9   1534     7417     175              3468            27\\n\",\n       \"75   20398   1137        3    4407                 3           975\\n\",\n       \"128    140   8847     3823     142              1062             3\\n\",\n       \"154    622     55      137      75                 7             8\"\n      ]\n     },\n     \"execution_count\": 67,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.iloc[[65,66,75,128,154]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[[65, 66, 81, 95, 96, 128, 171, 193, 218, 304, 305, 338, 353, 355, 357, 412],\\n\",\n       \" [86, 98, 154, 356],\\n\",\n       \" [75, 154],\\n\",\n       \" [38, 57, 65, 145, 175, 264, 325, 420, 429, 439],\\n\",\n       \" [75, 161],\\n\",\n       \" [66, 109, 128, 137, 142, 154, 183, 184, 187, 203, 233, 285, 289, 343]]\"\n      ]\n     },\n     \"execution_count\": 46,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Rough work\\n\",\n    \"potential_outliers\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"{128: {0, 5}, 65: {0, 3}, 66: {0, 5}, 75: {2, 4}, 154: {1, 2, 5}}\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"mult_outlier_indices_dict = {}\\n\",\n    \"\\n\",\n    \"for i in range(len(potential_outliers)):\\n\",\n    \"    current_feature_ol = potential_outliers[i]\\n\",\n    \"    for po in current_feature_ol:\\n\",\n    \"        mult_ol = set()\\n\",\n    \"        mult_ol.add(i)\\n\",\n    \"        if po not in mult_outlier_indices_dict.keys():\\n\",\n    \"            for other_feat in range(i, len(potential_outliers)):\\n\",\n    \"                if po in potential_outliers[other_feat]:\\n\",\n    \"                    mult_ol.add(other_feat)\\n\",\n    \"        if len(mult_ol) > 1:\\n\",\n    \"            mult_outlier_indices_dict[po] = mult_ol\\n\",\n    \"            \\n\",\n    \"print(mult_outlier_indices_dict)\\n\",\n    \"\\n\",\n    \"for v in mult_outlier_indices_dict\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Feature Transformation\\n\",\n    \"In this section you will use principal component analysis (PCA) to draw conclusions about the underlying structure of the wholesale customer data. Since using PCA on a dataset calculates the dimensions which best maximize variance, we will find which compound combinations of features best describe customers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Implementation: PCA\\n\",\n    \"\\n\",\n    \"Now that the data has been scaled to a more normal distribution and has had any necessary outliers removed, we can now apply PCA to the `good_data` to discover which dimensions about the data best maximize the variance of features involved. In addition to finding these dimensions, PCA will also report the *explained variance ratio* of each dimension — how much variance within the data is explained by that dimension alone. Note that a component (dimension) from PCA can be considered a new \\\"feature\\\" of the space, however it is a composition of the original features present in the data.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Import `sklearn.decomposition.PCA` and assign the results of fitting PCA in six dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 68,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nssdoZnMzsZ5Daq/v9tfHJz7xCWbMmMGpp57KkUceyeabb86cOXM49dRT2W233Tj//PPXWueMM87g\\nwx/+MHPmzGHixIl86EMf4qijjgLgPe95D4899hiHHnooy5YtY9asWVx44YW0trby05/+lI9//OPM\\nnj2b559/np122ol///d/HzK+3XffnaamJnbddde1TrWTJBVTa2szHR3V/S9tbV2//4uS1AhRebrW\\naBcROdDxRARj6TgbYc899+T9738/Rx99dKNDGVHMLRVRRLB4cXVtOzrwNSKtp4iAeVU2nudrbKwy\\nD2qn/Pkt+i8vZI+R1s8NN9zAzTffzKJFixodiiRJklQTXmOkIX3gAx9g77335vTTT++7+awkSZI0\\n1thjpCFdcMEFjQ5BkiRJqjl7jCRJkiQVnoWRJEmSpMLzVDpJkiRphGme3kzvvOqGxG+e7pD4w8HC\\nSJIkSRpheh7oaXQIheOpdJIkSZIKz8JIkiRJUuEVsjBqaWsjImo2tbS1VR3LrFmzmDRpElOmTGHy\\n5MlMmTKFnh67TiVJkqR6KuQ1Rr3d3bB4ce2239FRdduI4PLLL6djiHVWrlzJuHHjhiM0SZIkSQMo\\nZI/RSJOZL3rc1dVFU1MT5513HjNnzmTPPfcEYNGiRbziFa9g2rRp7LHHHtx1110AfP/73+/rbZoy\\nZQqbbbYZe+yxBwDPP/88J510EjNnzmS77bbj+OOP57nnngPg6quvprW1la9+9as0Nzczffp0b+gq\\nSZKkQrIwGsGuueYa7rrrLn7xi19wzz33cOihh3LGGWfw8MMPs++++7L//vvzwgsvcNBBB7F8+XKe\\nfPJJli5dypw5czj00EMBOPnkk7n33nu59dZbuffee1m6dClf+tKX+vbR09PD8uXLWbZsGd/+9rc5\\n4YQT+Nvf/taoQ5YkSZIawsJoBHjXu97FtGnTmDZtGgceeGDf8vnz5zNx4kQ23XRTFi5cyH777cce\\ne+zBuHHjOOmkk/j73//Ob3/72772mckhhxzCHnvswTHHHAPAOeecw9e+9jWmTp3K5ptvzqc+9Sku\\nvvjivnU22WQTPv/5zzNu3Dj23XdftthiC+6+++76HbwkSZI0AhTyGqOR5tJLL33RNUZdXV1EBDNm\\nzOhbtmzZMmbOnNn3OCJobW1l6dKlfcs+85nP8PTTT3P66acD8PDDD/PMM8/wmte8pq/NqlWrXnTq\\n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\\nAZSWyKm8CV39AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ac77320>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with the same number of dimensions as features\\n\",\n    \"from sklearn.decomposition import PCA\\n\",\n    \"pca = PCA(n_components=6)\\n\",\n    \"pca.fit(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = pca.transform(log_samples)\\n\",\n    \"\\n\",\n    \"# Generate PCA results plot\\n\",\n    \"pca_results = rs.pca_results(good_data, pca)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 5\\n\",\n    \"*How much variance in the data is explained* ***in total*** *by the first and second principal component? What about the first four principal components? Using the visualization provided above, discuss what the first four dimensions best represent in terms of customer spending.*  \\n\",\n    \"**Hint:** A positive increase in a specific dimension corresponds with an *increase* of the *positive-weighted* features and a *decrease* of the *negative-weighted* features. The rate of increase or decrease is based on the indivdual feature weights.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"- First and second PCs explain **71.90%** of the variance in the data.\\n\",\n    \"- First four PCs explain **93.14%** of the variation in the data.\\n\",\n    \"- What the first four dimensions best represent in terms of customer spending:\\n\",\n    \"    - Dim 1: Detergents_Paper, Grocery and Milk: -> Utilities\\n\",\n    \"    - Dim 2: Fresh, Frozen, Delicatessen -> Food\\n\",\n    \"    - Dim 3: Fresh - Delicatessen: Market-y stuff, food that must be sold on the day\\n\",\n    \"    - Dim 4: Frozen - Fresh - Delicatessen: Food that can be kept for ages\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 70,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.7190000000000001\\n\",\n      \"0.9314\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Rough calculation\\n\",\n    \"print(0.4424+0.2766)\\n\",\n    \"print(0.4424+0.2766+0.1162+0.0962)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it in six dimensions. Observe the numerical value for the first four dimensions of the sample points. Consider if this is consistent with your initial interpretation of the sample points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 71,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Dimension 1</th>\\n\",\n       \"      <th>Dimension 2</th>\\n\",\n       \"      <th>Dimension 3</th>\\n\",\n       \"      <th>Dimension 4</th>\\n\",\n       \"      <th>Dimension 5</th>\\n\",\n       \"      <th>Dimension 6</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>5.3459</td>\\n\",\n       \"      <td>1.9442</td>\\n\",\n       \"      <td>0.7429</td>\\n\",\n       \"      <td>-0.2108</td>\\n\",\n       \"      <td>-0.5297</td>\\n\",\n       \"      <td>0.2928</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2.1974</td>\\n\",\n       \"      <td>4.9048</td>\\n\",\n       \"      <td>0.0686</td>\\n\",\n       \"      <td>0.5623</td>\\n\",\n       \"      <td>-0.5195</td>\\n\",\n       \"      <td>-0.2369</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>-2.8963</td>\\n\",\n       \"      <td>-4.7798</td>\\n\",\n       \"      <td>-6.3817</td>\\n\",\n       \"      <td>2.9243</td>\\n\",\n       \"      <td>-0.7629</td>\\n\",\n       \"      <td>2.2292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Dimension 1  Dimension 2  Dimension 3  Dimension 4  Dimension 5  \\\\\\n\",\n       \"0       5.3459       1.9442       0.7429      -0.2108      -0.5297   \\n\",\n       \"1       2.1974       4.9048       0.0686       0.5623      -0.5195   \\n\",\n       \"2      -2.8963      -4.7798      -6.3817       2.9243      -0.7629   \\n\",\n       \"\\n\",\n       \"   Dimension 6  \\n\",\n       \"0       0.2928  \\n\",\n       \"1      -0.2369  \\n\",\n       \"2       2.2292  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display sample log-data after having a PCA transformation applied\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = pca_results.index.values))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Dimensionality Reduction\\n\",\n    \"When using principal component analysis, one of the main goals is to reduce the dimensionality of the data — in effect, reducing the complexity of the problem. Dimensionality reduction comes at a cost: Fewer dimensions used implies less of the total variance in the data is being explained. Because of this, the *cumulative explained variance ratio* is extremely important for knowing how many dimensions are necessary for the problem. Additionally, if a signifiant amount of variance is explained by only two or three dimensions, the reduced data can be visualized afterwards.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the results of fitting PCA in two dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of `good_data` using `pca.transform`, and assign the reuslts to `reduced_data`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 72,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with only two dimensions\\n\",\n    \"pca = PCA(n_components=2)\\n\",\n    \"pca.fit(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the good data using the PCA fit above\\n\",\n    \"reduced_data = pca.transform(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = pca.transform(log_samples)\\n\",\n    \"\\n\",\n    \"# Create a DataFrame for the reduced data\\n\",\n    \"reduced_data = pd.DataFrame(reduced_data, columns = ['Dimension 1', 'Dimension 2'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it using only two dimensions. Observe how the **values for the first two dimensions remains unchanged when compared to a PCA transformation in six dimensions**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 73,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Dimension 1</th>\\n\",\n       \"      <th>Dimension 2</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>5.3459</td>\\n\",\n       \"      <td>1.9442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2.1974</td>\\n\",\n       \"      <td>4.9048</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>-2.8963</td>\\n\",\n       \"      <td>-4.7798</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Dimension 1  Dimension 2\\n\",\n       \"0       5.3459       1.9442\\n\",\n       \"1       2.1974       4.9048\\n\",\n       \"2      -2.8963      -4.7798\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display sample log-data after applying PCA transformation in two dimensions\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = ['Dimension 1', 'Dimension 2']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Clustering\\n\",\n    \"\\n\",\n    \"In this section, you will choose to use either a K-Means clustering algorithm or a Gaussian Mixture Model clustering algorithm to identify the various customer segments hidden in the data. You will then recover specific data points from the clusters to understand their significance by transforming them back into their original dimension and scale. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 6\\n\",\n    \"*What are the advantages to using a K-Means clustering algorithm? What are the advantages to using a Gaussian Mixture Model clustering algorithm? Given your observations about the wholesale customer data so far, which of the two algorithms will you use and why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"**Advantages to using K-Means clustering**\\n\",\n    \"- Hard labelling so all datapoints are in certain clusters\\n\",\n    \"- Less computationally expensive (than a Gaussian Mixture Model)\\n\",\n    \"- Guaranteed to converge\\n\",\n    \"- Scale-invariant\\n\",\n    \"- Consistent\\n\",\n    \"\\n\",\n    \"**Advantages to using Gaussian Mixture Model clustering**\\n\",\n    \"- One point can be shared between clusters because points are assigned probabilities of belonging to each cluster (soft) as opposed to hard labels\\n\",\n    \"- More information: Can look at probabilities to know how sure the algorithm is that each point is in each cluster\\n\",\n    \"- Can model all elliptical clusters (vs K-Means which assumes clusters are spherical)\\n\",\n    \"\\n\",\n    \"**Chosen algorithm**\\n\",\n    \"- Gausssian Mixture.\\n\",\n    \"- The data does not seem to be separated into clear clusters. There may be groups that are in-betweens.\\n\",\n    \"\\n\",\n    \"Reference: https://www.quora.com/What-is-the-difference-between-K-means-and-the-mixture-model-of-Gaussian\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Creating Clusters\\n\",\n    \"Depending on the problem, the number of clusters that you expect to be in the data may already be known. When the number of clusters is not known *a priori*, there is no guarantee that a given number of clusters best segments the data, since it is unclear what structure exists in the data — if any. However, we can quantify the \\\"goodness\\\" of a clustering by calculating each data point's *silhouette coefficient*. The [silhouette coefficient](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html) for a data point measures how similar it is to its assigned cluster from -1 (dissimilar) to 1 (similar). Calculating the ***mean* silhouette coefficient provides for a simple scoring method of a given clustering**.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Fit a clustering algorithm to the `reduced_data` and assign it to `clusterer`.\\n\",\n    \" - Predict the cluster for each data point in `reduced_data` using `clusterer.predict` and assign them to `preds`.\\n\",\n    \" - Find the cluster centers using the algorithm's respective attribute and assign them to `centers`.\\n\",\n    \" - Predict the cluster for each sample data point in `pca_samples` and assign them `sample_preds`.\\n\",\n    \" - Import sklearn.metrics.silhouette_score and calculate the silhouette score of `reduced_data` against `preds`.\\n\",\n    \"   - Assign the silhouette score to `score` and print the result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 86,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Number of components:  2\\n\",\n      \"Cluster centres:  [[-0.71464435  0.31923966]\\n\",\n      \" [ 1.01432429 -0.45311006]]\\n\",\n      \"Sample Preds:  [1 1 1]\\n\",\n      \"Silhouette score:  0.316017379116 \\n\",\n      \"\\n\",\n      \"Number of components:  3\\n\",\n      \"Cluster centres:  [[ 1.53837521  0.35814931]\\n\",\n      \" [-1.53264671  0.28309436]\\n\",\n      \" [-0.42189675 -1.47049155]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.375222595239 \\n\",\n      \"\\n\",\n      \"Number of components:  4\\n\",\n      \"Cluster centres:  [[ 0.04260476 -1.75483254]\\n\",\n      \" [-1.19364513  0.61758051]\\n\",\n      \" [-1.65040023 -0.34386088]\\n\",\n      \" [ 2.12094466  0.18950015]]\\n\",\n      \"Sample Preds:  [3 3 0]\\n\",\n      \"Silhouette score:  0.336237830562 \\n\",\n      \"\\n\",\n      \"Number of components:  5\\n\",\n      \"Cluster centres:  [[-1.52420475 -0.16175761]\\n\",\n      \" [ 2.61449466 -0.91376362]\\n\",\n      \" [-1.70036028 -1.83457833]\\n\",\n      \" [-0.89574454  1.08330732]\\n\",\n      \" [ 1.92949643  0.40524309]]\\n\",\n      \"Sample Preds:  [4 1 2]\\n\",\n      \"Silhouette score:  0.31202624062 \\n\",\n      \"\\n\",\n      \"Number of components:  6\\n\",\n      \"Cluster centres:  [[ 1.74491709  0.94152474]\\n\",\n      \" [-1.5625887   0.15170505]\\n\",\n      \" [-0.38366704 -3.6751244 ]\\n\",\n      \" [ 2.78898903 -1.01811609]\\n\",\n      \" [-0.96577157 -0.2125656 ]\\n\",\n      \" [-0.10568062  1.18412939]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.269277095938 \\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Apply your clustering algorithm of choice to the reduced data \\n\",\n    \"from sklearn.mixture import GMM\\n\",\n    \"from sklearn.metrics import silhouette_score\\n\",\n    \"\\n\",\n    \"# Loop through different cluster numbers to see which \\n\",\n    \"# gives th ehighest silhouette score.\\n\",\n    \"for i in range(2,7):\\n\",\n    \"    print(\\\"Number of components: \\\", i)\\n\",\n    \"    clusterer = GMM(random_state=0, n_components=i)\\n\",\n    \"    clusterer.fit(reduced_data)\\n\",\n    \"\\n\",\n    \"    # TODO: Predict the cluster for each data point\\n\",\n    \"    preds = clusterer.predict(reduced_data)\\n\",\n    \"    # TODO: Find the cluster centers\\n\",\n    \"    centers = clusterer.means_\\n\",\n    \"    print(\\\"Cluster centres: \\\",centers)\\n\",\n    \"\\n\",\n    \"    # TODO: Predict the cluster for each transformed sample data point\\n\",\n    \"    sample_preds = clusterer.predict(pca_samples)\\n\",\n    \"    print(\\\"Sample Preds: \\\", sample_preds)\\n\",\n    \"\\n\",\n    \"    # TODO: Calculate the mean silhouette coefficient for the number of clusters chosen\\n\",\n    \"    score = silhouette_score(reduced_data, preds)\\n\",\n    \"    print(\\\"Silhouette score: \\\", score, \\\"\\\\n\\\")\\n\",\n    \"\\n\",\n    \"# Note: Variable values reassigned below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 7\\n\",\n    \"*Report the silhouette score for several cluster numbers you tried. Of these, which number of clusters has the best silhouette score?* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"<table>\\n\",\n    \"<th>Cluster number</th><th>Silhouette score</th>\\n\",\n    \"<tr><td>2</td><td>0.316</td></tr>\\n\",\n    \"<tr><td>**3**</td><td>**0.375**</td></tr>\\n\",\n    \"<tr><td>4</td><td>0.336</td></tr>\\n\",\n    \"<tr><td>5</td><td>0.312</td></tr>\\n\",\n    \"<tr><td>6</td><td>0.269</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Cluster number 3 has the best silhouette score.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 87,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Cluster centres:  [[ 1.53837521  0.35814931]\\n\",\n      \" [-1.53264671  0.28309436]\\n\",\n      \" [-0.42189675 -1.47049155]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.375222595239 \\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Reassign variable values with n_components = 3\\n\",\n    \"\\n\",\n    \"clusterer = GMM(random_state=0, n_components=3)\\n\",\n    \"clusterer.fit(reduced_data)\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each data point\\n\",\n    \"preds = clusterer.predict(reduced_data)\\n\",\n    \"# TODO: Find the cluster centers\\n\",\n    \"centers = clusterer.means_\\n\",\n    \"print(\\\"Cluster centres: \\\",centers)\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each transformed sample data point\\n\",\n    \"sample_preds = clusterer.predict(pca_samples)\\n\",\n    \"print(\\\"Sample Preds: \\\", sample_preds)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate the mean silhouette coefficient for the number of clusters chosen\\n\",\n    \"score = silhouette_score(reduced_data, preds)\\n\",\n    \"print(\\\"Silhouette score: \\\", score, \\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cluster Visualization\\n\",\n    \"Once you've chosen the optimal number of clusters for your clustering algorithm using the scoring metric above, you can now visualize the results by executing the code block below. Note that, for experimentation purposes, you are welcome to adjust the number of clusters for your clustering algorithm to see various visualizations. The final visualization provided should, however, correspond with the optimal number of clusters. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 88,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\\n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\\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\\n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\\nAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11d6ac9b0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the results of the clustering from implementation\\n\",\n    \"rs.cluster_results(reduced_data, preds, centers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's okayish.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Recovery\\n\",\n    \"Each cluster present in the visualization above has a central point. These centers (or means) are not specifically data points from the data, but rather the *averages* of all the data points predicted in the respective clusters. For the problem of creating customer segments, a cluster's center point corresponds to *the average customer of that segment*. Since the data is currently reduced in dimension and scaled by a logarithm, we can recover the representative customer spending from these data points by applying the inverse transformations.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Apply the inverse transform to `centers` using `pca.inverse_transform` and assign the new centers to `log_centers`.\\n\",\n    \" - Apply the inverse function of `np.log` to `log_centers` using `np.exp` and assign the true centers to `true_centers`.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 90,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 0</th>\\n\",\n       \"      <td>6055.0</td>\\n\",\n       \"      <td>6542.0</td>\\n\",\n       \"      <td>9557.0</td>\\n\",\n       \"      <td>1354.0</td>\\n\",\n       \"      <td>2830.0</td>\\n\",\n       \"      <td>1185.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 1</th>\\n\",\n       \"      <td>9806.0</td>\\n\",\n       \"      <td>1925.0</td>\\n\",\n       \"      <td>2355.0</td>\\n\",\n       \"      <td>2216.0</td>\\n\",\n       \"      <td>286.0</td>\\n\",\n       \"      <td>721.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 2</th>\\n\",\n       \"      <td>2432.0</td>\\n\",\n       \"      <td>2244.0</td>\\n\",\n       \"      <td>3455.0</td>\\n\",\n       \"      <td>778.0</td>\\n\",\n       \"      <td>608.0</td>\\n\",\n       \"      <td>348.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Fresh    Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"Segment 0  6055.0  6542.0   9557.0  1354.0            2830.0        1185.0\\n\",\n       \"Segment 1  9806.0  1925.0   2355.0  2216.0             286.0         721.0\\n\",\n       \"Segment 2  2432.0  2244.0   3455.0   778.0             608.0         348.0\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Inverse transform the centers\\n\",\n    \"log_centers = pca.inverse_transform(centers)\\n\",\n    \"\\n\",\n    \"# TODO: Exponentiate the centers\\n\",\n    \"true_centers = np.exp(log_centers)\\n\",\n    \"\\n\",\n    \"# Display the true centers\\n\",\n    \"segments = ['Segment {}'.format(i) for i in range(0,len(centers))]\\n\",\n    \"true_centers = pd.DataFrame(np.round(true_centers), columns = data.keys())\\n\",\n    \"true_centers.index = segments\\n\",\n    \"display(true_centers)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 8\\n\",\n    \"Consider the total purchase cost of each product category for the representative data points above, and reference the statistical description of the dataset at the beginning of this project. *What set of establishments could each of the customer segments represent?*  \\n\",\n    \"**Hint:** A customer who is assigned to `'Cluster X'` should best identify with the establishments represented by the feature set of `'Segment X'`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"- Segment 0 could represent supermarkets.\\n\",\n    \"    - Their spendings for all categories except Frozen are above the median.\\n\",\n    \"- Segment 1 could represent a fresh food market.\\n\",\n    \"    - Their spending for Fresh and Frozen are above the median, but their spending for Grocery, Milk and Detergents_Paper are below the median as those are often kept in fridges or placed in boxes on shelves. Delicatessen spending is also below the median - that is often fancier stuff that isn't found in street markets.\\n\",\n    \"    - Frozen products are often sold in markets placed in big boxes lined with ice cubes.\\n\",\n    \"- Segment 2 could represent a corner store.\\n\",\n    \"    - Their spending on Fresh and Delicatessen are in the bottom quartile.\\n\",\n    \"    - Their spending on Detergents_Paper, Frozen, Grocery and Milk are below the median.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 91,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>12000.297727</td>\\n\",\n       \"      <td>5796.265909</td>\\n\",\n       \"      <td>7951.277273</td>\\n\",\n       \"      <td>3071.931818</td>\\n\",\n       \"      <td>2881.493182</td>\\n\",\n       \"      <td>1524.870455</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>12647.328865</td>\\n\",\n       \"      <td>7380.377175</td>\\n\",\n       \"      <td>9503.162829</td>\\n\",\n       \"      <td>4854.673333</td>\\n\",\n       \"      <td>4767.854448</td>\\n\",\n       \"      <td>2820.105937</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>55.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>25.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>3127.750000</td>\\n\",\n       \"      <td>1533.000000</td>\\n\",\n       \"      <td>2153.000000</td>\\n\",\n       \"      <td>742.250000</td>\\n\",\n       \"      <td>256.750000</td>\\n\",\n       \"      <td>408.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>8504.000000</td>\\n\",\n       \"      <td>3627.000000</td>\\n\",\n       \"      <td>4755.500000</td>\\n\",\n       \"      <td>1526.000000</td>\\n\",\n       \"      <td>816.500000</td>\\n\",\n       \"      <td>965.500000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>16933.750000</td>\\n\",\n       \"      <td>7190.250000</td>\\n\",\n       \"      <td>10655.750000</td>\\n\",\n       \"      <td>3554.250000</td>\\n\",\n       \"      <td>3922.000000</td>\\n\",\n       \"      <td>1820.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>112151.000000</td>\\n\",\n       \"      <td>73498.000000</td>\\n\",\n       \"      <td>92780.000000</td>\\n\",\n       \"      <td>60869.000000</td>\\n\",\n       \"      <td>40827.000000</td>\\n\",\n       \"      <td>47943.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Fresh          Milk       Grocery        Frozen  \\\\\\n\",\n       \"count     440.000000    440.000000    440.000000    440.000000   \\n\",\n       \"mean    12000.297727   5796.265909   7951.277273   3071.931818   \\n\",\n       \"std     12647.328865   7380.377175   9503.162829   4854.673333   \\n\",\n       \"min         3.000000     55.000000      3.000000     25.000000   \\n\",\n       \"25%      3127.750000   1533.000000   2153.000000    742.250000   \\n\",\n       \"50%      8504.000000   3627.000000   4755.500000   1526.000000   \\n\",\n       \"75%     16933.750000   7190.250000  10655.750000   3554.250000   \\n\",\n       \"max    112151.000000  73498.000000  92780.000000  60869.000000   \\n\",\n       \"\\n\",\n       \"       Detergents_Paper  Delicatessen  \\n\",\n       \"count        440.000000    440.000000  \\n\",\n       \"mean        2881.493182   1524.870455  \\n\",\n       \"std         4767.854448   2820.105937  \\n\",\n       \"min            3.000000      3.000000  \\n\",\n       \"25%          256.750000    408.250000  \\n\",\n       \"50%          816.500000    965.500000  \\n\",\n       \"75%         3922.000000   1820.250000  \\n\",\n       \"max        40827.000000  47943.000000  \"\n      ]\n     },\n     \"execution_count\": 91,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 9\\n\",\n    \"*For each sample point, which customer segment from* ***Question 8*** *best represents it? Are the predictions for each sample point consistent with this?*\\n\",\n    \"\\n\",\n    \"Run the code block below to find which cluster each sample point is predicted to be.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 93,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Sample point 0 predicted to be in Cluster 0\\n\",\n      \"Sample point 1 predicted to be in Cluster 0\\n\",\n      \"Sample point 2 predicted to be in Cluster 2\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Display the predictions\\n\",\n    \"for i, pred in enumerate(sample_preds):\\n\",\n    \"    print(\\\"Sample point\\\", i, \\\"predicted to be in Cluster\\\", pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"1. Sample point 0: Supermarket\\n\",\n    \"    - Original guess: Retailer <- I'm surprised it was put in the same category as Sample point 1. I thought it was quite different. The clusters are large though, which may explain both being in the same cluster.\\n\",\n    \"2. Sample point 1: Supermarket\\n\",\n    \"    - Original guess: Market <- The same!\\n\",\n    \"3. Sample point 2: Corner store\\n\",\n    \"    - Original guess: Restaurant. <- Reasonable: I was going for something relatively small. This is in line with the things grouped under Cluster 2 in the visualisation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 95,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>16117</td>\\n\",\n       \"      <td>46197</td>\\n\",\n       \"      <td>92780</td>\\n\",\n       \"      <td>1026</td>\\n\",\n       \"      <td>40827</td>\\n\",\n       \"      <td>2944</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>112151</td>\\n\",\n       \"      <td>29627</td>\\n\",\n       \"      <td>18148</td>\\n\",\n       \"      <td>16745</td>\\n\",\n       \"      <td>4948</td>\\n\",\n       \"      <td>8550</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>333</td>\\n\",\n       \"      <td>7021</td>\\n\",\n       \"      <td>15601</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>550</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   16117  46197    92780    1026             40827          2944\\n\",\n       \"1  112151  29627    18148   16745              4948          8550\\n\",\n       \"2       3    333     7021   15601                15           550\"\n      ]\n     },\n     \"execution_count\": 95,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"samples\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this final section, you will investigate ways that you can make use of the clustered data. First, you will consider how the different groups of customers, the ***customer segments***, may be affected differently by a specific delivery scheme. Next, you will consider how giving a label to each customer (which *segment* that customer belongs to) can provide for additional features about the customer data. Finally, you will compare the ***customer segments*** to a hidden variable present in the data, to see whether the clustering identified certain relationships.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"### Question 10\\n\",\n    \"Companies will often run [A/B tests](https://en.wikipedia.org/wiki/A/B_testing) when making small changes to their products or services to determine whether making that change will affect its customers positively or negatively. The wholesale distributor is considering changing its delivery service from currently 5 days a week to 3 days a week. However, the distributor will only make this change in delivery service for customers that react positively. *How can the wholesale distributor use the customer segments to determine which customers, if any, would react positively to the change in delivery service?*  \\n\",\n    \"**Hint:** Can we assume the change affects all customers equally? How can we determine which group of customers it affects the most?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"- Make this change in delivery service for 10% of the customers in each cluster (select this 10% randomly) for e.g. 2 weeks. Mark these customers as customers in Cluster 0', 1' and 2' respectively.\\n\",\n    \"    - Make sure there are a statistically significant number of customers in each cluster i'.\\n\",\n    \"- Note down whether these customers react positively or negatively (this can be a +1 or -1 value, or some value from -1 to +1, with -1 meaning they reacted strongly negatively and +1 meaning they reacted strongly positively).\\n\",\n    \"- Take the mean of the values assigned for each cluster 0', 1' and 2'. \\n\",\n    \"- If the mean value for a cluster is positive, then the distributor can consider making the change in delivery service for more customers in that segment. \\n\",\n    \"    - This inference assumes that customers in that segment may behave similarly.\\n\",\n    \"- By testing on a smaller group of customers first, the distributor can test their hypotheses without risking making a lot of customers angry (if they react negatively).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 11\\n\",\n    \"Additional structure is derived from originally unlabeled data when using clustering techniques. Since each customer has a ***customer segment*** it best identifies with (depending on the clustering algorithm applied), we can consider *'customer segment'* as an **engineered feature** for the data. Assume the wholesale distributor recently acquired ten new customers and each provided estimates for anticipated annual spending of each product category. Knowing these estimates, the wholesale distributor wants to classify each new customer to a ***customer segment*** to determine the most appropriate delivery service.  \\n\",\n    \"*How can the wholesale distributor label the new customers using only their estimated product spending and the* ***customer segment*** *data?*  \\n\",\n    \"**Hint:** A supervised learner could be used to train on the original customers. What would be the target variable?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- Use a supervised learning algorithm with the **estimated product spending as features (6 features) and customer segment as the target variable**.\\n\",\n    \"    - This would be a **classification problem** because the target variable has finitely many discrete labels (3). \\n\",\n    \"    - **K Nearest Neighbours** might be a good choice of algorithm because there is no obvious underlying mathematical relationship between the customer segment and product spending.\\n\",\n    \"- The training and test sets would come from existing customers with those labels assigned.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualizing Underlying Distributions\\n\",\n    \"\\n\",\n    \"At the beginning of this project, it was discussed that the `'Channel'` and `'Region'` features would be excluded from the dataset so that the customer product categories were emphasized in the analysis. By reintroducing the `'Channel'` feature to the dataset, an interesting structure emerges when considering the same PCA dimensionality reduction applied earlier to the original dataset.\\n\",\n    \"\\n\",\n    \"Run the code block below to see how each data point is labeled either `'HoReCa'` (Hotel/Restaurant/Cafe) or `'Retail'` the reduced space. In addition, you will find the sample points are circled in the plot, which will identify their labeling.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 96,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nWbFCa5/t0ypFR9q2qV8bKhbosc5nAqwMAFDMWAgVAALy85//XJdccokGBt4blD9//nytXLlS0WhU\\nL7/8stra2nTgh537779f77zzjh588EHNmjVLbW0/Gwk/fX19mj9/vsxM8+efrr6+14J4SJMSryxX\\nW88Orcq8F4CYkAAAkC/oAQKAabR3716dddZZeuuttyRJp5xyilpaWnT11VcrEomMbLdz507dcsst\\nuvfee0favvnNb+rSSy/V8uXLJUmx2Dl63/tO0OBgRv/5n8/p2muv1913/++ZfUDH4NAxQNkJCViU\\nFACQQ5wCBwABuOOOO9TQ0CBJOumkk9TR0THuZAfurptuukkbNmyQJH34wx/W22+/o3ffPUvSedmt\\nSiSVqrT0ad155036/Oc/n/sHMQ2YkAAAMNMIQAAww9xd55xzjl555RVJ0l133aXrrrtO0vjTQmcy\\nGZ155pnq6+uTJF199TWKRk+QNPb9u7S0ROvW/bVOO+20GX1MAAAUCgIQAMyw3t7ekZnaPvCBD2jX\\nrl2KRqNHnRb61ltv1bp16yRJV111lR566KEgHwYAAAVpogGoZCaKAYAw2LVr18jliooKRaPDkwC0\\nJJOq7S9Vc6ZMqxRVc6ZMtf0RtSSTkqRPfepTI7d78803Z7ZoAABChgAEANNk//79I5dnz549cjnV\\n2a2azJwx29ZkZivV1S1JY6a/HhwczHGVAACEGwEIAKZJWdl7C38+//zzI4EoXlmutsjAmG1HTwv9\\n3HPPHXYfAABg+hGAAGCaLF++XCeeeKKk4fV7HnnkEUlSQyKh1uigmiK7tU39aorsUWs0o4ZEQu6u\\nTZs2jezjkksuCaR2AADCggAEANNkzpw5+tznPjdy/Wtf+5p+//vfKxaLqaO3R0N1a7ShYoGG6laP\\nTIDQ2tqqnp4eSdLxxx+vz372s0GVDwBAKDALHABMo507d2rRokUjY3kuvPBCfe973ztk+ur9+/fr\\nnnvu0fXXX699+/ZJkq699lrdfffdM14zAADFgGmwASAgd955p2644YaR67NmzdKVV16pyy+/XNFo\\nVC+//LI2b96s1157bWSbs88+W7/4xS80b968ACoGAKDwEYAAIEC33367mpqaJrTtueeeq0cffZRF\\nTgEAmALWAQKAAN1000366U9/qurq6nG3mTdvnhKJhJ5++mnCDwAAM4QeIADIsRdffFFbtmzRG2+8\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11d6acb38>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the clustering results based on 'Channel' data\\n\",\n    \"rs.channel_results(reduced_data, outliers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 97,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\\n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\\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\\n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\\nAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ae16080>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Clustering plot\\n\",\n    \"\\n\",\n    \"rs.cluster_results(reduced_data, preds, centers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 12\\n\",\n    \"*How well does the clustering algorithm and number of clusters you've chosen compare to this underlying distribution of Hotel/Restaurant/Cafe customers to Retailer customers? Are there customer segments that would be classified as purely 'Retailers' or 'Hotels/Restaurants/Cafes' by this distribution? Would you consider these classifications as consistent with your previous definition of the customer segments?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- The previous clustering does a moderately good job of clustering the data above the (Dimension 2 > -2) line, with Retailer corresponding to Cluster 0 and Hotel/Restaurant/Cafe corresponding to Cluster 1. Below the (Dimension 2 > -2) line, however, the previous clustering does not distinguish between the Ho/Re/Ca and Retailer, instead grouping them together in one different cluster.\\n\",\n    \"- The customer segment 0 would be classified almost entirely as Retailer and the customer segment 1 would be classified almost entirely as Ho/Re/Ca by this distribution.\\n\",\n    \"- These classifications are consistent with previous definitions of the customer segments to some extent. \\n\",\n    \"    - Some sentiments are the same, e.g. \\n\",\n    \"    - The exact labels (e.g. 'Retailer') used are not the same, but that's because I had a different understanding of 'Retailers' before seeing this distribution. It's good to have a data-based (i.e. example-based) definition of the word to make sure everyone is on the same page. :D\\n\",\n    \"\\n\",\n    \"- This is a positive result, because this means that customers in Ho/Re/Ca have similar spending patterns to some extent, and likewise with Retailers.\\n\",\n    \"\\n\",\n    \"- It looks possible to have clustered the data into two clusters that are similar to the channels provided. The only points that would've been harder to classify 'correctly' would be the mix of red points invading the bottom right territory of the green points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p3-creating-customer-segments/README.md",
    "content": "# Project 3: Unsupervised Learning\n## Creating Customer Segments\n\n### Install\n\nThis project requires **Python 2.7** and the following Python libraries installed:\n\n- [NumPy](http://www.numpy.org/)\n- [Pandas](http://pandas.pydata.org)\n- [matplotlib](http://matplotlib.org/)\n- [scikit-learn](http://scikit-learn.org/stable/)\n\nYou will also need to have software installed to run and execute an [iPython Notebook](http://ipython.org/notebook.html)\n\nUdacity recommends our students install [Anaconda](https://www.continuum.io/downloads), a pre-packaged Python distribution that contains all of the necessary libraries and software for this project. \n\n### Code\n\nTemplate code is provided in the notebook `customer_segments.ipynb` notebook file. Additional supporting code can be found in `renders.py`. While some code has already been implemented to get you started, you will need to implement additional functionality when requested to successfully complete the project.\n\n### Run\n\nIn a terminal or command window, navigate to the top-level project directory `creating_customer_segments/` (that contains this README) and run one of the following commands:\n\n```ipython notebook customer_segments.ipynb```\n```jupyter notebook customer_segments.ipynb```\n\nThis will open the iPython Notebook software and project file in your browser.\n\n## Data\n\nThe dataset used in this project is included as `customers.csv`. You can find more information on this dataset on the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Wholesale+customers) page.\n"
  },
  {
    "path": "p3-creating-customer-segments/archive/customer_segments_python2.7.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Unsupervised Learning\\n\",\n    \"## Project 3: Creating Customer Segments\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the third project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting Started\\n\",\n    \"\\n\",\n    \"In this project, you will analyze a dataset containing data on various customers' annual spending amounts (reported in *monetary units*) of diverse product categories for internal structure. One goal of this project is to best describe the variation in the different types of customers that a wholesale distributor interacts with. Doing so would equip the distributor with insight into how to best structure their delivery service to meet the needs of each customer.\\n\",\n    \"\\n\",\n    \"The dataset for this project can be found on the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Wholesale+customers). For the purposes of this project, the features `'Channel'` and `'Region'` will be excluded in the analysis — with focus instead on the six product categories recorded for customers.\\n\",\n    \"\\n\",\n    \"Run the code block below to load the wholesale customers dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import libraries necessary for this project\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import renders as rs\\n\",\n    \"from IPython.display import display # Allows the use of display() for DataFrames\\n\",\n    \"\\n\",\n    \"# Show matplotlib plots inline (nicely formatted in the notebook)\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the wholesale customers dataset\\n\",\n    \"try:\\n\",\n    \"    data = pd.read_csv(\\\"customers.csv\\\")\\n\",\n    \"    data.drop(['Region', 'Channel'], axis = 1, inplace = True)\\n\",\n    \"    print \\\"Wholesale customers dataset has {} samples with {} features each.\\\".format(*data.shape)\\n\",\n    \"except:\\n\",\n    \"    print \\\"Dataset could not be loaded. Is the dataset missing?\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Exploration\\n\",\n    \"In this section, you will begin exploring the data through visualizations and code to understand how each feature is related to the others. You will observe a statistical description of the dataset, consider the relevance of each feature, and select a few sample data points from the dataset which you will track through the course of this project.\\n\",\n    \"\\n\",\n    \"Run the code block below to observe a statistical description of the dataset. Note that the dataset is composed of six important product categories: **'Fresh'**, **'Milk'**, **'Grocery'**, **'Frozen'**, **'Detergents_Paper'**, and **'Delicatessen'**. Consider what each category represents in terms of products you could purchase.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display a description of the dataset\\n\",\n    \"display(data.describe())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Selecting Samples\\n\",\n    \"To get a better understanding of the customers and how their data will transform through the analysis, it would be best to select a few sample data points and explore them in more detail. In the code block below, add **three** indices of your choice to the `indices` list which will represent the customers to track. It is suggested to try different sets of samples until you obtain customers that vary significantly from one another.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Select three indices of your choice you wish to sample from the dataset\\n\",\n    \"indices = []\\n\",\n    \"\\n\",\n    \"# Create a DataFrame of the chosen samples\\n\",\n    \"samples = pd.DataFrame(data.loc[indices], columns = data.keys()).reset_index(drop = True)\\n\",\n    \"print \\\"Chosen samples of wholesale customers dataset:\\\"\\n\",\n    \"display(samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1\\n\",\n    \"Consider the total purchase cost of each product category and the statistical description of the dataset above for your sample customers.  \\n\",\n    \"*What kind of establishment (customer) could each of the three samples you've chosen represent?*  \\n\",\n    \"**Hint:** Examples of establishments include places like markets, cafes, and retailers, among many others. Avoid using names for establishments, such as saying *\\\"McDonalds\\\"* when describing a sample customer as a restaurant.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Relevance\\n\",\n    \"One interesting thought to consider is if one (or more) of the six product categories is actually relevant for understanding customer purchasing. That is to say, is it possible to determine whether customers purchasing some amount of one category of products will necessarily purchase some proportional amount of another category of products? We can make this determination quite easily by training a supervised regression learner on a subset of the data with one feature removed, and then score how well that model can predict the removed feature.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign `new_data` a copy of the data by removing a feature of your choice using the `DataFrame.drop` function.\\n\",\n    \" - Use `sklearn.cross_validation.train_test_split` to split the dataset into training and testing sets.\\n\",\n    \"   - Use the removed feature as your target label. Set a `test_size` of `0.25` and set a `random_state`.\\n\",\n    \" - Import a decision tree regressor, set a `random_state`, and fit the learner to the training data.\\n\",\n    \" - Report the prediction score of the testing set using the regressor's `score` function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature\\n\",\n    \"new_data = None\\n\",\n    \"\\n\",\n    \"# TODO: Split the data into training and testing sets using the given feature as the target\\n\",\n    \"X_train, X_test, y_train, y_test = (None, None, None, None)\\n\",\n    \"\\n\",\n    \"# TODO: Create a decision tree regressor and fit it to the training set\\n\",\n    \"regressor = None\\n\",\n    \"\\n\",\n    \"# TODO: Report the score of the prediction using the testing set\\n\",\n    \"score = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2\\n\",\n    \"*Which feature did you attempt to predict? What was the reported prediction score? Is this feature is necessary for identifying customers' spending habits?*  \\n\",\n    \"**Hint:** The coefficient of determination, `R^2`, is scored between 0 and 1, with 1 being a perfect fit. A negative `R^2` implies the model fails to fit the data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize Feature Distributions\\n\",\n    \"To get a better understanding of the dataset, we can construct a scatter matrix of each of the six product features present in the data. If you found that the feature you attempted to predict above is relevant for identifying a specific customer, then the scatter matrix below may not show any correlation between that feature and the others. Conversely, if you believe that feature is not relevant for identifying a specific customer, the scatter matrix might show a correlation between that feature and another feature in the data. Run the code block below to produce a scatter matrix.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Produce a scatter matrix for each pair of features in the data\\n\",\n    \"pd.scatter_matrix(data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3\\n\",\n    \"*Are there any pairs of features which exhibit some degree of correlation? Does this confirm or deny your suspicions about the relevance of the feature you attempted to predict? How is the data for those features distributed?*  \\n\",\n    \"**Hint:** Is the data normally distributed? Where do most of the data points lie? \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Preprocessing\\n\",\n    \"In this section, you will preprocess the data to create a better representation of customers by performing a scaling on the data and detecting (and optionally removing) outliers. Preprocessing data is often times a critical step in assuring that results you obtain from your analysis are significant and meaningful.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Scaling\\n\",\n    \"If data is not normally distributed, especially if the mean and median vary significantly (indicating a large skew), it is most [often appropriate](http://econbrowser.com/archives/2014/02/use-of-logarithms-in-economics) to apply a non-linear scaling — particularly for financial data. One way to achieve this scaling is by using a [Box-Cox test](http://scipy.github.io/devdocs/generated/scipy.stats.boxcox.html), which calculates the best power transformation of the data that reduces skewness. A simpler approach which can work in most cases would be applying the natural logarithm.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign a copy of the data to `log_data` after applying a logarithm scaling. Use the `np.log` function for this.\\n\",\n    \" - Assign a copy of the sample data to `log_samples` after applying a logrithm scaling. Again, use `np.log`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Scale the data using the natural logarithm\\n\",\n    \"log_data = None\\n\",\n    \"\\n\",\n    \"# TODO: Scale the sample data using the natural logarithm\\n\",\n    \"log_samples = None\\n\",\n    \"\\n\",\n    \"# Produce a scatter matrix for each pair of newly-transformed features\\n\",\n    \"pd.scatter_matrix(log_data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"After applying a natural logarithm scaling to the data, the distribution of each feature should appear much more normal. For any pairs of features you may have identified earlier as being correlated, observe here whether that correlation is still present (and whether it is now stronger or weaker than before).\\n\",\n    \"\\n\",\n    \"Run the code below to see how the sample data has changed after having the natural logarithm applied to it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display the log-transformed sample data\\n\",\n    \"display(log_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Outlier Detection\\n\",\n    \"Detecting outliers in the data is extremely important in the data preprocessing step of any analysis. The presence of outliers can often skew results which take into consideration these data points. There are many \\\"rules of thumb\\\" for what constitutes an outlier in a dataset. Here, we will use [Tukey's Method for identfying outliers](http://datapigtechnologies.com/blog/index.php/highlighting-outliers-in-your-data-with-the-tukey-method/): An *outlier step* is calculated as 1.5 times the interquartile range (IQR). A data point with a feature that is beyond an outlier step outside of the IQR for that feature is considered abnormal.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the value of the 25th percentile for the given feature to `Q1`. Use `np.percentile` for this.\\n\",\n    \" - Assign the value of the 75th percentile for the given feature to `Q3`. Again, use `np.percentile`.\\n\",\n    \" - Assign the calculation of an outlier step for the given feature to `step`.\\n\",\n    \" - Optionally remove data points from the dataset by adding indices to the `outliers` list.\\n\",\n    \"\\n\",\n    \"**NOTE:** If you choose to remove any outliers, ensure that the sample data does not contain any of these points!  \\n\",\n    \"Once you have performed this implementation, the dataset will be stored in the variable `good_data`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# For each feature find the data points with extreme high or low values\\n\",\n    \"for feature in log_data.keys():\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q1 (25th percentile of the data) for the given feature\\n\",\n    \"    Q1 = None\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q3 (75th percentile of the data) for the given feature\\n\",\n    \"    Q3 = None\\n\",\n    \"    \\n\",\n    \"    # TODO: Use the interquartile range to calculate an outlier step (1.5 times the interquartile range)\\n\",\n    \"    step = None\\n\",\n    \"    \\n\",\n    \"    # Display the outliers\\n\",\n    \"    print \\\"Data points considered outliers for the feature '{}':\\\".format(feature)\\n\",\n    \"    display(log_data[~((log_data[feature] >= Q1 - step) & (log_data[feature] <= Q3 + step))])\\n\",\n    \"    \\n\",\n    \"# OPTIONAL: Select the indices for data points you wish to remove\\n\",\n    \"outliers  = []\\n\",\n    \"\\n\",\n    \"# Remove the outliers, if any were specified\\n\",\n    \"good_data = log_data.drop(log_data.index[outliers]).reset_index(drop = True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 4\\n\",\n    \"*Are there any data points considered outliers for more than one feature based on the definition above? Should these data points be removed from the dataset? If any data points were added to the `outliers` list to be removed, explain why.* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Feature Transformation\\n\",\n    \"In this section you will use principal component analysis (PCA) to draw conclusions about the underlying structure of the wholesale customer data. Since using PCA on a dataset calculates the dimensions which best maximize variance, we will find which compound combinations of features best describe customers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Implementation: PCA\\n\",\n    \"\\n\",\n    \"Now that the data has been scaled to a more normal distribution and has had any necessary outliers removed, we can now apply PCA to the `good_data` to discover which dimensions about the data best maximize the variance of features involved. In addition to finding these dimensions, PCA will also report the *explained variance ratio* of each dimension — how much variance within the data is explained by that dimension alone. Note that a component (dimension) from PCA can be considered a new \\\"feature\\\" of the space, however it is a composition of the original features present in the data.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Import `sklearn.decomposition.PCA` and assign the results of fitting PCA in six dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with the same number of dimensions as features\\n\",\n    \"pca = None\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = None\\n\",\n    \"\\n\",\n    \"# Generate PCA results plot\\n\",\n    \"pca_results = rs.pca_results(good_data, pca)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 5\\n\",\n    \"*How much variance in the data is explained* ***in total*** *by the first and second principal component? What about the first four principal components? Using the visualization provided above, discuss what the first four dimensions best represent in terms of customer spending.*  \\n\",\n    \"**Hint:** A positive increase in a specific dimension corresponds with an *increase* of the *positive-weighted* features and a *decrease* of the *negative-weighted* features. The rate of increase or decrease is based on the indivdual feature weights.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it in six dimensions. Observe the numerical value for the first four dimensions of the sample points. Consider if this is consistent with your initial interpretation of the sample points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display sample log-data after having a PCA transformation applied\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = pca_results.index.values))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Dimensionality Reduction\\n\",\n    \"When using principal component analysis, one of the main goals is to reduce the dimensionality of the data — in effect, reducing the complexity of the problem. Dimensionality reduction comes at a cost: Fewer dimensions used implies less of the total variance in the data is being explained. Because of this, the *cumulative explained variance ratio* is extremely important for knowing how many dimensions are necessary for the problem. Additionally, if a signifiant amount of variance is explained by only two or three dimensions, the reduced data can be visualized afterwards.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the results of fitting PCA in two dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of `good_data` using `pca.transform`, and assign the reuslts to `reduced_data`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with only two dimensions\\n\",\n    \"pca = None\\n\",\n    \"\\n\",\n    \"# TODO: Transform the good data using the PCA fit above\\n\",\n    \"reduced_data = None\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = None\\n\",\n    \"\\n\",\n    \"# Create a DataFrame for the reduced data\\n\",\n    \"reduced_data = pd.DataFrame(reduced_data, columns = ['Dimension 1', 'Dimension 2'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it using only two dimensions. Observe how the values for the first two dimensions remains unchanged when compared to a PCA transformation in six dimensions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display sample log-data after applying PCA transformation in two dimensions\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = ['Dimension 1', 'Dimension 2']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Clustering\\n\",\n    \"\\n\",\n    \"In this section, you will choose to use either a K-Means clustering algorithm or a Gaussian Mixture Model clustering algorithm to identify the various customer segments hidden in the data. You will then recover specific data points from the clusters to understand their significance by transforming them back into their original dimension and scale. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 6\\n\",\n    \"*What are the advantages to using a K-Means clustering algorithm? What are the advantages to using a Gaussian Mixture Model clustering algorithm? Given your observations about the wholesale customer data so far, which of the two algorithms will you use and why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Creating Clusters\\n\",\n    \"Depending on the problem, the number of clusters that you expect to be in the data may already be known. When the number of clusters is not known *a priori*, there is no guarantee that a given number of clusters best segments the data, since it is unclear what structure exists in the data — if any. However, we can quantify the \\\"goodness\\\" of a clustering by calculating each data point's *silhouette coefficient*. The [silhouette coefficient](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html) for a data point measures how similar it is to its assigned cluster from -1 (dissimilar) to 1 (similar). Calculating the *mean* silhouette coefficient provides for a simple scoring method of a given clustering.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Fit a clustering algorithm to the `reduced_data` and assign it to `clusterer`.\\n\",\n    \" - Predict the cluster for each data point in `reduced_data` using `clusterer.predict` and assign them to `preds`.\\n\",\n    \" - Find the cluster centers using the algorithm's respective attribute and assign them to `centers`.\\n\",\n    \" - Predict the cluster for each sample data point in `pca_samples` and assign them `sample_preds`.\\n\",\n    \" - Import sklearn.metrics.silhouette_score and calculate the silhouette score of `reduced_data` against `preds`.\\n\",\n    \"   - Assign the silhouette score to `score` and print the result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Apply your clustering algorithm of choice to the reduced data \\n\",\n    \"clusterer = None\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each data point\\n\",\n    \"preds = None\\n\",\n    \"\\n\",\n    \"# TODO: Find the cluster centers\\n\",\n    \"centers = None\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each transformed sample data point\\n\",\n    \"sample_preds = None\\n\",\n    \"\\n\",\n    \"# TODO: Calculate the mean silhouette coefficient for the number of clusters chosen\\n\",\n    \"score = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 7\\n\",\n    \"*Report the silhouette score for several cluster numbers you tried. Of these, which number of clusters has the best silhouette score?* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cluster Visualization\\n\",\n    \"Once you've chosen the optimal number of clusters for your clustering algorithm using the scoring metric above, you can now visualize the results by executing the code block below. Note that, for experimentation purposes, you are welcome to adjust the number of clusters for your clustering algorithm to see various visualizations. The final visualization provided should, however, correspond with the optimal number of clusters. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display the results of the clustering from implementation\\n\",\n    \"rs.cluster_results(reduced_data, preds, centers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Recovery\\n\",\n    \"Each cluster present in the visualization above has a central point. These centers (or means) are not specifically data points from the data, but rather the *averages* of all the data points predicted in the respective clusters. For the problem of creating customer segments, a cluster's center point corresponds to *the average customer of that segment*. Since the data is currently reduced in dimension and scaled by a logarithm, we can recover the representative customer spending from these data points by applying the inverse transformations.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Apply the inverse transform to `centers` using `pca.inverse_transform` and assign the new centers to `log_centers`.\\n\",\n    \" - Apply the inverse function of `np.log` to `log_centers` using `np.exp` and assign the true centers to `true_centers`.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Inverse transform the centers\\n\",\n    \"log_centers = None\\n\",\n    \"\\n\",\n    \"# TODO: Exponentiate the centers\\n\",\n    \"true_centers = None\\n\",\n    \"\\n\",\n    \"# Display the true centers\\n\",\n    \"segments = ['Segment {}'.format(i) for i in range(0,len(centers))]\\n\",\n    \"true_centers = pd.DataFrame(np.round(true_centers), columns = data.keys())\\n\",\n    \"true_centers.index = segments\\n\",\n    \"display(true_centers)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 8\\n\",\n    \"Consider the total purchase cost of each product category for the representative data points above, and reference the statistical description of the dataset at the beginning of this project. *What set of establishments could each of the customer segments represent?*  \\n\",\n    \"**Hint:** A customer who is assigned to `'Cluster X'` should best identify with the establishments represented by the feature set of `'Segment X'`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 9\\n\",\n    \"*For each sample point, which customer segment from* ***Question 8*** *best represents it? Are the predictions for each sample point consistent with this?*\\n\",\n    \"\\n\",\n    \"Run the code block below to find which cluster each sample point is predicted to be.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display the predictions\\n\",\n    \"for i, pred in enumerate(sample_preds):\\n\",\n    \"    print \\\"Sample point\\\", i, \\\"predicted to be in Cluster\\\", pred\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this final section, you will investigate ways that you can make use of the clustered data. First, you will consider how the different groups of customers, the ***customer segments***, may be affected differently by a specific delivery scheme. Next, you will consider how giving a label to each customer (which *segment* that customer belongs to) can provide for additional features about the customer data. Finally, you will compare the ***customer segments*** to a hidden variable present in the data, to see whether the clustering identified certain relationships.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"### Question 10\\n\",\n    \"Companies will often run [A/B tests](https://en.wikipedia.org/wiki/A/B_testing) when making small changes to their products or services to determine whether making that change will affect its customers positively or negatively. The wholesale distributor is considering changing its delivery service from currently 5 days a week to 3 days a week. However, the distributor will only make this change in delivery service for customers that react positively. *How can the wholesale distributor use the customer segments to determine which customers, if any, would react positively to the change in delivery service?*  \\n\",\n    \"**Hint:** Can we assume the change affects all customers equally? How can we determine which group of customers it affects the most?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 11\\n\",\n    \"Additional structure is derived from originally unlabeled data when using clustering techniques. Since each customer has a ***customer segment*** it best identifies with (depending on the clustering algorithm applied), we can consider *'customer segment'* as an **engineered feature** for the data. Assume the wholesale distributor recently acquired ten new customers and each provided estimates for anticipated annual spending of each product category. Knowing these estimates, the wholesale distributor wants to classify each new customer to a ***customer segment*** to determine the most appropriate delivery service.  \\n\",\n    \"*How can the wholesale distributor label the new customers using only their estimated product spending and the* ***customer segment*** *data?*  \\n\",\n    \"**Hint:** A supervised learner could be used to train on the original customers. What would be the target variable?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualizing Underlying Distributions\\n\",\n    \"\\n\",\n    \"At the beginning of this project, it was discussed that the `'Channel'` and `'Region'` features would be excluded from the dataset so that the customer product categories were emphasized in the analysis. By reintroducing the `'Channel'` feature to the dataset, an interesting structure emerges when considering the same PCA dimensionality reduction applied earlier to the original dataset.\\n\",\n    \"\\n\",\n    \"Run the code block below to see how each data point is labeled either `'HoReCa'` (Hotel/Restaurant/Cafe) or `'Retail'` the reduced space. In addition, you will find the sample points are circled in the plot, which will identify their labeling.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Display the clustering results based on 'Channel' data\\n\",\n    \"rs.channel_results(reduced_data, outliers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 12\\n\",\n    \"*How well does the clustering algorithm and number of clusters you've chosen compare to this underlying distribution of Hotel/Restaurant/Cafe customers to Retailer customers? Are there customer segments that would be classified as purely 'Retailers' or 'Hotels/Restaurants/Cafes' by this distribution? Would you consider these classifications as consistent with your previous definition of the customer segments?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p3-creating-customer-segments/customer_segments.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Machine Learning Engineer Nanodegree\\n\",\n    \"## Unsupervised Learning\\n\",\n    \"## Project 3: Creating Customer Segments\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Welcome to the third project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with **'Implementation'** in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a `'TODO'` statement. Please be sure to read the instructions carefully!\\n\",\n    \"\\n\",\n    \"In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a **'Question X'** header. Carefully read each question and provide thorough answers in the following text boxes that begin with **'Answer:'**. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.  \\n\",\n    \"\\n\",\n    \">**Note:** Code and Markdown cells can be executed using the **Shift + Enter** keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Getting Started\\n\",\n    \"\\n\",\n    \"In this project, you will analyze a dataset containing data on various customers' annual spending amounts (reported in *monetary units*) of diverse product categories for internal structure. One goal of this project is to best describe the variation in the different types of customers that a wholesale distributor interacts with. Doing so would equip the distributor with insight into how to best structure their delivery service to meet the needs of each customer.\\n\",\n    \"\\n\",\n    \"The dataset for this project can be found on the [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Wholesale+customers). For the purposes of this project, the features `'Channel'` and `'Region'` will be excluded in the analysis — with focus instead on the six product categories recorded for customers.\\n\",\n    \"\\n\",\n    \"Run the code block below to load the wholesale customers dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Wholesale customers dataset has 440 samples with 6 features each.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import libraries necessary for this project\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import renders_py3 as rs\\n\",\n    \"from IPython.display import display # Allows the use of display() for DataFrames\\n\",\n    \"\\n\",\n    \"# Show matplotlib plots inline (nicely formatted in the notebook)\\n\",\n    \"%matplotlib inline\\n\",\n    \"\\n\",\n    \"# Load the wholesale customers dataset\\n\",\n    \"try:\\n\",\n    \"    data = pd.read_csv(\\\"customers.csv\\\")\\n\",\n    \"    data.drop(['Region', 'Channel'], axis = 1, inplace = True)\\n\",\n    \"    print(\\\"Wholesale customers dataset has {} samples with {} features each.\\\".format(*data.shape))\\n\",\n    \"except:\\n\",\n    \"    print(\\\"Dataset could not be loaded. Is the dataset missing?\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Exploration\\n\",\n    \"In this section, you will begin exploring the data through visualizations and code to understand how each feature is related to the others. You will observe a statistical description of the dataset, consider the relevance of each feature, and select a few sample data points from the dataset which you will track through the course of this project.\\n\",\n    \"\\n\",\n    \"Run the code block below to observe a statistical description of the dataset. Note that the dataset is composed of six important product categories: **'Fresh'**, **'Milk'**, **'Grocery'**, **'Frozen'**, **'Detergents_Paper'**, and **'Delicatessen'**. Consider what each category represents in terms of products you could purchase.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>12000.297727</td>\\n\",\n       \"      <td>5796.265909</td>\\n\",\n       \"      <td>7951.277273</td>\\n\",\n       \"      <td>3071.931818</td>\\n\",\n       \"      <td>2881.493182</td>\\n\",\n       \"      <td>1524.870455</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>12647.328865</td>\\n\",\n       \"      <td>7380.377175</td>\\n\",\n       \"      <td>9503.162829</td>\\n\",\n       \"      <td>4854.673333</td>\\n\",\n       \"      <td>4767.854448</td>\\n\",\n       \"      <td>2820.105937</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>55.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>25.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>3127.750000</td>\\n\",\n       \"      <td>1533.000000</td>\\n\",\n       \"      <td>2153.000000</td>\\n\",\n       \"      <td>742.250000</td>\\n\",\n       \"      <td>256.750000</td>\\n\",\n       \"      <td>408.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>8504.000000</td>\\n\",\n       \"      <td>3627.000000</td>\\n\",\n       \"      <td>4755.500000</td>\\n\",\n       \"      <td>1526.000000</td>\\n\",\n       \"      <td>816.500000</td>\\n\",\n       \"      <td>965.500000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>16933.750000</td>\\n\",\n       \"      <td>7190.250000</td>\\n\",\n       \"      <td>10655.750000</td>\\n\",\n       \"      <td>3554.250000</td>\\n\",\n       \"      <td>3922.000000</td>\\n\",\n       \"      <td>1820.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>112151.000000</td>\\n\",\n       \"      <td>73498.000000</td>\\n\",\n       \"      <td>92780.000000</td>\\n\",\n       \"      <td>60869.000000</td>\\n\",\n       \"      <td>40827.000000</td>\\n\",\n       \"      <td>47943.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Fresh          Milk       Grocery        Frozen  \\\\\\n\",\n       \"count     440.000000    440.000000    440.000000    440.000000   \\n\",\n       \"mean    12000.297727   5796.265909   7951.277273   3071.931818   \\n\",\n       \"std     12647.328865   7380.377175   9503.162829   4854.673333   \\n\",\n       \"min         3.000000     55.000000      3.000000     25.000000   \\n\",\n       \"25%      3127.750000   1533.000000   2153.000000    742.250000   \\n\",\n       \"50%      8504.000000   3627.000000   4755.500000   1526.000000   \\n\",\n       \"75%     16933.750000   7190.250000  10655.750000   3554.250000   \\n\",\n       \"max    112151.000000  73498.000000  92780.000000  60869.000000   \\n\",\n       \"\\n\",\n       \"       Detergents_Paper  Delicatessen  \\n\",\n       \"count        440.000000    440.000000  \\n\",\n       \"mean        2881.493182   1524.870455  \\n\",\n       \"std         4767.854448   2820.105937  \\n\",\n       \"min            3.000000      3.000000  \\n\",\n       \"25%          256.750000    408.250000  \\n\",\n       \"50%          816.500000    965.500000  \\n\",\n       \"75%         3922.000000   1820.250000  \\n\",\n       \"max        40827.000000  47943.000000  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display a description of the dataset\\n\",\n    \"display(data.describe())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>12669</td>\\n\",\n       \"      <td>9656</td>\\n\",\n       \"      <td>7561</td>\\n\",\n       \"      <td>214</td>\\n\",\n       \"      <td>2674</td>\\n\",\n       \"      <td>1338</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>7057</td>\\n\",\n       \"      <td>9810</td>\\n\",\n       \"      <td>9568</td>\\n\",\n       \"      <td>1762</td>\\n\",\n       \"      <td>3293</td>\\n\",\n       \"      <td>1776</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>6353</td>\\n\",\n       \"      <td>8808</td>\\n\",\n       \"      <td>7684</td>\\n\",\n       \"      <td>2405</td>\\n\",\n       \"      <td>3516</td>\\n\",\n       \"      <td>7844</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>13265</td>\\n\",\n       \"      <td>1196</td>\\n\",\n       \"      <td>4221</td>\\n\",\n       \"      <td>6404</td>\\n\",\n       \"      <td>507</td>\\n\",\n       \"      <td>1788</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>22615</td>\\n\",\n       \"      <td>5410</td>\\n\",\n       \"      <td>7198</td>\\n\",\n       \"      <td>3915</td>\\n\",\n       \"      <td>1777</td>\\n\",\n       \"      <td>5185</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Fresh  Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0  12669  9656     7561     214              2674          1338\\n\",\n       \"1   7057  9810     9568    1762              3293          1776\\n\",\n       \"2   6353  8808     7684    2405              3516          7844\\n\",\n       \"3  13265  1196     4221    6404               507          1788\\n\",\n       \"4  22615  5410     7198    3915              1777          5185\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Selecting Samples\\n\",\n    \"To get a better understanding of the customers and how their data will transform through the analysis, it would be best to select a few sample data points and explore them in more detail. In the code block below, add **three** indices of your choice to the `indices` list which will represent the customers to track. It is suggested to try different sets of samples until you obtain customers that vary significantly from one another.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Chosen samples of wholesale customers dataset:\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>16117</td>\\n\",\n       \"      <td>46197</td>\\n\",\n       \"      <td>92780</td>\\n\",\n       \"      <td>1026</td>\\n\",\n       \"      <td>40827</td>\\n\",\n       \"      <td>2944</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>112151</td>\\n\",\n       \"      <td>29627</td>\\n\",\n       \"      <td>18148</td>\\n\",\n       \"      <td>16745</td>\\n\",\n       \"      <td>4948</td>\\n\",\n       \"      <td>8550</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>333</td>\\n\",\n       \"      <td>7021</td>\\n\",\n       \"      <td>15601</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>550</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   16117  46197    92780    1026             40827          2944\\n\",\n       \"1  112151  29627    18148   16745              4948          8550\\n\",\n       \"2       3    333     7021   15601                15           550\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Select three indices of your choice you wish to sample from the dataset\\n\",\n    \"indices = [85, 181, 338]\\n\",\n    \"\\n\",\n    \"# Create a DataFrame of the chosen samples\\n\",\n    \"samples = pd.DataFrame(data.loc[indices], columns = data.keys()).reset_index(drop = True)\\n\",\n    \"print(\\\"Chosen samples of wholesale customers dataset:\\\")\\n\",\n    \"display(samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 1\\n\",\n    \"Consider the total purchase cost of each product category and the statistical description of the dataset above for your sample customers.  \\n\",\n    \"*What kind of establishment (customer) could each of the three samples you've chosen represent?*  \\n\",\n    \"**Hint:** Examples of establishments include places like markets, cafes, and retailers, among many others. Avoid using names for establishments, such as saying *\\\"McDonalds\\\"* when describing a sample customer as a restaurant.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"1. Index 85: Retailer\\n\",\n    \"    - Highest spending on (1) detergents and paper and (2) groceries (each) of all customers in dataset. (1) -> May have a large 'home goods' focus.\\n\",\n    \"    - Milk: Spends more than the median amount \\n\",\n    \"    - Frozen: Spends less than the median customer\\n\",\n    \"\\n\",\n    \"2. Index 181: Large market\\n\",\n    \"    - High spending on most product categories: 8000+ MUs spent on each of all food-related goods, nearly 5000 MUs spent on detergents and paper (highest quartile for spending in all good categories).\\n\",\n    \"    - Highest spending on fresh goods of all customers in dataset\\n\",\n    \"    - Focus on fresh goods, which means it likely has a large market component.\\n\",\n    \"    - Little emphasis on detergent and paper, which indicates it is unlikely to be a shopping mall type shop.\\n\",\n    \"\\n\",\n    \"3. Index 338: Restaurant\\n\",\n    \"    - Much smaller scale than the previous two customers discussed.\\n\",\n    \"        - Amount spent on Fresh is least in dataset.\\n\",\n    \"        - Spending on each of Milk, Detergents and Paper is in the bottom quartile.\\n\",\n    \"    - Needs groceries and frozen food to produce food for customers. May serve delicatessen type meats. Needs milk for coffee and tea.\\n\",\n    \"    - May be cheaper so it doesn't need much fresh food.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Relevance\\n\",\n    \"One interesting thought to consider is if one (or more) of the six product categories is actually relevant for understanding customer purchasing. That is to say, is it possible to determine whether customers purchasing some amount of one category of products will necessarily purchase some proportional amount of another category of products? We can make this determination quite easily by training a supervised regression learner on a subset of the data with one feature removed, and then score how well that model can predict the removed feature.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign `new_data` a copy of the data by removing a feature of your choice using the `DataFrame.drop` function.\\n\",\n    \" - Use `sklearn.cross_validation.train_test_split` to split the dataset into training and testing sets.\\n\",\n    \"   - Use the removed feature as your target label. Set a `test_size` of `0.25` and set a `random_state`.\\n\",\n    \" - Import a decision tree regressor, set a `random_state`, and fit the learner to the training data.\\n\",\n    \" - Report the prediction score of the testing set using the regressor's `score` function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Score of prediction on test set:  0.602801978878\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature\\n\",\n    \"new_data = data.drop(\\\"Grocery\\\", axis=1)\\n\",\n    \"new_data\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# TODO: Split the data into training and testing sets using the given feature as the target\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(new_data, data[\\\"Grocery\\\"], test_size=0.25, random_state=0)\\n\",\n    \"\\n\",\n    \"# TODO: Create a decision tree regressor and fit it to the training set\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"regressor = DecisionTreeRegressor(random_state=0).fit(X_train, y_train)\\n\",\n    \"\\n\",\n    \"# TODO: Report the score of the prediction using the testing set\\n\",\n    \"score = regressor.score(X_test, y_test)\\n\",\n    \"print(\\\"Score of prediction on test set: \\\", score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 2\\n\",\n    \"*Which feature did you attempt to predict? What was the reported prediction score? Is this feature is necessary for identifying customers' spending habits?*  \\n\",\n    \"**Hint:** The coefficient of determination, `R^2`, is scored between 0 and 1, with 1 being a perfect fit. A negative `R^2` implies the model fails to fit the data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- I attempted to predict the **`Grocery`** feature. \\n\",\n    \"- The reported prediction score was **0.6028**. \\n\",\n    \"- This feature is **not absolutely necessary** to identify customers' spending habits because it appears loosely correlated with the other five features, but the `R^2` score is not sufficiently high for us to be confident in dropping it. \\n\",\n    \"\\n\",\n    \"I compared `Grocery`'s `R^2` score with the other features' `R^2` scores below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Feature is:  Fresh\\n\",\n      \"Score of prediction on test set:  -0.252469807688\\n\",\n      \"Feature is:  Milk\\n\",\n      \"Score of prediction on test set:  0.365725292736\\n\",\n      \"Feature is:  Grocery\\n\",\n      \"Score of prediction on test set:  0.602801978878\\n\",\n      \"Feature is:  Frozen\\n\",\n      \"Score of prediction on test set:  0.253973446697\\n\",\n      \"Feature is:  Detergents_Paper\\n\",\n      \"Score of prediction on test set:  0.728655181254\\n\",\n      \"Feature is:  Delicatessen\\n\",\n      \"Score of prediction on test set:  -11.6636871594\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# For experimentation's sake\\n\",\n    \"features_list = [\\\"Fresh\\\",\\\"Milk\\\",\\\"Grocery\\\",\\\"Frozen\\\",\\\"Detergents_Paper\\\",\\\"Delicatessen\\\"]\\n\",\n    \"\\n\",\n    \"for feature in features_list:\\n\",\n    \"    # TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature\\n\",\n    \"    new_data = data.drop(feature, axis=1)\\n\",\n    \"    new_data\\n\",\n    \"    print(\\\"Feature is: \\\", feature)\\n\",\n    \"\\n\",\n    \"    # TODO: Split the data into training and testing sets using the given feature as the target\\n\",\n    \"    X_train, X_test, y_train, y_test = train_test_split(new_data, data[feature], test_size=0.25, random_state=0)\\n\",\n    \"\\n\",\n    \"    # TODO: Create a decision tree regressor and fit it to the training set\\n\",\n    \"    regressor = DecisionTreeRegressor(random_state=0).fit(X_train, y_train)\\n\",\n    \"\\n\",\n    \"    # TODO: Report the score of the prediction using the testing set\\n\",\n    \"    score = regressor.score(X_test, y_test)\\n\",\n    \"    print(\\\"Score of prediction on test set: \\\", score)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**:\\n\",\n    \"- Notice that the Delicatessen R^2 score is very negative and the Fresh R^2 score is quite negative, so those definitely cannot be dropped as the model fails to fit the data. \\n\",\n    \"- The feature that might be okay to remove is Detergents_Paper, followed by Grocery. \\n\",\n    \"- Milk and Frozen are loosely correlated with the others but not enough to say much.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize Feature Distributions\\n\",\n    \"To get a better understanding of the dataset, we can construct a scatter matrix of each of the six product features present in the data. If you found that the feature you attempted to predict above is relevant for identifying a specific customer, then the scatter matrix below may not show any correlation between that feature and the others. Conversely, if you believe that feature is not relevant for identifying a specific customer, the scatter matrix might show a correlation between that feature and another feature in the data. Run the code block below to produce a scatter matrix.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nNy7+WPF7swAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c66b38>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Produce a scatter matrix for each pair of features in the data\\n\",\n    \"pd.scatter_matrix(data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 3\\n\",\n    \"*Are there any pairs of features which exhibit some degree of correlation? Does this confirm or deny your suspicions about the relevance of the feature you attempted to predict? How is the data for those features distributed?*  \\n\",\n    \"**Hint:** Is the data normally distributed? Where do most of the data points lie? \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"* The pair (`Detergents_Paper`, `Grocery`) exhibits a high degree of correlation. The pairs (`Milk`,`Grocery`) and (`Milk`,`Detergents_Paper`) also exhibit some degree of correlation.\\n\",\n    \"* This confirms that `Grocery` might not be that relevant (necessary).\\n\",\n    \"* The data is not normally distributed - it is positively skewed. The features more closely resemble the log-normal distribution.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Preprocessing\\n\",\n    \"In this section, you will preprocess the data to create a better representation of customers by performing a scaling on the data and detecting (and optionally removing) outliers. Preprocessing data is often times a critical step in assuring that results you obtain from your analysis are significant and meaningful.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Feature Scaling\\n\",\n    \"If data is not normally distributed, especially if the mean and median vary significantly (indicating a large skew), it is most [often appropriate](http://econbrowser.com/archives/2014/02/use-of-logarithms-in-economics) to apply a non-linear scaling — particularly for financial data. One way to achieve this scaling is by using a [Box-Cox test](http://scipy.github.io/devdocs/generated/scipy.stats.boxcox.html), which calculates the best power transformation of the data that reduces skewness. A simpler approach which can work in most cases would be applying the natural logarithm.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign a copy of the data to `log_data` after applying a logarithm scaling. Use the `np.log` function for this.\\n\",\n    \" - Assign a copy of the sample data to `log_samples` after applying a logrithm scaling. Again, use `np.log`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11e1bd438>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Scale the data using the natural logarithm\\n\",\n    \"log_data = np.log(data)\\n\",\n    \"\\n\",\n    \"# TODO: Scale the sample data using the natural logarithm\\n\",\n    \"log_samples = np.log(samples)\\n\",\n    \"\\n\",\n    \"# Produce a scatter matrix for each pair of newly-transformed features\\n\",\n    \"pd.scatter_matrix(log_data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"After applying a natural logarithm scaling to the data, the distribution of each feature should appear much more normal. For any pairs of features you may have identified earlier as being correlated, observe here whether that correlation is still present (and whether it is now stronger or weaker than before).\\n\",\n    \"\\n\",\n    \"* The correlations are still present and appear stronger than before.\\n\",\n    \"\\n\",\n    \"Run the code below to see how the sample data has changed after having the natural logarithm applied to it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>9.687630</td>\\n\",\n       \"      <td>10.740670</td>\\n\",\n       \"      <td>11.437986</td>\\n\",\n       \"      <td>6.933423</td>\\n\",\n       \"      <td>10.617099</td>\\n\",\n       \"      <td>7.987524</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>11.627601</td>\\n\",\n       \"      <td>10.296441</td>\\n\",\n       \"      <td>9.806316</td>\\n\",\n       \"      <td>9.725855</td>\\n\",\n       \"      <td>8.506739</td>\\n\",\n       \"      <td>9.053687</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>5.808142</td>\\n\",\n       \"      <td>8.856661</td>\\n\",\n       \"      <td>9.655090</td>\\n\",\n       \"      <td>2.708050</td>\\n\",\n       \"      <td>6.309918</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"       Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   9.687630  10.740670  11.437986  6.933423         10.617099      7.987524\\n\",\n       \"1  11.627601  10.296441   9.806316  9.725855          8.506739      9.053687\\n\",\n       \"2   1.098612   5.808142   8.856661  9.655090          2.708050      6.309918\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the log-transformed sample data\\n\",\n    \"display(log_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Outlier Detection\\n\",\n    \"Detecting outliers in the data is extremely important in the data preprocessing step of any analysis. The presence of outliers can often skew results which take into consideration these data points. There are many \\\"rules of thumb\\\" for what constitutes an outlier in a dataset. Here, we will use [Tukey's Method for identfying outliers](http://datapigtechnologies.com/blog/index.php/highlighting-outliers-in-your-data-with-the-tukey-method/): An *outlier step* is calculated as 1.5 times the interquartile range (IQR). A data point with a feature that is beyond an outlier step outside of the IQR for that feature is considered abnormal.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the value of the 25th percentile for the given feature to `Q1`. Use `np.percentile` for this.\\n\",\n    \" - Assign the value of the 75th percentile for the given feature to `Q3`. Again, use `np.percentile`.\\n\",\n    \" - Assign the calculation of an outlier step for the given feature to `step`.\\n\",\n    \" - Optionally remove data points from the dataset by adding indices to the `outliers` list.\\n\",\n    \"\\n\",\n    \"**NOTE:** If you choose to remove any outliers, ensure that the sample data does not contain any of these points!  \\n\",\n    \"Once you have performed this implementation, the dataset will be stored in the variable `good_data`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Fresh':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>4.442651</td>\\n\",\n       \"      <td>9.950323</td>\\n\",\n       \"      <td>10.732651</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"      <td>10.095388</td>\\n\",\n       \"      <td>7.260523</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>7.335634</td>\\n\",\n       \"      <td>8.911530</td>\\n\",\n       \"      <td>5.164786</td>\\n\",\n       \"      <td>8.151333</td>\\n\",\n       \"      <td>3.295837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>81</th>\\n\",\n       \"      <td>5.389072</td>\\n\",\n       \"      <td>9.163249</td>\\n\",\n       \"      <td>9.575192</td>\\n\",\n       \"      <td>5.645447</td>\\n\",\n       \"      <td>8.964184</td>\\n\",\n       \"      <td>5.049856</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>95</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>7.979339</td>\\n\",\n       \"      <td>8.740657</td>\\n\",\n       \"      <td>6.086775</td>\\n\",\n       \"      <td>5.407172</td>\\n\",\n       \"      <td>6.563856</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>96</th>\\n\",\n       \"      <td>3.135494</td>\\n\",\n       \"      <td>7.869402</td>\\n\",\n       \"      <td>9.001839</td>\\n\",\n       \"      <td>4.976734</td>\\n\",\n       \"      <td>8.262043</td>\\n\",\n       \"      <td>5.379897</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>4.941642</td>\\n\",\n       \"      <td>9.087834</td>\\n\",\n       \"      <td>8.248791</td>\\n\",\n       \"      <td>4.955827</td>\\n\",\n       \"      <td>6.967909</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>171</th>\\n\",\n       \"      <td>5.298317</td>\\n\",\n       \"      <td>10.160530</td>\\n\",\n       \"      <td>9.894245</td>\\n\",\n       \"      <td>6.478510</td>\\n\",\n       \"      <td>9.079434</td>\\n\",\n       \"      <td>8.740337</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>193</th>\\n\",\n       \"      <td>5.192957</td>\\n\",\n       \"      <td>8.156223</td>\\n\",\n       \"      <td>9.917982</td>\\n\",\n       \"      <td>6.865891</td>\\n\",\n       \"      <td>8.633731</td>\\n\",\n       \"      <td>6.501290</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>218</th>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"      <td>8.923191</td>\\n\",\n       \"      <td>9.629380</td>\\n\",\n       \"      <td>7.158514</td>\\n\",\n       \"      <td>8.475746</td>\\n\",\n       \"      <td>8.759669</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>304</th>\\n\",\n       \"      <td>5.081404</td>\\n\",\n       \"      <td>8.917311</td>\\n\",\n       \"      <td>10.117510</td>\\n\",\n       \"      <td>6.424869</td>\\n\",\n       \"      <td>9.374413</td>\\n\",\n       \"      <td>7.787382</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>305</th>\\n\",\n       \"      <td>5.493061</td>\\n\",\n       \"      <td>9.468001</td>\\n\",\n       \"      <td>9.088399</td>\\n\",\n       \"      <td>6.683361</td>\\n\",\n       \"      <td>8.271037</td>\\n\",\n       \"      <td>5.351858</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>338</th>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>5.808142</td>\\n\",\n       \"      <td>8.856661</td>\\n\",\n       \"      <td>9.655090</td>\\n\",\n       \"      <td>2.708050</td>\\n\",\n       \"      <td>6.309918</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>353</th>\\n\",\n       \"      <td>4.762174</td>\\n\",\n       \"      <td>8.742574</td>\\n\",\n       \"      <td>9.961898</td>\\n\",\n       \"      <td>5.429346</td>\\n\",\n       \"      <td>9.069007</td>\\n\",\n       \"      <td>7.013016</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>355</th>\\n\",\n       \"      <td>5.247024</td>\\n\",\n       \"      <td>6.588926</td>\\n\",\n       \"      <td>7.606885</td>\\n\",\n       \"      <td>5.501258</td>\\n\",\n       \"      <td>5.214936</td>\\n\",\n       \"      <td>4.844187</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>357</th>\\n\",\n       \"      <td>3.610918</td>\\n\",\n       \"      <td>7.150701</td>\\n\",\n       \"      <td>10.011086</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>8.816853</td>\\n\",\n       \"      <td>4.700480</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>412</th>\\n\",\n       \"      <td>4.574711</td>\\n\",\n       \"      <td>8.190077</td>\\n\",\n       \"      <td>9.425452</td>\\n\",\n       \"      <td>4.584967</td>\\n\",\n       \"      <td>7.996317</td>\\n\",\n       \"      <td>4.127134</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"65   4.442651   9.950323  10.732651  3.583519         10.095388      7.260523\\n\",\n       \"66   2.197225   7.335634   8.911530  5.164786          8.151333      3.295837\\n\",\n       \"81   5.389072   9.163249   9.575192  5.645447          8.964184      5.049856\\n\",\n       \"95   1.098612   7.979339   8.740657  6.086775          5.407172      6.563856\\n\",\n       \"96   3.135494   7.869402   9.001839  4.976734          8.262043      5.379897\\n\",\n       \"128  4.941642   9.087834   8.248791  4.955827          6.967909      1.098612\\n\",\n       \"171  5.298317  10.160530   9.894245  6.478510          9.079434      8.740337\\n\",\n       \"193  5.192957   8.156223   9.917982  6.865891          8.633731      6.501290\\n\",\n       \"218  2.890372   8.923191   9.629380  7.158514          8.475746      8.759669\\n\",\n       \"304  5.081404   8.917311  10.117510  6.424869          9.374413      7.787382\\n\",\n       \"305  5.493061   9.468001   9.088399  6.683361          8.271037      5.351858\\n\",\n       \"338  1.098612   5.808142   8.856661  9.655090          2.708050      6.309918\\n\",\n       \"353  4.762174   8.742574   9.961898  5.429346          9.069007      7.013016\\n\",\n       \"355  5.247024   6.588926   7.606885  5.501258          5.214936      4.844187\\n\",\n       \"357  3.610918   7.150701  10.011086  4.919981          8.816853      4.700480\\n\",\n       \"412  4.574711   8.190077   9.425452  4.584967          7.996317      4.127134\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Milk':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>86</th>\\n\",\n       \"      <td>10.039983</td>\\n\",\n       \"      <td>11.205013</td>\\n\",\n       \"      <td>10.377047</td>\\n\",\n       \"      <td>6.894670</td>\\n\",\n       \"      <td>9.906981</td>\\n\",\n       \"      <td>6.805723</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>98</th>\\n\",\n       \"      <td>6.220590</td>\\n\",\n       \"      <td>4.718499</td>\\n\",\n       \"      <td>6.656727</td>\\n\",\n       \"      <td>6.796824</td>\\n\",\n       \"      <td>4.025352</td>\\n\",\n       \"      <td>4.882802</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>356</th>\\n\",\n       \"      <td>10.029503</td>\\n\",\n       \"      <td>4.897840</td>\\n\",\n       \"      <td>5.384495</td>\\n\",\n       \"      <td>8.057377</td>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>6.306275</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh       Milk    Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"86   10.039983  11.205013  10.377047  6.894670          9.906981      6.805723\\n\",\n       \"98    6.220590   4.718499   6.656727  6.796824          4.025352      4.882802\\n\",\n       \"154   6.432940   4.007333   4.919981  4.317488          1.945910      2.079442\\n\",\n       \"356  10.029503   4.897840   5.384495  8.057377          2.197225      6.306275\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Grocery':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>9.923192</td>\\n\",\n       \"      <td>7.036148</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>8.390949</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>6.882437</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh      Milk   Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"75   9.923192  7.036148  1.098612  8.390949          1.098612      6.882437\\n\",\n       \"154  6.432940  4.007333  4.919981  4.317488          1.945910      2.079442\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Frozen':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>38</th>\\n\",\n       \"      <td>8.431853</td>\\n\",\n       \"      <td>9.663261</td>\\n\",\n       \"      <td>9.723703</td>\\n\",\n       \"      <td>3.496508</td>\\n\",\n       \"      <td>8.847360</td>\\n\",\n       \"      <td>6.070738</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>57</th>\\n\",\n       \"      <td>8.597297</td>\\n\",\n       \"      <td>9.203618</td>\\n\",\n       \"      <td>9.257892</td>\\n\",\n       \"      <td>3.637586</td>\\n\",\n       \"      <td>8.932213</td>\\n\",\n       \"      <td>7.156177</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>4.442651</td>\\n\",\n       \"      <td>9.950323</td>\\n\",\n       \"      <td>10.732651</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"      <td>10.095388</td>\\n\",\n       \"      <td>7.260523</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>145</th>\\n\",\n       \"      <td>10.000569</td>\\n\",\n       \"      <td>9.034080</td>\\n\",\n       \"      <td>10.457143</td>\\n\",\n       \"      <td>3.737670</td>\\n\",\n       \"      <td>9.440738</td>\\n\",\n       \"      <td>8.396155</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>175</th>\\n\",\n       \"      <td>7.759187</td>\\n\",\n       \"      <td>8.967632</td>\\n\",\n       \"      <td>9.382106</td>\\n\",\n       \"      <td>3.951244</td>\\n\",\n       \"      <td>8.341887</td>\\n\",\n       \"      <td>7.436617</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>264</th>\\n\",\n       \"      <td>6.978214</td>\\n\",\n       \"      <td>9.177714</td>\\n\",\n       \"      <td>9.645041</td>\\n\",\n       \"      <td>4.110874</td>\\n\",\n       \"      <td>8.696176</td>\\n\",\n       \"      <td>7.142827</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>325</th>\\n\",\n       \"      <td>10.395650</td>\\n\",\n       \"      <td>9.728181</td>\\n\",\n       \"      <td>9.519735</td>\\n\",\n       \"      <td>11.016479</td>\\n\",\n       \"      <td>7.148346</td>\\n\",\n       \"      <td>8.632128</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>420</th>\\n\",\n       \"      <td>8.402007</td>\\n\",\n       \"      <td>8.569026</td>\\n\",\n       \"      <td>9.490015</td>\\n\",\n       \"      <td>3.218876</td>\\n\",\n       \"      <td>8.827321</td>\\n\",\n       \"      <td>7.239215</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>429</th>\\n\",\n       \"      <td>9.060331</td>\\n\",\n       \"      <td>7.467371</td>\\n\",\n       \"      <td>8.183118</td>\\n\",\n       \"      <td>3.850148</td>\\n\",\n       \"      <td>4.430817</td>\\n\",\n       \"      <td>7.824446</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>439</th>\\n\",\n       \"      <td>7.932721</td>\\n\",\n       \"      <td>7.437206</td>\\n\",\n       \"      <td>7.828038</td>\\n\",\n       \"      <td>4.174387</td>\\n\",\n       \"      <td>6.167516</td>\\n\",\n       \"      <td>3.951244</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh      Milk    Grocery     Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"38    8.431853  9.663261   9.723703   3.496508          8.847360      6.070738\\n\",\n       \"57    8.597297  9.203618   9.257892   3.637586          8.932213      7.156177\\n\",\n       \"65    4.442651  9.950323  10.732651   3.583519         10.095388      7.260523\\n\",\n       \"145  10.000569  9.034080  10.457143   3.737670          9.440738      8.396155\\n\",\n       \"175   7.759187  8.967632   9.382106   3.951244          8.341887      7.436617\\n\",\n       \"264   6.978214  9.177714   9.645041   4.110874          8.696176      7.142827\\n\",\n       \"325  10.395650  9.728181   9.519735  11.016479          7.148346      8.632128\\n\",\n       \"420   8.402007  8.569026   9.490015   3.218876          8.827321      7.239215\\n\",\n       \"429   9.060331  7.467371   8.183118   3.850148          4.430817      7.824446\\n\",\n       \"439   7.932721  7.437206   7.828038   4.174387          6.167516      3.951244\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Detergents_Paper':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>9.923192</td>\\n\",\n       \"      <td>7.036148</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>8.390949</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>6.882437</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>161</th>\\n\",\n       \"      <td>9.428190</td>\\n\",\n       \"      <td>6.291569</td>\\n\",\n       \"      <td>5.645447</td>\\n\",\n       \"      <td>6.995766</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"      <td>7.711101</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Fresh      Milk   Grocery    Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"75   9.923192  7.036148  1.098612  8.390949          1.098612      6.882437\\n\",\n       \"161  9.428190  6.291569  5.645447  6.995766          1.098612      7.711101\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Data points considered outliers for the feature 'Delicatessen':\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>2.197225</td>\\n\",\n       \"      <td>7.335634</td>\\n\",\n       \"      <td>8.911530</td>\\n\",\n       \"      <td>5.164786</td>\\n\",\n       \"      <td>8.151333</td>\\n\",\n       \"      <td>3.295837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>109</th>\\n\",\n       \"      <td>7.248504</td>\\n\",\n       \"      <td>9.724899</td>\\n\",\n       \"      <td>10.274568</td>\\n\",\n       \"      <td>6.511745</td>\\n\",\n       \"      <td>6.728629</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>4.941642</td>\\n\",\n       \"      <td>9.087834</td>\\n\",\n       \"      <td>8.248791</td>\\n\",\n       \"      <td>4.955827</td>\\n\",\n       \"      <td>6.967909</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>137</th>\\n\",\n       \"      <td>8.034955</td>\\n\",\n       \"      <td>8.997147</td>\\n\",\n       \"      <td>9.021840</td>\\n\",\n       \"      <td>6.493754</td>\\n\",\n       \"      <td>6.580639</td>\\n\",\n       \"      <td>3.583519</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>142</th>\\n\",\n       \"      <td>10.519646</td>\\n\",\n       \"      <td>8.875147</td>\\n\",\n       \"      <td>9.018332</td>\\n\",\n       \"      <td>8.004700</td>\\n\",\n       \"      <td>2.995732</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>6.432940</td>\\n\",\n       \"      <td>4.007333</td>\\n\",\n       \"      <td>4.919981</td>\\n\",\n       \"      <td>4.317488</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"      <td>2.079442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>183</th>\\n\",\n       \"      <td>10.514529</td>\\n\",\n       \"      <td>10.690808</td>\\n\",\n       \"      <td>9.911952</td>\\n\",\n       \"      <td>10.505999</td>\\n\",\n       \"      <td>5.476464</td>\\n\",\n       \"      <td>10.777768</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>184</th>\\n\",\n       \"      <td>5.789960</td>\\n\",\n       \"      <td>6.822197</td>\\n\",\n       \"      <td>8.457443</td>\\n\",\n       \"      <td>4.304065</td>\\n\",\n       \"      <td>5.811141</td>\\n\",\n       \"      <td>2.397895</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>187</th>\\n\",\n       \"      <td>7.798933</td>\\n\",\n       \"      <td>8.987447</td>\\n\",\n       \"      <td>9.192075</td>\\n\",\n       \"      <td>8.743372</td>\\n\",\n       \"      <td>8.148735</td>\\n\",\n       \"      <td>1.098612</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>203</th>\\n\",\n       \"      <td>6.368187</td>\\n\",\n       \"      <td>6.529419</td>\\n\",\n       \"      <td>7.703459</td>\\n\",\n       \"      <td>6.150603</td>\\n\",\n       \"      <td>6.860664</td>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>233</th>\\n\",\n       \"      <td>6.871091</td>\\n\",\n       \"      <td>8.513988</td>\\n\",\n       \"      <td>8.106515</td>\\n\",\n       \"      <td>6.842683</td>\\n\",\n       \"      <td>6.013715</td>\\n\",\n       \"      <td>1.945910</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>285</th>\\n\",\n       \"      <td>10.602965</td>\\n\",\n       \"      <td>6.461468</td>\\n\",\n       \"      <td>8.188689</td>\\n\",\n       \"      <td>6.948897</td>\\n\",\n       \"      <td>6.077642</td>\\n\",\n       \"      <td>2.890372</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>289</th>\\n\",\n       \"      <td>10.663966</td>\\n\",\n       \"      <td>5.655992</td>\\n\",\n       \"      <td>6.154858</td>\\n\",\n       \"      <td>7.235619</td>\\n\",\n       \"      <td>3.465736</td>\\n\",\n       \"      <td>3.091042</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>343</th>\\n\",\n       \"      <td>7.431892</td>\\n\",\n       \"      <td>8.848509</td>\\n\",\n       \"      <td>10.177932</td>\\n\",\n       \"      <td>7.283448</td>\\n\",\n       \"      <td>9.646593</td>\\n\",\n       \"      <td>3.610918</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Fresh       Milk    Grocery     Frozen  Detergents_Paper  \\\\\\n\",\n       \"66    2.197225   7.335634   8.911530   5.164786          8.151333   \\n\",\n       \"109   7.248504   9.724899  10.274568   6.511745          6.728629   \\n\",\n       \"128   4.941642   9.087834   8.248791   4.955827          6.967909   \\n\",\n       \"137   8.034955   8.997147   9.021840   6.493754          6.580639   \\n\",\n       \"142  10.519646   8.875147   9.018332   8.004700          2.995732   \\n\",\n       \"154   6.432940   4.007333   4.919981   4.317488          1.945910   \\n\",\n       \"183  10.514529  10.690808   9.911952  10.505999          5.476464   \\n\",\n       \"184   5.789960   6.822197   8.457443   4.304065          5.811141   \\n\",\n       \"187   7.798933   8.987447   9.192075   8.743372          8.148735   \\n\",\n       \"203   6.368187   6.529419   7.703459   6.150603          6.860664   \\n\",\n       \"233   6.871091   8.513988   8.106515   6.842683          6.013715   \\n\",\n       \"285  10.602965   6.461468   8.188689   6.948897          6.077642   \\n\",\n       \"289  10.663966   5.655992   6.154858   7.235619          3.465736   \\n\",\n       \"343   7.431892   8.848509  10.177932   7.283448          9.646593   \\n\",\n       \"\\n\",\n       \"     Delicatessen  \\n\",\n       \"66       3.295837  \\n\",\n       \"109      1.098612  \\n\",\n       \"128      1.098612  \\n\",\n       \"137      3.583519  \\n\",\n       \"142      1.098612  \\n\",\n       \"154      2.079442  \\n\",\n       \"183     10.777768  \\n\",\n       \"184      2.397895  \\n\",\n       \"187      1.098612  \\n\",\n       \"203      2.890372  \\n\",\n       \"233      1.945910  \\n\",\n       \"285      2.890372  \\n\",\n       \"289      3.091042  \\n\",\n       \"343      3.610918  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"potential_outliers = []\\n\",\n    \"\\n\",\n    \"# For each feature find the data points with extreme high or low values\\n\",\n    \"for feature in log_data.keys():\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q1 (25th percentile of the data) for the given feature\\n\",\n    \"    Q1 = np.percentile(log_data[feature],25)\\n\",\n    \"    \\n\",\n    \"    # TODO: Calculate Q3 (75th percentile of the data) for the given feature\\n\",\n    \"    Q3 = np.percentile(log_data[feature],75)\\n\",\n    \"    \\n\",\n    \"    # TODO: Use the interquartile range to calculate an outlier step (1.5 times the interquartile range)\\n\",\n    \"    step = 1.5 * (Q3-Q1)\\n\",\n    \"    \\n\",\n    \"    # Display the outliers\\n\",\n    \"    print(\\\"Data points considered outliers for the feature '{}':\\\".format(feature))\\n\",\n    \"    display(log_data[~((log_data[feature] >= Q1 - step) & (log_data[feature] <= Q3 + step))])\\n\",\n    \"    list = log_data[~((log_data[feature] >= Q1 - step) & (log_data[feature] <= Q3 + step))].index.tolist()\\n\",\n    \"    potential_outliers.append(list)\\n\",\n    \"    \\n\",\n    \"# OPTIONAL: Select the indices for data points you wish to remove\\n\",\n    \"outliers  = []\\n\",\n    \"\\n\",\n    \"# Remove the outliers, if any were specified\\n\",\n    \"good_data = log_data.drop(log_data.index[outliers]).reset_index(drop = True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 4\\n\",\n    \"*Are there any data points considered outliers for more than one feature based on the definition above? Should these data points be removed from the dataset? If any data points were added to the `outliers` list to be removed, explain why.* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"Datapoints considered outliers for more than one feature: rows 65, 66, 75, 128, 154. (Rough work below.)\\n\",\n    \"\\n\",\n    \"These data points look a bit suspicious. E.g. Row 75 spent 3 monetary units on Grocery and Detergents_Paper but spent a lot more (up to around 20k in Fresh) in other categories.\\n\",\n    \"\\n\",\n    \"But they should not be removed from the dataset. They could still be genuine datapoints because it is plausible shops don't use much of these categories of goods. (Detergents_Paper seems less plausible though.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 67,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>65</th>\\n\",\n       \"      <td>85</td>\\n\",\n       \"      <td>20959</td>\\n\",\n       \"      <td>45828</td>\\n\",\n       \"      <td>36</td>\\n\",\n       \"      <td>24231</td>\\n\",\n       \"      <td>1423</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>66</th>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>1534</td>\\n\",\n       \"      <td>7417</td>\\n\",\n       \"      <td>175</td>\\n\",\n       \"      <td>3468</td>\\n\",\n       \"      <td>27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>20398</td>\\n\",\n       \"      <td>1137</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4407</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>975</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>128</th>\\n\",\n       \"      <td>140</td>\\n\",\n       \"      <td>8847</td>\\n\",\n       \"      <td>3823</td>\\n\",\n       \"      <td>142</td>\\n\",\n       \"      <td>1062</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>154</th>\\n\",\n       \"      <td>622</td>\\n\",\n       \"      <td>55</td>\\n\",\n       \"      <td>137</td>\\n\",\n       \"      <td>75</td>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>8</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"     Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"65      85  20959    45828      36             24231          1423\\n\",\n       \"66       9   1534     7417     175              3468            27\\n\",\n       \"75   20398   1137        3    4407                 3           975\\n\",\n       \"128    140   8847     3823     142              1062             3\\n\",\n       \"154    622     55      137      75                 7             8\"\n      ]\n     },\n     \"execution_count\": 67,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.iloc[[65,66,75,128,154]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[[65, 66, 81, 95, 96, 128, 171, 193, 218, 304, 305, 338, 353, 355, 357, 412],\\n\",\n       \" [86, 98, 154, 356],\\n\",\n       \" [75, 154],\\n\",\n       \" [38, 57, 65, 145, 175, 264, 325, 420, 429, 439],\\n\",\n       \" [75, 161],\\n\",\n       \" [66, 109, 128, 137, 142, 154, 183, 184, 187, 203, 233, 285, 289, 343]]\"\n      ]\n     },\n     \"execution_count\": 46,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Rough work\\n\",\n    \"potential_outliers\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 66,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"{128: {0, 5}, 65: {0, 3}, 66: {0, 5}, 75: {2, 4}, 154: {1, 2, 5}}\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"mult_outlier_indices_dict = {}\\n\",\n    \"\\n\",\n    \"for i in range(len(potential_outliers)):\\n\",\n    \"    current_feature_ol = potential_outliers[i]\\n\",\n    \"    for po in current_feature_ol:\\n\",\n    \"        mult_ol = set()\\n\",\n    \"        mult_ol.add(i)\\n\",\n    \"        if po not in mult_outlier_indices_dict.keys():\\n\",\n    \"            for other_feat in range(i, len(potential_outliers)):\\n\",\n    \"                if po in potential_outliers[other_feat]:\\n\",\n    \"                    mult_ol.add(other_feat)\\n\",\n    \"        if len(mult_ol) > 1:\\n\",\n    \"            mult_outlier_indices_dict[po] = mult_ol\\n\",\n    \"            \\n\",\n    \"print(mult_outlier_indices_dict)\\n\",\n    \"\\n\",\n    \"for v in mult_outlier_indices_dict\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Feature Transformation\\n\",\n    \"In this section you will use principal component analysis (PCA) to draw conclusions about the underlying structure of the wholesale customer data. Since using PCA on a dataset calculates the dimensions which best maximize variance, we will find which compound combinations of features best describe customers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Implementation: PCA\\n\",\n    \"\\n\",\n    \"Now that the data has been scaled to a more normal distribution and has had any necessary outliers removed, we can now apply PCA to the `good_data` to discover which dimensions about the data best maximize the variance of features involved. In addition to finding these dimensions, PCA will also report the *explained variance ratio* of each dimension — how much variance within the data is explained by that dimension alone. Note that a component (dimension) from PCA can be considered a new \\\"feature\\\" of the space, however it is a composition of the original features present in the data.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Import `sklearn.decomposition.PCA` and assign the results of fitting PCA in six dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 68,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nssdoZnMzsZ5Daq/v9tfHJz7xCWbMmMGpp57KkUceyeabb86cOXM49dRT2W233Tj//PPXWueMM87g\\nwx/+MHPmzGHixIl86EMf4qijjgLgPe95D4899hiHHnooy5YtY9asWVx44YW0trby05/+lI9//OPM\\nnj2b559/np122ol///d/HzK+3XffnaamJnbddde1TrWTJBVTa2szHR3V/S9tbV2//4uS1AhRebrW\\naBcROdDxRARj6TgbYc899+T9738/Rx99dKNDGVHMLRVRRLB4cXVtOzrwNSKtp4iAeVU2nudrbKwy\\nD2qn/Pkt+i8vZI+R1s8NN9zAzTffzKJFixodiiRJklQTXmOkIX3gAx9g77335vTTT++7+awkSZI0\\n1thjpCFdcMEFjQ5BkiRJqjl7jCRJkiQVnoWRJEmSpMLzVDpJkiRphGme3kzvvOqGxG+e7pD4w8HC\\nSJIkSRpheh7oaXQIheOpdJIkSZIKz8JIkiRJUuEVsjBqaWsjImo2tbS1VR3LrFmzmDRpElOmTGHy\\n5MlMmTKFnh67TiVJkqR6KuQ1Rr3d3bB4ce2239FRdduI4PLLL6djiHVWrlzJuHHjhiM0SZIkSQMo\\nZI/RSJOZL3rc1dVFU1MT5513HjNnzmTPPfcEYNGiRbziFa9g2rRp7LHHHtx1110AfP/73+/rbZoy\\nZQqbbbYZe+yxBwDPP/88J510EjNnzmS77bbj+OOP57nnngPg6quvprW1la9+9as0Nzczffp0b+gq\\nSZKkQrIwGsGuueYa7rrrLn7xi19wzz33cOihh3LGGWfw8MMPs++++7L//vvzwgsvcNBBB7F8+XKe\\nfPJJli5dypw5czj00EMBOPnkk7n33nu59dZbuffee1m6dClf+tKX+vbR09PD8uXLWbZsGd/+9rc5\\n4YQT+Nvf/taoQ5YkSZIawsJoBHjXu97FtGnTmDZtGgceeGDf8vnz5zNx4kQ23XRTFi5cyH777cce\\ne+zBuHHjOOmkk/j73//Ob3/72772mckhhxzCHnvswTHHHAPAOeecw9e+9jWmTp3K5ptvzqc+9Sku\\nvvjivnU22WQTPv/5zzNu3Dj23XdftthiC+6+++76HbwkSZI0AhTyGqOR5tJLL33RNUZdXV1EBDNm\\nzOhbtmzZMmbOnNn3OCJobW1l6dKlfcs+85nP8PTTT3P66acD8PDDD/PMM8/wmte8pq/NqlWrXnTq\\n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\\nAZSWyKm8CV39AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ac77320>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with the same number of dimensions as features\\n\",\n    \"from sklearn.decomposition import PCA\\n\",\n    \"pca = PCA(n_components=6)\\n\",\n    \"pca.fit(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = pca.transform(log_samples)\\n\",\n    \"\\n\",\n    \"# Generate PCA results plot\\n\",\n    \"pca_results = rs.pca_results(good_data, pca)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 5\\n\",\n    \"*How much variance in the data is explained* ***in total*** *by the first and second principal component? What about the first four principal components? Using the visualization provided above, discuss what the first four dimensions best represent in terms of customer spending.*  \\n\",\n    \"**Hint:** A positive increase in a specific dimension corresponds with an *increase* of the *positive-weighted* features and a *decrease* of the *negative-weighted* features. The rate of increase or decrease is based on the indivdual feature weights.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"- First and second PCs explain **71.90%** of the variance in the data.\\n\",\n    \"- First four PCs explain **93.14%** of the variation in the data.\\n\",\n    \"- What the first four dimensions best represent in terms of customer spending:\\n\",\n    \"    - Dim 1: Detergents_Paper, Grocery and Milk: -> Utilities\\n\",\n    \"    - Dim 2: Fresh, Frozen, Delicatessen -> Food\\n\",\n    \"    - Dim 3: Fresh - Delicatessen: Market-y stuff, food that must be sold on the day\\n\",\n    \"    - Dim 4: Frozen - Fresh - Delicatessen: Food that can be kept for ages\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 70,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.7190000000000001\\n\",\n      \"0.9314\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Rough calculation\\n\",\n    \"print(0.4424+0.2766)\\n\",\n    \"print(0.4424+0.2766+0.1162+0.0962)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it in six dimensions. Observe the numerical value for the first four dimensions of the sample points. Consider if this is consistent with your initial interpretation of the sample points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 71,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Dimension 1</th>\\n\",\n       \"      <th>Dimension 2</th>\\n\",\n       \"      <th>Dimension 3</th>\\n\",\n       \"      <th>Dimension 4</th>\\n\",\n       \"      <th>Dimension 5</th>\\n\",\n       \"      <th>Dimension 6</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>5.3459</td>\\n\",\n       \"      <td>1.9442</td>\\n\",\n       \"      <td>0.7429</td>\\n\",\n       \"      <td>-0.2108</td>\\n\",\n       \"      <td>-0.5297</td>\\n\",\n       \"      <td>0.2928</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2.1974</td>\\n\",\n       \"      <td>4.9048</td>\\n\",\n       \"      <td>0.0686</td>\\n\",\n       \"      <td>0.5623</td>\\n\",\n       \"      <td>-0.5195</td>\\n\",\n       \"      <td>-0.2369</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>-2.8963</td>\\n\",\n       \"      <td>-4.7798</td>\\n\",\n       \"      <td>-6.3817</td>\\n\",\n       \"      <td>2.9243</td>\\n\",\n       \"      <td>-0.7629</td>\\n\",\n       \"      <td>2.2292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Dimension 1  Dimension 2  Dimension 3  Dimension 4  Dimension 5  \\\\\\n\",\n       \"0       5.3459       1.9442       0.7429      -0.2108      -0.5297   \\n\",\n       \"1       2.1974       4.9048       0.0686       0.5623      -0.5195   \\n\",\n       \"2      -2.8963      -4.7798      -6.3817       2.9243      -0.7629   \\n\",\n       \"\\n\",\n       \"   Dimension 6  \\n\",\n       \"0       0.2928  \\n\",\n       \"1      -0.2369  \\n\",\n       \"2       2.2292  \"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display sample log-data after having a PCA transformation applied\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = pca_results.index.values))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Dimensionality Reduction\\n\",\n    \"When using principal component analysis, one of the main goals is to reduce the dimensionality of the data — in effect, reducing the complexity of the problem. Dimensionality reduction comes at a cost: Fewer dimensions used implies less of the total variance in the data is being explained. Because of this, the *cumulative explained variance ratio* is extremely important for knowing how many dimensions are necessary for the problem. Additionally, if a signifiant amount of variance is explained by only two or three dimensions, the reduced data can be visualized afterwards.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Assign the results of fitting PCA in two dimensions with `good_data` to `pca`.\\n\",\n    \" - Apply a PCA transformation of `good_data` using `pca.transform`, and assign the reuslts to `reduced_data`.\\n\",\n    \" - Apply a PCA transformation of the sample log-data `log_samples` using `pca.transform`, and assign the results to `pca_samples`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 72,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# TODO: Apply PCA by fitting the good data with only two dimensions\\n\",\n    \"pca = PCA(n_components=2)\\n\",\n    \"pca.fit(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the good data using the PCA fit above\\n\",\n    \"reduced_data = pca.transform(good_data)\\n\",\n    \"\\n\",\n    \"# TODO: Transform the sample log-data using the PCA fit above\\n\",\n    \"pca_samples = pca.transform(log_samples)\\n\",\n    \"\\n\",\n    \"# Create a DataFrame for the reduced data\\n\",\n    \"reduced_data = pd.DataFrame(reduced_data, columns = ['Dimension 1', 'Dimension 2'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observation\\n\",\n    \"Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it using only two dimensions. Observe how the **values for the first two dimensions remains unchanged when compared to a PCA transformation in six dimensions**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 73,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Dimension 1</th>\\n\",\n       \"      <th>Dimension 2</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>5.3459</td>\\n\",\n       \"      <td>1.9442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2.1974</td>\\n\",\n       \"      <td>4.9048</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>-2.8963</td>\\n\",\n       \"      <td>-4.7798</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   Dimension 1  Dimension 2\\n\",\n       \"0       5.3459       1.9442\\n\",\n       \"1       2.1974       4.9048\\n\",\n       \"2      -2.8963      -4.7798\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display sample log-data after applying PCA transformation in two dimensions\\n\",\n    \"display(pd.DataFrame(np.round(pca_samples, 4), columns = ['Dimension 1', 'Dimension 2']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Clustering\\n\",\n    \"\\n\",\n    \"In this section, you will choose to use either a K-Means clustering algorithm or a Gaussian Mixture Model clustering algorithm to identify the various customer segments hidden in the data. You will then recover specific data points from the clusters to understand their significance by transforming them back into their original dimension and scale. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 6\\n\",\n    \"*What are the advantages to using a K-Means clustering algorithm? What are the advantages to using a Gaussian Mixture Model clustering algorithm? Given your observations about the wholesale customer data so far, which of the two algorithms will you use and why?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"**Advantages to using K-Means clustering**\\n\",\n    \"- Hard labelling so all datapoints are in certain clusters\\n\",\n    \"- Less computationally expensive (than a Gaussian Mixture Model)\\n\",\n    \"- Guaranteed to converge\\n\",\n    \"- Scale-invariant\\n\",\n    \"- Consistent\\n\",\n    \"\\n\",\n    \"**Advantages to using Gaussian Mixture Model clustering**\\n\",\n    \"- One point can be shared between clusters because points are assigned probabilities of belonging to each cluster (soft) as opposed to hard labels\\n\",\n    \"- More information: Can look at probabilities to know how sure the algorithm is that each point is in each cluster\\n\",\n    \"- Can model all elliptical clusters (vs K-Means which assumes clusters are spherical)\\n\",\n    \"\\n\",\n    \"**Chosen algorithm**\\n\",\n    \"- Gausssian Mixture.\\n\",\n    \"- The data does not seem to be separated into clear clusters. There may be groups that are in-betweens.\\n\",\n    \"\\n\",\n    \"Reference: https://www.quora.com/What-is-the-difference-between-K-means-and-the-mixture-model-of-Gaussian\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Creating Clusters\\n\",\n    \"Depending on the problem, the number of clusters that you expect to be in the data may already be known. When the number of clusters is not known *a priori*, there is no guarantee that a given number of clusters best segments the data, since it is unclear what structure exists in the data — if any. However, we can quantify the \\\"goodness\\\" of a clustering by calculating each data point's *silhouette coefficient*. The [silhouette coefficient](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html) for a data point measures how similar it is to its assigned cluster from -1 (dissimilar) to 1 (similar). Calculating the ***mean* silhouette coefficient provides for a simple scoring method of a given clustering**.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Fit a clustering algorithm to the `reduced_data` and assign it to `clusterer`.\\n\",\n    \" - Predict the cluster for each data point in `reduced_data` using `clusterer.predict` and assign them to `preds`.\\n\",\n    \" - Find the cluster centers using the algorithm's respective attribute and assign them to `centers`.\\n\",\n    \" - Predict the cluster for each sample data point in `pca_samples` and assign them `sample_preds`.\\n\",\n    \" - Import sklearn.metrics.silhouette_score and calculate the silhouette score of `reduced_data` against `preds`.\\n\",\n    \"   - Assign the silhouette score to `score` and print the result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 86,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Number of components:  2\\n\",\n      \"Cluster centres:  [[-0.71464435  0.31923966]\\n\",\n      \" [ 1.01432429 -0.45311006]]\\n\",\n      \"Sample Preds:  [1 1 1]\\n\",\n      \"Silhouette score:  0.316017379116 \\n\",\n      \"\\n\",\n      \"Number of components:  3\\n\",\n      \"Cluster centres:  [[ 1.53837521  0.35814931]\\n\",\n      \" [-1.53264671  0.28309436]\\n\",\n      \" [-0.42189675 -1.47049155]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.375222595239 \\n\",\n      \"\\n\",\n      \"Number of components:  4\\n\",\n      \"Cluster centres:  [[ 0.04260476 -1.75483254]\\n\",\n      \" [-1.19364513  0.61758051]\\n\",\n      \" [-1.65040023 -0.34386088]\\n\",\n      \" [ 2.12094466  0.18950015]]\\n\",\n      \"Sample Preds:  [3 3 0]\\n\",\n      \"Silhouette score:  0.336237830562 \\n\",\n      \"\\n\",\n      \"Number of components:  5\\n\",\n      \"Cluster centres:  [[-1.52420475 -0.16175761]\\n\",\n      \" [ 2.61449466 -0.91376362]\\n\",\n      \" [-1.70036028 -1.83457833]\\n\",\n      \" [-0.89574454  1.08330732]\\n\",\n      \" [ 1.92949643  0.40524309]]\\n\",\n      \"Sample Preds:  [4 1 2]\\n\",\n      \"Silhouette score:  0.31202624062 \\n\",\n      \"\\n\",\n      \"Number of components:  6\\n\",\n      \"Cluster centres:  [[ 1.74491709  0.94152474]\\n\",\n      \" [-1.5625887   0.15170505]\\n\",\n      \" [-0.38366704 -3.6751244 ]\\n\",\n      \" [ 2.78898903 -1.01811609]\\n\",\n      \" [-0.96577157 -0.2125656 ]\\n\",\n      \" [-0.10568062  1.18412939]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.269277095938 \\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# TODO: Apply your clustering algorithm of choice to the reduced data \\n\",\n    \"from sklearn.mixture import GMM\\n\",\n    \"from sklearn.metrics import silhouette_score\\n\",\n    \"\\n\",\n    \"# Loop through different cluster numbers to see which \\n\",\n    \"# gives th ehighest silhouette score.\\n\",\n    \"for i in range(2,7):\\n\",\n    \"    print(\\\"Number of components: \\\", i)\\n\",\n    \"    clusterer = GMM(random_state=0, n_components=i)\\n\",\n    \"    clusterer.fit(reduced_data)\\n\",\n    \"\\n\",\n    \"    # TODO: Predict the cluster for each data point\\n\",\n    \"    preds = clusterer.predict(reduced_data)\\n\",\n    \"    # TODO: Find the cluster centers\\n\",\n    \"    centers = clusterer.means_\\n\",\n    \"    print(\\\"Cluster centres: \\\",centers)\\n\",\n    \"\\n\",\n    \"    # TODO: Predict the cluster for each transformed sample data point\\n\",\n    \"    sample_preds = clusterer.predict(pca_samples)\\n\",\n    \"    print(\\\"Sample Preds: \\\", sample_preds)\\n\",\n    \"\\n\",\n    \"    # TODO: Calculate the mean silhouette coefficient for the number of clusters chosen\\n\",\n    \"    score = silhouette_score(reduced_data, preds)\\n\",\n    \"    print(\\\"Silhouette score: \\\", score, \\\"\\\\n\\\")\\n\",\n    \"\\n\",\n    \"# Note: Variable values reassigned below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 7\\n\",\n    \"*Report the silhouette score for several cluster numbers you tried. Of these, which number of clusters has the best silhouette score?* \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"<table>\\n\",\n    \"<th>Cluster number</th><th>Silhouette score</th>\\n\",\n    \"<tr><td>2</td><td>0.316</td></tr>\\n\",\n    \"<tr><td>**3**</td><td>**0.375**</td></tr>\\n\",\n    \"<tr><td>4</td><td>0.336</td></tr>\\n\",\n    \"<tr><td>5</td><td>0.312</td></tr>\\n\",\n    \"<tr><td>6</td><td>0.269</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Cluster number 3 has the best silhouette score.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 87,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Cluster centres:  [[ 1.53837521  0.35814931]\\n\",\n      \" [-1.53264671  0.28309436]\\n\",\n      \" [-0.42189675 -1.47049155]]\\n\",\n      \"Sample Preds:  [0 0 2]\\n\",\n      \"Silhouette score:  0.375222595239 \\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Reassign variable values with n_components = 3\\n\",\n    \"\\n\",\n    \"clusterer = GMM(random_state=0, n_components=3)\\n\",\n    \"clusterer.fit(reduced_data)\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each data point\\n\",\n    \"preds = clusterer.predict(reduced_data)\\n\",\n    \"# TODO: Find the cluster centers\\n\",\n    \"centers = clusterer.means_\\n\",\n    \"print(\\\"Cluster centres: \\\",centers)\\n\",\n    \"\\n\",\n    \"# TODO: Predict the cluster for each transformed sample data point\\n\",\n    \"sample_preds = clusterer.predict(pca_samples)\\n\",\n    \"print(\\\"Sample Preds: \\\", sample_preds)\\n\",\n    \"\\n\",\n    \"# TODO: Calculate the mean silhouette coefficient for the number of clusters chosen\\n\",\n    \"score = silhouette_score(reduced_data, preds)\\n\",\n    \"print(\\\"Silhouette score: \\\", score, \\\"\\\\n\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cluster Visualization\\n\",\n    \"Once you've chosen the optimal number of clusters for your clustering algorithm using the scoring metric above, you can now visualize the results by executing the code block below. Note that, for experimentation purposes, you are welcome to adjust the number of clusters for your clustering algorithm to see various visualizations. The final visualization provided should, however, correspond with the optimal number of clusters. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 88,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\\nTpzIpEmTyMvLY8OGDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJb\\nsGABK1cfoaKiAAAgAElEQVSuZO3atRX29dFHH3H66aeXW9a7d+9qB4HRUgAkIiIiIlJD7733Hod2\\n7OJ6l0wAIwEjq+QovvpiE+vWrYsqj6VLl/Lpsnf4996j+TntueNQBx7e155fXnd91OXYsWMHnTp1\\nIhCom8f7I444gvXr17Njxw6OPPJI+vXrV259cBO4OXPmcMstt5CamkogEGDKlCmsXr2a3NzcsjS3\\n3norycnJtGzZssK+CgoKSE5OLresXbt27Nmzp06OJZQCIBERkSYiNzeXyRMmMLjfACZPmFDu4UJE\\nYqO4uJiWloBxuDbFgEQLlPVhGXXNWO5oXUAB3sABGznIn1oXMvKqKwF49913GXwgkcSgPIaRxHuf\\nfRp1X5uOHTuyffv2Ohuc4JFHHuHTTz+lR48epKWl8fLLL0dMu2nTJiZOnEiHDh3o0KEDHTt2xMzY\\nsmVLWZrjjz8+4vZJSUkVBobIy8ujbdu2tT+QMBQAiYiINAG5ubn0730GgTnPkblyC4E5z9G/9xkK\\ngkRirE+fPuS1asELHH6Af4J8WnfqQM+ePQG48aab6DZ8CN1b5dKv3Xb6tP6aW+6+k7S0NABOOeUU\\nclqV4Dgc7KygkG8de1zUo7YNGDCAli1bMn/+/KjSt2nThn379pW9P3ToENu2bSt7f/LJJ5Odnc22\\nbdvIysrikksuobCwMGx5unXrxpw5c9i5cyc7d+5k165dFBQU0L9//7I0lR3Hqaeeyocfflhu2Ycf\\nfsipp54a1bFUlwIgERGRJmDW9OmMKmjBfUUdOZ8k7ivqyKiCRGZNnx7rook0ay1atOD5V/7JjZ0O\\ncmbbrZzRdit3Hgvz/rGg7KE/MTGRR56Zy4fr1/HAwgV88b+vGT9xYlke6enpHEo5litb7uBt9pFN\\nHqOP3MXUe38XdTnatWvHtGnTGD9+PAsWLKCwsJDi4mJeffVVpkyZUiF9amoq+/fv59VXX6W4uJi7\\n7rqLgwcPlq2fO3cu27dvByA5ORkzIxAI0LlzZwKBABs2bChLO27cOO6+++6y/j15eXk8//zzUZd9\\n4MCBJCQk8OCDD3Lw4EH+8Ic/EAgEOPfcc6POozpa1EuuIiIiUqfW5Kwis6h82/lBRUcw851VMSqR\\niJTq06cPG77awvLly0lISKB///4kJCRUSNe1a1e6du1aYXmLFi14fdl/uO/uu5n04kt0PqY7s2/5\\nJenp6dUqR2ZmJl26dOGuu+7i8ssvp23btpx55pncdtttFdK2a9eO2bNnM3bsWEpKSsjKyirXTG3h\\nwoVkZmZSWFhI9+7defbZZ8v679x2222cddZZFBcXs3DhQjIyMti7dy8jRoxg8+bNJCcnc95553HJ\\nJZcAVc89lJiYyPz58xk7dixTpkzhO9/5DgsWLKBFi/oJVaymY3g3JDNzTaGcIiIi9WXyhAkE5jzH\\nfUUdy5bdnLiTknGXMuPBB2NYMpHmpTZz4EjdiHQN/OVVthlUACQiItIElPYBGlXQgkFFLVmceJDs\\npCJWfLC6wlweIlJ/FADFXm0DIPUBEhERaQJSUlJY8cFqSsZdxsx+XSkZd6mCHxGRGlANkIiIiIhI\\nlFQDFHuqARIREREREYmSAiARERGJC9H+Kq9f70WaNwVAIiIi0uTt37+fYcOGMW/evErTzZs3j2HD\\nhrF///4GKpmINDaaB0hERESatP3795ORkcGiRYtYuHAhACNGjKiQbt68eYwePZqSkhIyMjKYP38+\\nrVq1aujiikiMqQZIREREmiznHBdffDGLFi0CoKSkhNGjR1eoCQoOfgAWLVrExRdfrOZwIs2QAiAR\\nERFpssyMMWPGEAgcfqQJDYJCgx+AQCDAmDFjqpyhXiSeTJs2jTFjxsS6GDGnAEhERESatBEjRjB3\\n7twKQdCoUaM4+qgOjBo1qkLwM3fu3LDN5ETq05YtW1i2bBn5+fn1to/s7Gz69u1L27Zt6dq1Kxdc\\ncAHLli0rW1/boH/Tpk0EAoFyn6m6MG7cOHr06EFCQgJPPvlkneYdSgGQiIiINHnhgiDnHNt27yrX\\nzE3Bj9QX5xzr169n48aNFdYVFRUxcuwVfOv0ngyddCXHnpDCAw89WOdlmDlzJpmZmdx+++1s3bqV\\nzZs3M378eF566aU624dzrlZzIR06dCjs8jPOOIM//elPnHnmmbUpXlQUAImIiEhcKA2CIv3CbWYK\\nfqRerFu3jh59etN7YH9OO6sPvQb0YdOmTWXr77t/Bgs2r2L/pl+S/87/o3DVeG793TRycnLK0hQX\\nF/Pkk0+ScfllXDvpej766KNqlSE/P5+pU6cye/Zshg8fTuvWrUlISCA9PZ177rmnQvqlS5eSkpJS\\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\\n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\\nAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11d6ac9b0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the results of the clustering from implementation\\n\",\n    \"rs.cluster_results(reduced_data, preds, centers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's okayish.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Implementation: Data Recovery\\n\",\n    \"Each cluster present in the visualization above has a central point. These centers (or means) are not specifically data points from the data, but rather the *averages* of all the data points predicted in the respective clusters. For the problem of creating customer segments, a cluster's center point corresponds to *the average customer of that segment*. Since the data is currently reduced in dimension and scaled by a logarithm, we can recover the representative customer spending from these data points by applying the inverse transformations.\\n\",\n    \"\\n\",\n    \"In the code block below, you will need to implement the following:\\n\",\n    \" - Apply the inverse transform to `centers` using `pca.inverse_transform` and assign the new centers to `log_centers`.\\n\",\n    \" - Apply the inverse function of `np.log` to `log_centers` using `np.exp` and assign the true centers to `true_centers`.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 90,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 0</th>\\n\",\n       \"      <td>6055.0</td>\\n\",\n       \"      <td>6542.0</td>\\n\",\n       \"      <td>9557.0</td>\\n\",\n       \"      <td>1354.0</td>\\n\",\n       \"      <td>2830.0</td>\\n\",\n       \"      <td>1185.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 1</th>\\n\",\n       \"      <td>9806.0</td>\\n\",\n       \"      <td>1925.0</td>\\n\",\n       \"      <td>2355.0</td>\\n\",\n       \"      <td>2216.0</td>\\n\",\n       \"      <td>286.0</td>\\n\",\n       \"      <td>721.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Segment 2</th>\\n\",\n       \"      <td>2432.0</td>\\n\",\n       \"      <td>2244.0</td>\\n\",\n       \"      <td>3455.0</td>\\n\",\n       \"      <td>778.0</td>\\n\",\n       \"      <td>608.0</td>\\n\",\n       \"      <td>348.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Fresh    Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"Segment 0  6055.0  6542.0   9557.0  1354.0            2830.0        1185.0\\n\",\n       \"Segment 1  9806.0  1925.0   2355.0  2216.0             286.0         721.0\\n\",\n       \"Segment 2  2432.0  2244.0   3455.0   778.0             608.0         348.0\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# TODO: Inverse transform the centers\\n\",\n    \"log_centers = pca.inverse_transform(centers)\\n\",\n    \"\\n\",\n    \"# TODO: Exponentiate the centers\\n\",\n    \"true_centers = np.exp(log_centers)\\n\",\n    \"\\n\",\n    \"# Display the true centers\\n\",\n    \"segments = ['Segment {}'.format(i) for i in range(0,len(centers))]\\n\",\n    \"true_centers = pd.DataFrame(np.round(true_centers), columns = data.keys())\\n\",\n    \"true_centers.index = segments\\n\",\n    \"display(true_centers)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 8\\n\",\n    \"Consider the total purchase cost of each product category for the representative data points above, and reference the statistical description of the dataset at the beginning of this project. *What set of establishments could each of the customer segments represent?*  \\n\",\n    \"**Hint:** A customer who is assigned to `'Cluster X'` should best identify with the establishments represented by the feature set of `'Segment X'`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"- Segment 0 could represent supermarkets.\\n\",\n    \"    - Their spendings for all categories except Frozen are above the median.\\n\",\n    \"- Segment 1 could represent a fresh food market.\\n\",\n    \"    - Their spending for Fresh and Frozen are above the median, but their spending for Grocery, Milk and Detergents_Paper are below the median as those are often kept in fridges or placed in boxes on shelves. Delicatessen spending is also below the median - that is often fancier stuff that isn't found in street markets.\\n\",\n    \"    - Frozen products are often sold in markets placed in big boxes lined with ice cubes.\\n\",\n    \"- Segment 2 could represent a corner store.\\n\",\n    \"    - Their spending on Fresh and Delicatessen are in the bottom quartile.\\n\",\n    \"    - Their spending on Detergents_Paper, Frozen, Grocery and Milk are below the median.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 91,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"      <td>440.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>12000.297727</td>\\n\",\n       \"      <td>5796.265909</td>\\n\",\n       \"      <td>7951.277273</td>\\n\",\n       \"      <td>3071.931818</td>\\n\",\n       \"      <td>2881.493182</td>\\n\",\n       \"      <td>1524.870455</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>12647.328865</td>\\n\",\n       \"      <td>7380.377175</td>\\n\",\n       \"      <td>9503.162829</td>\\n\",\n       \"      <td>4854.673333</td>\\n\",\n       \"      <td>4767.854448</td>\\n\",\n       \"      <td>2820.105937</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>55.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>25.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"      <td>3.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>3127.750000</td>\\n\",\n       \"      <td>1533.000000</td>\\n\",\n       \"      <td>2153.000000</td>\\n\",\n       \"      <td>742.250000</td>\\n\",\n       \"      <td>256.750000</td>\\n\",\n       \"      <td>408.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>8504.000000</td>\\n\",\n       \"      <td>3627.000000</td>\\n\",\n       \"      <td>4755.500000</td>\\n\",\n       \"      <td>1526.000000</td>\\n\",\n       \"      <td>816.500000</td>\\n\",\n       \"      <td>965.500000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>16933.750000</td>\\n\",\n       \"      <td>7190.250000</td>\\n\",\n       \"      <td>10655.750000</td>\\n\",\n       \"      <td>3554.250000</td>\\n\",\n       \"      <td>3922.000000</td>\\n\",\n       \"      <td>1820.250000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>112151.000000</td>\\n\",\n       \"      <td>73498.000000</td>\\n\",\n       \"      <td>92780.000000</td>\\n\",\n       \"      <td>60869.000000</td>\\n\",\n       \"      <td>40827.000000</td>\\n\",\n       \"      <td>47943.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Fresh          Milk       Grocery        Frozen  \\\\\\n\",\n       \"count     440.000000    440.000000    440.000000    440.000000   \\n\",\n       \"mean    12000.297727   5796.265909   7951.277273   3071.931818   \\n\",\n       \"std     12647.328865   7380.377175   9503.162829   4854.673333   \\n\",\n       \"min         3.000000     55.000000      3.000000     25.000000   \\n\",\n       \"25%      3127.750000   1533.000000   2153.000000    742.250000   \\n\",\n       \"50%      8504.000000   3627.000000   4755.500000   1526.000000   \\n\",\n       \"75%     16933.750000   7190.250000  10655.750000   3554.250000   \\n\",\n       \"max    112151.000000  73498.000000  92780.000000  60869.000000   \\n\",\n       \"\\n\",\n       \"       Detergents_Paper  Delicatessen  \\n\",\n       \"count        440.000000    440.000000  \\n\",\n       \"mean        2881.493182   1524.870455  \\n\",\n       \"std         4767.854448   2820.105937  \\n\",\n       \"min            3.000000      3.000000  \\n\",\n       \"25%          256.750000    408.250000  \\n\",\n       \"50%          816.500000    965.500000  \\n\",\n       \"75%         3922.000000   1820.250000  \\n\",\n       \"max        40827.000000  47943.000000  \"\n      ]\n     },\n     \"execution_count\": 91,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"data.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"### Question 9\\n\",\n    \"*For each sample point, which customer segment from* ***Question 8*** *best represents it? Are the predictions for each sample point consistent with this?*\\n\",\n    \"\\n\",\n    \"Run the code block below to find which cluster each sample point is predicted to be.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 93,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Sample point 0 predicted to be in Cluster 0\\n\",\n      \"Sample point 1 predicted to be in Cluster 0\\n\",\n      \"Sample point 2 predicted to be in Cluster 2\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Display the predictions\\n\",\n    \"for i, pred in enumerate(sample_preds):\\n\",\n    \"    print(\\\"Sample point\\\", i, \\\"predicted to be in Cluster\\\", pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"1. Sample point 0: Supermarket\\n\",\n    \"    - Original guess: Retailer <- I'm surprised it was put in the same category as Sample point 1. I thought it was quite different. The clusters are large though, which may explain both being in the same cluster.\\n\",\n    \"2. Sample point 1: Supermarket\\n\",\n    \"    - Original guess: Market <- The same!\\n\",\n    \"3. Sample point 2: Corner store\\n\",\n    \"    - Original guess: Restaurant. <- Reasonable: I was going for something relatively small. This is in line with the things grouped under Cluster 2 in the visualisation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 95,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Fresh</th>\\n\",\n       \"      <th>Milk</th>\\n\",\n       \"      <th>Grocery</th>\\n\",\n       \"      <th>Frozen</th>\\n\",\n       \"      <th>Detergents_Paper</th>\\n\",\n       \"      <th>Delicatessen</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>16117</td>\\n\",\n       \"      <td>46197</td>\\n\",\n       \"      <td>92780</td>\\n\",\n       \"      <td>1026</td>\\n\",\n       \"      <td>40827</td>\\n\",\n       \"      <td>2944</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>112151</td>\\n\",\n       \"      <td>29627</td>\\n\",\n       \"      <td>18148</td>\\n\",\n       \"      <td>16745</td>\\n\",\n       \"      <td>4948</td>\\n\",\n       \"      <td>8550</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>333</td>\\n\",\n       \"      <td>7021</td>\\n\",\n       \"      <td>15601</td>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>550</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Fresh   Milk  Grocery  Frozen  Detergents_Paper  Delicatessen\\n\",\n       \"0   16117  46197    92780    1026             40827          2944\\n\",\n       \"1  112151  29627    18148   16745              4948          8550\\n\",\n       \"2       3    333     7021   15601                15           550\"\n      ]\n     },\n     \"execution_count\": 95,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"samples\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this final section, you will investigate ways that you can make use of the clustered data. First, you will consider how the different groups of customers, the ***customer segments***, may be affected differently by a specific delivery scheme. Next, you will consider how giving a label to each customer (which *segment* that customer belongs to) can provide for additional features about the customer data. Finally, you will compare the ***customer segments*** to a hidden variable present in the data, to see whether the clustering identified certain relationships.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"### Question 10\\n\",\n    \"Companies will often run [A/B tests](https://en.wikipedia.org/wiki/A/B_testing) when making small changes to their products or services to determine whether making that change will affect its customers positively or negatively. The wholesale distributor is considering changing its delivery service from currently 5 days a week to 3 days a week. However, the distributor will only make this change in delivery service for customers that react positively. *How can the wholesale distributor use the customer segments to determine which customers, if any, would react positively to the change in delivery service?*  \\n\",\n    \"**Hint:** Can we assume the change affects all customers equally? How can we determine which group of customers it affects the most?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"- Make this change in delivery service for 10% of the customers in each cluster (select this 10% randomly) for e.g. 2 weeks. Mark these customers as customers in Cluster 0', 1' and 2' respectively.\\n\",\n    \"    - Make sure there are a statistically significant number of customers in each cluster i'.\\n\",\n    \"- Note down whether these customers react positively or negatively (this can be a +1 or -1 value, or some value from -1 to +1, with -1 meaning they reacted strongly negatively and +1 meaning they reacted strongly positively).\\n\",\n    \"- Take the mean of the values assigned for each cluster 0', 1' and 2'. \\n\",\n    \"- If the mean value for a cluster is positive, then the distributor can consider making the change in delivery service for more customers in that segment. \\n\",\n    \"    - This inference assumes that customers in that segment may behave similarly.\\n\",\n    \"- By testing on a smaller group of customers first, the distributor can test their hypotheses without risking making a lot of customers angry (if they react negatively).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 11\\n\",\n    \"Additional structure is derived from originally unlabeled data when using clustering techniques. Since each customer has a ***customer segment*** it best identifies with (depending on the clustering algorithm applied), we can consider *'customer segment'* as an **engineered feature** for the data. Assume the wholesale distributor recently acquired ten new customers and each provided estimates for anticipated annual spending of each product category. Knowing these estimates, the wholesale distributor wants to classify each new customer to a ***customer segment*** to determine the most appropriate delivery service.  \\n\",\n    \"*How can the wholesale distributor label the new customers using only their estimated product spending and the* ***customer segment*** *data?*  \\n\",\n    \"**Hint:** A supervised learner could be used to train on the original customers. What would be the target variable?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- Use a supervised learning algorithm with the **estimated product spending as features (6 features) and customer segment as the target variable**.\\n\",\n    \"    - This would be a **classification problem** because the target variable has finitely many discrete labels (3). \\n\",\n    \"    - **K Nearest Neighbours** might be a good choice of algorithm because there is no obvious underlying mathematical relationship between the customer segment and product spending.\\n\",\n    \"- The training and test sets would come from existing customers with those labels assigned.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualizing Underlying Distributions\\n\",\n    \"\\n\",\n    \"At the beginning of this project, it was discussed that the `'Channel'` and `'Region'` features would be excluded from the dataset so that the customer product categories were emphasized in the analysis. By reintroducing the `'Channel'` feature to the dataset, an interesting structure emerges when considering the same PCA dimensionality reduction applied earlier to the original dataset.\\n\",\n    \"\\n\",\n    \"Run the code block below to see how each data point is labeled either `'HoReCa'` (Hotel/Restaurant/Cafe) or `'Retail'` the reduced space. In addition, you will find the sample points are circled in the plot, which will identify their labeling.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 96,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nWbFCa5/t0ypFR9q2qV8bKhbosc5nAqwMAFDMWAgVAALy85//XJdccokGBt4blD9//nytXLlS0WhU\\nL7/8stra2nTgh537779f77zzjh588EHNmjVLbW0/Gwk/fX19mj9/vsxM8+efrr6+14J4SJMSryxX\\nW88Orcq8F4CYkAAAkC/oAQKAabR3716dddZZeuuttyRJp5xyilpaWnT11VcrEomMbLdz507dcsst\\nuvfee0favvnNb+rSSy/V8uXLJUmx2Dl63/tO0OBgRv/5n8/p2muv1913/++ZfUDH4NAxQNkJCViU\\nFACQQ5wCBwABuOOOO9TQ0CBJOumkk9TR0THuZAfurptuukkbNmyQJH34wx/W22+/o3ffPUvSedmt\\nSiSVqrT0ad155036/Oc/n/sHMQ2YkAAAMNMIQAAww9xd55xzjl555RVJ0l133aXrrrtO0vjTQmcy\\nGZ155pnq6+uTJF199TWKRk+QNPb9u7S0ROvW/bVOO+20GX1MAAAUCgIQAMyw3t7ekZnaPvCBD2jX\\nrl2KRqNHnRb61ltv1bp16yRJV111lR566KEgHwYAAAVpogGoZCaKAYAw2LVr18jliooKRaPDkwC0\\nJJOq7S9Vc6ZMqxRVc6ZMtf0RtSSTkqRPfepTI7d78803Z7ZoAABChgAEANNk//79I5dnz549cjnV\\n2a2azJwx29ZkZivV1S1JY6a/HhwczHGVAACEGwEIAKZJWdl7C38+//zzI4EoXlmutsjAmG1HTwv9\\n3HPPHXYfAABg+hGAAGCaLF++XCeeeKKk4fV7HnnkEUlSQyKh1uigmiK7tU39aorsUWs0o4ZEQu6u\\nTZs2jezjkksuCaR2AADCggAEANNkzpw5+tznPjdy/Wtf+5p+//vfKxaLqaO3R0N1a7ShYoGG6laP\\nTIDQ2tqqnp4eSdLxxx+vz372s0GVDwBAKDALHABMo507d2rRokUjY3kuvPBCfe973ztk+ur9+/fr\\nnnvu0fXXX699+/ZJkq699lrdfffdM14zAADFgGmwASAgd955p2644YaR67NmzdKVV16pyy+/XNFo\\nVC+//LI2b96s1157bWSbs88+W7/4xS80b968ACoGAKDwEYAAIEC33367mpqaJrTtueeeq0cffZRF\\nTgEAmALWAQKAAN1000366U9/qurq6nG3mTdvnhKJhJ5++mnCDwAAM4QeIADIsRdffFFbtmzRG2+8\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11d6acb38>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Display the clustering results based on 'Channel' data\\n\",\n    \"rs.channel_results(reduced_data, outliers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 97,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\\n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\\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\\n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\\nAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ae16080>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Clustering plot\\n\",\n    \"\\n\",\n    \"rs.cluster_results(reduced_data, preds, centers, pca_samples)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Question 12\\n\",\n    \"*How well does the clustering algorithm and number of clusters you've chosen compare to this underlying distribution of Hotel/Restaurant/Cafe customers to Retailer customers? Are there customer segments that would be classified as purely 'Retailers' or 'Hotels/Restaurants/Cafes' by this distribution? Would you consider these classifications as consistent with your previous definition of the customer segments?*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Answer:**\\n\",\n    \"\\n\",\n    \"- The previous clustering does a moderately good job of clustering the data above the (Dimension 2 > -2) line, with Retailer corresponding to Cluster 0 and Hotel/Restaurant/Cafe corresponding to Cluster 1. Below the (Dimension 2 > -2) line, however, the previous clustering does not distinguish between the Ho/Re/Ca and Retailer, instead grouping them together in one different cluster.\\n\",\n    \"- The customer segment 0 would be classified almost entirely as Retailer and the customer segment 1 would be classified almost entirely as Ho/Re/Ca by this distribution.\\n\",\n    \"- These classifications are consistent with previous definitions of the customer segments to some extent. \\n\",\n    \"    - Some sentiments are the same, e.g. \\n\",\n    \"    - The exact labels (e.g. 'Retailer') used are not the same, but that's because I had a different understanding of 'Retailers' before seeing this distribution. It's good to have a data-based (i.e. example-based) definition of the word to make sure everyone is on the same page. :D\\n\",\n    \"\\n\",\n    \"- This is a positive result, because this means that customers in Ho/Re/Ca have similar spending patterns to some extent, and likewise with Retailers.\\n\",\n    \"\\n\",\n    \"- It looks possible to have clustered the data into two clusters that are similar to the channels provided. The only points that would've been harder to classify 'correctly' would be the mix of red points invading the bottom right territory of the green points.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to  \\n\",\n    \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p3-creating-customer-segments/customers.csv",
    "content": "Channel,Region,Fresh,Milk,Grocery,Frozen,Detergents_Paper,Delicatessen\n2,3,12669,9656,7561,214,2674,1338\n2,3,7057,9810,9568,1762,3293,1776\n2,3,6353,8808,7684,2405,3516,7844\n1,3,13265,1196,4221,6404,507,1788\n2,3,22615,5410,7198,3915,1777,5185\n2,3,9413,8259,5126,666,1795,1451\n2,3,12126,3199,6975,480,3140,545\n2,3,7579,4956,9426,1669,3321,2566\n1,3,5963,3648,6192,425,1716,750\n2,3,6006,11093,18881,1159,7425,2098\n2,3,3366,5403,12974,4400,5977,1744\n2,3,13146,1124,4523,1420,549,497\n2,3,31714,12319,11757,287,3881,2931\n2,3,21217,6208,14982,3095,6707,602\n2,3,24653,9465,12091,294,5058,2168\n1,3,10253,1114,3821,397,964,412\n2,3,1020,8816,12121,134,4508,1080\n1,3,5876,6157,2933,839,370,4478\n2,3,18601,6327,10099,2205,2767,3181\n1,3,7780,2495,9464,669,2518,501\n2,3,17546,4519,4602,1066,2259,2124\n1,3,5567,871,2010,3383,375,569\n1,3,31276,1917,4469,9408,2381,4334\n2,3,26373,36423,22019,5154,4337,16523\n2,3,22647,9776,13792,2915,4482,5778\n2,3,16165,4230,7595,201,4003,57\n1,3,9898,961,2861,3151,242,833\n1,3,14276,803,3045,485,100,518\n2,3,4113,20484,25957,1158,8604,5206\n1,3,43088,2100,2609,1200,1107,823\n1,3,18815,3610,11107,1148,2134,2963\n1,3,2612,4339,3133,2088,820,985\n1,3,21632,1318,2886,266,918,405\n1,3,29729,4786,7326,6130,361,1083\n1,3,1502,1979,2262,425,483,395\n2,3,688,5491,11091,833,4239,436\n1,3,29955,4362,5428,1729,862,4626\n2,3,15168,10556,12477,1920,6506,714\n2,3,4591,15729,16709,33,6956,433\n1,3,56159,555,902,10002,212,2916\n1,3,24025,4332,4757,9510,1145,5864\n1,3,19176,3065,5956,2033,2575,2802\n2,3,10850,7555,14961,188,6899,46\n2,3,630,11095,23998,787,9529,72\n2,3,9670,7027,10471,541,4618,65\n2,3,5181,22044,21531,1740,7353,4985\n2,3,3103,14069,21955,1668,6792,1452\n2,3,44466,54259,55571,7782,24171,6465\n2,3,11519,6152,10868,584,5121,1476\n2,3,4967,21412,28921,1798,13583,1163\n1,3,6269,1095,1980,3860,609,2162\n1,3,3347,4051,6996,239,1538,301\n2,3,40721,3916,5876,532,2587,1278\n2,3,491,10473,11532,744,5611,224\n1,3,27329,1449,1947,2436,204,1333\n1,3,5264,3683,5005,1057,2024,1130\n2,3,4098,29892,26866,2616,17740,1340\n2,3,5417,9933,10487,38,7572,1282\n1,3,13779,1970,1648,596,227,436\n1,3,6137,5360,8040,129,3084,1603\n2,3,8590,3045,7854,96,4095,225\n2,3,35942,38369,59598,3254,26701,2017\n2,3,7823,6245,6544,4154,4074,964\n2,3,9396,11601,15775,2896,7677,1295\n1,3,4760,1227,3250,3724,1247,1145\n2,3,85,20959,45828,36,24231,1423\n1,3,9,1534,7417,175,3468,27\n2,3,19913,6759,13462,1256,5141,834\n1,3,2446,7260,3993,5870,788,3095\n1,3,8352,2820,1293,779,656,144\n1,3,16705,2037,3202,10643,116,1365\n1,3,18291,1266,21042,5373,4173,14472\n1,3,4420,5139,2661,8872,1321,181\n2,3,19899,5332,8713,8132,764,648\n2,3,8190,6343,9794,1285,1901,1780\n1,3,20398,1137,3,4407,3,975\n1,3,717,3587,6532,7530,529,894\n2,3,12205,12697,28540,869,12034,1009\n1,3,10766,1175,2067,2096,301,167\n1,3,1640,3259,3655,868,1202,1653\n1,3,7005,829,3009,430,610,529\n2,3,219,9540,14403,283,7818,156\n2,3,10362,9232,11009,737,3537,2342\n1,3,20874,1563,1783,2320,550,772\n2,3,11867,3327,4814,1178,3837,120\n2,3,16117,46197,92780,1026,40827,2944\n2,3,22925,73498,32114,987,20070,903\n1,3,43265,5025,8117,6312,1579,14351\n1,3,7864,542,4042,9735,165,46\n1,3,24904,3836,5330,3443,454,3178\n1,3,11405,596,1638,3347,69,360\n1,3,12754,2762,2530,8693,627,1117\n2,3,9198,27472,32034,3232,18906,5130\n1,3,11314,3090,2062,35009,71,2698\n2,3,5626,12220,11323,206,5038,244\n1,3,3,2920,6252,440,223,709\n2,3,23,2616,8118,145,3874,217\n1,3,403,254,610,774,54,63\n1,3,503,112,778,895,56,132\n1,3,9658,2182,1909,5639,215,323\n2,3,11594,7779,12144,3252,8035,3029\n2,3,1420,10810,16267,1593,6766,1838\n2,3,2932,6459,7677,2561,4573,1386\n1,3,56082,3504,8906,18028,1480,2498\n1,3,14100,2132,3445,1336,1491,548\n1,3,15587,1014,3970,910,139,1378\n2,3,1454,6337,10704,133,6830,1831\n2,3,8797,10646,14886,2471,8969,1438\n2,3,1531,8397,6981,247,2505,1236\n2,3,1406,16729,28986,673,836,3\n1,3,11818,1648,1694,2276,169,1647\n2,3,12579,11114,17569,805,6457,1519\n1,3,19046,2770,2469,8853,483,2708\n1,3,14438,2295,1733,3220,585,1561\n1,3,18044,1080,2000,2555,118,1266\n1,3,11134,793,2988,2715,276,610\n1,3,11173,2521,3355,1517,310,222\n1,3,6990,3880,5380,1647,319,1160\n1,3,20049,1891,2362,5343,411,933\n1,3,8258,2344,2147,3896,266,635\n1,3,17160,1200,3412,2417,174,1136\n1,3,4020,3234,1498,2395,264,255\n1,3,12212,201,245,1991,25,860\n2,3,11170,10769,8814,2194,1976,143\n1,3,36050,1642,2961,4787,500,1621\n1,3,76237,3473,7102,16538,778,918\n1,3,19219,1840,1658,8195,349,483\n2,3,21465,7243,10685,880,2386,2749\n1,3,140,8847,3823,142,1062,3\n1,3,42312,926,1510,1718,410,1819\n1,3,7149,2428,699,6316,395,911\n1,3,2101,589,314,346,70,310\n1,3,14903,2032,2479,576,955,328\n1,3,9434,1042,1235,436,256,396\n1,3,7388,1882,2174,720,47,537\n1,3,6300,1289,2591,1170,199,326\n1,3,4625,8579,7030,4575,2447,1542\n1,3,3087,8080,8282,661,721,36\n1,3,13537,4257,5034,155,249,3271\n1,3,5387,4979,3343,825,637,929\n1,3,17623,4280,7305,2279,960,2616\n1,3,30379,13252,5189,321,51,1450\n1,3,37036,7152,8253,2995,20,3\n1,3,10405,1596,1096,8425,399,318\n1,3,18827,3677,1988,118,516,201\n2,3,22039,8384,34792,42,12591,4430\n1,3,7769,1936,2177,926,73,520\n1,3,9203,3373,2707,1286,1082,526\n1,3,5924,584,542,4052,283,434\n1,3,31812,1433,1651,800,113,1440\n1,3,16225,1825,1765,853,170,1067\n1,3,1289,3328,2022,531,255,1774\n1,3,18840,1371,3135,3001,352,184\n1,3,3463,9250,2368,779,302,1627\n1,3,622,55,137,75,7,8\n2,3,1989,10690,19460,233,11577,2153\n2,3,3830,5291,14855,317,6694,3182\n1,3,17773,1366,2474,3378,811,418\n2,3,2861,6570,9618,930,4004,1682\n2,3,355,7704,14682,398,8077,303\n2,3,1725,3651,12822,824,4424,2157\n1,3,12434,540,283,1092,3,2233\n1,3,15177,2024,3810,2665,232,610\n2,3,5531,15726,26870,2367,13726,446\n2,3,5224,7603,8584,2540,3674,238\n2,3,15615,12653,19858,4425,7108,2379\n2,3,4822,6721,9170,993,4973,3637\n1,3,2926,3195,3268,405,1680,693\n1,3,5809,735,803,1393,79,429\n1,3,5414,717,2155,2399,69,750\n2,3,260,8675,13430,1116,7015,323\n2,3,200,25862,19816,651,8773,6250\n1,3,955,5479,6536,333,2840,707\n2,3,514,7677,19805,937,9836,716\n1,3,286,1208,5241,2515,153,1442\n2,3,2343,7845,11874,52,4196,1697\n1,3,45640,6958,6536,7368,1532,230\n1,3,12759,7330,4533,1752,20,2631\n1,3,11002,7075,4945,1152,120,395\n1,3,3157,4888,2500,4477,273,2165\n1,3,12356,6036,8887,402,1382,2794\n1,3,112151,29627,18148,16745,4948,8550\n1,3,694,8533,10518,443,6907,156\n1,3,36847,43950,20170,36534,239,47943\n1,3,327,918,4710,74,334,11\n1,3,8170,6448,1139,2181,58,247\n1,3,3009,521,854,3470,949,727\n1,3,2438,8002,9819,6269,3459,3\n2,3,8040,7639,11687,2758,6839,404\n2,3,834,11577,11522,275,4027,1856\n1,3,16936,6250,1981,7332,118,64\n1,3,13624,295,1381,890,43,84\n1,3,5509,1461,2251,547,187,409\n2,3,180,3485,20292,959,5618,666\n1,3,7107,1012,2974,806,355,1142\n1,3,17023,5139,5230,7888,330,1755\n1,1,30624,7209,4897,18711,763,2876\n2,1,2427,7097,10391,1127,4314,1468\n1,1,11686,2154,6824,3527,592,697\n1,1,9670,2280,2112,520,402,347\n2,1,3067,13240,23127,3941,9959,731\n2,1,4484,14399,24708,3549,14235,1681\n1,1,25203,11487,9490,5065,284,6854\n1,1,583,685,2216,469,954,18\n1,1,1956,891,5226,1383,5,1328\n2,1,1107,11711,23596,955,9265,710\n1,1,6373,780,950,878,288,285\n2,1,2541,4737,6089,2946,5316,120\n1,1,1537,3748,5838,1859,3381,806\n2,1,5550,12729,16767,864,12420,797\n1,1,18567,1895,1393,1801,244,2100\n2,1,12119,28326,39694,4736,19410,2870\n1,1,7291,1012,2062,1291,240,1775\n1,1,3317,6602,6861,1329,3961,1215\n2,1,2362,6551,11364,913,5957,791\n1,1,2806,10765,15538,1374,5828,2388\n2,1,2532,16599,36486,179,13308,674\n1,1,18044,1475,2046,2532,130,1158\n2,1,18,7504,15205,1285,4797,6372\n1,1,4155,367,1390,2306,86,130\n1,1,14755,899,1382,1765,56,749\n1,1,5396,7503,10646,91,4167,239\n1,1,5041,1115,2856,7496,256,375\n2,1,2790,2527,5265,5612,788,1360\n1,1,7274,659,1499,784,70,659\n1,1,12680,3243,4157,660,761,786\n2,1,20782,5921,9212,1759,2568,1553\n1,1,4042,2204,1563,2286,263,689\n1,1,1869,577,572,950,4762,203\n1,1,8656,2746,2501,6845,694,980\n2,1,11072,5989,5615,8321,955,2137\n1,1,2344,10678,3828,1439,1566,490\n1,1,25962,1780,3838,638,284,834\n1,1,964,4984,3316,937,409,7\n1,1,15603,2703,3833,4260,325,2563\n1,1,1838,6380,2824,1218,1216,295\n1,1,8635,820,3047,2312,415,225\n1,1,18692,3838,593,4634,28,1215\n1,1,7363,475,585,1112,72,216\n1,1,47493,2567,3779,5243,828,2253\n1,1,22096,3575,7041,11422,343,2564\n1,1,24929,1801,2475,2216,412,1047\n1,1,18226,659,2914,3752,586,578\n1,1,11210,3576,5119,561,1682,2398\n1,1,6202,7775,10817,1183,3143,1970\n2,1,3062,6154,13916,230,8933,2784\n1,1,8885,2428,1777,1777,430,610\n1,1,13569,346,489,2077,44,659\n1,1,15671,5279,2406,559,562,572\n1,1,8040,3795,2070,6340,918,291\n1,1,3191,1993,1799,1730,234,710\n2,1,6134,23133,33586,6746,18594,5121\n1,1,6623,1860,4740,7683,205,1693\n1,1,29526,7961,16966,432,363,1391\n1,1,10379,17972,4748,4686,1547,3265\n1,1,31614,489,1495,3242,111,615\n1,1,11092,5008,5249,453,392,373\n1,1,8475,1931,1883,5004,3593,987\n1,1,56083,4563,2124,6422,730,3321\n1,1,53205,4959,7336,3012,967,818\n1,1,9193,4885,2157,327,780,548\n1,1,7858,1110,1094,6818,49,287\n1,1,23257,1372,1677,982,429,655\n1,1,2153,1115,6684,4324,2894,411\n2,1,1073,9679,15445,61,5980,1265\n1,1,5909,23527,13699,10155,830,3636\n2,1,572,9763,22182,2221,4882,2563\n1,1,20893,1222,2576,3975,737,3628\n2,1,11908,8053,19847,1069,6374,698\n1,1,15218,258,1138,2516,333,204\n1,1,4720,1032,975,5500,197,56\n1,1,2083,5007,1563,1120,147,1550\n1,1,514,8323,6869,529,93,1040\n1,3,36817,3045,1493,4802,210,1824\n1,3,894,1703,1841,744,759,1153\n1,3,680,1610,223,862,96,379\n1,3,27901,3749,6964,4479,603,2503\n1,3,9061,829,683,16919,621,139\n1,3,11693,2317,2543,5845,274,1409\n2,3,17360,6200,9694,1293,3620,1721\n1,3,3366,2884,2431,977,167,1104\n2,3,12238,7108,6235,1093,2328,2079\n1,3,49063,3965,4252,5970,1041,1404\n1,3,25767,3613,2013,10303,314,1384\n1,3,68951,4411,12609,8692,751,2406\n1,3,40254,640,3600,1042,436,18\n1,3,7149,2247,1242,1619,1226,128\n1,3,15354,2102,2828,8366,386,1027\n1,3,16260,594,1296,848,445,258\n1,3,42786,286,471,1388,32,22\n1,3,2708,2160,2642,502,965,1522\n1,3,6022,3354,3261,2507,212,686\n1,3,2838,3086,4329,3838,825,1060\n2,2,3996,11103,12469,902,5952,741\n1,2,21273,2013,6550,909,811,1854\n2,2,7588,1897,5234,417,2208,254\n1,2,19087,1304,3643,3045,710,898\n2,2,8090,3199,6986,1455,3712,531\n2,2,6758,4560,9965,934,4538,1037\n1,2,444,879,2060,264,290,259\n2,2,16448,6243,6360,824,2662,2005\n2,2,5283,13316,20399,1809,8752,172\n2,2,2886,5302,9785,364,6236,555\n2,2,2599,3688,13829,492,10069,59\n2,2,161,7460,24773,617,11783,2410\n2,2,243,12939,8852,799,3909,211\n2,2,6468,12867,21570,1840,7558,1543\n1,2,17327,2374,2842,1149,351,925\n1,2,6987,1020,3007,416,257,656\n2,2,918,20655,13567,1465,6846,806\n1,2,7034,1492,2405,12569,299,1117\n1,2,29635,2335,8280,3046,371,117\n2,2,2137,3737,19172,1274,17120,142\n1,2,9784,925,2405,4447,183,297\n1,2,10617,1795,7647,1483,857,1233\n2,2,1479,14982,11924,662,3891,3508\n1,2,7127,1375,2201,2679,83,1059\n1,2,1182,3088,6114,978,821,1637\n1,2,11800,2713,3558,2121,706,51\n2,2,9759,25071,17645,1128,12408,1625\n1,2,1774,3696,2280,514,275,834\n1,2,9155,1897,5167,2714,228,1113\n1,2,15881,713,3315,3703,1470,229\n1,2,13360,944,11593,915,1679,573\n1,2,25977,3587,2464,2369,140,1092\n1,2,32717,16784,13626,60869,1272,5609\n1,2,4414,1610,1431,3498,387,834\n1,2,542,899,1664,414,88,522\n1,2,16933,2209,3389,7849,210,1534\n1,2,5113,1486,4583,5127,492,739\n1,2,9790,1786,5109,3570,182,1043\n2,2,11223,14881,26839,1234,9606,1102\n1,2,22321,3216,1447,2208,178,2602\n2,2,8565,4980,67298,131,38102,1215\n2,2,16823,928,2743,11559,332,3486\n2,2,27082,6817,10790,1365,4111,2139\n1,2,13970,1511,1330,650,146,778\n1,2,9351,1347,2611,8170,442,868\n1,2,3,333,7021,15601,15,550\n1,2,2617,1188,5332,9584,573,1942\n2,3,381,4025,9670,388,7271,1371\n2,3,2320,5763,11238,767,5162,2158\n1,3,255,5758,5923,349,4595,1328\n2,3,1689,6964,26316,1456,15469,37\n1,3,3043,1172,1763,2234,217,379\n1,3,1198,2602,8335,402,3843,303\n2,3,2771,6939,15541,2693,6600,1115\n2,3,27380,7184,12311,2809,4621,1022\n1,3,3428,2380,2028,1341,1184,665\n2,3,5981,14641,20521,2005,12218,445\n1,3,3521,1099,1997,1796,173,995\n2,3,1210,10044,22294,1741,12638,3137\n1,3,608,1106,1533,830,90,195\n2,3,117,6264,21203,228,8682,1111\n1,3,14039,7393,2548,6386,1333,2341\n1,3,190,727,2012,245,184,127\n1,3,22686,134,218,3157,9,548\n2,3,37,1275,22272,137,6747,110\n1,3,759,18664,1660,6114,536,4100\n1,3,796,5878,2109,340,232,776\n1,3,19746,2872,2006,2601,468,503\n1,3,4734,607,864,1206,159,405\n1,3,2121,1601,2453,560,179,712\n1,3,4627,997,4438,191,1335,314\n1,3,2615,873,1524,1103,514,468\n2,3,4692,6128,8025,1619,4515,3105\n1,3,9561,2217,1664,1173,222,447\n1,3,3477,894,534,1457,252,342\n1,3,22335,1196,2406,2046,101,558\n1,3,6211,337,683,1089,41,296\n2,3,39679,3944,4955,1364,523,2235\n1,3,20105,1887,1939,8164,716,790\n1,3,3884,3801,1641,876,397,4829\n2,3,15076,6257,7398,1504,1916,3113\n1,3,6338,2256,1668,1492,311,686\n1,3,5841,1450,1162,597,476,70\n2,3,3136,8630,13586,5641,4666,1426\n1,3,38793,3154,2648,1034,96,1242\n1,3,3225,3294,1902,282,68,1114\n2,3,4048,5164,10391,130,813,179\n1,3,28257,944,2146,3881,600,270\n1,3,17770,4591,1617,9927,246,532\n1,3,34454,7435,8469,2540,1711,2893\n1,3,1821,1364,3450,4006,397,361\n1,3,10683,21858,15400,3635,282,5120\n1,3,11635,922,1614,2583,192,1068\n1,3,1206,3620,2857,1945,353,967\n1,3,20918,1916,1573,1960,231,961\n1,3,9785,848,1172,1677,200,406\n1,3,9385,1530,1422,3019,227,684\n1,3,3352,1181,1328,5502,311,1000\n1,3,2647,2761,2313,907,95,1827\n1,3,518,4180,3600,659,122,654\n1,3,23632,6730,3842,8620,385,819\n1,3,12377,865,3204,1398,149,452\n1,3,9602,1316,1263,2921,841,290\n2,3,4515,11991,9345,2644,3378,2213\n1,3,11535,1666,1428,6838,64,743\n1,3,11442,1032,582,5390,74,247\n1,3,9612,577,935,1601,469,375\n1,3,4446,906,1238,3576,153,1014\n1,3,27167,2801,2128,13223,92,1902\n1,3,26539,4753,5091,220,10,340\n1,3,25606,11006,4604,127,632,288\n1,3,18073,4613,3444,4324,914,715\n1,3,6884,1046,1167,2069,593,378\n1,3,25066,5010,5026,9806,1092,960\n2,3,7362,12844,18683,2854,7883,553\n2,3,8257,3880,6407,1646,2730,344\n1,3,8708,3634,6100,2349,2123,5137\n1,3,6633,2096,4563,1389,1860,1892\n1,3,2126,3289,3281,1535,235,4365\n1,3,97,3605,12400,98,2970,62\n1,3,4983,4859,6633,17866,912,2435\n1,3,5969,1990,3417,5679,1135,290\n2,3,7842,6046,8552,1691,3540,1874\n2,3,4389,10940,10908,848,6728,993\n1,3,5065,5499,11055,364,3485,1063\n2,3,660,8494,18622,133,6740,776\n1,3,8861,3783,2223,633,1580,1521\n1,3,4456,5266,13227,25,6818,1393\n2,3,17063,4847,9053,1031,3415,1784\n1,3,26400,1377,4172,830,948,1218\n2,3,17565,3686,4657,1059,1803,668\n2,3,16980,2884,12232,874,3213,249\n1,3,11243,2408,2593,15348,108,1886\n1,3,13134,9347,14316,3141,5079,1894\n1,3,31012,16687,5429,15082,439,1163\n1,3,3047,5970,4910,2198,850,317\n1,3,8607,1750,3580,47,84,2501\n1,3,3097,4230,16483,575,241,2080\n1,3,8533,5506,5160,13486,1377,1498\n1,3,21117,1162,4754,269,1328,395\n1,3,1982,3218,1493,1541,356,1449\n1,3,16731,3922,7994,688,2371,838\n1,3,29703,12051,16027,13135,182,2204\n1,3,39228,1431,764,4510,93,2346\n2,3,14531,15488,30243,437,14841,1867\n1,3,10290,1981,2232,1038,168,2125\n1,3,2787,1698,2510,65,477,52\n"
  },
  {
    "path": "p3-creating-customer-segments/renders.py",
    "content": "import matplotlib.pyplot as plt\nimport matplotlib.cm as cm\nimport pandas as pd\nimport numpy as np\nfrom sklearn.decomposition import pca\n\ndef pca_results(good_data, pca):\n\t'''\n\tCreate a DataFrame of the PCA results\n\tIncludes dimension feature weights and explained variance\n\tVisualizes the PCA results\n\t'''\n\n\t# Dimension indexing\n\tdimensions = dimensions = ['Dimension {}'.format(i) for i in range(1,len(pca.components_)+1)]\n\n\t# PCA components\n\tcomponents = pd.DataFrame(np.round(pca.components_, 4), columns = good_data.keys())\n\tcomponents.index = dimensions\n\n\t# PCA explained variance\n\tratios = pca.explained_variance_ratio_.reshape(len(pca.components_), 1)\n\tvariance_ratios = pd.DataFrame(np.round(ratios, 4), columns = ['Explained Variance'])\n\tvariance_ratios.index = dimensions\n\n\t# Create a bar plot visualization\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Plot the feature weights as a function of the components\n\tcomponents.plot(ax = ax, kind = 'bar');\n\tax.set_ylabel(\"Feature Weights\")\n\tax.set_xticklabels(dimensions, rotation=0)\n\n\n\t# Display the explained variance ratios\n\tfor i, ev in enumerate(pca.explained_variance_ratio_):\n\t\tax.text(i-0.40, ax.get_ylim()[1] + 0.05, \"Explained Variance\\n          %.4f\"%(ev))\n\n\t# Return a concatenated DataFrame\n\treturn pd.concat([variance_ratios, components], axis = 1)\n\ndef cluster_results(reduced_data, preds, centers, pca_samples):\n\t'''\n\tVisualizes the PCA-reduced cluster data in two dimensions\n\tAdds cues for cluster centers and student-selected sample data\n\t'''\n\n\tpredictions = pd.DataFrame(preds, columns = ['Cluster'])\n\tplot_data = pd.concat([predictions, reduced_data], axis = 1)\n\n\t# Generate the cluster plot\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Color map\n\tcmap = cm.get_cmap('gist_rainbow')\n\n\t# Color the points based on assigned cluster\n\tfor i, cluster in plot_data.groupby('Cluster'):   \n\t    cluster.plot(ax = ax, kind = 'scatter', x = 'Dimension 1', y = 'Dimension 2', \\\n\t                 color = cmap((i)*1.0/(len(centers)-1)), label = 'Cluster %i'%(i), s=30);\n\n\t# Plot centers with indicators\n\tfor i, c in enumerate(centers):\n\t    ax.scatter(x = c[0], y = c[1], color = 'white', edgecolors = 'black', \\\n\t               alpha = 1, linewidth = 2, marker = 'o', s=200);\n\t    ax.scatter(x = c[0], y = c[1], marker='$%d$'%(i), alpha = 1, s=100);\n\n\t# Plot transformed sample points \n\tax.scatter(x = pca_samples[:,0], y = pca_samples[:,1], \\\n\t           s = 150, linewidth = 4, color = 'black', marker = 'x');\n\n\t# Set plot title\n\tax.set_title(\"Cluster Learning on PCA-Reduced Data - Centroids Marked by Number\\nTransformed Sample Data Marked by Black Cross\");\n\n\ndef channel_results(reduced_data, outliers, pca_samples):\n\t'''\n\tVisualizes the PCA-reduced cluster data in two dimensions using the full dataset\n\tData is labeled by \"Channel\" and cues added for student-selected sample data\n\t'''\n\n\t# Check that the dataset is loadable\n\ttry:\n\t    full_data = pd.read_csv(\"customers.csv\")\n\texcept:\n\t    print \"Dataset could not be loaded. Is the file missing?\"\n\t    return False\n\n\t# Create the Channel DataFrame\n\tchannel = pd.DataFrame(full_data['Channel'], columns = ['Channel'])\n\tchannel = channel.drop(channel.index[outliers]).reset_index(drop = True)\n\tlabeled = pd.concat([reduced_data, channel], axis = 1)\n\t\n\t# Generate the cluster plot\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Color map\n\tcmap = cm.get_cmap('gist_rainbow')\n\n\t# Color the points based on assigned Channel\n\tlabels = ['Hotel/Restaurant/Cafe', 'Retailer']\n\tgrouped = labeled.groupby('Channel')\n\tfor i, channel in grouped:   \n\t    channel.plot(ax = ax, kind = 'scatter', x = 'Dimension 1', y = 'Dimension 2', \\\n\t                 color = cmap((i-1)*1.0/2), label = labels[i-1], s=30);\n\t    \n\t# Plot transformed sample points   \n\tfor i, sample in enumerate(pca_samples):\n\t\tax.scatter(x = sample[0], y = sample[1], \\\n\t           s = 200, linewidth = 3, color = 'black', marker = 'o', facecolors = 'none');\n\t\tax.scatter(x = sample[0]+0.25, y = sample[1]+0.3, marker='$%d$'%(i), alpha = 1, s=125);\n\n\t# Set plot title\n\tax.set_title(\"PCA-Reduced Data Labeled by 'Channel'\\nTransformed Sample Data Circled\");"
  },
  {
    "path": "p3-creating-customer-segments/renders_py3.py",
    "content": "import matplotlib.pyplot as plt\nimport matplotlib.cm as cm\nimport pandas as pd\nimport numpy as np\nfrom sklearn.decomposition import pca\n\ndef pca_results(good_data, pca):\n\t'''\n\tCreate a DataFrame of the PCA results\n\tIncludes dimension feature weights and explained variance\n\tVisualizes the PCA results\n\t'''\n\n\t# Dimension indexing\n\tdimensions = dimensions = ['Dimension {}'.format(i) for i in range(1,len(pca.components_)+1)]\n\n\t# PCA components\n\tcomponents = pd.DataFrame(np.round(pca.components_, 4), columns = good_data.keys())\n\tcomponents.index = dimensions\n\n\t# PCA explained variance\n\tratios = pca.explained_variance_ratio_.reshape(len(pca.components_), 1)\n\tvariance_ratios = pd.DataFrame(np.round(ratios, 4), columns = ['Explained Variance'])\n\tvariance_ratios.index = dimensions\n\n\t# Create a bar plot visualization\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Plot the feature weights as a function of the components\n\tcomponents.plot(ax = ax, kind = 'bar');\n\tax.set_ylabel(\"Feature Weights\")\n\tax.set_xticklabels(dimensions, rotation=0)\n\n\n\t# Display the explained variance ratios\n\tfor i, ev in enumerate(pca.explained_variance_ratio_):\n\t\tax.text(i-0.40, ax.get_ylim()[1] + 0.05, \"Explained Variance\\n          %.4f\"%(ev))\n\n\t# Return a concatenated DataFrame\n\treturn pd.concat([variance_ratios, components], axis = 1)\n\ndef cluster_results(reduced_data, preds, centers, pca_samples):\n\t'''\n\tVisualizes the PCA-reduced cluster data in two dimensions\n\tAdds cues for cluster centers and student-selected sample data\n\t'''\n\n\tpredictions = pd.DataFrame(preds, columns = ['Cluster'])\n\tplot_data = pd.concat([predictions, reduced_data], axis = 1)\n\n\t# Generate the cluster plot\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Color map\n\tcmap = cm.get_cmap('gist_rainbow')\n\n\t# Color the points based on assigned cluster\n\tfor i, cluster in plot_data.groupby('Cluster'):   \n\t    cluster.plot(ax = ax, kind = 'scatter', x = 'Dimension 1', y = 'Dimension 2', \\\n\t                 color = cmap((i)*1.0/(len(centers)-1)), label = 'Cluster %i'%(i), s=30);\n\n\t# Plot centers with indicators\n\tfor i, c in enumerate(centers):\n\t    ax.scatter(x = c[0], y = c[1], color = 'white', edgecolors = 'black', \\\n\t               alpha = 1, linewidth = 2, marker = 'o', s=200);\n\t    ax.scatter(x = c[0], y = c[1], marker='$%d$'%(i), alpha = 1, s=100);\n\n\t# Plot transformed sample points \n\tax.scatter(x = pca_samples[:,0], y = pca_samples[:,1], \\\n\t           s = 150, linewidth = 4, color = 'black', marker = 'x');\n\n\t# Set plot title\n\tax.set_title(\"Cluster Learning on PCA-Reduced Data - Centroids Marked by Number\\nTransformed Sample Data Marked by Black Cross\");\n\n\ndef channel_results(reduced_data, outliers, pca_samples):\n\t'''\n\tVisualizes the PCA-reduced cluster data in two dimensions using the full dataset\n\tData is labeled by \"Channel\" and cues added for student-selected sample data\n\t'''\n\n\t# Check that the dataset is loadable\n\ttry:\n\t    full_data = pd.read_csv(\"customers.csv\")\n\texcept:\n\t    print(\"Dataset could not be loaded. Is the file missing?\")\n\t    return False\n\n\t# Create the Channel DataFrame\n\tchannel = pd.DataFrame(full_data['Channel'], columns = ['Channel'])\n\tchannel = channel.drop(channel.index[outliers]).reset_index(drop = True)\n\tlabeled = pd.concat([reduced_data, channel], axis = 1)\n\t\n\t# Generate the cluster plot\n\tfig, ax = plt.subplots(figsize = (14,8))\n\n\t# Color map\n\tcmap = cm.get_cmap('gist_rainbow')\n\n\t# Color the points based on assigned Channel\n\tlabels = ['Hotel/Restaurant/Cafe', 'Retailer']\n\tgrouped = labeled.groupby('Channel')\n\tfor i, channel in grouped:   \n\t    channel.plot(ax = ax, kind = 'scatter', x = 'Dimension 1', y = 'Dimension 2', \\\n\t                 color = cmap((i-1)*1.0/2), label = labels[i-1], s=30);\n\t    \n\t# Plot transformed sample points   \n\tfor i, sample in enumerate(pca_samples):\n\t\tax.scatter(x = sample[0], y = sample[1], \\\n\t           s = 200, linewidth = 3, color = 'black', marker = 'o', facecolors = 'none');\n\t\tax.scatter(x = sample[0]+0.25, y = sample[1]+0.3, marker='$%d$'%(i), alpha = 1, s=125);\n\n\t# Set plot title\n\tax.set_title(\"PCA-Reduced Data Labeled by 'Channel'\\nTransformed Sample Data Circled\");"
  },
  {
    "path": "p3-creating-customer-segments/report.html",
    "content": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>customer_segments</title>\n\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>\n\n<style type=\"text/css\">\n    /*!\n*\n* Twitter Bootstrap\n*\n*/\n/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');\n  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #000;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 3px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 18px;\n  margin-bottom: 18px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 18px;\n  margin-bottom: 9px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 33px;\n}\nh2,\n.h2 {\n  font-size: 27px;\n}\nh3,\n.h3 {\n  font-size: 23px;\n}\nh4,\n.h4 {\n  font-size: 17px;\n}\nh5,\n.h5 {\n  font-size: 13px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 9px;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 14px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 19.5px;\n  }\n}\nsmall,\n.small {\n  font-size: 92%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 8px;\n  margin: 36px 0 18px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 9px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 18px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 541px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 9px 18px;\n  margin: 0 0 18px;\n  font-size: inherit;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 18px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 2px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #888;\n  background-color: transparent;\n  border-radius: 1px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 768px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 940px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1140px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 18px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 13.5px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 18px;\n  font-size: 19.5px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 32px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 45px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 18px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 31px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 30px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.form-group-lg select.form-control {\n  height: 45px;\n  line-height: 45px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 45px;\n  min-height: 35px;\n  padding: 11px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 40px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 45px;\n  height: 45px;\n  line-height: 45px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 23px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #404040;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 25px;\n}\n.form-horizontal .form-group {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 0px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 17px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  border-radius: 2px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 13px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 2px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 541px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n  border-radius: 3px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 1px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 17px;\n  border-radius: 3px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 8px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 2px 2px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 2px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 2px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 2px 2px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 30px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n}\n@media (min-width: 541px) {\n  .navbar {\n    border-radius: 2px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 0px;\n  padding-left: 0px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 541px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 540px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: 0px;\n  margin-left: 0px;\n}\n@media (min-width: 541px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 541px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 541px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 6px 0px;\n  font-size: 17px;\n  line-height: 18px;\n  height: 30px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 541px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: 0px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 0px;\n  padding: 9px 10px;\n  margin-top: -2px;\n  margin-bottom: -2px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 541px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 3px 0px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 18px;\n}\n@media (max-width: 540px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 18px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 6px;\n    padding-bottom: 6px;\n  }\n}\n.navbar-form {\n  margin-left: 0px;\n  margin-right: 0px;\n  padding: 10px 0px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 540px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: -1px;\n  margin-bottom: -1px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 0px;\n  margin-bottom: 0px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 4px;\n  margin-bottom: 4px;\n}\n.navbar-text {\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n@media (min-width: 541px) {\n  .navbar-text {\n    float: left;\n    margin-left: 0px;\n    margin-right: 0px;\n  }\n}\n@media (min-width: 541px) {\n  .navbar-left {\n    float: left !important;\n    float: left;\n  }\n  .navbar-right {\n    float: right !important;\n    float: right;\n    margin-right: 0px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 540px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 540px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 18px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #5e5e5e;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 18px 0;\n  border-radius: 2px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 2px;\n  border-top-right-radius: 2px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 17px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.pager {\n  padding-left: 0;\n  margin: 18px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 20px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 3px;\n  padding-left: 0px;\n  padding-right: 0px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 59px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 18px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #000;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 18px;\n  border: 1px solid transparent;\n  border-radius: 2px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 18px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 18px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 2px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 15px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 1px;\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 1px;\n  border-top-right-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 1px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 1px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 1px;\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 1px;\n  border-bottom-right-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 1px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 1px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 18px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 2px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 3px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 1px;\n}\n.close {\n  float: right;\n  font-size: 19.5px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 2px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 13px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 3px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 13px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 2px 2px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after,\n.item_buttons:before,\n.item_buttons:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after,\n.item_buttons:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*!\n*\n* Font Awesome\n*\n*/\n/*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');\n  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eee;\n  border-radius: .1em;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n/*!\n*\n* IPython base\n*\n*/\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\ncode {\n  color: #000;\n}\npre {\n  font-size: inherit;\n  line-height: inherit;\n}\nlabel {\n  font-weight: normal;\n}\n/* Make the page background atleast 100% the height of the view port */\n/* Make the page itself atleast 70% the height of the view port */\n.border-box-sizing {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.corner-all {\n  border-radius: 2px;\n}\n.no-padding {\n  padding: 0px;\n}\n/* Flexible box model classes */\n/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */\n/* This file is a compatability layer.  It allows the usage of flexible box \nmodel layouts accross multiple browsers, including older browsers.  The newest,\nuniversal implementation of the flexible box model is used when available (see\n`Modern browsers` comments below).  Browsers that are known to implement this \nnew spec completely include:\n\n    Firefox 28.0+\n    Chrome 29.0+\n    Internet Explorer 11+ \n    Opera 17.0+\n\nBrowsers not listed, including Safari, are supported via the styling under the\n`Old browsers` comments below.\n*/\n.hbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n.hbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.vbox {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n.vbox > * {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n}\n.hbox.reverse,\n.vbox.reverse,\n.reverse {\n  /* Old browsers */\n  -webkit-box-direction: reverse;\n  -moz-box-direction: reverse;\n  box-direction: reverse;\n  /* Modern browsers */\n  flex-direction: row-reverse;\n}\n.hbox.box-flex0,\n.vbox.box-flex0,\n.box-flex0 {\n  /* Old browsers */\n  -webkit-box-flex: 0;\n  -moz-box-flex: 0;\n  box-flex: 0;\n  /* Modern browsers */\n  flex: none;\n  width: auto;\n}\n.hbox.box-flex1,\n.vbox.box-flex1,\n.box-flex1 {\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex,\n.vbox.box-flex,\n.box-flex {\n  /* Old browsers */\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n.hbox.box-flex2,\n.vbox.box-flex2,\n.box-flex2 {\n  /* Old browsers */\n  -webkit-box-flex: 2;\n  -moz-box-flex: 2;\n  box-flex: 2;\n  /* Modern browsers */\n  flex: 2;\n}\n.box-group1 {\n  /*  Deprecated */\n  -webkit-box-flex-group: 1;\n  -moz-box-flex-group: 1;\n  box-flex-group: 1;\n}\n.box-group2 {\n  /* Deprecated */\n  -webkit-box-flex-group: 2;\n  -moz-box-flex-group: 2;\n  box-flex-group: 2;\n}\n.hbox.start,\n.vbox.start,\n.start {\n  /* Old browsers */\n  -webkit-box-pack: start;\n  -moz-box-pack: start;\n  box-pack: start;\n  /* Modern browsers */\n  justify-content: flex-start;\n}\n.hbox.end,\n.vbox.end,\n.end {\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n}\n.hbox.center,\n.vbox.center,\n.center {\n  /* Old browsers */\n  -webkit-box-pack: center;\n  -moz-box-pack: center;\n  box-pack: center;\n  /* Modern browsers */\n  justify-content: center;\n}\n.hbox.baseline,\n.vbox.baseline,\n.baseline {\n  /* Old browsers */\n  -webkit-box-pack: baseline;\n  -moz-box-pack: baseline;\n  box-pack: baseline;\n  /* Modern browsers */\n  justify-content: baseline;\n}\n.hbox.stretch,\n.vbox.stretch,\n.stretch {\n  /* Old browsers */\n  -webkit-box-pack: stretch;\n  -moz-box-pack: stretch;\n  box-pack: stretch;\n  /* Modern browsers */\n  justify-content: stretch;\n}\n.hbox.align-start,\n.vbox.align-start,\n.align-start {\n  /* Old browsers */\n  -webkit-box-align: start;\n  -moz-box-align: start;\n  box-align: start;\n  /* Modern browsers */\n  align-items: flex-start;\n}\n.hbox.align-end,\n.vbox.align-end,\n.align-end {\n  /* Old browsers */\n  -webkit-box-align: end;\n  -moz-box-align: end;\n  box-align: end;\n  /* Modern browsers */\n  align-items: flex-end;\n}\n.hbox.align-center,\n.vbox.align-center,\n.align-center {\n  /* Old browsers */\n  -webkit-box-align: center;\n  -moz-box-align: center;\n  box-align: center;\n  /* Modern browsers */\n  align-items: center;\n}\n.hbox.align-baseline,\n.vbox.align-baseline,\n.align-baseline {\n  /* Old browsers */\n  -webkit-box-align: baseline;\n  -moz-box-align: baseline;\n  box-align: baseline;\n  /* Modern browsers */\n  align-items: baseline;\n}\n.hbox.align-stretch,\n.vbox.align-stretch,\n.align-stretch {\n  /* Old browsers */\n  -webkit-box-align: stretch;\n  -moz-box-align: stretch;\n  box-align: stretch;\n  /* Modern browsers */\n  align-items: stretch;\n}\ndiv.error {\n  margin: 2em;\n  text-align: center;\n}\ndiv.error > h1 {\n  font-size: 500%;\n  line-height: normal;\n}\ndiv.error > p {\n  font-size: 200%;\n  line-height: normal;\n}\ndiv.traceback-wrapper {\n  text-align: left;\n  max-width: 800px;\n  margin: auto;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nbody {\n  background-color: #fff;\n  /* This makes sure that the body covers the entire window and needs to\n       be in a different element than the display: box in wrapper below */\n  position: absolute;\n  left: 0px;\n  right: 0px;\n  top: 0px;\n  bottom: 0px;\n  overflow: visible;\n}\nbody > #header {\n  /* Initially hidden to prevent FLOUC */\n  display: none;\n  background-color: #fff;\n  /* Display over codemirror */\n  position: relative;\n  z-index: 100;\n}\nbody > #header #header-container {\n  padding-bottom: 5px;\n  padding-top: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\nbody > #header .header-bar {\n  width: 100%;\n  height: 1px;\n  background: #e7e7e7;\n  margin-bottom: -1px;\n}\n@media print {\n  body > #header {\n    display: none !important;\n  }\n}\n#header-spacer {\n  width: 100%;\n  visibility: hidden;\n}\n@media print {\n  #header-spacer {\n    display: none;\n  }\n}\n#ipython_notebook {\n  padding-left: 0px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n@media (max-width: 991px) {\n  #ipython_notebook {\n    margin-left: 10px;\n  }\n}\n#noscript {\n  width: auto;\n  padding-top: 16px;\n  padding-bottom: 16px;\n  text-align: center;\n  font-size: 22px;\n  color: red;\n  font-weight: bold;\n}\n#ipython_notebook img {\n  height: 28px;\n}\n#site {\n  width: 100%;\n  display: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  overflow: auto;\n}\n@media print {\n  #site {\n    height: auto !important;\n  }\n}\n/* Smaller buttons */\n.ui-button .ui-button-text {\n  padding: 0.2em 0.8em;\n  font-size: 77%;\n}\ninput.ui-button {\n  padding: 0.3em 0.9em;\n}\nspan#login_widget {\n  float: right;\n}\nspan#login_widget > .button,\n#logout {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button:focus,\n#logout:focus,\nspan#login_widget > .button.focus,\n#logout.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:hover,\n#logout:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\nspan#login_widget > .button:active:hover,\n#logout:active:hover,\nspan#login_widget > .button.active:hover,\n#logout.active:hover,\n.open > .dropdown-togglespan#login_widget > .button:hover,\n.open > .dropdown-toggle#logout:hover,\nspan#login_widget > .button:active:focus,\n#logout:active:focus,\nspan#login_widget > .button.active:focus,\n#logout.active:focus,\n.open > .dropdown-togglespan#login_widget > .button:focus,\n.open > .dropdown-toggle#logout:focus,\nspan#login_widget > .button:active.focus,\n#logout:active.focus,\nspan#login_widget > .button.active.focus,\n#logout.active.focus,\n.open > .dropdown-togglespan#login_widget > .button.focus,\n.open > .dropdown-toggle#logout.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\nspan#login_widget > .button:active,\n#logout:active,\nspan#login_widget > .button.active,\n#logout.active,\n.open > .dropdown-togglespan#login_widget > .button,\n.open > .dropdown-toggle#logout {\n  background-image: none;\n}\nspan#login_widget > .button.disabled:hover,\n#logout.disabled:hover,\nspan#login_widget > .button[disabled]:hover,\n#logout[disabled]:hover,\nfieldset[disabled] span#login_widget > .button:hover,\nfieldset[disabled] #logout:hover,\nspan#login_widget > .button.disabled:focus,\n#logout.disabled:focus,\nspan#login_widget > .button[disabled]:focus,\n#logout[disabled]:focus,\nfieldset[disabled] span#login_widget > .button:focus,\nfieldset[disabled] #logout:focus,\nspan#login_widget > .button.disabled.focus,\n#logout.disabled.focus,\nspan#login_widget > .button[disabled].focus,\n#logout[disabled].focus,\nfieldset[disabled] span#login_widget > .button.focus,\nfieldset[disabled] #logout.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\nspan#login_widget > .button .badge,\n#logout .badge {\n  color: #fff;\n  background-color: #333;\n}\n.nav-header {\n  text-transform: none;\n}\n#header > span {\n  margin-top: 10px;\n}\n.modal_stretch .modal-dialog {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  min-height: 80vh;\n}\n.modal_stretch .modal-dialog .modal-body {\n  max-height: calc(100vh - 200px);\n  overflow: auto;\n  flex: 1;\n}\n@media (min-width: 768px) {\n  .modal .modal-dialog {\n    width: 700px;\n  }\n}\n@media (min-width: 768px) {\n  select.form-control {\n    margin-left: 12px;\n    margin-right: 12px;\n  }\n}\n/*!\n*\n* IPython auth\n*\n*/\n.center-nav {\n  display: inline-block;\n  margin-bottom: -4px;\n}\n/*!\n*\n* IPython tree view\n*\n*/\n/* We need an invisible input field on top of the sentense*/\n/* \"Drag file onto the list ...\" */\n.alternate_upload {\n  background-color: none;\n  display: inline;\n}\n.alternate_upload.form {\n  padding: 0;\n  margin: 0;\n}\n.alternate_upload input.fileinput {\n  text-align: center;\n  vertical-align: middle;\n  display: inline;\n  opacity: 0;\n  z-index: 2;\n  width: 12ex;\n  margin-right: -12ex;\n}\n.alternate_upload .btn-upload {\n  height: 22px;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\nul#tabs {\n  margin-bottom: 4px;\n}\nul#tabs a {\n  padding-top: 6px;\n  padding-bottom: 4px;\n}\nul.breadcrumb a:focus,\nul.breadcrumb a:hover {\n  text-decoration: none;\n}\nul.breadcrumb i.icon-home {\n  font-size: 16px;\n  margin-right: 4px;\n}\nul.breadcrumb span {\n  color: #5e5e5e;\n}\n.list_toolbar {\n  padding: 4px 0 4px 0;\n  vertical-align: middle;\n}\n.list_toolbar .tree-buttons {\n  padding-top: 1px;\n}\n.dynamic-buttons {\n  padding-top: 3px;\n  display: inline-block;\n}\n.list_toolbar [class*=\"span\"] {\n  min-height: 24px;\n}\n.list_header {\n  font-weight: bold;\n  background-color: #EEE;\n}\n.list_placeholder {\n  font-weight: bold;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n.list_container {\n  margin-top: 4px;\n  margin-bottom: 20px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n}\n.list_container > div {\n  border-bottom: 1px solid #ddd;\n}\n.list_container > div:hover .list-item {\n  background-color: red;\n}\n.list_container > div:last-child {\n  border: none;\n}\n.list_item:hover .list_item {\n  background-color: #ddd;\n}\n.list_item a {\n  text-decoration: none;\n}\n.list_item:hover {\n  background-color: #fafafa;\n}\n.list_header > div,\n.list_item > div {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n.list_header > div input,\n.list_item > div input {\n  margin-right: 7px;\n  margin-left: 14px;\n  vertical-align: baseline;\n  line-height: 22px;\n  position: relative;\n  top: -1px;\n}\n.list_header > div .item_link,\n.list_item > div .item_link {\n  margin-left: -1px;\n  vertical-align: baseline;\n  line-height: 22px;\n}\n.new-file input[type=checkbox] {\n  visibility: hidden;\n}\n.item_name {\n  line-height: 22px;\n  height: 24px;\n}\n.item_icon {\n  font-size: 14px;\n  color: #5e5e5e;\n  margin-right: 7px;\n  margin-left: 7px;\n  line-height: 22px;\n  vertical-align: baseline;\n}\n.item_buttons {\n  line-height: 1em;\n  margin-left: -5px;\n}\n.item_buttons .btn,\n.item_buttons .btn-group,\n.item_buttons .input-group {\n  float: left;\n}\n.item_buttons > .btn,\n.item_buttons > .btn-group,\n.item_buttons > .input-group {\n  margin-left: 5px;\n}\n.item_buttons .btn {\n  min-width: 13ex;\n}\n.item_buttons .running-indicator {\n  padding-top: 4px;\n  color: #5cb85c;\n}\n.item_buttons .kernel-name {\n  padding-top: 4px;\n  color: #5bc0de;\n  margin-right: 7px;\n  float: left;\n}\n.toolbar_info {\n  height: 24px;\n  line-height: 24px;\n}\n.list_item input:not([type=checkbox]) {\n  padding-top: 3px;\n  padding-bottom: 3px;\n  height: 22px;\n  line-height: 14px;\n  margin: 0px;\n}\n.highlight_text {\n  color: blue;\n}\n#project_name {\n  display: inline-block;\n  padding-left: 7px;\n  margin-left: -2px;\n}\n#project_name > .breadcrumb {\n  padding: 0px;\n  margin-bottom: 0px;\n  background-color: transparent;\n  font-weight: bold;\n}\n#tree-selector {\n  padding-right: 0px;\n}\n#button-select-all {\n  min-width: 50px;\n}\n#select-all {\n  margin-left: 7px;\n  margin-right: 2px;\n}\n.menu_icon {\n  margin-right: 2px;\n}\n.tab-content .row {\n  margin-left: 0px;\n  margin-right: 0px;\n}\n.folder_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f114\";\n}\n.folder_icon:before.pull-left {\n  margin-right: .3em;\n}\n.folder_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n}\n.notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.running_notebook_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f02d\";\n  position: relative;\n  top: -1px;\n  color: #5cb85c;\n}\n.running_notebook_icon:before.pull-left {\n  margin-right: .3em;\n}\n.running_notebook_icon:before.pull-right {\n  margin-left: .3em;\n}\n.file_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f016\";\n  position: relative;\n  top: -2px;\n}\n.file_icon:before.pull-left {\n  margin-right: .3em;\n}\n.file_icon:before.pull-right {\n  margin-left: .3em;\n}\n#notebook_toolbar .pull-right {\n  padding-top: 0px;\n  margin-right: -1px;\n}\nul#new-menu {\n  left: auto;\n  right: 0;\n}\n.kernel-menu-icon {\n  padding-right: 12px;\n  width: 24px;\n  content: \"\\f096\";\n}\n.kernel-menu-icon:before {\n  content: \"\\f096\";\n}\n.kernel-menu-icon-current:before {\n  content: \"\\f00c\";\n}\n#tab_content {\n  padding-top: 20px;\n}\n#running .panel-group .panel {\n  margin-top: 3px;\n  margin-bottom: 1em;\n}\n#running .panel-group .panel .panel-heading {\n  background-color: #EEE;\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 7px;\n  padding-right: 7px;\n  line-height: 22px;\n}\n#running .panel-group .panel .panel-heading a:focus,\n#running .panel-group .panel .panel-heading a:hover {\n  text-decoration: none;\n}\n#running .panel-group .panel .panel-body {\n  padding: 0px;\n}\n#running .panel-group .panel .panel-body .list_container {\n  margin-top: 0px;\n  margin-bottom: 0px;\n  border: 0px;\n  border-radius: 0px;\n}\n#running .panel-group .panel .panel-body .list_container .list_item {\n  border-bottom: 1px solid #ddd;\n}\n#running .panel-group .panel .panel-body .list_container .list_item:last-child {\n  border-bottom: 0px;\n}\n.delete-button {\n  display: none;\n}\n.duplicate-button {\n  display: none;\n}\n.rename-button {\n  display: none;\n}\n.shutdown-button {\n  display: none;\n}\n.dynamic-instructions {\n  display: inline-block;\n  padding-top: 4px;\n}\n/*!\n*\n* IPython text editor webapp\n*\n*/\n.selected-keymap i.fa {\n  padding: 0px 5px;\n}\n.selected-keymap i.fa:before {\n  content: \"\\f00c\";\n}\n#mode-menu {\n  overflow: auto;\n  max-height: 20em;\n}\n.edit_app #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.edit_app #menubar .navbar {\n  /* Use a negative 1 bottom margin, so the border overlaps the border of the\n    header */\n  margin-bottom: -1px;\n}\n.dirty-indicator {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-dirty {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-dirty.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-dirty.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: 20px;\n}\n.dirty-indicator-clean.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean.pull-right {\n  margin-left: .3em;\n}\n.dirty-indicator-clean:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f00c\";\n}\n.dirty-indicator-clean:before.pull-left {\n  margin-right: .3em;\n}\n.dirty-indicator-clean:before.pull-right {\n  margin-left: .3em;\n}\n#filename {\n  font-size: 16pt;\n  display: table;\n  padding: 0px 5px;\n}\n#current-mode {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#texteditor-backdrop {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n@media not print {\n  #texteditor-backdrop {\n    background-color: #EEE;\n  }\n}\n@media print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,\n  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {\n    background-color: #fff;\n  }\n}\n@media not print {\n  #texteditor-backdrop #texteditor-container {\n    padding: 0px;\n    background-color: #fff;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n/*!\n*\n* IPython notebook\n*\n*/\n/* CSS font colors for translated ANSI colors. */\n.ansibold {\n  font-weight: bold;\n}\n/* use dark versions for foreground, to improve visibility */\n.ansiblack {\n  color: black;\n}\n.ansired {\n  color: darkred;\n}\n.ansigreen {\n  color: darkgreen;\n}\n.ansiyellow {\n  color: #c4a000;\n}\n.ansiblue {\n  color: darkblue;\n}\n.ansipurple {\n  color: darkviolet;\n}\n.ansicyan {\n  color: steelblue;\n}\n.ansigray {\n  color: gray;\n}\n/* and light for background, for the same reason */\n.ansibgblack {\n  background-color: black;\n}\n.ansibgred {\n  background-color: red;\n}\n.ansibggreen {\n  background-color: green;\n}\n.ansibgyellow {\n  background-color: yellow;\n}\n.ansibgblue {\n  background-color: blue;\n}\n.ansibgpurple {\n  background-color: magenta;\n}\n.ansibgcyan {\n  background-color: cyan;\n}\n.ansibggray {\n  background-color: gray;\n}\ndiv.cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  border-radius: 2px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  border-width: 1px;\n  border-style: solid;\n  border-color: transparent;\n  width: 100%;\n  padding: 5px;\n  /* This acts as a spacer between cells, that is outside the border */\n  margin: 0px;\n  outline: none;\n  border-left-width: 1px;\n  padding-left: 5px;\n  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);\n}\ndiv.cell.jupyter-soft-selected {\n  border-left-color: #90CAF9;\n  border-left-color: #E3F2FD;\n  border-left-width: 1px;\n  padding-left: 5px;\n  border-right-color: #E3F2FD;\n  border-right-width: 1px;\n  background: #E3F2FD;\n}\n@media print {\n  div.cell.jupyter-soft-selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected {\n  border-color: #ababab;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  div.cell.selected {\n    border-color: transparent;\n  }\n}\ndiv.cell.selected.jupyter-soft-selected {\n  border-left-width: 0;\n  padding-left: 6px;\n  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);\n}\n.edit_mode div.cell.selected {\n  border-color: #66BB6A;\n  border-left-width: 0px;\n  padding-left: 6px;\n  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);\n}\n@media print {\n  .edit_mode div.cell.selected {\n    border-color: transparent;\n  }\n}\n.prompt {\n  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */\n  min-width: 14ex;\n  /* This padding is tuned to match the padding on the CodeMirror editor. */\n  padding: 0.4em;\n  margin: 0px;\n  font-family: monospace;\n  text-align: right;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n  /* Don't highlight prompt number selection */\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  /* Use default cursor */\n  cursor: default;\n}\n@media (max-width: 540px) {\n  .prompt {\n    text-align: left;\n  }\n}\ndiv.inner_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\n@-moz-document url-prefix() {\n  div.inner_cell {\n    overflow-x: hidden;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_area {\n  border: 1px solid #cfcfcf;\n  border-radius: 2px;\n  background: #f7f7f7;\n  line-height: 1.21429em;\n}\n/* This is needed so that empty prompt areas can collapse to zero height when there\n   is no content in the output_subarea and the prompt. The main purpose of this is\n   to make sure that empty JavaScript output_subareas have no height. */\ndiv.prompt:empty {\n  padding-top: 0;\n  padding-bottom: 0;\n}\ndiv.unrecognized_cell {\n  padding: 5px 5px 5px 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.unrecognized_cell .inner_cell {\n  border-radius: 2px;\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n  border: 1px solid #cfcfcf;\n  background: #eaeaea;\n}\ndiv.unrecognized_cell .inner_cell a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.unrecognized_cell .inner_cell a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n@media (max-width: 540px) {\n  div.unrecognized_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.code_cell {\n  /* avoid page breaking on code cells when printing */\n}\n@media print {\n  div.code_cell {\n    page-break-inside: avoid;\n  }\n}\n/* any special styling for code cells that are currently running goes here */\ndiv.input {\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.input {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\n/* input_area and input_prompt must match in top border and margin for alignment */\ndiv.input_prompt {\n  color: #303F9F;\n  border-top: 1px solid transparent;\n}\ndiv.input_area > div.highlight {\n  margin: 0.4em;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\ndiv.input_area > div.highlight > pre {\n  margin: 0px;\n  border: none;\n  padding: 0px;\n  background-color: transparent;\n}\n/* The following gets added to the <head> if it is detected that the user has a\n * monospace font with inconsistent normal/bold/italic height.  See\n * notebookmain.js.  Such fonts will have keywords vertically offset with\n * respect to the rest of the text.  The user should select a better font.\n * See: https://github.com/ipython/ipython/issues/1503\n *\n * .CodeMirror span {\n *      vertical-align: bottom;\n * }\n */\n.CodeMirror {\n  line-height: 1.21429em;\n  /* Changed from 1em to our global default */\n  font-size: 14px;\n  height: auto;\n  /* Changed to auto to autogrow */\n  background: none;\n  /* Changed from white to allow our bg to show through */\n}\n.CodeMirror-scroll {\n  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/\n  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/\n  overflow-y: hidden;\n  overflow-x: auto;\n}\n.CodeMirror-lines {\n  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */\n  /* we have set a different line-height and want this to scale with that. */\n  padding: 0.4em;\n}\n.CodeMirror-linenumber {\n  padding: 0 8px 0 4px;\n}\n.CodeMirror-gutters {\n  border-bottom-left-radius: 2px;\n  border-top-left-radius: 2px;\n}\n.CodeMirror pre {\n  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */\n  /* .CodeMirror-lines */\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n}\n/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\nAdapted from GitHub theme\n\n*/\n.highlight-base {\n  color: #000;\n}\n.highlight-variable {\n  color: #000;\n}\n.highlight-variable-2 {\n  color: #1a1a1a;\n}\n.highlight-variable-3 {\n  color: #333333;\n}\n.highlight-string {\n  color: #BA2121;\n}\n.highlight-comment {\n  color: #408080;\n  font-style: italic;\n}\n.highlight-number {\n  color: #080;\n}\n.highlight-atom {\n  color: #88F;\n}\n.highlight-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.highlight-builtin {\n  color: #008000;\n}\n.highlight-error {\n  color: #f00;\n}\n.highlight-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.highlight-meta {\n  color: #AA22FF;\n}\n/* previously not defined, copying from default codemirror */\n.highlight-def {\n  color: #00f;\n}\n.highlight-string-2 {\n  color: #f50;\n}\n.highlight-qualifier {\n  color: #555;\n}\n.highlight-bracket {\n  color: #997;\n}\n.highlight-tag {\n  color: #170;\n}\n.highlight-attribute {\n  color: #00c;\n}\n.highlight-header {\n  color: blue;\n}\n.highlight-quote {\n  color: #090;\n}\n.highlight-link {\n  color: #00c;\n}\n/* apply the same style to codemirror */\n.cm-s-ipython span.cm-keyword {\n  color: #008000;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-atom {\n  color: #88F;\n}\n.cm-s-ipython span.cm-number {\n  color: #080;\n}\n.cm-s-ipython span.cm-def {\n  color: #00f;\n}\n.cm-s-ipython span.cm-variable {\n  color: #000;\n}\n.cm-s-ipython span.cm-operator {\n  color: #AA22FF;\n  font-weight: bold;\n}\n.cm-s-ipython span.cm-variable-2 {\n  color: #1a1a1a;\n}\n.cm-s-ipython span.cm-variable-3 {\n  color: #333333;\n}\n.cm-s-ipython span.cm-comment {\n  color: #408080;\n  font-style: italic;\n}\n.cm-s-ipython span.cm-string {\n  color: #BA2121;\n}\n.cm-s-ipython span.cm-string-2 {\n  color: #f50;\n}\n.cm-s-ipython span.cm-meta {\n  color: #AA22FF;\n}\n.cm-s-ipython span.cm-qualifier {\n  color: #555;\n}\n.cm-s-ipython span.cm-builtin {\n  color: #008000;\n}\n.cm-s-ipython span.cm-bracket {\n  color: #997;\n}\n.cm-s-ipython span.cm-tag {\n  color: #170;\n}\n.cm-s-ipython span.cm-attribute {\n  color: #00c;\n}\n.cm-s-ipython span.cm-header {\n  color: blue;\n}\n.cm-s-ipython span.cm-quote {\n  color: #090;\n}\n.cm-s-ipython span.cm-link {\n  color: #00c;\n}\n.cm-s-ipython span.cm-error {\n  color: #f00;\n}\n.cm-s-ipython span.cm-tab {\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);\n  background-position: right;\n  background-repeat: no-repeat;\n}\ndiv.output_wrapper {\n  /* this position must be relative to enable descendents to be absolute within it */\n  position: relative;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  z-index: 1;\n}\n/* class for the output area when it should be height-limited */\ndiv.output_scroll {\n  /* ideally, this would be max-height, but FF barfs all over that */\n  height: 24em;\n  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */\n  width: 100%;\n  overflow: auto;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);\n  display: block;\n}\n/* output div while it is collapsed */\ndiv.output_collapsed {\n  margin: 0px;\n  padding: 0px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\ndiv.out_prompt_overlay {\n  height: 100%;\n  padding: 0px 0.4em;\n  position: absolute;\n  border-radius: 2px;\n}\ndiv.out_prompt_overlay:hover {\n  /* use inner shadow to get border that is computed the same on WebKit/FF */\n  -webkit-box-shadow: inset 0 0 1px #000;\n  box-shadow: inset 0 0 1px #000;\n  background: rgba(240, 240, 240, 0.5);\n}\ndiv.output_prompt {\n  color: #D84315;\n}\n/* This class is the outer container of all output sections. */\ndiv.output_area {\n  padding: 0px;\n  page-break-inside: avoid;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\ndiv.output_area .MathJax_Display {\n  text-align: left !important;\n}\ndiv.output_area .rendered_html table {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area .rendered_html img {\n  margin-left: 0;\n  margin-right: 0;\n}\ndiv.output_area img,\ndiv.output_area svg {\n  max-width: 100%;\n  height: auto;\n}\ndiv.output_area img.unconfined,\ndiv.output_area svg.unconfined {\n  max-width: none;\n}\n/* This is needed to protect the pre formating from global settings such\n   as that of bootstrap */\n.output {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: vertical;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: vertical;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.output_area {\n    /* Old browsers */\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-box-align: stretch;\n    display: -moz-box;\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    display: box;\n    box-orient: vertical;\n    box-align: stretch;\n    /* Modern browsers */\n    display: flex;\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\ndiv.output_area pre {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  vertical-align: baseline;\n  color: black;\n  background-color: transparent;\n  border-radius: 0;\n}\n/* This class is for the output subarea inside the output_area and after\n   the prompt div. */\ndiv.output_subarea {\n  overflow-x: auto;\n  padding: 0.4em;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n  max-width: calc(100% - 14ex);\n}\ndiv.output_scroll div.output_subarea {\n  overflow-x: visible;\n}\n/* The rest of the output_* classes are for special styling of the different\n   output types */\n/* all text output has this class: */\ndiv.output_text {\n  text-align: left;\n  color: #000;\n  /* This has to match that of the the CodeMirror class line-height below */\n  line-height: 1.21429em;\n}\n/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */\ndiv.output_stderr {\n  background: #fdd;\n  /* very light red background for stderr */\n}\ndiv.output_latex {\n  text-align: left;\n}\n/* Empty output_javascript divs should have no height */\ndiv.output_javascript:empty {\n  padding: 0;\n}\n.js-error {\n  color: darkred;\n}\n/* raw_input styles */\ndiv.raw_input_container {\n  line-height: 1.21429em;\n  padding-top: 5px;\n}\npre.raw_input_prompt {\n  /* nothing needed here. */\n}\ninput.raw_input {\n  font-family: monospace;\n  font-size: inherit;\n  color: inherit;\n  width: auto;\n  /* make sure input baseline aligns with prompt */\n  vertical-align: baseline;\n  /* padding + margin = 0.5em between prompt and cursor */\n  padding: 0em 0.25em;\n  margin: 0em 0.25em;\n}\ninput.raw_input:focus {\n  box-shadow: none;\n}\np.p-space {\n  margin-bottom: 10px;\n}\ndiv.output_unrecognized {\n  padding: 5px;\n  font-weight: bold;\n  color: red;\n}\ndiv.output_unrecognized a {\n  color: inherit;\n  text-decoration: none;\n}\ndiv.output_unrecognized a:hover {\n  color: inherit;\n  text-decoration: none;\n}\n.rendered_html {\n  color: #000;\n  /* any extras will just be numbers: */\n}\n.rendered_html em {\n  font-style: italic;\n}\n.rendered_html strong {\n  font-weight: bold;\n}\n.rendered_html u {\n  text-decoration: underline;\n}\n.rendered_html :link {\n  text-decoration: underline;\n}\n.rendered_html :visited {\n  text-decoration: underline;\n}\n.rendered_html h1 {\n  font-size: 185.7%;\n  margin: 1.08em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h2 {\n  font-size: 157.1%;\n  margin: 1.27em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h3 {\n  font-size: 128.6%;\n  margin: 1.55em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h4 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n}\n.rendered_html h5 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h6 {\n  font-size: 100%;\n  margin: 2em 0 0 0;\n  font-weight: bold;\n  line-height: 1.0;\n  font-style: italic;\n}\n.rendered_html h1:first-child {\n  margin-top: 0.538em;\n}\n.rendered_html h2:first-child {\n  margin-top: 0.636em;\n}\n.rendered_html h3:first-child {\n  margin-top: 0.777em;\n}\n.rendered_html h4:first-child {\n  margin-top: 1em;\n}\n.rendered_html h5:first-child {\n  margin-top: 1em;\n}\n.rendered_html h6:first-child {\n  margin-top: 1em;\n}\n.rendered_html ul {\n  list-style: disc;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ul ul {\n  list-style: square;\n  margin: 0em 2em;\n}\n.rendered_html ul ul ul {\n  list-style: circle;\n  margin: 0em 2em;\n}\n.rendered_html ol {\n  list-style: decimal;\n  margin: 0em 2em;\n  padding-left: 0px;\n}\n.rendered_html ol ol {\n  list-style: upper-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol {\n  list-style: lower-alpha;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol {\n  list-style: lower-roman;\n  margin: 0em 2em;\n}\n.rendered_html ol ol ol ol ol {\n  list-style: decimal;\n  margin: 0em 2em;\n}\n.rendered_html * + ul {\n  margin-top: 1em;\n}\n.rendered_html * + ol {\n  margin-top: 1em;\n}\n.rendered_html hr {\n  color: black;\n  background-color: black;\n}\n.rendered_html pre {\n  margin: 1em 2em;\n}\n.rendered_html pre,\n.rendered_html code {\n  border: 0;\n  background-color: #fff;\n  color: #000;\n  font-size: 100%;\n  padding: 0px;\n}\n.rendered_html blockquote {\n  margin: 1em 2em;\n}\n.rendered_html table {\n  margin-left: auto;\n  margin-right: auto;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\n.rendered_html tr,\n.rendered_html th,\n.rendered_html td {\n  border: 1px solid black;\n  border-collapse: collapse;\n  margin: 1em 2em;\n}\n.rendered_html td,\n.rendered_html th {\n  text-align: left;\n  vertical-align: middle;\n  padding: 4px;\n}\n.rendered_html th {\n  font-weight: bold;\n}\n.rendered_html * + table {\n  margin-top: 1em;\n}\n.rendered_html p {\n  text-align: left;\n}\n.rendered_html * + p {\n  margin-top: 1em;\n}\n.rendered_html img {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.rendered_html * + img {\n  margin-top: 1em;\n}\n.rendered_html img,\n.rendered_html svg {\n  max-width: 100%;\n  height: auto;\n}\n.rendered_html img.unconfined,\n.rendered_html svg.unconfined {\n  max-width: none;\n}\ndiv.text_cell {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n}\n@media (max-width: 540px) {\n  div.text_cell > div.prompt {\n    display: none;\n  }\n}\ndiv.text_cell_render {\n  /*font-family: \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;*/\n  outline: none;\n  resize: none;\n  width: inherit;\n  border-style: none;\n  padding: 0.5em 0.5em 0.5em 0.4em;\n  color: #000;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\na.anchor-link:link {\n  text-decoration: none;\n  padding: 0px 20px;\n  visibility: hidden;\n}\nh1:hover .anchor-link,\nh2:hover .anchor-link,\nh3:hover .anchor-link,\nh4:hover .anchor-link,\nh5:hover .anchor-link,\nh6:hover .anchor-link {\n  visibility: visible;\n}\n.text_cell.rendered .input_area {\n  display: none;\n}\n.text_cell.rendered .rendered_html {\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.text_cell.unrendered .text_cell_render {\n  display: none;\n}\n.cm-header-1,\n.cm-header-2,\n.cm-header-3,\n.cm-header-4,\n.cm-header-5,\n.cm-header-6 {\n  font-weight: bold;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.cm-header-1 {\n  font-size: 185.7%;\n}\n.cm-header-2 {\n  font-size: 157.1%;\n}\n.cm-header-3 {\n  font-size: 128.6%;\n}\n.cm-header-4 {\n  font-size: 110%;\n}\n.cm-header-5 {\n  font-size: 100%;\n  font-style: italic;\n}\n.cm-header-6 {\n  font-size: 100%;\n  font-style: italic;\n}\n/*!\n*\n* IPython notebook webapp\n*\n*/\n@media (max-width: 767px) {\n  .notebook_app {\n    padding-left: 0px;\n    padding-right: 0px;\n  }\n}\n#ipython-main-app {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook_panel {\n  margin: 0px;\n  padding: 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  height: 100%;\n}\ndiv#notebook {\n  font-size: 14px;\n  line-height: 20px;\n  overflow-y: hidden;\n  overflow-x: auto;\n  width: 100%;\n  /* This spaces the page away from the edge of the notebook area */\n  padding-top: 20px;\n  margin: 0px;\n  outline: none;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  min-height: 100%;\n}\n@media not print {\n  #notebook-container {\n    padding: 15px;\n    background-color: #fff;\n    min-height: 0;\n    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  }\n}\n@media print {\n  #notebook-container {\n    width: 100%;\n  }\n}\ndiv.ui-widget-content {\n  border: 1px solid #ababab;\n  outline: none;\n}\npre.dialog {\n  background-color: #f7f7f7;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  padding: 0.4em;\n  padding-left: 2em;\n}\np.dialog {\n  padding: 0.2em;\n}\n/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems\n   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.\n */\npre,\ncode,\nkbd,\nsamp {\n  white-space: pre-wrap;\n}\n#fonttest {\n  font-family: monospace;\n}\np {\n  margin-bottom: 0;\n}\n.end_space {\n  min-height: 100px;\n  transition: height .2s ease;\n}\n.notebook_app > #header {\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n@media not print {\n  .notebook_app {\n    background-color: #EEE;\n  }\n}\nkbd {\n  border-style: solid;\n  border-width: 1px;\n  box-shadow: none;\n  margin: 2px;\n  padding-left: 2px;\n  padding-right: 2px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n}\n/* CSS for the cell toolbar */\n.celltoolbar {\n  border: thin solid #CFCFCF;\n  border-bottom: none;\n  background: #EEE;\n  border-radius: 2px 2px 0px 0px;\n  width: 100%;\n  height: 29px;\n  padding-right: 4px;\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  /* Old browsers */\n  -webkit-box-pack: end;\n  -moz-box-pack: end;\n  box-pack: end;\n  /* Modern browsers */\n  justify-content: flex-end;\n  display: -webkit-flex;\n}\n@media print {\n  .celltoolbar {\n    display: none;\n  }\n}\n.ctb_hideshow {\n  display: none;\n  vertical-align: bottom;\n}\n/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.\n   Cell toolbars are only shown when the ctb_global_show class is also set.\n*/\n.ctb_global_show .ctb_show.ctb_hideshow {\n  display: block;\n}\n.ctb_global_show .ctb_show + .input_area,\n.ctb_global_show .ctb_show + div.text_cell_input,\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border-top-right-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.ctb_global_show .ctb_show ~ div.text_cell_render {\n  border: 1px solid #cfcfcf;\n}\n.celltoolbar {\n  font-size: 87%;\n  padding-top: 3px;\n}\n.celltoolbar select {\n  display: block;\n  width: 100%;\n  height: 32px;\n  padding: 6px 12px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 2px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 1px;\n  width: inherit;\n  font-size: inherit;\n  height: 22px;\n  padding: 0px;\n  display: inline-block;\n}\n.celltoolbar select:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.celltoolbar select::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.celltoolbar select:-ms-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-webkit-input-placeholder {\n  color: #999;\n}\n.celltoolbar select::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.celltoolbar select[disabled],\n.celltoolbar select[readonly],\nfieldset[disabled] .celltoolbar select {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.celltoolbar select[disabled],\nfieldset[disabled] .celltoolbar select {\n  cursor: not-allowed;\n}\ntextarea.celltoolbar select {\n  height: auto;\n}\nselect.celltoolbar select {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.celltoolbar select,\nselect[multiple].celltoolbar select {\n  height: auto;\n}\n.celltoolbar label {\n  margin-left: 5px;\n  margin-right: 5px;\n}\n.completions {\n  position: absolute;\n  z-index: 110;\n  overflow: hidden;\n  border: 1px solid #ababab;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  line-height: 1;\n}\n.completions select {\n  background: white;\n  outline: none;\n  border: none;\n  padding: 0px;\n  margin: 0px;\n  overflow: auto;\n  font-family: monospace;\n  font-size: 110%;\n  color: #000;\n  width: auto;\n}\n.completions select option.context {\n  color: #286090;\n}\n#kernel_logo_widget {\n  float: right !important;\n  float: right;\n}\n#kernel_logo_widget .current_kernel_logo {\n  display: none;\n  margin-top: -1px;\n  margin-bottom: -1px;\n  width: 32px;\n  height: 32px;\n}\n#menubar {\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  margin-top: 1px;\n}\n#menubar .navbar {\n  border-top: 1px;\n  border-radius: 0px 0px 2px 2px;\n  margin-bottom: 0px;\n}\n#menubar .navbar-toggle {\n  float: left;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  border: none;\n}\n#menubar .navbar-collapse {\n  clear: left;\n}\n.nav-wrapper {\n  border-bottom: 1px solid #e7e7e7;\n}\ni.menu-icon {\n  padding-top: 4px;\n}\nul#help_menu li a {\n  overflow: hidden;\n  padding-right: 2.2em;\n}\nul#help_menu li a i {\n  margin-right: -1.2em;\n}\n.dropdown-submenu {\n  position: relative;\n}\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n}\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n.dropdown-submenu > a:after {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  display: block;\n  content: \"\\f0da\";\n  float: right;\n  color: #333333;\n  margin-top: 2px;\n  margin-right: -10px;\n}\n.dropdown-submenu > a:after.pull-left {\n  margin-right: .3em;\n}\n.dropdown-submenu > a:after.pull-right {\n  margin-left: .3em;\n}\n.dropdown-submenu:hover > a:after {\n  color: #262626;\n}\n.dropdown-submenu.pull-left {\n  float: none;\n}\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n}\n#notification_area {\n  float: right !important;\n  float: right;\n  z-index: 10;\n}\n.indicator_area {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#kernel_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  border-left: 1px solid;\n}\n#kernel_indicator .kernel_indicator_name {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#modal_indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n}\n#readonly-indicator {\n  float: right !important;\n  float: right;\n  color: #777;\n  margin-left: 5px;\n  margin-right: 5px;\n  width: 11px;\n  z-index: 10;\n  text-align: center;\n  width: auto;\n  margin-top: 2px;\n  margin-bottom: 0px;\n  margin-left: 0px;\n  margin-right: 0px;\n  display: none;\n}\n.modal_indicator:before {\n  width: 1.28571429em;\n  text-align: center;\n}\n.edit_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f040\";\n}\n.edit_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.edit_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.command_mode .modal_indicator:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: ' ';\n}\n.command_mode .modal_indicator:before.pull-left {\n  margin-right: .3em;\n}\n.command_mode .modal_indicator:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_idle_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f10c\";\n}\n.kernel_idle_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_idle_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_busy_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f111\";\n}\n.kernel_busy_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_busy_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_dead_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f1e2\";\n}\n.kernel_dead_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_dead_icon:before.pull-right {\n  margin-left: .3em;\n}\n.kernel_disconnected_icon:before {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  content: \"\\f127\";\n}\n.kernel_disconnected_icon:before.pull-left {\n  margin-right: .3em;\n}\n.kernel_disconnected_icon:before.pull-right {\n  margin-left: .3em;\n}\n.notification_widget {\n  color: #777;\n  z-index: 10;\n  background: rgba(240, 240, 240, 0.5);\n  margin-right: 4px;\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget:focus,\n.notification_widget.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.notification_widget:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.notification_widget:active:hover,\n.notification_widget.active:hover,\n.open > .dropdown-toggle.notification_widget:hover,\n.notification_widget:active:focus,\n.notification_widget.active:focus,\n.open > .dropdown-toggle.notification_widget:focus,\n.notification_widget:active.focus,\n.notification_widget.active.focus,\n.open > .dropdown-toggle.notification_widget.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.notification_widget:active,\n.notification_widget.active,\n.open > .dropdown-toggle.notification_widget {\n  background-image: none;\n}\n.notification_widget.disabled:hover,\n.notification_widget[disabled]:hover,\nfieldset[disabled] .notification_widget:hover,\n.notification_widget.disabled:focus,\n.notification_widget[disabled]:focus,\nfieldset[disabled] .notification_widget:focus,\n.notification_widget.disabled.focus,\n.notification_widget[disabled].focus,\nfieldset[disabled] .notification_widget.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.notification_widget .badge {\n  color: #fff;\n  background-color: #333;\n}\n.notification_widget.warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning:focus,\n.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.notification_widget.warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.notification_widget.warning:active:hover,\n.notification_widget.warning.active:hover,\n.open > .dropdown-toggle.notification_widget.warning:hover,\n.notification_widget.warning:active:focus,\n.notification_widget.warning.active:focus,\n.open > .dropdown-toggle.notification_widget.warning:focus,\n.notification_widget.warning:active.focus,\n.notification_widget.warning.active.focus,\n.open > .dropdown-toggle.notification_widget.warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.notification_widget.warning:active,\n.notification_widget.warning.active,\n.open > .dropdown-toggle.notification_widget.warning {\n  background-image: none;\n}\n.notification_widget.warning.disabled:hover,\n.notification_widget.warning[disabled]:hover,\nfieldset[disabled] .notification_widget.warning:hover,\n.notification_widget.warning.disabled:focus,\n.notification_widget.warning[disabled]:focus,\nfieldset[disabled] .notification_widget.warning:focus,\n.notification_widget.warning.disabled.focus,\n.notification_widget.warning[disabled].focus,\nfieldset[disabled] .notification_widget.warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.notification_widget.warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.notification_widget.success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success:focus,\n.notification_widget.success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.notification_widget.success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.notification_widget.success:active:hover,\n.notification_widget.success.active:hover,\n.open > .dropdown-toggle.notification_widget.success:hover,\n.notification_widget.success:active:focus,\n.notification_widget.success.active:focus,\n.open > .dropdown-toggle.notification_widget.success:focus,\n.notification_widget.success:active.focus,\n.notification_widget.success.active.focus,\n.open > .dropdown-toggle.notification_widget.success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.notification_widget.success:active,\n.notification_widget.success.active,\n.open > .dropdown-toggle.notification_widget.success {\n  background-image: none;\n}\n.notification_widget.success.disabled:hover,\n.notification_widget.success[disabled]:hover,\nfieldset[disabled] .notification_widget.success:hover,\n.notification_widget.success.disabled:focus,\n.notification_widget.success[disabled]:focus,\nfieldset[disabled] .notification_widget.success:focus,\n.notification_widget.success.disabled.focus,\n.notification_widget.success[disabled].focus,\nfieldset[disabled] .notification_widget.success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.notification_widget.success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.notification_widget.info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info:focus,\n.notification_widget.info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.notification_widget.info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.notification_widget.info:active:hover,\n.notification_widget.info.active:hover,\n.open > .dropdown-toggle.notification_widget.info:hover,\n.notification_widget.info:active:focus,\n.notification_widget.info.active:focus,\n.open > .dropdown-toggle.notification_widget.info:focus,\n.notification_widget.info:active.focus,\n.notification_widget.info.active.focus,\n.open > .dropdown-toggle.notification_widget.info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.notification_widget.info:active,\n.notification_widget.info.active,\n.open > .dropdown-toggle.notification_widget.info {\n  background-image: none;\n}\n.notification_widget.info.disabled:hover,\n.notification_widget.info[disabled]:hover,\nfieldset[disabled] .notification_widget.info:hover,\n.notification_widget.info.disabled:focus,\n.notification_widget.info[disabled]:focus,\nfieldset[disabled] .notification_widget.info:focus,\n.notification_widget.info.disabled.focus,\n.notification_widget.info[disabled].focus,\nfieldset[disabled] .notification_widget.info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.notification_widget.info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.notification_widget.danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger:focus,\n.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.notification_widget.danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.notification_widget.danger:active:hover,\n.notification_widget.danger.active:hover,\n.open > .dropdown-toggle.notification_widget.danger:hover,\n.notification_widget.danger:active:focus,\n.notification_widget.danger.active:focus,\n.open > .dropdown-toggle.notification_widget.danger:focus,\n.notification_widget.danger:active.focus,\n.notification_widget.danger.active.focus,\n.open > .dropdown-toggle.notification_widget.danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.notification_widget.danger:active,\n.notification_widget.danger.active,\n.open > .dropdown-toggle.notification_widget.danger {\n  background-image: none;\n}\n.notification_widget.danger.disabled:hover,\n.notification_widget.danger[disabled]:hover,\nfieldset[disabled] .notification_widget.danger:hover,\n.notification_widget.danger.disabled:focus,\n.notification_widget.danger[disabled]:focus,\nfieldset[disabled] .notification_widget.danger:focus,\n.notification_widget.danger.disabled.focus,\n.notification_widget.danger[disabled].focus,\nfieldset[disabled] .notification_widget.danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.notification_widget.danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\ndiv#pager {\n  background-color: #fff;\n  font-size: 14px;\n  line-height: 20px;\n  overflow: hidden;\n  display: none;\n  position: fixed;\n  bottom: 0px;\n  width: 100%;\n  max-height: 50%;\n  padding-top: 8px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  /* Display over codemirror */\n  z-index: 100;\n  /* Hack which prevents jquery ui resizable from changing top. */\n  top: auto !important;\n}\ndiv#pager pre {\n  line-height: 1.21429em;\n  color: #000;\n  background-color: #f7f7f7;\n  padding: 0.4em;\n}\ndiv#pager #pager-button-area {\n  position: absolute;\n  top: 8px;\n  right: 20px;\n}\ndiv#pager #pager-contents {\n  position: relative;\n  overflow: auto;\n  width: 100%;\n  height: 100%;\n}\ndiv#pager #pager-contents #pager-container {\n  position: relative;\n  padding: 15px 0px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\ndiv#pager .ui-resizable-handle {\n  top: 0px;\n  height: 8px;\n  background: #f7f7f7;\n  border-top: 1px solid #cfcfcf;\n  border-bottom: 1px solid #cfcfcf;\n  /* This injects handle bars (a short, wide = symbol) for \n        the resize handle. */\n}\ndiv#pager .ui-resizable-handle::after {\n  content: '';\n  top: 2px;\n  left: 50%;\n  height: 3px;\n  width: 30px;\n  margin-left: -15px;\n  position: absolute;\n  border-top: 1px solid #cfcfcf;\n}\n.quickhelp {\n  /* Old browsers */\n  display: -webkit-box;\n  -webkit-box-orient: horizontal;\n  -webkit-box-align: stretch;\n  display: -moz-box;\n  -moz-box-orient: horizontal;\n  -moz-box-align: stretch;\n  display: box;\n  box-orient: horizontal;\n  box-align: stretch;\n  /* Modern browsers */\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  line-height: 1.8em;\n}\n.shortcut_key {\n  display: inline-block;\n  width: 20ex;\n  text-align: right;\n  font-family: monospace;\n}\n.shortcut_descr {\n  display: inline-block;\n  /* Old browsers */\n  -webkit-box-flex: 1;\n  -moz-box-flex: 1;\n  box-flex: 1;\n  /* Modern browsers */\n  flex: 1;\n}\nspan.save_widget {\n  margin-top: 6px;\n}\nspan.save_widget span.filename {\n  height: 1em;\n  line-height: 1em;\n  padding: 3px;\n  margin-left: 16px;\n  border: none;\n  font-size: 146.5%;\n  border-radius: 2px;\n}\nspan.save_widget span.filename:hover {\n  background-color: #e6e6e6;\n}\nspan.checkpoint_status,\nspan.autosave_status {\n  font-size: small;\n}\n@media (max-width: 767px) {\n  span.save_widget {\n    font-size: small;\n  }\n  span.checkpoint_status,\n  span.autosave_status {\n    display: none;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  span.checkpoint_status {\n    display: none;\n  }\n  span.autosave_status {\n    font-size: x-small;\n  }\n}\n.toolbar {\n  padding: 0px;\n  margin-left: -5px;\n  margin-top: 2px;\n  margin-bottom: 5px;\n  box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n}\n.toolbar select,\n.toolbar label {\n  width: auto;\n  vertical-align: middle;\n  margin-right: 2px;\n  margin-bottom: 0px;\n  display: inline;\n  font-size: 92%;\n  margin-left: 0.3em;\n  margin-right: 0.3em;\n  padding: 0px;\n  padding-top: 3px;\n}\n.toolbar .btn {\n  padding: 2px 8px;\n}\n.toolbar .btn-group {\n  margin-top: 0px;\n  margin-left: 5px;\n}\n#maintoolbar {\n  margin-bottom: -3px;\n  margin-top: -8px;\n  border: 0px;\n  min-height: 27px;\n  margin-left: 0px;\n  padding-top: 11px;\n  padding-bottom: 3px;\n}\n#maintoolbar .navbar-text {\n  float: none;\n  vertical-align: middle;\n  text-align: right;\n  margin-left: 5px;\n  margin-right: 0px;\n  margin-top: 0px;\n}\n.select-xs {\n  height: 24px;\n}\n.pulse,\n.dropdown-menu > li > a.pulse,\nli.pulse > a.dropdown-toggle,\nli.pulse.open > a.dropdown-toggle {\n  background-color: #F37626;\n  color: white;\n}\n/**\n * Primary styles\n *\n * Author: Jupyter Development Team\n */\n/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot\n * of chance of beeing generated from the ../less/[samename].less file, you can\n * try to get back the less file by reverting somme commit in history\n **/\n/*\n * We'll try to get something pretty, so we\n * have some strange css to have the scroll bar on\n * the left with fix button on the top right of the tooltip\n */\n@-moz-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOut {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: 0;\n  }\n}\n@-moz-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n/*properties of tooltip after \"expand\"*/\n.bigtooltip {\n  overflow: auto;\n  height: 200px;\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n}\n/*properties of tooltip before \"expand\"*/\n.smalltooltip {\n  -webkit-transition-property: height;\n  -webkit-transition-duration: 500ms;\n  -moz-transition-property: height;\n  -moz-transition-duration: 500ms;\n  transition-property: height;\n  transition-duration: 500ms;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  height: 80px;\n}\n.tooltipbuttons {\n  position: absolute;\n  padding-right: 15px;\n  top: 0px;\n  right: 0px;\n}\n.tooltiptext {\n  /*avoid the button to overlap on some docstring*/\n  padding-right: 30px;\n}\n.ipython_tooltip {\n  max-width: 700px;\n  /*fade-in animation when inserted*/\n  -webkit-animation: fadeOut 400ms;\n  -moz-animation: fadeOut 400ms;\n  animation: fadeOut 400ms;\n  -webkit-animation: fadeIn 400ms;\n  -moz-animation: fadeIn 400ms;\n  animation: fadeIn 400ms;\n  vertical-align: middle;\n  background-color: #f7f7f7;\n  overflow: visible;\n  border: #ababab 1px solid;\n  outline: none;\n  padding: 3px;\n  margin: 0px;\n  padding-left: 7px;\n  font-family: monospace;\n  min-height: 50px;\n  -moz-box-shadow: 0px 6px 10px -1px #adadad;\n  -webkit-box-shadow: 0px 6px 10px -1px #adadad;\n  box-shadow: 0px 6px 10px -1px #adadad;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 1000;\n}\n.ipython_tooltip a {\n  float: right;\n}\n.ipython_tooltip .tooltiptext pre {\n  border: 0;\n  border-radius: 0;\n  font-size: 100%;\n  background-color: #f7f7f7;\n}\n.pretooltiparrow {\n  left: 0px;\n  margin: 0px;\n  top: -16px;\n  width: 40px;\n  height: 16px;\n  overflow: hidden;\n  position: absolute;\n}\n.pretooltiparrow:before {\n  background-color: #f7f7f7;\n  border: 1px #ababab solid;\n  z-index: 11;\n  content: \"\";\n  position: absolute;\n  left: 15px;\n  top: 10px;\n  width: 25px;\n  height: 25px;\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n}\nul.typeahead-list i {\n  margin-left: -10px;\n  width: 18px;\n}\nul.typeahead-list {\n  max-height: 80vh;\n  overflow: auto;\n}\nul.typeahead-list > li > a {\n  /** Firefox bug **/\n  /* see https://github.com/jupyter/notebook/issues/559 */\n  white-space: normal;\n}\n.cmd-palette .modal-body {\n  padding: 7px;\n}\n.cmd-palette form {\n  background: white;\n}\n.cmd-palette input {\n  outline: none;\n}\n.no-shortcut {\n  display: none;\n}\n.command-shortcut:before {\n  content: \"(command)\";\n  padding-right: 3px;\n  color: #777777;\n}\n.edit-shortcut:before {\n  content: \"(edit)\";\n  padding-right: 3px;\n  color: #777777;\n}\n#find-and-replace #replace-preview .match,\n#find-and-replace #replace-preview .insert {\n  background-color: #BBDEFB;\n  border-color: #90CAF9;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .match {\n  background-color: #FFCDD2;\n  border-color: #EF9A9A;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview .replace .insert {\n  background-color: #C8E6C9;\n  border-color: #A5D6A7;\n  border-radius: 0px;\n}\n#find-and-replace #replace-preview {\n  max-height: 60vh;\n  overflow: auto;\n}\n#find-and-replace #replace-preview pre {\n  padding: 5px 10px;\n}\n.terminal-app {\n  background: #EEE;\n}\n.terminal-app #header {\n  background: #fff;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);\n}\n.terminal-app .terminal {\n  float: left;\n  font-family: monospace;\n  color: white;\n  background: black;\n  padding: 0.4em;\n  border-radius: 2px;\n  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);\n}\n.terminal-app .terminal,\n.terminal-app .terminal dummy-screen {\n  line-height: 1em;\n  font-size: 14px;\n}\n.terminal-app .terminal-cursor {\n  color: black;\n  background: white;\n}\n.terminal-app #terminado-container {\n  margin-top: 20px;\n}\n/*# sourceMappingURL=style.min.css.map */\n    </style>\n<style type=\"text/css\">\n    .highlight .hll { background-color: #ffffcc }\n.highlight  { background: #f8f8f8; }\n.highlight .c { color: #408080; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #888888 } /* Generic.Output */\n.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #B00040 } /* Keyword.Type */\n.highlight .m { color: #666666 } /* Literal.Number */\n.highlight .s { color: #BA2121 } /* Literal.String */\n.highlight .na { color: #7D9029 } /* Name.Attribute */\n.highlight .nb { color: #008000 } /* Name.Builtin */\n.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.highlight .no { color: #880000 } /* Name.Constant */\n.highlight .nd { color: #AA22FF } /* Name.Decorator */\n.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #0000FF } /* Name.Function */\n.highlight .nl { color: #A0A000 } /* Name.Label */\n.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #19177C } /* Name.Variable */\n.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.highlight .mf { color: #666666 } /* Literal.Number.Float */\n.highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.highlight .sx { color: #008000 } /* Literal.String.Other */\n.highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n.highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #19177C } /* Name.Variable.Class */\n.highlight .vg { color: #19177C } /* Name.Variable.Global */\n.highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n    </style>\n<style type=\"text/css\">\n    \n/* Temporary definitions which will become obsolete with Notebook release 5.0 */\n.ansi-black-fg { color: #3E424D; }\n.ansi-black-bg { background-color: #3E424D; }\n.ansi-black-intense-fg { color: #282C36; }\n.ansi-black-intense-bg { background-color: #282C36; }\n.ansi-red-fg { color: #E75C58; }\n.ansi-red-bg { background-color: #E75C58; }\n.ansi-red-intense-fg { color: #B22B31; }\n.ansi-red-intense-bg { background-color: #B22B31; }\n.ansi-green-fg { color: #00A250; }\n.ansi-green-bg { background-color: #00A250; }\n.ansi-green-intense-fg { color: #007427; }\n.ansi-green-intense-bg { background-color: #007427; }\n.ansi-yellow-fg { color: #DDB62B; }\n.ansi-yellow-bg { background-color: #DDB62B; }\n.ansi-yellow-intense-fg { color: #B27D12; }\n.ansi-yellow-intense-bg { background-color: #B27D12; }\n.ansi-blue-fg { color: #208FFB; }\n.ansi-blue-bg { background-color: #208FFB; }\n.ansi-blue-intense-fg { color: #0065CA; }\n.ansi-blue-intense-bg { background-color: #0065CA; }\n.ansi-magenta-fg { color: #D160C4; }\n.ansi-magenta-bg { background-color: #D160C4; }\n.ansi-magenta-intense-fg { color: #A03196; }\n.ansi-magenta-intense-bg { background-color: #A03196; }\n.ansi-cyan-fg { color: #60C6C8; }\n.ansi-cyan-bg { background-color: #60C6C8; }\n.ansi-cyan-intense-fg { color: #258F8F; }\n.ansi-cyan-intense-bg { background-color: #258F8F; }\n.ansi-white-fg { color: #C5C1B4; }\n.ansi-white-bg { background-color: #C5C1B4; }\n.ansi-white-intense-fg { color: #A1A6B2; }\n.ansi-white-intense-bg { background-color: #A1A6B2; }\n\n.ansi-bold { font-weight: bold; }\n\n    </style>\n\n\n<style type=\"text/css\">\n/* Overrides of notebook CSS for static HTML export */\nbody {\n  overflow: visible;\n  padding: 8px;\n}\n\ndiv#notebook {\n  overflow: visible;\n  border-top: none;\n}\n\n@media print {\n  div.cell {\n    display: block;\n    page-break-inside: avoid;\n  } \n  div.output_wrapper { \n    display: block;\n    page-break-inside: avoid; \n  }\n  div.output { \n    display: block;\n    page-break-inside: avoid; \n  }\n}\n</style>\n\n<!-- Custom stylesheet, it must be in the same directory as the html file -->\n<link rel=\"stylesheet\" href=\"custom.css\">\n\n<!-- Loading mathjax macro -->\n<!-- Load mathjax -->\n    <script src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"></script>\n    <!-- MathJax configuration -->\n    <script type=\"text/x-mathjax-config\">\n    MathJax.Hub.Config({\n        tex2jax: {\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n            processEscapes: true,\n            processEnvironments: true\n        },\n        // Center justify equations in code and markdown cells. Elsewhere\n        // we use CSS to left justify single line equations in code cells.\n        displayAlign: 'center',\n        \"HTML-CSS\": {\n            styles: {'.MathJax_Display': {\"margin\": 0}},\n            linebreaks: { automatic: true }\n        }\n    });\n    </script>\n    <!-- End of mathjax configuration --></head>\n<body>\n  <div tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\">\n    <div class=\"container\" id=\"notebook-container\">\n\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Machine-Learning-Engineer-Nanodegree\">Machine Learning Engineer Nanodegree<a class=\"anchor-link\" href=\"#Machine-Learning-Engineer-Nanodegree\">&#182;</a></h1><h2 id=\"Unsupervised-Learning\">Unsupervised Learning<a class=\"anchor-link\" href=\"#Unsupervised-Learning\">&#182;</a></h2><h2 id=\"Project-3:-Creating-Customer-Segments\">Project 3: Creating Customer Segments<a class=\"anchor-link\" href=\"#Project-3:-Creating-Customer-Segments\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Welcome to the third project of the Machine Learning Engineer Nanodegree! In this notebook, some template code has already been provided for you, and it will be your job to implement the additional functionality necessary to successfully complete this project. Sections that begin with <strong>'Implementation'</strong> in the header indicate that the following block of code will require additional functionality which you must provide. Instructions will be provided for each section and the specifics of the implementation are marked in the code block with a <code>'TODO'</code> statement. Please be sure to read the instructions carefully!</p>\n<p>In addition to implementing code, there will be questions that you must answer which relate to the project and your implementation. Each section where you will answer a question is preceded by a <strong>'Question X'</strong> header. Carefully read each question and provide thorough answers in the following text boxes that begin with <strong>'Answer:'</strong>. Your project submission will be evaluated based on your answers to each of the questions and the implementation you provide.</p>\n<blockquote><p><strong>Note:</strong> Code and Markdown cells can be executed using the <strong>Shift + Enter</strong> keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Getting-Started\">Getting Started<a class=\"anchor-link\" href=\"#Getting-Started\">&#182;</a></h2><p>In this project, you will analyze a dataset containing data on various customers' annual spending amounts (reported in <em>monetary units</em>) of diverse product categories for internal structure. One goal of this project is to best describe the variation in the different types of customers that a wholesale distributor interacts with. Doing so would equip the distributor with insight into how to best structure their delivery service to meet the needs of each customer.</p>\n<p>The dataset for this project can be found on the <a href=\"https://archive.ics.uci.edu/ml/datasets/Wholesale+customers\">UCI Machine Learning Repository</a>. For the purposes of this project, the features <code>'Channel'</code> and <code>'Region'</code> will be excluded in the analysis — with focus instead on the six product categories recorded for customers.</p>\n<p>Run the code block below to load the wholesale customers dataset, along with a few of the necessary Python libraries required for this project. You will know the dataset loaded successfully if the size of the dataset is reported.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[9]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Import libraries necessary for this project</span>\n<span class=\"kn\">import</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">np</span>\n<span class=\"kn\">import</span> <span class=\"nn\">pandas</span> <span class=\"k\">as</span> <span class=\"nn\">pd</span>\n<span class=\"kn\">import</span> <span class=\"nn\">renders_py3</span> <span class=\"k\">as</span> <span class=\"nn\">rs</span>\n<span class=\"kn\">from</span> <span class=\"nn\">IPython.display</span> <span class=\"k\">import</span> <span class=\"n\">display</span> <span class=\"c1\"># Allows the use of display() for DataFrames</span>\n\n<span class=\"c1\"># Show matplotlib plots inline (nicely formatted in the notebook)</span>\n<span class=\"o\">%</span><span class=\"k\">matplotlib</span> inline\n\n<span class=\"c1\"># Load the wholesale customers dataset</span>\n<span class=\"k\">try</span><span class=\"p\">:</span>\n    <span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">read_csv</span><span class=\"p\">(</span><span class=\"s2\">&quot;customers.csv&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">([</span><span class=\"s1\">&#39;Region&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Channel&#39;</span><span class=\"p\">],</span> <span class=\"n\">axis</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"n\">inplace</span> <span class=\"o\">=</span> <span class=\"kc\">True</span><span class=\"p\">)</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Wholesale customers dataset has </span><span class=\"si\">{}</span><span class=\"s2\"> samples with </span><span class=\"si\">{}</span><span class=\"s2\"> features each.&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">shape</span><span class=\"p\">))</span>\n<span class=\"k\">except</span><span class=\"p\">:</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Dataset could not be loaded. Is the dataset missing?&quot;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Wholesale customers dataset has 440 samples with 6 features each.\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Data-Exploration\">Data Exploration<a class=\"anchor-link\" href=\"#Data-Exploration\">&#182;</a></h2><p>In this section, you will begin exploring the data through visualizations and code to understand how each feature is related to the others. You will observe a statistical description of the dataset, consider the relevance of each feature, and select a few sample data points from the dataset which you will track through the course of this project.</p>\n<p>Run the code block below to observe a statistical description of the dataset. Note that the dataset is composed of six important product categories: <strong>'Fresh'</strong>, <strong>'Milk'</strong>, <strong>'Grocery'</strong>, <strong>'Frozen'</strong>, <strong>'Detergents_Paper'</strong>, and <strong>'Delicatessen'</strong>. Consider what each category represents in terms of products you could purchase.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[10]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display a description of the dataset</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">describe</span><span class=\"p\">())</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>12000.297727</td>\n      <td>5796.265909</td>\n      <td>7951.277273</td>\n      <td>3071.931818</td>\n      <td>2881.493182</td>\n      <td>1524.870455</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>12647.328865</td>\n      <td>7380.377175</td>\n      <td>9503.162829</td>\n      <td>4854.673333</td>\n      <td>4767.854448</td>\n      <td>2820.105937</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>3.000000</td>\n      <td>55.000000</td>\n      <td>3.000000</td>\n      <td>25.000000</td>\n      <td>3.000000</td>\n      <td>3.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>3127.750000</td>\n      <td>1533.000000</td>\n      <td>2153.000000</td>\n      <td>742.250000</td>\n      <td>256.750000</td>\n      <td>408.250000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>8504.000000</td>\n      <td>3627.000000</td>\n      <td>4755.500000</td>\n      <td>1526.000000</td>\n      <td>816.500000</td>\n      <td>965.500000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>16933.750000</td>\n      <td>7190.250000</td>\n      <td>10655.750000</td>\n      <td>3554.250000</td>\n      <td>3922.000000</td>\n      <td>1820.250000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>112151.000000</td>\n      <td>73498.000000</td>\n      <td>92780.000000</td>\n      <td>60869.000000</td>\n      <td>40827.000000</td>\n      <td>47943.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[13]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">head</span><span class=\"p\">()</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[13]:</div>\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>12669</td>\n      <td>9656</td>\n      <td>7561</td>\n      <td>214</td>\n      <td>2674</td>\n      <td>1338</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>7057</td>\n      <td>9810</td>\n      <td>9568</td>\n      <td>1762</td>\n      <td>3293</td>\n      <td>1776</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>6353</td>\n      <td>8808</td>\n      <td>7684</td>\n      <td>2405</td>\n      <td>3516</td>\n      <td>7844</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>13265</td>\n      <td>1196</td>\n      <td>4221</td>\n      <td>6404</td>\n      <td>507</td>\n      <td>1788</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>22615</td>\n      <td>5410</td>\n      <td>7198</td>\n      <td>3915</td>\n      <td>1777</td>\n      <td>5185</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Selecting-Samples\">Implementation: Selecting Samples<a class=\"anchor-link\" href=\"#Implementation:-Selecting-Samples\">&#182;</a></h3><p>To get a better understanding of the customers and how their data will transform through the analysis, it would be best to select a few sample data points and explore them in more detail. In the code block below, add <strong>three</strong> indices of your choice to the <code>indices</code> list which will represent the customers to track. It is suggested to try different sets of samples until you obtain customers that vary significantly from one another.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[32]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Select three indices of your choice you wish to sample from the dataset</span>\n<span class=\"n\">indices</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"mi\">85</span><span class=\"p\">,</span> <span class=\"mi\">181</span><span class=\"p\">,</span> <span class=\"mi\">338</span><span class=\"p\">]</span>\n\n<span class=\"c1\"># Create a DataFrame of the chosen samples</span>\n<span class=\"n\">samples</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">loc</span><span class=\"p\">[</span><span class=\"n\">indices</span><span class=\"p\">],</span> <span class=\"n\">columns</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">keys</span><span class=\"p\">())</span><span class=\"o\">.</span><span class=\"n\">reset_index</span><span class=\"p\">(</span><span class=\"n\">drop</span> <span class=\"o\">=</span> <span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Chosen samples of wholesale customers dataset:&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">samples</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Chosen samples of wholesale customers dataset:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>16117</td>\n      <td>46197</td>\n      <td>92780</td>\n      <td>1026</td>\n      <td>40827</td>\n      <td>2944</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>112151</td>\n      <td>29627</td>\n      <td>18148</td>\n      <td>16745</td>\n      <td>4948</td>\n      <td>8550</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>333</td>\n      <td>7021</td>\n      <td>15601</td>\n      <td>15</td>\n      <td>550</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-1\">Question 1<a class=\"anchor-link\" href=\"#Question-1\">&#182;</a></h3><p>Consider the total purchase cost of each product category and the statistical description of the dataset above for your sample customers.<br>\n<em>What kind of establishment (customer) could each of the three samples you've chosen represent?</em><br>\n<strong>Hint:</strong> Examples of establishments include places like markets, cafes, and retailers, among many others. Avoid using names for establishments, such as saying <em>\"McDonalds\"</em> when describing a sample customer as a restaurant.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ol>\n<li><p>Index 85: Retailer</p>\n<ul>\n<li>Highest spending on (1) detergents and paper and (2) groceries (each) of all customers in dataset. (1) -&gt; May have a large 'home goods' focus.</li>\n<li>Milk: Spends more than the median amount </li>\n<li>Frozen: Spends less than the median customer</li>\n</ul>\n</li>\n<li><p>Index 181: Large market</p>\n<ul>\n<li>High spending on most product categories: 8000+ MUs spent on each of all food-related goods, nearly 5000 MUs spent on detergents and paper (highest quartile for spending in all good categories).</li>\n<li>Highest spending on fresh goods of all customers in dataset</li>\n<li>Focus on fresh goods, which means it likely has a large market component.</li>\n<li>Little emphasis on detergent and paper, which indicates it is unlikely to be a shopping mall type shop.</li>\n</ul>\n</li>\n<li><p>Index 338: Restaurant</p>\n<ul>\n<li>Much smaller scale than the previous two customers discussed.<ul>\n<li>Amount spent on Fresh is least in dataset.</li>\n<li>Spending on each of Milk, Detergents and Paper is in the bottom quartile.</li>\n</ul>\n</li>\n<li>Needs groceries and frozen food to produce food for customers. May serve delicatessen type meats. Needs milk for coffee and tea.</li>\n<li>May be cheaper so it doesn't need much fresh food.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Feature-Relevance\">Implementation: Feature Relevance<a class=\"anchor-link\" href=\"#Implementation:-Feature-Relevance\">&#182;</a></h3><p>One interesting thought to consider is if one (or more) of the six product categories is actually relevant for understanding customer purchasing. That is to say, is it possible to determine whether customers purchasing some amount of one category of products will necessarily purchase some proportional amount of another category of products? We can make this determination quite easily by training a supervised regression learner on a subset of the data with one feature removed, and then score how well that model can predict the removed feature.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Assign <code>new_data</code> a copy of the data by removing a feature of your choice using the <code>DataFrame.drop</code> function.</li>\n<li>Use <code>sklearn.cross_validation.train_test_split</code> to split the dataset into training and testing sets.<ul>\n<li>Use the removed feature as your target label. Set a <code>test_size</code> of <code>0.25</code> and set a <code>random_state</code>.</li>\n</ul>\n</li>\n<li>Import a decision tree regressor, set a <code>random_state</code>, and fit the learner to the training data.</li>\n<li>Report the prediction score of the testing set using the regressor's <code>score</code> function.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[36]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Make a copy of the DataFrame, using the &#39;drop&#39; function to drop the given feature</span>\n<span class=\"n\">new_data</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">(</span><span class=\"s2\">&quot;Grocery&quot;</span><span class=\"p\">,</span> <span class=\"n\">axis</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"n\">new_data</span>\n\n\n<span class=\"c1\"># TODO: Split the data into training and testing sets using the given feature as the target</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.cross_validation</span> <span class=\"k\">import</span> <span class=\"n\">train_test_split</span>\n<span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">,</span> <span class=\"n\">y_test</span> <span class=\"o\">=</span> <span class=\"n\">train_test_split</span><span class=\"p\">(</span><span class=\"n\">new_data</span><span class=\"p\">,</span> <span class=\"n\">data</span><span class=\"p\">[</span><span class=\"s2\">&quot;Grocery&quot;</span><span class=\"p\">],</span> <span class=\"n\">test_size</span><span class=\"o\">=</span><span class=\"mf\">0.25</span><span class=\"p\">,</span> <span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Create a decision tree regressor and fit it to the training set</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.tree</span> <span class=\"k\">import</span> <span class=\"n\">DecisionTreeRegressor</span>\n<span class=\"n\">regressor</span> <span class=\"o\">=</span> <span class=\"n\">DecisionTreeRegressor</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Report the score of the prediction using the testing set</span>\n<span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">regressor</span><span class=\"o\">.</span><span class=\"n\">score</span><span class=\"p\">(</span><span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Score of prediction on test set: &quot;</span><span class=\"p\">,</span> <span class=\"n\">score</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Score of prediction on test set:  0.602801978878\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-2\">Question 2<a class=\"anchor-link\" href=\"#Question-2\">&#182;</a></h3><p><em>Which feature did you attempt to predict? What was the reported prediction score? Is this feature is necessary for identifying customers' spending habits?</em><br>\n<strong>Hint:</strong> The coefficient of determination, <code>R^2</code>, is scored between 0 and 1, with 1 being a perfect fit. A negative <code>R^2</code> implies the model fails to fit the data.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>I attempted to predict the <strong><code>Grocery</code></strong> feature. </li>\n<li>The reported prediction score was <strong>0.6028</strong>. </li>\n<li>This feature is <strong>not absolutely necessary</strong> to identify customers' spending habits because it appears loosely correlated with the other five features, but the <code>R^2</code> score is not sufficiently high for us to be confident in dropping it. </li>\n</ul>\n<p>I compared <code>Grocery</code>'s <code>R^2</code> score with the other features' <code>R^2</code> scores below:</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[37]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># For experimentation&#39;s sake</span>\n<span class=\"n\">features_list</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;Fresh&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;Milk&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;Grocery&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;Frozen&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;Detergents_Paper&quot;</span><span class=\"p\">,</span><span class=\"s2\">&quot;Delicatessen&quot;</span><span class=\"p\">]</span>\n\n<span class=\"k\">for</span> <span class=\"n\">feature</span> <span class=\"ow\">in</span> <span class=\"n\">features_list</span><span class=\"p\">:</span>\n    <span class=\"c1\"># TODO: Make a copy of the DataFrame, using the &#39;drop&#39; function to drop the given feature</span>\n    <span class=\"n\">new_data</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">(</span><span class=\"n\">feature</span><span class=\"p\">,</span> <span class=\"n\">axis</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n    <span class=\"n\">new_data</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Feature is: &quot;</span><span class=\"p\">,</span> <span class=\"n\">feature</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Split the data into training and testing sets using the given feature as the target</span>\n    <span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">,</span> <span class=\"n\">y_test</span> <span class=\"o\">=</span> <span class=\"n\">train_test_split</span><span class=\"p\">(</span><span class=\"n\">new_data</span><span class=\"p\">,</span> <span class=\"n\">data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">],</span> <span class=\"n\">test_size</span><span class=\"o\">=</span><span class=\"mf\">0.25</span><span class=\"p\">,</span> <span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Create a decision tree regressor and fit it to the training set</span>\n    <span class=\"n\">regressor</span> <span class=\"o\">=</span> <span class=\"n\">DecisionTreeRegressor</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">X_train</span><span class=\"p\">,</span> <span class=\"n\">y_train</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Report the score of the prediction using the testing set</span>\n    <span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">regressor</span><span class=\"o\">.</span><span class=\"n\">score</span><span class=\"p\">(</span><span class=\"n\">X_test</span><span class=\"p\">,</span> <span class=\"n\">y_test</span><span class=\"p\">)</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Score of prediction on test set: &quot;</span><span class=\"p\">,</span> <span class=\"n\">score</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Feature is:  Fresh\nScore of prediction on test set:  -0.252469807688\nFeature is:  Milk\nScore of prediction on test set:  0.365725292736\nFeature is:  Grocery\nScore of prediction on test set:  0.602801978878\nFeature is:  Frozen\nScore of prediction on test set:  0.253973446697\nFeature is:  Detergents_Paper\nScore of prediction on test set:  0.728655181254\nFeature is:  Delicatessen\nScore of prediction on test set:  -11.6636871594\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Observations</strong>:</p>\n<ul>\n<li>Notice that the Delicatessen R^2 score is very negative and the Fresh R^2 score is quite negative, so those definitely cannot be dropped as the model fails to fit the data. </li>\n<li>The feature that might be okay to remove is Detergents_Paper, followed by Grocery. </li>\n<li>Milk and Frozen are loosely correlated with the others but not enough to say much.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Visualize-Feature-Distributions\">Visualize Feature Distributions<a class=\"anchor-link\" href=\"#Visualize-Feature-Distributions\">&#182;</a></h3><p>To get a better understanding of the dataset, we can construct a scatter matrix of each of the six product features present in the data. If you found that the feature you attempted to predict above is relevant for identifying a specific customer, then the scatter matrix below may not show any correlation between that feature and the others. Conversely, if you believe that feature is not relevant for identifying a specific customer, the scatter matrix might show a correlation between that feature and another feature in the data. Run the code block below to produce a scatter matrix.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[38]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Produce a scatter matrix for each pair of features in the data</span>\n<span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">scatter_matrix</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">alpha</span> <span class=\"o\">=</span> <span class=\"mf\">0.3</span><span class=\"p\">,</span> <span class=\"n\">figsize</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mi\">14</span><span class=\"p\">,</span><span class=\"mi\">8</span><span class=\"p\">),</span> <span class=\"n\">diagonal</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;kde&#39;</span><span class=\"p\">);</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA00AAAH+CAYAAABAwuXeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXlYlde18H/7AOcwo0yCAzhhBERUVFAxYIwmjSZm6s1N\nvgytNkNvm+a7X5ve3N7b1rS9ndu0vW1i0tikjemUmKjRaCIqiAMqKiCDBpRBQBkFDtMZOPv74z2H\ngAKiMhxg/56Hh8PmHfb77nXW3mvvtdcSUkoUCoVCoVAoFAqFQtEzuuGugEKhUCgUCoVCoVA4M8po\nUigUCoVCoVAoFIo+UEaTQqFQKBQKhUKhUPSBMpoUCoVCoVAoFAqFog+U0aRQKBQKhUKhUCgUfaCM\nJoVCoVAoFAqFQqHoA9fhrsBQIIRQcdUVCoVCoVAoFApFn0gpRU/lY8JoAlD5qBRCiFEjByaTic2b\n9zFx4l1UVn7Chg0rMRgMw12tEcFQyYFqI+fHmXSCkpfh41blQLXd6GAw9YGSkZGDED3aS8AYd8+z\n2eBHP4KnnoLq6uGujULRfwwGA1FRAVRWfkJUVIBSvk6IaiPFjaDkZeSi2k5xPZSMjA6Es8yyDSZC\nCNnTc771Fvzud7BsGZw5AwcOgG5Mm5GjG2eaVR4IpJSYzWalfG+QoZQD1UbOjbPpBCUvw8NAyIFq\nu5HPYOsDJSMjA7sc9LjcNGaNJikhIgLefhuWLIH4ePjOd+DBB4enjorBx9kGSIrhQcmBwoGSBQUo\nOVBoKDlQQN9G06CuqwghQoUQJ4UQrUIInb3sW0KIdCHEO0IIF3vZY0KIw0KIHUIIb3vZCiHEESHE\nPiHERHtZtP3cdCHEnC732CeEOCSEuKO/dcvMBBcXbZXJxQX+67/g5z8f+HegUCgUCoVCoVAoRjaD\n7YxWB9wBZAAIIYKAZCnlcuAMcL8QwhV4DlgObAGetZ/7XeBO4CXgO/ayHwKP2H9+ZC97CfgvYLX9\nnH6xfbu2quTY73XffXDxIuTn39RzKhQKhUKhUCgUilHKoBpNUkqzlLKxS9FCINX+OQVYAkQAOVJK\nm6NMCOEBtEopW6WUJ4Ao+znjpZSVUspKwM9eFiOlzJBStgJNjpWq63HwICQnf/63iws89hhs2XIz\nT6pQKBQKhUKhUChGK0Md9mAc0GT/3Gj/26+XMmOX81zsv7vWV1z1P+zXGXe9SphMcOqUtpepK48/\nDn/9q7bfSaFQKBQKhUKhUChg6PM0NQKT7J99gQZ7md9VZU32zw467L+7mjO2q353Pf8aNm7c2Pk5\nKCiZWbOS8fXtfszcuVr0vDNntM+KkU1qaiqpqanDXQ2FQqFQKBQKxQhnqIwmx6rQCeCrwC/R9itl\nAIVAtD1QxJ1AhpSyVQjhLoTwAqIBx06jOiHEJDTjybE6lS2ESEDbI+UjpWzuqQJdjabXX4d583qo\npND2Nn30kTKaRgPJyckkd/HBfPnll4evMgqFQqFQKBSKEctgR89zFULsBeYCnwBTgYNCiHQgFtgm\npbQCfwTSgSeB1+2n/xjYC/wE+Km9bCPwD/vP9+xlvwD+B/jUfs51OXMGYmJ6/t+998KOHf19QoVC\noVAoFAqFQjHaGZN5mm6/Hb7/fVi58tpjLRYIDtai6IWGDmElFYOOysGgACUHis9RsqAAJQcKDSUH\nChjGPE3OiJR9rzS5ucHq1bB799DWS6FQKBQKhUKhUDgnY85oqqgAvV5bTeqNNWvg44+Hrk4KhUKh\nUCgUCoXCeRlzRlNBAURF9X3M3XdDSormqqdQKBQKhUKhUCjGNmPOaDp/HmbO7PuY4GCYNQsOHx6a\nOikUCoVCoVAoFArnZcwZTUVF1zeaAO65R7noKRQKhUKhUCgUimEwmoQQHkKInUKIA0KID4UQeiHE\ni0KIdCHEO0IIF/txjwkhDgshdgghvO1lK4QQR4QQ+4QQE+1l0fZz04UQc653f2U0KRQKhUKhUCgU\nihthOFaa7kZLYLsCOA78K5AkpVyOlqD2fiGEK/AcsBzYAjxrP/e7aAlwXwK+Yy/7IfAI8C/Aj653\n8/PnYcaM61dy4UKorobS0v4/mEKhUCgUCoVCoRh9DIfRdB7wsn8eD4QBqfa/U4AlQASQI6W0OcqE\nEB5Aq5SyVUp5AnCEcxgvpayUUl4C/Pq6sc3Wf6NJp9MCQqjVJoVCoVAoFAqFYmwzHEZTIbBUCHEG\niAOKgCb7/xqBcWjGT09lxi7XcbH/7voMPSajcnDpEvj6go9P/yqqXPQUCoVCoVAoFAqF6zDc8ylg\nh5TyV0KI/wfoAV/7/3yBBjRDye+qsqYuxwF02H93Td/cayrnjRs3UlqqJa9NTU0mOTn5uhVdvRqe\neQba28Hd/foPpnAuUlNTSU1N7ffxUkrMZjMGg2HwKqUYcSi5UAwFSs6cB9UWClByoLiW4TCaBFBv\n/1wHTAUWAb9E26+UgbYaFS2E0DnKpJStQgh3IYQXEA3kO64hhJiEZjA19nbTjRs38qc/aS56/bCX\nAPD3h9hYSEuDu+66sYdUDD/Jyd2N45dffrnXY6WUpKUdJz+/jqioAJKSFiNEnwuXijGAkgvFUKDk\nzHlQbaEAJQeKnhkO97y/Ao8IIQ4AjwG/A9KFEOlALLBNSmkF/gikA08Cr9vP/TGwF/gJ8FN72Ubg\nH/af7/V14xkz4OGHb6yyykVvbGA2m8nPr2PixLvIz6/DbDYPd5UUToCSC8VQoOTMeVBtoQAlB4qe\nEVL26tE2ahBCyJt9zuxszdAqLBzgSimGHCEEfclBauqxzlml5OT4IayZYii5nhxcjZKL0cuNysJg\nouRs+LhaDlRbjE2UHCigUw56XFbsl9EkhJgFvAiE08WlT0p5x0BVcjC5FaNJSpg8GVJTISJiYOul\nGFquN0BS/stjgxsdKCu5GL04k9Gk5Gz4uFoOVFuMTZQcKGBgjKZsYBNwks8DMCClPDlQlRxMbsVo\nAnj6aZgzB154YQArpRhy+jtAUopydDOQA2UlKyMbJQsKUINlhYaaWFXAwBhNJ6WUcQNesyHiVo2m\nDz+ETZvgk08GsFKKIac/AyS1+XP0M1ADZSUrIx8lCwroLgeqLccufekDJRdjh76Mpj4DQQgh/IUQ\n/sBHQoh/E0KEOsrs5WOClSvhyBFobh7umigGG7X5U9FflKwoHChZGD2otlT0hJILBVw/et5JIBMt\nt9KLwBF7maP8phBCPCGESBFC7LcbYt8SQqQLId4RQrjYj3lMCHFYCLFDCOFtL1shhDgihNgnhJho\nL4u2n5suhJhzs3XqC19fWLwY9u8fjKsrnAmDwUBUVACVlZ8QFRWgluEVvaJkReFAycLoQbWloieU\nXChgGKLn2Y2dH0gpv2L/Owh4S0q5VgjxbeA8sB3YDyQDDwNT7Mlw9wNr0fI0PSWl/LoQ4gPg62h5\nml6TUt7fwz1vyT0P4Fe/0iLobdp0S5dRDCNqT5MC1D4WxecoWVCA2tOk0FB7mhRwC+55XS7wRSGE\nj/3zfwshPhBCzL/J+twFuNhXmn6Hltg21f6/FGAJEAHkSCltjjIhhAfQKqVslVKeAKLs54yXUlZK\nKS8BfjdZp+viyNfkJIGWFIOIEEIpRUW/ULKicKBkYfSg2lLRE0ouFP1NbvtdKaVRCJEI3AlsRoum\ndzNMANyklHcCLWiGTpP9f43AuD7KjF2u49LDMwzarrzZs8HFBXJzB+sOCoVCoVAoFAqFwhlxvf4h\nwOdhxtcAb0gpdwkhfnST92wE0uyfDwALAceOOl+gwX6M31VlTfbPV9ep69pPr+tAGzdu7PycnJxM\ncnLyDVVaCHjgAfjnPyEm5oZOVQwTqamppKamDnc1FAqFQqFQKBQjnP6GHN8JVACrgAVAG3BcShl7\nwzcUIhb4ipTyefsepkrgESnlvUKIF4FiYBuaW94dwENAuJTyl0KIfcB9aHuanrTvadoKfAPNYHp1\nsPY0AWRnw333QXEx6Pq7RqdwGq4OK3u1b7KjTK/XK7/lUUxP+xdMJtN1XS+UP/vo41b2NPUlD7cq\nK0rWhhaHHFzdB6i+YGzR37QkJpOp83glG6OPvvY09Xel6V+Au4FfSikbhBChaNH0bhgpZbYQol0I\ncQCoAR4DJgoh0oFS4BUppVUI8UcgHai3HwPwY2AvmtH2lL1sI/APNKPpazdTp/4SGwv+/pCaCnfc\nMZh3UgwmPeVbAEhLO05eXi1mczV6fTDR0YEqF8MoR0pJauoxtm8/Briybl0cycnx17S5ytGh6Epf\n8nCrsqJkbXhwvHdHH+DmFoTFUqP6AkUnjv5i27ZMKipKmTQpnPvvX9hjn6EYnfRrvURK2QpUA4n2\nIitQeLM3lVK+KKVcIaX8FymlVUr5cynlcinl41JKq/2Yd6WUy6SU90opjfayfVLKpVLKlVLKcnvZ\nGSllov38nJutU3956in4858H+y6KwaSnfAuOsuDgFWRk1BAUdAfZ2ZdVLoZRjtlsJienira26bS1\nLSQnp+qaNpdSYjQaVY6OMUjXWeWu9JWz5Vbzuah8MMPD1X2Av//tHD58ieDgFaodxihXf/8d/UVL\nSyyXLwfQ3Dy/xz5DMXrpb/S87wP/AfynvcgN2DJYlXJmHnsMduyAK1eGuyaKm6WnfAuOspqaVOLj\nAzly5A2Ki8s5ejRrwEISK5wPg8FAbGwIHh4X8PDIJDY25BqXzbS042zZcgiTqYqKij0qR8cYwdH2\nmzfvIzX1WDc90FfOllvN56LywQwPV/cBx4+/hZRtHD78RyIj/VU7jDF6+v47+gtv7xxCQurw8cm6\nps9QjG76u6cpC5gPnJJSzreX5Ugp5w5y/QaEgdrT5OCJJ2DuXHjxphwUFcNFf/Y0mUwmTCYTb7+d\nSnj4WiorP2HDhpVKKY4irrenqatsmEwmNm/ex8SJd1FRsYcnnliOr69vH1dXjCT62sPQte2v1gPX\n2wen9jSNLK7e0ySlZNOmPUycuIpLl1J47rm7VVuMAbrqg950v9rTNPq55TxNgNludUj7Bb0GqnIj\nkW98A/7wB7Bah7smipulq7LrqgQzMrJ5993D2Gz1alVhjCCEwN3dHYPBgM1mY+/eQ52zi3q9vnPW\nPzo6UBlMY4ieVnyklLS3t5OWdpw//Wl/ryvRtzqYUoOx4cHx3vV6PRZLNVu3/gGbrR69Xj/cVVMM\nMY7vf0XFHszmarZsOcSBAxmYTCbc3d07+wzF2KK/gSD+KYR4HRgnhHgaWA/8cfCq5dwsWgQTJ2pu\neg8+ONy1UdwKXTddz5zpQ2FhE5Mm3X3NzJKa9R39SClJSTnM5s1HiYlZS15eMQkJJhISYlmyRA1i\nxyJJSYtZssTcaTClpR0nO/syxcXlJCU9S37+pyQkXD/yomLk4NADJ040EBl5FzpdidL/YxApJQkJ\nsSxYYGbLlkOEhq5m+/bXycmpIjY2RAUGGaP0NxDEL4H3ga3AbcD3pJT/O5gVc3ZeeAFeeWW4a6G4\nVbpuui4qMhIR4dttVaGvfQ2K/tHbZnpnw2w2U1RkJCYmkTNndhIR4UNGRnafKwpjhZHShgNNV2PI\noSvCw9cCVsrKdhEZ6c/Ro1ls2rRH6YdRwud6YBkHD75LYWHRmP/+d2Us6AJHv/+nP+3n1KkCIiP9\nKSvbBVgJD1/br8AgY+E9jUWuazQJIVyEEAeklHvtUe++JaXce6s3FkL8uz3MOEKIF4UQ6UKId4QQ\nLvayx4QQh4UQO4QQ3vayFUKII0KIfUKIifayaPu56UKIObdar/7y0ENQWQmHDg3VHRUDiUOhGQwG\nIiP9KS3dSVRUAKtWJbJhw0qSkhZjMplUJKtbxNmNzq4dm16vZ+ZMH8aPv8KGDUtISorvbPu8vFqM\nRuMw13Z4cPY2HEhsNhtNTU09/q+ru9599y3my19ewZIl89i+/ST5+SFs25apBkkjHIdsR0UF4ONT\nw+zZAaxc+YKKpGpnrOgCk8lEdvZlQkNXk519mSVL5vHcc3dz//0J/QrQMhjvSRlhzsF1jSYpZQdg\nE0L4DdRNhRB6IBaQQoggIElKuRw4A9wvhHAFngOWo0Xpe9Z+6neBO4GXgO/Yy34IPIKWS+pHA1XH\n6+HqCv/xH/A//zNUd1QMFA6F9uabKXz66cFrFJper+9UeEePZhEZ6a8iWd0kzmx0Xi0HqanHKCxs\nIiLCl1WrEnv0aR/NA4XecOY2HEhsNhu//e2f+cpXNvGLX7yBzWa75pikpMWsX38HOp2OLVsOcfDg\nCaS0oGXksCp3nRFMV31gMrUTGemPXm9gy5aXuXChWK02MTZ0gZSSjIxsLly4yLvv/jcXLhSTkZGN\nm5sbCQmxbNiwkuTk+D6vMdDvaawYqyOB/gaCaAbOCCE2CyF+5/i5hftuAN62f14IpNo/pwBLgAgg\nR0ppc5QJITyAVillq5TyBBBlP2e8lLJSSnkJGDDDrj889RScOQMnTw7lXRW3itlsJje3hpqaKbz+\n+iHee+8gYWFryM+vo729ndra2m4Kb8mSef1SlIprcebwyZ/LwSTeeOMwW7ceJjR0NQUF9ZhMJtrb\n20lIiOWJJ5ZjMEwY1QOFvnDmNhxIjEYj6emV2GzJ/O1v+Xz88YFroiyazWaEEN1ceu+5ZwFRUTbu\nvz9h1L6bsYBDH1RVhfLqqwf46KMTLF36FYTwIDHxOfLz6zqjq45VxoIuMJvN5OXVEh//JODHsmVP\nk5V1iZSUw7z5Zgp79x66rtEy0O9pLBirI4X+BoL4wP5zy9hXkZKklK8JbVrOD3D4QzQC4/oo6+of\n42L/3dXwG9JpPoMBvvUt+PGPYevWobyz4lbQ6/W0tVWyffteQkL8KChoR6f7DWvXLmTTpr+TkVFD\nQEArNpuNOXOCcHd3H+4qj2i6bqZ3JhxysGNHCvPnxyBEC3v3/hq93otXX/0rpaWtCNHBunXxREb6\nU1AwegcK18NZ23CgkFJy8mQ+584do6Qkk+joyZSUtHUGAOgaMCYqKqCbPCQlLSY5efS+m7GCXq+n\ntbWczZv/jF7vSX29jhkz9rJsWSg1NfuJjPQnIyO7UwbGaiCA0a4L9Ho9ZnM127dvIji4nUOH3sBi\n6eDChYs0N3vwpz/lUlBwnm9+8yvodL2vOwzke3IYYfn5Y7cPchb6NJqEEGFSyjIp5Z8H8J5PAH/t\n8ncjMMX+2RdosJf5XVXWZP/soMP+u6vJ36v5v3Hjxs7PycnJJCcn33DFe+Lpp+EnP4H8fIiKuv7x\niqEjNTWV1NTUa8rNZjOenpNYs2YeH3/8V9au/TL19amcOlVOSko28fE/48KF3/LII/EEBQWN2eh5\nA/XczhpZzCEH994bT17ex8yc6cPJkzbmzInh8OHDjBuXhKtrPTk5VTzzzGri4iw3HXJ8pMuQs7bh\nQGE2mzl1qhwhpjJu3DTq608SHu6OXq/vXFnIy6slOHgl+fn7Wb/+DpYu/fydjOZ305WRLsd9YTKZ\nuHChBat1CS4uTUAjjz+eSGBgYOfMviNvT37+J6PacOiLsaAL3NyCWLfuQaqrD3Du3DlstiiKiz+l\nrEwSHf1NMjPfo7m5uc/+YKDf02g3VoeTG9Fr11tp2gYsABBCbJVSPjQA9bsNiBVCfBXNxW4hsBj4\nBdp+pQygEIgWQugcZVLKViGEuz1HVDSQb79enRBiEprB1NjbTbsaTQOJl5cWSe9//gfefXdQbqG4\nSa42jl9++WVAG+BERwcCNTz6aCRCFJKffwmLJYGOjiMUFv6KxMTQToOp6wzzaJldvJ6SGK3P3RXH\n7N1nn6UTFKTj8mWYM+ceCgo+ISEhkIqKLMDK3LnxHDuWc9PvYrS+y9E0gDYYDMydG4KbWyvjxvky\na9YUVq1KJDX1GDk5VcydOwGT6TL/+McrLFsWgsFgGBVteCOMVjl2IKUkP/8sra0GmpsL+cIX4ggM\nDOw2+FWz/ddnpOsFLUdXDdu3v87ChePQ671obQ3ExcWbKVOauXTpNe69d/aQ5+wb7cbqcNGTXuuL\n6xlNXTXi9FuuHSClfKnz4kIclFL+UAjxbXskvVLgFSmlVQjxRyAdqAces5/yY2Av0AY8ZS/bCPwD\nzWj62kDU8UZ5/nmYOVPb3xQTMxw1UNwoSUmLSUgwcfRoFqdOlQMgZTXz5kXw3e8+TlBQEPC5L7EW\nRWfXqJjp6c/gp7sP9eidVV2yZB45OVWEha3h3Xf/m4qKj4mPD+Cb3/xK5/4V0GaYb1YGRuO7HI0D\n6FWrEpHSRm5uLXFx9yOlZOvWDCyWJXz22RFAMG5cIqWlOZ0JLscSo1GOu2KxWJDSHT+/UKzWdnS6\ngM4Iqw4jQM32981o0Atmsxm9PpiHH36EmppU7rnHi23bjlBScolJk+7lttsu8NWvPtopG4qRTU96\nrS+uFwiiX65vN4uU8nb7759LKZdLKR+XUlrtZe9KKZdJKe+VUhrtZfuklEullCullOX2sjNSykT7\n+TkDXcf+4OMDL70E3/3ucNxdcbM4vixhYfcwaVIIt91m4sEHl3YaTEBnSPK0tD9QXFzeawSlvsKB\nOluo0P5sKh0LG34B3N3dmTt3AufPb2PChEAeeeQFvLwmY7FYOjO+9yYDXdu1rzYeje9ytG1MdrRf\nUlI8X//6WpKSFpOenklubjkXLx4EOhCiAxeXBsZqlLzRJMc9fV99fX1ZuzYavT6PqVP9MRhckVKy\nd++hzqhl0N0V09l0+3AzGvSCwxOlpiaVyEh/EhLmMWNGGBMnLqWxsRAXF0F6+olec7MpmRhZ3Khe\nu95KU6wQogltxcnD/hn731JKObTrk07MV78Kv/41HDsG8SrImlPjmA3Ly6slL+84+/dns2xZCP/2\nb2txd3fHZrN181dOSIjl1KkKZsy4v8cZ1q6za5GR/ixZMq9zFlpK2eni4yxZxPu7qXQszKo6jJ+S\nknKqqmo5dOgN1q2Lx2az0dDQgE6nw8fHhwULIsnJqbInNvyEhART56bwyEh/AAoK6nudXR1t73I0\nbUyWUnLgQAYffHAEV1d37rtvAXFxURQWNjFt2p1kZe1mxYpo4uJiOHOmmtjYhM69Tj099424J/XH\nTdaZXJ1Ggxz35o5js9lwdXVlwoTxjB/fwooVkaSnZ7J581FiYtaSm3uBBQuMnf3CaFhVGWhGi15w\neKJkZGTzl78c5Ny5TIxGC0FBkrVr17Fjx2kslgSKizOJj5+LEAIhRGe6EiUTI4sb0Wt9Gk1SSpe+\n/q/4HHd3+N734L/+C1JShrs2ir5wzIYFBq4gN3cf06YlceGCtkjpyNWSkVFDQkIQ3/jGkxw7lsPF\ni+WUlb3GmjVzr/liOUKUBgUls337m90MJJPJxPbtx2hrm05xcQYJCbFO4dbTHyUxFnyozWYzZ85U\nYzYn4OdXSViYDbPZzP/5P/9NdnY53t5eLF06mejoxXR01FFaupPY2JBuYadzcnYCdDOooPv7G43v\ncjQMoEELALB162FOn27H338aH3xw3C4TVbS01LNmzX14erYTFxfFsmUL+hwYXW8g3dUI6s+xzjYA\nGw1y3Js7jtFoZPv2s1RXR5KdvYvi4jeJjIxg3rx7yMnZyaJF49iy5VBnW4x2d8WbZTTphdOnK8nK\nauXjj8sIC4smJMST9vY28vKK8fLSMX26lYMHT7B792nAlS98IYaiIiOTJt2tZGIEcSN6rb95mhT9\n4EtfgrIy+OST4a6Joi8c7lbp6a/R2NjA2bMfceZMGSkph6itrSUjo4bp0/8vGRk11NfXk5tbw8KF\nj9PRYaKg4Mo1S/KOEKX//OfvKC+/1Jnz6fM9Ma5AMOA67IMeB6Nh8DMQaAEAJlBb+wGffZaKzVZP\nbm41lZV+NDcvob19NUeO1OHtHUdpaRNWqwUANzc3Zs70oaJiD5GR/sTGhlBZ+QmRkf4cPZrFSy9t\n5j/+YxMHDmSM2kSEo0mGqqpqMRpNlJVtw2ptIzx8LQZDCJGRbnz2WSZ5eSd455100tKOYzKZenVB\n6ss9qXsy5fQ+r3O9aylunt7ccQwGAyZTOaWlu2lrm0BpqYFz5wrx8KjkySfj8PKa3K0tHP1IaenO\nztVmxcjXCw7vkO9//20OHDjCoUOf4Oo6j5KSYk6cyOAvf8kkLGwhBkMTq1fP5ezZK7S1TaetbSFn\nz14hIsJ3VLiwKnqmv3maFP3AzQ1eeQW+/nUtKIQTLCgoemHJknlkZ1+mvn46qakfMmfOPH75y0+Z\nNesY48ebOHfu5yxZEkxAQAD5+ZkcPboXHx8jd9zxDfLz93bOIEkpaWpqQqfz55FHHuXw4c2Ule0i\nNjakU2GuWxdHTs5lYmMXDqsSdTZXH2chPn4uv/3tViyWGRw5UsjTT99DQEAVly6dwsMjgPBwN3bu\nfAsp20hK+hpZWbswmw/z2WeNtLVVUlioRdVav/4OhBBs2rSHtraFQDU5OVUsXXqtO6dqB+dBCEFo\n6ET0+pk0Njbi6urBvn2/pa2tilOnTERFzaO29jK1tWEcPLib1taWXvN2OQbkeXl7mDnTp9t9HCvS\nV65MY/NmbXWyr/xfo8XVyRnpaTVESolO54XNFg58RltbAF5eOp55ZjV+fn6kph7r1haOyRApJZmZ\nWnTN6OhAp1gRVNw8ZrOZnJwqWlqmMm5cJC4ur9LQcBBPTzcuXfKkpcUHqzWFL395IWvW3EFa2nGK\nizOAMmJjF5KUtJikpM/HB4Ot61V/MrQoo2mAWbMG/vhH+MUvVGAIZ8ZgMGCxVHHixDG8vMwUFeVg\nMMyhtLSMoKAq5s2LpaLCwscfH6C62p3k5JfJyvoxxcXbWbBgMvD5jNT27ScpLy9h0qSLrFsXx7Jl\nC7opsOTk+GsGzkONM7r6OAsWi4WSknrq62dRVlbC+PG7yM+vxmSCuXN9WLjwDkJDV3Po0Cb2738V\nsFJSUsHSpV/i/ff/wAMPPEpBQXpn3p7Y2BCKizMBK7GxCb3uf1Pt4By4ublhtdaQmnoAs7mDwMAE\n3NzKOHGihaCgNeTl7eG++8LJz9+N0ejJD36wh3/910ief/5JPDw8Oq/jGLwsX76Q5uZUdu8+w+7d\np1m3Lp4RsxNTAAAgAElEQVTk5HgMBgMREb5s3ryTmJhEiooarsn3dDWjxdXJ2ehpNcRkMlFdXYsQ\nJqQsxMWlloqKybzxxt/55jefvqYtHCuBDQ1T2bEjlXvvjcdqLVHtNcIxGAzExASzdesmPvvMRF3d\neYRYQFPTecaPv5329kpmzZqNwRCC2Wy273+K7ZSprsb0YOt61Z8MPUPunieEWCyEOCyEOCiE+JW9\n7EUhRLoQ4h0hhIu97DH7cTuEEN72shVCiCNCiH1CiIn2smj7uelCiDlD/Tw98dvfaj+5ucNdE0VP\nSCkxGo24ugbh67uQjo4wAgJaMZvzaW+fTF6emdOnBU1N8zh/vpmAgGbS0jYSGenOhg13IoTgzTdT\n2LVrPzk5VbS1LcTffzlhYSHXGEzgHO4KY9nV53qRDQGmTPHBZDqNi8tUdu06z6VLi7hyZQW7dlVy\n5UoRpaU7ueeeBURETOXOO/8vYOXSpRQCA1vZtu012tsvd14rKWkxP/3pBn72s+dITu4eFeZm2+Hq\nZ1ARmgYOo9HImTNGLJbb0enu4sSJA1y+fAm9fiIlJf8kJgaCgmYRFeVGVdV5Zs9+mJMnG7FYLJ3X\n6Op69+tfb+btt49z/vwUWlunk519GaPRCGhhzTdsWIK/fwNRUQGdERp7wxl0x1hBp9Oh1/ths80A\nptDRMQUpH2XnzkJqa2uvaQuHEZyf/ykxMbM5ePBdCguLeo2weisM5vdd6ZJriYuLIiBgJv7+j2K1\nTsNiuQdX1yD0+lK8vC5iNBZQVqZFUgU6jaX29nZSU4+xadMe9u49RF5e7aD2uWO5Xx8uhmOlqQRY\nIaU0242k24EkKeVyIcS3gfuFENuB54DlwMPAs8CvgO+iJbuNBr4DfB34IfAIWkj014D7h/h5riE8\nHH72M3j0UTh+HLpMRiqGGcfgJje3hn37dnLhQiOBgb7ExS2iuDibtLQM/P1dqKw8gbv7ZWbOnMXs\n2QtYujSJ06f/zubNKZSVlRMYuIiDBw+zcOE43N0vIkQHcXEJTjvAGauuPn0lrrPZbKSkHGLXrhxq\naxswmQrR62eh07Xj6ppBe7uRwMAwMjPLcHVtwcXFyNy5t5Gbu5P77ltMTMxM/vlPV4KCkjly5E1e\nf13b07RqVWKvwT5uph2ufobbb1/EwYMn1OziAKElqq3HYjmP2dxMQMAEcnPPI6UZKUvIyoqiuvoC\nHh4tzJvnSnPzEZYsCeqW3NIxeAkOXsn77/+OOXOWkpb2EXp9KFL6dwsgsGpVYqf7jsJ58PLywsur\nATiBNjT6DG/vFDo6Gvnb344yd+4EEhJi0el0nW13553LyM4uICOjlnHjLKxc+QL5+Z92c9++Vdep\nwVxNUCsVPePj44PFUkxh4THgCi4ufyUoqJ0lS+bT3j6O1NRMIiI8OH26sjPf4/btJ7FY2rh0qYHA\nwLUUF5/knntiKCoavD53rPbrw8mQG01Syuouf1qBKCDV/ncKWiLbfCBHSmkTQqQAbwghPIBWKWUr\ncEII8TP7OeOllJUAQgi/oXiG/rB+vRYQ4oUX4PXXQekh58AxuPHzW0pa2u9oaZlMQ0Mhvr6t6PUB\nzJ+/ntLSt4mJ8SAubg2ffvopFksGQqQzYYKepKRnKS7+A9nZacybdz+ensX84AeJ150xdgbGoqtP\nb5GypJSkpBzmjTcO09Q0k/Jyd1pagmlv9yA8XE9s7CTKyq7g62uioECyePHDHDlyiKlTQwDIyiog\nJ6cKKa9QUfEpFosNozGic6/KqlWJvQ4+brQdrn6GBQuaVdSuAURKic3mis02HrO5mY6OKCoqanB3\nn4TZfA5v76UcPfpPIiIiqKlp4xvfuI0vfvG+btdwdXUlNFRHZeU+Fi4ch6dnMy+9dB9Llsxjy5ZD\n17SVai/no66ujro6fyAQKABMXLlyEg+P22hoCOC999LZuvUw4MpDD2kulxaLBU/PSfzrvz7JoUNv\ncuHCNuLipvQrOmJ/GcwofSoCYM80NTVx4YIJq3US0EJHRzVeXgFUVTVx+nQe7u5PkZLyNp6e8Z0T\nWG1tC+noqKSubh/+/lWAldtvX0xS0uCuFo/Ffn04GbboeUKIuWjaqQFw5H9qBMYBfr2UGbtcwhEO\nveszOI1pIgS8+SZkZGjBIRTOgWNmpqRkJ62tbUgZBszmzJkWMjPPcvLky3h51REQ4MquXTtpaYmg\nrs4fqzUWm81GWdkuHnoonmeeWY6/fwnR0YH4+fmNCIU1Fl19eouUZTabKSxsws8vmMLCD6msPIPV\nehsm02ecP1+HTufGF77wVUymAGbMSCQ//5+MG9fAX/+aTUVFINu355ObG0BJSQsRET4IoWPfvjeY\nM2cZRUXGXt0kbmbm+epn8PX1HTVJRp0Bs9lMU1MHNts8pJxNYeEBpNRjMgksFiulpe8CtTQ1Taai\nQvD73+9l1679nS5YHR0dPP/8D/nBD3aze/c2DIYQZs70ISlpsWqrEYSvry/u7tVAFjAZmEFDgyeB\ngXfy6af/ICfnIidOdHDyZAjvv59BY2MjoAWBqajYQ3i4J66ubsDn3/OBcJ0azKTCoylh8UBis9ko\nLS0HPNGGlXOprQ3Gw+N2rNYmqqrex2isIyjoTgoLm4iKCsDDIxNv7zLWrVtATAzcf3/CgE6m9uZG\nORb79eFkWAJBCCHGA78DvggsQtNQAL5oRlQjmpHUtazJ/tlBh/13V+fhXh2JN27c2Pk5OTmZ5OTk\nm61+v/H1hZ07YckSmDQJHnlk0G+p6EJqaiqpqanXlN9++yJqaqqw2dqA04AOi6UBN7e5WK01FBfX\nUFx8kfBwFyyWMq5caUOn07Fo0RS+/OUV+Pr6IqW8xsVmtEexGanP19NMnGM/QmpqLnPnrqKkZBNQ\nC9TR0TGDw4czOH26msmTx9HSksWCBYHodG4YjS289dbvcXW9jJfXbUyd2sa5cw2sXPk14A/4+tYS\nFRVyzTtydHiOhLg3OvN89TOo2cUbpzf5dXd3JyJiAtXVZ2lpSQNm0tFxgY6OVuA22ttd8PDIp7Hx\nCAZDMGZzOG+/fQy9Xs+qVYnU1dVx+HAtkydvJDv7RR5+OJ7du//O2bNXiIz0Z+XKpSxY0NLNnU/h\nfNhsNlpbJdrcbB3QgdXaSnn5B0yYEIrBEEhW1n78/afj4tLCf/5nB25uOiZP9kCnC6S83EhS0pPd\n3PMckRQjInxv6bs6mN/3saxLetMJTU1NtLY2A2fQjKbT1Na2kJJSR2trJUJMxtVVkpLyJhs3fpFV\nqxK5/fZFnQluB7qfVG6UzsOQG032QA9bgG9JKWuEECeArwK/RNuvlAEUAtFCCJ2jTErZKoRwF0J4\noe1pyrdfsk4IMQnNYGrs7b5djaahJCwMdu+Gu+4CnQ6++MVhqcaY5Grj+OWXXwa0KEmbN+9GW8C8\njGaLSyyWYkDQ0eGDECsoKTmAl1ctvr53ceXKSZKT7+wc+DiUo8lk6tUVAxiRRkZPjGSl3dtM3KpV\niZjNZn70o38ABjR5CAbCaGqqxd09mvLyTMLDQ6ioEBQVFdDWZmTy5BewWD7GxaWMadMmU1xcwcWL\nf+DBBxf3GAjE8e6ysy9TXFxCUtLXug2s+qJrp971WDW7eGP0Jb96vZ6FC8PZvn0bEAHMRRsomQAT\nNlspMAUpZ2OxnKG1tY7Y2K9TWNhAfHwTubnnMRoLSU19lrAwI1euHEFKF4zGCN58cyfZ2QV4ek5S\n4aidnIaGBsrKKtHma6cCuQgxj8bGeubPT+bYsffw9BxPe3st5eUmOjr02GxVpKVd4YEHnkbKy9ek\nm1i+fCEtLWkUFRnR64/ddPv39X2/1cmssapLeuuzbTYbW7bsQJuX1wGzgEwgnIaGGLRh5hWkNGE0\nNnVer+s+1oF+n8qN0nkYDve8LwILgZ8LIfYD04GDQoh0IBbYJqW0An8E0oEngdft5/4Y2Av8BPip\nvWwj8A/7z/eG6BluiLlzYc8eeP55eO+94a6Nwmw2U15uAhajKUQrEAZE4+FhwNMzCikPMHlyKB0d\nHpjNOoRop7DQSGrqMTo6OmhsbOwzUaXJZCIt7TibN++7JhnuSGQ0RukRQpCUtJgrV2qAIOAImtdv\nOSBobi7A39+dadPiOH48n0mTHiIgwA9v723cdpuNp5++ndLSdszmeKxWLfdXVxyrS453Fx6+FnCl\nrGxXv1xhHJ36aJGh4aQv+TWZTJw+XYTNNhNYguaeVQxcBMpxc7Pi6TkRF5dy5s6dz7JlC/HxqcFk\nquLNN1N4772DBAffzowZT6DXz2LaNA/WrJnLmTM7iYqKJzOzgeDglaPmezNaaW5uRvv+ewA1QDVS\nnqWtrZVjx/6Gp6cHnp6L8PePxM8vAD+/idTXVzB/fgwFBZ9yzz0xfPnLKzojZtpsNnbvTuUvf8mk\nvn4qeXm1A97+SkfcPL3phObmZo4evQxMQDOe/dHm5F3QVp7MuLra0OvDcXePJD+/ftC/18qN0nkY\njkAQfwf+flXxMeAXVx33LvDuVWX7gH1XlZ0BEge+pgNLbKxmON1zD9TXw7PPDneNxi6urq40NJQC\nuWirC4GAGTiJu3sL48Z5M358Bx4eBsxmD3x8/LFYgsjLC+TixaOcOJHFsWP12GxXmDPnbg4ePArA\n7NnjOXNmJ7GxWrCA7OzLhIevHfCZoeFwkxuNUXpsNhu//vUfKS5uBe4GPgQmAmVAPa2tTUyeHInZ\nfIlp02ZQUPA3Zsww8OKLa7jzzmUcOJBBbm4xnp4wc6aN9PQTFBRcITY25JoIdw7ZWLcujqVL5/f4\n/rq2qyMs/o3OLo5UF8rBpi/5tdlsnDlzEQgHTgKXgNUIUYiPzxz0+nICAi4yc2YI4eF6HnxwKdHR\n0/nhD/+O2RxFdXUmQUHNnDpVwOTJMaSmnucnP1kPCIqKjPj5BVFTs7/X742zt5mz12+g8Pb2Rltd\nGI9mMHcANmy2RdTVZRIfn0heXgZ+fm5ER4cye7aO9vZF+PpOYeZMH/R6PW+9daDz+7937yHefvsY\nvr7BZGVt55lnErt5Jzjo6/1e793fygrEWGnX3uhNJ/j4+ODn14TWD7ShTaK5oO0QWQacxWYzYTBE\n0NBwHovFH71eP+j1HctulM6ESm47hMybBwcPwt13w6VL8P3vq6h6Q42Ukj17Url82Yq2yTMQOIem\nFM1cuTKL8eO9iI2dwblzdfj5TaC6ehdtbUa2bXudgAALYWHTWLz4h+zd+w3On99KXNxy8vPriIz0\n77zH0aNZFBeXUFy8iXXr4joVXW8dVU/lPZVpYbIPU1RkHHI3udGmtJuamti6NRur1YA2j9OA5qYX\nCNgASEv7jLAwI7W1Ojw8LOh0D/Dpp/lYLGb+9rcc3N3jqKw8RmLibHbtyqGtbSGFhRlERU0jL6+W\n4OAV5OUdICLCB/jcrfNqurqKOOSooKAek6mKioo9REUFXPd5RrIL5VDQm/w2NzdTW9uEtqdNoA2M\nMpHSSlPTSWA6Hh5XiI+fhqtrEFlZ+bz33lGOHj2FwVCOh4eN55//AlbrRzQ2dlBeXoIQojO0eF97\nHJy9zZy9fgNJfX09mteBCagEvIAmbLZs3Nx8SUv7FH9/wYwZSdTVNdDeXoGHx2QiInxJTIzj29/+\nIxZLAsXFmcybdxu7d5+mvT2YoqJ0EhLm4Orqyt696RQVNXdzB+vt/V6tE5YsmXdNKoObTWFwK/sr\nRxM96YSWlhbS0s6hTaj6oBlLZjQDqgq4hM2mo6kpmzvvfABPz0mYzWbc3Nxobm4etL2LY9WN0tkY\ntuh5Y5WZM+HwYfjoI/jSl6ClZbhrNLYwm80UF7dhMDiCL3oCAWieoaGABxcvniYvr47W1iCamwOx\nWj2wWtdjMkFr6yLq6y+yd+9L+PrqWLt2PcXFpzh37hy7d58hLGwNOTlV5ORUkZT0NaZNm8zSpfOB\n3l0peirvrSwl5TCbNx8dNHePvhhtSlun02G12pDSsdoYhiYDzWh73SZhMrlSX78QP7+Z1NfraG8/\nzoULF3jllV2UljZRVLSPtWsfxMtrChZLG+XlGRw6dIqXX/4LubnHee+939PaWkFhodG+6tizi1bX\nGWOH/EyceBd6fTCPP66FL7+eC46zulA6S/LM3uTX29sbi6UWzSWrDjiPNkByRTOiLnLxYjm/+c17\nbN36Gf/7v3vIypqIm1s0zc1NLFv2GAcOFFJebqWx0YbNpq0mOO539X27vo+r28xkMjnFu3LgrDI1\nGNTW1qINlOeguWZ1AHpMphLMZonF0s6ECWvIyspl1qwV7NpVyLFjLnz44Qn27TtCXl4xFRW5SGlB\np9MBrkyYEImvrz/Ll2/ggw+O8MYbhzt1t8lkumo1ufv7dbz70NDVbN9+jNdf/6TH739S0mI2bFh5\nTSLtnnD0K6+//gnbtmUSGrp6VLfr9XRPTzrh8uXLVFa2o7X/JLTxwUy0CbUWtH2vOlxd3Sgvz2bm\nTB/c3Nz4zW/eZv363/PKK29hs9kG65EUw4wymoaBCRMgLU37vGgRnDw5vPUZSxgMBmJigvH29gTm\noy2969D8lhuAfCwWb4qKzpGfn0F19UGMxmKkfAebrQx//xLGjw/h3//9ewQG+pCf/zE+PiZWr/4m\nNpuZzz57j9jYEGJjQ7h06dNum4J7G4B0Lc/Lq8VoNPZ4rNlspqjISExMImfO7LzliExjHR8fH6Ki\nvNBmlSeiyUMlmhy4ofmzN9PYeIiLFw/h4RFCSUkpR4+e4uzZFqqqrHh4CBoaThMTE8zUqb5UVBTi\n4ZFMe/t0qqsN3H//c7i5BRMe7k5l5Sedq0hX09Vn3SE/lZWfEB0diLu7+zXycb1rOIsL5UjYc9HY\n2Ehbmw5tgDQeiERrezPQCtwHxFBX50V5+UTq61uxWDKprT1Ga+sldu78PaWlJYSHfwFfXxekNPH2\n26nXPK+Ukvb29m7vQ6/Xd7ZZZKQ/GRnZTvWunFGmBouQkBDAgmYsBwILAAsdHR5I2UpdXRUnTryB\n1VrHqVNvkZ9/gg8+eId3332fN97YTmLivbi7V7FmTRy+vr6sWxfH3Lm1zJnjx4cfvk55+SWiouLJ\nytrGzJk+ZGRks2XLoW6ryVdH+IyKCqCsbBfg2uuky41MZplMpk63cbD2e3/lSORmdc/EiRPR9jS6\noq02NgBn7X9fBqYAXgQETCc2dhbJyfEYjUZ27MihoSGSHTuyr9HRzjJxpLh1lHveMOHtDX/+M2zZ\nAmvXwh13wNe+poUnH4Or5EPKsmULEKIOzWAKQBsonUZbYfgCEEp9/ae4u9+F2VxIaOhM6uo+Ytas\nVQhRip+fnm3bfk1dnWT69HmUlKSye/evgEYyMlrQ6Zr4t397nAULOvD29qapqQlfX99eXSn0ej0z\nZ3pTULATm62ed95JJyLCl8hIfwoKuh+rhbCtZcOGJaxevXw4Xt+ooa2tjZKSZqACbbA0EW2QHI22\n2qADAgkO/hpVVVtobW2io2Mqbm4umM2NtLdfZvnyx5gxw5c5c2aQk1PFAw88QlraTgyGIOLi/Dh2\n7E+Ul9dRXBzAXXfF0txsZNOmPcTGhlwTYfH22xexYIHm3mGz2To/g6Pd92A2V7Nly6FeXWqczYVy\nJER9MpvNWCx+aMbRHrTEptPQompeADYDkgkTZtLSksL8+Ym0thbR3q7D1fURGhr24OXVyoQJJ5g3\nzw8Xl1DCwtaQnb2r83m7R1AsJynp2c4Iio42A9i8eZ/dON7DggVGpwhT7mwyNVh0dHSgff8/Q5s8\nuQi44uKSiNnciJubH3q9N01Nk8nIOExTkw9SPoOLy18oKqoG0li8OJBVq7Qt1snJ8cTFGXn7bYG3\ndyC7d79KUdFbRERMBiRZWZeYOvVeKir28MQTy3ts66SkxSQkaEGFzp7V9svq9Xra29uBGzOYpJRk\nZGRTXFxOcfHvue++nqN9jhZuVvc0NzdjMITZjRwPNPe8ILQYZh8AZ5kyZSHjxhlJTp6OwWDAZrNh\ntbZRWlrFlCnXutmPFRfXscCoMJqEEL9Gi8h3Ukr578Ndnxvh8cdh3Tp47TVYvx6uXIHERFi4EBYs\ngPnzITh4uGs5uqitraWqSo82s+yJZjxNQFOOh9H2NzXQ3r4bKKGqKgtX1w6qq/2B00RHryI3dyeh\nofNJT3+PRYvmk5tbRGlpDV5eX+b48S0cOJDDzJmzsVprqa31ZMmSYF544alrBiDaHqVD7NqVg9nc\ngpubJ0FBs9i8+TDr1yewfv0d3fzYrz5/rG/mvRWam5spKWlAGyCHogUAAM2IqgUqEaKJy5dfw2a7\niKvrBKzWi1itOmA8VusE9u9/H4NhNi+/XMrFi6VMnjyRb33rbnJyCsjMbMBqbSQ4+AFaW2t47bUP\nOHu2lYCA2Zw7V8y8ebeRlXWO/Pw6Zs8ej8Vi5uzZBubOnQBoe5ocnWxS0mIWLDCyZcuhPgcBzuZC\nORICiGiuVGXADqAabSa5FM0VJxYtTpEfVVVnmTDBi7IyC62tYDDYaGs7jc1Wh5/fU0ycWM7dd8eQ\nkpLLu+/+N5MmTebo0SySkhZ3i6BYXPz7a0JTd58Uub5xPJQ4m0wNFg0NDWjumLVofYAf0ExHx1HA\nDyGuYDZ3ACW4uAQhZTGwEbO5BZ1uOpWVbvzlL8cxGN7g//2/DbS0tODi4kJm5gE+/rgCq7URg2E+\nYWGL2bEjC5vNSlHRb3jooWX4+PhcEyDCwdGjWXz8cQ4dHSZiYoI5cCCD7duPUVFxmUmTJnP//QtJ\nTo7vU0a6BpZJSnqWsrJdo9pggpvXPd7e3ri5mTCZdGguu8L+eyvaqhM0Np7Ey8ubV1/dT1lZDVFR\nM2hqasNguExAgFe3642EiSNF/xnxRpMQYj7gJaW8XQjxqhAiTko5ohzefHzg29+GF1+EsjI4ckRz\n2fv5z+HUKfD01AyouDhtVSouTq1G3QraIMmx6TcKbdP/DLSAEBa0laeJaCHJO7DZJmM2X0TKK7S0\nGDl06CCtrW0EB3uj01Vx6FAWvr5huLg0cOnSX5FScOqUwGQKoq6ukJUrv8nBg79lw4bmzhUnoHOP\n0htvHMZkiiY0VAD5ZGcfZN68dZw/X0JycveG7jqAUTNYt4avry++vq3U1bWjGU51aHtZYgGBTlcL\nGBg3bjENDV6YTCFoBtUs4BRm81zM5gb276+itdULq7WVkJCTjBtnZffuy0RGfpG6uvcICTmC1dpC\nU5MBP781lJZupaWlkf/8zw70egNJSc/ywQevkpNzAW/v2yksPMaMGWFMnnwX+fmpnZ2sr6/vNYOA\nkWA0O/tKRWlpKZrRvADIQTOgzGg6oBCtm3wOeJ36eh0uLm7o9cuwWD5lzRoPmpsjCA52RwgbFy60\nsHTpV/j7318hMfEr5Ofv75boND//E9ati+81gmJ/jWPFwKOt9BjQXLWNaLpgGdrKUxN+fn6sWvUc\nV658RGZmHZ6eT2E2b8PbewXl5YexWOoZP96btLQyzObX2L07n4qKYqqrDRgM8+noKMLdvQmjMZXK\nSj0WyxKMxiOsXWviwIEMzpyp7lyBFkJ0Gjo5OVW0ty8Cqjl1qpyODistLWFcvuyGn988cnKqWLq0\n54AjVwd9MJmqOl2Ax4JM3YzuMRqNtLf7ogUEAc3jIBHNNU8AMzCZyqitjcPDI5T09Ara2lzx8Aig\npqaG8+cbSEs7zurVyzv7a2efOFL0nxFvNAEJaLmbAFLQEm2MKKPJgRAQHq79PPqoViYllJbC6dOQ\nkQGPPQYWi5Yk94EHID5eS5qr6D9aaFnQBkYtaEbTXrSNn9PRNgNfQAtJHgkUAa3U1LyPm1sYDQ2T\nmD59Mjk579LYGEpAwDLM5gyio/0oKamlrS2A9vZSyspamT1bkJLydXQ6A5s3b+WFF55CCNHpl15Y\n2ER0dAKpqdsJD5/CQw8lYbFYKCoque7AWM1g3RpSSsaNC0VzxbuCpg790Fw19dhsMxCihvr6NECP\ni0s7rq5XMJnaAG+krKW+vo72donJlAnMwmotY9OmU3h7x3DixJ9Yvz4OKSUnT5rw8qrHYtmDn18d\nISGJdHQsxWxO47PPtmK1tmGxuHDu3DH0egthYe68//7vSUgI6hZtr+sg4GaN5qE2tJx9pcLNzQ1t\ndcHhlleHpgc80QZKdcA7QDsuLq6YzdXYbI24uLQTETGOZctWk5V1ibi4RKSUbN++GZ3OzOHDr7Nu\nXXzns/c2gOvaHkKIHo1jxeCj9QtGNH0fheailwVU4+oaisXSTFnZbqKi/Cgrq6C8/EOkvEBrqztm\nswkXFx9qa09z/vwUMjNPYLHEceWKP0JMoK3tKDNm2Fi1aj4rVkSQmnqOU6dyCQyM4vTpSsrKyrBY\nZlNcnEFCQiwGg4G0tOP2YD9VGAxldHSYcHEJoLy8lYaGEiZM0OHjA7GxC9Hr9T0mar06qXZl5Se9\nugL2l5EwUePgZnSPFiDoAlrwBw80Q7oMaEfrH85jMjXi4pJBUZGNSZNCKS/3oq2tlvHjEwkLM1NQ\nUE9CQhPu7u4YDAannzhS9J/RYDSNQxv1gJaqOWoY6zLgCAFTp2o/DzwAP/0p5ORoSXKfeQZqarTV\np4QEiImBkBAYPx68vMDF5XpXH3vYbDZeffUdtBUlA+AOxKMNlAPtnw+g+bNb0DpRI7ACOIzFYsVi\n2UNOTiswGVdXLy5f3sakSR2EhcUxbdosLl4spqFhBitXfglv7yLS03OJivoOGRm/Yf16I6dPn+0M\nI9vefpm0tAL8/d24995FnRGQkpKuPzBWM1i3RltbG8XFpWhhZUPQBsfJaG1/GjiHlKFoLlsWOjpK\nMRimotPVYrP5o61WTqC1tcV+jC9GYwMuLrOBAlauvI3Zs2fwwx/uBmZQXNzA9OktmExmjh9Po6jo\nY+bOXcjly5eR0kBrawO33baWyZMvotdP4OGHn6KmZn+3AUrXQcDNGM1qdfJaqqurAT2aoVSAFgQk\nEa7YCB4AACAASURBVG0iRTJuXBzt7Y14ej6BEJ8yaVITVVX/n73zDo/qOBv9b7Taoo4qEk2AEEai\ngwFRJYzBhRrHcWInjv1BXBL7sfMl8XeT3OvETuzcOM2OnULsEDtxSeJ2gRhjuuiiGSSQwEiggirq\nffvcP87uIgkJ1Ov8nmef3Z095+ycKe+Zeeed972Ij08ku3dfZsaMKXh76wFISJju8ZyZl7fN4zkT\nWh/AtVUfapDV+1wLbhsBrATeQDPdjiEycipBQfksXnwHH374LhUVsfj722loKMJqDQLMOBxnARte\nXndRWroJL69MIAspLUAJVutYrNYS3n/fSmHh55SW+tDQkIFON4L09AKMxlAmTSoFtL6dnl5GZWUw\nqalnmTUrAL1+LLm5BSxZ8h2uXPmUhx9O8gzKmwdX3+HZI3fNJHSjxyS0qxOmwS4/vvjiC7RV5hlo\nDiAa0ZRqcWgm/CagCm9vPePHz6S6upKIiARiYsqIjKzDYNDhdFbw05++BXizdu1skpLmqb48SBgM\nk6ZqtB27uN6rWjvoueee83xOSkoiKSmpp/PVIwihBcqdPh1eeAGysuDTT+HQIW1fVFkZlJfjsrnX\nJk/uV0wMTJmiveLi4JZbtPTBSnJyMsnJyc3StGjfV9HpJuFw2NE0yZfRNM3haPtafIAJ6HT+OBxL\n0KKAn0TbA7UAOIAQJry8lmG3f4xeX8HEiX/k+PF/8Mwz6ykt3ceECQHk5hYSHz8ana6WlJRXSEgI\nb+YJLS3tEyCImJgv4e1dwYULlSQlaQOl9g6M1eCq8zQ0NGC3B7m+XUBbdTyMNpkGbSVyPNpK5CwM\nhuNERj6AxXKK4uIjOBwlwDB0uqkYjcVIORansxIph2E0ZrFmzTyKipzExy/jP/95l7CwSZSVSWpr\nnYwadTeVlZvw919Abm4GEycuJirqEBMmSGbPTgAgI6PtgKjQuUmzWp28npSUFDQNcgRaO6gBDgA+\nDBsWQnx8ILfcMoKamlJmz05i5szJ/OAH/wDmEhqaQ3Z2Q5Mg1l5Mnx5JRsbOdplAtVUf/X11bjBS\nUFCApjizA++iPQuCCQ42s2KFD5MmLeTYsTTCwm6hstKAzXYWIQLQ6ebhcFxGiNn4+FwiP/9DgoOH\nYbNNxeFopLFxHV5eO2hsnMzx43kkJT3NsWMXWbPmJQ4d+hmBgXdjMm0lIKCGqKhgT93HxgayadMh\nJk++kzNndnLvvavIz9/ElSufMn16JEFBQZ68tyULrpmEth1UuyMMBfmRn+/2qOtEU5g+iRb4PNP1\nPQQ/v2hGjFiCv38moaF6vL0rGDNmOD/72X8hhODNN/fR2BgORJCWVsyCBYOvnIYqoj+4Ne0Krj1N\nj0opvy2E+CPwppTyZItj5EC/z47idILZrMWBqq+H2lptgnXunPY6fx4yMyE8HMLCIDBQW5myWMBq\n1V52u2YK2PRdpwNv7+tfej34+GgvX99rn5t+N5m6Zy+W06nls+XLbNYmi42N2ntDA3zta/D972vn\nue3EX375TX7963coKqoF9Hh71xAZGUhhoROnU0dkZBBjx5rIzW1ESiMzZ0ZTUnKJrCwrZrMNIRow\nGHSEh48jNNSOyWREpxtOXJwvU6bM9Wjg3CsETqezWdC75ORjHk0dwObNJwE769YltBpro+nx7YnF\nobgx7nYAsGbNoxw8WEh1dRZSRuDtXcOECVOBcnS6IEpLK6iursXLy4/ISAgKGsv48SEMGyY5ejSP\n8vIKAgKCGT7chBA+FBbm4+c3nG9+cx7PPPMoycnHOHeulNTUQ2RlmXE4GqiqqqGx0Yf4eCPjxk0l\nPz+HUaPGNhvYtNcEpjOmMqo9XcPdFoQYi7ZXrRCwIkQgY8fGMG3aCL7znXu4/faFnj4spWTnzgOc\nO1fG7NmjAJqVZ0frRNVH3+NuBwbDJGy2QDRTbSuTJ0/mm99cytNPP4zBYGDXrkNs23aK3NwSoqKG\nkZp6kosXvbHbL+DnN4Hx44OYNCmMixcbGDbMxMiRJj777BLV1UVMnjyJKVMiKC/3xWy+jMk0ntDQ\nBgyGcK5cySYqahT33jvf0waklOzadYisrFoslhKMxuHExYW0Oflpb4D0rjKY2+s1eTAeiEZbaRyF\nppu3MmJECNOmzcbXV0dU1GjWrJmFXq8nLa2E6dMjPeWRnHyMzZtTAG+Pow7FwMHVDlodrQ74SROA\nEOIVtF28p6WUT7fy+8C/SYVCoVAoFAqFQtGjtDVp6nXzPCHEHcAPXV9vQXNLNBFYC+QAD0spHUKI\nB4An0DYaPCClrBNCLAVeRDMyfVBKWSiEmAzMdl3vjbb+tzcmh0PB3ncg03SFQTF0GWjtQMmVnqNp\nW1DlPHQZaDKhu1BtvjlKHiiAG9Zzr/tdk1LukFIulVIuRQuG8TmQJKVcjLZ5ZJ0Qwu3jdTHwDvCY\n6/RngdvRJl0/dqX9HPgqcB/wQq/dSCs0t/e9PnK3QqFQdBQlV3oHVc6KoYZq822jykbRGn3mrFoI\nMQ4oAaYCya5kt8vwWCBNSul0pwkhfIAGKWWDlPIE17zkBUspC6WURWi7efsM92bMwkLlzUyhUHQP\nSq70DqqcFUMN1ebbRpWNojX6bE+TEOL7aC7LrECAlPJ1IUQM8CPgr8AaKeWPhRA6YAfwDeBlKeX9\nrvP3SykT3e+utGQpZVIr/9VrjiAGUgyDocZQNcFQNGcgtgMlV3qGlm1BlfPQZCDKhO5CtflrKHmg\ngBs7guhLl+OrgS+hrSyNdKW5XYZXc23VyJ1WwzXX4qC5twFoKunalHq95XJcuYrtP7TmclyhGIgo\nudI7qHJWDDVUm28bVTaKlvTJSpMQYjjwDynlHUKIcOBvUsrVQohngGxgM5pZ3m3Al4FoKeVvhBB7\ngDXAZOCbUsonhRAfAU+hTZj+JKVc18r/DTmX44rrGcraRMU1VDtQuFFtQQGqHSg0VDtQQP9caVoL\nbAGQUpYKIQ4KIQ6iOYZ4WUppF0K8ARwEKoAHXOf9Ai1MeyPwkCvtOeDfaJOmJ3rtDhQKhUKhUCgU\nCsWQYFDEaboZaqVJAUqLpNBQ7UDhRrUFBah2oNBQ7UABN15p6jPveQqFQqFQKBQKhUIxEFCTJoUC\nUCEYFAqFQqFQKBRt0SeTJiHEg0KI3UKIvUKIKCHED1z7mt52uRhHCPGAEOKwEGKrEMLflbZUCHFE\nCLFHCDHClTbZvSdKCDGlL+5HMbB5/HHw8YE9e/o6JwqFQqFQKBSK/kivT5pck51EKeXtUsrbADuQ\nJKVcDJwF1gkhvIHHgcXAO8BjrtOfBW4Hfgj82JX2c+CrwH3AC712I4pBQUYGbNkC77wD//3foMyZ\nFQqFQqFQKBQt6YuVpjsAnWul6VVgDpDs+m03WtymWCBNSul0pwkhfIAGKWWDlPIEEO86J1hKWSil\nLOJabCeFol289x48+CB87WuaiV5KSl/nSKFQKBQKhULR3+iLSdNwQC+lvB2oR5vo1Lh+qwaG3SCt\ntsl1dK73pvfQqrcLhaIt9u6FO+4AIeC+++DDD/s6RwqFQqFQKBSK/kZfxGmqBva7Pu8DbgXc2/AD\ngSrXMUEt0mpcn904XO9NDaraNK567rnnPJ+TkpJISkrqTN4VA4jk5GSSk5Pb/L2+HtLSYP587fva\ntdqq029/2zv5UygUCoVCoVAMDPpi0nQE+Jbr8wwgD21P0m/Q9iulAJnAZCGElztNStkghDAJIfyA\nyUCG6xrlQoiRaBOm6rb+tOmkSTE0aDk5fv7555v9npoKcXHg66t9nzEDioqguBgiI3sxowqFQqFQ\nKBSKfk2vT5qklKlCCLMQYh9QCjwAjBBCHARygZellHYhxBvAQaDCdQzAL4BdQCPwkCvtOeDfaJOm\nJ3rtRhQDnnPnYOrUa991OkhMhH374P77+y5fCoVCoVAoFIr+hRgK0Y+FEHKw3KeUEqvVitFo7Ous\nDDhaRvt+6ikYOxa+971rx7zyCly4ABs39n7+FL2DivrecQar3OmOtjBYy2YooWRC+xnM7b0728Fg\nLqfBjqsdtOojoS/M8xSdRErJ/v3HycgoJz4+lMTEuQihfF90lnPnYNWq5mkLFsBbb/VJdhSKfomS\nO22jykYxlFDtvX2ochq89ElwW0XnsFqtZGSUM2LEHWRklGO1Wm9+kqJNWprnAUyfDpmZUFfXN3lS\nKPobSu60jSobxVBCtff2ocpp8NIXwW2jhRDFQoi9QojPXGnPCCEOCiHeFkLoXGkPCCEOCyG2CiH8\nXWlLhRBHhBB7XEFyEUJMdp17UAgxpbfvpzcxGo3Ex4dSWLiD+PhQtezbBSoqwGK53uGD0QjTpsGp\nU32TL4Wiv6HkTtuoslEMJVR7bx+qnAYvvb6nSQgRDfxcSvlN1/dw4E0p5SohxP8Al4AtwF4gCbgX\nGC2l/K0QYi+wCs173kNSyieFEB8DT6I5gvizlHJdK/+p9jQpmtkrnzoFGzbAmTPXH/fd70JUFPyv\n/9XLGVT0Cmr/QscZrHJH7WlSgJIJHWEwt3e1p0kBN97T1FfmebcJIfYLIb6LFqcp2ZW+G5gPxAJp\nUkqnO00I4QM0SCkbpJQngHjXOcFSykIpZRHXYjsNWoQQqhN2A9nZMH58678lJMCxY72bH4WiP6Pk\nTtuoslEMJVR7bx+qnAYnfeEIohBtUmQBtgL+wFXXb9XAMLTJT00rabVNrqNzvTed+LW5004Ftx16\n3Ci47eXLMG5c6+fNm6d51JMS1N5NhUKhUCgUCkVfxGmyATYAIcQnaJOika6fA4EqV1pQi7Qa12c3\nDvclm16+rf9VwW2HHjcKbpudDZMnt37e2LHgcMCVKzBmTM/mUaFQKBQKhULR/+kLRxD+Tb4uBLKA\nRNf324EUIBOYLITwcqdJKRsAkxDCTwgxF8hwnVMuhBjpcgxR3Rv3IKXEYrH0xl8peogbmecJoUz0\nFIrBRnvktpLtCsXQobP9XcmJoUtfmOctFkL8HDADB6WUJ9ze74Bc4GUppV0I8QZwEKgAHnCd+wtg\nF9AIPORKew74N9oq0xM9nXnlf39wkJ3dtnkeaJOmo0fhK1/pvTwpFIqeoT1yW8l2hWLo0Fp/7+x5\nSk4MHXp9pUlKuV1KeauUcpGU8keutF9JKRdLKb8hpbS70t6VUi6UUq6WUta60vZIKRdIKZdJKfNd\naWdd11ospUzr6fz3tP99pcHoeZxOyM3VzPDaIiEBUlJ6LUuKQY7q131Le+S2iq1yc4ZCOx4K96jo\nfH9XcmLw0ZE+3xcrTQMat//9jIzu97+vNBi9Q2EhhISAj0/bx8yZA6mpWiwn5QBH0RVUv+572iO3\ne1K2DwaGQjseCveo0Ohsf1dyYnDR0RXHTq80CSF+1uK7TgjxbgfO/2+XSd6AC26bmDiXDRuWkZQ0\nr1uvqzQYvcPNTPMA/P0hNlabOCkUXUH16/5Be+R2T8n2wcBQaMdD4R4V1+hsf1dyYvDQ0T7fFfO8\n0UKIHwEIIYzAx2gOHG6KEMIATAekK7htopRyMXAWWCeE8AYeBxYD7wCPuU59Fs0xxA+BH7vSfg58\nFbgPeKEL99Nuesr/vooi3TvMnQvvv3/z49z7mhSKrqD6df+gPXJbxVZpm6HQjofCPSqu0dn+ruTE\n4KGjfV50Nvqx0Nas30Wb6CwFPpVSvtLOc78NnAd+BvxfYLKU8jdCiFloTh82AU9IKZ8UQoQArwMP\nAh9IKVe5rrFXSnmbEGKflHKpK83zucX/yYES7VtFke45Ohrt++9/h88+g3/+swczpeh1ujPqe3tR\n/bp/0hdtYSAzWNtx03YwWO9RcXOUPBiatOzzrnbQql1uh1eahBCzXJObmcDv0VZ5MoEDrvSbne+N\ntrKUjBaMtq1Att0a3HagoDQY/QflDELRXah+rRgMDIV2PBTuUaFQXKMjfb4zjiB+2+J7JRDvSpfA\nbTc5/0HgvSbfq4HRrs+9Ety2ZdDT/oLScHUvycnJJCcnd/r82FiorobiYoiM7L58KRSDgaEgr4bC\nPSoU3clg7TOD9b4UHaPT5nmd/kMhfom2nwlgLvAKMFdKuVoI8QyQDWwGdqNNwL4MRLvM9/YAa4DJ\nwDdd5nsfAU+hTZj+JKVc18p/9nvzPOW1p+fpzNL73XfDo4/CuutalWKgokwwus5gkVc3aguD5R4V\nN0fJhO5hoPeZttrBQL8vRcfobvO8793odbPzpZQ/lFLeJaW8C0iXUv4ccAe3nQ5sdsVqcge3/Sbw\nF9fp7uC2/xf4pSvtObTgtv8GftLR++lp2uv/XXnt6Z8oEz1FdzMY4sAMBXnV2j0OhrpTdC+qTVxj\nsMqF/nxfqv31Lp0xzwvorj+XUi5xvf8K+FWL395FczTRNG0PsKdF2llgUXflqTvpiHZC+f7vnyxY\nAD/9aV/nQjFYGCway6Egr1reo8FgGBR1p+g+Bkt/7i4Gq1zor/el2l/v0+vmeX1BX5nnWSwWNm3a\nw4gRd1BYuIMNG5bdsLMpm9mepTMmGA0NEBGh7Wvy9++hjCl6lb40xemoTOjPDAZ5dbO20PQeB1Pd\nKZrTWZmg2sT1DGS5cDNz3f52X6r99Qw3Ms/r8EqTEOJ/pJS/EkK8RiuOF6SUT3Uij4OSjmonlNee\n/oevL8yaBYcPwx139HVuFAOd/qqx7AxDQV41vcfBVHeK7kG1iesZrHKhP96Xan+9T4dXmoQQq6WU\n/xFCPNTa71LKv9/k/MlocZfsQJaUcoPLAcQaIAd4WErpEEI8ADwBlAMPSCnrhBBLgReBRuBBKWWh\n63obXZf/tpTyXCv/2WeOIPqjdmKo0llt4nPPQWMjvPRS9+dJ0fv09aZvJRP6Dx1tC6ruBiddkQmq\nTQwe+vrZ0BlU++t+brTS1Bfe83RSSofr8yY0Jw8/kVKuEkL8D3AJ2ALsBZKAe4HRUsrfCiH2AqvQ\nvOc95PKe9zHwJNqq158Hqvc8Rc/TWYG4fz888wwcP94DmVL0OgPxwajoGVRbUIBqBwoN1Q4U0P3m\neVtv9LuUcs1Nfnc0+WoFYoBk1/fdwANABpAmpXQKIXYDrwshfIAGKWUDcEII4db7B0spC115C6KD\nqFn64KW76jYhAc6f12I2BXW4hSmGMh1pg0oW9S/6oj5UGxi49Oe66895Gwh0V/mpehj4dMZ73nzg\nCvBP4BjQYVcdQojVaO7DL7ryUOP6qRoYhhbYtrW02iaX0bnem7pN71Be2uN5RDXygUlrddtZjEaY\nOxcOHIDVq7sxk4pBTUc8G3WXFyQlr7qHtuRHT5at8oQ1cOnPdddW3pSsaB8ty2/JkjnYbLYOl1t/\nbiOK9tPhOE1AJPBjYArwe2A5UCal3C+l3N+eC0gp/yOlnAoUAA4g0PVTIFCFNlEKapFW0+Q4XOdB\nc2cUba6rPvfcc55XcnIy0Lbvfbffe3cj37RpD8nJx9Sy7QDCarWyefM+DhxI4de/fpVnn322S9db\nsQJ27OimzCmGBB2J7XGzY9sTi0PJq+7DXR9RUStITS3GYrH0eNn251gwihvTn+uuZd4sFgtms1nJ\ninbStPzS08vYvftwq+V2Mxndn9uIov10eKXJZV73GfCZEMII3A8kCyGel1L+4WbnCyEMUkp3a6lB\nm7glAr8BbgdSgExgshDCy50mpWwQQpiEEH5oe5oyXNcoF0KMRJswVbf1v88999x1aa15HmmqDZgw\nIYDMzBpGjryTjIwdzJ+vtDIDBaPRyLp1S11anZUkJc3jxRdf7PT1Vq6EVavgtddAKYcU7aEjno1u\ndGx7NZTNH8pKXnUFo9FIXFwIW7b8EfDmwIETPf4sUJ6wBi79ue6a5i0uLoSUlFRSU4vJzs4nMfEx\nMjJ2KllxA5qWX2xsIFlZtdfJ2PbI6P7cRhTtp1OOIFyTpZVoE6axwFbgb1LKgnacuwb4HtokJ1NK\n+ajLAcRqIBfNe55dCPF14DtABZr3vFohxDLg52je8x6SUuYLIaYCf3Zd7wkpZVor/ymllK0uR7dM\na+n3fsKEALKyaomPDyUpaV6Hy0rRd7Ss2655SIJx4+CTT2DKlO7MpaK36c3Nvu42aDAYbmoK05a5\nTEdicSQnH/M8uJW8ujlN20LL8jebzfzlLzuIjl7Va88CZTLVN3SHTOjP+xfd/wd4ZEly8h8YN24s\n06dHKlnhoq120LS+WpOxLWX0+vW3teqiXPXvgUG3es8TQvwDzTTvU+Bfrbn47m8IIaTT6Wy3PWly\n8jHS08uIjQ1k+fJFqpEPErr6YHzySRg1Cn74w27MlKLX6a1JU9MJU1dt2ds7GVIP5Y7hbgtuTXFT\nuS+EaFbuiYlzVdkOUnpbkdJRedCd/drdpuPiQliwYKZqz01oz6SprbpoWq5CCLV3aQDT3ZMmJ1Dv\n+tr0ZAFIKWXg9Wf1LUIIaTabb6itdTqd1NXVERgYiNPpZPfuwx6tomr0g4OuPhg/+wxefBEOHuzG\nTCl6nZ4YILV8kLZl5tvZqO0dWbFStB93W7BYLPz1r7uprAzm7NlDbNgwn+XLFwFtO3+40UBWTV4H\nFi1lQk/WX0dWjt156S4HAu623h8DtfYHWns2tNeRhnsMaTQaO1S/iv7HjSZNHXYEIaX0klIGuF6B\nTV4B7ZkwCSHmCiEOCyEOCCF+60p7RghxUAjxthBC50p7wHXcViGEvyttqRDiiBBijxBihCttsuvc\ng0KINg2n3PakhYXX25M6HA5++9u/8sgjG3n55TexWCxN7FbVhj2FRlISnD0LJSV9nRNFf6I1BwxN\n9xdlZdUSGxtIYaG2p6AzCCE8K1Zq83b3YzQaiY0N5OzZQ0yZspLz5yuwWq1tDi5v5HRDOeQY2PRE\n/TV1EnCjsUhrdJcDAfd9/e1vezl69Ixql+2ktfJv2UbclkxvvrmPo0fPEBcX0u76VQwsOuM9r6vk\nAEullEuACCHEEiBRSrkYOAusE0J4A48Di4F3gMdc5z6L5hjih2ge/EDb4/RV4D7ghRv9cWLiXDZs\nWNbMvEVKyaef7uO999LR6b7C0aOl2Gw24uNDKSj4jAkTAlSjVwBgMmnOIN5/v69zouhPtPSuVFtb\ne93AaPnyRR479/YMxlrzxKS8L/Usy5cvYsOGBMrK9pGZmeUZWHa0LlQ9DWwsFgupqcXdVn+tTcJa\nG4u0RUtZYjAYbupJszVUu+wcBoOBCRMCmk2CWpZlbW0tmzef5OzZEDZvPklCwvR2169iYNHrkyYp\n5dUm3vPsQDzNg9vOB2JxBbd1pzUNbiulPOE6D1zBbaWURVxzU36j/28mcMxmMzt2pGIy6Thx4gXm\nzAkiMDCQJUvmeDylKG2hws3Xvw7vvdfXuVD0J9ye1nJy/oPVepV33jlEcvIxliyZ43lwCiE8du6t\nDVqayqW2NN0d1VC3RXvclw813KuDixbdisVSh9k8js2bU9p0zXyjuuiuelL0PlJKUlJSyc7OJzn5\nD8TFhXS5/rpjEuaeZCUmzu30KpiSHx3H6XSya9chLl6sZswYoydeW2tlWVCQy/nzh8nNzVLmj4OY\nzgS37RaEENOAMLQYTE5Xco8Ft5VSkpx8jC1bjgHerF07m8TEuRw8eJL09CJCQpYwfXomTz31MAA2\nm61V15KKoc3tt8NDD8HlyzB+fF/nRtEfcA9cHA47V640kJi4wuXG19bqYLqly9mWNvMJCdPbdB2e\nmDi3S7KoO/dHDBaaOoGor88nJeU8Dodk4sSqG7pxv1FddLWeFH2Du74TEx8jL28bCxbM7NL1mk7C\nsrP/wNq18zrlGMY9CLdYLF0KK6DkR/uRUrJ792H++tejBASEcuBAGQaDweMkpmlZWiwWRo6MpqFh\nBFVVZRw4cMJznGJw0RfmeQghgoFXgfU0D1rbY8Ftn332WV566RUOHkwhM9NBWloJdXV1ZGXVcttt\nX8LH5zz33JPgESZu7XFu7idKWzhASU5ObhbUuDvQ6+ErX4F33umWyyn6CS21px3RplqtVs6fryAm\n5kuAnby8bW3KjNbMclqaeggh2tQId1WDqUx0rsddJhERyzh+vJwRI2bg7z+eqKgRmEwmT1003Y92\nM0cBStM8MHE/9/PytjF9eqTHW1pnV1aaTsLGjRvLggUzu9QHu7papORH+7FarS5nYHdy+vRZ4uO1\n/anuPU1NvekBrFw5DV/fL1i27B7PcYrBR6+vNLkcPbwD/EBKWSqEOAF8mx4ObvvCCy+wb18Kf/zj\nR5SX5+N0BhAQEEB8fCjp6WU8+ugiVqxY7Dm+NQ8qSmswsEhKSiIpKcnz/fnnn++W6z76qBbs9kc/\n0iZRioFNS+3pkiVzOHDgRLu1qU1XkNaunXdDN76tDVpaW4HqqZUKFWDxeq6VyV4WLowiJ6cah6OY\ne+9N8NRFQoKFlJRUNm3a45k8nT9fMei17UONls99p9PZIVnQkmtta6dnEgZ0qQ/25SrmUJIf7nuV\n8gr33x+Pn1+hZ0+Z+3nRVBbExYXwyCMLuXSpatCXzVCmU8Ftu/SHQnwN+D2Q7kr6EbAEWEMPB7d1\nByuMilpBUdFO/uu/lhIQENDlgJIdRbkP7hu609X0kiXw1FNw773dcjlFL9KyHbTs69/4xiLeeecQ\nUVEryMvbxuOP33nTPto0ZEFnaM1leXtkQ2dcIyt32NdwtwWn0+lx4OFOb1o+TdtIbu4nAJ6gt115\nNqi66BtalntL1/Ph4UkUFe3m4YeTeOut5C7VdWt13Nl67w/tpT/koadoGrfNarWi1+s9cqGpiWRb\nsmD9+ts81xmM5TNUuJHL8V5faZJS/gv4V4vkY8CvWxz3LvBui7Q9wJ4WaWeBRe35b5PJxLRpw9m8\neRN5eZfIzs5nzZpZzJ8/A4vFct3+g7i4ENLSPmm2TN9VYdHUft5qvYrBEMHkyWFKWznAePJJePVV\nNWkaDLTUngYGBhIXF8KWLX8EvDl69Eyr/bOp8qOlNhraju/TGkII9Ho9NTU1BAQENNNkzp8//soT\ntwAAIABJREFUA5PJdN05nd1foB7ozZFSsm9fCh98cASdDtasmcvy5YuaPROatpHp0yMBuqxtH0r7\nQ/oTrZW7G80zXQl//vPzhIQ4cTjKyc1t8OxHalnXnR0TNO2DHVGQtCYXensSM9jlh7ucz569Sm1t\nHsXFVpxOL+65Zy4LFsz0mOymp39GXFwIBoOhmSxQfXpw02eOIPqKhITpvP/+fq5eHY7ZbOTDD4/x\nwQcHMBj8uPvuaaxYsbjVFYmuLtO7aWo//+GHr3LvvV8lIyNZbRoeYHzpS/DjH8P+/ZCY2Ne5UXSV\nliYv8+fPIC2thOjoVa1uuG4reG1Gxg6PKVdbwRCbrjA31Wj+/vd/JyWllFtvHYaPzwhGjryTLVv+\nSFpaCdOnR14nc27kpEDRfsxmM6+99jHHjlmRsoC0tHxOnTqLr+9IZsyIYsmSOdhstmZtRErZ5fJW\n9dc3tFbuTX/T6UIZP34tQlzlyJHz3Hfff1NUtPM6pxDtmfQ6nU527z7s2htz/THtuYZbRgBkZJQT\nFbWCLVv+QmpqsWfQrkxFuw+r1cq5c6WcPFnJrl2HCQwcQUjIreTkvM/Zs1eZPj2SxYtvxWo9QlZW\nLXFxIaxffxsmk6nLjjoU/Z8hNWmSUmKz2TAY/HA6fbl48QDV1VaczsnY7VfIza3AZrOxcuVtns3d\n0dGrSE//jMmTy7ulM1xbwdpBQkI4paXJyv51AKLXw09+As8+q02c1HNqYNNSe+rup1lZ1zSITTW6\nzYPX7nCFJ9COFUKQnl5GRMRS0tP3MWtWLQEBASQnHyM1tRib7So+PiOIjQ30DHjGjDFy9GgpMTHf\n5eTJV/jGN8Zz8eJmwLvNidtQ2l/Qk9hsNioqHHh5xVNT00h9/S288UYykyYtJTMz0xPsPDY2kOXL\nNaOG7tC2q/rrG25U7gaDgbi4ELKzzwB2Jk+OoqxsX7P9SG6sVqurny8jI2Nvq4qV3bsPs2nTUaZO\nXcS5c6XMnFmDyWTyKE7g2kQoNXXbdddwT7oyM2uIjQ10jR22IaWNuroI3ngjmchIP5Yte8LlsVMN\n0ruK0WhkzBgjv/vdNnx8oiksPInd7sXFi1cIDfVGpytl1qx6j3fl8+d3sGCB8Jyr+vTgpi8cQUQB\nnwBxgL+U0imE+AGwFi3w7cNSSocQ4gHgCaAcbU9TnRBiKfAi2p6mB6WUhUKIycBG1+W/LaU819r/\nNjWLGz5coNefJTb2FgoLM2loyOPKlStcvTqF3/xmBwaDnuXLF3uWYK3Wq3zwwQkslhLy87czcWJQ\npzuD0+n0eF+Jj48hMXFuq6Y3iv7PAw/AL34BO3fCHXf0dW4U3YVbVrgHKomJc5vJD/fgedKkYE6f\n3szs2aNITJxLYqI2YHE6nTQ0FPDBB68RFtbI22/DhAn+bN16muzsUWRmHmPBglvZu7ec4cN9WLHi\nafLydjJnzjBOnnyFefPC8Pf3x9u7nuhoXwoKPmPy5DDl2rqHCAgIIC7Oj9OnP8JiMXPx4kX0+uGc\nOnWB6moJCCIj7+Kvf92G1Wpl5crbOq3Nb2lKpeqvb2it3N1hSTIyyrnrrqkkJs71KEhaM8vT9kCV\n8O9/v8zChZHo9fpmJp1u72tTpqzk9OnNzJsXxk9/+hZS6oiO9sVoHE58fCgxMX5s3/4XwN7MFLip\ny2t//+ns33+UDRsSeOyxOzhw4ASbNh1ixox1lJXtaubtT9E1pJTo9XoaG+uoqKjD4TCTk5OCn98o\ndu/+O8uX30dAQAATJgQ0U6q5UX16cNMXLsfLgdvQvOQhhAgHkqSUi4GzwDohhDfwOLAYzdPeY65z\nn0XzpvdD4MeutJ8DXwXuA15o60/dWqHy8rGkpJTh42MmImI2JlM9lZXlGI0hVFZWYzLNJiOjgrKy\nMpYsmcN9983FYIggPDwJvT6csWN92h3w1ul0UlNT4/l+TfOUwtmzZjZtOsqBAydU4NwBirc3/OpX\n8PTTMERi/Q0JLBYLZ84UERGx1OM61m2ycfWqP6+/fogdO/Zz/PgZDh48x4kTqUgpMRgMNDY2sm3b\nXo4cuUps7GxKSgyEhS3l44+Pk5p6kby804SETCI1NYPAwGjOny9i587fERcXwve//y3eeONxnnji\n655VboMhggcfXNxmZPnBvr+gNzCbzeTkVGM2h6PXfwOzOYDAwHlYLNn4+y8kP7+U06c3ExAwhn/8\n4yTbtu3tlMxuLWixqr++obVyt1gsbNlyjIwMHVu3HsdisSCEwGAwYDabrws+/Ze/7ODQoQv4+c0j\nJ6eeXbsOeerW4XBgNpsZN86XgoL/EBFhIju7jtraaOrqZnLkSAlhYYl89NExzp69isVSR2LiE83c\neFssFpfZ3TzOnNlOfHwCly7VIYRg+fJFbNgwn5CQHNauncfjj9/ZpoxQdAyr1crZsyXodJHYbJOB\n0YARWEpdXQG//OUe1q37NhcuVDJhQkCzPXFw/X61oRIIeKjQF44grIC1iabuViDZ9Xk38ACaO/E0\n1yrUbuB1IYQP0CClbABOCCFecp0TLKUsBBBCuGM7XYfRaGTCBH/+8pdXKCjwprExFaMxGx8fPd7e\nE7BYLqLXF6LXB3Hxog9PPPEFYWGNxMXN5vz5k+zdm0pCQhg5OSMYPvz2VpfjXfd33R6FhIRwnn76\nIU/A3Pj4O9m69W+sWbOOrKxaj4ZaMfBYswb++lf43e80F+SKgY2UkqNHz3DoUArl5YdYvToeg8GA\nlJLa2hzee+80wcEJvPbaZi5cqMDLK5SzZy8zadI49HoDW7ceY8eOVByO6aSl/Z3Jk4N57bXvUVJS\nR0zMXLy8vmDq1HDCwsZx/nwR48bdTmnpaWw2G0IIj/c9t4nH5MlhnfbIp2gfZrOZM2fSsNvN2O0l\nQCF5eRb8/Bq5eDGVwMBCvvKVSNLScgkMDOPtt081C3LZXtQepv6Ntrqjo7DQRkHBF/zv//0m99yj\nTUS2bv0csLNmzVxmz44nPb2M8PClZGf/B5PpCOHhpWRkjGTUqDs4e3YPR45sZPv2S1RWXqKhYRix\nsbMpLj6J05nKxIljWLhwHAcPbuLcuWwaGiZx+XIpOt0f+PKXEzymwO6guFJm89WvTsJkqiQ+/tpq\n0vLli9TYoQfQ6/VkZaVSWpqGlPk4HFcBEzU1fwUCuXTpTvLy3mLlyqlkZZ2/rg6a7l1VTiEGH30S\n3LYFw9AC14IWZ2kYWmDb1tJqm5ync703vYcbtsiZM+PIzT1DRcVVGhsdwBLs9jHo9aMxGPTMmDEf\nMJKeXs+YMd8hJaUKH585ZGQ04u+fQE5OPY2NBXz44atYLCUYDIZm12+qSdy2bS+HDxczfvx3SUkp\npa6uzmPvGh6u+f2PiGhQdq+DgN//Hn77W7hwoa9zougK2sSoltTUYoKCEhg//kvodKGYzWa2bdvL\nsWMVeHv7kZeXxeefF9DYOJErV6qpro5h48btvPbaTlJSSikrM2GzFeB0Wliz5ofU1Xkza9YjlJRc\n4umn72bsWF/On7cTFFRJXd0ZZsxIvC4YYmtBcBU9g8ViobragBb5YiUwHgilvt5ESckXWCzBFBfD\n/fdPobr6KlOmrOT8+YoOB6/samBSRc9iNBpZuXIaBkMGUVGTsFoTOHEij9OnC2hsvJX6+nF88MFh\n3nxzH+npJ/joo9cwmWwMGxZLVZWetLSDvPfeb0lNPcSmTcfJzp7J5cs+NDTM5eTJA3h7B+Hnt5zQ\n0ADWr/8ysbFjSUq6hzNntpOYuIrY2HEeZxMtg+LOnBnvyad7lVOtUvYMdXV1FBV54+s7A80oKh5Y\nBkQBArP5X9hshbz99iuYzcXNxoFNx4C7dh0iPb2MESPuID29jNra2tb/UDGg6A+OIKqBka7PgUCV\nKy2oRVqN67Mbh+u9qZ1EmzYTP/nJT9i8+TNqaiqAdUAtTuc2zGZfHI5sRo2K5uLFPG6/fQFeXhe4\ndOn3jB7dyCefvIHFcoXy8jPk5OQDI/jyl5+grGz/dbbOFouF1NRixoxZyZ49f8HhuEpKyv9h9epJ\nHm3xkiVzmDWrrs34UIruIzk5meTk5B7/n3Hj4MUXtT1OR4+CqtKBR9M9SxcvnuHSpUqCg32ZOnUN\n+/cf41e/2orZLKiszCQoaDy1tXYqK4/gdNZRW1vBgQPVDBsWTGlpA35+sZhM5SxdOh6L5TTz5g2j\nvPwI99wzjuXLF/PIIxuJifkuly69wgMPTKWo6PpgiDcbEA3mWCm9jWZCUwGkASeAaoRYhRDBWK1p\nNDQEUlSUj6/vLIYP15Oa+jYjR45i//7jHV5tUvsd+jfLli3k5Mk0PvvsAhkZmfj4TCI6OhBv7xQK\nC3OoqBBERNxKQYHAx8eH4mIzVVWfEBk5lo8//pygoBiCgqoICQnlypUMvLzycTh2I2UDFRVmQkMD\nOH++huPHzzJt2nAyMsq5//54fH3riY0NacXF/U7i40PJzKxxrVC2buGi6D78/PwoKUmjqiofuIim\nq68CSl1H1BIWtoiYmLXodJXNPKICntXkzMzPiI42kZur7Yt/551DasVpENCXK03uVnMCcDttvh1t\nr1MmMFkI4eVOc5nlmYQQfkKIuWgmfADlQoiRQogRaJOtVnniiScoLg4D/NDCQl2ivt4fH5/VgC9Z\nWZfR6ZycPn0Q8CEsDByOAPLz68jJcXL58ucsW7YeIfQUFe1uNshxB849evQMmZk57N79CjZbIw8+\n+CtWrZrLt799PzU1NUgpOXDgBG+/fZBduw55NBRN7V7bawOrbGVvTlJSEs8995zn1ZM8+iiMGaNM\n9AYq7j2PwcGLuHrVyIwZq7FaBTU1Nbz66kdcvGgiMzMdu90HqzWD8vJS7HYjNlsDNttV7PYYyspG\nIuVCrNYrLFwYzvTpC2loKGDy5LkEB9dw9qyFTZs+Yt68UC5ffoX588NZt+5O1q+/jfnzZ3So77fc\nG6PoPPX19UAlYEWLpe6FELvR61PR6wOoqxuFzabjwoVKEhO/DQQRHLyY118/xLZte3E6nVgslnbV\nX0dXB5Sc7z2klOzceZBPPjlPXZ2JgoIyAgKmcOFCKZGRQTidRkymuWzZ8iYlJbls376DxsYACgqK\nOHHiOGbzOKqrxwKCGTPCmDmzlri4cdTX16HTTUNKA/X1F6msDOL117cyb940vvWt2/n+97/l8r7Z\nfK90YuJc1q+/jSVL5mC1Xm3TwqVp/lVb6TqlpaV88UUdEAzUAQbgKjAVWEpISCwWSwZffPFvrNYS\n9Hq9Rx4fPXqGuLgQCgq0iVJurpmxY30wGCJck97yDq9QK/oXfeE9zxvYDkwDdqA5dDgghDgI5AIv\nSyntQog3gINoT7EHXKf/AtiF5j3vIVfac8C/0VaZnmjrfzUPdTYgBpgF1OBw1HH16gfo9U7Cwlbg\n5RWOj086ev0cCgqucOrUfurrgzEaYyguTmfHjleZNWsSMTF+zJ07lZqaGvz9/dm9+zDp6WXs33+M\n4OBVVFVtYeTIURw48CdWr57Dxo3/8sRfMZmiqK6OYdMmLZL07bcv9MR/iosLAbhpzAUVFLH/IQRs\n2gRz58K0afDww32dI0V7kVLicDiors5m9+7PKSw8zSef7EYIL06f3kd1dSh2+2is1gYCA0eTk1MA\n+APj0PQ0Bry8LiCEFzpdFN7eQWRn27jjjsVs3fo6K1fey6lTe1m27MccPfonXnvtYb71LR8CAwM9\nexc6Euxa7Y3pXioqKoAJwFLgAGDG6axGSgs2WwQOx2GczjgmTAggL28/8+aFsG3bu1gsvvzmNzvI\nyMhCr49Aykp0utBWY2o1pTPBTJWc73kaGxv5+c/f4/PPDVit+ZhMDfz5zz/B2zuYMWMmk5ubgsFQ\nhRClLF36P+TlbaWkJBUpY5HyFJCF3Z7OqFFjWL16Dn/7WwoQgpS3YLUWEx7uS0hIKH5+X6es7E3q\n6uoICgry7HVurT+npKSSmlpMTk51mxYuoNpKd1NfXwNEAOFo2+6PoK1Ee1NR4Q1U0NgoqK+vY9Kk\n8eTmmj173devv43Zs628884hRoy4g9zc5iEplKwe2PSFIwg7sLxF8gng1y2Oexd4t0XaHmBPi7Sz\nwKKb/a/BYCA83J/S0mpgP5pWcRZwFJMpnKqqI4SG6rl8uZjPP8/HYMghKmoxtbUlVFWdJiLiboqL\nTxEYOJ1f/3o7v/jFOzideuLiAqmpCcXHJ4oTJ3IICPgYo7Gar33teYqKdjJx4mj+/OdkYmN/wMmT\nr/C1r41i//4trn0MVSQk1HkGQGlp2kTqRgE1Wy4BtzVoavpg7qwpjzIB6hihofDJJ1qw2zFj4Lbb\n+jpHipshpWTfvhR+97v3OHw4F5MpBpvNgd0ehcPRQFFRBWABvgAENTUOQA+UASWAHZNpAbGxtVRW\n5lJeXkVk5GoiIoopK9tPQkI4dXUpJCQMIzf3T4SFNfLRR6c8A5trwa6X8uGHf+Dee++/qQnOQIsF\n0t/lyLRp04ALaMYP+WjWCKFYrTZgKXb7TkpLa0lLKyIuLpQ77/wmly69wunTdozG2Wzbdozo6EBO\nnz7A7Nn/RWZmCnPnTsVut1/nxKO9g1v3/jo1Oe49tPI+j8XiA0TR2OiksbEBb+9JVFSUIkQQOl0d\nFovk00//D+CH0+mWB3pgNFJmk55uY/v208TFzeP48Y0YDJFIeZnFi2/lllvGc/jwZmJifPnFLz4A\n7KxdO4+4uBDOn2/en92yITp6FdnZGykq2t2mW3GlSGmdzsgeLy8v9PpAHA4DmlneSbRngJfrlQAc\np65uJrm5mZw/X44Q1XzwwavMmTMMo9GIyWRqJqObhqTozXtRdD/9YU9Tr2Cz2QgMHImXVzxOZxWa\nBeBwwERtrQ6IpLw8j8bGCAyG/6Kx8Q2qqj7H13c+BkMaRmMF4eF2Dhz4lNLScVy+nI/TWc6pU5eY\nODGMysoL+PvPQlvGbeDAgdeJjjbx0ksfU1SUSWnpM6xcGUdQUDDh4V6UlZ1m4cLZBAYGejrX9OmR\nAJ6O5nZ16nZ72vRh21TIGgyGZvEhmj6Y4+JCkFJ6Ilm3VwPVkUjlqhNfIy4O/v1vuO8+eO89WN5S\nPaDoV1gsFo4ezWL//gvU1UWirTQABAAPA++7vo9Amyj5oq0yeaEpXfLx9T3K5csmAgMnMGqUldDQ\nizz88GpWrFji6ZtSLqW2tpZ//vPodQMbrf8nu4Jd723XRGig7I0ZCBrwEydOAJFoG77z0ep+KtpA\neDteXpVkZlawcWMgdnseTz2Vg9NZR17eKa5evcDIkd6kp1/m8uUcrl79F8OHV/HUU0XU1AQzZ04w\n3/veBux2+3VBkVsObpt63UpOPkZaWglOZ8UN43Qpug+j0YjN5gDqgTw0qxQv7HY/4AK+vmNoaCjE\nZPoKFRX/wMdnEgZDHVbrRbSh1EykzMHpnEJqahZC5GC316PT5ePvPwYvrwAef/x+HnywnvfeO0JG\nRiRwlbS0Eh59dAWzZ9uaTbKbKkfWrp3NggUzO6xIGcrP6M7KnoCAAPz8ajGba9AmSGlobsdHo+1x\nOo3WRhw0NJRTX59PaGgsEyZM48iRnezcedA1SWouo7s6YervcnSoMGQmTX5+fjidBTidaWhmeqWA\nE23FaQFwkcZGK9CI1foaoKO+3ovIyHBsNiMTJ14lNnYmBQVF1NRcwWbLBCYDejIyqhk3TmI0nqO+\nXjJ37mIcjmq2bs0mK2sEUkYxdmwBQoTwxz9+RFBQAjpdLvPnzwCaD4CcTiezZtXh7+/Pzp0H2b79\nLGDnrrtmkpVVy8iRd5KRsYP1629jwQKBXq9n165DLlfmzbXX7tWrzMxsbLb5ZGefJCFheruC6d5M\nc6U6cdssXQoffwxf/rIW/HbDBs18T9G/cLsXT0vLoK6uBM2G3QvNHOMomiVwHnA32mRKoE2cEl3v\nO/Hzq0GnSwCGU1Z2moiIWwgLc3D5cgNHj55hyZI5zczvcnKqyc7eyNq1s68LcOreTNyeh+tA8Zw1\nEDTgmtzSAVeAUYAZ2Is2eSojOPh+qquPU19vQqcL5s03dxAQMAwhJtLQYMJsvkph4TmCgmbT2BiB\nl1cJ27cXMXHiOv75z39it28kMHCsx+wyLi6EtLRPPKsG7r0oKSmpZGSUExPjz6efpmE2z8FkusLP\nfraIoKA2o2n0OENl4K3tTQMYAxQDl9BkwTHARkPDKcAbs/l1wITd7o+UGQwbVoXFYsDL6zheXg1E\nRQlKSmqJiZlFSMgUKivT8fIaT0ZGMYcOnWL58kVMnx5JdvZJwM60afM4diyt1WdpR5QjLY8d6s/o\nzsqexsZG6uttaHuZzrje3Q4hDIAJ7TlxDIMhitJSL4TI4u9/fwODYQQvvriJjIxyZs4ccV0Mp96+\nF0X30x9cjncZIcTvhBAHhBAvt3VMWVkZOTnewAo0jcFENJvVAOBTtJUnb7SH5zDgXsxmC3l5yRQU\nVHLgwGnKyoIwmxuor8/H2zsYmI22fOvDlSu1RESYmDs3ibS0C+TnF+HrG0Fd3SlstqtkZVVRXh5A\nVlYpFy4UUFhY4gl86x4AOZ1Odu8+zNtvH+Q3v3mDjRv3c+mSLw0N47hwoZLY2ABycz8hPj4Uk8mE\nwWBwBcs9SkXFWNfA7Jr2urBwB3FxIXh7C7QVMHu7hebN3OM278Rqc2NLFi+G/fvh5Zfh61+H4uK+\nzpGiJRaLhQ8+OMrmzQfRnHWa0VaRLqCtMkSjyQgHmkyY4jruHF5eOSQkjCUmZipWqxO7/RRjxkxh\n9GhfRo0a4zKxLaeurs5lfreMlJRSFi58hHHjRnlcC8O1/j9QJkIdYSC42dbyVIY2KPom2mpiBFr9\nj6a8fAs6XQk22wnMZn/y8urIzMzn6tVh1NfnUF5ex8SJ0Vitaej1+ygtzSYy0ousrI1MmhTLmTP1\nREQsJT29rFmwc9AG6u5AqZs3pxAVtYILFypxOCzAVYRwtEvJ1VMMJacj5eXlOBwlaFuro9G2Ux9G\n2y79XeAWYAVeXvFAGHZ7BjbbVczmSIKDb2HJkhH84Af3ER0tSUpah81WyKRJ+cybpyc6upjly+/x\nhBZITJzLL3+5gZdeepwFC2a2+SztiExoeexQf0Z3VvbU1NRgNvuhKVCC0cIQBKIp2IPRnMYEArUY\nDL7k5V3m1Kkq9PoI9PqvUlTkzfDhSd1a5gNBjg4VBvxKkxBiJuAnpVwihPiTEGK21HZlNsNkMmG3\nFwGFgA+a+UUOmuagCu2BGYNmnnHV9fLB6QwEwrFYsnn//X+h01XhdMYjZS2QhbYR3ILdHsyhQ1kY\nDLnExi6nru4qVms6ev0VamvDCA4excGDOxg3LpKQkFvJzPyCxx7byJIlo3n66YcQQngmQJMmLWf/\n/l34+k6msHA/I0dOYsqUJTQ0NHjux639y8qqZerURZw9+wkbNsy/TnttNBrx9vbm9OkCZs9O6FBn\nu5GWa6Dtq+gL4uLg+HH42c9g6lTNw953vgMjR978XEXP43Q62bNnO1arEwhDM7nwAxpcryNoMiIU\nKEfTMU0iLKyCWbN8Wb78dg4f/pyRI+dw5coWliwJY+3aWzEYDJ5+cc38dq/L/C6ZSZOC++aG+4j+\nbkqoeSPzQqvzP6M9FqeiaZevAsOxWIrQLBMuYjbXYjb74Ot7BSjF23sSx4/vxmIJx2CoISRkJPX1\ngrg4M3Z7A6Gh9eTn7wCqeOutZLKz80lMfIyMjJ3MmlXnieWSnb3JoxSbNm0haWklTJ/eMZnd3Qwl\nDXdGRgbaKoIv2nhAuD5nA28BeQhRAjgwGPyx2aYgxDCczngaG4/zjW+s5P7772HXrkNkZtZw3333\nuDzfWTl2LI2srOahBZpOhnviWaqe0V2RPVfRxoZGYBuaF71FwDm0NmIFHEydasVojMJqnYm3dybD\nh29l6tTRVFUd7fYyd4erUcHO+5YBP2lCMzrd5fq8G5gPXDdp8vLyor6+HE1TUI42GBqJZq+qQwto\n+D/A79A0CbPQ7Nx3ow2kJDAKh0Mz4dMeoEVoHSsGsGC1jgZyyMw8wurVSdTW+jBhwmwKCwNwOI4C\nkoUL47Db8/j88xp8fO5k69a9rF9fi8lk8kyAzpzZTnCwD2FhUzAaLzNhQgwffPApx4/XMnPmNHQ6\nXbP9EOnpZWzYMJ8VKxZ77tetdZJSIoTA21sP4PneHm6m5ervg6H+gJ8fvPQSPPKIFgR3yhSIiYE5\nc7T4TlFRMHz4tVd4OOh0N7+uomtIKfnPf3Zz8WIxmgi5gtbfx6P1/yA0WeFAGzSFADqCg/OZP380\n3/3u17Db7Vy5MhyH4wpPP72epKQET59r2i/c/cRtSrt9+2m2bz/L2rWzSUqaN+hNZvr7CprNZkOr\n37VoZnkT0Rx/lKFplGeiDZ580Ey3LgKTaWjYT2BgAFVVEVitY4HHsNnepaIiCy+vaM6dq+ahhxKp\nrz+C1WqlqKiGxMQHyc7+I3l525g+PdIVr09zJz1vnrZXNSurlri4EB577I4+XWWCoTXw3r59O9o+\n59vQnvEVwAy0VecAAgLGEB29nvz8tzAawWLJwmx2IMQ+oqJ0HD9eTFTUMW6/fSGJibZm+5Dj4kJY\nv/62Nuuzp56lQ/0Z3RnZ09jYiDbmuwVtG0cx2njwBJoCbQ2wF4MhG4cjmNLSPG65ZQ6jR8/i+ecf\nJiwsrNvNWd3haoaqqWV/YjBMmoahGR+DtuwT39pBV65cweGIBb4FvIrm+crhOjwe+BvwMlqR1AGf\no02GGoEkNJMdH7TJkx3NNC8UbX9UJmBCr5+N3Z7FmDELKCrK4667Yjl+PBurNR2wcdddz+Drm819\n983l5MkMSkrMDB8egMlkajYBevTRxej1ej7/vIArVyIZMWIF7713mNjYJzl9+o986UtjW11Rag2r\n1cr58xVteuTrCv19MNSfmDABXnsNfvc7LQBuWhpkZ0NqKpSUaK/iYqiqgpAQbQI1cqREzGFJAAAg\nAElEQVTmhW/0aG1yFR7e/BUYqPZKdRar1cquXcfQ+rQ7BkcK2uqxW0kyEagkIMAXL6+xjBxZxAsv\n3Mvddy8DYNOmPSQlPUle3jbPhAmu7xfu7xaLhQsXKmlsHA9EkJZWzIIFQ3dA018oLCxEW2m6gvZc\ncO9xWo1mnnUarS3kAmeBKry9FyKlicWLHyEl5X2Cg2uoqfk9wcG1+PoOx2Raj9n8Ienp2xgzJpRb\nbrmXoqKN5OVtY+3aeZ5N/RaLBYMhgnvv/SqFhbu4cKGS6OhVnD+/gwUL+kfnHioD79zcXDSF6mG0\nVWc9WjjIeXh7f8GkSSFERp5jwoR4pk37Bnv3/o2YmHB0Ogfe3rNobHT3aZunbt2rdDerz556lqpn\ndMfRVhyrgctoYQhK0ZTjja70D/DxqSM6eib+/o/R2LiJCRPqmTdvCeHh4UDXnD60xlBa8e3vDIZJ\nUzWaOhDXe1VrB73//vsEBZ2jvPy7aA9EJ5obyXLgPNpyfCaattnqSjeg09Xg7X0Au70Bh8MLo7GB\noKBavLzsWCzZ6PV6VqyYg9Fo4tixbKT0Y8GCWzAYBE899ZDHjE5bns8hPj6M8PBwnnjibk6fLmT2\n7FWtToCklCxYYOXo0TNkZBwmIWEYZWX/j/vvj2fVqmWe+7qZUBxKmsKWJCcnk5yc3NfZaIZeD0uW\naK/WsNuhtFSbQBUUwJUrkJcHhw5p6U1fViuEhWkTqOHDYdQobYI1ahT4+morVkJo17TZtPeWn3U6\nMBjAaNTeDQbtHIcDnM5rr6bfvby06/v6aitp7ncfH+23prSc1DX97uWl/b+397WXe5VNyuYvp/P6\ntNZ+czrBYgGzWXs1NmrvgYGw6P+zd+bhUVV34/+cmWQmIRtkYwn7JkmAsCcBIUEEtNKCaOurdanV\nurxYbevPrctbl77a2tfa1rZuRa1ara2lgKiALMEIJGySkIUlJCSEJGTfk5nJzPn9cWdCEpKQfZKZ\n83meeWbmzNx7z733e86533O+S4vEBEajkVWrotm48d9obb8BzXRXoE2E1AP7mThxBLNnhzJmTBA3\n3nhdq9VcrV3t7DAMcFuMRqPdATwJyCMqaoFbtcfByurVq4GfoI0DpVxSmnagTZD5oylLdYSGjsDf\n35v6+hOMGGFg2LAsbrppKtOnz2PsWD3XX38Nf/3rx2zZso3gYC/uv39ls7lmexHQjEYjkZHBZGQk\nXBY9dbDIhrs8eL/55puMG7cYzc+5Em3ypBiDAaZN8+LXv36MBQsiOXYsk/T0fH7xi5uIi4vm4MHj\nbN58eZt257F3KLNy5Uq058MMtMmUbLT+oBy9PpCgIAvr1i2nrMxEWdk7rFsXyYYN6/v1/ipZGjyI\noe7Yafdpuk9K+aAQ4s/A21LKI23+M7RPUqFQKBQKhUKhUPQ7Usp2l4aH/EqTlPJrIYRJCPEl8HVb\nhanF//rqeG4dxnMoI4Rw6ehP/Ykryb2SA4WDlrLgSjKu6B6qT3A/2mvvOp3uinKg+gnXp7P76RIh\nx6WUP5JSLpNSPtLfx3L3MJ4K98Qd5P7ECYiLg0Fm0akYINxBxhUKhUZP27vqJ9wbl1CaBhIVL1/h\njriD3D/+OAQFaWHh1aSz++EOMq5QKDR62t5VP+HeDHmfpq4ghJB9eZ7ukiHd1VAmGL3DVeS+PTko\nK4PJk6GgQAsH/9ZbEBPjpAoqBoy2suAqMq7oHmpscE/atveuyoHqJ1wbuxy0a6OnVpp6gLtEE1Io\nWuLKcp+YCIsXa1EA16yB7dudXSOFM3BlGVcoFK3paXtX/YT7opQmhULh9hw6BNHR2ufVq2HnTufW\nR6FQKBQKxeBCKU0KhcLtOXQIFi3SPkdHa0mHlX+vQqFQKBQKBwOuNAkhvIUQ24QQe4UQ/xFCGIQQ\njwkhEoUQ7wkh9Pb/3SaE2C+E2CqE8LWXLRdCHBBC7BZCjLGXRdq3TRRCzBzo81EoFEOftDSYPVv7\n7OsLkyZp0fQUCoVCoVAowDkrTdcBSVLK5cAh4L+AOCnlUrS06+uEEB7AA8BS4H3gfvu2vwCuBZ4E\nfmovew64BfgO8KuBOgmFQuEaVFdDTQ2EhV0qW7QIDh92Xp0UCoVCoVAMLpyhNJ0FfOyfRwDjgQT7\n911ALDANSJVS2hxlQghvoF5KWS+lPAxEOPYhpSyQUhYCAQN0DgqFwkU4cwamTYOW+ewWLtRM9hQK\nhUKhUCjAOUrTGWCxEOIEMB/IAqrtv1UBw9GUn/bKalrsR29/b3kOKi2zQqHoFqdPa0pTS+bMgdRU\n59RHoVAoFArF4MPDCce8C9gqpXxJCPETwAD423/zByrRFKWANmXVLf4HYLW/twyq32GA/aeffrr5\nc3x8PPHx8T0+AcXQICEhgYSEBGdXQzHIOXMGpk9vXRYZCZmZYLWCXt/+dgqFQqFQKNwHZyhNAii3\nfy4DJgILgf9D81dKQluNihRC6BxlUsp6IYSXEMIHiAQyHPsQQoShKUxVHR20pdKkcA/aKsfPPPOM\n8yqjGLScPg3XXtu6zN8fQkIgO/vyVSiFQqFQKBTuhzOUpg+Aj4QQdwJmtCAO9wkhEoFc4GUpZZMQ\n4k0gEU3Bus2+7fPAF0AD2ooVwNPAR2hK04aBOgmFQuEa5OZq0fLaMnOmFlVPKU0KhUKhUCiElB1a\ntLkMQgjpDuep6BwhBEoOFG3lYNIk2LULpkxp/b+nnoJhw+AXvxjgCioGDNUnKEDJgUJDyYECmuWg\n3RgJKrmtQqFwW2w2KChoHW7cwaxZKleTQqFQKBQKDaU0KRQKt6W4GAICwMvr8t8c5nkKhUKhUCgU\nSmlSKBRuS34+jB3b/m8zZkBODphMA1snhUKhUCgUgw+lNCkUCrfl/HkYN6793wwGmDxZCz2uUCgU\nCoXCvemx0iSECOrLigwmpJSY1PSyW6NkwD3obKUJYPZs5dfkDqj2rlC4Hn3RrlXfoGhJb0KOJwkh\njgNvA5+7Sng6KSX79h0iI6OMiIgg4uIWIUS7QTQULoqSAfchP7/jlSbQlKbU1IGrj2LgUe1doXA9\n+qJdq75B0ZbemOdNB94A7gDOCCGeF0JM75tqOQ+z2UxGRhljxqwmI6MMs9ns7CopBhglA+7D+fNX\nXmlSSpNro9q7QuF69EW7Vn2Doi09VpqkxhdSyluBH6Almz0khNgnhIjtbFshxB1CiF1CiD1CiNFC\niP8nhEgUQrwnhNDb/3ObEGK/EGKrEMLXXrZcCHFACLFbCDHGXhZp3zZRCDGzp+fjwGg0EhERREHB\nDiIigjAajb3dpWKIoWTAfVArTQrV3hUK16Mv2rXqGxRt6XFyW7tP0+1oK00XgY3AVmAO8C8p5aQO\nthsDPCulvNf+PQR4W0q5RgjxOHAW2ALsAeKBm4FxUsqXhBB7gDVAJHCXlPIhIcQm4CFAAq9KKde1\nc8xuWQ9KKTGbzaqBuBjdSVynZMB1aSkHHSW2dSAljBgBp09DaOgAVlIxIDhkQbV390YlNXVNutuu\n25MD1Te4H/2V3PYg4A+sk1LeIKXcJKVsklIeAV7rZLvVgN6+0vRHYCGQYP9tFxALTANSpZQ2R5kQ\nwhuol1LWSykPAxH2bUZIKQuklIVAQC/OpxkhhGogbo6SAdens8S2DoRQwSDcAdXeFQrXoy/ateob\nFC3pkdJkN6H7REr5nJQyv+3vUsrfdLL5SMBTSnktUIem6FTbf6sChndSVtNiP/p2zmFIe+ipKC2K\ngULJGjQ0wC23tJ/YtiXKRM99Ue1EoegertpmXPW8FN2jR9HzpJRWIcTiHh6zCthn/7wXWAA4vOv8\ngUr7fwLalFXbPzuwOqrTsmodHfTpp59u/hwfH098fHxP6t5vqCgtfU9CQgIJCQnOrsagQ8maho8P\nvPvulf83ezYkJfV/fRSDC9VOFIru4aptxlXPS9F9ehNy/LgQYivwL7QVIwCklJuusN0B4F775zlA\nHnAL8H/AtUAScAaIFELoHGVSynohhJcQwgfNpynDvo8yIUQYmsJU1dFBWypNg5HWUVp2EBurbGh7\nS1vl+JlnnnFeZQYRSta6x6xZ8MYbzq6FYqBR7USh6B6u2mZc9bwU3ac3SpMXUAZc06JMAp0qTVLK\nFCFEoxBiL1AC3AaMEUIkArnAy1LKJiHEm0AiUG7/D8DzwBdAA1q0PoCngY/sx97Qi/NxKo4oLRkZ\nnUdpUU6Jit7SVVnrK4a6zM6cCRkZYLGAp6eza6MYKFSfrFBcTmfyPtBjy0DRk/NS/YJr0uPoeUOJ\n7kbPcxZXamRqibh3qAhJlxioDn0wymxP5CA8HD74AObO7adKKZzClWRB9cnugRobukZX5H0oKwud\nyUF3zkv1C0ObfomeJ4SYbs+XlGb/PlsI8fOe7k9x5SgtKtGaoq8YqIhAriKz0dFw6JCza6EYaFSf\nrFBcoivy7qrR5rpzXqpfcF16E3L8TeApwAIgpUwF/qsvKqVoH5VoTTHUcBWZjY6G5GRn10Ix2HAV\n+VYouoKS966hrpPr0pvktoellAuFEF9LKefay45LKef0aQ37gKFintcVhvLSt7NRJhjOYbDJbE/k\n4NgxuOMOSE/vp0opnEJf9AmDTb4V3UeNDV3HleW9L+XAla+Tq9NfyW1LhRBTsIf5FkLcDBT2Yn+K\nLuCqS98K18UVZHbWLMjNherqK/9X4V64gnwrFF1FyXvXUNfJNemN0rQBeB2YIYS4APwIeLBPaqVQ\nKBSDCE9PmDdP5WtSKBQKhcJd6bHSJKXMllJeC4QAM6SUV0spz/VZzfoBldFZMRhRcjk0WL4c9uxx\ndi0U/YFqgwpF13DHtuKO56xonx7naRJCPA+8KKWstH8fATwqpRyUEfRUCEjFYETJ5dBhxQp49FFn\n10LR16g2qFB0DXdsK+54zoqO6Y153vUOhQlASlkBfKP3VeofVAhIxWBEyeXQISYGTp2Cigpn10TR\nl6g2qFB0DXdsK+54zoqO6Y3SpBdCNHu5CSG8gS57vQkhfiyESLR/fkwIkSiEeE8IobeX3SaE2C+E\n2CqE8LWXLRdCHLDnhxpjL4u0b5sohJjZ0fFUCEjFYETJ5dDBYIDFiyEhwdk1UfQlqg0qFF3DHduK\nO56zomN6E3L8CeCbwNv2oruBrVLKF7uwrQF4A5gM3AS8LaVcI4R4HDgLbAH2APHAzcA4KeVLQog9\nwBogErhLSvmQEGIT8BBaFL9XpZTr2jmelFKqEJBuzmANK6vkcmDpjRz87neQmQlvvtnHlVI4BYcs\nqDbo3gzWsWEw4sptpSM5cOVzVlxOv4Qcl1L+BvgVEG5/PdcVhcnOPcA79s8LgAT7511ALDANSJVS\n2hxl9pWseillvZTyMBBh32aElLJASlkIBHR20J6EgFQOgIr+prtyqWTSeaxbB1u3gtXq7Joo+pKu\ntEHV7hSuRE/l2R1Dabc8Z9UPuDc9DgRh52vAE22V5+uubCCE8ADipJSvCs2bLgBwZD+pAoZ3UlbT\nYld6+3tLxa9PvfOUA6BisKFk0rlMngyjR8OBA7B0qbNroxgoVLtTuBJKnnuGum6K3kTP+w7wW7RV\nIgG8IoR4TEr58RU2vQP4oMX3KmCc/bM/UGkvC2hTVm3/7MAx19tyLbXD9fWnn366+XN8fDxxcXFX\nXG5t7QC4g9hYtTw7lEhISCBhEDig9OXSvpJJ53PjjbBpk1KaXIkrtVHV7hSDgb4aS5Q8d42211td\nN0VvVpp+BiyUUhYDCCFC0EzprqQ0XQVECSEeRDOxWwAsQlPArgWSgDNApBBC5yiTUtYLIbyEED5o\nPk0Z9v2VCSHC0BSmqo4O2lJp6upsgcMBMCNDOQAOReLj44mPj2/+/swzzwx4Hfp6ZkrJpPNZvx5u\nuAFeegl0vQmloxgUdKWNqnancDZ9OZYoeb4y7V1vdd0UvVGadA6FyU4ZXfCRklI+6fgshPhSSvmc\nEOJxeyS9XOBlKWWTEOJNIBEoB26zb/I88AXQANxlL3sa+AhNadrQlYq3N1tgMBjancGJi1vU5dkE\n5Szo2vTk/nZ3Zqorx+iOTCr6nlmzICgI9u7VcjcphjZms5n09FJCQ1eQkbGnw7bVtt2p/l4xUEgp\nqamp6fUqR0uZVeNI53Q0drd33Rx+Tu7o7+Vu9EZp2i6E2AF8aP9+C/BZd3YgpVxmf38ReLHNb38H\n/t6mbDewu03ZCeDq7hy37WyBwWDocAanq41A2bq6Nj29v92ZmerqMVTH7Hy+9z145x2lNLkC2oRZ\nMR9//EdiYkIwGAzt/q+tM7jq7xUDQUtZM5kucuHCdiIjg3ukMLW3cqJon47G7rbjr5SShIRktmxJ\nBjxYu3Y+8fHRqj9wUXoTPe8x4HVgtv31hpTyib6qWH8TF7eIe+5ZQXx89GXJy0wmU7ejozj2MXr0\nKlJSilQCNBejNwnuWspab4+hIvd0n/64ZrfdBp98AlUdGgQrhgpmsxmDIZSbb34IgyGUmppL8YY6\nkh2V8FIxULSUNYMhlDvuWHrFsaSz/bR9RlFjSscsW7aQ22+/utPrbTabSU29SH39ZGpq5pCaelH1\nBy5Mj5QmIYReCLFXSrlJSvkT++s/fV25/qTlbEHL5GXh4YEkJaWwceNuEhKSW8Xs76xzMRqNhIcH\nsm/f6+TknOPgweMq74ML0ZMEd91dsr/SMRwzhe3JpqJ9+uuahYTANdfARx/1ye4UTsTR7i5c2InZ\nXMz7739FQkIyNputQ9lRCS8VA0VLWYuMDMbf37/V711Vetp7RulMxt0dKSVffnm4VX/Q3nU2Go3M\nnj2S8vL9ZGf/B5utvMPVasXQp0fmeVJKqxDCJoQIkFIOubnWtrboUkpiYqKIjdWWUzdu3H2Zv5PJ\nZCIpKaVTc4zYWG2WYcKENSqyigtyJRvwlnLV0hQiPDyQ2Ng5eHl5XXG7zo6hIvd0n/auWV9x//3w\n+OPwgx+AssQYujgeFJuamjh7tpiVK28nJeUz5s2r7bS9KZ8Q12Ww+Ks56tFS1joaZ7piJtr2GeVK\nMu6utPQhGzVqJUeObMFsNpOVVdPudY6NnUNKShFhYasoKUkYFLKj6B9649NUC5wQQnwB1DkKpZQP\n97pW/UjbTmbZsoV8+eXhVp1Oe/5OKSlF5OTkExd3PxkZO9vtXLy8vIiKGqUiq7gona0YtZWrmJio\nZlOILVteJzX1IlFRoy7rbLtjZ64i93Sf/rxmK1eCyQSJibBsWZ/tVjHAOAJBZGT4kZh4mhMnHmDe\nvJkcOzaK8PBAMjPblx3lW+iaDBZ/tfbq0dE401Wlp+0zir+/vxpT2tDyGjc2FvL++89QVlbJwYMj\n+O53/4eMjC8uu85eXl7MmTOajIwEdR1dnN4oTZvsL7iUH2nQz7deipS0nIyMBObMqebIkTwmTLiB\njIwEYmMvzeoYDIbm2YYJE9aQk/Mn8vI+JSpqVIeNQs0+uh5dmXVsu6IREwNTp/qRmfkpTU2NHa4+\nmkwmUlKKurw6qSJ4dZ/+apM6Hfzwh/DHPyqlaShjNBqZNGkYb721lblz7yAj4x/Mm/dfHD+ezN13\nL2fxYi/VvtyIgVjRb7ta1F4f3tEq+SW/pE+JjZ3TrPSEhwd26Xht+0P1zNIaxzNiSEg82dlbsdk8\nWbjwBQ4d+hk5OVuZP39sh9E1Y2JMKgCEiyO6a8MqhFgLjJVS/tn+/RAQgqY4PSGl/Fef17KXCCGk\nlLLZ9vfVVz8kKamE6OggbDbJu+8moNd7c8cdMfz4x99HCHFZxBqDIZSIiCAWL56rOpchiuO+dgeH\nHKSnlzJtmj8rV17dYaeYkJBMRkYZM2aMoKmpidOnq2hoKCA/34wQVtaujWb58pjL9r15cxKOqDst\nf+9q3Zw9IzrU6IkcdERNDUycCF9/DePH98kuFQOIQxaklPzmN6/xwQcHKC0tZdiw4Ywe7cO8eTNZ\nuzaaxYvndmheqxj6tO0THH15RERQj4IudEZb022AzMzydvvwvXuTmq0UHPXYuzeJLVuSkVLPDTdE\nce21SzCbzR26D6hxousIIbDZbLz88tt88kkGgYF6LJYKMjObCA1t4he/uIf4+Oh2+wJ1nV0He3/Q\n7s3rSSCIx4GtLb4bgPlAPPBAD/Y3IDgE+tVXP+f06QrWr38Is9mHzZuPYTZHYjJNxmYLaI560l7E\nmuXLY5TC5GY4Zp0qKiaxceNBvvjiq8uCgzQ2NmIymYiLW8Tddy+nvr6ejRsPUlo6nsOHK1my5G4m\nTZrI4sVzL9t3RkYZcXEbmDRp7GW/d6VuKoKXc/HzgzvvhD/9ydk1UfSWiIip2GzDGDnyWzQ1LcVi\niaS2dhybNh3g9dd3sHNnonKUdxO6GvG0J7Tst1NSijh6NJ/g4OWXRd1tK2uO77Gxc5g4cQIhIfPY\nuPEgu3btB+hwLFDjRPcwm83odIFMmLCWgIBobLZQJk1aBYTz+uubef31He0GzVDX2T3oidJkkFKe\nb/H9KylluZQyD/C50sZCiEVCiP1CiC+FEC/Zyx4TQiQKId4TQujtZbfZ/7dVCOFrL1suhDgghNgt\nhBhjL4u0b5sohJjZ0XHNZjMnThRz7JieHTsO8corPyY39xw6Hej1IzAY8pg9e2S7EfXai1jTVVQ4\nz8FLV+6N0Whk2jR/TpzYxqxZV5OVVYPZbMZms1FVVUVCQjJPPvk6TzzxV/buTeLLLw/z7rtH8fIK\nIyNjOwsXDqe0dF+7Jp0OGSss3NmpyWdndetOBC8li/3Dj34EGzdCebmza6LoKY2NjezYkYbNNpqz\nZz/B23svo0bl4+19Dr3eSE3NNDZuPMjOnYk0NjY6u7qKfqY7/mqOfrW9/tVms1FdXd2q7FK0xu3Y\nbOUcPHiYF174IV9+eYADB75ufhg3m81kZpYzYcIa0tNLm0Phe3l5ERERxIkTXzFr1hqysmoQQnQ4\nFqhIj93DYDBgs5WTnf0xR468R17eebKzP8HHJ4DKSk9Gj17F8eOFrVITgPOusxrXB5aemOdlSSmn\ndvDbWSnllCtsHwpUSinNQoj3gDeBx6WUa4QQjwNngS3AHrTVq5uBcVLKl4QQe4A1QCRwl5TyISHE\nJuAhNPPAV6WU69o5prTZbDz//J958cUdGAwBWK0FrFnzM+rqdrJgwRxmzgwhLm5RK+XoSv4iXfld\nLdcOHlqaYDgS0nUUoMGBo0P68svDzZFzli1byB/+8Df27y/Cai0mODgenW4U06adBySZmVaOHj3A\nTTdN5mc/exiLxXJFGdISbPYuw/uV/qdkUaMvzfMc3HOPZp73y1/26W4V/YzDHOeLLxJ57rl/U1Zm\nxWxuoqmpmsjIEB5+eD0geOutJGbOXEJZ2XEmTgwjIiKoU1NdxdCip32CYxxJSSlCygoMhlAiI4Ob\ngzb84Q9/s7sCBPPAA/+FXq/HaDRis9koKyvjgw8OkJISxMmTCURExDFrVjkPPHBdc3+ekJBMWloJ\nDQ0F+PiMbe67Ab744qvmMSk+PrrTsUD5vnYNIQQNDQ088cRrlJeHcuDAVtaufZMdOzYwadJ4xo/X\n4+ERTEFBHmPHTmyVyLa7KUa6S3v3UI3r/UNfm+clCyF+0M5B7gcOXWljKWWxlNKxbtkERAAJ9u+7\ngFhgGpAqpbQ5yoQQ3kC9lLJeSnnYvh3ACCllgZSyEAjo6Lgmk4nz500IcTVmcxjgg15fSljYKCIi\ngnjrrU9Zu/ZX/O53b2Gz2Rzn1BxuvEX9m2eVrpTfoCfLtWrWYGAwmUxs2XKUjIxRbN58BJPJdNms\noOMev/XWHjw8PLjttsXExs6htraWpKQSpk59lPJyPR4eJ/HyOoxOV83Zs+c5fTqRqKhw0tLM7Nq1\nv9OcDQ4Z60yWOpOJrnbQShb7lyef1Ez02kwqK4YAJpOJTz9Nxc8vHputguLiHEpKIklKquE//znI\nsmULueeeWPz9S7FYGqitDW3XVNcdcIc+oTvnqI0jyaSl2di6NZ2QkGuaV4VqamrYv7+IiRMfYfPm\ndB599BWeeOKv7NlzkISEJN5990tstnL8/I4zenQlXl7HWlkcSCmJjp7NxIneHDlSSXn5RNLTSzGb\nzQghWLny6lYmhO2NBf39IO+KaA/MekpK9IAHn356J42NjdhsAUjpQ2CgD0FBy2hoWNCcyLbls4Ij\n/1VftpOOnjeVSWDf0J0235PoeT8GNgshbgOO2cvmA0bgslWejhBCzAaCgUrAZi+uAoajKT/V7ZS1\nXA/V299bKn4dqthSSjIyTtLU5ElDQxqhod5UVCTxne+sZevWZFJSbAQE3EBi4pfce28t/v7+nYYn\nnzrVjzNnqgkLu67DCDvdDXesZg36ls5m17Tr2gQUA02tZgVjYkJ45JG7sFgsLcKGv8a//70fITy4\n6aYYoqOD+OSTnxMUJLnhhgVcffV8/ud/3uPcuTAqK9PJyTnNypX3kpWVS1xc9yLvtY2O15FMdGf2\nUMli/zJtGqxaBX/4A/ziF86ujaK7nD+fR05OCfn5udTVSYQ4DozEahXodDquvXYJsJ8zZzzZvfuf\nXHPND7rUtrvLYF4RcIc+obvnqP3mgV4fRmCgnry8T9Hra3jvvUTM5mJstgo+++w+wEpu7njCwuZx\n6FAOycknKCmZy8iRZ3nzzZ9w+HAaJ09WNNcBaJXqZObMJZw4sY177oltlo0rKULucL/6A09PT0ym\nIlJTjyClN7W19YwYMZ+KCi8qK1Px9MxDSjNz584mKmohRqMRk8nUPIanp2/HbN7fbk6nnrbvjp4R\nVBqS3tNeO+mMbq802VeKFgPPAefsr2ellLFSyotd2YcQYgTwR+D7aMqRwybOH02JquLSqpGjrOX/\nAKyOKrWsXkfHfPbZZzl3LgUhjqHX2xg5ch02mz/z50eg13thMAiys1+kpOQCR49mYLPZmsONa+E9\ni6itvZQILiurhmnT/K9ov9rWobQzjVbNGvQdmhL0KuvXf5/vfe9eftnGbspoNHuMTRYAACAASURB\nVLJ2bTQRETbWrYvBYrGQlFTCpEmPsH9/IbW1tc0dUl6eFjY8N1fH0aN6/v3v/dx993puuGEhc+d+\nn3feOURi4hFyc7M5eXK/3YxiFP7+WZ2GgW1Zl/ZsoVsm2GsrE11Z6WxLd5yblSx2n+ee05SmggJn\n10TRXZqazFRW5lFXJ4HbkbKBoKA8jEYvDh483pzYcsWKDURGTsLfP6vPH1J60qYHEnfoE8xmM2lp\nJQwfHtulc9TGkfmEhxeyZMlVCAG5ufWEhMRz4EAx06evQKfzY9SoOZw6lUxm5l/JzS0iJ+c83t5G\nystrsVqtnD1ba087oR3Tca0nTFgDNOHrW8ytt85m1aql3ToXV79f/UFtbS3l5X5MnDiHixdz8PAY\nTmXlHvT6oxQX1zJmzE8IDp7Az39+S/NY2nIMnzbNn6ysmj4Zsx105i/Vn0FL3IHutpOemOcBIKXc\nI6V8xf7a09Xt7IEe3gf+n5SyBDgMxNl/vhZIAs4AkUIInaNMSlkPeAkhfIQQi4AM+zZlQogwe2CI\nqo6O+8ILL7Bhw/cJDZ3OyJGrKC7eic1Wy/vvb+P8+RzM5jKmT48gIuJ7pKQU8dlne3nvvURqa8+T\nkPAaOTnnOHYsk/DwwGbBbbs83sH5tnoITkhI5rXXtrfbaJTDZt+h+QlN5Ac/eJdFi9bz05/+9LL/\nxMdH88AD1xEfH42/vz/R0cEkJz+BlA0cO5aJlJK4uEXcf/9qVq+O4vz5NGpqhlFYWIFOp2PmzBB2\n7nydxkYj27YdxmbzYNiwGTQ2FrNuXQz3378aIUSXOsllyxZy++1Xt1Ku9+07xPvvf4XJdJELF7a3\nkomeDIjdMdFQsth9Jk+GH/wAnnrK2TVRdAcpJWVlDVRUeKAFg/0AP79Srr8+jmXL7muOauYI2nLT\nTZf6jZ4ca6hOmrlDn+Dh4cGJEwf57W9/SVraITw9Pa+4TXx8NHffvRy9PogpU24EmrhwYSd+fiXs\n2PEZOt1kMjPTWLhwPiEhE7nmmv9mypSJ+Pqm8K1vRRESEnLZdW15rb/5zYU0NZXw4YepvPzy283u\nA1fCHe5Xf+Dv78/ChSMoLk7FaBxPXd0kpKwnM7OMyso6kpKeICYmmJCQkFbbOcbwVauWNgf6mDrV\nr1djdks6Uo6U6WXv6G476U1y257ybWAB8KJ9yfIp4EshRCKQC7wspWwSQrwJJALlwG32bZ8HvgAa\ngLvsZU8DH6GtMm3o6KBSSubPn8n06ank5Z2jtNTC2bNXkZv7JQsW3MCMGTpqa/dhMCRjsXjx9tsZ\nBARMpqKihFGjPFm58iekpHzG/fevZvHiS0La1imvs6VXh/1zQ8NkcnKSiImJuizev0o01zd0Zdm6\nbWfz4IO3ImUAU6asIz19O/Pm1eDj48OuXfvZsSMdq7WOceMs2Gz1vPrqZ+TkpHHhQhWlpeXk5uai\n0xkZPz6UyZOnNOdb6kqSRClls9mnY3m4ZQd74cJ27rhjaasgJQOxLK9ksfs89RTMmgWffQbf+Iaz\na6PoCmazmYqKUqxWLzSX2nKGDy9CylJeeeXnWK2FZGefZ+3a+Xz/+9f0OF/TlcylhoKpjSv3CVJK\nPv88gT17ivD3jyUjI5OamhoCAjp0lW7m669Pkp19njNnfs+6dTEcPpzCsWNm6uoKuXixgClThlNY\nmMvw4Z7s2fMXNmz4BvPmRaDTafPW7V1XR5nJZOKNN75i8uQfkZT0e+65p7bL0Xxd+X71Jxs23E56\nej7JyWVcuHCE2lpPjMbJmM0m9PpyLBYLDQ0NeHt7A5eP4UuXLsBsPkBWVg0GQzJxcYt63b6VctR/\ndKedDLjSJKX8B/CPNsXJwG/b/O/vwN/blO0GdrcpOwFcfaXjNjY28qc/bSM9PRibzQOzuZyCgvPo\n9QWMG7eHqVMjWLnyWyxbtpBf/vId6us9SE7+hNmz13HxYgq7d/8BT09vkpJSLrN5dMweJiWldJoE\n1WH/DKFAHqApUi1v1GBqGIPZvr4rdHfAMBqNzJgxgpycz6mvv8Abb+zgzJkUkpOrKC8fg9k8Eovl\nK4YP1/Gf/1wkKyuFsWNvJT9/MwsXRuPhMRmDIYO1a+OajxkREUR6+namTfPvUGFqbYK3ozmruKOD\n7SjkfX8PiINJFocK/v7w7rtw661w5AiMGePsGimuhF6vp7CwgqamccABfH0jGDZsFCdOVHP+/DCq\nqgRWawMTJxaxYIHW3trrF1v2l+31nZ35LjoY7A+5rtIndHR/zp6tJTj4ai5ezGTUKEuzv0pn59zY\n2Mjhw3kEBESSlnaAmpoajh2rYfLkH/Dppz/Hw2MxZ87s5eqrpxMYOIODB1OYNGkYx49nkpxcRkxM\nCA8/fOdl+3Vca6PRSExMCElJvycmJqRb6U9c5X4NJDabjdde+wdHj2ZTUpKPyeSD0XgTJtM76PWh\n6HQrefvtY5w/X8uNNy5m1aqlrdp2WtrnTJ1a2MJE71JbH+zt213pTjtxxkqTUzCbzWRn59HQYKOq\nqgwoxmIx4+VlJS+vkZgYG3l5JpKTU7BYbIwevZiCglRGj9bj6enLpEkT7fkSdjNvXg1+fn7NoaId\nDpvZ2TkEBy9k48b9gGTZskV4eXm16qDXrp1PamoRs2bNaxXGerA5abqCE2lXHGUd98VqtfLSS38l\nKamUwMAqDh++iMk0iurqU0yYcD0FBZsZM+YqTKYSzp4NwGDQ0dBgpr7+JNOnezNxogXIYf36OFat\nWtq872XLFjY7hTpmnNrL1N7SBM+R2T08PLDTmW01IA5O4uLg4YfhuusgIQECr+zWpnAiRUVF1NRY\n0NxkS6mvP0pVVQh+fn7U1TVgs00lP/8YjY3ezQ7+LUNLO8INO9qyw48xM7O8Vd/Zk9VvRd/TkeO3\n0WgkKmoUZ8/mceTIRerqhvOTn/ya8PD5XHXV8OaJ0JYR6XQ6HS+++Cr//OdBiookkydfyxdfnMTf\nv4zk5D/h7V1MY+MBrFYPzp07w4ULViIifsTBg/9ACMFVVz3OwYMvM336PnJzGzscax955K5urTAp\nek5NTQ2bNx+jrCyAiooShKjAYnkbvX4MVqs3xcW7GTMmmLNn4bXX9jVHMoyICCIt7XMyMo6QmJhB\nUFA9NpuNmTNDuhy8QzH4cRulyWg04uvrSWVlI01N/mgWfh40NoZRUDCaf/wjjXXrYsnI0LJrDxuW\nzK23LuHcudPo9V5kZ6dx6NBZgoMbePddicVSgsEQytSpvpw4UcLUqTdy+vQrHDu2m3nzbuKzzxLI\nzKxg9uyRSCk5caK4OR9QbKyZL788zMaNB5k1aw3p6TmDbvahK7OiQ5m2Dzm1tbW8+WYSfn7hfP11\nLh4eU6mtHUltbRopKX8HbOTnH8bHZxg+PosoKdlNUJCV0tKv8fQcRmrqGTw8vJk+fQQrViwmMfHI\nFaMstmeCZzQa2bhxN2PGrCYzcweLFw8tRVWh8cQTUFkJMTGwZQuEhzu7RoqOCA0NxWp1BGYdj82W\nh9F4Kxcv7qa+/iKeniWMGxeAt/dYQkOX8/HHf+Lmm28lI2NPc3tu2ZZTU7cB2B37W7d5NdPsfNob\n2xzExS0iImISDz5Yzfjx97Nv33MEBoaRmLgLs9nENdcsJjHxMFu3HkZKPVlZX5OQcBEhPDGbR1JT\n8zm5uSZ8fHQYjdPw9dVTU2PCYPghNTUfEB8vyMz8MzExw5k6dTzJyb9n4cIR5OY2djrW6nQ6pTAN\nENokai1FRVWACSm9AB+s1tnAUYTwpaQkl4qKXMaPX8a2bUdYtmwhcXGLiIws5aGHMpg8+UecPft7\nbrkl+jLfJ8XQpseBIIYamrnTDKQch3bak4AJQAqVlQfIyjrJH//4/9i79xgBAbOQUk9OTgX795/h\n7FnNVOOGG75PWdkwAgOXcPBgMb6+0bzxxi62bt3LW2/9lAkTvAgLC+Dixe1IaWH8+Bs4evQ8mzYd\nas4H5MixkJVVw6xZV3PixLYOTbf6ip7k1nB1J9KWA2dKShHp6aV4ei7g3LlymppqKCnZQ3HxThob\nzTQ0BGC1LkbKYOrqSqiuPoSn50XKy8FoHEVh4USysgQeHvEkJuZTXl7epSiLLa+xwwTP1a+7uyAE\n/PrXWv6mpUvh2WehsdHZtVK0x+nTp9HSD9QBc4AQcnNfp74+EB+f+wkKmsLcuXOIiAiiuHgvCxYM\np7h4dysnb4PBwNSpfhQU7CAqahRRUaPabcNdnWl2h3xIzqKzPlYIQXBwMCEh9SQkPEdYWC1paZ/i\n4zOOX//6E2666SkefXQj27bls2mThT178rFYJmM2a+HCLZZGTKZFNDSEYbFcT1NTIF5eZszmv2Gx\n5FFXN5JvfON2IiMX8uCDt/Lmmw/w2GP3qT5/EKFZiUggEFgKeKJls0kALmC1TsVkaqCpaSRFRV6Y\nzTaEEAghCAkJISYmhOzs3xMbG0JwcLBqxy6GGGxhTfsDIYS0Wq3cd99T/O1vaTQ1laGlhvIFLMBC\ndLpAhMjEaByPXp/JjBleBAbO4+uvc/HyqsTPTxAfv5BJk3wRYgR79nxGbq6B+vrzzJ//KEePvkZY\nWBjXXrsef/8SwsMD+fzzr2lqkhQVFREYuIRhw7J54YX7sFgsHDuW2cr/qTNbeAfd8TFy/NdhPtgT\nM7uh7tPUlrZZ3xMSkjlxopiamjzOnati+/aj2Gwe1NYWUFMThM02Ey2YYzGag3gTHh75hIZeRX29\nBzbbBRoba/D2noPFko6/fxWxsUt4+OFvIaVsZZ7TnXvqatd9sNFWDvqb8+fhkUcgJQVefhm++U1N\nqVI4HyEEp06d4qqr7gaigHw0K4QKdDornp5jmDnTm9/+9v8RF7eIXbv2c/p0FfX1+eh0wSxYMK45\nf1/L/hzocRt2BdPowU7bPtbRJ9hsNrZt28VvfvMZRuN8TKavsNlsnD17nsZGI1ZrEHp9MTU11cBY\nIBP4BtoD9VSEyCU01JcpU4ZTXQ11dZKysil4eBQgRDnXXXcNZnMd9967uFX4cNXnDw6EEFRUVBAR\n8R0KC+uB0UAhcA/wFlq8sRFoWXDq8fUdy09/uponn3ywuY3abDZqa2vx8/NrZc0SGzunx0FkQMnI\nQGLvD9rtdN3GPK+6uprk5HKMxmhstiRsthKEuBkp30WvL8FqPQpUYTIV4ek5mdzcQoqL92M0RlBT\nc5bp0+9AymIiI6fy8ccHOXasmFGj1mKzFZOe/ndCQxfg5zeJI0d2ct99y4iLW8TJkxVMmLCGvXtf\nYfx4EzNnzuG11/5BUlIJ0dHBPPjgrXh5eV3RFh4uH0iXLVuIxWLp8EHc8d+uJOHtiO74BA01pJQs\nXDiTL798k7/97WsqK/MpL7fi4SGRcjw2mwBS0NKDhaIpT4F4eflQX58HVDNihObYe/HiOaKjN3D2\n7CfcfPPjZGTs5/vfv6bDKIstae8aK7tn12LcONi0Cb74QvN1evVVLZ/T9OnOrpkCYNiwYWjtPANt\nVjkQ0GGzFWMyhXPiRBrvvvsvJk4cyYkTFxk79hu88MKjDBt2NQcPbmP27GkcPXqeKVNuJCtrR3PC\n25apJjrrJ1tOcDnCEKenlxIaupyMjARlztcPtNfHSinZvn0fTzzxFmfPVmGzncTDo5pJk1ZTUnIO\nIRqQ8jyapYoebVWyBDgCVKLTXWTUqCmsWXMVzz57F++//xX19aP45z/fpr6+junT12M2F3DnnQsu\ny7ek+vzBg9VqpaSkAm11qRowoylM/sA8NEXZCPgQGuqDr+84zGYznp6e1NZqfmf+/v7NCW9Hj17F\nli2vk5p6sdlFo7uTIGoiZfDgNkoTQFHRaerqLgBTgTKk/ACwYrPVIYQPBsMYTKYsrNYR6HTFBAR4\n4OERTGkpnD69G6PRh7S0cRQUTMZkOk5OzkXGjvVj/fpwysokx49voabGi3fe2Y63tzdXXRVAWtom\nrr9+LjqdjhMnLvLJJ+nMm/c/7Nv3O+6914JOp+vQFj4mRlvWdTSOrmSchtamZ1lZjmRrfbv0P5Qb\nsSNf1gcfJPL554lUVc2itrYa8KOpqRCtczwD1KItzxuAo0AE9fXn8fKqZPr0CIYNszJnzgiamqxU\nVh5nyZIgKiq+Yto0/1YzSleKqqVwD1au1FabXnkFFi+GDRu0EOW9mHxU9AFFRUVoD0hhaG0/B4hE\nM9nLxWyexPvvf83mzffi5eXL/Pn7sVor8PX1o7S0mtde+5Dt27MIDPyKBx64EU9PT6qqqvDy8mp3\npR8urULZbDZ27drPmTPVzQEmIiKCMJku8vHHfyI6OnjQJbl1VRobG/njH//JyZNlaH1/CFarkZMn\ntwPTkLIWTUZOAwVo2U/GoI0PZq699nHOnn0XnU5PZuY55s0LIyOjjN/+9g6sVivnzjUwbdqEbiWo\nVQw8FRUVNDV5oT0eDweuAlKBCiAbbeWpCQ+P/6Gx8V+MHeuBh4cHL730V44cqWyeEPf29iYiIoiU\nlE+BpnZ9HLuKq/uYDyXcRmm6ZKfqAxShmef5A7V4eEgslmmYTClog2cB9fV6srJKkXIzICkrG0tZ\nWSV1deepqsolMDCY0tLDjBo1i9TUembN8qamxh9Pz6u5cCGbDz/cTXFxGdnZFYwf78/UqZOJj3+I\npqbP+dvfvo0Qw3j88d/w5z8/2xxRKSpqFAAZGTsIDw/k4MHjbN58BKvVxE03LSE8PJDMzNYZp9PT\ntzN3bjVeXl6tVjVaRmmKi1vUPPvZVwzlRmw2mzl2LJ+PPz5OZWUDsB2oR3tQmgBcBIahzTAd4FIz\nyUSnm4xOF4CPj+Dxx9cTF7cIg8GAxWLB19eXXbtaR8oDurSSqHAPDAZ49FG45RZt1SkqCt54Q4u4\np3AO2kpTDVoaCBtaX2BAW3EqBM7R1ORPVVUQjY1Xc/r0fiZPHkV19aesXj2DnTtPU1s7idOndxAc\nfJDNm3eRllbGyJFB3HfftWRl1Tav9MfEmFpFxzSbzbz1VhLh4TFkZKTx7W/fQmrqF+j1Qdx0060c\nOPAWr7++o8cz1IquU1tby44dR9HMr2xoqww6tGeGdGAGWirJWPt/zgEmoAIvr2oKCz9m1CjJqlWP\nkJGxs5W1gZosGzqEhYXh4VFNU5NAe0ZMQjPL0wEXgOlALk1NryBEA/7+/mzdupMPP8zgqqvuYevW\nvyHlp8yfr5nuxsZaOHjweK/yrw2FHG7ugksoTUKI36ElzD0qpfxxe/+xWCx4eASi2ageBbyBFcBW\noBC9vhSrdRjasnsgUIGUAUAEcIi6ul2kpQWTlnYYT08/amvLsdlC2bt3N5GRsykr82LmzJUkJW0h\nJKSOkydHkZtbSXl5KLm5xZSVHWPMmH8RHj6R/HxvPDweYNu2/2P16p2sXbua2FgLBoMBk8lEbKxm\nX/3nP28jOzuMiopTwH5efPFB5s9vwt/fH4MhmfT07ZhMF/nlL98BPFi7dj7x8dEIIVpFaeqPmcqh\n3Ig9PT05cGAHlZXZQDxwEK1DPAKMQ5tRGgesQTO/OAQEAOfx9/fGaIRVq2bj6+vb6trHxs65LDcD\n0OFK4lBSNBV9y9ixmsne5s1w++1asAhHYlzFwFJfX4+2grAC2IH2kHwRWIY2iVYODEPKKhob3yMv\nz4/GRgONjZX4+lppaJDk5V2gsdGTffsuUlqagafnMvLzffn660Lmzh3DyZPbmD17JGaz2W56t4LU\n1B0AzJx5AykpW4mODqKkJKF58iwlZSe9naFWdJ2cnBw0f7YwwAvNZykPuBbYhWa+OQI4hF5fwcSJ\nC2lsrEOvNzF37kq+852nOHToffLyPiUqalQrawNlfjd0aGhoQAgzEAJ8E/gnMAXNB/4omuIkgCYM\nhkV8+GEipaVmgoMnkpn5JpMmGZky5UZ7m7X0WX4mFXlzcDDklSYhxFzAR0q5TAjxFyHEfCnl0bb/\nCwgIYMoUI+XlXwPTgJPATuAiFkss2oPyKuADtIYRijZY7gaCgNHU1p5G60xBG1jjgZOkptbi759G\naWkFQUGNeHiEMWHCMjIyXqWxsQmdbjJZWcfJzs4hPDyMjIxTnDr1v8ydO47CQonFYmk240hPL2Xq\nVD88PT3Jysrl/PkTjB27DL2+nj17DpKXZ2r2aZo3r5a3395LQ0MIEEpqahGLF2uNytFJO0zRemNP\n2xFDtRGXl5ezadM+tNWkdLTO0ActT8tMtNnEBuAzoBGw4em5BKNxGH5+TSxZ8g1SU4soLDyA1Tod\nIRzXXrSrSLZdSews2a3CvVi3DlasgL/8BVatgpkz4Y474MYbwc/P2bVzD7y9vdEi551DexhyBIA5\nhBYERo/2AH0z8A8slqnk54eg08Hu3Rfw8SkGAjGbQ8jJ8cZmq8fH5wRNTbVkZ8dgMNSj0wVy/LgW\n/Ccj4wj79qUTGxtCVNQMtmzZy6hRBhYsmN3sLC6lJDbW3OsZ6r7AXVZJamtrW3yrQrv349GeEwKB\nKkaMCELKGr71rRgCAiZjNteyZs0ifH19ycjYz9q181m8eK7LXytXpqamBovFgPY88B+0VedcNJnQ\n2V8hQB75+Rns2tVAaOgSysoO893vzmX58qvJzGzdZvtCaVaK9+BgyCtNQAyacTFo00GxaFpPKwwG\nA8uXz+bw4Vy01YMp9pcF7cG5DO1B2YDWOLzsu85DU6gsaKsN4fbtq4DD9s+lVFcPp6GhhoAAG97e\nRgoLNzN16nBychqpqDiJ2TyZ/PwQwsNHsHXrH3jssRc4ftxMWtohPD2va56BrKgYwRtv7MVmqyQ4\neCmTJhWxZIkfNpuFd95JZs6ceNLTS4mNteDv709U1ChycpKAPKKiFlzWqEwmE1u2HKWhYQE5OUeI\niYnqVQSXlgzFRiyl5KOPtqA9JOnQouDEod3jBrQZZiOa2UUtEIOXVzlNTce56qplhIVVYDIVMWfO\nOkpLv6Cp6TQeHpeufXuKZMsym83WYbJbhXvi56fldXrkEdi6Fd5/Hx56CGJjYfVqzRcqIgL0emfX\n1DWprKxEU4xGoj0oD0NLSVFs/4cPWv/wT7QAEQeBQKxWKzCB2lo9np5VWCxWIB2jcSRW60U8Pb04\nfryeU6fSuf/+X7Jly2usXbuO0tJ01q27n8rK/cyfH8GJE8VMmLCGzMwdxMZqfbYjkISzJ6aGsu9q\nd/nkk08APzRFKQLtceICmrnmWPz9YfHiq1iyZDRPPPEgu3Z9RWZmBb6+vixduoB58+pULiWXwYJm\njpmNZqZpRZs48UF7bkwGrEyc+AwXLz6HzRbKsGHFpKebufpqc6dJ6RVDG1dQmoYDZ+2fq9B6u8sw\nmUzk5jag2aiCduqH0MywpgJ70BqJH9rMUimaCd8FtMZyAW1QzUbrRL3QHrjnAqeAmdhsw6mu3oVO\nV8Xo0f7MmROBh8dZLlwQ6HQ11NamERn5bXuUlVBWrPgheXmvNEdcmTbNn40bv2LWrBvYt+99AgOD\nGD9+AnfeGcfzz39IY+NIdu/+J08+ub5VssSYmKgOFRhtgGtCewBoctkBr6s0NDTw0ktvod33cWir\niGeB82irSvPRnD7HAg3odGkEBi7EaKzg29+exKJF8VgsFrKyzrFkSTSxsXNaXfsrRcPTtq0Zkr5g\niv7Fywu+8x3tVVUFe/bAjh3aKlRxMcydCwsWaKtRM2ZoCXOHD3d2rYc+w4cPR1thOonWT5rQomQN\nR/N/nYM2wXIIbU5uPzpdBDZbPkLUYjBEoNOdwdNzOpDB8OF1BAaGMWzYzZSVnSAysoGSkr3ExIRQ\nWXmQ2NhQKiv3ExERREBAAFFRo5r9WB3+Ti0VFGf2D0PZd7W7nDp1Cu3eF6NNlo5Em0z1wmg8xc9+\n9l0eeODW5shoWVm1TJiwxh6Y6UCHgZkUQwstb5vDf+kaNL/msWjPg8fRJlW98PfXU1v7MuPGGRg7\n1oOzZ+uYNWsNWVn5xMWp+++quILSVMUlTcgfTZO5jF/96ldkZSWhhYscgTYY1qE5fGbhsFvXyhxZ\nKKV99/EIUYIQw/HyKmDcuCA8PAKoqDhHaekpbDaQ8jBjxozDwyOAadPiMZsPsX59DOvXx7B161HA\nytq10c2Rc2JjQ0hKeoWYmJDm2SlHfo+srAK++c0I9PpSoqIWEhAQAHgwZkwkBkMt8fHRzeclhOh0\nRsNoNLJ2bbTdPC/GZQe89khISCAhIaFVWV1dHSbTaDQxycWRb0Fz+AY4gsHQwNSpI1mwIAKj0UxJ\niTdLl65nw4Z1zSaPPQ2sMZR9wRQDR0CAZqJ3443a9/JyOHoUjhzRlKm//AVOngRfX02Bmj5dC20e\nFqa9Ro8Gf3/w8dH+YzT2LjeU1QoNDVBfD2YzeHpq+zQateAWQ3kVbNy4cXh7W2locETRKwKOofX9\njWgr0BJPz3q8vfOpq2vA0zMIL68CRo2STJsGZWX+1NScZ+LE8dx//zc5fTqXLVu+Ytw4wcMP38Li\nxXObQ4o73ltOfDn8Hzdu3D2oFBR36q/uvPNOPv/8WbQJ0wq08d/EihWL+dGPbmHNmhXN/215XVoG\nZhos903Rc8LDw9FWli6gPS9eQHs+bAIa0es9CQgYxpIlEdx992qGDx9BSkoRFssyfHzyXb6duDtO\nSW4rhLgDuAtNnf+u/bUWzaj8e1JKqxDiNmAD2lTPbVLKWiHEcuB/0UaxO6SUBUKIm4BX0JYL8oGX\npJRH2hxPSinZuzeJ3/72XVJSsgkICGDevJGMHj2ViIgQLlwo4b33kgALCxeGMWPGfCZO9MLPL4BX\nX/2MgoISxo0byYMP3sCKFYub4/Jv376XU6eqsdlK8fIajRDV6PVBhIcHsmrV0ubM7m1nDB0J0Nou\n57fN2eHYZu/epGa/pJZKU1dwF5v0K+FIYPjf//1LXn11M1rHqMfX18LKldewfn089fX11Nf7Ex4e\nSHx8dKvcC32Fuh/OZaCT2/YXUsKFC5CZCadPa58dr8JCqK299LKn/0EIul+MOAAAIABJREFU7aXT\nde3doSw1NcGwYeDtrSlJFguYTNp+TSbtvwbDpZen5yUlzXFMx2e9XltVMxq195Yvg+Hyc+zOd4tF\nU+waGi69Ghu1OjY2avsvKrr0f4csvPji6/zpT5s4fz4bGInBUMOUKVOIjAxl2rQ5eHrWc+JEEcXF\ndURE+CPlCAwGHd/61iLi4hY1t2lHFFObzUZNTU2rqKZdISEhuXmlqbv9fH/hDv2VQw6EGI22qlDI\nrFmL+N///W9WrVp6xcTkg/G+KbqPQw6uv/5utm9PQAsKkkNg4Hi+973rmDs3kqIiyYwZI1i5cmmr\nyIhtn9kUQ5fOktsOuNIkhBgDPCulvNf+PQR4W0q5RgjxOJryswXNXi4ezft2nJTyJSHEHrSQZpHA\nXVLKh4QQm9AUq1lAiJRySjvHHPpPSAqFQqFQKBQKhaJf6UhpcoZ53mpAL4RwxPDcDiTYf9sF3GYv\nT5VS2uz/e0MI4Q3USynrgcNCiN/YtxkhpVwPIITY29FBB9vMsjs52A4WnLHCoO7z4KOv5UDd46FL\nS1mQEsaPh/x8bXXOx8fJlVMMGO31Capdux+9HRuUzLgGnd0z3QDWw8FIwFNKeS2aA1EAWngS0IzI\nh3dSVtNiPw4r+pbnMGSks7WDbRlmh/2MwqVQ99n1UffYNTh9WntfsQJ27XJuXRTOR7VrRXdRMuP6\nOGOlqQrYZ/+8Fy0prUOyHIEcqtCUpJZl1VwK+ACaQwpo3pq087kVTz/9dPPn+Ph44uPje1L3PsOd\nHGydRXuBIAYadZ9dH3WPXYOvvoL4eJgyBZKTYe1aZ9dI4UxUu1Z0FyUzro8zfJqigHullD+0+zAV\nALdIKb8phHgMyAE2o5nqXQPcBEyQUv6fEGI38C00n6Y77T5N/wYeRlOY/iKlXNfOMeVgM88D93Cw\nHUw4KwCAus+Di/6QA3WPhyYtZeHxx2HECIiKgt/9Tq02uRMd9QmqXbsXfTE2KJkZ+nQWCGLAV5qk\nlClCiEa7/1EJmg/TGCFEIloM6JellE1CiDeBRLRYj7fZN38eLZFtA1r0PYCngY/QlKYNA3YifYCz\nc3AoBgZ1n10fdY+HPqdPwx13aImET550dm0UgwHVrhXdRcmMa+OUkOMDzWBdaVIMLK4SalrRO5Qc\nKBy0lIWICPjoI4iM1IJAlJRoOa4Uro/qExSg5ECh0dlKkzMCQSgUCoVCMWiw2SA7G6ZO1XJUTZ0K\nWVnOrpVCoVAoBhNKaVIoFAqFW1NWpq0qeXtr36dPh1OnnFsnhUKhUAwulNKkUCgUCremoABGj770\nfeJEyM11WnUUCoVCMQgZcKVJCDFBCFEkhNgjhNhuL3tMCJEohHhPCKG3l90mhNgvhNgqhPC1ly0X\nQhwQQuwWQoyxl0Xat00UQswc6PNRKBQKxdCmsLC10jR+PJw/77z6KBQKhWLw4ayVpp1SymuklNcJ\nIUKAOCnlUuAEsE4I4QE8ACwF3gfut2/3C+Ba4Engp/ay54BbgO8AvxrAc1AoFAqFC1BQAGPGXPo+\nfjzk5TmvPgqFQqEYfDhLabpGCLFPCPEjtOS2CfbyXUAsMA1IlVLaHGVCCG+gXkpZL6U8DETYtxkh\npSyQUhZyKSGuQqFQKBRdor2VJqU0KRQKhaIlA56nCS2Z7TTABGwFfIFi+29VwHA05ae6nbKaFvvR\n299bKn7thghUKBQKhaIjCgpgxoxL38eNU+Z5CoVCoWiNM5LbWgALgBBiG5pSFGb/2R+otJcFtCmr\ntn92YHXssuXuOzru/2fvzMOjOq5E/zvahZAQIEBILMaAMRIgdgQ2SHiNHYOJt0zsJHbiJF4nGc/E\nGSfzZoLHjt9MJttk8U6c59hxnHgBxyY2qzA72CwCCcxqhJAQaJeQ1C2pz/vjdgshJLRvrfP7vv66\nu7rr3nNvnapbp+rUqaVLl9Z9Tk1NJTU1tY1XYPQW0tLSSEtL624xDMPo4eTmwsKF578PGQLnzjmv\niIjuk8swDMPoOXS50SQi/VW13Pv1KuDXwN3Az3DWK20DDgOJIhLgS1PVChEJE5EIIBHI9B6jQETi\ncQymkqbOW99oMvoGDY3jJ598svuEMQyjx9JwTZPI+dmm+jNQhmEYRt+lO9zz5ovIU0AVsFFVd/qi\n3wEngF+qao2IvARsBApxjCqAZ4DVQCVwrzdtKfAmjtH0SNddhmEYhuEPjBzpvOrji6BnRpNhGIYB\nIKpNerT5DSKifeE6jUsjIpgeGKYHho9L6cI3vgFXXw3339/FQhldjrUJBpgeGA5ePWg0RoJtbmsY\nhmEYDbBgEIZhGEZ9zGgyDMMwjAaMGGFGk2EYhnEeM5oMwzAMowEjR0J2dndLYRiGYfQUzGgyDMMw\njAaYe55hGIZRn24zmkTkMW/EPETkcW8EvT+KSKA37W4R2Swi74lIf2/aQhHZIiJrRSTOm5boi74n\nIpO663oMwzAM/8FnNNm6cMMwDAPaYTSJyBAR+ZGIvCgiv/e9Wpg3BEgCVESGACmqOh/YBywRkSDg\nQWA+8BrwgDfrv+Ps2/QE8CNv2lPAl4G7gKfbej2GYRiG4SPKu5V6SZO7/xmGYRh9ifbMNK0ABgBr\ngA/qvVrC/cAfvJ9nAmnez2uAucB4IF1VPb40EQkHKlS1QlV3AgnePANVNUdVc73yGIZhGEa78G1w\na+uaDMMwDGjf5rb9VPVfW5vJO4uUoqrPiYjgGDql3p9LgOhLpJXVO1Sg972+4ddoXHXDMAzDaC0+\nF71J5vhtGIbR52mP0fS+iNysqitbme9rwJ/qfS8BfHuxRwHF3rQBDdJKvZ991Hrf63ucN+l9vnTp\n0rrPqamppKamtlJso7eRlpZGWlpad4thGEYvxYJBGIZhGD6krbsfi0gZEAG4vS8BVFWjmsn3Xzjr\nmQBmA78CZqvqIhF5HDgOLMdxy7sGuB0Yrao/E5G1wGIgEfi6qj4qIm8D38UxmJ5V1SWNnFNtl2fD\ndvs2wPTAOE9zurB0KdTWwlNPdZ1MRtdjbYIBpgeGg1cPGvVca/NMk6pGtjHfE/UE+1hVnxKRH3gj\n6Z0AfqmqNSLyErARKATu9mZ5BlgNVAL3etOWAm/iGE2PtEWmnoSq4na7CQ0N7W5RjD6O6WLHYfey\ndzJyJGza1N1SGF2J1VXD6Fu0ps63Z6ZJgHuAMV7DZyQwXFV3tOmAnUhvmWlSVTZs2EFmZgEJCYNJ\nSZmNc5uNjsBGkVqOP+tiV+uBP9/L3k5zurBqFfz0p7BmTRcKZXQ5Pj2wutq3sT5C36OxOh8QENDk\nTFN7ouc9ixPpzjcLVA78rh3H65GoKi6Xq0vO5Xa7ycwsIC7uRjIzC3C73V1yXqNry7k30Nd0sTPL\nv6/dS39ixAhb09SXcLlc7N172uqq0STWV/AvWvt8bk8giDmqOl1EdgOoapF3/yW/oatHnUJDQ0lI\nGExm5kckJAw294AuwkYXL6Yv6WJnl39fupf+Rv0Nbvt4k+D3qCrbtu3l+PHPOX78eW69dYbVVeMC\nrK/gf7T2+dweo6laRALxRqzzblLracfxehwXWqAfMXdu5/s5p6TM7pLzGOfpjnLuDfQVXeyK8u8r\n99LfiIyEkBAoKoJBg7pbGqMz8bUDKSmPkJX1AfPmTetukYwehvUV/JPWPJ/b4573a+BdYKiI/ATY\nhBOowW/wWaA5OV03QiwiVgm7mO4o595AX9HFrij/vnIv/RELO9438LUDubmrSEqKtfpqXIT1FfyT\n1jyf2xwIwnuiK4FrccKNr1XVAy3Ikwi8CNQAR1T1fm+o8cXA58B9qlorInfjRMMrAO5W1XIRWQj8\nBCd63tdUNcd7vOe9h39IVfc3cs42B4KwSDr+w6UWeVo59x0a0wMr/75JSxZ+33QTPPII3HJLFwll\ndDn1A0FYO9B3aUl7YDri/1wq5HibZ5pEZBkQpqq/U9XfquoBEVnagqwHVfUqVU3xHmc2kKKq84F9\nwBIRCQIeBOYDrwEPePP+O3Ad8ATwI2/aU8CXgbuAp9t6PU1hI8R9Ayvnvo2Vv9EUI0dCdnZ3S2F0\nBdYOGM1hOtK3aY973o3A/xORr9dLW9xcJlWtrffVDYwF0rzf1+BE5BsPpKuqx5cmIuFAhapWqOpO\nIMGbZ6Cq5qhqLjCgHddjGIZhGBdg7nmGYRgGtM9oOgMsAO4Ukd95Z4daFEZERBaJyD5gKE4wilLv\nTyVANI7x01haWb3DBDZyDRbGxDAMw+gwzGgyDMMwoH3R80RVS4BFXre8NFo406OqfwP+JiK/BmqB\nKO9PUUAxjqE0oEFaab3/4c0H3uh9jXy+gKVLl9Z9Tk1NJTU1tSWiGr2YtLQ00tLSulsMwzB6MaNG\nwYkT3S2FYRiG0d20x2h6z/dBVZeKyKfAY81lEpEQVfXtHlWKM1OUAvwMZ73SNuAwkCgiAb40Va0Q\nkTARiQASgUzvMQpEJB7HYCpp6rz1jSajb9DQOH7yySe7TxjDMHol48fD4cPdLYVhGIbR3bQ3et4w\nYJb36w5VPdOCPIuBf8Yxcg6r6ndE5AfAIuAETvS8GhG5B3gYKMSJnlcmItfiBH6oBO5V1WwRmQw8\n5z3eI6qa3sg52xw9z/AfWhIZx/B/TA8MHy3RBY8H+veHvDxn3ybD/7A2wQDTA8PhUtHz2mw0ichd\nwP/guOUJTqS7x1X1rTbK2WmY0WSANYiGg+mB4aOlujB5Mrz6Kkyz/U79EmsTDDA9MBwuZTS1xz3v\n34BZvtklERmCE+muxxlNhmEYhtFWrrjCcdEzo8kwDKPv0p7oeQEN3PEK2nk8wzAMw+hxjB8Phw51\ntxSGYRhGd9KemaYPReQj4A3v9y8DK9svkmEYhmH0HK64AjZs6G4pDMMwjO6kzTNDqvo48AIwxft6\nUVX/tbl8IjJbRDaLyMci8nNv2uMislFE/igigd60u73/e09E+nvTForIFhFZKyJx3rREb96NIjKp\nrddjGIZhGI1hM02GYRhGmwJBeA2bNaq6sA15hwLFquoWkT8CLwE/UNVbvFH0jgIrgHVAKnAHMFJV\nfy4i64BbcEKO36uqj4rIO8CjONHznlPVJY2c0wJBGLbI0wBMD4zztFQXCgpgzBgoLoYAc0L3O6xN\nMMD0wHC4VCCINjX/qloLeESkRZvZNsh7pt4+TTVAAk4EPnACScwFxgPpqurxpYlIOFChqhWqutOb\nD2Cgquaoai4t3FzXMAzDMFrK4MEQHQ3HjnW3JIZhGEZ30Z41TeXAPhFZDZzzJarqd1uSWUSmADFA\nMeDxJpcA0TjGT2kjaWX1DhHofa9v+DVqGRqGYRhGe5g2DfbsgXHjulsSwzAMoztoj9H0jvfVakRk\nIPBr4E6czXFHeH+KwjGiSjg/a+RLK/V+9lHrfa8/l9rkvOrSpUvrPqemppKamtoW0TsEVcXtdhMa\nGtptMvQF0tLSSEtLa/dxrLz6HlbmRkOmTYPdu+GOO7pbEqOzsfpvNIXpRt+m1WuaRGSUqma1+YTO\neqj3gB+r6ife/Z1+r6qLRORx4DiwHMct7xrgdmC0qv5MRNYCi3HWNH3du6bpbeC7OAbTs21Z09SV\nlUBV2bBhB5mZBSQkDCYlZTYinTtBZpXcoTl/Zd99CgkJqbtf3VFeRufSEj3wlfnEiYOYO3cqYWFh\nVo/8kNasYVi+HF58EVZajFi/o74e+Op/RkY+48ZFkpIym7CwsG6W0OgKmmsPPB4Pq1dv4uDBIpKS\nYq0/4Kd09Oa2y4Hp3gO/raq3tzL/ncBM4KdeZfsh8LGIbAROAL9U1RoReQnYCBQCd3vzPgOsBiqB\ne71pS4E3cYymR1p7MY11ioFO6xy53W4yMwuIi7uRzMyPmDu3czthndnp7+mdyObkq/+7qpKWtp29\ne0+jWkRIyFASE2NITk7q0vJqDT39/vcGGruHvjo6fPgNrFjxO9LT85g4cSDBwSEcOFDYqnpkZeQ/\nzJoF3/oWeDwWDMKfcbvd7Nt3htOnw3nrrff52992cvvtV5GaOueSdd7quv/Q1ADqmjWb+K//ep/+\n/Sdy7NhJkpOTWmVQm470ftpiNNVvNS5vbWZV/TPw5wbJ24H/afC/14HXG6StBdY2SNsHXN3CczfZ\nQfJ1ipOTXWzbtrfTZhZCQ0NJSBhMZuZHJCQM7vTK01lGWk+fgWnKGPbh8XhYs2YzR46UkZAwmDlz\nprBixXbKy0dy9GgGDz30D2RmrmfuXOnS8mopPf3+9waauoe+Orp37weoBlJaOo7nn3+XuLhwrr32\ne2RmrmpRPbIy8i/i42HgQMjIgMmTu1saozNQVTweD/v3b+eDD7KJiprMuHHjSU/PY968Sw/AWV33\nD3xluX//WSorc+jXL75uAPXAgSL6959LUdFn1NYGt6qMTUf8g7aMl7VoDVFPw6ewy5atJS1te90U\nrK+DlJPjdIpFpM7IyMjIp6ysrJkjt54FC2bx1a9eTWrqnA4/dkMaXl9HdfovNMYKcLvdzWfqQi4l\nnzNitJlly7ZSWBjN/v1nKS8vB4IIDIxn8OAgcnNX1d2vlJTZ3H//tW0uL1XF5XJ10JU59PT73xto\neA9dLlddOaWkzOaBB27k+uuvZN26V6iu7sfp02c5ceL9FtcjKyP/IzUVOmCZpNED8Xkb/O//LufA\ngWKuuuo+qqsPEhR0gKSk2EvWeavr/oPb7SYjI5/8/CjeeCOTM2ci2LMnF4CJEwdx+eWnmDo1mDvu\nuLpV/SnTEf+gLTNNSSJSijPjFO79jPe7qmpU01m7j0vNuKSkzL7ge0LCYDIyPsTtPsNrr23q0FEB\nVeXjj3d26WhDw+vrCLp6xqy1XEo+t9vNkSNlTJ58C+npf2PWrIH89a87GTUqnICAXJKSljBv3rS6\nPL7Zh7bQWaNLPf3+9wbq38OJEwddMMO8YMEstm3by9Gj54iOhiFD5hEe/gnf/OY1REW1rImzMvI/\nUlPhnXfgH/+xuyUxOhqXy8Xy5ds4dsxDTk4Rqn/lW9+awT/90zearbtW1/2H0NBQxo+P4uOPt5KU\n9AU+/ng5iYljeO65NwgOHsIXvziFBQtav87NdMQ/aNPmtr0NXyCItLTtdZ2ipmYNfLMCbreb117b\nRFzcjeTkfMT991/bro6zzy2wqqqKF174iNGjb2n3cbubnu6f21C++os809K2k5GRz+jRYWRluRg+\n/Aaysj7gG99YSFRUVKuvran/u1wuli1b2yF61NJzGpem4aJvt9uNql5QL++55yr+8Ic0Ro++hfXr\nn2PUqFhmzBjZotnGhmvlrIx6Lq3dzPL0aZg40Xm3IvUfRISqqioee+x3fPopDBkylvnzq/je925t\n8aCZ1fXej689UFVWr95EZmYBR46cYMGC7/Dmm7/kttseJj9/Aw8++IU2lbPpSO/gUoEg+pTR1JzC\nNlznoqp1C7/b45pVPxIXwIoVnwI13HrrHBYuTG7rZRmtpLHOckhICKtXb2Tlyn1ADUuWJLNgwaxW\nzQY2N5vUEmPd6DoadpR95ffuu1uprRVuu202AQEBLF/+CVDD4sWzueqq6S3uOJnfeu+htUYTwIIF\n8PjjsGhRJwlldDkiQm1tLY8++iSrVp0gNjaQJ5+8n8DAQKvLfYjG+gibN+/inXe2sHfvEcrKyhg7\n9jIeffSWZgODGL2XSxlNXR4DSESGi8inIlIhIgHetO+LyEYR+aM3JDkicreIbBaR90SkvzdtoYhs\nEZG1IhLnTUv05t0oIpOaOfclF3KeX+dyGRkZ+cydO7XJtSyNrVNpLK2+W2B6eh7p6XmkpDzAmDGX\nMW/etJbdNKPDERGCg4O9o0mF1NRUs2DBw+zde5ry8vJW+R4356vc3jVRRufi82EfPPg6Tp0qpaKi\ngoyM/DbVU/Nb93/uugv+8pfulsLoaMrLy8nP78e0aT+itDSU0tISMjLyrS73UUSEkJAQqqurycmp\npH//awkPn8iAATexa9epC9bAGn2H7gicWoCz/9I2AO8+TamqOh/YBywRkSDgQWA+8BrwgDfvvwPX\nAU8AP/KmPQV8GbgLeLqtQp1f53I1+/a9z/jxUYSFhTVqZPlc/Z5//sO6oBItCTSRlBRLUlIsubmr\nml1YanQu9Y3ksrIhqNawbt2zHD/+Obt2HWDixEEtDp7RXLCN9qyJMjofx4c9kvXr/0B1dQQffriH\n8eMjyc1dxZQpw9i2be9F9fpSx+qMwCtGz+HOO+H996GwsLslMTqSqKgoZs6MZsuWpZSVVfH66xsY\nN66/1eU+jNvt5ujRcqZNW0hFxRZiY/MpKfmQrKyTPPfcG7z88poWPRcM/6EtgSDahaq6AXe9ac2Z\nQJr38xqcPZkygXRV9YjIGuBFEQkHKlS1AtgpIv/tzTNQVXMARGRAK+S4wFUvJCSEceMiOXSokK99\nbQY33DC/ybwul4sVKz6lomIGhw9vJTk56YKoe77Q5T6Sk5OYO1fq1jh09V4/5kd7MVVVVaSn53Hl\nldezbt0bTJgwiMDAQObO/TZ79qzhvvtSmTEjoMWL/jsy2IaVV9eiqsyaNZnx47eSmzuO/fs/5vrr\nq7j99hmEh4fXrW28VMj++mXWGYFXjJ7DsGFw663wwgvwwx92tzRGR6GqXHHFZQQHryMq6hZyc9eR\nkHA5qalDrS73MXxeQyLClVcO5K23tnLllUO48cYksrLcxMVdz1/+8mtuv/0OMjM3XtDe2/Pbv+ly\no6kRogFfBL4S7/cBTaTVj/8d6H2vP1vWIgfThuuMkpOT2L49nUOHSqiszOHEiXjS0rbX+TA3HlCg\nmtzcLZSV5bB27RZuvnlhXWSUK68cyIYNO1i5chfZ2QWMGDGYJUuS63xgu3KBeHvWWPhr5fd4PDz3\n3Bu89to6VPsxenQY1133GK+++ji/+92PUT1LWtpmRowYwe23zyElZTbV1dWXvA8dNZtka2K6FlVl\n/fptPPvsO3z2WQG1tbuZMSOVf/u3VwkMDGHcuCHMm3cFp059SGJizEVl7Hu4Ntzbzd/qjHEh//Iv\ncP318NBDEB3d3dIYHUFVVRWvvrqWwsIznDjxWyIiqrjllh9zzz1z+P73v42I+OXz0LgQnyfR8uXb\nqK5W4uODSU8/QW1tIAcPruWGG8aQlvYiZ84c5MUXn2LRogkXrIOy57d/0xOMphIg3vs5Cij2pg1o\nkFbq/eyj1vveon2jli5dWvd53rx5HDlSw/DhN7BixQvs2pXNyZN5zJv3Td5++zfcfvs97N27hjlz\nqnC73ezeffCCUMQAX/jCVJ5/Po0xY67j97/fhtvt4tZbbyQ52c3HH+/kpZc2UVERQUnJJAYODLtg\nc7yuNGTaurmtP1T+tLQ00hrZVKW8vJwtW04zZMidZGVlk5u7l5/+9GsUFvYnOno6587VcPhwENHR\nwVRXb66bou+K+9BZmxF3Jz3Z+Ha73ezalU129gDOnp1OcfGfyMn5PbW1kwkNnURYmAAD+NrX5hMZ\nGYnL5bpgRHHDhh3s3Xua48c/JyXlkRZvfNvb6Mll2B1MnuwEgli6FH71q+6WxugIqqurOX26HLc7\nEhjJuXNnOXZsLK+9tpeEhHVERPSvCwzVG5+HHYW/twVut5u9e09z5Eg/Dh06RWnpZwQHT6W6+iQj\nR05i5crPUK0kOno6sbFTOXZsDy+84Cy/SE5OqrfP54dMn17WYm8Vo3fQnUaTr8XZCTwE/AxnvdI2\n4DCQ6A0UcR2wTVUrRCRMRCKARBwXPoACEYnHMZhKmjqZz2g6HzVtD3v3fgDUcPnlSzh27FecPLmS\nOXNi2LLlZVQD+Zd/+W/y8kIQKeLuu58hI2MVbvdmDh0qITNzB/n5Z9m///eEhAzgBz84zJEjWTz6\n6Nc5cqSMqVOXsHbtiwwdepr+/WNJSkqua2Q6wpCZOHEQc+dObXavgLbuDeAPnffU1FRSU1Prvj/5\n5JOA47s+b14sy5b9iaysPCCI6uoaEhMvp7BwB/36VeNyhZCVlcmqVYoIXHPNw2Rmru/0++Bvezn0\ndOM7JCQEkVKOHVvF2bOhBARU4XJFER0dQUnJR5w50w+3+zr69+9/0XX46sjo0bdw/PjzZGV94Jdr\nFXt6GXYXzzwD06fDDTfAzTd3tzRGe4mMjGT8+FC2bs0HrgT2Ul5+mpiY+Rw5Uo7IOUaPvqXXPg87\ngr7QFoSGhjJhQjS/+MWz5OQEUFsbS0jIxwQFlXD8eDaRkZMZPnwQ5eWHCA2tJSgosJ5eSKfu82l0\nP11uNHmDPPwdmAJ8hBPQ4WMR2QicAH6pqjUi8hKwESjEWecE8AywGqgE7vWmLQXexDGaHrnUuX3T\nrunpeUyePJT77ktl164DLF/+W3Jzz+DxCDfdNBm3u5C4uBv41a/+k2uu+U927lzKsWPLmTBhIAcO\nFBITk8Lq1SsYMeIhKiqeobY2lpiYGWzffoAHHqj2VprjPPHEbXWVpf7oNNCmjrHL5WLv3tOMGvVF\nVqz4HenpeSQlxTZbIRcsmMX06eWtGvHwt857Qx588B/YsyebI0cG4HaPJCjIxcmTB5gzZwgzZ47j\n1Vd34fFMRHU4mzd/Smbmj7jllis7ZMHnpUbqVPWCNXC9nZ5ufLtcLqqqQunffzJnz0bi8VQTEpIF\nZDFsWAyhoZfz5z8foKbmN/TvP4oxYxZfMILoqyO33jrjgg2RO4vuGOXt6WXYXQwZAm++CUuWwN//\nDjNmdLdERnuoqqoiJ8cNDAXOAlcSEVHK2bMFVFaeIjl5BgcOOM/DkJCQC2adewvtbT/6QlugqlRX\nuykqqqa2VoFY3O5cIiNvJiwsk7CwQIKD8/n+95eQmjqHTz/NJD39faZMGQY465unTy9r0VrY1srl\nzzN8vYU+tU9TVVUVTzzxAhUVl5Ofn8bMmdOZMCGaw4dL2Lgxn6NHg6muXoVqIJGRUYwYAWVl/Rkw\nIJQFC8aRnV1JdnYBw4dHs3fvXjyeBEQOMGjQIEpKhCVLJvPYY99uyzDzAAAgAElEQVRoUrnbMlPU\nMO/y5Z9QU1NFYGAoCxc+xKlTH/LVr159yUh/tqbJof4eDJWVlSxc+C127DiBagQixYwcOYjU1C+x\na9fHnD1biNvtZsCAGK688lo8ngKqqs4waVIcixfP5oYb5rdp5OhS5eGvo3g9bZ+q+hsYrlu3lR/+\n8Nd88kkOqrWAm/79gxg+PI6oqBs4cWI9iYm3cerU35k4MYbLLovjsssGEBYWW+euW11dTUhISIvq\nSnvqVHfqR08rw46iLfs0NWTFCvjOd+C992CO/9yaPoWIUFRURFLSP5CVVYWzfDqAkBBlzJhkYmMD\neeKJ20hNnUNoaOgF9XDBglm43e4eHyW1o9oPf20LwNGDyspKvvvdX/PKK+upqSnEWRWSS3T0FAIC\n8oiNHcW9984hKSmBI0fKcLnyCAgYhGoRISFDSUyMISVl9gX3ur33qf6Af0sGyo32cal9mnrCmqYu\nw1GyIKqro9m9O5tPPjnLuXNljB3bj7y8QqqqxlBd7WHgwO/gcq2julqoqjqN2z2D117bzIwZtzJo\n0BxGjszii1+cwYoVOwkISCQ+PpzQ0FgSE2NR1QuCPfgisISEhFBWVlY3SnPgwEfMm3dhmTT8f/3O\nlW+EJyXlAbKyPmDixEEcPvwhLlceP/7xH4Agbr11xkUbrrVnZKinPwTaQ2VlJQcPHkN1KFCF6iAK\nC5V16z7E5YolJGQ88fFhzJhRw+nTh8jMPENMzDV8/nkBL7zwMSLC9ddffUGgkJZ0nH2zhY25ebS0\nrNra8e4uI7inRpOrqqriT39aw6FDblSn4OyG4KK8vJjTp0soKVnB9OmDOXVqHQMGRBIbeztxccdR\nDa5XRtV1+335NsVu7IFWP2BERkY+48dH1elPS2mJfnRWGffUMuwJ3HorBAU5a5z+8Adz1eutqCpF\nRZXAWOA0UIDbPYzTpwMYPXoEBw8WMW+es1eTz+Njz573qarayPvvf0JQUFjdMxioq4c9ZfCxYfuR\nnOxq0zO+L7QFp05lUVNTAowEXEAsxcUniYgIIDj4Ktavz2Dr1rMkJS0iMzODL33pTpYvf4477vgy\nmZlpzJ3rJiVldt09bi++iM2VlTM5fvwTkpOT6gbce4p+9RX6lNEUGhrK4sXTeeONjVRUlFBcPBi3\n+0tUVKxgwIAo4uISOX36JOXlrxAQcJazZyfz2Wd5DBw4hPDwWoKDD5Gfv5usrGgmThxEQAAcOxbI\n6tXbSU6+ka1bP0ZV66JnrV+/jXfe2UFgoDJqVCSBgYNRLWo0EpdvJGHFiu2oBjJ6dD9CQ4fVjVqc\nd5dbVTfSkJxcxiuvrKeycggwlPT003XBJupfsz+72bWVoqIiSkr6AWNwltCNpbz8IKGhbiorqyks\n3EFNzTnuvPMurrjiCqZPH8q6de+SnV3OqFFfZOXKdBYsmFU36piRkY/bfYbg4CGMHx9FSsrsi2YR\nVZVt2/Zy/PjnHD/+PLfeOqPVbpttHS3szlmKnmh8++7HunWfUFIyFMcz+DTOqOIcyssPUVMTRFFR\nNWFhZeTkuAkPf54JE+Zz8mQVJ0/+lltvnUNISAirV29i2bKtTJ58C/v3H7to8W/9gBHHjh0nJuZ6\nXn75fdxuNzffvLDZyIw+mqvLnVnGPbEMexJf/KIz07RkCfzf/wvf+EZ3S2S0lsrKSsrLK3EC8yoQ\nCiRTW7uJ0tIqDh06x6uvBlFdfZbPPz/Hxo0/ZNiweNat20BBwVgGDRpJenoec+eej6Y5ceIggGYD\nSLSl49vaPPXbj4kTB10U8bOlbYW/twUiwvDhIwgIyMXjmY2zI04ocB3nzv2NvXuXs3//WS67bBz5\n+fksXpxAUdFGZs8eTFbWSmbMGFlnLLf1HjcmE9QAZ4Aav/dO6cl0x+a23crcuVMJDhZqa+NwuzOA\nZ6mqKqSoqIqcnC2IVDBsWCpudxDZ2RVUV3soLv4rQ4cG8MMffoUhQ/pz/Ljws599wO7dhzh4sB8w\nmM2b/0ZFRT+ee+49fvWrd1i1aiPvvLODPXuGc/BgDe+++yn79wvHjxdz552zSEmZfcFu0r6ILWVl\noykpSWTLljyGDr32gp3IU1Jmc//919bNJkVFRZGUFEt4+DHCwz+5YBG6b2S7YT7DiZL0rW/9EMjC\nMZhG4cQVqaC6OhqPp4KwsBRCQpLYvPkzDh06zMmTm3j44VTmz5/I8OGBVFdX4na7cbvd7N9/lsjI\nOWzZcobc3GD+67/e4fvff4H167dd4PpzfrbwEcaMGcG8edOA8w3fsmVrUVW++c1rmiwr30yVb5f6\nlu5KfuEoY8vz+StOuZ2htnYwMBCoBiq87wWoZlNdHcO+fQVkZkZw7lwq+fm1uN1hzJt3H2PGXMbc\nuVMpKSlh3748Jk26il273qWo6CivvLKeVas21rkA+maYR4++hdpaYc+e5URGxvDqq5/w85+/XLdB\nosfjabJMfPX5UnW5YRn72o3Oon4bY0ByMmzYAP/5n/D009AHPN/9inPnzqEaDAwBzuG46GXgcp3D\n5RpJRsY5Bg6cx7ZtZ5k9+2vU1kYxcODVHDhQjMt1lOLidYwdG3FBPdyzJ5ft248zZEgqGRn5lJSU\nUFpaesF567f/Ld0otbV56rcf3/zmNcyYkdBpbUVvbxdCQ0O5+eYpeDyZwHogEidY8+tACDCT2tpZ\nnDwpFBaWMmXKldx3XyoisHnzQXbtyqCysrJD2+PQ0FBuvXUOCQkelixpKqhY57f5Rh+bafKtayot\nLae8PA6owhlhvgO3+20ghLy8QE6f/j2qIUA+EEFNjYvs7BKefvoN1q7dyrlzExkzZgrnzq2jvPwT\nKioOExk5kNzcUk6c2MuBA1Vs2xZMXFwcERH5nDq1g4CAAZw+XUtISD5//OPHBASU1fm/LlgwC1XF\n4ynk00/XAZHMmzeUM2fWXjAj1dgIjzPjlHRRsImGow/+PDLUGlSVt9/+gLS0s0AcMBo4BpwCpnDu\n3FFiYqIpLFxNZWU4u3e7ycwsJCenmLVrN3H99dMIDHSTk1POP//z//KFL0wjM3MnW7euJiwsm4MH\nTxAeHo3LNZtdu7KZO3dqXdk0nC30lUl9Q+jAgXUXuW3Wl73+TNXixdNbPJLVUaOM/kJoaCiTJw/D\n4zmJYzyP9v5yGugPhFFTE0lQkFJZmUlV1RlOnDjN22/XEh6+g8WLE9i8eRfPPruCI0cK6N/fRXU1\nbN9ew4ABxQwZUorH4yE0NJQDBwpxufI4eXIlN9wwkYqKCt58M52kpMV88skq7rjj62RkrMXl2sTB\ng0UkJcXWrZVqaouCpq6pq2aVbYSzcSZMgC1b4KabICcHfvMbCAxsPp/R/QwcOBDHWDqN0zUKA04S\nFJRAfv4phg6FM2c2MGlSKNu3/57q6lI2bHiFMWOSOHx4C0OHhrFs2VpWr97P6NFRnDy5kkOHdrNl\nSzYiHzFrViyrV6+hpCSYRYsm8OCDXyHQqxyXcrut77bvaw9KS0ubdPNuSMO11EBdm9TU/nNtxR/a\nhdraWt54YzkQ7E05heORkodjSG8AqlENo3//uzh4sJipU8t49919BAcv4o9/fAOPJ5KZM0cxceIg\nDhz4qO6+t4fU1DnmSdQDaJPRJCKBwH+r6vc7WJ42ISK/AGYCn6rqY439R1VZvXoT//ZvvyUjoxiX\nKxu4DCcQ33bgDGfO1AALcYL6jef8dOgETp7M5O23K6msdKO6l8OH06mszKaqahRwBdXVSlHRLjye\nYtzuQbjd+5g58zLS0/dTURHMkCFjKS7eREyMkJk5nGPHdvDQQ3eRkZGG272ZAwcKOXq0kOnTv0RA\nwFDGj8/nzjtnERUVhcvlIjg4mLKysosCPojIRW5gfSHCTVtxuVysWXMQx2DKwHlIVgPhQB61teHk\n5R0kICCZ2tpoTp06BBwCrufkyaMsX76FGTOSyczsT17ep7z66gfExsaxaNHvWLXq34iMnMqpU2sI\nDPwdISGzeO65Ny5YHNrQH7y2tpY1azaxceNWCgo2smhRAiEhIcDF7hf1Z6qysj5g5szEVkXo8Z0b\nYNmytW0Ked8bfaebknv+/JkMHDiIU6dO4LjjlOLshLAOp104QFVVPjAU1TAqKwP49NNagoKCyMtL\nY+rUY+zfH0Zt7XUUFi6nX7/hlJfHUlp6hPj4y9i//wwiAYwZs5gjR96lsPAQL72USX5+FqGhg4Bi\nkpOv4OzZdYwb158VK7ZTWTmKY8e2UlVVxWefFdft/ZGRke+deV53yfLqqvUGvbGN6Sr9HT4cPv4Y\nbrsN7rwTXn8dwsM79ZRGB3Do0CGcZ8Ex7/tlwD7c7t2Ul4fx+eejeO21ZVRWxlFWdorq6mQqK/cy\nZEg2UVGjOXo0kM8/H0pVlRIX14+FC0fw5ptrOHduIZWVe1i16hAuVwzx8V9i+fJVfPbZ7wgLC+am\nm6Zx+eURfPbZ+xdtWeDxeFi9ehMrV+6itla47TZnwOS993aQnZ3LsWMnWbJkZpNrp+rPdMfF3Uh6\n+vsAjB59C6dOfdjo/nPtobe1C43ds7y8PN56ayvOrNIVwCc4612DgKk4AZ3PUF1dzYkTbzF+/BNs\n357O0aOZlJWdIzLyBCNH3kRGxga++tWrmTs3lG3b9rJs2dp2GZJNuUX2hTVmPYk2GU2qWisiV3e0\nMG1BRKYBEaq6QESeFZEZqvppw/85EVGe4bPP8nEWeoIzotwP2A+4vd9Xe9NycXybP8fpUFVQXLwD\np/JMxu3+GMewOg1UU1MDERE3cu7caqqqoikrg6NHCxk1ah4nTmwiL+8UiYke4uIuw+XKIyqqmuPH\n32fatDiOHCmr2+tF5HMCA3NR7cdPfvIXsrNPMmxYDKplHDhQRUyM8vDDt7FwYXKLZhVs9OFijh49\nhGMoD8cp63ycsi/C2Wc5FI8ng6KiMCAZ2AtswOOZQH5+LUePfk5ubik1NTOAGk6ePMpf//owYWHl\nVFePol+/GPLyyjl0KJZ9+7bw7W//mE8/XcfcuVPrZpzAeSD+4hfLeP31/YSExDNp0jgCA4Pqgko0\nFmmx/kxV/ZDXLSnn+o1ua/Wjt44gXmqW5ty5c+zfvwun7Mtx6rvguGMEABNxdCMRZzs5N1BCTU0B\nhw+f5PDhz7xpcQQG5hIamoNqP6qrqzh0KIu4uAL69YvlnXce4eTJXPLza1G9iZoaD1FRV3H48Bbm\nzh3IyJEhVFW5+OijTVRWXsbllxfjdruprh7HsWNbmTp1Am73Gd5669ckJw8hJCSkyeAjLVlv0BHG\nQ2vamJ5gbHe1/kZFwcqVcN99cP318PbbMGxYp53O6ADWrVuHs9VjBE6HeSgQTW1tPkVFcRQVVQCF\nBAX1p6bmBM6gagGlpbU47t0jgAPs3Onh88+D+OUv+1FQcISamh1AAFFRUYSERFBY+GeCg2H37mmI\nHGH37r8QHR1BfPwgpkwZVhdMyuPx8MEH6/j977dy+nQoHs9Iamu3MHr0cCorL2fQoDmMGuV4M1RV\nVV3kPQDU6bxvVikpKRaAzMyPSEyMITIystX14lL1uaf1PZrb3qOxZ0NhYSFOX2AYzrPBg1PWtcBu\nnOeEG/gHzp5dyZYtn7J/fyU1NeEEBCThduexdu2vGT9+MK+/vplx4yI5fLiU+PgvdIoh6e9rzHoa\n7XHP2y0i7wF/xRmuB0BV32m3VK0jGcfSAVgDzAUuMppOnjzJZ59lADE4hs8onA5RMU7jGIJjTB3C\nWeNQhjPrFIYzAn0dsAtnoXgJTud6Mc4WUfkEBwsVFesBNyJpDBw4ip07j5CTs4ny8hBiY4dz+eVT\nGTEihA8+2EBRUTZFRR6Cg5OYOnUiBw86e73MnTsVt9vNK6+sp7x8AocOlXHyJBQWZnHZZY9x+vTf\n2b37FFdd1bJZBatMF1NWlofzgOuPM9s0FMcALgYG4XScfWtcjuHoRS6OboRz5IhvRLIKp0GdzNmz\npwkMLCQ4+FOgkJiYWPbv3wDk8h//cS8DBgxDpJR/+qf7CAhwlhKWl5ezc2cxMTE3sXfvq8TGZjNl\nyj2EhobicrnIzCxg+PAbWLHihbpQowsWzGLu3POBA9pazq3N19tGEH00JrePrKwsnBnHfjhRkqJx\nBkn649T5fJyHYyWOITUYZ0HwCG96BI6OTKO2NoCKimHAIUSuIC/vDG+8kc7gwTWUl5/B4xlLVVUO\nIu/i8VTgdhdTWVlDefkE/ud/fk9tbS0eTyyRkUsQeZ9Tp3IoKOhHYGA6L7+8hpMnS7j99kfIz99w\nQRQ+t/vMBTOZLenwdJTx0BId6inGdnfob0gIvPYa/Md/QEICfOUrsHgxJCXB0KHQC8Yc+hRVVVU4\n7cBknIhp23DagRHAOO/3cGpqzuE8/+8G3scZVM3xfv8TBQXVlJdH4HKNxXH9DQFCKS0tITx8B4MH\njyAv7ywlJX+nquoUI0ZM59ChIQweXEhAwKa6wbXVqzfxi1+8z7lzAXz22X7Cwq6ksvIMAQFzKCjY\nTXz8aKZPn8m2bXvZu/c0x49/TkrKI2Rmrqpr53w675tVioqKQlXr9N/3nGlpvWhJfe4pfY/mZG3q\n2XD06FGcPkAEzuCqb1DtChzDaThOv2E/Ho/w9tv7iI9PobR0G0FBGVx55QRA2b69kKlT53P48HHG\nj4/iyJGeYUga7aM9gSDCcKyPa4BF3tctHSFUK4nGadnAsWaiG/vT6tWrcXb5vhFnBPk0cBXOFPxd\nQBKOz6rPb3UqziLAw97/7vYeOgmnoxwM5BEaWs3ChQ8SHz+ZQYOmM2BAIv37FzN0qBIXNxmYRXz8\nw9TW1rBgwWWEhQ1n9OglVFSMJTT0NrZsyWPGjATuv/9aFi5MJiwsrF6Ah08IDDzIsGGBxMUp1dV/\nJDa2oC46y6Ww0YfGERGuvHI6jp9yJTAbR4WP4swofQ58EadzvNCb63McN81I4E6cRvOrOB3m/jgG\ndQRBQZcj8hViYqYQFBTAgAH9iY6+DtVRDBnyKFu25FFeXl4nS1RUFLNmRVNY+BE333wL1157XV1w\nCN+IXVbWB0CN13e94KJIa20t59bm88mTk9O7Gv5LyT1s2DCcTSxzcMZZCnDqdyzOoMp4HLfNwzjj\nQpfjGMoZOG3Bd3A6TMdxOlahQBSqYdTUzCI0dBrFxacJDZ2C6knCwkqJiYlk+vRFJCbexaRJE9m3\n7z2iosYzaNCNREaWM3To+yxePIExY8YxfnwigYExjB59CyLB5OauISFhMCJCZmYBQ4cuZNu2sxcF\njLkUHblwuCU61FMWKneX/gYEOEEhdu923PaeesoxoEJDYdAgJy0uDuLjYeRIGDUKRo+GyZOdCHzP\nPw/79oHH0yXi9mkiIiJw6nMhTl9hIM4Y7GzgJE5Hei5O10eBv+MYRYk4sw/bgVqCgmYSFBSE006M\nwOkWzQfGER5+OcOH/yNlZUMYPPh2YmKuoqbmFGFhhxGJQiQYEcHtdnPwYBEREZOBGfTrF8bEiXOo\nrAziqqvuZ/78q3nqqa8zb960uiAzEERW1gd1+l1f5xMTY+oietavt62tFy2pzz2l79GcrE1de2Zm\nJk7534DzLJiDM7BahdNfPIIzgFZAYGA8ItWcPbub5ORFxMZWkJQUTb9+0UydmsK+fe/XbS9hwbj8\ng16/ua2IPAycUdW3RORLQLyq/rbBf/THP/4xTz75K5xO7iCcDvMInMZwJI7d5cLpDJ0CJgCfIXI5\nIqdQHUxwMERE9MPtLqWmJoJRowbw4IOLCAwcjNudx9atJzhzpojFi5OYOjWBlSt3sW7dViorw7n2\n2nief/5p0tK2s3z5J+za9SmBgYNYvDiRxx67OD6tb/Hnhg07OHiwiMmThzJjRkKTm9gaF5OWlkZa\nWlrd9yeffBJVZf36bdx22z9SXFyAEykpDKfjG+z9HOf9fhmOwRyKM10/BGdW4jQi8YSH5xMcHIHb\nHU1U1DkiIiKBAUydGsucOePJyionN7eYs2ezCAwcxuLFEy8qa4/Hw8qV68nKcl20CZ7PtWDr1j09\nYjPBnuBm1RYayl1/Q9Obb/4mf//7BpyyH4AzIOLBaQticAZRInAemGFACAEB57yd2CFANhDOwIFD\nqKmppqbGzZAh0URFRVNQUMGgQR6uuGIS1dVlxMePZOzYAWRnV1BbK9x++xyqq6tZuXIXqoHcdNNk\n5s2bRlRUFOvXbyM9PQ+Pp5DQ0GFMnDiIefOm1V2Db4NJlyuP0NBhrdKNrt6csqdshtmY/nbE5rZt\noaoKzp0Dl8uJsud7eTzOe2Eh7NwJW7fC5s2Qnw9z58KMGY6BNWSIM5MVHOzsERUQcP4YzrVe/PlS\nv9X/XFoKRUXOq7gYysud17lzEBYG/ftDZKTjgjhgwPlXVJQjh8j5WTTfZ5GmZWr4utTv7cnrckFF\nxfnXd78LMTE+OcXrFjcSp4PcD6fN9z0TlLCwEjyeEbjdhQQFhRAdPYD8/KM4s1BHCAyMoV+/YEaP\nHsmYMUPIyyvg8OFjFBUFIVLD0KH9uOKKOAIDhxEVVUJxcQQxMcHMmXM5J06UIRLMHXck19WRtLTt\nvPvuVmprhdraQs6eDWXoUDeTJs2+oC756lfDNsK5F8232a1t13tKfW4Jzcna1LNBZBTOwFkZji64\ncZ4BA3H0YhADBrgZPXoS9957FbW1NezcWcTMmdF873v3sXXrnrr9+G64YX5XXa7RQVxqc9s2G00i\ncgXwHDBMVSeJyBRgsao+3cL8jwG3qep8EXkcx9ftc+A+75qpu4FHcIZ/71bVchFZCPwEx+L5mqrm\niMjtwG9wpgqygZ+r6icNztW7LUPDMAzDMAzDMDqdzjCaNgCPAy+o6jRv2n5VndSCvCHAizj+LrcD\nr6jqLSLyAxzjZwVOCKtU4A5gpKr+XETW4cx1JwL3quqjIvIOvugMMERVxzZyPu2o0cSe4qNvtJ7u\nGlX2B/xJ700P+h5N6W99XfAnHTdah7UJBrRMD6yd8H8uNdPUnjVN/VR1R4O0mhbmvR/4g/fzTJwt\nl+F8IIfxQLqqenxpIhIOVKhqharuBBK8eQaq6rdVNRnHwbhT6Sk++obRlZjeG72Zluiv6bhhGM1h\n7UTfpj3R8/JFZCzOikhE5A6cEGOXRESCgBRVfU4c83wAFwdyaCqtrN6hfFsG1jf8mjT3ly5dWvc5\nNTWV1NTU5kRtlJ4WUtNomoZrmoy2Y3pv9GZaor+m44ZhNIe1E32b9rjnXY7jYjcPZ2XcceAeVT3R\nTL5vAAWq+p6IbASeASap6v9491y6B1gGPKqqj4jIQOAl4OvAX1X1i97jrFPVa0QkTVVTvWnrVXVh\nI+fsMPc86L0L4vs65oLRPvxF700P+iYtCQThLzputA5rEwxouR5YO+HfdIp7nqoeU9XrcEJIXamq\nVzdnMHmZADwkIn/HcbGbCSzw/nYdzmYIh4FEEQnwpalqBRAmIhEiMhtnNzmAAhGJF5E4nFmpduOL\nXNcUPSWkptF5NKcDfRHTe6Mt9JS6dCn99cloOm4YRn0aa7+snei7tGemaTDwY+BqHBe9TcB/qmpB\nK47xsaou8AaAWAScwImeVyMi9wAP42yacLeqlonItcBTONHz7lXVbBGZjBPFT4FHVDW9kfO0eKbJ\nFvn5L60ZRTId8F9sVLnr6Ol1SUTweDw9Wkaj82nYJng8Tvh0o2/R2MyztQ19j84KBPFnnJ0hb8eJ\ncHcWeLM1B1DVBd73n6rqfFX9qqrWeNNeV9WrVHWRqpZ509aq6jxVvVZVs71p+7yzXPMbM5haiy3y\nM0wHDKNj6A11qTfIaHQdn3wC4eHwf/5Pd0tidDfWNhgNaY/RNFxVn1LV497X08CwjhKsu+iuneON\nnoPpgGF0DL2hLvUGGY2u4+mnHYPpt7+FM2e6WxqjO7G2wWhIe9zzfgHsAP7iTboDmK2q3+8g2TqM\n1gaCsEV+/klr3LJMB/wXc8/rWnpyXfLpQk+W0eh8fHpQVgbx8ZCdDQ8/DFddBQ891N3SGV1FY88G\naxv6Hp3lnvdt4E+A2/v6M/CAiJSJSOklc/ZwbJGfYTpgGB1Db6hLvUFGo/PZtg2mToWoKPjCF2DN\nmu6WyOhurG0w6tOe6HmRqhqgqkHeV4A3LVJVozpSSMMwDMMwjM5k82Zndgng2mth3TonKIRhGAa0\nb3NbvHsojQfCfGmq+nF7hTIMwzAMw+hKwsPBt+/98OEQGQlHj8L48d0qlmEYPYQ2G00i8i3ge8AI\nYA+QDGwFrukY0QzDMAzDMLqGf/3XC7/PmAGffmpGk2EYDu1Z0/Q9YBZwQlUXAtOA4g6RyjAMwzAM\noxuZOdMxmgzDMKB9RlOVqlYBiEioqh4EJnSMWIZhGIZhGN3HtGmwZ093S2EYRk+hPWuaskUkGlgO\nrBaRIuBEx4hlGIZhGIbRfSQkwIED3S2FYRg9hTbv03TBQURSgAHAh6p6yS2TRSQReBGoAY6o6v0i\n8jiwGPgcuE9Va0XkbuARoAC4W1XLRWQh8BOgEviaquZ4j/e89/APqer+Rs7Zqn2aDP/E9ucxwPTA\nOI/pggFN64HH44QfP3UKBgzoBsGMLsXaAwM6eJ8mEQkTkX8Skd+KyAMiEqSqG1T1veYMJi8HVfUq\nVU3xHm82kKKq84F9wBIRCQIeBOYDrwEPePP+O3Ad8ATwI2/aU8CXgbuAp1t7PYZhGIZhGA0JCIAJ\nE+Dgwe6WxDCMnkBb1jT9P2AmjoFzE/Dz1mRW1dp6X93AWCDN+30NMBcnjHm6qnp8aSISDlSoaoWq\n7gQSvHkGqmqOqubizHYZhmEYhmG0m4QEyMzsbikMw+gJtGVNU4KqTgYQkWXAjtYeQEQWAc8Ah7wy\nlHp/KgGicYyfxtLK6h0m0Pte3/BrdDrNMAzDMAyjtUycaOuaDMNwaIvRVO37oKo1Iq23U1T1b8Df\nROTXQC0Q5f0pCidseQnnZ418aaX1/oc3H0B9B9QmnVGXLss+1x8AACAASURBVF1a9zk1NZVU3w52\nht+SlpZGWlpad4thGIZh9FISEuDll7tbCsMwegKtDgQhIrXAOd9XIByo8H5WVY1qKq83f4hv7ZOI\nPA0cBL6sqou8ASGO40TkW4OzUe7twGhV/ZmIrMUJGJEIfF1VHxWRt4Hv4hhMz6rqkkbOaYEgDFvk\naQCmB8Z5TBcMuLQefPYZ3HQTHDvWxUIZXY61BwZcOhBEq2eaVDWw+X+BiAxU1aJGfvqCiPwzjpFz\nWFX/j4jEichGnJDlv/TOYL0EbAQKgbu9eZ8BVuNEz7vXm7YUeNN7vEdaez2GYRiGYRiNMXYs5ORA\nZSWEh3e3NIZhdCcdEnK80QOL7FLV6Z1y8FZiM00G2CiS4WB6YPgwXTCgeT1ITITXX4epU7tQKKPL\nsfbAgA4OOd6a83bisf0SVcXlcnW3GEYfwHTNaC99QYf6wjUazTNxooUd7+tYW2BA2wJBtBQz11uB\nqrJhww4yMwtISBhMSsps2hJkwzCaw3TNaC99QYf6wjUaLcMi6PVtrC0wfHTmTJPRCtxuN5mZBcTF\n3UhmZgFud0v2CTaM1mO6ZrSXvqBDfeEajZZhRlPfxtoCw4e55/UQQkNDSUgYTE7ORyQkDCY0NLS7\nRTL8FNM1o730BR3qC9dotAwzmvo21hYYPtocCEJExgLZquoSkVRgCvCqqhZ7fx+kqoUdJmk78AWC\nUFXcbnePVfiWyNfTr6En01MXeXZHmXblOXuazvZUPegq2lIejeXpaeXaFny60NS1WJvcN2iuTaio\ngMGDoawMgjpzUYPRrTSlB771TCLS4npu7ULv5VKBINpjNO0BZgKXASuBFUCiqt7cRjk7DRFRj8fT\n631Sza+2ffTEzrK/l2lPvL6eqAddRVvKoyeWYUchIrTn2eDP96Yv0ZI2YcwYWLUKxo/vIqGMLqcx\nPbA2s+/RWdHzPKpaA3wJ+I2qPg4Mb8fxOhV/8En1h2swLsTfy9Tfr6+30Zby8PcybM/1+fu9Mc5j\nLnp9E2szjfq0x2iqFpGv4Gwy+743Lbj9InUO/uCT6g/XYFyIv5epv19fb6Mt5eHvZdie6/P3e2Oc\nx4ymvom1mUZ92uOelwA8CGxV1TdEZAxwl6r+d0cK2BH0ljVNLcEfrqG76KluWf5epj3t+nqqHnQV\nHbWmyR9obk1TS/DXe9OXaEmb8NJLsHkz/OEPXSOT0fVcak2TtZl9h85yz7teVb+rqm8AqOpxoKoF\nwswWkc0i8rGI/Nyb9riIbBSRP4pIoDftbu//3hOR/t60hSKyRUTWikicNy3Rm3ejiExq5ty9XoH9\n4RqMC/H3MvX36+tttKU8/L0M23N9/n5vDAebaeq7WJtp+GiP0XRvI2n3tSDf58BCVV0ADBWRBUCK\nqs4H9gFLRCQIZxZrPvAa8IA3778D1wFPAD/ypj0FfBm4C3i6TVdiGIZhGIbRBD6jqQ9PUhtGn6fV\nRpOIfEVE/gaM8c4C+V7rgWZDjKvqGVX1rYqrARKANO/3NcBcYDyQrqoeX5qIhAMVqlqhqju9+QAG\nqmqOquYCA1p7PR2NLzSlYRg9A3+ok/5wDb0Bu89GUwweDGFhkJPT3ZIYXYW1B0ZD2rLjwBYgF4gB\nfl4vvQxIb+lBRGSK9xjFgMebXAJE4xg/pY2kldU7RKD3vb7h1+ExHVvjl2phJo2uwHylW05jdbK3\n0Zp2xXSj7TR3n+3eGgkJkJkJ8fHdLYnR2TTVHlg70LdptdGkqieAEzgzQm1CRAYCvwbuBGYBI7w/\nReEYUSWcnzXypZV6P/uo9YlUX7ymzrl06dK6z6mpqaSmpjYpn69ShISEtMoIujDM5EfMnWsVqztJ\nS0sjLS2tu8XoUDweD2vWbObIkTIzzFtAY3Wyt+F2u8nIyGfo0IVkZqY12a7YoE37aExXQkJC2vQs\nMPyTqVNhzx64/vrulsTobJpqD5pqB8yY6hu0eW9rEbkN+G9gKM4MjwCqqlHN5AvEWaf0fVU9KyI7\ngYeAn+GsV9oGHAYSRSTAl6aqFSISJiIRQCKQ6T1kgYjE4xhMJU2dt77R1BiNGUrjxkVy+HAp8fFf\naJER5AszmZlpYSZ7Ag2N4yeffLL7hGkhl2p4VZU1azazbNlWJk++hYyM42aYN4M/1Emn436Gt976\nLXPmxDQZ5csGbdpHQ11p7lngM6jsHvcdZsyA999v/n9G76exZ4fL5Wq0jVVV0tK2k56eR1JSrA2q\n+DHtCTl+BFikqq2KJyMi/wD8L5DhTfohsABYjDODdZ+q1ojIPcDDOOuk7lbVMhG5FifwQyVwr6pm\ni8hk4Dkco+kRVb3IRdAXcrwxfD6r27btvejhmJPzEePGRdaN6qemzmn2+my0oefS00NNNzdT4HK5\nWLZsLYWF0ezbt4n775/L9ddfbfrWDA3rZE/Vg6baDpfLxcsvr2HIkGvYsuVFxoy5rMkHc1ra9jr9\naUl79f/ZO/O4qM5z8X/fAWYAWQRkUVRUQAUXEnc0Cho1aTRqm6RJ0yZtliY26ZZ7b+/N7W1v0uW2\nt9vvdkubNPE2bdrbpk3baKLRuAR3cQVUQEERVBYRkHWYGWbe3x9nBgEREJD1+X4+85mZd+ac85xz\nnnd5zvu8zzPcaasLLe9BY2Mjr722jZiY1Tf0BSkp82TmaQjR1TYhJwdWr4Zz5/pAKKHPuVl70PIB\nSXttbGNjIy+++BpW6yT8/M7z3//9LL6+vv11GkIP6SjkeLdnmoCyWzWYALTWfwb+3KY4HfhRm//9\nEfhjm7KdwM42ZSeBu25RhlazSpmZpRQUXCIl5Vny8z8kPj6I/PxtzZ1hSkrXB6USZnLw0t8Gb2cz\nBZ4nX6dPX202mGTg1jn9XSe7olcdGcwWi4Vp00aRmfkh4E1MzOqbziSlpMyTGaZeQGvNoUOZFBRc\noKDgVdaunU1q6vzmvuBmT5yFoc3kyVBeDlVVEBLS39IIt4uWbXZbl7wlS+aSnOxoVd+Nttobw/Gq\nSPrhIUxPjKajSqm3gXeB5vAiWuu/91iq20jLwYlnVikmZjUFBb+kqGhz8xPcloaSdIZDn4GwHqQr\nrmQtB8UycBv4dFWvOjOYPff94MGMDvWjvw3EwUx7fUNKyvMUFW1m4cI7W13boeD2Kdw6Xl7GuqZj\nx2D58v6WRrgdtG2zFyxIatM2O26o7xaLhbVrZ5OVVUpS0hxpD4YwPTGagoAGYGWLMg0MaKOp5eAk\nP39b86zS2rXzWbjwTjGUhikDZT1IZzMFMnAbXHRVrzq7l577LjNJt4/2+4YPSUqK6vQBhjB8mD8f\nDh4Uo2mocmObrbrUz6amzmfhQmkPhjrdXtM0mGi7pumjjw61WrAna0KGB535rd9sPUh/u+11xECW\nbaDS12uaurrOyOVyUVdXR1BQh7F0hF6krS6kpaVz+vRV4uODZL3gMOJW2oTNm+EnP4Fdu26zUEKf\n49GDlmPE1NT50s8OM27Lmial1GSMAAyRWuvp7rxLa7TW3+3uPvuC9hrGrlYEqThDm/aeHPfEba8v\n9EXcsQY+XZmR0FqzZ88RyQnST3iu85Ilc7HbjZD+ZvPhQZnXS7i9LF4MDz8MjY1GslthaNF2jKi1\nRimF2WzGZrNJWzzMMXX+l5vyOkbkOweAO2rdI70h1O3EbreTk1PpXkxdgc1m61LGZ8/gecOGnaSl\npQ/I6FtCz2jPAGk9VV+B3d55nh+tNY2NjaIvAtCxYeuJ3tmenkmb0ze0vM47duwnL6/mhvvQlT5C\nGB4EBcH06YaLnjD0aDtGtNvtuFwutm/fJ22x0COjyV9rfbhNWVNPhOkLPGsHiou3kZAQyqFDmbz+\n+nY2b97VYUXozuBZGPy01JeurBvyDMBee20b7757lKioFWRmlnaoLzIoG560HKwfPJjB1KkhFBa+\n35wjqLa2VtqcPqD1WqZa4uICKSx8n7i4wObIWTJYElqycqXhpicMPTx9/uXLW4mLC8THx4ctWz5i\nw4aDVFZO4PTpq9IWD2N6EgjiqlIqFiP4A0qpB4GSXpHqNpOSMo8FC4ynu7///R6OH/fhf/93E9nZ\n+fzzPz+NyXSjLSmL7ocvt7Lg2zMAi4lZzfnzv2DXrl/h5WUMjlesuOsG176BELVP6B9aDtZPnzY6\naKA5UWJOTiU2WxmXL29l2rRRN014LO57PcNisZCQEEpW1vvMnBmJ1pq8vHwKCnzRWpOfX9vlBOfC\n8OCBB2DtWvjRj0Ca66GHx0337Nlqjh37NSdO1BMYOJ6srPd5+ulkaQOGMT0xmp4HfgNMVUpdBgqA\nz/SKVLeRtslsa2uLOH48lylT1nH06NHmhdjtDUY6GzzLAGZo4nGvanl/27vXnqfQHuP6vvtmkZNT\nSV1dBBs27AO4wXDqKLqa6NPgxdPOtOea1/K+enTFiNRWS0zMarKy3gcgJmY1ly9v5bHHFt8QHKJt\nOyYGd/fRWqO1pqnJQX19PTk5FTQ2TsTLK5rc3FISEkKb8/ZJXRQAZs4EsxmOHoW5c/tbGqG3cTgc\n5OXVUF4eyKZNZ5gxI5GqqnyefDKZlSsX39A3S189fOi20aS1Pg8sV0qNAExa69reE+v24HK52LFj\nPzk5lRQUXCAl5Xlcrq3MnVvE0aMbmTcvkMDAwBue/i9ZMheHw4jN35HBJDMGQxeP7uTn15KQEApA\nTk5l870GI/JWVlYZM2dG8sQTSzGZTCh1mA0b9jFjxmry8y/ckCj5ZjOYok+DF89M0caN6YB3c2JU\n4AZDZ8mSuSxYYHcvNDZyMCUlRaG1JivrfZKSoto1mNom5c7O/lBmQbqJzWZj48Zj5OVF8dvf/i/B\nwb7U1WkmTgzhkUceapXUVhDAmF361KfgzTfFaBqKWCwWYmMD+Mtf/oHFMouMjJ0sXHgHI0aMwGq1\nkp6e1aoNby+IjzA06Un0vH9q8x2gGjimtc7ooVy9jtaaHTv2s2HDQaZPX0VT0wWKijaTkBCK1ouI\njBxBXt5Rtm/fx5Ilc1u5zXiiKfUkOaUweGmpOzNm3EVmZilKKcaPX0Vm5maSk43F4hs3HsNqncP5\n80dwOOzk59eRkBDKk08u4Ny5C11KWOtB9GnwYrfbycoqw2qdBESQlVXKrFk1nDiRe4Ohs2CBvdmI\nMnRlGRaLhbS09Ob9eaI3tdy/xwW0ZVJu0Y/uoZTCbm/g9On3qaw0ERoaSUJCEiZTPg6HA5C8fcKN\nPPssTJsG3/seBAf3tzRCb6K1xmRSgAmX6wz19SYiI5fz7rt7OXy4gJKSyuY2fNasOumrhxE9CQQx\nB1gPRLtfzwL3Aq8rpf71ZhsppUYrpY4ppRqUUiZ32b8opfYqpd5SSnm5yx5VSu1XSm1SSgW4y5Yq\npQ4opXYqpca4y6a5t92rlJp+s+Pa7Xby82uZPn0Ru3b9Dq0dJCSEsmLFXUyZMpK8vKPu2YBalFLN\ni/89bjOdLca+1YABwuDBozszZqzm5Ml9JCaGMXNmJLt3v0ZBwQUOHvQ8I2gCruB02sjJqWLMmHvI\nyakkJWUeTz11901z9LTnwiX6NHixWCwkJUXh53ceX98juFyVvPlmGu++e5Tx41cBTRQVbSYxMQyl\nVHOHm5NT6R7A3xi9qe3+Pbqxdu181q+/t8P8T0LHmM1mxo3zp76+jpEj43A4smloOMysWUvJz6+V\nRd9Cu4wZA/fcA6+91t+SCL2N0efXkZr6WRyOehYvTub06S0UFRVy/vwkLl262NyGBwUFSV89jOh2\nclul1B7gPq11nft7ALAZw3A6prVOvMl2ZsAP+AewHAgDfqu1Xu02ts4BG4FdQCrwIDBOa/0TpdQu\nYDUwDfis1vqLSqm/A1/ECEjxa631unaOqT0uMxkZJeTnn+Puu79CUdFm1q+/F7PZzPbt+5pnk9om\nM+tqckrxax3YdJbAsKP71zLp5cqVi2lsbOS117YRE7Oa4uJtPPXU3Rw4cKI5IR7QJZ3pCNGn28Pt\nSG7bno+7J5T4H/6wjzFj7iEt7ZdMnDiBmTMjWbjwzub/tte+dNbmiG70DkopGhsbeeONHaSnV5GR\ncZBHHklgzpykVv2BMLTpbpuQm2vkbTpzBkJDb4NgQp/i0QOtNdu37yMvr4aGhsv4+0cTE+PLjh2n\nsFon4et7ju9858lm12lpj4cWHSW37YnRlAvM0Fo73N8tQKbWeqpS6oTW+s5Ott+FYTTdA0zTWv9Y\nKTULeBTYADzvNopCMQJOPAb8VWu92rO91nqZUuojrfVSd1nz5zbH0p6K0NjYyI4d+9mx4xROp+LB\nBxc0r0lpb2G/3W7HbDZLhRgCdNQxdraGyOVyNQcJ8dDWkGq5+N/Hx+eG/wsDg942mjrTHY+exMUF\nkpo6v1UgEU/CRE/yxI4CjQi9j0cXPvroEH//+wEaGx2sXTuH++5b2ryOFWRQNNTpSZuwfj14ecEr\nr/SyUEKfo5TC5XKRlpZOZmYpU6eGMH/+TLy8vAgKCuKjjw41PxiVhylDl46Mpp5Ez/sjkK6U2uj+\nfj/wf+7AENm3sJ+RQI37c7X7e/BNyloGm/Byv7d0Mexw9Z3Wml//+k/s3n2RiopiJk9+jHffPcqC\nBUn4+vre8JS4bWQqYehyszVEHUUpW7x4DnV1aeTl1QB7Wb58EYcOZbrzOFzBbI5g2rRRsjB0iGO3\n2zl9+irh4cvIzLwxIIMnfG1+fi0WS0bzwuFTp8qxWovx948mMTEMaB1cRAbofcf8+TP585/3cfKk\nibS0/yMnJ59/+qensdlszbmaZKG30B7f/74RTe/jH4fly/tbGqGneALD1NfP4p13fo/WbxMVFcoz\nz6xgxYrFJCfbpf4PY3oSPe87SqkPgEXuovVa66Puz5++hV1VY6yJAggCrrnLgtuU1bg/e3B6RGkp\n1s0O8vLLL2O1WvnTn3YxatRqCgvzaGraTXR0FY2Nja3CSktkqqFBWloaaWlpXfpve1HsPC6dx49f\n4uLFy6SkPN+sC2azmZ07D/D73x8lMHAUu3efxuFwUFDQQGjoIjZufJ0HH/wU2dm7ehymXp5yD2yM\n2aIyfv3rlwgL08ycGUlq6vzmjtUTvjY8fBkZGduYNq2C06evcvVqEJs27WDNmilkZJTgcrmIjV0n\ni4n7GK01e/ce5eTJPM6ercHP7242bTrJ1KkfcfGinbi4QPLyaiRXk9AuISGwYQM88QQcPgyjR/e3\nREJPMGYZHDQ2XuD8+UICAxdx6ZIPLtcewPAIaPlwq6UBJd5JQ59uGU3uYA2ntdZTgaOd/f9mu3G/\nHwG+APwYw13vEJAHTHMHilgOHNJaNyilfN0zWdO4PptVoZSKxjCYqm92sP/8z//kxz9+naamIioq\nGgkOHsOUKQuprd3JN76xAW9vX9asmcXs2Yk3RKZKSAgV5R+EpKamkpqa2vz9W9/6Vof/bxvFznji\nlI7VOomrV4s5c+avLFgwCbPZTG1trXvNwz1s2vQma9Y8SUFBEbW1hezdm01YWANXruy8aVJS6FpY\ncQk9PrDRWlNbW4vJFMrEiatwucrJyipj4cLrM5XGbGUZv/rVi7hcVgoKLjF2rA/Z2de4446PkZ2d\nzty5I7l82crFi6+ydu1saW/6EJvNxubNR7HZxlNXtwW7fT/FxbV88MEJUlK+QE7OTsnVJHTIypXw\nzDPGbFNaGvj69rdEQncxm82MHx/I+fM5BAf7Ul9fSk1NCUFBK5qD9bSMnNs2TYh4mgxtumU0aa2d\nSqkzSqnxWuuiW9lWKeUNfADMBLYBXwf2KKX2AoXA/2itm5RSrwN7gUqMdU4A3wO2A1bgs+6yl4G3\nMYym52923JqaGv74xxModT8Ox/s8++xCLJZKCgpCsNniqakJ5M9//oiTJ6/gdFZw4cJ7rFkzj6am\nJvLzazGb00X5hziedSU2mw2LxeK+1964XKMoL68lPT0Ps9mKy+UiJ6eShobLhIU5eeihyfj5ncdq\nLePYsRqmT1/EqFE17SYlbUlLl8DTp7cya1btDf+X0OMDi5br1lq6bblcFeTnf0hJSQ3+/rG4XCtb\nzVrn5V1hwoSF5OWVU1k5jUmTanj88TgKCxuZMGEOhYWNpKSspKhoMwsXdrgcVOhltNYcO3aG8+fj\n8PcfR2CgN5MmraWkJItXXnmJsDAXM2Z8kiefXIavjIaFm/CNb0BODjzyCPzlL0byW2HwYbPZKCxs\n4MqVEVRXWxg5sork5E9RU5NNXFwcI0aMYOPG14AmDh7MaB4X2mw2MjNLGTNmBe+888sueZoIg4+e\nrGkKAU4rpQ4D9Z5CrfWajjbSWjcBK9oUHwF+1OZ/f8RYN9WybCews03ZSeCuzoRVSlFbe4nGxj0E\nBJTz6KOr8ff358iREL71rVfJz6/HZLJgt9+Jv38NsbFBOBwOcnOr3KF/tzW7Zd1s2lXcqAYX7UU8\n8wyCp04NYfbsRNasuZM9e86Qm2siJuZL7N79cxoavIC5ZGScZMaMOq5cceJ05lFefg2rdQ5paZv4\n53++l6CgoA51wmKxkJAQSmbme2hdxR/+sO+G2aSbJb8V+p7rSWuP4XTaWLRoEqWlMH78Kk6f/iNB\nQWFMn/6fnDr1Q372s38wfXokBQUNVFXFkJOzl8DAUmprL3Hw4HF8fSP44hf/i6amphYROj+UfEv9\ngM1m49Kly9hs9TidRXh5aU6erCI2NgR//7spLS3n739PJzn5juYHKoLQFqWMZLcPPmgYTm+/DT4+\n/S2VcKsYETVrKSm5SFjYQ1RV/Y6PPtqAUtDUVM7TT68mJmYMY8feQ3Z2WvO48NChTAoKLlFQ8Drz\n54+ivHyX9NlDkJ5Ez0tpr1xrvbtHEt0GlFK6oaGBOXMeJy8PnM5qgoKqCQwcg1I1lJcH4OMTTEDA\nFCyWs4wZM4J77vk0V6+eoKmpEfBizZrZrFy5mLS09OboKS0Ht+JGNfBpGSGpvftlt9vZsGEnUVEr\n+OMfv4HLFUBT00UqK705d66AhgYbfn5mIiMjUaqJGTMWceDAHiyWSCZMSOTy5X2MGDEPL68MHnzw\n/ubQ4x35Pxtrpi5z8eIlUlKep6TkQ5566u52ozhK49s7dDdSls1m49VXt5KVFc6BA29QXl5DZCQE\nBfnS0ODLxYtnqavTWCxmEhOTsViqiY31JTPTTkREIEo5qa6uw2yey7lzH/Hcc3P5t39bj8lkknvc\nTyiluHLlCpGRy9B6EnARMOHjsxCz+RAm01j8/TXJyXF84Qv3k59fJ+37EKQ3I2rabPDQQ2C3w1//\nCoGBvbJboQ9QStHU1MS6devZsiUbl8uBEWvMBxiPt3cp8fFRLF48gaqqIJKTI/jqVz/XPHYYPdrw\nFnj22Xvazb8oDA46ip7X7eS2buPoAuDj/nwEON7d/d1uHA4HwcEReHtPRKlPUFMzlrKyREpLwwgM\nXI/Ndo3AwJMkJYVz771fJDNzD01NjURGJnPq1EXee+8I27bt4d13j5KdHcW77x7FZrM177+1G9XN\nk+AKA4P27pfZbCYuLpCCgo2cO3eVqqolHDxYCczGZktlxIjp1Nam4OU1A1/fYPLzT1JXF0hZWRSX\nLh1k4sRwpk4djY9PINHRK8nKKiMrq+ymOuFJYhobuw7wbk6W17ahlcZ3YGCxWJg5M5Kysr9RWHgV\nH591lJWN5/x5Jy7XfTQ2zmLkyMW4XCmUlCgaGhQnTtiYMiWFc+cuA+NxuSrIy9vJlCmPk5FRR11d\nHSD3uD+5dOkSWkcDzwCJQAhNTRFYraMIC3sEP7+xhIePJCenivDwZdK+Cx1iscDf/w4xMbBkCRQX\n97dEwq1QWVnJhQveeHs/AERhBIZOAGJxuXxxOGZz5Yof69atx2KJbH7YlZgYRkmJ4S3QMhqzMLTo\ntnueUurzGL1MKBCLEQHvVeDu3hGtdwkMDCQpKZSMjN24XMfRuhSHIxit83A4fsPDD8fxi1+8zPHj\nOZw+XcAzzxgef7/5zR5GjFiM3e5FZmYxTqcNuAI0tZplAlq5UbVcGyP0D525xrW9X7t3HyYvr4b4\n+GBGjIDCwt14e1dSXLydwMB6nE4YNcqXsrKzzJgxjsLCPOrqHHh5WZkwIZSnn76P8+frmTkzifLy\ntBZJbtt3rWspw9q1s1slPO3p+Qm9Q9trvGBBEkuXXsJuj2bfvj/hdF7Dz28ERUUbGDHCitXagLf3\naAIDnYwYEUds7Dyqqk6TkBCC1lFYLNGsXOmitvYQCxZESR6vAUBCQgL+/uU0NLwKlADBmEy7mTjR\nH623ER9v5lOfupuMjBzeeefnLFgQjvk2LViROj008PaGV1+FH/wAkpNhyxaYNq2/pRK6Qnh4OMnJ\nIZw58yFgBz4CruHtHQZU4nCkExERR2XlXiZPDm6uq20DSbWH1O/BT0/WND0PzAPSAbTWeUqpiF6R\n6jZgt9uZMGEao0dX4HSO5tKljWhtx8dnKiNGOPD3j+To0dMkJ99BcrIJs9lMY2MjmZk5bN68j9zc\nKvz8ZjFpUggmk5M77ljQKkR5dnYFCQmhPPHEUpRSrcoWLEjCZDJJRelD2nO/a/v7ggVJJCcbT/ht\nNltzrp1t215Bax9CQq7Q2DgSiEKpUu6+O4rExDv529+KKCoKoKjIha/vdHx8xmMylXHunOG6s3z5\n/c2JMbXWHTakXWlou3p+nbkLSYN9Ix1dE5fLxY4dRn6lqVNDmDUrgYyMMxQUFFJRcQyTyYnWiVRX\njyQi4iLTp4dTWupPQsI6tD7Kpz99B7t3n8XfP5CYmAjS03NZvnwdV66kExcXwZ13xqO1FjevfkZr\nzeTJcWRklANxQB1+fleZOjUZm+08vr4TOXo0C1/f0TzwwCcpLt5Obe2NQVt6Qw5x8R46KAUvvgjj\nxsGyZcbs06JFnW8n9C9aa9atW8GuXac4d84FTAYuYLHU4+U1mupqE/v3FxEdPYq8vMmtgoS1TVx+\nszXTvVm/pV/vW3piNNm01nbPTXdHxesdp+DbgI+PFoFoQQAAIABJREFUD+fOZVJcXIjdXoPLFQx4\nY7eX0NgYQUEB/O1v+8nKKiM2NgCz2UxubhUXL9r47Gf/mc2bf8dddz3NlSs7+cxn7sLX17c53PB1\nN6+tOBxHycmppKDgAkuWPMe7777CO+/sQykfHnhgfnP+FlH020t7Uec8tAwNGh8fxIoVd+Hl5UVF\nRR5bt6ZTVXWZwMBZnDv3AVZrEKWlmYCJjRvLcTicFBS4aGoKxMsrDoulgFmzvBk7djRjxtxDTs6H\npKQ4Ws00dnSPu+uWdatR9WRAdiMdXROXy8UHH6Txu98dZfLkuXzwwZ9xOgPw8qqnri6AU6caMJlm\n0th4AlBUVto5ejSEqKh4Dh36P1atGsvHPraUixcdxMSs5vLlrXzuc3Hk5V3h+PFy7PZFlJdfT6wt\n9B82m40rV6owvNU1UEV9vZmqKjsnTjQyZkw8VVXH+NKXotmz53UuXSohP7+wVXveG0ikzKHJpz8N\no0bBunVGPqc1HYbKEvobm83G++9nUlcXD+zDCOIcSH29LzAJs9nElSuV/PWveaxdOx242lxXOwo7\n3tP63d6YUfr1vqcnRtNupdTXAT+l1ArgOeC93hGr96mpqeHgwVLs9sm4XKcAG1AKzAXqyM3NwGQa\nTVVVHD//+VsEBNj5xCe+QFFRGpcu/ZaoKAdXruwkMTGMEydyycoqo7r6PKGh8djtV7h8eSvx8UHk\n59e6czy9SkHBRpqaNIWFFq5diwSMCEwWi0UU/TbTUdQ5u93O6dNXqaqayOuvv0dtbTVbt+7j7bdP\noVQAXl51xMS4cLmUu6FcCFRSU3OJXbsuMWXKg2Rk/IWpUyczd24yq1bN4Y03dvK9732e2NgJzJgR\ngVLqpgEgbvf5tYcMyG7kZiHftdbs2LGf3/3uCFVVkbzxxs8oL28EZuNyZaNUNSbTdOz2YxjuGzMx\nmayMGhVPXd0ZHn30QSZONGEymUhKiiI7exvTpo1iyZK5bNnyEZs2WXE4DhMb65R6PwCw2+0UF5dh\nrGe6AAShdQKnTuUREBBPVdUHhIfbKSiw0thoxWqN4sSJKJzOAyQn39FrRq9Eyhy63HOP4aK3Zg1c\nuQJPP93fEgk3Q2vNkSOHKCvLAcYCNcDHMILEZGAyedPY6I3DcTdvv/0XPv/5Oc3uup4+JSJiaauw\n4wsWGGkqulu/b2YcSb/e9/TEaHoReAo4CTwLbNFav94rUt0GlFLU1FzF5XIBszDSP53GyyuLujob\nDkcoO3cewG4/jMUyg+BgK1u3voXVqoiOXohSl5tnmF57bRvvvbefo0eLmDu3nLvvnsmTTxq/mc0Z\nrdao7N59mO9//2+MHOmPtze3rOgyI9V9bub6ZrFYiI8P4je/2URtrZ2XXnqf4uLzNDTMwOm8jNlc\nSX7+NpSy43LlAvkYS/e8uXathPz8vxIa2siIEVYmTgxh27YsrlwZjcNRT3DwvZw4cRlvb59Woepv\nx/27Fdc+GZDdiOeanD69Fbv9SnPI9wULksjLq8HXdySZmVtpaKjH5ZoNHAAC0DoApzMdWAScBwoI\nD69n7NiRTJ06lokTTc3XuOU9stlsFBXZWLbs82RmbmTVqsVyHwYA58+fB/wxZppGAE3ACWpry7HZ\nmoiIqGbWrI8zfvzH2L//EGfOlGCxhJGTo9iz5wgrVtzVa8Zvd911hYHP3Lmwezd87GNw6RK89JLh\nwicMLGw2GxcvlgFBwHLgf4EdGA/ZR9PY6AVcA64QFzcfiyW8eYx2vZ9NY8GCcMrLd5GQEMqhQ5nN\nyzW6k+/tZmNG6df7np4YTV/SWv8MaDaUlFJfcZcNOCwWC+PGhVBWdgWbLRelwvH1DSAgwB8fn2lU\nVERht48E8nE44nE4CklMTKKkZBSFhSeoqblGenoWy5cvorr6PEeOFBIc/HnS01+lurqMwsIcEhJm\nM2VKcKtKsWLFXWityc2tIilperNSJySEkpX1fod5WWTqtWd05Pq2fPki0tNP8NpruUyYsIjCwkKc\nTgVcw273QetEnM4GoBbDwK4kMHAeJlMYgYEWmpqm4udnQusgwMaoURNpbDyJv/9RZs9OBm4eAKIv\nzq89ZEB2Iykp85g1q5Y//GFfc4e0YAGMHevNz3++j2vXruJwKIw83AojitI04H2MyErniYpayLp1\ngfznf36K8PDwVg85Wt6j60baBZ55ZjErVy7ul3MWWjN58mQMzwMLcCfGgEjjcjmJjn6GESO2EhkJ\nf/nLzwHFww+/wJYtb5Ka+jT5+cWkpNzoMtPdB10SRXFoM3kyHDgAq1bBxYtGsAjJ5TSwMOrgCMAK\nFGOkJF0EZAGfAHaiNVRVZTB1qjczZhgRPjz13tPPetY0AWzYsNPtvr+NhQtvfQzXkXEk/Xrf0hOj\n6bNAWwPpc+2UDQiUUiQlzcZqHUlR0S6Umkxo6BkWLgxn9+5zaH0cs9mJ3e7Ay+swQUEWvL3rqKq6\njNV6gfHjl7NxYzpJSZPx9x9HePgxLl78JT4+RQQE/ITt239PaOga9u7dgd3uYNWqZSilUEqxcuVi\nUlNbLwhsicvlag4c0JK2Txc8U7wtFxt2paLIbNWN2O12/P2jiYgo5/jxrXh5leHlBU6nPyaTGYfj\nAN7eQbhc4O8/AafTjsViTM1XVUFERCMlJVYKC2cTHx9CXJyLxMTHSUmZ32EAiP68FzIguxGlFEFB\nQc0PMaZPH8V7723ne9/7PWfPXsZoIj8G/B3wwphtugBcwGRyERLSyOrVM/H2LiA4OLjTaywd3MCj\nrq4Ok8kPl6sUuAyUAxGAF0VFP+JTn5rFiBHjmDp1Anv3/oHq6r18+tMzMJsLSUyMarV+sSsPurrS\nBkibPXSJjIS0NPjkJ41Zp7fegtGj+1sqwYPFYmHMmCiKilzAWXfph0ADsAkopKlpFD4+o4iMDMLh\ncPDGGzuw2crw8gprlcPTU397YzZoyZK5zJpVd0MAGunX+5ZbNpqUUp8CHgUmKqU2tfgpEOORfJ+j\nlPp/wBzgmNb6hfb+Y7FYeOCBedjte7Fa67Fac7l6tZT9++uIilqO1vspK6vH29uGzVZDeXkw//jH\nMaKj76ChwYsLFxo5cyaboqIirlyppaysiqio1VRXb6K29jgREU2cOvU+AQHjeeutY/j4+LBkydxm\nw6mlwVRbW0tOTiXjx68iI+N97HYjQlfbTrbl04WEhFAOHswgK6uMmTMjASNp6s2i87WM4CKzVa3R\nWrN//3G2bt3J2bN5eHuPwWoNx+nMBxJxuWKBMpqargE1NDS4CAgIw2qtZcyYiQQFzWDMmEtADS7X\nZAoLz/Htbz9AcHBw8zFa3nOXy0VdXR2BgYFduhcyYOpbmpqaqKyspKKign//9w1kZNTgcJRgrHE5\nizHzEIKRWeEi3t5VaB3BlCl3Y7NlYjKdYc2aRV1KMdDVDk50oO8ICAjA5aoHzMAMwImRVuIuQkJK\nGTMmkm3b9nDy5JuMHTsDh8PKlCnTOHPmGrW1taSlpTe3xXfeOZWMjBJGj17OsWNbm9eweuiqUXWz\nJOpC79Df9SsgADZtgu98B2bNgp/8BB55BEzdzpwp9BbG2qPxHDq0GSOp7XxgN8aDlFLAgdNZSUmJ\nmT179jNlyhSio1fyq1+9TFzcxzl//giJiROJiLgeTLqnD8u01uzZc0TGcQMAdatZsJVSMcBE4PsY\n65o81AJZWuum3hOvS/LcCazXWj+rlPoVsEFrfazNf7QnfPAPfvAmaWkncTrLgRiMShACaHx8YnA4\nyjAiqVcAZzGb4/H2ziY2NpWKikaamqqw22Mwmc5itY5E63xiY724//4UduzI5fz5a8yePY0JEwIw\nmbwoLLzMhAkTeOihBcyalcixY9kcPlyA1lWUlTXhdIK3tw8pKc9SXLyted2U56llY2MjDocDHx8f\nvva113A4kvHxOUh8/ETGj19FWtovcTqdeHv7snbtbFJT5wM0d8xxcYGcPVtNZOQyysvTeOqpu7tc\ncTvrWPq747lVPFELrVYra9f+G9u378FwsSoAZmPMIMRjqHKZuywHiESpKvz8ZuPvf5LAwEAeeyyJ\na9csWK1z8PE5yPe//1S7IYhdLhc//embHDhQyvz5o/DzG0N09L0UFW1m/fp7WxnTA83IHWz3t6t4\n9AAM//WHHnqO9947g9GsnXH/ywdIAXYCARgBHwLw9p6HyXSQceNiqa4u5Z57nuSOOxrRuoqjR68x\nf/4o1q9/BJPJdMPDkluZGR4oOjDUUUpx7tw5YmNXAKPcrxgMVxxfLBaNzeYNmPH2dhAWFk9Q0BW8\nvLyx2504nSZmzBjFxz/+H3z00U/R2of8/CLKyq4QGBjNY4/N4YUXnqKhoYHAwEBqa6+7ghYXb+PJ\nJ5e18h6w2WzYbDZeeulNrNZJ+Pqe49vffqLVA5n+ZCi0Ce3VL5PJdIMHSF9x4AB85SvgdML69XD/\n/TLz1F8opXA4HMTFLaaw8BJGn+AP1GN4HBwEGt2vFxg58k989asLuHTJyqFDuYwZk4TVeoqIiKks\nWhTFl7/8OE1NTT2uLzabrdnFr7h42y2N44TOaduuuccI7Xa6t2w0tdrYMKDitdY7lFJ+gLfWurbb\nO+yeDF8AyrXW7yilPgGM0Vr/ss1/dENDA6tXf4Vdu3ZjLPa1AGEYTxTHYUyURQO7MPzbvTE60Fqg\nDqPSRGE8bajBiKQyxr1tLsZTymQslitYLHmMHDmB6upyamomYTaPYuLEXCZPnk5m5h6qq4NQys78\n+bF8/vM/Yc+eXzFx4gSczgouXKjG4XDxwAMLaGhoYNeus2jtYMwYXzZvziE4OIZJk0ysWjWbnJxK\n8vIKcDhigQgSE0tZv/5e4LoP7eXLW6mvv8Thw5UsWhTFV7/6uS4NwDobuA3GgZ1nsFxcXEx0dBIw\nE1gK7MHQiTNAOMb9D8doLAMwXHYa8POLAGqZOnUCsbGTmDs3mMLCOkpLqxk7Noz77pvFihV3tXK1\nrK6uZt26l/DxWYbDsYsXXljFrl3ZgDfr1s1pzh/V0sjNy6shOvrefm0cB+P97SoePXA4HMyffz8n\nTpzDmEW6BAQDozFcMT4G/AMjT0cRhl6Y8fWtY+nSr+DldZiYmDE4nTZyc8uZN++/SE//V6ZOHU1p\naTUxMZGsW7eAlJR5t/SUUDrIvkMpRXp6OvPnP4exnukc193zRmM8SJnmLp+OEYJ4JHAHRrs/Gm/v\nczQ1lbnL/YFSLJYYAgLuISjoCMuWjaamJpRRo6wkJMzGai3GYoli5sxIlFKcOlXOhAl++Pv7s2nT\nYZqaNCUlVwkNXUVl5RaWLJnTrzNOA/GBTk9or355Uoj0Fy4XfPAB/Pa3sGsXWCwQFQWhoRAUBIGB\nxntwMMTHw8yZRrJcaRZ6F6UUubm5TJ26FGN8cDfGetYmjDFhOUYgsdOAL+BNZKQDP79J1NdX0dTk\nTUiIkwcffJuCgp/z+OOzKSqy9Up9SUtLb657nofjQs/p4CFKuzer25PBSqnPA+8Ar7mLxgLvdnd/\nPWAkhhUDUO3+fgNWq5UDB9IxDKU4jCnXj2EYRiUYleA8RkXxGFR+gAsjikoAhgFVAUx172MMRsUJ\nBqYAjdhs2dTVjQRmUV3tQOtabLaj5OYWUVIygeJiRV1dNNeuxbJv33nefPPr3H//XHdS3BAOHy5h\n69Y6vvKVH/DNb24kPb2cmprxbNlyioCABKqrLzQPztevv5cHH0zGz+88fn5Hm4NKeNz6iou3ER8f\nyOXLDoKDl1BY2IDNZuvSRW29nqqieUFjV38fqDQ1NbFq1RNcHxjvwxgUVWMMeD6O4ZZlx5hluoxh\nMC/Daq0lMDCOoqIyJk9ehtkcxfjx4wgLW8X58y5ef30/P/nJG7zxxg7S0tLRWuPr60toaCANDY2E\nhgaSkjKPiRMnkJq6vvm6tbyW+fm1xMcHUVzcv9FwBuv97Spaa373u7c5ceIMMAnDaBqLMXBuwBgs\nb8V4mHIeo4mxM3LkHIKDZ+DldYpnn72H+PiJ3HPPvxAW5s3Zsz8kONiPoiIfTp70Jy/PQWZmKXV1\ndbd0LVvWX4mIdPvJzc3FmFkch9EGjAaSMQZKTRj9g8Jw1RyJoR+lGH3DGZqaXBj9xXLgXmAsdruF\nqqoz1NUp0tLKiY5+loMHqygt9WPLljxyc3Ox2+2cPHmF48d9+OY3N/HTn/4f9fUTcDiSGT06hLi4\nIsaNG+WOwtk/ddAzoNiwYSfbt+/j9Omrg75NGIj1y2QygkO88w5UVMCRI0ZOpxdfhMceg7vvhilT\nDCNpxw747GchJATuuAOeeAJ+8QvYvx+uXYOu2H79aB8OeLKzszHagjjgMEb9j8cYGwZheKHYMMYF\nz1NZGYq//8PU1/szbtx6AgIiOXv2h8ydO5KiIluv1ZeUlHk89dTdYjD1Mrc61ulJIIjnMfzY0gG0\n1nlKqYiON7ktVGNoMu73a+396bvf/S5NTQ0YEVF8MKKi5GJ0gHcB+92bVmF0lGMw3DSC3e9nMCrS\nfuAExqDaH+PptBU4hZeXBaUCGDv2M1y7tpGJEx1cuHAVrWfg72/n0qVtREX5UV4egtYniIxchpdX\nPXPnTicoKIj4+CAqKsoJDp7P5cu5pKZ+mYyMH+Hj48OoUSGEhd2B2WxrTqjoCWm8YEHSDWslPD60\nAFu2nMDbuxJo6vKTjs5CWQ6GUJdpaWmkpaW1KistLeXcOSdGCHE7xmDIhtEgXsBINebCmHW0A1a8\nvKJxOk/j7W3Hz28a0dF2IiKKSUoyfCguXjxIXV0xs2c/ztGjW3nwwc+QnZ3W7MP8/PP3ceJEMbNn\nryY4OLg5d0/L69byWqakzLshIldfMxjub0+w2+3s2XMco2P0zCSMw+gQ4zCaFdzvV4EvYDL9HZPp\nFLGxIXzpS3ezcuVi99O/bTz33FrmzJnGoUOZfP/7G4mImInVmkVi4gKCgoJu+VpKwIi+Y+rUqRh1\n/gJGfzAbo40vxmjjmzB0JBsjitYhDMOqBKWCMJnuwOk8gdEVNjJiRA0hIXdQV3eJ8PB4QkJKuXjx\n18ybF8iZM0cIDFyCy6XIza1i/HgLv/3tByQkPERJySaio3OxWC6xdu0iFi68k4MHM/q1DrZ+oLPN\nnYtw8LcJA7l+KQVjxxqvjmhshFOn4Phx4/XWW5CTAzabMUNlMhkzWE4nNDWBw2G8mpoMoykkBMLD\nISLCcAds+woPN/7X1GS8bDaw2413z8vhMAw5Pz/w9zfeW3729b3+slhu/5otl8uQ0XOuLT83NV2/\nvi1fERHGGjMPfn5+GDNKJzDGCb4YD0lOA5EYGXZ+B+Tj47OBuDgn4eFpKNVAaOgO7r9/Pk8//RBB\nQUHN/UNv1BcJ+HB7uNWxTrfd85RS6Vrr+UqpE1rrO5VS3sBxrfXMbu2wm7jXND2jtf6CUuoV4Lda\n66Nt/qO11qxZ8wzvvZeJMcFWgbd3GFo70ToAl+sihvtdHaDw9tZoHYrTWYnhulWL2RxCcLCJceNG\nUl5ey5UrYLE0MGfOTJKTJxIQMJb9+z/i0iV/5szx49e//i7f/vbP+cc/TuHl5eThh+czf/4d/OlP\n+zh9OgOLZSxr1iTwwgtPAMZTvR//+Dekp1ficBRisRguYF/+8uc4cOBE88LgW33S8NFHh7q17VBd\n07R27Xo2bUrDGAwFY0RF88JjJAUGhhIXN4nExBhGjHBx4EAZdXWXGDs2iunTZ/LJTy5k4cI7W61D\n2LPnCPn5tdhsZVgska2m0Ntep5tl9h5o13IgytQbePQgLS2dpUsfwXhAUoWxtrEao6O8AEwhLOwq\nX/3qk2zefIaoKDOPP76C++5bdtN7qbVm+/a95ORUkZAQ2hxWfKhey8GORxfCwmZRWRmAMViKxDCY\nfDHcrhsJC4vBbC6nri4Gs/k8o0fPJzLyGvHxSZw8eZ6qqipGjx7FE08sZ9SoUWzadIzLlwsZO3YC\nn/jEfObMmUZgYCDbt+9jy5YsoKnZdfPHP369eT3cc8892u21cLeLlm5BKSnz+l2e20HLdY6DncZG\nqKw0DB4vL8NQ8fEBb2/j3RPivLISysuNZLslJVBcbLx7XhUVxrZeXsa2FguYzca75+XjYxhPVqvx\namho/W6zGfJ4Xj4+rQ0p7w4e23f0fLep6bpB1PLd5TJk9PG5/u55eY6ldevXz35mJB02jmnogckU\nj9aNGA/QyjD6hksYM80ReHlVERcXwbe/vZ4HH1xNbW0tZrMZh8PRam3zQKi/Quf0yZompdQPMaZm\nHge+BDwHZGut/6NbO+wBSqmfYjiantBaf6Wd34dGaygIgiAIgiAIwm2j19c0YUTOKwdOYsxXbgG+\n0YP9dRut9Ve11kvaM5ha/AetNS+99FLz59589cZ+GxsbeeWVzfzjH0288spmGhsbB7S8fb3vnu63\nt/VgKO+jPV283XL01bXoi/agvWv58MPf7PK1HAg6MdCOdTuOczt1YaDv71b32ZU2YbCes0cPGhsb\nue++R2+p3RvI5zrQjz3QjtvXfYMcZ2AepyO6bTRprV0YgR+e01o/qLV+XXd2NKFDBuICVWF4IrrY\ne3iuZW3tObmWwqBlOLQJFouF8HC/IX2OgiB0n+4kt1XAS8AXcRtdSikn8Aut9bd7V7zhx0BeoCoM\nL0QXe4+UlHns2DFRIh8Jg5rh0CbExERLmH9BENqlOzNNL2CEEJqrtQ7VWodixO9epJR6oVeluw2k\npqYO6P22jZAy0OXty3335n57Y19DfR+3Gq2np3L0x7W4nfWgJUopli9f3ifHgr47r7481u0+Tm/v\nf6Dvrzv77KxNGArnvHTp0n4xmPqyzg6UYw/k4w6Vdk2O07vcciAIpdQJYIXW+mqb8nDgQ631nb0o\nX6/giZ4nDG+GUoQkofuIHggeRBcEED0QDNrqwdGjUFAADz3Uj0IJfU5H0fO6k6fJp63BBKC1LldK\n+XRjf4IgCIIgCIIwYHj2WSMHVn29kXtKELrjntdRutzBmSJcEARBEARBEDByQeXkQGIiHDvW39II\nA4XuGE1JSqka96teKdWglLIqpaxAnya2FQRBEARBEITeJC8PxoyBu+6CzMz+lkYYKNyy0aS19tJa\nBwEbgUzgTeAN9+tXXd2PUuoFpdRe9+evKaX2KqXeUkp5ucseVUrtV0ptUkoFuMuWKqUOKKV2KqXG\nuMumubfdq5SafqvnIwiCIAiCIAgeCgogPt6YacrN7W9phIFCd9Y0eZgDJHYnwoJSygwkAdodQCJF\na71YKfWvwDql1EZgPbAYeBAjee5PgG8Cy4FpwNcxwp5/B3gY0MCvgXU9OCdBEARBEARhGHPpEowd\nCzExsGNHf0sjDBS6ndwWOAVEdXPbpzBmqMAwvtLcn3cAyUA8kOVOoLsDSFZK+QENWusGrfURING9\nTYjWulhrXQIEd1MeQRAEQRAEQWhlNBUW9rc0wkChJzNNo4BspdRhwOYp1Fqv6WgjpZQ3xszSr92J\ncoOBGvfP1cDIDspqW+zKy/3e0vBrN0SgIAiCIAiCIHSFixeN9Uweo0lrUDLCHPb0xGh6uZvbPQb8\nX4vv1cA49+cg4Jq7LLhNWY37swen+72le+BNXQVffvm6uKmpqf2aSE7oG9LS0khLS+tvMQRBEARB\nGEQUFxuBIEJCDIPp2jXjszC86bbRpLXerZSKAeK11juUUv5cn/3piCkYEfi+gOFiNweYB/wIY73S\nISAPmKaUMnnKtNYNSilfpdQIjDVN2e79VSilojEMpuqbHbSl0SQMD9oax9/61rf6TxhBEARBEAYF\nV6/CqFHG7NK4ccbMkxhNQreNJqXU54FngFAgFogGXgXu7mg7rfWLLfaxR2v9HaXUv7oj6RUC/6O1\nblJKvQ7sBSqBR92bfA/YDliBz7rLXgbexjCanu/u+QiCIAiCIAhCRYVhNAFERUFZWf/KIwwMVDeC\n3xkbKpWBMUOUrrW+0112Ums9oxfl6xWUUt0J8icMMZRSiB4IogeCB9EFAUQPBIOWehAYCJcvQ1AQ\nfPrTcO+98Nhj/Syg0Ce49aDdFWw9iZ5n01rbWxzEmw7WFAmCIAiCIAjCQMZmM16Bgcb3qCgoLe1f\nmYSBQU+Mpt1Kqa8DfkqpFcBfgfd6RyxBEARBEARB6FsqKiAs7Hq0PDGaBA89MZpeBMqBkxjJZ7cA\n3+gNoQRBEARBEAShr/EYTR5kTZPgoSfR81zA68DrSqlQYKwsHBIEQRAEQRAGK1ev3mg0yUyTAD2Y\naVJKpSmlgtwG0zEM4+l/ek80QRAEQRAEQeg7WkbOAzGahOv0xD0vWGtdA3wC+L3Wej6dhBsXBEEQ\nBEEQhIFKe+55YjQJ0AP3PMBbKTUa+CTwH70kjyAIgiAIgiD0C9HR4O9//XtYGFRXg90OZnP/ySX0\nPz2Zafo2sA3I11ofUUpNAvI620gpNU0ptV8ptVsptcFd9jWl1F6l1FtKKS932aPu/21SSgW4y5Yq\npQ4opXYqpca02N9e92t6D85HEARBEARBGMasXt06J5PJBOHhEgxC6IHRpLX+q9Z6ptb6Off381rr\nB7qwaa7WepHWOgVAKTUPSNFaL8aIxLfOnfNpPbAY+ANGdD6AbwLLMSL3fd1d9h3gYYwZr+9293wE\nQRAEQRAEoS0SQU+AngWC+KE7EISPe+anXCn1mc6201o7W3y1A7FAmvv7DiAZiAey3BH6dgDJSik/\noEFr3aC1PgIkurcJ0VoXa61LgODuno8gCIIgCIIgtEWMJgF65p630h0IYjVwAYgDvtaVDZVS9yul\nTgIRGOuqatw/VQMjMYyf9spqW+zGy/3e8hzULZ+FIAiCIAiCINwECQYhQA8DQbjfVwF/1VpXK9U1\nm0Vr/R7wnlLq54ATCHL/FARcwzCUgtuU1bT4H+7tAFrmhrppnqiXX365+XNqaiqpqaldklUYvKSl\npZGWltbfYgiCIAiCMIgRo0mAnhlN7yulcgGFkaW9AAAgAElEQVQr8AWlVDjQ2NlGSimz1tru/lqD\nMVOUAvwYY73SIYyAEtOUUiZPmda6QSnlq5QaAUwDst37qFBKRWMYTNU3O25Lo0kYHrQ1jr/1rW/1\nnzCCIAiCIAxKoqIgr9NQZ8JQp9tGk9b6RaXUD4FqrbVTKdUArO3Cpvcqpf4Jw8jJ01p/Qyk1Rim1\nFygE/kdr3aSUeh3YC1QCj7q3/R6wHcNQ+6y77GXgbff+nu/u+QiCIAiCIAhCW6KiYO/e/pZC6G+U\n1jf1aOt4Q6X8gX8Cxmutn1FKxQNTtNbv96aAvYFSSnf3PIWhg1IK0QNB9EDwILoggOiBYNCRHuzZ\nA//xH2I4DQfcetDueqOeBIL4LUb0u4Xu75eRkN+CIAiCIAjCEELWNAnQM6MpVmv9Q8ABoLVuQKLX\nCYIgCIIgCEMIMZoE6JnRZHfnTtIASqlYwNYrUgmCIAiCIAjCACAwEJxOqKvrb0mE/qQn0fNeBrYC\n45RSfwQWAU/0hlCCIAiCIAiCMBBQ6nqC24CA/pZG6C96Ej3vQ6XUMWABhlveV7TWV3tNMkEQBEEQ\nBEEYAERGGi56sbH9LYnQX3TbPU8ptVNrXaG13qy1fl9rfVUptbM3hRMEQRAEQRCE/kbWNQm3PNOk\nlPIF/IFRSqkQrgd/CAKie1E2QRAEQRAEQeh3xGgSujPT9CxwDJjqfve8NgK/7GxjpdQ8pdR+pdQe\npdRP3GVfU0rtVUq9pZTycpc96v7fJqVUgLtsqVLqgFJqp1JqjLtsmnvbvUqp6d04H0EQBEEQBEG4\nKWI0CbdsNGmtf6a1ngj8i9Z6ktZ6ovuVpLXu1GgCLgBLtdZLgAil1BIgRWu9GDgJrFNKeQPrgcXA\nHzAMNYBvAsuBF4Gvu8u+AzwMfBLJEyUIgiAIgiD0MmI0CT0JBPEL98xOIuDbovz3nWx3pcXXJvf2\nae7vO4BHgWwgS2vtUkrtAH7jDm/e4M4HdUQp9QP3NiFa62IApVRwd89HEARBEARBENpDjCah20aT\nUuolIBXD6NkCfAzYB3RoNLXYfiYwCrgGuNzF1cBIIBioaaestsUuvNzvLWfLJLmuIAiCIAiC0KuI\n0ST0JE/Tg0AScEJr/YRSKhLDla5T3AEkfg48BMwFxrp/CsIwoqoxjKSWZTXuzx6c7nfdoqzl51a8\n/PLLzZ9TU1NJTU3tiqjCICYtLY20tLT+FkMQBEEQhEFOVBSUlPS3FEJ/orS+qZ3R8YZKHdZaz3Pn\nalqKMQuUo7We2sl2XsAm4CWt9VGlVDjwv1rr+5VSXwMKgHcxXPWWAQ8AMVrrH7tDmq8BpgGPa62/\nqJT6G/BlDIPpV1rrde0cU3f3PIWhg1IK0QNB9EDwILoggOiBYNCZHjgcMGIE1NeDj08fCib0KW49\naNdzrSczTUeVUiOB1zGi59UBB7uw3UPAHOCHSimAfwf2KKX2AoXA/2itm5RSrwN7gUqMdU4A3wO2\nA1bgs+6yl4G3MYym53twPoIgCIIgCIJwAz4+RoLb4mKIielvaYT+oNszTa12otQEIEhrndXjnd0G\n+nOmSWuN3W7HYrH0y/GF6wz3p4miiwb9rQdyHwYOt6oLcu+GJj1pE0Qnhg5d0YNFi+C//xsWL+4j\noYQ+57bMNCmlPg7s0lpXa60vKKVGKqXWaa3f7bakQwytNbt3HyY7u4LExDBSUubhnl0ThD5FdHFg\nIPdh8CL3TmiL6MTwIyYGior6Wwqhv+hOclsPL2mtqz1ftNbXgJd6LtLQwW63k51dwZgx95CdXYHd\nbu9vkYRhiujiwEDuw+BF7p3QFtGJ4cf48WI0DWd6YjS1t21P1kgNOrTW2Gy2m/5usVhITAyjuHgb\niYlhPZ6+7+x4wq3R0fUcate6t3VxuNFb+mA2m4mLC5T7MAjx1KHLl7cSGxvQ3+IIfURHdd9isZCQ\nEEph4ftSn4cJ48dDYWF/SyH0Fz0NBPH/gFfc35/HCAgxLOjqtHxKyjySk3vu7yxuAL1LR9dzqF7r\n3tLF4UZv6YNnP3l5NcTHB5GSMu82SCvcTpYsmYvNto8PPjjBBx+cZO3a2aSmzh8S7YNwI53V/bbr\nX7TWogtDnPHj4f33+1sKob/oyUzTlwA7RuS6twEbwyh6XVen5ZVSvTJIFTeA3qWj6zlUr3Vv6eJw\no7f0wbOf6Oh7yc+vHTJ6NZxwOBzk5lZhtU7Cap1DVlaZ3MchTGd13263k5NTSUzM6iHVVwg3R2aa\nhjfdNpq01vVa6xe11nPcr3/XWtf3pnADmb52dxL3qt6lo+sp11poSW/pg+jV4MdisZCUFIWf33n8\n/I6SlBQl93EI01mdlTo9/Jg0CS5cAJervyUR+oNbDjmulPqp1vqrSqn3MHIjtUJrvaa3hOstblfI\n8b4ONSqhTXtG23CiHV1PudZDl+6EF+4tfRC9Glh0VxdsNpvM3A4hOtKDzuqs1OmhQ1fbg7FjYf9+\nydU0VOntkONvud9/3E1hRgPvAwlAgNbapZT6F2AtcAH4nNbaqZR6FMPdrwJ4VGtdp5RaCvwXRnLb\nx7TWxUqpacCr7t1/QWt9qjtydfNc+rShlE66d+noesq1FlrSW/ogejX4UUrh6+vb32IIfURndVbq\n9PBj8mQ4e1aMpuHILbvnaa2Pud93t/fqwi4qgGXAIQClVDiQqrVeDJwE1imlvIH1wGLgD8Cz7m2/\nCSwHXgS+7i77DvAw8Engu7d6PoIgCIIgCILQFaZMgTNn+lsKoT+45ZkmpdRJ2nHLAxSgtdYzO9pe\na20H7C0izMwB0tyfdwCP8v/bO+/4qurz8b+f7DASwgh7g0LCBtkKCqhf66DVbr+1lVbt+Glrd/ut\n1S67q7Wt2opaS6sWB+BAlkZWwjQEElDC3kkgO+Rm3Of3x+fccBNuQsZdCZ/363VfuTn3nOfzfM7z\nnOd89gdygCynF2ot8HcRiQcqVLUC2CYiv3GuSVLVk45uiS3Nj8VisVgsFovF0hxspenypTXD8272\nsw7dgBLne7Hzf2Ijx0q9rot0/nr3ltm1Pi0Wi8VisVgsAeGKK+Dtt0OthSUUtLjSpKp1iy2KyGBg\npKqudXqCWlMJKwb6O98TgCLnWGKDYyXOdw+1HpW81WsskYcffrju+9y5c5k7d24rVLW0J9577z3W\nrVtHVFTH3HPZTkAOf6yNLC3B+kv7xdru8mHUKNi7N9RaWEJBq0uTIvIV4B6gOzAcGIBZkGFec0U4\nf7cBX8UsLDEfM9dpP5AqIhGeY6paISJxItIZSMUM4QM4KyL9MRWm4sYS8640+cIGvI6F2WSwE/36\nzazblPCRRx7xi9xw8JOOugFvuNIau1sbtW9CsTqq9Zf2g7d/WNtdXgwdCmVlkJcHycmh1sYSTNqy\nue3XgVk4w+hUdT9wSfcRkSgRWQOMA1YBQ4D1IrIBGA8sU9Ua4B/ABuALwNPO5b8C1gCPAr92jj3M\nhQ12H2pNRjwBb/HidaSlbWnxErRNyXW5XH6RZWkZgdigtjE/CYWdO+oGvOGIt93fey+DysrKZl1n\nbdR+CcWzbv0lPGiOjRv6h8vlsra7jBCBSZNgx45Qa2IJNm2pNLmcRR0AUxmiieFxHlS1RlUXqGoP\n5+82Vf2dql6tqnc6FSZU9d+qOktVb1HVUufYOlWdqarzVPW4c2y3qs52rs9qKm23201JSclFx4NZ\nwPaHXFsRuzT+3nRQVSktLb3ITwJl54ZpN7R5e9pUsb37rCc+9O17PcuXb+Hpp1c1amvvvHrbaPTo\n7sFW26+0dxs2B1WlsrISl8vl850Q6IpUe3qmOyrNjecN/QNgxIiuzbZde36e2rPu/mTKFFtpuhxp\ny2SP90XkR0C8iCwAvga84R+1/I/b7ebxx/9JRkY+06f34oEH7iIiwtQZPS+rnJy2v6w8Xfaqyq5d\npxk8+GZyclYxY8bFwzxaOvzDDgFoGXPmTPV535vCl02877vLdYYTJ94hJaUH0PDl6R87N7y2MZu3\nJn/Bpr36rLfNPPFh1663gCifz7Tb7aa0tJQPPthXL69z5kxl+nQXGRm7WLx4Xbu6Bx7aqw1bgqqS\nlraF5cu3AFHcdttkRo/uTk7OO4wcmUBsbGyD3gRj/5iYmIvuDdDq5709PNMdgcZisnc8z85+h4kT\nS4iLi7voPO8yw6hRSaxfv439+0sYOTKhzgeaSru9Pk/tWXd/M2UK/Otflz7P0rFoS0/TD4B8zN5K\n9wJvA//nD6UCQVlZGRkZ+Qwb9k0yMvIpKyura1msrKxk2rRx3HnnbObOnVbXI9XSFhXPi/fJJ1fy\n5JMvcvDgIdLSnmL06O51QdcjszU9FHb4Rsto6aaDbreb1as38OSTK1m9en3dMCzv+x4Tk8ydd85G\nRFi8eB3p6ZmMHt290RbGS9nZ4w+N+VxDm7tcrrrf28Omiu3FZ73vu8dmzzyzllWr1nP+/HmmTx/P\nfffdyMKFUy6ytadBZtGiv/HEE6/Ro8c1dXkVEUTEqyBWQGlpaZPpN6WfHQoaGKqqqti16zSlpQMp\nKZnAli2HmThxFCNGdCUn5yyrVq1HVev1BMXExFzU++xyudrU89wenun2TlMxOTY2llGjkti//1XK\ny4/z058+z/e+9w9WrXr/omG5c+ZM5e67r6OmpobFi9MpLBzK/v0lPp8P7+e2qqqK7OwCevW6LujP\nk3dvamu4HGJBc7n6atiwAWpqQq2JJZi0uqfJ2UNpGWYOUr4fdQoICQkJTJ/ei/T0PzFlSjdiYmJI\nS9vCsmXbOX78MKoR9OvXn49//Cp27dpHRkYBPXtWkJIyhTFjejWrRaWyspJXX82gsnIyBw5s5r77\nHub06TXMnDkRqN9KM3x4F/btK2yyJ6oh/uwRsxg8LY4xMTGsWbOBX/7ydaqqunL+/FFmz97K7bfP\nYubMiaSk9CA727Q6x8XF1Wtxvvvu65g503dhx1dPVExMTF2a77+/lT178snJ2U5BQTw9e56v53Pe\nNh89ujsZGbvaVStfe/BZT2NHVtYZRo1KYtq0cezadZqSkhE8+ug/eOqplQwa1JuFC6c7PQHV9fLh\naZAZMeJB3nnnHl5++TGuvro/MTExwIV7kJ39DlVVeSxZsrGe/S7Veuv5PTu7gKqqPGJikklJ6cGM\nGROIi4sL+P1pDzZsK9HR0VRXn2H79m2cOXOMtLRoMjJ2IeKiqqo///znW8ycaeLB3Xdf58SLjeTm\nltb1Pqem9kREyM4uIDl5Hjk579peozDEV0z24Ha72blzD6+8ksn584UMGDAXkWR++ctXeeONTG69\ndSILFlxd1xgiIuTmljJ27Gx2736TRYtmNNpw5nm+r7nmKqqq8njllT8zfXqvujjRFP5YlORCb+oO\noIbbbpvG3LnTWvQOuRxiQXPp0wcGD4atW2HmzFBrYwkWrdncVoCfAt/A6akSkVrgCVX9mX/V8y/3\n3/8FRo5MY82a3XzrW38jMlIpL5/GiRPnKCmBEyd6UFW1kXPnahk69AHWrfsR06dPJydnK9Onu+q1\nAjYMYm63m3XrNpOdfZwuXdx07+7m9Ok1jB/fp+4c77kRK1c+TU1NJYcOPcVtt01udvDx15AzC9TW\n1rJyZRpHj7oYPrwLb7yxnbNnkykoOEpSUi8qK4fx2mub6wrTI0Z0JTe3lJgY07u0d695cfgquHrf\nc++XTHR0dF1ha8SIruzfX0L37rPIyFjL3LkPkpb2ELNmzWbXrvfr7OyxOcDixeuaHAoYjoT7kCOX\ny8WyZdv56KN+PPPM3xk+fCBu93kKClbRrduV5Of3pUePaLKyzjBjRlVdIcNj44SEBKZN68mGDb9l\n+PCBfOYz3yE//916z9ycOVOZNKmUJUs2XmS/Sw3x9PyenHwtr7zyF26//TMsX/4sWVlnGD++T1Aq\nz+Fuw7agqqxevYHly/dRXp5CZWU+qil8+GFnkpIqqK0VqqqmUl7ejQ8+OMHMmRNZu3YTzzyTTkrK\nNHr27MX//u/VJCQkOD6Rx9Klj3PVVUnExMTY+BtmNFXwLy4u5sknV3H69GRiYo7SqdN2oqJiSUgY\nzpEjg/j73zcBwoIFZrRBTEyME8cLufvu6T6H5jV8vidNKiMmJpk77vg0+flpl/QNfw2Jq6qqIivr\nDOfPTwHyyMo6w8yZLffLjhwLWsqNN8KKFbbSdDnRmp6mb2FWzbtKVQ8BiMgw4EkR+Zaq/smfCvqT\nmpoaPvqomA8/jKO0NImkpG2ILKes7ARFRWeIiCglP7+GmTNHsW3bXxg4sJI333yGMWM6sWZNDMeO\nVTFqVBITJ45i27Y97N9fwrBhnUlNHca+fUd44YXt9Os3hvLyo9xzz60XBTdPsM7MfJPq6vPMmfN1\nTp1azYwZE3C5XM0KQi0dvuHdih6sAlZ7oLa2lt/+9mmWLv2IiRPHUlGRQElJBbGxfaip2UJVVQSn\nTlUwcOAQjhypZfXqVfTtG8fNN/+InJzVfPGLcxkzppxevXoBTS8/e801VzFjRnVd6/TixemMHXsz\n+/cfYuTIBHJz05k+vRsnTjzF9OmJbNv2TyCK9PTMOnt5bO7d4xXsl1ZrC3/hPuTI7XaTm5tLRsY+\nXK5SiooS6NnTRWFhMW53Bn36DCEiojNXXDGbNWs2cvBgOVdemUh1dQ0HD5YzenQS48ZdSVVVPJGR\npeTlrSM1tWe9PIsICQkJpKT0YM+elQwZEl/3+6Vaby/8nsb06b04dWo1UOOzlzpQBfRwt2FzaOze\neCrNhw6VUly8AZerGBFQzeXmm6dw7FgZWVnb2bmzguLiPowZk8xHHxUTH5/KihWv89nPptC1a9c6\nWdCN0aOHsmVLOqtXbyA6Oprdu/NaFX/DocIVDjr4m8YK/hUVFeTlFVNREU1FRSlxcZ2YN28m77zz\nISUlmSxc+AV27z7DNdeY4W3p6Zns3XuOUaO6oao89dQ79ezsGfrnPVogNjaW1NSeZGe/16w47hnO\nl5x8LTk5aa2usMTGxjJ+fB8OHdoO1DBu3LQWy4COEQs8tNW377oLrrsOfv5ziI72s3KWsERaMeb6\nA2CBqhY0ON4LWK2qE/2on18QEVVVamtrue++/2PZsr243Z0QOUvnzhGMHHkDJ05sJTl5ARER2Xzv\nezeTmjqM//53CytWnCAzM42IiApuuukWyssPUFCglJaeY9y4T7Ju3Qu4XGX069eD/v2vZ+fOZVxx\nRU9+9rMvUlNTy4EDZYwalcSkSaOJj48nKiqKlSvf47nn3ufcuVJuvnkskyalsnfvOUaP7l435MYz\nBvpSAepSD31lZSXf//4zlJVNpGvXTH7960XNHtLT0V6WnpeYqvLmm+v4yU9W0KXLJygo+BdRUYfZ\nt6+I2tpEIiNddO8+i7i4YxQV7ae0tAdwhqionkyd2o+HHlrE1q2Z7N5dycSJXbn//rvYuHEHe/ee\nq6skPfvsu/TrdwMnT65i0aJ5dRPJFy9ex7lz3di9eyOLFs1gwYLZVFVVER0dTVlZGTExMTz99CoG\nD7653rUe3G43a9duIje3tE2tjpfzIiTehZmamhp++csn+Otf15CfX0tk5BAiI49QXV2KyNVERW3j\niisiKCvrA+Rz/nxXEhN7U1FxHJdL6NFjFt26HaVnz1jc7lmUlLzHAw8sYMGCq0lMNPtzexaJiIuL\nIyoqij/+cTHbtxfVLUgjIpd81r2HkVZVVZGenllni7lzp9WdE0wbtaf40Ni9ERHKyspISbmZo0fj\nMHuqZwGDgCP06NGfCRNGcPJkKWVlVxEbm8e8eT0YNCiOpUs/IjV1EjNm9OTLX57vxPY03n57F5s2\n7WbgwIUMHnwQkQiqq6cTH7+dRx+9uy7dpiq6jS0sEuxnriM9900hIlRXV7NgwZ2kpe0AxgJCdHQZ\ngwd3Bvpz9ux+oqKqSU7uzYwZQxg5chybN2eSlHQjBQXLKSpSOnXqw4gRUfz+919HRMjI2EV2dgHD\nh3dh+vTxZGZ+SE7OWUaNSqKmpprc3LJG76v3PKgnn3yxbhGrb37zi622gbfMQA31bi9xwZdvR0RE\ntHge4nXXwWc/C1/5SoAUtQQdp4zg84FoTU9TdMMKE4Cq5otISOraIvJHYAqwQ1W/5escVeWtt9ay\nceNZIiJmUVDwMpDM2bOnOXt2C7W1p9m//18MHNiJl17qRG3tWlav3kp+vgtwAYN57bVlxMVFERm5\nkPPnV3Hw4F+orOxOQsIsDh9eQ03NBgYMmA0M5OWXN3HuXA1jxtzM22//g5KSGHr1EqZNG0F6ej6V\nlYMYNCgRiCAr6wyDBn2MZcueYseOY4wd25vo6Chee20bkZHKTTdNYsGC2VRX159L4T3XYeTIhLoh\nAw05ceIIp0+X0afP2Wbf0478snS5XKxZs5szZw6wa9d3MY9BNFAFRFBbG0l+fhpQBAwFFgLLqamZ\nRFbWVp566gXWrSulc+cprF37Pq+88h4uVyxduw4iKqqE7363kkGDYjlypH6P0IW5LQUsWjSD66+/\nGqCuIJyQkADA+PF96lolG1JdXU1ubmndUI+Gw0abQ2ts25xVAtsbbreb3/zmKR57bBNFRVVAJbW1\n26mtjQYqUN1JVdVJ9uwZQExMElVVbqKj+5Kfn43bfQy4kvz8l+jceQhRUWfp2rUYqOa73/0r/fqt\n5bbbRvPlL3+S559fxhtvZNG9e1fuuutqMjIKGDbsW2RkPMGXvlTC1q27yc0trddo4qHhKn5AvSGb\nvobxXcpG/pof0VwfCodCVFP3pqCggKNHK4FS4BTQG+gJKGfPJrBxYwEiRVRWrgDiKSgo5tZbr+XK\nKweTnb2T8eNTqK6u5re/fYrXXjtIr15dKCtzU1v7oZPveCAP1Wo2bNjGW29lUVvr4vbbZzFnzlTW\nr99W7z6qKo8//k82bToNFPO5z/2cnJw1IXnmOuJz3xhHjhwhLe0DYCSwF1Cqq2PJzY0DehAd3Y3q\n6krKyys5fHgzw4aVcPRoJp06naC6upjo6GGUlu5j//4yBg7sjGoix46dIDFxAi+++BqjRr2PSCw3\n3fRtdu9+C8C5rxfPffNezbGmRomIiOS22+6jqGhjvREN3g0pzW1cjYuL87kSZEsa0BpLL9zKDU3p\n2tTctpbw+9+bYXpXXQUTJrRVY0u405pKU1OeFfSlVERkItBZVa8Rkb+JyGRVvWj1/IqKCn74wyfZ\nt+8csBmzD+8ooJTy8vOYlsXOHD6cxuHD5UAfTD2sENgDxOByDaG6ugS3eykmq3HATgoLY0hKqqZz\n52JOnlzPgAGJRESkMGbMbF566aecOBFBbOxMevU6zZkz+3C5xnDo0Bv07h3P+PHXM25cCllZb3H8\n+GEOHqxixYqNJCXFUlAwGbf7Q44d20BW1j7i4/txxRWJdZUjT7d9YWESixdvBKj7zRMsRIT+/QfT\nrdt4unTJanYAC/RS2qFEVTl9+gynTx/E2H0KpqD0NlCBeWkexNj3LPBvzBZk1ZSVnWPZMjcwkdLS\nd4E+FBefIDp6JJGR0XTrVss3v/kYffsOZ/ToeFSvJioqncmTU0hMTLyosOt2u1mzZiP79hXWDeto\naplqfywM0ZqCUHueANyYn5aUlPDWW/soKuqD2aP7GuAw0B3YBfQDaoCJVFVtBc5QXd0D6A8kALcC\n/6GiIorIyC6cP3+EiIgrqakp5cyZyWRlvcKrr+6ktLSQvn0/y7FjhbzxxlZOncolK+trXHttXzZs\n2M6SJTsZM+ZjvP76u+zceZzJkwdy9dVTKCsrq+tpaFih8viCr6XRm7KRP+dHNLeCFg6FqKbujVkB\nrAhIxbwSB2DsfwiYjsvVHTgCdAY+R1HRCyxblkF1tTBgwDzef/8j1qz5Htu2naRv3znk5Oxi9uzb\n2L37NSoqkklJ6cqoUTWkpEwiKyuPgwf7U1j4IbCJiRNHkZl5iv79byQ7ex2TJpmVFTMy8hk58ttk\nZPyIQ4eWM3nywJA8c+35uW8pJ0+eBIYDDwG/AU5i3gtlQCHV1SeAHlRUpAJZ7N6dD0RRXFyLiRvV\nREamUFPTmxdeSKe6uj+nTm2ksnIZUVFD2LUrB1D27MnhZz/7CpmZOSxd+memTEmktraWkpKSuoYz\nz/yjioph1NQkUVj4KsePP8Hs2X1xu91UVlbW9WJ5FodJTe3ZaI9Vw2ew4XukuVzqeQ6nSvaldPWX\nb0+aBH/7G8yfD9/7Htx/PwRhfR5LiGjNkuPjRaTEx6cU06cdbKYDa5zva4EZvk7Kz88nJ+cEkIcp\nKHsKxpXAMOAY8B7QF5iDKTy/B+x0JGQAR3G7+wLngXJM4SkJyKKwsIidOyspKHCRnX2KZcs28+KL\nv+To0WrKy4dSWPg+5eWZVFcXcPRoJi5XDW53fw4cOMf06eP50peupW/fAZw7F0N8/EwKCyvp2rWQ\no0c3cMUVE9i6tZDTp/uweHE6a9ZsxO12AzByZAK7d29k7Nibyc0tvWgTxvT0TG67bTJjx55j4cIp\ndYEhLS2tyZvqCSitWUr7UrJbiz/kmuWhn2fp0iVAJKaH6V3gZaAY07N0GlNhuh0YiOlpBFiJqWx3\nxbxIDwG5uN1uamr2cf78e5w+XcjRoxWcPJnEypWnOHmyD4899jpf/OKf+dOfnkNV6w3L+cMfnuDX\nv36TtWvP8frr2+qGaXkvU91wadc5c6ayaNE8Zs6cSE7OWc6di23R8q++bNuce+tJ1zMcrCFttY8/\n7NtQRmN+qqps3vwB6elvAJmYAvFeYB9mF4VOmGdbgHRMpWoIxv7TATemMn0I1TPU1FxBTU0iNTW5\n1NTkU1W1lPLyWo4d68SJE2527HiUPXueZsWKjRQWDqNr1y5kZxfy+9+/Q1xcIpmZyzly5AB79rh5\n7bXN/P73/+CLX3ycJ554k96957N8+Y6LNtX1lTePjUyMuhh/LRns7UNVVYcbLXD4c4nitvpHY/67\ncuVKTCVYMO+HXRhb9wc+BLYA1ZgGtAiR4gMAACAASURBVH8BBZSUDOD8+V4cObKKtLS9vPvuXoqK\natm79w1iYw9RUrKO48dPEhU1mvz8eD7/+VnExsZy+PARjh1bTbduyURGxrJlSxYbNuzgr3/9AXv2\nbOWFF9aTkbGLadN6cvDgY9xySwrf+MYtzJ07LSBx1R/PfUvltYRg5nnDhg1ADnA/phKtQA8uVKZL\ngVpgq/P7MIyP5AO9gLHU1mZTXp7O0aMHyM3Npry8mNraBFyuXpSVDSY+fgaHDtWwceNW0tPziY/v\nyltv7WH+/AeYPfsu/vjHZ3G73cTGxjJuXG/OndvE/v1Lycsrp1u32WzadJDvfOcpvv3tv7B0aTq9\nes0lIyOf5OR5PrczUPW9KTtcWDJdRPj+9//UrCXyL/U8X6rc0Fxb+IOmdPWk25Rvt0S3O+6AjAzY\nvBlGjYIlS8Apol2SQN4Dm47/aXGlSVUjVTXBx6erqoZieF43TIkGTKm3m6+TzB4LhZjCzgxM71Ex\n5haUYwrHQzE9SBswgTAC87Kciml1Hgnsx4x7T3SOD8C0RikwgJqacmpq5lBdfSN5efG43cNQ3U9k\nZDX9+o0mIqIW1VJUJyHSHZEoIiIiSEhI4BOfmEZy8gGqqnaQmprE9dcn07evi4MH91BZmcvbb/+L\nLl168NFHxaxdu4nFi9cRHR3NokXT6d79cF2QahgsZs6cyH333VgvMLT1ZdmcgORv/CG3pKSExx9/\nE2NXwdhbMC9ExfjClZhC52qgAFOB+jzG1p/AVLTTMQWsOOBjuN1dUFVEplBbG8Xp0+/TtWsSL774\ne95/fzc5OVNZvnxvvZdaVVUV69al06XLDAoLz1Bb66prCWvq5ePpZfCck57+bItbyhratjn39lLD\nAMOx0tSYn1ZVVbF+fQ4mJlRgKs+HMJWlGEzF+RgmBkQA44ErnPP/gylk3wEMxvRMbcbtPk9NTQmR\nkVOIiqqga9d4zp07yKBBd+N2DyEi4jxFRfGcOnWaI0fOUF3dDZcrhV27shk3Lo7CwnLWr/+Q7dt3\n8eabWZSXT+DAgUPs3/8aFxZ+qJ+Hhnnz2Kixe9nSQk1TeHyoqCiv0XP8mV5b/aMx/62ursa8QjKB\nLpjGlI8wvYyjMbF/MnALprDcGRM39lFVVU1l5URqa2OBMcACzpzpxN69pXTqNICPPtrM5MldSUxM\nJCfnLPPmPcCsWcO59tpEPvax8ezbV0iPHh9jyJDZ5OXFUlDQhcWL00lNHc7f/34vDz54d7MbulqD\nP577lsprCcHMc1ZWFua5PuX8dQPZmIaUasx7/grn7CpM79IRzDvjHKZCVUx1dSyqyRi/GQ7MA3KB\nDygr24ZqCv/+dybl5SPZtCmD0tJkdu8exOHDZ1m2bGfdO2LGjAnMmjWNOXNuJi+vmhMnMsjLK+b8\n+akcORLLnj25rF//DNOm9SQvb13ddgaeyo+nUWXJko31NmX32NK7ce706YpmNWo053kOZSXbm6Z0\n9aTblG+3VLcRI2DZMrPh7V/+Yja/Xbv20td1tEpGR0unIa3epymMKMZEOJy/Rb5OeuSRRzBB8Dyw\nDNMy9ClMD0MupsA8HjiKeXGeBr4O/BWIx7Q4HcAEyVTnWKZzXoWTSjdiY2OIiEgjMbEbnTrFcOJE\nNJGRnUhMjGf+/C+wceN/mTBhKGfOfMDMmcO5444L+zrMnDmRrKwz9O9/PXl57/GpT01l7dpXWLjw\nPpYte5qbbprP/v1rGTJkSN28lr17zT5Bc+ZcePgbdju3di+XpgJKexi2kZaWdtGDFRERQU1NPhAL\njMAUhlyYFsaBmMLSh5gXYSzGJ/YAb2Iq0isAISkphYoKF6pDqak5SHx8OYmJvSkoOExSUj96945g\nwoSFpKc/S3LyRM6efYUrr+xUzxaxsbH06dOFxMQT1NZGc8cds+vdx+Ys7TpnzlTWrh3arBeUNx1p\nBaSmaMxPY2NjiY8vwVR4BgEzMUMxJ2IKSG7MXLYlzu8HMP7wBeBF57rXnHNvRuRloDedO/chJuYo\nkycPY8CAG8jJeQWXaxUjR/Zn9+499Ow5i6qqHSxY8DlOnlyPahY33ng7XbrkI3KcYcOuo6qqkISE\nSAoLKxk2bAhf+9pN7Ny512ceWvMM+mvJ4Ob6ULgvUbx9+3ZMATcWU2EqxgzdHo3phY7ENJZFYhpJ\n4oDbgCK6dp1AefkeRGJQ3UxERBc6d44iOXkQR46s4Z57Ps8Pf/h1wLOC2mruuGM2M2dOJDY2lpiY\nLRw6tJ1OnWpITe3J9u1bGTv2Zg4cOMzcuXaMTzCJiorCNIYKJu4PwMSEwZh3wDni40txuXrjdg/H\nDOHPA74M/A04SXR0AklJ16KaSUxMLiUlxbjdO4EaYmOTGDWqJ927j2bv3gz69o0kLq4nZ8+eonPn\nUsrKlB49uta9I+Li4khN7cnixenMnv1pSks/YP78sRw5sp3y8kPMn/9VEhJyuffeG6iqqrpoOwOg\nrlHlxIl36pbF98YTQ9566wApKR/zy/McTu+WUMSeq6+G9HR49VX46ldh2DD4whdg2jSzr5NdZa99\n0xEqTenAPcArwHzgOV8nvfjii7zyypXU1CjmpejCFIiOYVqQTmEqTvmY1uazwFOYwlIZCQkQH59I\ndHQyLlchFRVCfHwFMTHRuN19qa4+yPTp1QwadCPz5qWwYMHVbN+ezdKlZv7UsGFJdO6cx623jiIi\nojujR6cyd+60eg9zXFwcEyb0JScnjdTUnvTq1Yvk5E4UFW1ixoxexMSc4pprzAICaWlbmqwUBSNY\nhHthaO7cucydO7fu/0ceeYSEhAR+8IN7+c53HsRUkAowld4azBj2MkzhSIFCunTJoqLChdtdCsQQ\nGXmUxMRBpKbGcuZMF0pK8omPj+D662cQHd2dgwePM3ToOIYNSyIysoSEhOFkZ5cwenRnHnzwsxfd\nq8GD+/PDH37Z54umOS8fEXFe9pbGaMxPH3roBzz88O/wPOOmweQcptHkOLAEkVzi4+OoqDiJ6YF6\nhdjYE0RGCi5XIVFRbhITVzBiRC+Ki8s4fz6S+fOv5DOfuZmsrDPceef9VFRUcPjweZ59dhtDh1bR\nq9dwxo6NZuTIhYA4KyEORGQMmzevZ9assYwfP4oPPjjJ5Mm3kJCQ0GgeWvMMBrtQE06FKF+8+OKL\nvPTSIExvYyymZ3EvJj7kYRrMztGlSwKDBycRH+/m0KHXiIwsZNSoKiorhYKC7kRGVjJy5BXEx0fR\nr19vhg+/kp/85P66dHzZysxfHF+354/Zw+1w2DZEdWSWLFnCv//dD1NpWonxh0Ign8jIU1x55ZVE\nRlbhdtdSUHCS8vIjVFScBpYQH1/M4MFDSErqQ+/eZfTuPZkbb5yAqpuvf/2PFBZGMGFCd26//To2\nb97HrbdOYtSoKMaN+yRVVVWsWLGFLVvyeOCBhfXsvmDBbAD27y9h5MjZLFgwG5fLxfr128jNPUJK\nSh/i4uKIi4vz2YDiOZaa2vOiCpOHlja8hfvz7E2odBUxQ/ZuvdX0PL3yCvz4x3DqFPTrB/37Q9++\n5pOVBb/4BURGmo/bDZWV4HLB+fNQXAznzkFhoflbVmbmTHXubD5dukDXruZjyqmmYub5RDjjyTZv\nNotWBJpApqN64bNhA/zqV+a7213/N+//m/peUwPl5eZzww3wpS9dWocWLzkejojIY8Ak4ANVfcDH\n7+0/kxaLxWKxWCwWiyWgNLbkeIeoNFksFovFYrFYLBZLoGjN6nkWi8VisVgsFovFctlgK00Wi8Vi\nsVgsFovF0gS20mSxWCwWi8VisVgsTWArTRaLxWKxWCwWi8XSBB1+rWIRmYzZzbYbZg+nDFXdHlqt\nLM1FRLrg2E5Vy9ogx/qBxfqBpQ7rCxawfmAxWD+wNIcOvXqeiPwJs/HGWi5sgjsfqPG1NHkL5I4B\nfsGFnfA8mz89pKpZl4vcAOt8HfAToMT5JABdgV+pajP22a4nq81+4I98Whmh1SFQ8cAfutm0gpuO\nv33B3/oGIv9Wx4vlBTMmtFQ3m27w0g2WH3SU+BnMdELlN42iqh32A6xvyfEWyN0A9G1wrB+w4XKS\nG2CdNwKdGhzrDGwKhR/4I59WRmh1CFQ8CFT+Lue0Ap2Ov33B3/oGIv9Wx4vlBTMmBOP+2XRbl26w\n/KCjxM9gphMqv2ns09GH520XkaeBNVzorZgH7PSD7IYbX4mPY5eD3EDJdgHjgAyvY2OBylbI8pcf\n+COfVkbodAhkPGirbjat4KYTCF/wt76ByL/Vsb68YMeEluhm0w1eusH0g44QP4OdTqj85mJFnFpb\nh0VEJgLTMeNUi4F0Vf2gjTJTgZ8DSZjFNBQ4CzysqrsvF7kB1rkv8ANMRSkScAO7gN+p6olWyGuT\nH/gjn1ZG6HUIRDzwl242reCm409f8Le+gci/1dG3vGDFhNboZtMNXrrB8IOOFD+DlU6o/KZRfTp6\npclisVgsFovFYrFY2kJHH54XEESkH/AjIAXTC1IL5AC/VtXjl4vcAOvccPKfG9NtHpLJf/7Ip5UR\nXjoEkmDq1hHTCmfb+sLf+gYi/1bH8PKjUOlm0w2dD3S0+BmMdMLJfkDHXggiUB9gHXBVg2NTgXWX\nk9wA67wB6NfgWMgm//kjn1ZGeOkQ7v5yOacVzrYNhr6ByL/VMbz8KFS62XRD5wMdLX4GI51wsp+q\n2s1tW0k8kN3gWLZz/HKSG2jZDQnZ5D/8k08rI7x0CCTB1K0jphXOtvWFv/UNRP6tjm2X509CpZtN\nN3Q+0NHiZzDSCSf72eF5reTHwJsiUgGUYlZaicPsK3Q5yQ2k7PuAv4hIw8l/X22j3Nbij3xaGeGl\nQyAJpm4dMa1wtq0v/K1vIPJvdQwvPwqVbjbd0PlAR4ufwUgnnOxnF4JoCyISj5lzU6KqFZer3EDL\nDif8kU8rI7x0CCTB1K0jphXOtvWFv/UNRP6tjuHlR6HSzaYbOjpa/AxGOuFiP1tpagUi0gW4F5iB\nWZ6yCLOf0NOqWnq5yA2wzmE1+c8f+bQywkuHQBJM3TpiWuFsW1/4W99A5N/qGF5+FCrdbLqh84GO\nFj+DkU442Q+wC0G05gOsAD4FdMcU6JOATwJvXE5yA6xzWE3+80c+rYzw0iHc/eVyTiucbRsMfQOR\nf6tjePlRqHSz6YbOBzpa/AxGOuFkP1W1laZWGnETENHgWASw6XKSG2CdNwOdGhzrDGxurza3MsJL\nh3D3l8s5rXC2bTD0DUT+rY7h5Ueh0s2mGzof6GjxMxjphJP9VNUuBNFK/gqkiUgWZu+gRCAV+Ntl\nJjeQssNq8h/+yaeVEV46BJJg6tYR0wpn2/rC3/oGIv9Wx/Dyo1DpZtMNnQ90tPgZjHTCyX52TlNr\nEZEoYCTGgMXAflWtudzkBkF2WEz+c3Rpcz6tjPDSIZAEU7eOmFY429YX/tY3EPm3OoaXH4VKN5tu\n6Hygo8XPYKQTVvazlaaWIyKRwEIunpi2rI3BvV3JDbDOYTX5zx/5tDLCS4dAEkzdOmJa4WxbX/hb\n30Dk3+oYXn4UKt1suqHzgY4WP4ORTjjZD2ylqVWIyL+A3cBaTK03AZgPjFfVOy8XuQHWeQWwxIfc\nL6jqLW3RuZX6tDmfVkZ46RBIgqlbR0wrnG3rC3/rG4j8Wx3Dy49CpZtNN3Q+0NHiZzDSCSf7AXYh\niNZ8gA0tOd5R5QZY57Ca/OePfFoZ4aVDuPvL5ZxWONs2GPoGIv9Wx/Dyo1DpZtMNnQ90tPgZjHTC\nyX6qdiGI1rJCRN4E0jAT0xKAOZilEf0pNxG4BnijjXKXN6JvW+VC4/eirbLDavIfjd/DltjcH37j\nj/vtDz9rqx7+8MlA+nVbCVSMaE5a/oobvgjWPQ9UXAkU/ogP3gTCf/x9TwPhd/7WMZxjhL99prkE\nMzY1J91A2yKY8fFSBMvmwbJxMGwaTvazw/Nai4hcg9l4tQhjyG3AMFXd0ka5vYApXJjwNkVVf95G\nmX2BGuAqR+5Q4CjwkrZ9TlMM8BlgEJALxABDgD+ralEbZYfN5D9HH49tujn6bAOGqOq2Fshos9+I\nyFRgOBCF2fQ3QlWXNPd6R0ab/cxLxmTgAJDb3HvhD58UkVuBncBYvGyiqvktyUegCFSMaCQtv8eN\nRtIJWCxpkE7A4kqg8Ed8aCDP7/7jj9jRQF4g3letjis+ZAXFX1uLv32mBekGLTY1SNev/teCdIMS\nH1uoS0BtHiwbB8OmYWU/W2lqOSLyByAZE4x7Anerar6IvKuq17VB7gbAYxBx/qYA2ap6TRvkvquq\n14nIn4Fy4D1gAsbxPtVauY7s14GtmA3HJgNvAWeBz6nqDW2QG16T/0QiGvlplaouaKaMNvuNiCx2\nvlY5sk5gAmKyqt7TTBlt9jMReUdVbxSRb2LGF78JzAKOq+oPm3F9m31SRE4CR4AzwOvAClUtbM61\ngSZQMaKRtAISNxpJK2CxpEE6AYkrgcIf8aGBPL/7jz9iRwN5fve7tsYVH/KC4q+twd8+04J0gxab\nGqTrV/9rQbpBi4/N0CUoNg+WjYNh03CyH2CH57WSqzzGEpFxwFIR+Y4f5L4GjAeeV9U0R/5KVf2f\nNsp1O39TVHW+8321iLzXRrkA3VT1UQAR2a2qf3S+f7GNcp/HTP77D/Un/z0PhGICbxmm0uaNAONa\nIMMffjNCVec4Mnar6u3O95bY0h9+FuP8/Thwraq6gadEZGMzr/eHT36oqteKyFDgE8DrIuIClqtq\nqPdhCVSM8EWg4oYvAhlLvAlUXAkU/ogP3gTCf/wRO7wJhN+1Na40JFj+2hr87TPNJZixyRt/+19z\nCWZ8vBTBsnmwbBwMm4aT/WylqZVEikiMqlapapaIfByz0ltqW4Sq6p+cYSmLROQ+TIXBH/xTRJ4B\njonIEuB9zEO63Q+yy0Xk/4DOwDkR+TZwDnC1Ue4QVf3fBsc+cFodQsFe4OOqWux9UETWtECGP/zG\n+5n9kbcqzRXgJz9LEZEXMN3yscB553hcM6/3m0+q6iHgD8AfRKQ3cFtLZQSAgMQIXwQwbvgikLHE\nm0DFlUDhj/jgTSD8p82xw5sA+V1b40pDguWvrcHfPtNcghabGuBX/2suQY6PlyJYNg+WjQNu0zCz\nnx2e1xrEjOE8rKp5XscigU+q6kt+SiMK+F/gSlX9gR/k9QNuAHpjem42q+ouP8iNB27EjD3fD9yF\neWD+0zAwtFDud4C5XDzBcL2q/q5tWrdKn77AWVWtanA8qrnDBf3hNyKSCuxT1VqvYzHAjara4kme\nrfUzERns9e9JVa0Ws7fW1aq6spky2uSTInKDqq5q7vnBJBgxopF0/Ro3GkkjILGkQRoBiSuBwh/x\nocF1fvcff8eOBrL94nf+iCs+ZAbcX1uDv32mBemGKjYFzP9aoEPA4+Ml0g+KzYNl42DbNNT2A1tp\nsoQxEqJJshaLxWKxWCwWize20mQJSyREk2QtFovFYrFYLJaG2DlNlnAlVJNkLRaLxWKxWCyWethK\nkyVcCdUkWYvFYrFYLBaLpR6NDYGyWELNzVxYOcmbkCwz2R4QEbez8pTn/0gRyReRFc7/t4jI95zv\nPxWRB53v74nIpNBobWkJIpIsIv8WkVwR2SYim0QkHFYLtIQIEakVkZ0i8oHzd1CodbJYLK3H65ne\n4zzXD4pIkyvSichgEdntfJ8sIo+1Mu0HRKS1q1V2eGxPkyUsUdVTjRwP+S7uYUw5MEZEYlXVBSwA\njnl+VNU3gDdCpZzFLywDnlPVzwOIyEDgVu8TRCTSezUjfxEouZY2U66qjTZ6WLuFBhGpBXZh9p6q\nBv4F/EmbmEjurB44U1VfDI6W/tXBK8/RQA5wl6pW+lnFy4G6Z1pEegIvYlYQfvgS1ymAqu4AdrQy\n7W9ifNXazQe2p8li6Vi8DXzM+f5ZTLAFQETuEpEnGrtQDM+JyM8CrKOlFYjIdYBLVf/hOaaqx1T1\nr45tl4vIOmCtc/7vRGS3iOwSkU95yfm+iGQ5LZi/co4NE5GVTu/V+yJyhXP8ORF5UkTSgd+KyEci\n0sP5TURkv+d/S8i4qAW6uf4gIo949VAdF5HFzvHPi8gW5/iTnlZuESkVkV+ISKaIbHZWOLX4plxV\nJ6nqGEwD1v8AP73ENUOBz7UkEWcpaX/SYh288OR5LKaieJ//1KpPAPIdlqhqAXAP8A0wi2SJyG+d\n5zNTRL7S8BoRmSMibzjfO4vIs07MzxSzZxMi8jcR2erEhJ86x/4f0A94z4kdiMj1zrO+XUReFpFO\nzvFfOz1hmSLyW+fYJx15H4hIWlP6Ojq+JyJLRWSviPwroDfST9hKk8XScVDgJeCzIhKLWTRji49z\nfBEN/Bv4SFUfCpyKljaQCuxs4veJwCdU9VoR+QQwzim8LAB+JyK9ReRG4BbMjvETgd861/4d+Iaq\nXgV8F3jSS25/VZ2hqt/GtEDe6RyfD2Sq6ll/ZdDSKuLlwvC8V72OX9IfVPWnjh9cC5wFnhCRUcCn\nMb0NkwA38HlHZmfMPkcTgA3ARQU2y8W0oOD7KDDbsecDlyhwrheR5UC2c+wnIrLPOf4fuTD8uqkG\nkcfFDPHNdXzElw4pXhXoTBEZ3sxsbwBGOGm97qS/W0S+7DnBqYT/0Sl8r5ELDTKXasTJAH7TOmu0\nP5wN3COcRopFQJGqTgOmAvdI/f3N6i5z/v7EOX+c89y+6xz/kapOBcYDc0VkjKo+AZwA5qrqPMce\nPwbmqeoUTO/VgyLSHVioqmMcmb/wSut6J6Z4RkA0pe8E4H4gBRguIjPbeKsCjh2eZ7F0IFR1j4gM\nwfQyvUXzd+Z+GnhZVR8NkGoWPyMifwFmA1XAX4E1XgunzMbpZVTVPKfVbypmg+jnnOGbqGqRiHQG\nZgJLRerGzUd7JbXU6/tzmCGCjwN3O/9bQktFI8PzLuUPVwFvOr8vAf6gqpki8nVgErDN8Yc44LRz\nXpWqvu1834GpOFuagaoecipBvYCFOAVJMZuBbhKR1cAPgG+r6q0ATiXJ13lgKsWpqnpURKYAHwfG\nArGYxpXtznl/B+5V1QNiNj19Epjn/NZHVWeJyGhgBfCaDx3+DDymqi+K2Vy0qR4eT49kFKZnzbMh\n8ZecWBOH8atXVbUQUwnfqqoPishPMD1x919C5/6qOr3ZN77jcT0wVkQ+6fyfAIzEbALui/mYRhAA\nvGLCZxz/igL6YCouezA29LwHpjvHNzmxIBrYjNk387yIPIMpZ3jiyEbgnyLyX4wvNaVvNcb2pwBE\nJBMY4sgPW2ylqR0iF8YNC6Y1YaGqHm2jzEPAZFU95wcVLaFlBfA7YC7Qs5nXbAKuFZE/egrUlrAj\nG7jd84+qfsNp8duBiQPlTVzriRW+iAAKm5gXUydXVY+LyBkRuRZT6G7tMB5L4LmUP5gvIg8DR1X1\nBa/f/qmqP/ZxXZXX91psGaK1NFWQbO55W73e+7OA5apaDVSL19Asmm4QWQagqntFJLkRXdOBH4vI\nAOB1Vc1tIl/xIuLpDd8ALHa+f1NEFjrfBzh52Irpxfyvc3wJ8GoLG3EuC0RkGFCrqvnOPfl/qrqm\nwTm+epsakzcE+DamzFciIs9hGkcuOhVY7ZlD20DGVExF9pOYHtR5qvo1EbkKs5DXDhGZ7Mjwpe8c\nwLus0S7iiR2e1z7xjBue6PytV2GS1o31tbsct388L5hngUdUNbsF1y7GzIf6byv9xxJgVPVdIFZE\n7vU63AXfz+4G4NNeLdtXYwopa4AviUg8gIgkqWopcEhE7vBcLCJN7Ye2GFPA+W9Tk9otQaM5vck+\n/UFEbsG0RD/gde464A7nPEQkScyCI81Ny+ID74IvFwqSE53PcFVd6+uyJs5rqlLsoa5BxEvGGK/f\nvQutPm3rLAhxC2ZhgLdFZG4T6VU4aU1S1QdUtcYpHF8HTHOGcmXiu4AOJpZdSufm5Lu9492o0QvT\n0+aZj7wK+JrTm4eIjPTEc3zbcA3wdS953TCV7zKgVER6U39V4hLndzB7Zc7yDMkUkU5Oep2Bbqr6\nDvAgzv6ZIjJMVbep6k+BPEwF2Ze+nVpzU8IBW2lqnzR34u93xEz0y5QLE/06icibYsa/Z3m1YAlw\nv4jsEDNR+Iqg5cbiLzwr55xQ1b+04rrHgA+AF5o+3RJCFmLGnx9wxvU/B3yfBjFBVV8HsjA90muB\n76pqnqquwvREbndahL/tXHInsMiJFXu4MB7dV6VoBWZYzfN+zZmltVyy4tqYPwDfwkz83iZmzsrD\nqroX+D9gtYjsAlYDfZublqWO1hR8S4GuXjKaW+DcBNwiIrEi0gXT0k8LG0Q8+tbTQUSGquohZ77L\ncpreYN5XoT0RUwlyiZkv5z20LgLw6PZ5YGMrGnE6InHO87gH8/y9o6qeBZqewaxMuFPMEuNPcaGH\nxtfz+QuguzgLNGDmK2VhKq97MQ1gG73O/wfwjoisc+bifQl40YkFm4ErMf7xpnNsPSaOgJkrmSUi\nWZi5j1mN6OurYbZdxBaxDYXtDxGpwbwABTioqreLyF3Az4GxqlosIguAO1T1Xqc7dwVm4mQycIOq\n3uvI6qqqpc7wvN+p6t9E5KvAJFW1k3wtFks9xMyf+IOqzgm1LhZLuCIi1cBuLiw5/oKq/sn5TTCF\n2Vsw7/E8TIPIeUxFqTvwvKo+LiK/9HHeJLzmHTkyH8IMlz3jnPeOqi52hmI9ian4RgEvqeovRORZ\n4E1Vfc25vkRVE5wKWp0OmF6h/3XycAr4nKoWNZLnElVNaHAsBjMMcDDwIdANeFhV14tIKWY+7Q2O\n3p9W1bPOULOnLqWzxRJsbKWpHdJIYLoLuEZVFzn//w4z/6EIE2w7Y1bF2YgJiC8Db6nqRuf8Q5jV\nkk45Y1V/oarXBytPFosl/BGR72OWEf6cqqaHWh+LxWIQkc6qWu70WK0HvqKqmaHWqylEpFRVu176\nTIslPAj7SVeWFuE91leAR9VruIgvJgAAATtJREFUT5e6H0QmATcBvxCRtarqWS7SM765XUzIs1gs\nwUVVf8NltNSvxdKO+LuIpGBWz3s+3CtMDrbV3tKusAXj9klzJuOuAn4mIv9xWp/6YbrXo4Bzqvof\nESnGrKFvsVgsFoulneJrhbNAIGbFznVcqPB4Vuac5ywj3mwajpixWMIdW2lqnzRn4u8aZ9Jluhk+\nTSlmsvdIzGQ9N2b5WM+O3bbFx2KxWCwWS6M425JMDLUeFksosHOaLBaLxWKxWCwWi6UJ7JLjFovF\nYrFYLBaLxdIEttJksVgsFovFYrFYLE1gK00Wi8VisVgsFovF0gS20mSxWCwWi8VisVgsTWArTRaL\nxWKxWCwWi8XSBLbSZLFYLBaLxWKxWCxNYCtNFovFYrFYLBaLxdIEttJksVgsFovFYrFYLE3w/wGh\nNy7+WPF7swAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-3\">Question 3<a class=\"anchor-link\" href=\"#Question-3\">&#182;</a></h3><p><em>Are there any pairs of features which exhibit some degree of correlation? Does this confirm or deny your suspicions about the relevance of the feature you attempted to predict? How is the data for those features distributed?</em><br>\n<strong>Hint:</strong> Is the data normally distributed? Where do most of the data points lie?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>The pair (<code>Detergents_Paper</code>, <code>Grocery</code>) exhibits a high degree of correlation. The pairs (<code>Milk</code>,<code>Grocery</code>) and (<code>Milk</code>,<code>Detergents_Paper</code>) also exhibit some degree of correlation.</li>\n<li>This confirms that <code>Grocery</code> might not be that relevant (necessary).</li>\n<li>The data is not normally distributed - it is positively skewed. The features more closely resemble the log-normal distribution.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Data-Preprocessing\">Data Preprocessing<a class=\"anchor-link\" href=\"#Data-Preprocessing\">&#182;</a></h2><p>In this section, you will preprocess the data to create a better representation of customers by performing a scaling on the data and detecting (and optionally removing) outliers. Preprocessing data is often times a critical step in assuring that results you obtain from your analysis are significant and meaningful.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Feature-Scaling\">Implementation: Feature Scaling<a class=\"anchor-link\" href=\"#Implementation:-Feature-Scaling\">&#182;</a></h3><p>If data is not normally distributed, especially if the mean and median vary significantly (indicating a large skew), it is most <a href=\"http://econbrowser.com/archives/2014/02/use-of-logarithms-in-economics\">often appropriate</a> to apply a non-linear scaling — particularly for financial data. One way to achieve this scaling is by using a <a href=\"http://scipy.github.io/devdocs/generated/scipy.stats.boxcox.html\">Box-Cox test</a>, which calculates the best power transformation of the data that reduces skewness. A simpler approach which can work in most cases would be applying the natural logarithm.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Assign a copy of the data to <code>log_data</code> after applying a logarithm scaling. Use the <code>np.log</code> function for this.</li>\n<li>Assign a copy of the sample data to <code>log_samples</code> after applying a logrithm scaling. Again, use <code>np.log</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[39]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Scale the data using the natural logarithm</span>\n<span class=\"n\">log_data</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">log</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Scale the sample data using the natural logarithm</span>\n<span class=\"n\">log_samples</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">log</span><span class=\"p\">(</span><span class=\"n\">samples</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Produce a scatter matrix for each pair of newly-transformed features</span>\n<span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">scatter_matrix</span><span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">,</span> <span class=\"n\">alpha</span> <span class=\"o\">=</span> <span class=\"mf\">0.3</span><span class=\"p\">,</span> <span class=\"n\">figsize</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mi\">14</span><span class=\"p\">,</span><span class=\"mi\">8</span><span class=\"p\">),</span> <span class=\"n\">diagonal</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;kde&#39;</span><span class=\"p\">);</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Observation\">Observation<a class=\"anchor-link\" href=\"#Observation\">&#182;</a></h3><p>After applying a natural logarithm scaling to the data, the distribution of each feature should appear much more normal. For any pairs of features you may have identified earlier as being correlated, observe here whether that correlation is still present (and whether it is now stronger or weaker than before).</p>\n<ul>\n<li>The correlations are still present and appear stronger than before.</li>\n</ul>\n<p>Run the code below to see how the sample data has changed after having the natural logarithm applied to it.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[40]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display the log-transformed sample data</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">log_samples</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>9.687630</td>\n      <td>10.740670</td>\n      <td>11.437986</td>\n      <td>6.933423</td>\n      <td>10.617099</td>\n      <td>7.987524</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>11.627601</td>\n      <td>10.296441</td>\n      <td>9.806316</td>\n      <td>9.725855</td>\n      <td>8.506739</td>\n      <td>9.053687</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.098612</td>\n      <td>5.808142</td>\n      <td>8.856661</td>\n      <td>9.655090</td>\n      <td>2.708050</td>\n      <td>6.309918</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Outlier-Detection\">Implementation: Outlier Detection<a class=\"anchor-link\" href=\"#Implementation:-Outlier-Detection\">&#182;</a></h3><p>Detecting outliers in the data is extremely important in the data preprocessing step of any analysis. The presence of outliers can often skew results which take into consideration these data points. There are many \"rules of thumb\" for what constitutes an outlier in a dataset. Here, we will use <a href=\"http://datapigtechnologies.com/blog/index.php/highlighting-outliers-in-your-data-with-the-tukey-method/\">Tukey's Method for identfying outliers</a>: An <em>outlier step</em> is calculated as 1.5 times the interquartile range (IQR). A data point with a feature that is beyond an outlier step outside of the IQR for that feature is considered abnormal.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Assign the value of the 25th percentile for the given feature to <code>Q1</code>. Use <code>np.percentile</code> for this.</li>\n<li>Assign the value of the 75th percentile for the given feature to <code>Q3</code>. Again, use <code>np.percentile</code>.</li>\n<li>Assign the calculation of an outlier step for the given feature to <code>step</code>.</li>\n<li>Optionally remove data points from the dataset by adding indices to the <code>outliers</code> list.</li>\n</ul>\n<p><strong>NOTE:</strong> If you choose to remove any outliers, ensure that the sample data does not contain any of these points!<br>\nOnce you have performed this implementation, the dataset will be stored in the variable <code>good_data</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[45]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">potential_outliers</span> <span class=\"o\">=</span> <span class=\"p\">[]</span>\n\n<span class=\"c1\"># For each feature find the data points with extreme high or low values</span>\n<span class=\"k\">for</span> <span class=\"n\">feature</span> <span class=\"ow\">in</span> <span class=\"n\">log_data</span><span class=\"o\">.</span><span class=\"n\">keys</span><span class=\"p\">():</span>\n    \n    <span class=\"c1\"># TODO: Calculate Q1 (25th percentile of the data) for the given feature</span>\n    <span class=\"n\">Q1</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">percentile</span><span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">],</span><span class=\"mi\">25</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># TODO: Calculate Q3 (75th percentile of the data) for the given feature</span>\n    <span class=\"n\">Q3</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">percentile</span><span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">],</span><span class=\"mi\">75</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># TODO: Use the interquartile range to calculate an outlier step (1.5 times the interquartile range)</span>\n    <span class=\"n\">step</span> <span class=\"o\">=</span> <span class=\"mf\">1.5</span> <span class=\"o\">*</span> <span class=\"p\">(</span><span class=\"n\">Q3</span><span class=\"o\">-</span><span class=\"n\">Q1</span><span class=\"p\">)</span>\n    \n    <span class=\"c1\"># Display the outliers</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Data points considered outliers for the feature &#39;</span><span class=\"si\">{}</span><span class=\"s2\">&#39;:&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">feature</span><span class=\"p\">))</span>\n    <span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"o\">~</span><span class=\"p\">((</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">]</span> <span class=\"o\">&gt;=</span> <span class=\"n\">Q1</span> <span class=\"o\">-</span> <span class=\"n\">step</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">]</span> <span class=\"o\">&lt;=</span> <span class=\"n\">Q3</span> <span class=\"o\">+</span> <span class=\"n\">step</span><span class=\"p\">))])</span>\n    <span class=\"nb\">list</span> <span class=\"o\">=</span> <span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"o\">~</span><span class=\"p\">((</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">]</span> <span class=\"o\">&gt;=</span> <span class=\"n\">Q1</span> <span class=\"o\">-</span> <span class=\"n\">step</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> <span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"p\">[</span><span class=\"n\">feature</span><span class=\"p\">]</span> <span class=\"o\">&lt;=</span> <span class=\"n\">Q3</span> <span class=\"o\">+</span> <span class=\"n\">step</span><span class=\"p\">))]</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"o\">.</span><span class=\"n\">tolist</span><span class=\"p\">()</span>\n    <span class=\"n\">potential_outliers</span><span class=\"o\">.</span><span class=\"n\">append</span><span class=\"p\">(</span><span class=\"nb\">list</span><span class=\"p\">)</span>\n    \n<span class=\"c1\"># OPTIONAL: Select the indices for data points you wish to remove</span>\n<span class=\"n\">outliers</span>  <span class=\"o\">=</span> <span class=\"p\">[]</span>\n\n<span class=\"c1\"># Remove the outliers, if any were specified</span>\n<span class=\"n\">good_data</span> <span class=\"o\">=</span> <span class=\"n\">log_data</span><span class=\"o\">.</span><span class=\"n\">drop</span><span class=\"p\">(</span><span class=\"n\">log_data</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"p\">[</span><span class=\"n\">outliers</span><span class=\"p\">])</span><span class=\"o\">.</span><span class=\"n\">reset_index</span><span class=\"p\">(</span><span class=\"n\">drop</span> <span class=\"o\">=</span> <span class=\"kc\">True</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Fresh&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>65</th>\n      <td>4.442651</td>\n      <td>9.950323</td>\n      <td>10.732651</td>\n      <td>3.583519</td>\n      <td>10.095388</td>\n      <td>7.260523</td>\n    </tr>\n    <tr>\n      <th>66</th>\n      <td>2.197225</td>\n      <td>7.335634</td>\n      <td>8.911530</td>\n      <td>5.164786</td>\n      <td>8.151333</td>\n      <td>3.295837</td>\n    </tr>\n    <tr>\n      <th>81</th>\n      <td>5.389072</td>\n      <td>9.163249</td>\n      <td>9.575192</td>\n      <td>5.645447</td>\n      <td>8.964184</td>\n      <td>5.049856</td>\n    </tr>\n    <tr>\n      <th>95</th>\n      <td>1.098612</td>\n      <td>7.979339</td>\n      <td>8.740657</td>\n      <td>6.086775</td>\n      <td>5.407172</td>\n      <td>6.563856</td>\n    </tr>\n    <tr>\n      <th>96</th>\n      <td>3.135494</td>\n      <td>7.869402</td>\n      <td>9.001839</td>\n      <td>4.976734</td>\n      <td>8.262043</td>\n      <td>5.379897</td>\n    </tr>\n    <tr>\n      <th>128</th>\n      <td>4.941642</td>\n      <td>9.087834</td>\n      <td>8.248791</td>\n      <td>4.955827</td>\n      <td>6.967909</td>\n      <td>1.098612</td>\n    </tr>\n    <tr>\n      <th>171</th>\n      <td>5.298317</td>\n      <td>10.160530</td>\n      <td>9.894245</td>\n      <td>6.478510</td>\n      <td>9.079434</td>\n      <td>8.740337</td>\n    </tr>\n    <tr>\n      <th>193</th>\n      <td>5.192957</td>\n      <td>8.156223</td>\n      <td>9.917982</td>\n      <td>6.865891</td>\n      <td>8.633731</td>\n      <td>6.501290</td>\n    </tr>\n    <tr>\n      <th>218</th>\n      <td>2.890372</td>\n      <td>8.923191</td>\n      <td>9.629380</td>\n      <td>7.158514</td>\n      <td>8.475746</td>\n      <td>8.759669</td>\n    </tr>\n    <tr>\n      <th>304</th>\n      <td>5.081404</td>\n      <td>8.917311</td>\n      <td>10.117510</td>\n      <td>6.424869</td>\n      <td>9.374413</td>\n      <td>7.787382</td>\n    </tr>\n    <tr>\n      <th>305</th>\n      <td>5.493061</td>\n      <td>9.468001</td>\n      <td>9.088399</td>\n      <td>6.683361</td>\n      <td>8.271037</td>\n      <td>5.351858</td>\n    </tr>\n    <tr>\n      <th>338</th>\n      <td>1.098612</td>\n      <td>5.808142</td>\n      <td>8.856661</td>\n      <td>9.655090</td>\n      <td>2.708050</td>\n      <td>6.309918</td>\n    </tr>\n    <tr>\n      <th>353</th>\n      <td>4.762174</td>\n      <td>8.742574</td>\n      <td>9.961898</td>\n      <td>5.429346</td>\n      <td>9.069007</td>\n      <td>7.013016</td>\n    </tr>\n    <tr>\n      <th>355</th>\n      <td>5.247024</td>\n      <td>6.588926</td>\n      <td>7.606885</td>\n      <td>5.501258</td>\n      <td>5.214936</td>\n      <td>4.844187</td>\n    </tr>\n    <tr>\n      <th>357</th>\n      <td>3.610918</td>\n      <td>7.150701</td>\n      <td>10.011086</td>\n      <td>4.919981</td>\n      <td>8.816853</td>\n      <td>4.700480</td>\n    </tr>\n    <tr>\n      <th>412</th>\n      <td>4.574711</td>\n      <td>8.190077</td>\n      <td>9.425452</td>\n      <td>4.584967</td>\n      <td>7.996317</td>\n      <td>4.127134</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Milk&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>86</th>\n      <td>10.039983</td>\n      <td>11.205013</td>\n      <td>10.377047</td>\n      <td>6.894670</td>\n      <td>9.906981</td>\n      <td>6.805723</td>\n    </tr>\n    <tr>\n      <th>98</th>\n      <td>6.220590</td>\n      <td>4.718499</td>\n      <td>6.656727</td>\n      <td>6.796824</td>\n      <td>4.025352</td>\n      <td>4.882802</td>\n    </tr>\n    <tr>\n      <th>154</th>\n      <td>6.432940</td>\n      <td>4.007333</td>\n      <td>4.919981</td>\n      <td>4.317488</td>\n      <td>1.945910</td>\n      <td>2.079442</td>\n    </tr>\n    <tr>\n      <th>356</th>\n      <td>10.029503</td>\n      <td>4.897840</td>\n      <td>5.384495</td>\n      <td>8.057377</td>\n      <td>2.197225</td>\n      <td>6.306275</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Grocery&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>75</th>\n      <td>9.923192</td>\n      <td>7.036148</td>\n      <td>1.098612</td>\n      <td>8.390949</td>\n      <td>1.098612</td>\n      <td>6.882437</td>\n    </tr>\n    <tr>\n      <th>154</th>\n      <td>6.432940</td>\n      <td>4.007333</td>\n      <td>4.919981</td>\n      <td>4.317488</td>\n      <td>1.945910</td>\n      <td>2.079442</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Frozen&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>38</th>\n      <td>8.431853</td>\n      <td>9.663261</td>\n      <td>9.723703</td>\n      <td>3.496508</td>\n      <td>8.847360</td>\n      <td>6.070738</td>\n    </tr>\n    <tr>\n      <th>57</th>\n      <td>8.597297</td>\n      <td>9.203618</td>\n      <td>9.257892</td>\n      <td>3.637586</td>\n      <td>8.932213</td>\n      <td>7.156177</td>\n    </tr>\n    <tr>\n      <th>65</th>\n      <td>4.442651</td>\n      <td>9.950323</td>\n      <td>10.732651</td>\n      <td>3.583519</td>\n      <td>10.095388</td>\n      <td>7.260523</td>\n    </tr>\n    <tr>\n      <th>145</th>\n      <td>10.000569</td>\n      <td>9.034080</td>\n      <td>10.457143</td>\n      <td>3.737670</td>\n      <td>9.440738</td>\n      <td>8.396155</td>\n    </tr>\n    <tr>\n      <th>175</th>\n      <td>7.759187</td>\n      <td>8.967632</td>\n      <td>9.382106</td>\n      <td>3.951244</td>\n      <td>8.341887</td>\n      <td>7.436617</td>\n    </tr>\n    <tr>\n      <th>264</th>\n      <td>6.978214</td>\n      <td>9.177714</td>\n      <td>9.645041</td>\n      <td>4.110874</td>\n      <td>8.696176</td>\n      <td>7.142827</td>\n    </tr>\n    <tr>\n      <th>325</th>\n      <td>10.395650</td>\n      <td>9.728181</td>\n      <td>9.519735</td>\n      <td>11.016479</td>\n      <td>7.148346</td>\n      <td>8.632128</td>\n    </tr>\n    <tr>\n      <th>420</th>\n      <td>8.402007</td>\n      <td>8.569026</td>\n      <td>9.490015</td>\n      <td>3.218876</td>\n      <td>8.827321</td>\n      <td>7.239215</td>\n    </tr>\n    <tr>\n      <th>429</th>\n      <td>9.060331</td>\n      <td>7.467371</td>\n      <td>8.183118</td>\n      <td>3.850148</td>\n      <td>4.430817</td>\n      <td>7.824446</td>\n    </tr>\n    <tr>\n      <th>439</th>\n      <td>7.932721</td>\n      <td>7.437206</td>\n      <td>7.828038</td>\n      <td>4.174387</td>\n      <td>6.167516</td>\n      <td>3.951244</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Detergents_Paper&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>75</th>\n      <td>9.923192</td>\n      <td>7.036148</td>\n      <td>1.098612</td>\n      <td>8.390949</td>\n      <td>1.098612</td>\n      <td>6.882437</td>\n    </tr>\n    <tr>\n      <th>161</th>\n      <td>9.428190</td>\n      <td>6.291569</td>\n      <td>5.645447</td>\n      <td>6.995766</td>\n      <td>1.098612</td>\n      <td>7.711101</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Data points considered outliers for the feature &#39;Delicatessen&#39;:\n</pre>\n</div>\n</div>\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>66</th>\n      <td>2.197225</td>\n      <td>7.335634</td>\n      <td>8.911530</td>\n      <td>5.164786</td>\n      <td>8.151333</td>\n      <td>3.295837</td>\n    </tr>\n    <tr>\n      <th>109</th>\n      <td>7.248504</td>\n      <td>9.724899</td>\n      <td>10.274568</td>\n      <td>6.511745</td>\n      <td>6.728629</td>\n      <td>1.098612</td>\n    </tr>\n    <tr>\n      <th>128</th>\n      <td>4.941642</td>\n      <td>9.087834</td>\n      <td>8.248791</td>\n      <td>4.955827</td>\n      <td>6.967909</td>\n      <td>1.098612</td>\n    </tr>\n    <tr>\n      <th>137</th>\n      <td>8.034955</td>\n      <td>8.997147</td>\n      <td>9.021840</td>\n      <td>6.493754</td>\n      <td>6.580639</td>\n      <td>3.583519</td>\n    </tr>\n    <tr>\n      <th>142</th>\n      <td>10.519646</td>\n      <td>8.875147</td>\n      <td>9.018332</td>\n      <td>8.004700</td>\n      <td>2.995732</td>\n      <td>1.098612</td>\n    </tr>\n    <tr>\n      <th>154</th>\n      <td>6.432940</td>\n      <td>4.007333</td>\n      <td>4.919981</td>\n      <td>4.317488</td>\n      <td>1.945910</td>\n      <td>2.079442</td>\n    </tr>\n    <tr>\n      <th>183</th>\n      <td>10.514529</td>\n      <td>10.690808</td>\n      <td>9.911952</td>\n      <td>10.505999</td>\n      <td>5.476464</td>\n      <td>10.777768</td>\n    </tr>\n    <tr>\n      <th>184</th>\n      <td>5.789960</td>\n      <td>6.822197</td>\n      <td>8.457443</td>\n      <td>4.304065</td>\n      <td>5.811141</td>\n      <td>2.397895</td>\n    </tr>\n    <tr>\n      <th>187</th>\n      <td>7.798933</td>\n      <td>8.987447</td>\n      <td>9.192075</td>\n      <td>8.743372</td>\n      <td>8.148735</td>\n      <td>1.098612</td>\n    </tr>\n    <tr>\n      <th>203</th>\n      <td>6.368187</td>\n      <td>6.529419</td>\n      <td>7.703459</td>\n      <td>6.150603</td>\n      <td>6.860664</td>\n      <td>2.890372</td>\n    </tr>\n    <tr>\n      <th>233</th>\n      <td>6.871091</td>\n      <td>8.513988</td>\n      <td>8.106515</td>\n      <td>6.842683</td>\n      <td>6.013715</td>\n      <td>1.945910</td>\n    </tr>\n    <tr>\n      <th>285</th>\n      <td>10.602965</td>\n      <td>6.461468</td>\n      <td>8.188689</td>\n      <td>6.948897</td>\n      <td>6.077642</td>\n      <td>2.890372</td>\n    </tr>\n    <tr>\n      <th>289</th>\n      <td>10.663966</td>\n      <td>5.655992</td>\n      <td>6.154858</td>\n      <td>7.235619</td>\n      <td>3.465736</td>\n      <td>3.091042</td>\n    </tr>\n    <tr>\n      <th>343</th>\n      <td>7.431892</td>\n      <td>8.848509</td>\n      <td>10.177932</td>\n      <td>7.283448</td>\n      <td>9.646593</td>\n      <td>3.610918</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-4\">Question 4<a class=\"anchor-link\" href=\"#Question-4\">&#182;</a></h3><p><em>Are there any data points considered outliers for more than one feature based on the definition above? Should these data points be removed from the dataset? If any data points were added to the <code>outliers</code> list to be removed, explain why.</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<p>Datapoints considered outliers for more than one feature: rows 65, 66, 75, 128, 154. (Rough work below.)</p>\n<p>These data points look a bit suspicious. E.g. Row 75 spent 3 monetary units on Grocery and Detergents_Paper but spent a lot more (up to around 20k in Fresh) in other categories.</p>\n<p>But they should not be removed from the dataset. They could still be genuine datapoints because it is plausible shops don't use much of these categories of goods. (Detergents_Paper seems less plausible though.)</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[67]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">iloc</span><span class=\"p\">[[</span><span class=\"mi\">65</span><span class=\"p\">,</span><span class=\"mi\">66</span><span class=\"p\">,</span><span class=\"mi\">75</span><span class=\"p\">,</span><span class=\"mi\">128</span><span class=\"p\">,</span><span class=\"mi\">154</span><span class=\"p\">]]</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[67]:</div>\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>65</th>\n      <td>85</td>\n      <td>20959</td>\n      <td>45828</td>\n      <td>36</td>\n      <td>24231</td>\n      <td>1423</td>\n    </tr>\n    <tr>\n      <th>66</th>\n      <td>9</td>\n      <td>1534</td>\n      <td>7417</td>\n      <td>175</td>\n      <td>3468</td>\n      <td>27</td>\n    </tr>\n    <tr>\n      <th>75</th>\n      <td>20398</td>\n      <td>1137</td>\n      <td>3</td>\n      <td>4407</td>\n      <td>3</td>\n      <td>975</td>\n    </tr>\n    <tr>\n      <th>128</th>\n      <td>140</td>\n      <td>8847</td>\n      <td>3823</td>\n      <td>142</td>\n      <td>1062</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>154</th>\n      <td>622</td>\n      <td>55</td>\n      <td>137</td>\n      <td>75</td>\n      <td>7</td>\n      <td>8</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[46]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Rough work</span>\n<span class=\"n\">potential_outliers</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[46]:</div>\n\n\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>[[65, 66, 81, 95, 96, 128, 171, 193, 218, 304, 305, 338, 353, 355, 357, 412],\n [86, 98, 154, 356],\n [75, 154],\n [38, 57, 65, 145, 175, 264, 325, 420, 429, 439],\n [75, 161],\n [66, 109, 128, 137, 142, 154, 183, 184, 187, 203, 233, 285, 289, 343]]</pre>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[66]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">mult_outlier_indices_dict</span> <span class=\"o\">=</span> <span class=\"p\">{}</span>\n\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">potential_outliers</span><span class=\"p\">)):</span>\n    <span class=\"n\">current_feature_ol</span> <span class=\"o\">=</span> <span class=\"n\">potential_outliers</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span>\n    <span class=\"k\">for</span> <span class=\"n\">po</span> <span class=\"ow\">in</span> <span class=\"n\">current_feature_ol</span><span class=\"p\">:</span>\n        <span class=\"n\">mult_ol</span> <span class=\"o\">=</span> <span class=\"nb\">set</span><span class=\"p\">()</span>\n        <span class=\"n\">mult_ol</span><span class=\"o\">.</span><span class=\"n\">add</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"p\">)</span>\n        <span class=\"k\">if</span> <span class=\"n\">po</span> <span class=\"ow\">not</span> <span class=\"ow\">in</span> <span class=\"n\">mult_outlier_indices_dict</span><span class=\"o\">.</span><span class=\"n\">keys</span><span class=\"p\">():</span>\n            <span class=\"k\">for</span> <span class=\"n\">other_feat</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"p\">,</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">potential_outliers</span><span class=\"p\">)):</span>\n                <span class=\"k\">if</span> <span class=\"n\">po</span> <span class=\"ow\">in</span> <span class=\"n\">potential_outliers</span><span class=\"p\">[</span><span class=\"n\">other_feat</span><span class=\"p\">]:</span>\n                    <span class=\"n\">mult_ol</span><span class=\"o\">.</span><span class=\"n\">add</span><span class=\"p\">(</span><span class=\"n\">other_feat</span><span class=\"p\">)</span>\n        <span class=\"k\">if</span> <span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">mult_ol</span><span class=\"p\">)</span> <span class=\"o\">&gt;</span> <span class=\"mi\">1</span><span class=\"p\">:</span>\n            <span class=\"n\">mult_outlier_indices_dict</span><span class=\"p\">[</span><span class=\"n\">po</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">mult_ol</span>\n            \n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mult_outlier_indices_dict</span><span class=\"p\">)</span>\n\n<span class=\"k\">for</span> <span class=\"n\">v</span> <span class=\"ow\">in</span> <span class=\"n\">mult_outlier_indices_dict</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>{128: {0, 5}, 65: {0, 3}, 66: {0, 5}, 75: {2, 4}, 154: {1, 2, 5}}\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Feature-Transformation\">Feature Transformation<a class=\"anchor-link\" href=\"#Feature-Transformation\">&#182;</a></h2><p>In this section you will use principal component analysis (PCA) to draw conclusions about the underlying structure of the wholesale customer data. Since using PCA on a dataset calculates the dimensions which best maximize variance, we will find which compound combinations of features best describe customers.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-PCA\">Implementation: PCA<a class=\"anchor-link\" href=\"#Implementation:-PCA\">&#182;</a></h3><p>Now that the data has been scaled to a more normal distribution and has had any necessary outliers removed, we can now apply PCA to the <code>good_data</code> to discover which dimensions about the data best maximize the variance of features involved. In addition to finding these dimensions, PCA will also report the <em>explained variance ratio</em> of each dimension — how much variance within the data is explained by that dimension alone. Note that a component (dimension) from PCA can be considered a new \"feature\" of the space, however it is a composition of the original features present in the data.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Import <code>sklearn.decomposition.PCA</code> and assign the results of fitting PCA in six dimensions with <code>good_data</code> to <code>pca</code>.</li>\n<li>Apply a PCA transformation of the sample log-data <code>log_samples</code> using <code>pca.transform</code>, and assign the results to <code>pca_samples</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[68]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Apply PCA by fitting the good data with the same number of dimensions as features</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.decomposition</span> <span class=\"k\">import</span> <span class=\"n\">PCA</span>\n<span class=\"n\">pca</span> <span class=\"o\">=</span> <span class=\"n\">PCA</span><span class=\"p\">(</span><span class=\"n\">n_components</span><span class=\"o\">=</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">good_data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Transform the sample log-data using the PCA fit above</span>\n<span class=\"n\">pca_samples</span> <span class=\"o\">=</span> <span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">transform</span><span class=\"p\">(</span><span class=\"n\">log_samples</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Generate PCA results plot</span>\n<span class=\"n\">pca_results</span> <span class=\"o\">=</span> <span class=\"n\">rs</span><span class=\"o\">.</span><span class=\"n\">pca_results</span><span class=\"p\">(</span><span class=\"n\">good_data</span><span class=\"p\">,</span> <span class=\"n\">pca</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nssdoZnMzsZ5Daq/v9tfHJz7xCWbMmMGpp57KkUceyeabb86cOXM49dRT2W233Tj//PPXWueMM87g\nwx/+MHPmzGHixIl86EMf4qijjgLgPe95D4899hiHHnooy5YtY9asWVx44YW0trby05/+lI9//OPM\nnj2b559/np122ol///d/HzK+3XffnaamJnbddde1TrWTJBVTa2szHR3V/S9tbV2//4uS1AhRebrW\naBcROdDxRARj6TgbYc899+T9738/Rx99dKNDGVHMLRVRRLB4cXVtOzrwNSKtp4iAeVU2nudrbKwy\nD2qn/Pkt+i8vZI+R1s8NN9zAzTffzKJFixodiiRJklQTXmOkIX3gAx9g77335vTTT++7+awkSZI0\n1thjpCFdcMEFjQ5BkiRJqjl7jCRJkiQVnoWRJEmSpMLzVDpJkiRphGme3kzvvOqGxG+e7pD4w8HC\nSJIkSRpheh7oaXQIheOpdJIkSZIKz8JIkiRJUuEVsjBqaWsjImo2tbS1VR3LrFmzmDRpElOmTGHy\n5MlMmTKFnh67TiVJkqR6KuQ1Rr3d3bB4ce2239FRdduI4PLLL6djiHVWrlzJuHHjhiM0SZIkSQMo\nZI/RSJOZL3rc1dVFU1MT5513HjNnzmTPPfcEYNGiRbziFa9g2rRp7LHHHtx1110AfP/73+/rbZoy\nZQqbbbYZe+yxBwDPP/88J510EjNnzmS77bbj+OOP57nnngPg6quvprW1la9+9as0Nzczffp0b+gq\nSZKkQrIwGsGuueYa7rrrLn7xi19wzz33cOihh3LGGWfw8MMPs++++7L//vvzwgsvcNBBB7F8+XKe\nfPJJli5dypw5czj00EMBOPnkk7n33nu59dZbuffee1m6dClf+tKX+vbR09PD8uXLWbZsGd/+9rc5\n4YQT+Nvf/taoQ5YkSZIawsJoBHjXu97FtGnTmDZtGgceeGDf8vnz5zNx4kQ23XRTFi5cyH777cce\ne+zBuHHjOOmkk/j73//Ob3/72772mckhhxzCHnvswTHHHAPAOeecw9e+9jWmTp3K5ptvzqc+9Sku\nvvjivnU22WQTPv/5zzNu3Dj23XdftthiC+6+++76HbwkSZI0AhTyGqOR5tJLL33RNUZdXV1EBDNm\nzOhbtmzZMmbOnNn3OCJobW1l6dKlfcs+85nP8PTTT3P66acD8PDDD/PMM8/wmte8pq/NqlWrXnTq\n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\nAZSWyKm8CV39AAAAAElFTkSuQmCC\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-5\">Question 5<a class=\"anchor-link\" href=\"#Question-5\">&#182;</a></h3><p><em>How much variance in the data is explained</em> <strong><em>in total</em></strong> <em>by the first and second principal component? What about the first four principal components? Using the visualization provided above, discuss what the first four dimensions best represent in terms of customer spending.</em><br>\n<strong>Hint:</strong> A positive increase in a specific dimension corresponds with an <em>increase</em> of the <em>positive-weighted</em> features and a <em>decrease</em> of the <em>negative-weighted</em> features. The rate of increase or decrease is based on the indivdual feature weights.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>First and second PCs explain <strong>71.90%</strong> of the variance in the data.</li>\n<li>First four PCs explain <strong>93.14%</strong> of the variation in the data.</li>\n<li>What the first four dimensions best represent in terms of customer spending:<ul>\n<li>Dim 1: Detergents_Paper, Grocery and Milk: -&gt; Utilities</li>\n<li>Dim 2: Fresh, Frozen, Delicatessen -&gt; Food</li>\n<li>Dim 3: Fresh - Delicatessen: Market-y stuff, food that must be sold on the day</li>\n<li>Dim 4: Frozen - Fresh - Delicatessen: Food that can be kept for ages</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[70]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Rough calculation</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"mf\">0.4424</span><span class=\"o\">+</span><span class=\"mf\">0.2766</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"mf\">0.4424</span><span class=\"o\">+</span><span class=\"mf\">0.2766</span><span class=\"o\">+</span><span class=\"mf\">0.1162</span><span class=\"o\">+</span><span class=\"mf\">0.0962</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>0.7190000000000001\n0.9314\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Observation\">Observation<a class=\"anchor-link\" href=\"#Observation\">&#182;</a></h3><p>Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it in six dimensions. Observe the numerical value for the first four dimensions of the sample points. Consider if this is consistent with your initial interpretation of the sample points.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[71]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display sample log-data after having a PCA transformation applied</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">round</span><span class=\"p\">(</span><span class=\"n\">pca_samples</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">),</span> <span class=\"n\">columns</span> <span class=\"o\">=</span> <span class=\"n\">pca_results</span><span class=\"o\">.</span><span class=\"n\">index</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Dimension 1</th>\n      <th>Dimension 2</th>\n      <th>Dimension 3</th>\n      <th>Dimension 4</th>\n      <th>Dimension 5</th>\n      <th>Dimension 6</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>5.3459</td>\n      <td>1.9442</td>\n      <td>0.7429</td>\n      <td>-0.2108</td>\n      <td>-0.5297</td>\n      <td>0.2928</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.1974</td>\n      <td>4.9048</td>\n      <td>0.0686</td>\n      <td>0.5623</td>\n      <td>-0.5195</td>\n      <td>-0.2369</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>-2.8963</td>\n      <td>-4.7798</td>\n      <td>-6.3817</td>\n      <td>2.9243</td>\n      <td>-0.7629</td>\n      <td>2.2292</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Dimensionality-Reduction\">Implementation: Dimensionality Reduction<a class=\"anchor-link\" href=\"#Implementation:-Dimensionality-Reduction\">&#182;</a></h3><p>When using principal component analysis, one of the main goals is to reduce the dimensionality of the data — in effect, reducing the complexity of the problem. Dimensionality reduction comes at a cost: Fewer dimensions used implies less of the total variance in the data is being explained. Because of this, the <em>cumulative explained variance ratio</em> is extremely important for knowing how many dimensions are necessary for the problem. Additionally, if a signifiant amount of variance is explained by only two or three dimensions, the reduced data can be visualized afterwards.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Assign the results of fitting PCA in two dimensions with <code>good_data</code> to <code>pca</code>.</li>\n<li>Apply a PCA transformation of <code>good_data</code> using <code>pca.transform</code>, and assign the reuslts to <code>reduced_data</code>.</li>\n<li>Apply a PCA transformation of the sample log-data <code>log_samples</code> using <code>pca.transform</code>, and assign the results to <code>pca_samples</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[72]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Apply PCA by fitting the good data with only two dimensions</span>\n<span class=\"n\">pca</span> <span class=\"o\">=</span> <span class=\"n\">PCA</span><span class=\"p\">(</span><span class=\"n\">n_components</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n<span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">good_data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Transform the good data using the PCA fit above</span>\n<span class=\"n\">reduced_data</span> <span class=\"o\">=</span> <span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">transform</span><span class=\"p\">(</span><span class=\"n\">good_data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Transform the sample log-data using the PCA fit above</span>\n<span class=\"n\">pca_samples</span> <span class=\"o\">=</span> <span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">transform</span><span class=\"p\">(</span><span class=\"n\">log_samples</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Create a DataFrame for the reduced data</span>\n<span class=\"n\">reduced_data</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">columns</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s1\">&#39;Dimension 1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Dimension 2&#39;</span><span class=\"p\">])</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Observation\">Observation<a class=\"anchor-link\" href=\"#Observation\">&#182;</a></h3><p>Run the code below to see how the log-transformed sample data has changed after having a PCA transformation applied to it using only two dimensions. Observe how the <strong>values for the first two dimensions remains unchanged when compared to a PCA transformation in six dimensions</strong>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[73]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display sample log-data after applying PCA transformation in two dimensions</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">round</span><span class=\"p\">(</span><span class=\"n\">pca_samples</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">),</span> <span class=\"n\">columns</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s1\">&#39;Dimension 1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Dimension 2&#39;</span><span class=\"p\">]))</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Dimension 1</th>\n      <th>Dimension 2</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>5.3459</td>\n      <td>1.9442</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2.1974</td>\n      <td>4.9048</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>-2.8963</td>\n      <td>-4.7798</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Clustering\">Clustering<a class=\"anchor-link\" href=\"#Clustering\">&#182;</a></h2><p>In this section, you will choose to use either a K-Means clustering algorithm or a Gaussian Mixture Model clustering algorithm to identify the various customer segments hidden in the data. You will then recover specific data points from the clusters to understand their significance by transforming them back into their original dimension and scale.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-6\">Question 6<a class=\"anchor-link\" href=\"#Question-6\">&#182;</a></h3><p><em>What are the advantages to using a K-Means clustering algorithm? What are the advantages to using a Gaussian Mixture Model clustering algorithm? Given your observations about the wholesale customer data so far, which of the two algorithms will you use and why?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<p><strong>Advantages to using K-Means clustering</strong></p>\n<ul>\n<li>Hard labelling so all datapoints are in certain clusters</li>\n<li>Less computationally expensive (than a Gaussian Mixture Model)</li>\n<li>Guaranteed to converge</li>\n<li>Scale-invariant</li>\n<li>Consistent</li>\n</ul>\n<p><strong>Advantages to using Gaussian Mixture Model clustering</strong></p>\n<ul>\n<li>One point can be shared between clusters because points are assigned probabilities of belonging to each cluster (soft) as opposed to hard labels</li>\n<li>More information: Can look at probabilities to know how sure the algorithm is that each point is in each cluster</li>\n<li>Can model all elliptical clusters (vs K-Means which assumes clusters are spherical)</li>\n</ul>\n<p><strong>Chosen algorithm</strong></p>\n<ul>\n<li>Gausssian Mixture.</li>\n<li>The data does not seem to be separated into clear clusters. There may be groups that are in-betweens.</li>\n</ul>\n<p>Reference: <a href=\"https://www.quora.com/What-is-the-difference-between-K-means-and-the-mixture-model-of-Gaussian\">https://www.quora.com/What-is-the-difference-between-K-means-and-the-mixture-model-of-Gaussian</a></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Creating-Clusters\">Implementation: Creating Clusters<a class=\"anchor-link\" href=\"#Implementation:-Creating-Clusters\">&#182;</a></h3><p>Depending on the problem, the number of clusters that you expect to be in the data may already be known. When the number of clusters is not known <em>a priori</em>, there is no guarantee that a given number of clusters best segments the data, since it is unclear what structure exists in the data — if any. However, we can quantify the \"goodness\" of a clustering by calculating each data point's <em>silhouette coefficient</em>. The <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html\">silhouette coefficient</a> for a data point measures how similar it is to its assigned cluster from -1 (dissimilar) to 1 (similar). Calculating the <strong><em>mean</em> silhouette coefficient provides for a simple scoring method of a given clustering</strong>.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Fit a clustering algorithm to the <code>reduced_data</code> and assign it to <code>clusterer</code>.</li>\n<li>Predict the cluster for each data point in <code>reduced_data</code> using <code>clusterer.predict</code> and assign them to <code>preds</code>.</li>\n<li>Find the cluster centers using the algorithm's respective attribute and assign them to <code>centers</code>.</li>\n<li>Predict the cluster for each sample data point in <code>pca_samples</code> and assign them <code>sample_preds</code>.</li>\n<li>Import sklearn.metrics.silhouette_score and calculate the silhouette score of <code>reduced_data</code> against <code>preds</code>.<ul>\n<li>Assign the silhouette score to <code>score</code> and print the result.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[86]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Apply your clustering algorithm of choice to the reduced data </span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.mixture</span> <span class=\"k\">import</span> <span class=\"n\">GMM</span>\n<span class=\"kn\">from</span> <span class=\"nn\">sklearn.metrics</span> <span class=\"k\">import</span> <span class=\"n\">silhouette_score</span>\n\n<span class=\"c1\"># Loop through different cluster numbers to see which </span>\n<span class=\"c1\"># gives th ehighest silhouette score.</span>\n<span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span><span class=\"mi\">7</span><span class=\"p\">):</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Number of components: &quot;</span><span class=\"p\">,</span> <span class=\"n\">i</span><span class=\"p\">)</span>\n    <span class=\"n\">clusterer</span> <span class=\"o\">=</span> <span class=\"n\">GMM</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">n_components</span><span class=\"o\">=</span><span class=\"n\">i</span><span class=\"p\">)</span>\n    <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Predict the cluster for each data point</span>\n    <span class=\"n\">preds</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">)</span>\n    <span class=\"c1\"># TODO: Find the cluster centers</span>\n    <span class=\"n\">centers</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">means_</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Cluster centres: &quot;</span><span class=\"p\">,</span><span class=\"n\">centers</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Predict the cluster for each transformed sample data point</span>\n    <span class=\"n\">sample_preds</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">pca_samples</span><span class=\"p\">)</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Sample Preds: &quot;</span><span class=\"p\">,</span> <span class=\"n\">sample_preds</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># TODO: Calculate the mean silhouette coefficient for the number of clusters chosen</span>\n    <span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">silhouette_score</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">preds</span><span class=\"p\">)</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Silhouette score: &quot;</span><span class=\"p\">,</span> <span class=\"n\">score</span><span class=\"p\">,</span> <span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Note: Variable values reassigned below.</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Number of components:  2\nCluster centres:  [[-0.71464435  0.31923966]\n [ 1.01432429 -0.45311006]]\nSample Preds:  [1 1 1]\nSilhouette score:  0.316017379116 \n\nNumber of components:  3\nCluster centres:  [[ 1.53837521  0.35814931]\n [-1.53264671  0.28309436]\n [-0.42189675 -1.47049155]]\nSample Preds:  [0 0 2]\nSilhouette score:  0.375222595239 \n\nNumber of components:  4\nCluster centres:  [[ 0.04260476 -1.75483254]\n [-1.19364513  0.61758051]\n [-1.65040023 -0.34386088]\n [ 2.12094466  0.18950015]]\nSample Preds:  [3 3 0]\nSilhouette score:  0.336237830562 \n\nNumber of components:  5\nCluster centres:  [[-1.52420475 -0.16175761]\n [ 2.61449466 -0.91376362]\n [-1.70036028 -1.83457833]\n [-0.89574454  1.08330732]\n [ 1.92949643  0.40524309]]\nSample Preds:  [4 1 2]\nSilhouette score:  0.31202624062 \n\nNumber of components:  6\nCluster centres:  [[ 1.74491709  0.94152474]\n [-1.5625887   0.15170505]\n [-0.38366704 -3.6751244 ]\n [ 2.78898903 -1.01811609]\n [-0.96577157 -0.2125656 ]\n [-0.10568062  1.18412939]]\nSample Preds:  [0 0 2]\nSilhouette score:  0.269277095938 \n\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-7\">Question 7<a class=\"anchor-link\" href=\"#Question-7\">&#182;</a></h3><p><em>Report the silhouette score for several cluster numbers you tried. Of these, which number of clusters has the best silhouette score?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<table>\n<th>Cluster number</th><th>Silhouette score</th>\n<tr><td>2</td><td>0.316</td></tr>\n<tr><td>**3**</td><td>**0.375**</td></tr>\n<tr><td>4</td><td>0.336</td></tr>\n<tr><td>5</td><td>0.312</td></tr>\n<tr><td>6</td><td>0.269</td></tr>\n</table><p>Cluster number 3 has the best silhouette score.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[87]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Reassign variable values with n_components = 3</span>\n\n<span class=\"n\">clusterer</span> <span class=\"o\">=</span> <span class=\"n\">GMM</span><span class=\"p\">(</span><span class=\"n\">random_state</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">n_components</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">)</span>\n<span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">fit</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Predict the cluster for each data point</span>\n<span class=\"n\">preds</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">)</span>\n<span class=\"c1\"># TODO: Find the cluster centers</span>\n<span class=\"n\">centers</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">means_</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Cluster centres: &quot;</span><span class=\"p\">,</span><span class=\"n\">centers</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Predict the cluster for each transformed sample data point</span>\n<span class=\"n\">sample_preds</span> <span class=\"o\">=</span> <span class=\"n\">clusterer</span><span class=\"o\">.</span><span class=\"n\">predict</span><span class=\"p\">(</span><span class=\"n\">pca_samples</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Sample Preds: &quot;</span><span class=\"p\">,</span> <span class=\"n\">sample_preds</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Calculate the mean silhouette coefficient for the number of clusters chosen</span>\n<span class=\"n\">score</span> <span class=\"o\">=</span> <span class=\"n\">silhouette_score</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">preds</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Silhouette score: &quot;</span><span class=\"p\">,</span> <span class=\"n\">score</span><span class=\"p\">,</span> <span class=\"s2\">&quot;</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Cluster centres:  [[ 1.53837521  0.35814931]\n [-1.53264671  0.28309436]\n [-0.42189675 -1.47049155]]\nSample Preds:  [0 0 2]\nSilhouette score:  0.375222595239 \n\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Cluster-Visualization\">Cluster Visualization<a class=\"anchor-link\" href=\"#Cluster-Visualization\">&#182;</a></h3><p>Once you've chosen the optimal number of clusters for your clustering algorithm using the scoring metric above, you can now visualize the results by executing the code block below. Note that, for experimentation purposes, you are welcome to adjust the number of clusters for your clustering algorithm to see various visualizations. The final visualization provided should, however, correspond with the optimal number of clusters.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[88]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display the results of the clustering from implementation</span>\n<span class=\"n\">rs</span><span class=\"o\">.</span><span class=\"n\">cluster_results</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">preds</span><span class=\"p\">,</span> <span class=\"n\">centers</span><span class=\"p\">,</span> <span class=\"n\">pca_samples</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\n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\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\n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\nAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>It's okayish.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Implementation:-Data-Recovery\">Implementation: Data Recovery<a class=\"anchor-link\" href=\"#Implementation:-Data-Recovery\">&#182;</a></h3><p>Each cluster present in the visualization above has a central point. These centers (or means) are not specifically data points from the data, but rather the <em>averages</em> of all the data points predicted in the respective clusters. For the problem of creating customer segments, a cluster's center point corresponds to <em>the average customer of that segment</em>. Since the data is currently reduced in dimension and scaled by a logarithm, we can recover the representative customer spending from these data points by applying the inverse transformations.</p>\n<p>In the code block below, you will need to implement the following:</p>\n<ul>\n<li>Apply the inverse transform to <code>centers</code> using <code>pca.inverse_transform</code> and assign the new centers to <code>log_centers</code>.</li>\n<li>Apply the inverse function of <code>np.log</code> to <code>log_centers</code> using <code>np.exp</code> and assign the true centers to <code>true_centers</code>.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[90]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># TODO: Inverse transform the centers</span>\n<span class=\"n\">log_centers</span> <span class=\"o\">=</span> <span class=\"n\">pca</span><span class=\"o\">.</span><span class=\"n\">inverse_transform</span><span class=\"p\">(</span><span class=\"n\">centers</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># TODO: Exponentiate the centers</span>\n<span class=\"n\">true_centers</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">exp</span><span class=\"p\">(</span><span class=\"n\">log_centers</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Display the true centers</span>\n<span class=\"n\">segments</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s1\">&#39;Segment </span><span class=\"si\">{}</span><span class=\"s1\">&#39;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"p\">)</span> <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">centers</span><span class=\"p\">))]</span>\n<span class=\"n\">true_centers</span> <span class=\"o\">=</span> <span class=\"n\">pd</span><span class=\"o\">.</span><span class=\"n\">DataFrame</span><span class=\"p\">(</span><span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">round</span><span class=\"p\">(</span><span class=\"n\">true_centers</span><span class=\"p\">),</span> <span class=\"n\">columns</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">keys</span><span class=\"p\">())</span>\n<span class=\"n\">true_centers</span><span class=\"o\">.</span><span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"n\">segments</span>\n<span class=\"n\">display</span><span class=\"p\">(</span><span class=\"n\">true_centers</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n<div class=\"output_html rendered_html output_subarea \">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>Segment 0</th>\n      <td>6055.0</td>\n      <td>6542.0</td>\n      <td>9557.0</td>\n      <td>1354.0</td>\n      <td>2830.0</td>\n      <td>1185.0</td>\n    </tr>\n    <tr>\n      <th>Segment 1</th>\n      <td>9806.0</td>\n      <td>1925.0</td>\n      <td>2355.0</td>\n      <td>2216.0</td>\n      <td>286.0</td>\n      <td>721.0</td>\n    </tr>\n    <tr>\n      <th>Segment 2</th>\n      <td>2432.0</td>\n      <td>2244.0</td>\n      <td>3455.0</td>\n      <td>778.0</td>\n      <td>608.0</td>\n      <td>348.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-8\">Question 8<a class=\"anchor-link\" href=\"#Question-8\">&#182;</a></h3><p>Consider the total purchase cost of each product category for the representative data points above, and reference the statistical description of the dataset at the beginning of this project. <em>What set of establishments could each of the customer segments represent?</em><br>\n<strong>Hint:</strong> A customer who is assigned to <code>'Cluster X'</code> should best identify with the establishments represented by the feature set of <code>'Segment X'</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<ul>\n<li>Segment 0 could represent supermarkets.<ul>\n<li>Their spendings for all categories except Frozen are above the median.</li>\n</ul>\n</li>\n<li>Segment 1 could represent a fresh food market.<ul>\n<li>Their spending for Fresh and Frozen are above the median, but their spending for Grocery, Milk and Detergents_Paper are below the median as those are often kept in fridges or placed in boxes on shelves. Delicatessen spending is also below the median - that is often fancier stuff that isn't found in street markets.</li>\n<li>Frozen products are often sold in markets placed in big boxes lined with ice cubes.</li>\n</ul>\n</li>\n<li>Segment 2 could represent a corner store.<ul>\n<li>Their spending on Fresh and Delicatessen are in the bottom quartile.</li>\n<li>Their spending on Detergents_Paper, Frozen, Grocery and Milk are below the median.</li>\n</ul>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[91]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">data</span><span class=\"o\">.</span><span class=\"n\">describe</span><span class=\"p\">()</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[91]:</div>\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n      <td>440.000000</td>\n    </tr>\n    <tr>\n      <th>mean</th>\n      <td>12000.297727</td>\n      <td>5796.265909</td>\n      <td>7951.277273</td>\n      <td>3071.931818</td>\n      <td>2881.493182</td>\n      <td>1524.870455</td>\n    </tr>\n    <tr>\n      <th>std</th>\n      <td>12647.328865</td>\n      <td>7380.377175</td>\n      <td>9503.162829</td>\n      <td>4854.673333</td>\n      <td>4767.854448</td>\n      <td>2820.105937</td>\n    </tr>\n    <tr>\n      <th>min</th>\n      <td>3.000000</td>\n      <td>55.000000</td>\n      <td>3.000000</td>\n      <td>25.000000</td>\n      <td>3.000000</td>\n      <td>3.000000</td>\n    </tr>\n    <tr>\n      <th>25%</th>\n      <td>3127.750000</td>\n      <td>1533.000000</td>\n      <td>2153.000000</td>\n      <td>742.250000</td>\n      <td>256.750000</td>\n      <td>408.250000</td>\n    </tr>\n    <tr>\n      <th>50%</th>\n      <td>8504.000000</td>\n      <td>3627.000000</td>\n      <td>4755.500000</td>\n      <td>1526.000000</td>\n      <td>816.500000</td>\n      <td>965.500000</td>\n    </tr>\n    <tr>\n      <th>75%</th>\n      <td>16933.750000</td>\n      <td>7190.250000</td>\n      <td>10655.750000</td>\n      <td>3554.250000</td>\n      <td>3922.000000</td>\n      <td>1820.250000</td>\n    </tr>\n    <tr>\n      <th>max</th>\n      <td>112151.000000</td>\n      <td>73498.000000</td>\n      <td>92780.000000</td>\n      <td>60869.000000</td>\n      <td>40827.000000</td>\n      <td>47943.000000</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-9\">Question 9<a class=\"anchor-link\" href=\"#Question-9\">&#182;</a></h3><p><em>For each sample point, which customer segment from</em> <strong><em>Question 8</em></strong> <em>best represents it? Are the predictions for each sample point consistent with this?</em></p>\n<p>Run the code block below to find which cluster each sample point is predicted to be.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[93]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display the predictions</span>\n<span class=\"k\">for</span> <span class=\"n\">i</span><span class=\"p\">,</span> <span class=\"n\">pred</span> <span class=\"ow\">in</span> <span class=\"nb\">enumerate</span><span class=\"p\">(</span><span class=\"n\">sample_preds</span><span class=\"p\">):</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Sample point&quot;</span><span class=\"p\">,</span> <span class=\"n\">i</span><span class=\"p\">,</span> <span class=\"s2\">&quot;predicted to be in Cluster&quot;</span><span class=\"p\">,</span> <span class=\"n\">pred</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Sample point 0 predicted to be in Cluster 0\nSample point 1 predicted to be in Cluster 0\nSample point 2 predicted to be in Cluster 2\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ol>\n<li>Sample point 0: Supermarket<ul>\n<li>Original guess: Retailer &lt;- I'm surprised it was put in the same category as Sample point 1. I thought it was quite different. The clusters are large though, which may explain both being in the same cluster.</li>\n</ul>\n</li>\n<li>Sample point 1: Supermarket<ul>\n<li>Original guess: Market &lt;- The same!</li>\n</ul>\n</li>\n<li>Sample point 2: Corner store<ul>\n<li>Original guess: Restaurant. &lt;- Reasonable: I was going for something relatively small. This is in line with the things grouped under Cluster 2 in the visualisation.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[95]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">samples</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[95]:</div>\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Fresh</th>\n      <th>Milk</th>\n      <th>Grocery</th>\n      <th>Frozen</th>\n      <th>Detergents_Paper</th>\n      <th>Delicatessen</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>16117</td>\n      <td>46197</td>\n      <td>92780</td>\n      <td>1026</td>\n      <td>40827</td>\n      <td>2944</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>112151</td>\n      <td>29627</td>\n      <td>18148</td>\n      <td>16745</td>\n      <td>4948</td>\n      <td>8550</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>3</td>\n      <td>333</td>\n      <td>7021</td>\n      <td>15601</td>\n      <td>15</td>\n      <td>550</td>\n    </tr>\n  </tbody>\n</table>\n</div>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"Conclusion\">Conclusion<a class=\"anchor-link\" href=\"#Conclusion\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>In this final section, you will investigate ways that you can make use of the clustered data. First, you will consider how the different groups of customers, the <strong><em>customer segments</em></strong>, may be affected differently by a specific delivery scheme. Next, you will consider how giving a label to each customer (which <em>segment</em> that customer belongs to) can provide for additional features about the customer data. Finally, you will compare the <strong><em>customer segments</em></strong> to a hidden variable present in the data, to see whether the clustering identified certain relationships.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-10\">Question 10<a class=\"anchor-link\" href=\"#Question-10\">&#182;</a></h3><p>Companies will often run <a href=\"https://en.wikipedia.org/wiki/A/B_testing\">A/B tests</a> when making small changes to their products or services to determine whether making that change will affect its customers positively or negatively. The wholesale distributor is considering changing its delivery service from currently 5 days a week to 3 days a week. However, the distributor will only make this change in delivery service for customers that react positively. <em>How can the wholesale distributor use the customer segments to determine which customers, if any, would react positively to the change in delivery service?</em><br>\n<strong>Hint:</strong> Can we assume the change affects all customers equally? How can we determine which group of customers it affects the most?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>Make this change in delivery service for 10% of the customers in each cluster (select this 10% randomly) for e.g. 2 weeks. Mark these customers as customers in Cluster 0', 1' and 2' respectively.<ul>\n<li>Make sure there are a statistically significant number of customers in each cluster i'.</li>\n</ul>\n</li>\n<li>Note down whether these customers react positively or negatively (this can be a +1 or -1 value, or some value from -1 to +1, with -1 meaning they reacted strongly negatively and +1 meaning they reacted strongly positively).</li>\n<li>Take the mean of the values assigned for each cluster 0', 1' and 2'. </li>\n<li>If the mean value for a cluster is positive, then the distributor can consider making the change in delivery service for more customers in that segment. <ul>\n<li>This inference assumes that customers in that segment may behave similarly.</li>\n</ul>\n</li>\n<li>By testing on a smaller group of customers first, the distributor can test their hypotheses without risking making a lot of customers angry (if they react negatively).</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-11\">Question 11<a class=\"anchor-link\" href=\"#Question-11\">&#182;</a></h3><p>Additional structure is derived from originally unlabeled data when using clustering techniques. Since each customer has a <strong><em>customer segment</em></strong> it best identifies with (depending on the clustering algorithm applied), we can consider <em>'customer segment'</em> as an <strong>engineered feature</strong> for the data. Assume the wholesale distributor recently acquired ten new customers and each provided estimates for anticipated annual spending of each product category. Knowing these estimates, the wholesale distributor wants to classify each new customer to a <strong><em>customer segment</em></strong> to determine the most appropriate delivery service.<br>\n<em>How can the wholesale distributor label the new customers using only their estimated product spending and the</em> <strong><em>customer segment</em></strong> <em>data?</em><br>\n<strong>Hint:</strong> A supervised learner could be used to train on the original customers. What would be the target variable?</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>Use a supervised learning algorithm with the <strong>estimated product spending as features (6 features) and customer segment as the target variable</strong>.<ul>\n<li>This would be a <strong>classification problem</strong> because the target variable has finitely many discrete labels (3). </li>\n<li><strong>K Nearest Neighbours</strong> might be a good choice of algorithm because there is no obvious underlying mathematical relationship between the customer segment and product spending.</li>\n</ul>\n</li>\n<li>The training and test sets would come from existing customers with those labels assigned.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Visualizing-Underlying-Distributions\">Visualizing Underlying Distributions<a class=\"anchor-link\" href=\"#Visualizing-Underlying-Distributions\">&#182;</a></h3><p>At the beginning of this project, it was discussed that the <code>'Channel'</code> and <code>'Region'</code> features would be excluded from the dataset so that the customer product categories were emphasized in the analysis. By reintroducing the <code>'Channel'</code> feature to the dataset, an interesting structure emerges when considering the same PCA dimensionality reduction applied earlier to the original dataset.</p>\n<p>Run the code block below to see how each data point is labeled either <code>'HoReCa'</code> (Hotel/Restaurant/Cafe) or <code>'Retail'</code> the reduced space. In addition, you will find the sample points are circled in the plot, which will identify their labeling.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[96]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Display the clustering results based on &#39;Channel&#39; data</span>\n<span class=\"n\">rs</span><span class=\"o\">.</span><span class=\"n\">channel_results</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">outliers</span><span class=\"p\">,</span> <span class=\"n\">pca_samples</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nWbFCa5/t0ypFR9q2qV8bKhbosc5nAqwMAFDMWAgVAALy85//XJdccokGBt4blD9//nytXLlS0WhU\nL7/8stra2nTgh537779f77zzjh588EHNmjVLbW0/Gwk/fX19mj9/vsxM8+efrr6+14J4SJMSryxX\nW88Orcq8F4CYkAAAkC/oAQKAabR3716dddZZeuuttyRJp5xyilpaWnT11VcrEomMbLdz507dcsst\nuvfee0favvnNb+rSSy/V8uXLJUmx2Dl63/tO0OBgRv/5n8/p2muv1913/++ZfUDH4NAxQNkJCViU\nFACQQ5wCBwABuOOOO9TQ0CBJOumkk9TR0THuZAfurptuukkbNmyQJH34wx/W22+/o3ffPUvSedmt\nSiSVqrT0ad155036/Oc/n/sHMQ2YkAAAMNMIQAAww9xd55xzjl555RVJ0l133aXrrrtO0vjTQmcy\nGZ155pnq6+uTJF199TWKRk+QNPb9u7S0ROvW/bVOO+20GX1MAAAUCgIQAMyw3t7ekZnaPvCBD2jX\nrl2KRqNHnRb61ltv1bp16yRJV111lR566KEgHwYAAAVpogGoZCaKAYAw2LVr18jliooKRaPDkwC0\nJJOq7S9Vc6ZMqxRVc6ZMtf0RtSSTkqRPfepTI7d78803Z7ZoAABChgAEANNk//79I5dnz549cjnV\n2a2azJwx29ZkZivV1S1JY6a/HhwczHGVAACEGwEIAKZJWdl7C38+//zzI4EoXlmutsjAmG1HTwv9\n3HPPHXYfAABg+hGAAGCaLF++XCeeeKKk4fV7HnnkEUlSQyKh1uigmiK7tU39aorsUWs0o4ZEQu6u\nTZs2jezjkksuCaR2AADCggAEANNkzpw5+tznPjdy/Wtf+5p+//vfKxaLqaO3R0N1a7ShYoGG6laP\nTIDQ2tqqnp4eSdLxxx+vz372s0GVDwBAKDALHABMo507d2rRokUjY3kuvPBCfe973ztk+ur9+/fr\nnnvu0fXXX699+/ZJkq699lrdfffdM14zAADFgGmwASAgd955p2644YaR67NmzdKVV16pyy+/XNFo\nVC+//LI2b96s1157bWSbs88+W7/4xS80b968ACoGAKDwEYAAIEC33367mpqaJrTtueeeq0cffZRF\nTgEAmALWAQKAAN1000366U9/qurq6nG3mTdvnhKJhJ5++mnCDwAAM4QeIADIsRdffFFbtmzRG2+8\n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\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[97]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Clustering plot</span>\n\n<span class=\"n\">rs</span><span class=\"o\">.</span><span class=\"n\">cluster_results</span><span class=\"p\">(</span><span class=\"n\">reduced_data</span><span class=\"p\">,</span> <span class=\"n\">preds</span><span class=\"p\">,</span> <span class=\"n\">centers</span><span class=\"p\">,</span> <span class=\"n\">pca_samples</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt\"></div>\n\n\n<div class=\"output_png output_subarea \">\n<img src=\"data:image/png;base64,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\nk+6d7Zy7CsAfTSc/lmUSERGgdoM/SAyZWS7egASVDTYgItJsxbQJnJn1xps9ey3QG68z8kTnXGGl\nG4qIiIiIiNRArAOgM4EVeLO0rzJv8rg859zUkHT6JVJERERERCrlnKuyCXesR4H7Esh1zq3y3z9P\nhKE/nXN61cNr6tSpMS9DvL50bnVem9pL51bntim+dG51bpvaS+e1/l7RimkA5LzZoHNLx/rHm2Nh\nbQyLJCIiIiIicawxjAJ3A96M2Yl4801cHePyiIiIiIhInIp5AOSc+wDoG+tyNFcDBw6MdRHils5t\n/dB5rT86t/VH57b+6NzWH53b+qHzGnsxnwg1GmbmmkI5RUREREQkNswMF8UgCDGvARIRERERaSpO\nOOEENm3SHMOx1L17d7744osab68aIBERERGRKPm1DLEuRrMW6RpEWwMU62GwRUREREREGowCIBER\nERERaTYUAImIiIiISLOhAEhERERERJoNBUAiIiIiIs3AtGnTGDNmTKyLEXMKgEREREREGsCWLVtY\ntmwZ+fn59baP7Oxs+vbtS9u2benatSsXXHABy5YtK1tvVuUgaZXatGkTgUCAkpKS2ha1nNWrV9On\nTx/atGlD3759+eCDD+o0/2AKgEREREREask5x/r169m4cWOFdUVFRYwdOZrTv3UKk4ZmcMKxXXjo\ngQfqvAwzZ84kMzOT22+/na1bt7J582bGjx/PSy+9VGf7cM7VaijwQ4cOVVhWVFRERkYGV1xxBbt3\n7+aKK65g+PDhFBcX17a4YSkAEhERERGphXXr1tGnR08G9v4eZ53WmwG9epebLPX+++5j84JFbNrf\njXfyO7GqsAu/u/VX5OTklKUpLi7mySef5PKMnzLp2uv46KOPqlWG/Px8pk6dyuzZsxk+fDitW7cm\nISGB9PR07rnnngrply5dSkpKSrllJ554Im+88QYAK1eupG/fviQnJ9OlSxduuukmAM455xwA2rdv\nT7t27cqO4dFHH6Vnz5507NiRoUOHsnnz5rJ8A4EAs2fPJjU1ldTU1AplWbJkCYcOHeKGG24gMTGR\nCRMm4JwrK0tdUwAkIiIiIlJDJSUlXDT4fK76LI/N+7ryZeHxDF/7DZelDyurJcn+66PcUZhEkv/o\nfRJHcG1ha555/AnAq1W59IJh/OW6Gzl3wQraP/x3ftSvP4sXL466HMuXL+fAgQNkZGREvU1lzeEm\n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\nbtmJJ57IG2+8AcDKlSvp27cvycnJdOnShZtuugmAc845B4D27dvTrl27smN49NFH6dmzJx07dmTo\n0KFs3ry5LN9AIMDs2bNJTU0lNTU1bPmvvfZafvSjH9GyZctqHXdNKAASERGRuDFixAg6JbcPu65T\ncnsFP1LnSkpKGHzRMD676mT2bf4lhV/ewtrhx5J+2UVltSR/zX6SwjvOhST/4f6kjhRe24/Hn3ka\n8GpVLrg0g+v+chcLzjUebr+efj/6AYsXL466HMuXL+fAgQNkZGREvU1lzeEmTpzIpEmTyMvLY8OG\nDVx22WUAvPnmm4AXcOXn55OWlsaCBQu45557mD9/Ptu2bePss89m5MiR5fJbsGABK1euZO3atVGX\nr74oABIREZG4MW/ePLbn7Q67bnve7irnCRKprvfee48dh/bhrj8LAgFICFCSdQ5ffJXLunXrospj\n6dKlLPv0A/b++//g5/04dMd57Hs4g+t+eWPU5dixYwedOnUq1wy0No444gjWr1/Pjh07OPLII+nX\nr1+59cFN4ObMmcMtt9xCamoqgUCAKVOmsHr1anJzc8vS3HrrrSQnJzdIDU9VFACJiIhIXCgd7S1S\n3wTnXNghskVqo7i4GGvZAoJrU8ywxASKi4sBuGbUFbS+4w0oOOCt37iD1n96h6tGXg7Au+++y4HB\nJ0NiwuE8hvXks/f+G3Vfm44dO7J9+/Y6G5zgkUce4dNPP6VHjx6kpaXx8ssvR0y7adMmJk6cSIcO\nHejQoQMdO3bEzNiyZUtZmuOPP75OylUXFACJiIhIkxduqGszo3P7o8o184k0T5BITfXp04dWecXw\nwoeHFz6xik6t29GzZ08AbrpxMsO79aFV93tp1+/PtO7zEHffMpW0tDQATjnlFFrlbIHgYGfFJo79\nVveoR20bMGAALVu2ZP78+VGlb9OmDfv27St7f+jQIbZt21b2/uSTTyY7O5tt27aRlZXFJZdcQmFh\nYdjydOvWjTlz5rBz50527tzJrl27KCgooH///mVpGtOQ8wqAREREpEmLNM9PdnY2W3ftJDs7u9J5\ngkRqo0WLFrzy/Hw63fg6bc98iLZn/JFj71zOP+a9UPbQn5iYyDOPPMn6D9ey8IEn+d8XuUwcP6Es\nj/T0dFIOJdHyyr/B259D9nscOfpv3Dv1N1GXo127dkybNo3x48ezYMECCgsLKS4u5tVXX2XKlCkV\n0qemprJ//35effVViouLueuuuzh48GDZ+rlz57J9+3YAkpOTMTMCgQCdO3cmEAiwYcOGsrTjxo3j\n7rvvLuvfk5eXx/PPP1+t81hUVMT+/ftxznHw4EEOHDhQfxMVO+ca/csrpoiIiEh5JSUlLj093QFl\nr0Ag4J555ply6Z555hkXCATKpUtPT3clJSUxKrk0VZGeSw8ePOiWLl3q/vOf/7ji4uJq57t7926X\nddsUd0qfXu4HQwe5l19+uUbly87Odn369HFJSUmuS5cubtiwYW758uXOOefuuOMON2bMmLK0Tzzx\nhOvSpYs75phj3IwZM9yJJ57oFi9e7Jxz7vLLL3dHH320a9u2rTvttNPcSy+9VLbd1KlTXefOnd1R\nRx3lcnJynHPOPf30065Xr14uOTnZdevWzY0dO7YsfSAQcBs2bKi03AMHDnRm5gKBQNlr6dKlYdNG\nugb+8ipjC3P1FVnVITNzTaGcIiIi0vD2799PRkYGixYtqnSen+CaoiFDhjB//nxatWoVgxJLU1ab\nOXCkbkS6Bv7yKtvaKQASERGRJm///v1cfPHFjBkzptKhrufNm8dTTz3FCy+8oOBHakQBUOwpABIR\nERHh8Az1dZVOJBwFQLFX2wBIgyCIiIhIXIg2qFHwI9K8KQASEREREZFmQwGQiIiIiIg0GwqARERE\nRESk2VAAJCIiIiIizYYCIBERERERaTYUAImIiIiINAPTpk1jzJgxsS5GzCkAEhERiWO5ublMnjCB\nwf0GMHnCBHJzc2NdJJFma8uWLSxbtoz8/Px620d2djZ9+/albdu2dO3alQsuuIBly5aVra/tMPCb\nNm0iEAhQUlJS26KW+eyzz8jIyODoo4+mU6dODB06lHXr1tVZ/qEUAImIiMSp3Nxc+vc+g8Cc58hc\nuYXAnOfo3/sMBUEi9cA5x/r169m4cWOFdUVFRYwdeRWnf+s0Jg39BScc242HHvhjnZdh5syZZGZm\ncvvtt7N161Y2b97M+PHjeemll+psH6UTCdd0MthDhw5VWLZ7926GDx/OunXr+Oabb+jbty/Dhw+v\nbVEjUgAkIiISp2ZNn86oghbcV9SR80nivqKOjCpIZNb06bEumkhcWbduHX16fJeBvX/AWaelMaBX\nPzZt2lS2/v77ZrJ5wVo27c/mnfw/sqpwNr+79S5ycnLK0hQXF/Pkk09yecZIJl17Ax999FG1ypCf\nn8/UqVOZPXs2w4cPp3Xr1iQkJJCens4999xTIf3SpUtJSUkpt+zEE0/kjTfeAGDlypX07duX5ORk\nunTpwk033QTAOeecA0D79u1p165d2TE8+uij9OzZk44dOzJ06FA2b95clm8gEGD27NmkpqaSmppa\noSx9+/bl6quvpn379iQkJHDjjTfy6aefsmvXrmqdg2gpABIREYlTa3JWMaioZbllg4qOYM07q2JU\nIpH4U1JSwkWDL+Sqz37I5n3ZfFk4j+Frz+Cy9IvLakmy//o0dxSOIYnWAJzEcVxbOIxnHp8LeLUq\nl17wU/5y3UzOXZBC+4fz+VG/H7J48eKoy7F8+XIOHDhARkZG1NtU1hxu4sSJTJo0iby8PDZs2MBl\nl10GwJtvvgl4AVd+fj5paWksWLCAe+65h/nz57Nt2zbOPvtsRo4cWS6/BQsWsHLlStauXVtluZYu\nXUqXLl046qijoj6W6lAAJCIiEqd6pfVhceKBcssWJx6kV78+MSqRSPx57733OLTjANe7iwgQIIEE\nskpG8NUXW6Lux7J06VI+XfYR/977e35OOnccuoqH993IL6+7Kepy7Nixg06dOhEI1M3j/RFHHMH6\n9evZsWMHRx55JP369Su3PrgJ3Jw5c7jllltITU0lEAgwZcoUVq9eXa657a233kpycjItW5b/USbU\nl19+yfXXX8/9999fJ8cRjgIgERGRODUpK4vspGJuTtzBQgq4OXEn2UlFTMrKinXRROJGcXExLe0I\njMO1KYaRaC0oLi4GYNQ1l3NH66cooBCAjXzFn1r/k5FXjQbg3XffZfCB75FIi7I8hjGA9z77IOq+\nNh07dmT79u11NjjBI488wqeffkqPHj1IS0vj5Zdfjph206ZNTJw4kQ4dOtChQwc6duyImbFly5ay\nNMcff3yV+9y2bRtDhgzh+uuvL6txqg8KgEREROJUSkoKKz5YTcm4y5jZrysl4y5lxQerK7T7F5Ga\n69OnD3mtCnmBpWXLnmARrTu1oWfPngDceFMm3Yb3pHurUfRrdz19Wl/HLXffTlpaGgCnnHIKOa0+\nxXE42FnBWr517IlRj9o2YMAAWrZsyfz586NK36ZNG/bt21f2/tChQ2zbtq3s/cknn0x2djbbtm0j\nKyuLSy65hMLCwrDl6datG3PmzGHnzp3s3LmTXbt2UVBQQP/+/cvSVHUcu3fvZsiQIWRkZDBlypSo\n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\nAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Question-12\">Question 12<a class=\"anchor-link\" href=\"#Question-12\">&#182;</a></h3><p><em>How well does the clustering algorithm and number of clusters you've chosen compare to this underlying distribution of Hotel/Restaurant/Cafe customers to Retailer customers? Are there customer segments that would be classified as purely 'Retailers' or 'Hotels/Restaurants/Cafes' by this distribution? Would you consider these classifications as consistent with your previous definition of the customer segments?</em></p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Answer:</strong></p>\n<ul>\n<li>The previous clustering does a moderately good job of clustering the data above the (Dimension 2 &gt; -2) line, with Retailer corresponding to Cluster 0 and Hotel/Restaurant/Cafe corresponding to Cluster 1. Below the (Dimension 2 &gt; -2) line, however, the previous clustering does not distinguish between the Ho/Re/Ca and Retailer, instead grouping them together in one different cluster.</li>\n<li>The customer segment 0 would be classified almost entirely as Retailer and the customer segment 1 would be classified almost entirely as Ho/Re/Ca by this distribution.</li>\n<li><p>These classifications are consistent with previous definitions of the customer segments to some extent.</p>\n<ul>\n<li>Some sentiments are the same, e.g. </li>\n<li>The exact labels (e.g. 'Retailer') used are not the same, but that's because I had a different understanding of 'Retailers' before seeing this distribution. It's good to have a data-based (i.e. example-based) definition of the word to make sure everyone is on the same page. :D</li>\n</ul>\n</li>\n<li><p>This is a positive result, because this means that customers in Ho/Re/Ca have similar spending patterns to some extent, and likewise with Retailers.</p>\n</li>\n<li><p>It looks possible to have clustered the data into two clusters that are similar to the channels provided. The only points that would've been harder to classify 'correctly' would be the mix of red points invading the bottom right territory of the green points.</p>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<blockquote><p><strong>Note</strong>: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to<br>\n<strong>File -&gt; Download as -&gt; HTML (.html)</strong>. Include the finished document along with this notebook as your submission.</p>\n</blockquote>\n\n</div>\n</div>\n</div>\n    </div>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "p4-smartcab/.ipynb_checkpoints/Smartcab Report-Copy1-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Outline\\n\",\n    \"You will \\n\",\n    \"1. first investigate the environment the agent operates in by constructing a very basic driving implementation. Once your agent is successful at operating within the environment, you will then \\n\",\n    \"2. identify each possible state the agent can be in when considering such things as traffic lights and oncoming traffic at each intersection. With states identified, you will then \\n\",\n    \"3. implement a Q-Learning algorithm for the self-driving agent to guide the agent towards its destination within the allotted time. Finally, you will \\n\",\n    \"4. improve upon the Q-Learning algorithm to find the best configuration of learning and exploration factors to ensure the self-driving agent is reaching its destinations with consistently positive results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Definitions\\n\",\n    \"### Environment\\n\",\n    \"The smartcab operates in an ideal, grid-like city (similar to New York City), with roads going in the North-South and East-West directions. Other vehicles will certainly be present on the road, but there will be no pedestrians to be concerned with. At each intersection there is a traffic light that either allows traffic in the North-South direction or the East-West direction. U.S. Right-of-Way rules apply:\\n\",\n    \"\\n\",\n    \"On a green light, a left turn is permitted if there is no oncoming traffic making a right turn or coming straight through the intersection.\\n\",\n    \"On a red light, a right turn is permitted if no oncoming traffic is approaching from your left through the intersection. To understand how to correctly yield to oncoming traffic when turning left, you may refer to this official drivers’ education video, or this passionate exposition.\\n\",\n    \"\\n\",\n    \"### Inputs and Outputs\\n\",\n    \"Assume that the smartcab is assigned a route plan based on the passengers’ starting location and destination. The route is split at each intersection into waypoints, and you may assume that the smartcab, at any instant, is at some intersection in the world. Therefore, the next waypoint to the destination, assuming the destination has not already been reached, is one intersection away in one direction (North, South, East, or West). \\n\",\n    \"The smartcab has only an egocentric view of the intersection it is at: **It can determine** (sensor) \\n\",\n    \"- the state of the traffic light for its direction of movement, and \\n\",\n    \"- whether there is a vehicle at the intersection for each of the oncoming directions. \\n\",\n    \"For each **action**, the smartcab may either \\n\",\n    \"- idle at the intersection, or \\n\",\n    \"- drive to the next intersection to the left, right, or ahead of it. \\n\",\n    \"Finally, each trip has a **time to reach the destination** which decreases for each action taken (the passengers want to get there quickly). \\n\",\n    \"- If the allotted time becomes zero before reaching the destination, the trip has failed.\\n\",\n    \"\\n\",\n    \"### Rewards and Goal\\n\",\n    \"**Rewards**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a reward for each successfully completed trip, and also receives \\n\",\n    \"- a smaller reward for each action it executes successfully that obeys traffic rules. \\n\",\n    \"\\n\",\n    \"**Penalties**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a small penalty for any incorrect action, and \\n\",\n    \"- a larger penalty for any action that violates traffic rules or causes an accident with another vehicle. \\n\",\n    \"\\n\",\n    \"Based on the rewards and penalties the smartcab receives, the self-driving agent implementation should learn an optimal policy for driving on the city roads while obeying traffic rules, avoiding accidents, and reaching passengers’ destinations in the allotted time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Tasks\\n\",\n    \"### 1. Implement a Basic Driving Agent\\n\",\n    \"To begin, your only task is to **get the smartcab to move around in the environment**. At this point, you will not be concerned with any sort of optimal driving policy. Note that the driving agent is given the following information at each intersection:\\n\",\n    \"\\n\",\n    \"- The next waypoint location relative to its current location and heading.\\n\",\n    \"- The state of the traffic light at the intersection and the presence of oncoming vehicles from other directions.\\n\",\n    \"- The current time left from the allotted deadline.\\n\",\n    \"\\n\",\n    \"To complete this task, simply \\n\",\n    \"- have your driving agent choose a random action from the set of possible actions (None, 'forward', 'left', 'right') at each intersection, disregarding the input information above. \\n\",\n    \"- Set the simulation deadline enforcement, enforce_deadline to False and observe how it performs.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Observe what you see with the agent's behavior as it takes random actions. \\n\",\n    \"- Does the smartcab eventually make it to the destination? \\n\",\n    \"- Are there any other interesting observations to note?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Answer\\n\",\n    \"\\n\",\n    \"The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAB+gAAAaECAYAAADQdEfgAAAKCGlDQ1BJQ0MgUHJvZmlsZQAASImF\\nlgdUFNcexu/M9kbZhaX33jssIL036VVUlgWWLixVxIYEFYgoIiKgSAlVwWiosSCiWAgCCljQLBIE\\nlBgsgIpKBkhikvfOe/8599zf+fbeb/5zd86ZDwCSKzMhIRbmAyAuPpnj5WAtHRAYJI3jAiygAj4g\\nApSZrKQEKw8PV4DUn/M/a3EUQKvzPY1Vr//8/X8Wf1h4EgsAyANhBiuBk4zwAYR90pITVnkcYQEO\\n0hTC86vMXmMYvcqh6yy8tsbHywZhdQDwZCaTwwaAyEB06VQWG/EhBiCsHR8WFY/wqr85K5IZhvBN\\nhNUjYlPSEX63uiYubhuik+QRVg79myf7H/6hf/kzmey/OC42hfXHc62eCDk83tcbmUWRIQ4igCaI\\nBSkgHUiDBMAB2xAlClHCkbP/7/sYa/tskJUJYDuyIwqwQSRIRvbb/83Le80pGaQBJrImHFFckctm\\n9X9ct3xLX3OF6Le/aondABjnIiL7q8aUA6DzOQC0xa+a3BukncMAXBpkpXBS17XVowcYQAS8QAB5\\nQySBHFAGGkAXGAJTYAnsgDNwBz4gEGwBLKTfOKSrNJAJ9oIckAcOg2OgFFSAalAPzoLzoB1cBFfB\\nDXAHDIIR8BhwwRR4CebBIliGIAgHUSAaJAJJQQqQGqQLMSBzyA5yhbygQCgEYkPxUAqUCe2D8qBC\\nqBSqhBqg76FO6Cp0CxqCHkIT0Cz0BvoIo2AyLABLwIqwFsyArWAX2AfeDLPhRDgDzoYPwSVwFXwG\\nboOvwnfgEZgLv4QXUABFQtFRMigNFANlg3JHBaEiUBzULlQuqhhVhWpGdaH6UPdQXNQc6gMai6ah\\npdEaaFO0I9oXzUInoneh89Gl6Hp0G7oXfQ89gZ5Hf8FQMOIYNYwJxgkTgGFj0jA5mGJMLaYVcx0z\\ngpnCLGKxWDpWCWuEdcQGYqOxO7D52JPYFmw3dgg7iV3A4XAiODWcGc4dx8Ql43JwJ3BncFdww7gp\\n3Hs8CS+F18Xb44Pw8fgsfDG+EX8ZP4yfxi8T+AgKBBOCOyGMsJ1QQKghdBHuEqYIy0R+ohLRjOhD\\njCbuJZYQm4nXiePEtyQSSZZkTPIkRZH2kEpI50g3SROkD2QqWZVsQw4mp5APkevI3eSH5LcUCkWR\\nYkkJoiRTDlEaKNcoTynveWg8mjxOPGE8u3nKeNp4hnle8RJ4FXiteLfwZvAW817gvcs7x0fgU+Sz\\n4WPy7eIr4+vkG+Nb4Kfx6/C788fx5/M38t/in6HiqIpUO2oYNZtaTb1GnaShaHI0GxqLto9WQ7tO\\nmxLACigJOAlEC+QJnBUYEJgXpArqC/oJpguWCV4S5NJRdEW6Ez2WXkA/Tx+lfxSSELISChc6KNQs\\nNCy0JCwmbCkcLpwr3CI8IvxRRFrETiRG5IhIu8gTUbSoqqinaJroKdHronNiAmKmYiyxXLHzYo/E\\nYXFVcS/xHeLV4v3iCxKSEg4SCRInJK5JzEnSJS0loyWLJC9LzkrRpMyloqSKpK5IvZAWlLaSjpUu\\nke6VnpcRl3GUSZGplBmQWZZVkvWVzZJtkX0iR5RjyEXIFcn1yM3LS8m7yWfKN8k/UiAoMBQiFY4r\\n9CksKSop+ivuV2xXnFESVnJSylBqUhpXpihbKCcqVynfV8GqMFRiVE6qDKrCqgaqkaplqnfVYDVD\\ntSi1k2pD6hh1Y/V49Sr1MQ2yhpVGqkaTxoQmXdNVM0uzXfOVlrxWkNYRrT6tL9oG2rHaNdqPdag6\\nzjpZOl06b3RVdVm6Zbr39Sh69nq79Tr0Xuur6Yfrn9J/YEAzcDPYb9Bj8NnQyJBj2Gw4ayRvFGJU\\nbjTGEGB4MPIZN40xxtbGu40vGn8wMTRJNjlv8puphmmMaaPpzAalDeEbajZMmsmaMc0qzbjm0uYh\\n5qfNuRYyFkyLKotnlnKWYZa1ltNWKlbRVmesXllrW3OsW62XbExsdtp026JsHWxzbQfsqHa+dqV2\\nT+1l7dn2TfbzDgYOOxy6HTGOLo5HHMecJJxYTg1O885Gzjude13ILt4upS7PXFVdOa5dbrCbs9tR\\nt/GNChvjN7a7A3cn96PuTzyUPBI9fvTEenp4lnk+99LxyvTq86Z5b/Vu9F70sfYp8Hnsq+yb4tvj\\nx+sX7Nfgt+Rv61/ozw3QCtgZcCdQNDAqsCMIF+QXVBu0sMlu07FNU8EGwTnBo5uVNqdvvrVFdEvs\\nlktbebcyt14IwYT4hzSGfGK6M6uYC6FOoeWh8ywb1nHWyzDLsKKw2XCz8MLw6QiziMKIGbYZ+yh7\\nNtIisjhyLsomqjTqdbRjdEX0Uox7TF3MSqx/bEscPi4krjOeGh8T37tNclv6tqEEtYScBG6iSeKx\\nxHmOC6c2CUranNSRLIB8PPtTlFO+SZlINU8tS32f5pd2IZ0/PT69f7vq9oPbpzPsM77bgd7B2tGT\\nKZO5N3Nip9XOyl3QrtBdPbvldmfvntrjsKd+L3FvzN6fsrSzCrPe7fPf15Utkb0ne/Ibh2+acnhy\\nODlj+033VxxAH4g6MHBQ7+CJg19yw3Jv52nnFed9ymfl3/5W59uSb1cORRwaKDAsOHUYezj+8OgR\\niyP1hfyFGYWTR92OthVJF+UWvTu29ditYv3iiuPE4ynHuSWuJR0n5E8cPvGpNLJ0pMy6rKVcvPxg\\n+dLJsJPDpyxPNVdIVORVfDwddfpBpUNlW5ViVXE1tjq1+nmNX03fd4zvGmpFa/NqP9fF13Hrvep7\\nG4waGhrFGwua4KaUptkzwWcGz9qe7WjWaK5sobfknQPnUs69+D7k+9HzLud7LjAuNP+g8EN5K601\\ntw1q29423x7Zzu0I7BjqdO7s6TLtav1R88e6izIXyy4JXiq4TLycfXnlSsaVhe6E7rmr7KuTPVt7\\nHl8LuHa/17N34LrL9Zs37G9c67Pqu3LT7ObFWya3Om8zbrffMbzT1m/Q3/qTwU+tA4YDbXeN7nYM\\nGg92DW0YujxsMXz1nu29G/ed7t8Z2TgyNOo7+mAseIz7IOzBzMPYh68fpT5afrxnHDOe+4TvSfFT\\n8adVP6v83MI15F6asJ3of+b97PEka/LlL0m/fJrKfk55XjwtNd0woztzcdZ+dvDFphdTLxNeLs/l\\n/Mr/a/kr5Vc//Gb5W/98wPzUa87rlTf5b0Xe1r3Tf9ez4LHwdDFucXkp973I+/oPjA99H/0/Ti+n\\nfcJ9Kvms8rnri8uX8ZW4lZUEJoe5FgVQyIAjIgB4UwcAJRDJDoNIFuJZz1x/5Bnob8nmTwaD1V+5\\ngrWey9bKEIA6SwB89wDgimSUU8hQQJiMzKsR0ccSwHp6f40/KilCT3f9HmQOEk3er6y8lQAA1wXA\\nZ87KyvLJlZXPNUizDwHoTvy/vf2L1/PgamGRlHxaZJX6x4i54F/1O9WvvprLW0UNAAAACXBIWXMA\\nABjnAAAZlQGq1AmXAABAAElEQVR4AezdCZxkVXnw/6eX6dn3vWcBhhnWGZBFRURBhYiICxCRmEhc\\nk4+JSYzxfaPm/0az/NU3CYnGhCRuURAjoihGXAAVNIwgoLKqDOvAzDD7vvT0dNV7nnvrqT59+t6q\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\nwFQEJOin0tOukwABAgQmK3CQf9off7B6BP1xHmF/4MtvJnufuHACBAgQIECAAAECmxDw/mMTio5B\\ngAABAgQIECCwzwL+DL/PvevaCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAaAQn6arpC\\nQwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgnwUk6Pe5d10bAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECFQjIEFfTVdoCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjs\\ns4AE/T73rmsjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWoEJOir6QoNIUCAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAIF9FpCg3+fedW0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUI2ABH01XaEhBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILDPAhL0+9y7ro0A\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEqhE4rqYlGkKAAIE1BG5ubtLV1VWKaZTLy8u7\\n+WWHifpR9+joKJ2dnc2my+rbRqBFgWF8PDt6lm5Oc6wcLb+aWXx85zK9yP/Ex3IrW9sVGMaHnx/t\\n9qWWb15AfGze1BH3R0B87E9fupLNCwzjw/uPzRs7YrsCw/jw/qPdvtTyzQuIj82bOiIBAu0IHGyg\\nqaXHWFZv3rbhuv7yqvlu+zrTft2Yn7e8aF1Xv2Qan1owr9689cN13XKkWN7Kry/f3t5+PU8VApM9\\n4ss1AABAAElEQVQTiDc0T548mSXb4+KHv9AtAukS848fP05Pnz5N5+fni6paT6BZgWF8HJ4fpje+\\n8VaK6bLy4vJF+uSrH6dH+Z/4WCZlW8sCw/jw86Pl3tT2TQuIj02LOt4+CYiPfepN17JpgWF8eP+x\\naWHHa1lgGB/ef7Tcm9q+aQHxsWlRx5uawMHBwdfyNX8rvz7OrxjJeJtfL15NY37e8qJ1y9Z3x1o1\\nzaecnbNfb7iuv9zN32fa32fZ/HBbLEeJNi4qy7b19ymt19/nbt4I+jsKMwQI1CwwfAMTv8BdXFzc\\nJehL2x7HiX2jxP6xHKVL3MdUIdCawKr4OEkn6fHNh+kw/1tWuvi4vrkWH8ugbGtKYFV8lF5MFx9R\\n38+PUjX1ahcQH7X3kPbtUkB87FLfuWsXWBUf3n/U3oPat02BVfFReu44jr9flWqp14qA+Gilp7ST\\nAIGHEOhGhI85V+kxltWbt224rr+8ar7bvs60Xzfm5y0vWtfVL5l2o+CHdeetH67rlo2gH3PH2rdJ\\ngfs+UbnoYocJ+RhJb8TwIi3raxdYFR8nj3OC/psfppguK9cXOTH/lW+nGEnf/4h78bFMzbbaBVbF\\nx7rt9/NjXTH1axYQHzX3jrbtWkB87LoHnL9mgVXx4f1Hzb2nbdsWWBUf657f+491xdSvWUB81Nw7\\n2taigBH0r42C749m789H1w6XF63rboN59btt/Wlpvf4+d/NG0N9RmCFAoEaB7snKGK14nxHzi66p\\n/yRy1InlOH6UfmJytsJ/CFQqID4q7RjNqkJAfFTRDRpRqYD4qLRjNKsKAfFRRTdoRKUC4qPSjtGs\\nKgTERxXdoBGVCoiPSjtGswgQ2KlAjOIeW0qPsazevG3Ddf3lVfPd9nWm/boxP2950bqufsm0GwU/\\nrDtv/XBdt2wE/di71v7NCHRPVkby/Orq6u4j6Td9Ad0Tyb6bftOyjrdNgdL4WHcES4yk7xfx0dcw\\n34pAaXyMvR7xMVbQ/rsQEB+7UHfOVgTERys9pZ27ECiND+8/dtE7zrlrgdL4GNtO7z/GCtp/FwLi\\nYxfqzjkFASPoXxsZ3x/N3p+PW2G4vGhdd9vMq99t609L6/X3uZs3gv6OwgwBAjUJbOvJykXXGOeL\\nXxajGEm/SMn6WgTERy09oR01CoiPGntFm2oREB+19IR21CggPmrsFW2qRUB81NIT2lGjgPiosVe0\\nqRYB8VFLT2gHAQI1CnQjwse0rfQYy+rN2zZc119eNd9tX2farxvz85YXrevql0y7UfDDuvPWD9d1\\ny0bQj7lj7duEwEM9WTnE8CTyUMRyjQLrxsfYESydgfjoJExrFlg3PjZ1LeJjU5KOs00B8bFNXcdu\\nXUB8tN6D2r9NgXXjw/uPbfaGY9cmsG58bKr93n9sStJxtikgPrap69gEchLz4OBr2eFb+fVxft3k\\nV4zofvFqGvPzlhetW7a+O9aqaT7l7Jz9esN1/eVu/j7T/j7L5ofbYjlKtHFRWbatv09pvf4+d/NG\\n0N9RmCFAoAaBh36ycnjNcf745TGKkfRDHcu7FhAfu+4B569ZQHzU3DvatmsB8bHrHnD+mgXER829\\no227FhAfu+4B569ZQHzU3DvatmsB8bHrHnB+AgRaEOhGhI9pa+kxltWbt224rr+8ar7bvs60Xzfm\\n5y0vWtfVL5l2o+CHdeetH67rlo2gH3PH2rdqgV09WTlE8STyUMRyDQL3jY9NjWDpDMRHJ2Fak8B9\\n42PT1yA+Ni3qeJsQEB+bUHSMfRUQH/vas65rEwL3jQ/vPzah7xi1C9w3PjZ9Xd5/bFrU8TYhID42\\noegYBFYLGEH/2ij4/mj2/nxADpcXrevQ59XvtvWnpfX6+9zNG0F/R2GGAIEaBOIJy/glLl67LF07\\n4o1OzCsEahDo7kvxUUNvaENtAuKjth7RnpoExEdNvaEttQmIj9p6RHtqEhAfNfWGttQmID5q6xHt\\nqUlAfNTUG9pCgECtAjEiWyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgS2LCBBv2Vg\\nhydAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiEgQe8+IECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDyDgO+gfANkpCExZ4CbdpO/mfzEtKc+OnqXD88N0kv/VUKIt0aa125Mv\\n9/rqOhVedg2Xqg0NCMR3z8f3eNVSuu8Uq6U92rFnAkcpnZzlnwV5WlL8/ChRUmdvBMTH3nSlC9mC\\ngPjYAqpDTlXA+4+p9vxEr9vPj4l2vMsuEphofBzlP0h8Lv+LqUKAAIFNCxxs4IClx1hWb9624br+\\n8qr5bvs6037dmJ+3vGhdV79kGp9aMK/evPXDdd1y/ER4K7++fHt7+/U8VQhUK/AsfZT+4Yt/lGJa\\nUp4/f56ePXuWYlpDOT4+Tqenpymm65Try0/Sd776eymmCoFNCURC/Orqau0k/cnjk/T4mx+mmC4r\\n1xfX6eIr304xLSlHR0fp7OwsxVQhsGmBk/M30qNvfCnFtKT4+VGipM6+CIgPv1/ty728jesQH+Jj\\nG/fVVI/p/cdUe36a1+3nh58f07zzy656qvFxmr6QfuvwN1NMFQI1ChwcHHwtt+tb+fVxfsWortv8\\nevFqGvPzlhetW7a+O9aqaT7l7Jz9esN1/eVu/j7T/j7L5ofbYjlKtHFRWbatv09pvf4+d/PrZZzu\\ndjNDgACBMoGblBPuOTn/nfyvqOT/Kx18cLD+iPWig9+v0keFDxf0j359kxOdl79bnOjs72ueQCsC\\nRtC30lNttnP2ySU3x+U/D/z8aLOjtfpeAuKj7EGye+HaqXkB8SE+mr+JXcBCAe8/FtLYsAEBPz/8\\n/NjAbbS3h5hqfESHxt+2FQIECGxDIEZkKwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMCWBSTotwzs8AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIAQk6N0HBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgAQQk6B8A2SkIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEDh+gHM4BQECExY4SsfpNH2hWOD58+fp2bNnKaY1lOPj3P7T0xTTdcr10ScpnT9P\\n1ylPFQIbEri5uUlXV1cppjWUo6OjdHZ2lmKqENi0wMn5G+nR0Vk6SW8UHdrPjyImlfZEQHz4/WpP\\nbuWtXIb4EB9bubEmelDvPyba8RO9bD8//PyY6K1fdNlTjY/4m3b8bVshQIDANgT832Ubqo5JgMCd\\nwOfS++m3Dn8j3eR/JeXyo8v05BefpMvLy5LqW69zfn6efuPpb6eYrlU+SOn66XUqvOy1Dq3ydAUi\\nLp48qSc+Ijn/9OnT9eNjul3oytcRyM99nJydpFT4eU9+fqyDq27zAuKj+S50AVsUEB9bxHXoqQl4\\n/zG1Hp/49fr5MfEbwOUvFZhofBzl9Hz8bVshQIDANgQk6Leh6pgECNwJxC8yp/lfabm+uU4vLl+k\\n64uc3K6gvEgv0unNaXqU/61V8i+uac2c/lrHV3myAjWNVo+2xMMrjx8/nmx/uPB6BPz8qKcvtKQ+\\nAfFRX59oUT0C4qOevtCSOgW8/6izX7Rq9wJ+fuy+D7SgXoG9iY96ibWMAIE9ECgck7QHV+oSCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDADgWMoN8hvlMTIPCjAt2I3F1/1120Iz6+O0YH\\n1zRi4EfFrJmSgPiYUm+71nUFxMe6YupPSUB8TKm3Xeu6AuJjXTH1pyQgPqbU2651XQHxsa6Y+lMS\\nEB9T6m3XSoDAfQUO7rtjb7/SYyyrN2/bcF1/edV8t32dab9uzM9bXrSuq18yjU8tmFdv3vrhum45\\nPjz7rfz68u3t7dfzVCGwNwJdYv7i4mKn37Udifn4bu346O5I1McvlgqBXQvcNz5OHp+kx9/8MMV0\\nWYmvlrj4yrdXfsWE+FimaNuuBO4bH5tur/jYtKjjbUJAfGxC0TH2VUB87GvPuq5NCNw3Prz/2IS+\\nY9QucN/42PR1ef+xaVHH24SA+NiEomMQWC1wcHDwtVzrW/n1cX7d5Ndtfr14NY35ecuL1i1b3x1r\\n1TSfcnbOfr3huv5yN3+faX+fZfPDbbEcJdq4qCzb1t+ntF5/n7t5I+jvKMwQIFCDQPeEZbSl+17r\\nq6urFL/YPUSJ80dCPs4dr3ijoxCoRUB81NIT2lGjgPiosVe0qRYB8VFLT2hHjQLio8Ze0aZaBMRH\\nLT2hHTUKiI8ae0WbahEQH7X0hHYQIFCzQDcifEwbS4+xrN68bcN1/eVV8932dab9ujE/b3nRuq5+\\nybQbBT+sO2/9cF23bAT9mDvWvk0I7OpJS08eN3F7TL6R68bHpkawiI/J33pNAKwbH5u6KPGxKUnH\\n2aaA+NimrmO3LiA+Wu9B7d+mwLrx4f3HNnvDsWsTWDc+NtV+7z82Jek42xQQH9vUdWwCOYlpBH1/\\nBPui+bhV+tu6W2feupJtXZ2YLjtGv97ceSPo57JYSYDArgUe+knLOJ+R87vudecvFRAfpVLqTVFA\\nfEyx111zqYD4KJVSb4oC4mOKve6aSwXER6mUelMUEB9T7HXXXCogPkql1CNAYIoC3YjwMddeeoxl\\n9eZtG67rL6+a77avM+3Xjfl5y4vWdfVLpt0o+GHdeeuH67plI+jH3LH2bUrgoZ609ORxU7eFxr4S\\nKI2PsSNYxIdbrkWB0vgYe23iY6yg/XchID52oe6crQiIj1Z6Sjt3IVAaH95/7KJ3nHPXAqXxMbad\\n3n+MFbT/LgTExy7UnXMKAkbQvzaCvT+avT8ft8JwedG67raZV7/b1p+W1uvvczdvBP0dhRkCBGoU\\nGD5pGctRul/sYnqfEseJEfPd8eINju+cv4+kfXYpID52qe/ctQuIj9p7SPt2KSA+dqnv3LULiI/a\\ne0j7dikgPnap79y1C4iP2ntI+3YpID52qe/cBAjUKtCNCB/TvtJjLKs3b9twXX951Xy3fZ1pv27M\\nz1tetK6rXzLtRsEP685bP1zXLRtBP+aOtW+TAsOE/OXlZXry5EmK6X1K98RxTKPEL4r9hP19jmkf\\nArsSWBUf645gOb05TU+fPk3iY1c96rybFFgVH+uey8+PdcXUr1lAfNTcO9q2awHxsesecP6aBVbF\\nh/cfNfeetm1bYFV8rHt+7z/WFVO/ZgHxUXPvaFuLAkbQvzYyvj+avT8fXTtcXrSuuw3m1e+29ael\\n9fr73M0bQX9HYYYAgZoF+k9aRjtjOUa8xzTK8Be82cref4YJ+HiDY8R8D8hs0wKr4uPw/PAuVpZd\\naHecR+mR+FgGZVtTAt193TU6lv386DRMpy4gPqZ+B7j+ZQLiY5mObVMXWBUf3n9M/Q6Z9vWvig9/\\nv5r2/TH1qxcfU78DXD8BAn2BbkR4f92686XHWFZv3rbhuv7yqvlu+zrTft2Yn7e8aF1Xv2TajYIf\\n1p23friuWzaCft27VP29Exi+oVk1ot4Tx3t3C7igJQLD+Hh29Cz98umvpJguKzFy/tef/VpOzz/y\\niRLLoGxrWmAYH35+NN2dGr9hAfGxYVCH2ysB8bFX3eliNiwwjA/vPzYM7HBNCwzjw/uPprtT4zcs\\nID42DOpwkxMwgv61kfH90ez9+bgvhsuL1nX30Lz63bb+tLRef5+7eSPo7yjMECDQksCqJy6H12LE\\n/FDE8j4LDOPjJJ2koxcvP21i2XV3+0WCXiGwrwLdfd5dXyz3R9R367upnx+dhOkUBMTHFHrZNd5X\\nQHzcV85+UxAYxof3H1PodddYKjCMj1j2/qNUT719FxAf+97Dro8AgWUCEvTLdGwjQKAZgfj++PjO\\n7Hjycl6JX/iijkKAAAECBPoCfn70NcwTeF1AfLzuYYlAX0B89DXMEyBAgECpgJ8fpVLqTVFAfEyx\\n110zgekKSNBPt+9dOYG9Ehg+cblXF+diCBAgQGBrAn5+bI3WgfdAQHzsQSe6hK0JiI+t0TowAQIE\\n9lrAz4+97l4XN1JAfIwEtDsBAk0JxHeaKwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMCWBSTotwzs8AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIAQk6N0HBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgAQQk6B8A2SkIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instancens of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS (Implement a Driving Agent)\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = -3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -98, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2. Inform the Driving Agent\\n\",\n    \"Now that your driving agent is capable of moving around in the environment, your next task is to **identify a set of states that are appropriate for modeling the smartcab and environment**. \\n\",\n    \"- The main source of state variables are the current inputs at the intersection, but not all may require representation. \\n\",\n    \"- You may choose to explicitly define states, or use some combination of inputs as an implicit state. \\n\",\n    \"- At each time step, process the inputs and update the agent's current state using the self.state variable. \\n\",\n    \"- Continue with the simulation deadline enforcement enforce_deadline being set to False, and observe how your driving agent now reports the change in state as the simulation progresses.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\\n\",\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Answers (Inform the Driving Agent)\\n\",\n    \"\\n\",\n    \"States (v1):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Initial <code>deadline = self.compute_dist(start, destination) * 5</code>.</li><li>\\n\",\n    \"`compute_dist` is at most 12 (between points (1,1) and (8,6)).\\n\",\n    \"So max init deadline is 60. </li><li>\\n\",\n    \"-> Possible values include all positive integers in range [1,60] and integers < -1 which we will put into one group (past deadline)</li></ul></td><td>61</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States (v2):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>Some notion of proximity? Nothing for now.</td><td>1</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Add why each state is appropriate for the problem\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Total number of states: 16\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"- note that grid overflows along top, bottom, right and left sides\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**TODO**:\\n\",\n    \"1. Find out what inputs['right'] and inputs['left'] mean\\n\",\n    \"2. Print coordinates of primary agent for each turn\\n\",\n    \"3. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Question: If the destination is in the bottom right and the car starts on the top left, can the car plan a route that goes THROUGH the top and left of the grid?\\n\",\n    \"- this initialisation is possible. `compute_dist` is required to be > 4 where \\n\",\n    \"    <pre>\\n\",\n    \"    def compute_dist(self, a, b):\\n\",\n    \"        \\\"\\\"\\\"L1 distance between two points.\\\"\\\"\\\"\\n\",\n    \"        return abs(b[0] - a[0]) + abs(b[1] - a[1])\\n\",\n    \"    </pre>\\n\",\n    \"    The two coordinates in question are (1,1) and (8,6), so `compute_dist` would return 7 + 6 = 12 > 5.\\n\",\n    \"\\n\",\n    \"QUESTION: How do the route_planner actions interact with the actions I set?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Read the `simulator.py` and `environment.py` files.\\n\",\n    \"- Discovered pressing spacebar to pause.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Unresolved\\n\",\n    \"- What do the 'left' and 'right' inputs mean?\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3. Implement a Q-Learning Driving Agent\\n\",\n    \"With your driving agent being capable of interpreting the input information and having a mapping of environmental states, your next task is to **implement the Q-Learning algorithm** for your driving agent to choose the best action at each time step, based on the Q-values for the current state and action. \\n\",\n    \"- Each action taken by the smartcab will produce a reward which depends on the state of the environment. \\n\",\n    \"- The Q-Learning driving agent will need to consider these rewards when updating the Q-values. \\n\",\n    \"- Once implemented, set the simulation deadline enforcement enforce_deadline to True. \\n\",\n    \"- Run the simulation and observe how the smartcab moves about the environment in each trial.\\n\",\n    \"\\n\",\n    \"The formulas for updating Q-values can be found in [this video](https://classroom.udacity.com/nanodegrees/nd009/parts/0091345409/modules/e64f9a65-fdb5-4e60-81a9-72813beebb7e/lessons/5446820041/concepts/6348990570923).\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Debugging\\n\",\n    \"\\n\",\n    \"I realised the agent wasn't acting. Printed more info.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\\n\",\n    \"LearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The 'count' variable was defined wrongly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"def choose_action(self, state):\\n\",\n    \"        \\\"\\\"\\\"User-created function\\\"\\\"\\\"\\n\",\n    \"        # Get all the Q-values corresponding to the current state\\n\",\n    \"        q = [self.get_q(state, a) for a in self.actions]\\n\",\n    \"        print \\\"q: \\\", q\\n\",\n    \"        # Find the max Q-value for this state\\n\",\n    \"        max_q = max(q)\\n\",\n    \"        print \\\"max_q: \\\", max_q\\n\",\n    \"        # Find the action corresponding to the max Q-value for this state\\n\",\n    \"        count = len([max_q])\\n\",\n    \"        print \\\"count: \\\", count\\n\",\n    \"        # If there are multiple actions with Q-value = max Q-value for this state\\n\",\n    \"        if count > 1:\\n\",\n    \"            best = [i for i in range(len(self.env.valid_actions)) if q[i] == max_q]\\n\",\n    \"            print \\\"best: \\\", best\\n\",\n    \"            # Pick among the 'best' actions randomly\\n\",\n    \"            i = random.choice(best)\\n\",\n    \"        # Else if there is only one 'best' action,\\n\",\n    \"        else:\\n\",\n    \"            # Pick the action corresponding to the max Q-value \\n\",\n    \"            i = q.index(max_q)\\n\",\n    \"            print \\\"action index: \\\", i\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Maybe I should have incorporated `next_waypoint` into my state:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"random\\n\",\n    \"action:  forward\\n\",\n    \"LearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.3819213571826228]\\n\",\n    \"max_q:  1.38192135718\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\\n\",\n    \"\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.0246331536052293]\\n\",\n    \"max_q:  1.02463315361\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"AAAAH it's working!\\n\",\n    \"\\n\",\n    \"AND now env is also printing results! Previously I put `self.results` in TrafficLight instead of in Environment. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4. Improve the Q-Learning Driving Agent\\n\",\n    \"Your final task for this project is to enhance your driving agent so that, after sufficient training, the smartcab is **able to reach the destination within the allotted time safely and efficiently**. \\n\",\n    \"- Parameters in the Q-Learning algorithm, such as the learning rate (alpha), the discount factor (gamma) and the exploration rate (epsilon) all contribute to the driving agent’s ability to learn the best action for each state. \\n\",\n    \"\\n\",\n    \"To improve on the success of your smartcab:\\n\",\n    \"\\n\",\n    \"- Set the number of trials, n_trials, in the simulation to 100.\\n\",\n    \"- Run the simulation with the deadline enforcement enforce_deadline set to True (you will need to reduce the update delay update_delay and set the display to False).\\n\",\n    \"- Observe the driving agent’s learning and smartcab’s success rate, particularly during the later trials.\\n\",\n    \"- Adjust one or several of the above parameters and iterate this process.\\n\",\n    \"\\n\",\n    \"This task is complete once you have **arrived at what you determine is the best combination of parameters required** for your driving agent to learn successfully.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Report the different values for the parameters tuned in your basic implementation of Q-Learning. For which set of parameters does the agent perform best? How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Does your agent get close to finding an optimal policy, i.e. reach the destination in the minimum possible time, and not incur any penalties? How would you describe an optimal policy for this problem?\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/.ipynb_checkpoints/Smartcab Report-Copy2-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# P4 Smartcab \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Implement a Basic Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **Process**\\n\",\n    \"\\n\",\n    \"**Understanding the game** The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\nqCeI42c9x1777bRtet3k5/2Wq+0HmU/um8s7fd5tXbX/LPMctWCn/XZaP72u+pwRxfMxfeNwOPxC\\nzBUCSyeQf2F79dVXS86ztG+3y9rPnB/N98IY3B2U7R98VG7F/1577bVy+/btvXa3jUAjBfSPRjab\\nSi9IYLp/TP+DwG7VqALzL7/8sp8fuyFZ33gB/aPxTegGjlFA/zhGXKduvID+0fgmdAPHKDDdP/z7\\n1TFiO3XjBKb7h9/PG9eEKnzCAq1W68eiCl+M6VFMmck4jGnwZJ7LO33ebd1e66tz7TePS46uObnf\\n9LrJz9XyYeaTx+y1PL0tP2fJOu5W9to2ecys+00e83RZBv1TCgsECNRZYPovaPkXuDt37jwN0K+W\\n1fJy/5XSjv/tVfI8eWy33x0dn5+zVIEXGfV76dlWVwH9o64to151ENivf8xax+rnR+6fP3/8/JhV\\nzn51FtA/6tw66nbSAvrHSbeA69dZQP+oc+uo20kL7Nc//PvVSbeQ65+kwH79Y9a65Xny33ez+P18\\nVjX7ESBQN4EqI/wo9Zr1HHvtt9O26XWTn/dbrrYfZD65by7v9Hm3ddX+s8yrLPjpfXdaP72u+iyD\\n/ijfWMc2UmC/JypXX44A/S+8UnK+V+neicD893ypZCb95BDFmUkvo34vOdvqLKB/1Ll11O2kBfbr\\nHwet3/QDXX5+HFTQ/nUS0D/q1BrqUjcB/aNuLaI+dRLQP+rUGupSN4H9+od/v6pbi6nPIgX26x8H\\nrYvfzw8qZv/TJiCD/lNZ8JPZ7JPL2ezTn3dbV31Fdtq/2jY5n3W/yWOeLsugf0phgQCBOgpUT1bm\\n05CTGfNHrevkk5Z5rvyc588yGbgfrfAfAjUV0D9q2jCqVQsB/aMWzaASNRXQP2raMKpVCwH9oxbN\\noBI1FdA/atowqlULAf2jFs2gEjUV0D9q2jCqRYDAiQpkFvdRy6zn2Gu/nbZNr5v8vN9ytf0g88l9\\nc3mnz7utq/afZV5lwU/vu9P66XXVZxn0R/3WOr4xAtWTlRk8v3fv3tMhhadv4KBPIGcm/WSpnrj0\\nbuFJFct1F9A/6t5C6neSArP2j6PW0c+Powo6/iQE9I+TUHfNpgjoH01pKfU8CQH94yTUXbMpArP2\\nD/9+1ZQWVc95CszaP456Tb+fH1XQ8U0TkEH/qcz4yWz2yeVs1unPu62rvgI77V9tm5zPut/kMU+X\\nZdA/pbBAgECdBI7rycrd7jGvl39ZzCKTfjcl6+sioH/UpSXUo44C+kcdW0Wd6iKgf9SlJdSjjgL6\\nRx1bRZ3qIqB/1KUl1KOOAvpHHVtFneoioH/UpSXUgwCBOgpUGeFHqdus59hrv522Ta+b/LzfcrX9\\nIPPJfXN5p8+7rav2n2VeZcFP77vT+ul11WcZ9Ef5xjq2EQIHfbLyqE8gVyietKwkzOssoH/UuXXU\\n7aQFDto/5lVfPz/mJek8xymgfxynrnM3XUD/aHoLqv9xCugfx6nr3E0XOGj/8O9XTW9x9T+IwEH7\\nx0HOvde+fj/fS8e20yQgg/5TmfGT2eyTy9nk0593W1d9PXbav9o2OZ91v8ljni7LoH9KYYEAgToI\\nLPrJyul7zuvnXx6zyKSf1vH5pAX0j5NuAdevs4D+UefWUbeTFtA/TroFXL/OAvpHnVtH3U5aQP84\\n6RZw/ToL6B91bh11O2kB/eOkW8D1CRBogkCVEX6Uus56jr3222nb9LrJz/stV9sPMp/cN5d3+rzb\\numr/WeZVFvz0vjutn15XfZZBf5RvrGNrLXDYJyvn9QRyheNJy0rCvE4C+kedWkNd6iZw2P4x7/vw\\n82Peos43DwH9Yx6KznFaBfSP09qy7mseAvrHPBSd47QKHLZ/+Per0/qNcF+TAoftH5PnmMey38/n\\noegcdRaQQf+pzPjJbPbJ5WzC6c+7rauae6f9q22T81n3mzzm6bIM+qcUFggQqINAPmGZf4nL6SRL\\nVY/8i1wuKwTqIFB9L/WPOrSGOtRNQP+oW4uoT50E9I86tYa61E1A/6hbi6hPnQT0jzq1hrrUTUD/\\nqFuLqE+dBPSPOrWGuhAgUFeBzMhWCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWMW\\nEKA/ZmCnJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECKSBA73tAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQWIOAd9AtAdgkCBPYXyHcT3bt3b/Tu+VyuS6nemVSX+qjHcgvk\\nu+f1j+X+DizV3XdKWb25WkrMZyn3O/dL+3a7rMb/6lCyLlmnA9cnfgR273VLqc+PwjpwqsO0gP4x\\nLeIzgU8E9I9PLCwRmBbQP6ZFfCZwaAG/nx+azoFNFFjSnx+d+AeJa/G/nCsECBCYt0BrDiec9Rx7\\n7bfTtul1k5/3W662H2Q+uW8u7/R5t3XV/rPMc9SCnfbbaf30uupz/kQ4H9M3DofDL8RcIdB4gfzF\\n5tVXXy137twZBeoPGoRcfXm1vPwLr5Sc71W6d7rlzvd8qeR8ltLpdMrNmzdLzhUCJy2Q/SIfZNE/\\nTrolXH8RAqu318qtn3mx5HyW0uv1yv3790vO61BWVlbKjRs3Ss4PUrp3t8ubP/jVknOFwG4C+of+\\nsdt3w/p4uMvPD18DArsK6B9+fuz65bDhwAJ+Pz8wmQMaLLCsPz9ulOvlP23/qZJzhUAdBVqt1o9F\\nvb4Y06OYMtVjGNPgyTyXd/q827q91lfn2m8elxxdc3K/6XWTn6vlw8wnj9lreXpbfs6Sddyt7LVt\\n8phZ95s85unywf7F8OlhFggQIDBfgfzFJoP0OdWpVPWqU53UhUBdBPSPurTE6azHKPO8vzJ7Bnr8\\nrbb1Qmv2/RfA9nZ5+8BX6fbjQbK7X5n5QbIDX8ABp0JA/5jtQctT0dhu4sAC+of+ceAvzRIdoH/o\\nH0v0dV+6W/X7+dI1+UJveFl/fiRyv9QjCWChDe5iBAgsRCAzshUCBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIEDgmAUE6I8Z2OkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAK\\nCND7HhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgQUICNAvANklCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQICAAL3vAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nWICAAP0CkF2CAIH9BTqdTrl9+/ZoymWFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGkTEKA/\\nbS3qfgg0VODmzZvltddeG025rBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4bQIrp+2G3A8B\\nAs0UqDLo+/1+qVMGfdYlHxioU52a2cJqPQ+B7B/37t0rOa9D0T/q0Aqntw6rt9fKrc7NslrWZrrJ\\nXq9X7t+/X3Jeh7KyslJu3LhRcn6Q0u1sl3K7V7ol5gqBXQT0D/1jl6+G1SGgf+gfOsLuAvqH/rH7\\nt8OWgwr4/fygYvZvssCy/vy4Ua6XTjnY7/RNbmd1J0BgsQL+dFmst6sRINAwgSqzP4ffVwictMDd\\nu3fLq6++WnJeh6J/1KEVTnEd4m0nqzdXS5lxvKe7b0f/+IH69I/8ufGTr/2F0atbDtRKL5TSfa1b\\nSj2ewzlQ1e28QAH9Y4HYLtU4Af2jcU2mwgsU0D8WiO1Sp13A7+envYXd36cElvTnRyfC89fKs5+i\\n8IEAAQLzEhCgn5ek8xAgcCoFMkM4gywvv/zyqbw/N9U8gTqN5qB/NO/7c5pr3O13y+DuoHTvRHC7\\nBmVQBuVG/0a5Ff87UIl/+CieCTsQmZ33F9A/9jeyx/IK6B/L2/bufH8B/WN/I3sst4Dfz5e7/d39\\n7gKn5ufH7rdoCwECBI4sMGNO0pGv4wQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCp\\nBWTQL3Xzu3kC9ROoMnJP+l1eWY8cvjuz5+v0RHT9WkyNFimgfyxS27WaJqB/NK3F1HeRAvrHIrVd\\nq2kC+kfTWkx9FymgfyxS27WaJqB/NK3F1HeRAvrHIrVdiwCBpgq05lDxWc+x1347bZteN/l5v+Vq\\n+0Hmk/vm8k6fd1tX7T/LPEct2Gm/ndZPr6s+5+Cn52P6xuFw+IWYKwROjUAVmL9z586B3rW9+vJq\\nefkXXik536vk0Md3vudL+w6BnIH51157bTS0fQbq8y+WCoGTFtA/TroFXL/OAoftH/O+Jz8/5i3q\\nfPMQ0D/moegcp1VA/zitLeu+5iGgf8xD0TlOq8Bh+4d/vzqt3wj3NSlw2P4xeY55LPv9fB6KzlFn\\ngVar9WNRvy/G9CimfkzDmAZP5rm80+fd1u21vjrXfvO45Oiak/tNr5v8XC0fZj55zF7L09vyc5as\\n425lr22Tx8y63+QxT5dl0D+lsECAQB0Eqicssy7Ve9/v3btX8i92iyh5/QzI57Vzyr/IKQTqIqB/\\n1KUl1KOOAvpHHVtFneoioH/UpSXUo44C+kcdW0Wd6iKgf9SlJdSjjgL6Rx1bRZ3qIqB/1KUl1IMA\\ngToLVBnhR6njrOfYa7+dtk2vm/y833K1/SDzyX1zeafPu62r9p9lXmXBT++70/rpddVnGfRH+cY6\\nthECB33Scl5PIHuyshFfj6WvpP6x9F8BAHsIHLR/7HGqA23y8+NAXHY+IQH944TgXbYRAvpHI5pJ\\nJU9IQP84IXiXbYTAQfuHf79qRLOq5JwEDto/5nTZUcKVkVHnpek8dRaQQf+pLPjJbPbJ5WzC6c+7\\nrauae6f9q22T81n3mzzm6bIM+qcUFggQqJPAop+0zOvJnK/TN0Bd9hLQP/bSsW3ZBfSPZf8GuP+9\\nBPSPvXRsW3YB/WPZvwHufy8B/WMvHduWXUD/WPZvgPvfS0D/2EvHNgIEll2gygg/isOs59hrv522\\nTa+b/LzfcrX9IPPJfXN5p8+7rav2n2VeZcFP77vT+ul11WcZ9Ef5xjq2UQKzPml51CeQZT426muh\\nsk8E9A9fBQK7C8zaP3Y/w2xb/PyYzcle9RLQP+rVHmpTLwH9o17toTb1EtA/6tUealMvgVn7h3+/\\nqle7qc1iBGbtH0etjd/Pjyro+KYJyKD/VGb8ZDb75HI26/Tn3dZVX4Gd9q+2Tc5n3W/ymKfLMuif\\nUlggQKCOAtNPWubnLNVf7HJ+mJLnyYz56nz5FzjvnD+MpGNOUkD/OEl91667gP5R9xZSv5MU0D9O\\nUt+16y6gf9S9hdTvJAX0j5PUd+26C+gfdW8h9TtJAf3jJPVdmwCBugpUGeFHqd+s59hrv522Ta+b\\n/LzfcrX9IPPJfXN5p8+7rav2n2VeZcFP77vT+ul11WcZ9Ef5xjq2kQLTAfm7d++WV199teQ8y0Gf\\nQL7Rv1HyXUQZmM+Sf1GcDNiPVvoPgYYI6B8NaSjVPBGB/frHQStVPZHv58dB5exfRwH9o46tok51\\nEdA/6tIS6lFHAf2jjq2iTnUR2K9/+PerurSUepyEwH7946B18vv5QcXsf9oEZNB/KjN+Mpt9cjmb\\nffrzbuuqr8hO+1fbJuez7jd5zNNlGfRPKSwQIFBngcknLbOe+Tkz3nOepX27/XR5tGKX/1TnuVVu\\nyZjfxcjq5glU3+uq5vpHJWFOYPzzogqmp8d0/5j+B4LdzPK4fJArf/YYcWU3JeubJrDfzw/9o2kt\\nqr7zFNA/5qnpXKdNQP84bS3qfuYpsF//8O9X89R2rqYJ7Nc//P7RtBZVXwIEjiJQZYQv4hx7XWun\\nbdPrJj/vt1xtP8h8ct9c3unzbuuq/WeZV1nw0/vutH56XfVZBv1RvrGOPRUC039hu9+5X378xp8o\\nOd+rZOb8T9z/kxGevyVjfi8o2xotoH80uvlU/pgFpvvH9Igsu12+ejI/g/NGXNlNyfqmC+gfTW9B\\n9T9OAf3jOHWdu+kC+kfTW1D9j1Ngun/496vj1HbupglM9w+/nzetBdX3pAVk0H8qM34ym31yOZtp\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\nzUvs1flZ55b2q13Q10sF6K5Lz1rvzFq9/qg/y/dY3qfv3/PVr6fyie+1e7WVyzOuN8Yz/sw27zXb\\nc8yN45qzGsv6VV9Pt/+I/P47NUd1v2fMe32deYUoAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\n6p3KUd0svxIba/r4TH9Wm9g72pU1V2rqF1h1qc242jw9V7GM0x7Fen7s1/jo6fsc1R7l71zraK/l\\n/Ff7n7jvB9+7WE3drOZqrM+72p/NS+yuNu9e7daavWbsb80Z4+O8u8dH/yCO8jnPUV3lj2pqrdSl\\nzfpaAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBawK5d0l7tMpKXdXMnjE+jmtOj/X+Xq7XpZ+2\\nz0tsbFdqas44b2W8UjPbv2L1rM7/qP74O3N6bLU/zh3Hq+tU3Stzz+xze+13vKAvpFw2d7Cj2Jjv\\n4zP91I5tP9eYuzq+smY32evnTHs1d+ZW/hFt1VR8K5czpuaobla/OidztQQIECBAgAABAgQIECBA\\ngAABAgQIECBAgACBnyjQ72NW71f6nD2z1M1qZnuNsTPjXjvr78VWcql5pX1lbhluzd/zzZw+f7U/\\nrtvXSm41lvpHti7o//7Z+qV071dVH6ef9ig/q0vs1fbvb/Ax2lpzVnsUy1pHdSv52T+qvXmz+lks\\na+zlUlNt1a3WZl7mzNrUaAkQIECAAAECBAgQIECAAAECBAgQIECAAAEC311gdleS2Jl3PzOnaree\\nWW4l1mt6v/bp41n/bCz1R23fu9f2/lbNHfG9NSo3e3K2yvX+WLuXG2u/9fjOy9cR6tW1V+bv1cxy\\nK7Fec0c/a4xteY2xPz1eOVOv6f2cvcfG/jjucypXz2psq/bXIhvrJDdrZ/vO6sQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSuCZy9pN2r38rN4kexMd/Hs/4sViKJb7UrNVtz3xVfOVOvebU/zq9x\\nPXm/j9HH37NY8nu5MzWpnbUre8zm7ca+8n9BXwdfuTTdqpnFZ7Fxn7Gmj8/0Z7WJpe17J/autvY6\\nesa9j+pfzb/6o96bX7m9/Hj21Kcd88YECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLnBHLvknZ1\\n9lF95beeWW6MnRn32vTT1hlm/b1YclttX3Or5q743l6Vy5P9any2nzXS9vmJnW1X1lipObvvLfVf\\n/YK+XjKXxlsvvJef5VZivab3x/P03KyfWNo+P7G0e7nUjO2WySw+zh3HszmzWObNcnfEZv9YZrHV\\nvWrulfmZl3Z1P3UECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZ8qkHuVtGcdVudV3eyZxVdiY00f\\nz/o9VufIeGxnuVlsnLc6vrJWzckz7pN4tbNcYj0/9mvcnz6nx3t/VjOL9Tl7/Vfm7q17S+47XNAX\\nxNal8Wp8Vtdjvd/3W4mnJu3W/ORX29k6R3NrztaTuT0/i53JV+2VfwCzObPYmfVrfv7UvLNP5o7t\\n2XXUEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLjDel2R85b0yt9qVZ6tuFp/Fao8x3se9P9b2\\n3Kx/Npb6tH2/xI7au+bM1qlYnpwj47RjvI97P/Vju1LT55yt73O/RP+dF/T1gkcXvCsIK2vs1cxy\\nK7Gxpo+v9mfzEkvb3RJL270SO2r35vRc+lkv42pnsZ5/pX/mH9FWbcW3crOznamdze+x7L3X9np9\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBXFti780jurvPXeqvP3t5b68ziR7Ex38dn+rPaxNLW\\nu6c/tnu5sTbjvTmVy5P6tBVPP22PZV7aXpPYXn1qtuYln3a1LvXvaN92hndevAbi1T1W5u/VbOVm\\n8THWx71f79bHR/0r+cxJ2/dMbGxfrenzez/79Nhqf6+ucvX09T8iH3/P4rPY0ZyeH/tH6431xgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAq8JnL38PKqf5WexOvUs3mO9P9b33FF/NT+rS2xs+3nG\\nXMZ7NbNcj/X+bL2eH/vjuM8fczWuZ6z5iG7H9+Zk7mpNrx/7W+ca6y6N3/1f0PdDvXoRujJ/q+ZM\\nfKzt496vd+vjo/5qfla3F1vJ7dX0b9T7fU7iPdb7ya+0r/6gj+ZX/qimn/NsfZ+rT4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgsC5w9l5mpX7rXmg1PtbtjVdyvSb9tCU16+/Fkkvb10gs7SxXsTyp\\nS1vxWX8W26od1x7rZuOt2JV4zcnTz53YmfbV+Ut7uaD/90zjxfPeeCXXa476s/xebDWXt+z1s9gs\\nn7rv3tY/uP7nu7+v9yNAgAABAgQIECBAgAABAgQIECBAgAABAgQIvFug371cufxcmbNVsxof6/bG\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Changing Code** I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instances of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Inform the Driving Agent\\n\",\n    \"\\n\",\n    \"### QUESTIONS:\\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States:\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\\n\",\n    \"<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Total number of states**: 4^4 * 2 = 512 states.\\n\",\n    \"\\n\",\n    \"The minimum 'deadline' is `minimum distance` x 5 = 4 x \\n\",\n    \"5 = 20 and the maximum is 12 x 5 = 60. \\n\",\n    \"\\n\",\n    \"If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means **each state will be visited an average of** 20 turns x 100 trials / 512 states i.e. about **4 times**. This is **reasonable but is still quite low**.\\n\",\n    \"\\n\",\n    \"This low number is **why I did not include further state attributes** I considered (see boloew) because that would only reduce the number of visits to each state even further.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States that I considered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Implement a Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent is **more likely to take actions corresponding to `next_waypoint`** when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that **maximise total expected reward**.\\n\",\n    \"\\n\",\n    \"The agent is **less likely to take actions tha result in penalties** (crashing into cars, making illegal moves or making moves that are legal but are not equal to `next_waypoint` so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.\\n\",\n    \"\\n\",\n    \"It does not just move randomly in loops any more.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Notes: Debugging 'Implementing a Q-Learning Driving Agent'\\n\",\n    \"1. I realised the agent wasn't acting because the `count` variable was defined wrongly: \\n\",\n    \"    - `count` was used to see there were multiple actions with `q-value = maxQ` for that state. \\n\",\n    \"    - If `count` > 1, we would randomly choose one action out of the set of actions where `q-value = maxQ`.\\n\",\n    \"    - `count` was wrongly defined as `len([maxq])`, which is always equal to one since it is an array with a float in it.\\n\",\n    \"    - It should've been `len([i in q if q[i] == max_q])` instead.\\n\",\n    \"    - Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.\\n\",\n    \"    - This meant the agent often chose `None`.\\n\",\n    \"2. I'd forgotten to incorporate `next_waypoint` into my state. Pretty silly.\\n\",\n    \"3. I wanted to print results after every turn for debugging purposes and put `self.results` in TrafficLight instead of Environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Improve the Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Your final task for this project is to enhance your driving agent so that, after sufficient training, the smartcab is **able to reach the destination within the allotted time safely and efficiently**. \\n\",\n    \"- Parameters in the Q-Learning algorithm, such as the learning rate (alpha), the discount factor (gamma) and the exploration rate (epsilon) all contribute to the driving agent’s ability to learn the best action for each state. \\n\",\n    \"\\n\",\n    \"To improve on the success of your smartcab:\\n\",\n    \"\\n\",\n    \"- Set the number of trials, n_trials, in the simulation to 100.\\n\",\n    \"- Run the simulation with the deadline enforcement enforce_deadline set to True (you will need to reduce the update delay update_delay and set the display to False).\\n\",\n    \"- Observe the driving agent’s learning and smartcab’s success rate, particularly during the later trials.\\n\",\n    \"- Adjust one or several of the above parameters and iterate this process.\\n\",\n    \"\\n\",\n    \"This task is complete once you have **arrived at what you determine is the best combination of parameters required** for your driving agent to learn successfully.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Report the different values for the parameters tuned in your basic implementation of Q-Learning. For which set of parameters does the agent perform best? How well does the final driving agent perform?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Answers:\\n\",\n    \"### 4.1 Planning\\n\",\n    \"\\n\",\n    \"**Procedure**:\\n\",\n    \"1. Run each configuration 50 times (50 sets of 100 trials)\\n\",\n    \"2. Write metrics into separate file\\n\",\n    \"3. Convert to summary statistics over 50 sets\\n\",\n    \"4. Observe statistics\\n\",\n    \"4. Alter list of configurations as appropriate and repeat until satisfied\\n\",\n    \"\\n\",\n    \"The **metrics considered** were\\n\",\n    \"- **Total number of successful outcomes** (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates **inefficiency**.\\n\",\n    \"    - **Average buffer** (Time left / Initial deadline) -> Indicates how efficient the driving agent was.\\n\",\n    \"\\n\",\n    \"- **Average number of incorrect actions per trial** (penalties of -1.0) because this indicates an action was **unsafe**.\\n\",\n    \"\\n\",\n    \"The parameters considered were\\n\",\n    \"- Exploration rate Epsilon (epsi)\\n\",\n    \"- Discount rate Gamma (gamma)\\n\",\n    \"- Learning rate Alpha (alpha) \\n\",\n    \"- Default Q value (if one did not exist before (q) -> kept constant at 0.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.2 Optimising\\n\",\n    \"\\n\",\n    \"#### 4.2.1 Optimising for Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.20\\t0.50\\t'1.0/t'\\t0.0\\t87.78\\t0.5179\\t1.0810\\n\",\n    \"0.10\\t0.50\\t'1.0/t'\\t0.0\\t94.20\\t0.5709\\t0.5732\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\\n\",\n    \"0.01\\t0.50\\t'1.0/t'\\t0.0\\t98.36\\t0.5829\\t0.1926\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.\\n\",\n    \"\\n\",\n    \"**Interpretation** This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.\\n\",\n    \"\\n\",\n    \"**Next actions** For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.\\n\",\n    \"\\n\",\n    \"Once we have chosen our gamma and alpha, we will optimise for epsilon.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.2 Optimising for Gamma (and Alpha)\\n\",\n    \"\\n\",\n    \"Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"0.05\\t0.25\\t'1.0/t'\\t0.0\\t97.18\\t0.5726\\t0.3538\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\\n\",\n    \"0.05\\t0.75\\t'1.0/t'\\t0.0\\t94.02\\t0.5573\\t0.3822\\n\",\n    \"0.05\\t0.99\\t'1.0/t'\\t0.0\\t75.30\\t0.5399\\t0.6030\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 135,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x11ae65ba8>\"\n      ]\n     },\n     \"execution_count\": 135,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11aee7470>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\\n\",\n    \"plt.plot([0.01,0.25,0.50,0.75,0.99], [98.00, 97.18,96.50,94.02,75.30], 'b-')\\n\",\n    \"plt.plot([0.01,0.25,0.50,0.75,0.99], [98.00, 97.18,96.50,94.02,75.30], 'ro')\\n\",\n    \"plt.xlabel('Gamma')\\n\",\n    \"plt.ylabel('')\\n\",\n    \"plt.legend(handles=[red_patch])\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"\\n\",\n    \"line1, = plt.plot([1,2,3], label=\\\"Line 1\\\", linestyle='--')\\n\",\n    \"line2, = plt.plot([3,2,1], label=\\\"Line 2\\\", linewidth=4)\\n\",\n    \"\\n\",\n    \"# Create a legend for the first line.\\n\",\n    \"first_legend = plt.legend(handles=[line1], loc=1)\\n\",\n    \"\\n\",\n    \"# Add the legend manually to the current Axes.\\n\",\n    \"ax = plt.gca().add_artist(first_legend)\\n\",\n    \"\\n\",\n    \"# Create another legend for the second line.\\n\",\n    \"plt.legend(handles=[line2], loc=4)\\n\",\n    \"\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations** \\n\",\n    \"* It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. \\n\",\n    \"* The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. \\n\",\n    \"* Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.\\n\",\n    \"\\n\",\n    \"**Next actions** This motivates us to try more Gamma values in the range (0,0.5).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.3 Pre-emptive checking for robustness\\n\",\n    \"\\n\",\n    \"We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.5)'\\t0.0\\t98.06\\t0.5709\\t0.3710\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.5)'\\t0.0\\t97.76\\t0.5767\\t0.3568\\n\",\n    \"0.05\\t0.25\\t'1.0/(t**0.5)'\\t0.0\\t97.68\\t0.5722\\t0.3636\\n\",\n    \"0.05\\t0.50\\t'1.0/(t**0.5)'\\t0.0\\t96.62\\t0.5696\\t0.3616\\n\",\n    \"0.05\\t0.75\\t'1.0/(t**0.5)'\\t0.0\\t93.76\\t0.5539\\t0.3888\\n\",\n    \"0.05\\t0.99\\t'1.0/(t**0.5)'\\t0.0\\t69.60\\t0.5312\\t0.7028\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** The **trend differences** were that average penalties continued to decrease as Gamma was increased up to 0.50. \\n\",\n    \"\\n\",\n    \"**Decision-making and next actions** The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was **not worthwhile to experiment with increasing Gamma beyond 0.25**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.4 Continue optimising for Gamma\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"0.05\\t0.25\\t'1.0/t'\\t0.0\\t97.18\\t0.5726\\t0.3538\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for **setting Gammma to be around 0.1**.\\n\",\n    \"\\n\",\n    \"For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that **setting Gamma to be around 0.01** would be appropriate because an increase in successes of 0.003% seems to be more signi\\n\",\n    \"...\\n\",\n    \"\\n\",\n    \"**Next Actions**: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.\\n\",\n    \"\\n\",\n    \"We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.5 Optimising for Alpha\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.01)'\\t0.0\\t97.72\\t0.5761\\t0.3618\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.25)'\\t0.0\\t98.06\\t0.5722\\t0.3608\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.5)'\\t0.0\\t98.06\\t0.5709\\t0.3710\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.75)'\\t0.0\\t97.84\\t0.5713\\t0.3718\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t        0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"\\n\",\n    \"0.05\\t0.10\\t'1.0/t**0.001'\\t0.0\\t97.72\\t0.5733\\t0.3616\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.34\\t0.5737\\t0.3634\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.25)'\\t0.0\\t98.06\\t0.5723\\t0.3608\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.5)'\\t0.0\\t97.98\\t0.5682\\t0.3638\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.75)'\\t0.0\\t97.80\\t0.5707\\t0.3788\\n\",\n    \"0.05\\t0.10\\t'1.0/t'\\t        0.0\\t98.10\\t0.5747\\t0.3604\\n\",\n    \"\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.01)'\\t0.0\\t97.80\\t0.5653\\t0.3730\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.25)'\\t0.0\\t97.60\\t0.5724\\t0.3606\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.5)'\\t0.0\\t97.76\\t0.5767\\t0.3568\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.75)'\\t0.0\\t97.88\\t0.5694\\t0.3632\\n\",\n    \"0.05\\t0.20\\t'1.0/t'\\t        0.0\\t97.12\\t0.5685\\t0.3834\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(Alpha=0.01 was doing so well I decided to try Alpha=0.001.)\\n\",\n    \"\\n\",\n    \"For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.\\n\",\n    \"* Pick exp=0.25\\n\",\n    \"\\n\",\n    \"For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.\\n\",\n    \"* Pick exp=0.01\\n\",\n    \"\\n\",\n    \"For Gamma=0.2, \\n\",\n    \"* Pick exp=0.75\\n\",\n    \"\\n\",\n    \"**Overall**: pick Gamma=0.1, Alpha=1/(t**0.01).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.6 Finale: Optimising Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi        gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.000\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.70\\t0.5861\\t0.1706\\n\",\n    \"0.000001\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.90\\t0.5885\\t0.1728\\n\",\n    \"0.000005\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.96\\t0.5869\\t0.1686\\n\",\n    \"0.00001\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t99.12\\t0.5926\\t0.1640\\n\",\n    \"0.001\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.98\\t0.5963\\t0.1692\\n\",\n    \"0.01\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.66\\t0.5884\\t0.2058\\n\",\n    \"0.05\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.34\\t0.5737\\t0.3634\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose epsilon = 0.00001.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTION\\n\",\n    \"Parameters chosen:\\n\",\n    \"<table>\\n\",\n    \"<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\\n\",\n    \"<tr><td>0.00001</td><td>0.1</td><td>1/(t**0.01)</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Discussion: How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"- An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.\\n\",\n    \"- It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)\\n\",\n    \"- It would maxmise net reward and thus likely incur close to 0 -1.0 penalties.\\n\",\n    \"\\n\",\n    \"#### Comparing our driving agent to the optimal policy\\n\",\n    \"<table>\\n\",\n    \"<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\\n\",\n    \"<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"* Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.\\n\",\n    \"\\n\",\n    \"* As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.\\n\",\n    \"\\n\",\n    \"* There are still a significant number of penalties occurring (violations of traffic rules or  ). This is suboptimal.\\n\",\n    \"\\n\",\n    \"We then conclude that **our policy is efficient but not nearly as safe as it could be**.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 115,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 116,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.read_csv(\\\"smartcab_parameter_search.csv\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 137,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Len:  1800\\n\",\n      \"epsilon            0.000500\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        98.920000\\n\",\n      \" avg_buffer        0.593003\\n\",\n      \" avg_penalties     0.171400\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon            0.000010\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        99.120000\\n\",\n      \" avg_buffer        0.592551\\n\",\n      \" avg_penalties     0.164000\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon           1.000000e-06\\n\",\n      \" gamma            1.000000e-01\\n\",\n      \" defaultq         0.000000e+00\\n\",\n      \" successes        9.890000e+01\\n\",\n      \" avg_buffer       5.885499e-01\\n\",\n      \" avg_penalties    1.728000e-01\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon            0.000005\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        98.960000\\n\",\n      \" avg_buffer        0.586901\\n\",\n      \" avg_penalties     0.168600\\n\",\n      \"dtype: float64\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>epsilon</th>\\n\",\n       \"      <th>gamma</th>\\n\",\n       \"      <th>alpha</th>\\n\",\n       \"      <th>defaultq</th>\\n\",\n       \"      <th>successes</th>\\n\",\n       \"      <th>avg_buffer</th>\\n\",\n       \"      <th>avg_penalties</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>0.200000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>88</td>\\n\",\n       \"      <td>0.522698</td>\\n\",\n       \"      <td>1.06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50</th>\\n\",\n       \"      <td>0.100000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.558357</td>\\n\",\n       \"      <td>0.61</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>100</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.536775</td>\\n\",\n       \"      <td>0.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>150</th>\\n\",\n       \"      <td>0.010000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.613601</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>200</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.25</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.607052</td>\\n\",\n       \"      <td>0.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>250</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.567378</td>\\n\",\n       \"      <td>0.33</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>300</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.586167</td>\\n\",\n       \"      <td>0.30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>350</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.99</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>80</td>\\n\",\n       \"      <td>0.509129</td>\\n\",\n       \"      <td>0.36</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>400</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>92</td>\\n\",\n       \"      <td>0.557408</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>450</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.25</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.580703</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>500</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.584747</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>550</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>93</td>\\n\",\n       \"      <td>0.560760</td>\\n\",\n       \"      <td>0.48</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>600</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.596377</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>650</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.99</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>77</td>\\n\",\n       \"      <td>0.500140</td>\\n\",\n       \"      <td>0.57</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>700</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.559465</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>750</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.564991</td>\\n\",\n       \"      <td>0.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>800</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.555574</td>\\n\",\n       \"      <td>0.40</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>850</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.549078</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>900</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.570607</td>\\n\",\n       \"      <td>0.38</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>950</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.588644</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1000</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.569591</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1050</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.590137</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1100</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.582641</td>\\n\",\n       \"      <td>0.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1150</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.572223</td>\\n\",\n       \"      <td>0.26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1200</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.579370</td>\\n\",\n       \"      <td>0.34</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1250</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.557951</td>\\n\",\n       \"      <td>0.34</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1300</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>94</td>\\n\",\n       \"      <td>0.542908</td>\\n\",\n       \"      <td>0.40</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1350</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.577833</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1400</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.587306</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1450</th>\\n\",\n       \"      <td>0.010000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.585467</td>\\n\",\n       \"      <td>0.15</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1500</th>\\n\",\n       \"      <td>0.001000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.598360</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1550</th>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.603297</td>\\n\",\n       \"      <td>0.18</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1600</th>\\n\",\n       \"      <td>0.000500</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.598422</td>\\n\",\n       \"      <td>0.17</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1650</th>\\n\",\n       \"      <td>0.000010</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.605551</td>\\n\",\n       \"      <td>0.14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1700</th>\\n\",\n       \"      <td>0.000001</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.603799</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1750</th>\\n\",\n       \"      <td>0.000005</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.615908</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"       epsilon   gamma              alpha   defaultq   successes   avg_buffer  \\\\\\n\",\n       \"0     0.200000    0.50            '1.0/t'        0.0          88     0.522698   \\n\",\n       \"50    0.100000    0.50            '1.0/t'        0.0          96     0.558357   \\n\",\n       \"100   0.050000    0.50            '1.0/t'        0.0          96     0.536775   \\n\",\n       \"150   0.010000    0.50            '1.0/t'        0.0          98     0.613601   \\n\",\n       \"200   0.050000    0.25            '1.0/t'        0.0          98     0.607052   \\n\",\n       \"250   0.050000    0.01            '1.0/t'        0.0          99     0.567378   \\n\",\n       \"300   0.050000    0.75            '1.0/t'        0.0          99     0.586167   \\n\",\n       \"350   0.050000    0.99            '1.0/t'        0.0          80     0.509129   \\n\",\n       \"400   0.050000    0.50     '1.0/(t**0.5)'        0.0          92     0.557408   \\n\",\n       \"450   0.050000    0.25     '1.0/(t**0.5)'        0.0          98     0.580703   \\n\",\n       \"500   0.050000    0.01     '1.0/(t**0.5)'        0.0          99     0.584747   \\n\",\n       \"550   0.050000    0.75     '1.0/(t**0.5)'        0.0          93     0.560760   \\n\",\n       \"600   0.050000    0.20     '1.0/(t**0.5)'        0.0         100     0.596377   \\n\",\n       \"650   0.050000    0.99     '1.0/(t**0.5)'        0.0          77     0.500140   \\n\",\n       \"700   0.050000    0.10     '1.0/(t**0.5)'        0.0          99     0.559465   \\n\",\n       \"750   0.050000    0.10            '1.0/t'        0.0          97     0.564991   \\n\",\n       \"800   0.050000    0.20            '1.0/t'        0.0          98     0.555574   \\n\",\n       \"850   0.050000    0.20    '1.0/(t**0.25)'        0.0          96     0.549078   \\n\",\n       \"900   0.050000    0.20    '1.0/(t**0.75)'        0.0          98     0.570607   \\n\",\n       \"950   0.050000    0.10    '1.0/(t**0.75)'        0.0          97     0.588644   \\n\",\n       \"1000  0.050000    0.01    '1.0/(t**0.75)'        0.0          99     0.569591   \\n\",\n       \"1050  0.050000    0.01    '1.0/(t**0.25)'        0.0          99     0.590137   \\n\",\n       \"1100  0.050000    0.10    '1.0/(t**0.25)'        0.0          96     0.582641   \\n\",\n       \"1150  0.050000    0.10    '1.0/(t**0.01)'        0.0          99     0.572223   \\n\",\n       \"1200  0.050000    0.01    '1.0/(t**0.01)'        0.0          98     0.579370   \\n\",\n       \"1250  0.050000    0.20    '1.0/(t**0.01)'        0.0          97     0.557951   \\n\",\n       \"1300  0.050000    0.20   '1.0/(t**0.001)'        0.0          94     0.542908   \\n\",\n       \"1350  0.050000    0.10   '1.0/(t**0.001)'        0.0          98     0.577833   \\n\",\n       \"1400  0.050000    0.01   '1.0/(t**0.001)'        0.0          98     0.587306   \\n\",\n       \"1450  0.010000    0.10    '1.0/(t**0.01)'        0.0          99     0.585467   \\n\",\n       \"1500  0.001000    0.10    '1.0/(t**0.01)'        0.0          99     0.598360   \\n\",\n       \"1550  0.000000    0.10    '1.0/(t**0.01)'        0.0          97     0.603297   \\n\",\n       \"1600  0.000500    0.10    '1.0/(t**0.01)'        0.0         100     0.598422   \\n\",\n       \"1650  0.000010    0.10    '1.0/(t**0.01)'        0.0          99     0.605551   \\n\",\n       \"1700  0.000001    0.10    '1.0/(t**0.01)'        0.0         100     0.603799   \\n\",\n       \"1750  0.000005    0.10    '1.0/(t**0.01)'        0.0          98     0.615908   \\n\",\n       \"\\n\",\n       \"       avg_penalties  \\n\",\n       \"0               1.06  \\n\",\n       \"50              0.61  \\n\",\n       \"100             0.43  \\n\",\n       \"150             0.19  \\n\",\n       \"200             0.39  \\n\",\n       \"250             0.33  \\n\",\n       \"300             0.30  \\n\",\n       \"350             0.36  \\n\",\n       \"400             0.31  \\n\",\n       \"450             0.31  \\n\",\n       \"500             0.37  \\n\",\n       \"550             0.48  \\n\",\n       \"600             0.37  \\n\",\n       \"650             0.57  \\n\",\n       \"700             0.31  \\n\",\n       \"750             0.42  \\n\",\n       \"800             0.40  \\n\",\n       \"850             0.37  \\n\",\n       \"900             0.38  \\n\",\n       \"950             0.44  \\n\",\n       \"1000            0.44  \\n\",\n       \"1050            0.35  \\n\",\n       \"1100            0.27  \\n\",\n       \"1150            0.26  \\n\",\n       \"1200            0.34  \\n\",\n       \"1250            0.34  \\n\",\n       \"1300            0.40  \\n\",\n       \"1350            0.35  \\n\",\n       \"1400            0.35  \\n\",\n       \"1450            0.15  \\n\",\n       \"1500            0.16  \\n\",\n       \"1550            0.18  \\n\",\n       \"1600            0.17  \\n\",\n       \"1650            0.14  \\n\",\n       \"1700            0.16  \\n\",\n       \"1750            0.16  \"\n      ]\n     },\n     \"execution_count\": 137,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df = pd.read_csv(\\\"smartcab_parameter_search.csv\\\")\\n\",\n    \"print(\\\"Len: \\\", len(df))\\n\",\n    \"\\n\",\n    \"tries = int(len(df)/50)\\n\",\n    \"for i in range(tries-4,tries):\\n\",\n    \"    print(df[50*i:50*(i+1)].mean())\\n\",\n    \"\\n\",\n    \"df[::50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Randos\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df_noa = df.drop(' alpha', axis=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Add plots\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/.ipynb_checkpoints/Smartcab Report-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# P4 Smartcab \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Implement a Basic Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **Process**\\n\",\n    \"\\n\",\n    \"**Understanding the game** The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAB+gAAAaECAYAAADQdEfgAAAKCGlDQ1BJQ0MgUHJvZmlsZQAASImF\\nlgdUFNcexu/M9kbZhaX33jssIL036VVUlgWWLixVxIYEFYgoIiKgSAlVwWiosSCiWAgCCljQLBIE\\nlBgsgIpKBkhikvfOe/8599zf+fbeb/5zd86ZDwCSKzMhIRbmAyAuPpnj5WAtHRAYJI3jAiygAj4g\\nApSZrKQEKw8PV4DUn/M/a3EUQKvzPY1Vr//8/X8Wf1h4EgsAyANhBiuBk4zwAYR90pITVnkcYQEO\\n0hTC86vMXmMYvcqh6yy8tsbHywZhdQDwZCaTwwaAyEB06VQWG/EhBiCsHR8WFY/wqr85K5IZhvBN\\nhNUjYlPSEX63uiYubhuik+QRVg79myf7H/6hf/kzmey/OC42hfXHc62eCDk83tcbmUWRIQ4igCaI\\nBSkgHUiDBMAB2xAlClHCkbP/7/sYa/tskJUJYDuyIwqwQSRIRvbb/83Le80pGaQBJrImHFFckctm\\n9X9ct3xLX3OF6Le/aondABjnIiL7q8aUA6DzOQC0xa+a3BukncMAXBpkpXBS17XVowcYQAS8QAB5\\nQySBHFAGGkAXGAJTYAnsgDNwBz4gEGwBLKTfOKSrNJAJ9oIckAcOg2OgFFSAalAPzoLzoB1cBFfB\\nDXAHDIIR8BhwwRR4CebBIliGIAgHUSAaJAJJQQqQGqQLMSBzyA5yhbygQCgEYkPxUAqUCe2D8qBC\\nqBSqhBqg76FO6Cp0CxqCHkIT0Cz0BvoIo2AyLABLwIqwFsyArWAX2AfeDLPhRDgDzoYPwSVwFXwG\\nboOvwnfgEZgLv4QXUABFQtFRMigNFANlg3JHBaEiUBzULlQuqhhVhWpGdaH6UPdQXNQc6gMai6ah\\npdEaaFO0I9oXzUInoneh89Gl6Hp0G7oXfQ89gZ5Hf8FQMOIYNYwJxgkTgGFj0jA5mGJMLaYVcx0z\\ngpnCLGKxWDpWCWuEdcQGYqOxO7D52JPYFmw3dgg7iV3A4XAiODWcGc4dx8Ql43JwJ3BncFdww7gp\\n3Hs8CS+F18Xb44Pw8fgsfDG+EX8ZP4yfxi8T+AgKBBOCOyGMsJ1QQKghdBHuEqYIy0R+ohLRjOhD\\njCbuJZYQm4nXiePEtyQSSZZkTPIkRZH2kEpI50g3SROkD2QqWZVsQw4mp5APkevI3eSH5LcUCkWR\\nYkkJoiRTDlEaKNcoTynveWg8mjxOPGE8u3nKeNp4hnle8RJ4FXiteLfwZvAW817gvcs7x0fgU+Sz\\n4WPy7eIr4+vkG+Nb4Kfx6/C788fx5/M38t/in6HiqIpUO2oYNZtaTb1GnaShaHI0GxqLto9WQ7tO\\nmxLACigJOAlEC+QJnBUYEJgXpArqC/oJpguWCV4S5NJRdEW6Ez2WXkA/Tx+lfxSSELISChc6KNQs\\nNCy0JCwmbCkcLpwr3CI8IvxRRFrETiRG5IhIu8gTUbSoqqinaJroKdHronNiAmKmYiyxXLHzYo/E\\nYXFVcS/xHeLV4v3iCxKSEg4SCRInJK5JzEnSJS0loyWLJC9LzkrRpMyloqSKpK5IvZAWlLaSjpUu\\nke6VnpcRl3GUSZGplBmQWZZVkvWVzZJtkX0iR5RjyEXIFcn1yM3LS8m7yWfKN8k/UiAoMBQiFY4r\\n9CksKSop+ivuV2xXnFESVnJSylBqUhpXpihbKCcqVynfV8GqMFRiVE6qDKrCqgaqkaplqnfVYDVD\\ntSi1k2pD6hh1Y/V49Sr1MQ2yhpVGqkaTxoQmXdNVM0uzXfOVlrxWkNYRrT6tL9oG2rHaNdqPdag6\\nzjpZOl06b3RVdVm6Zbr39Sh69nq79Tr0Xuur6Yfrn9J/YEAzcDPYb9Bj8NnQyJBj2Gw4ayRvFGJU\\nbjTGEGB4MPIZN40xxtbGu40vGn8wMTRJNjlv8puphmmMaaPpzAalDeEbajZMmsmaMc0qzbjm0uYh\\n5qfNuRYyFkyLKotnlnKWYZa1ltNWKlbRVmesXllrW3OsW62XbExsdtp026JsHWxzbQfsqHa+dqV2\\nT+1l7dn2TfbzDgYOOxy6HTGOLo5HHMecJJxYTg1O885Gzjude13ILt4upS7PXFVdOa5dbrCbs9tR\\nt/GNChvjN7a7A3cn96PuTzyUPBI9fvTEenp4lnk+99LxyvTq86Z5b/Vu9F70sfYp8Hnsq+yb4tvj\\nx+sX7Nfgt+Rv61/ozw3QCtgZcCdQNDAqsCMIF+QXVBu0sMlu07FNU8EGwTnBo5uVNqdvvrVFdEvs\\nlktbebcyt14IwYT4hzSGfGK6M6uYC6FOoeWh8ywb1nHWyzDLsKKw2XCz8MLw6QiziMKIGbYZ+yh7\\nNtIisjhyLsomqjTqdbRjdEX0Uox7TF3MSqx/bEscPi4krjOeGh8T37tNclv6tqEEtYScBG6iSeKx\\nxHmOC6c2CUranNSRLIB8PPtTlFO+SZlINU8tS32f5pd2IZ0/PT69f7vq9oPbpzPsM77bgd7B2tGT\\nKZO5N3Nip9XOyl3QrtBdPbvldmfvntrjsKd+L3FvzN6fsrSzCrPe7fPf15Utkb0ne/Ibh2+acnhy\\nODlj+033VxxAH4g6MHBQ7+CJg19yw3Jv52nnFed9ymfl3/5W59uSb1cORRwaKDAsOHUYezj+8OgR\\niyP1hfyFGYWTR92OthVJF+UWvTu29ditYv3iiuPE4ynHuSWuJR0n5E8cPvGpNLJ0pMy6rKVcvPxg\\n+dLJsJPDpyxPNVdIVORVfDwddfpBpUNlW5ViVXE1tjq1+nmNX03fd4zvGmpFa/NqP9fF13Hrvep7\\nG4waGhrFGwua4KaUptkzwWcGz9qe7WjWaK5sobfknQPnUs69+D7k+9HzLud7LjAuNP+g8EN5K601\\ntw1q29423x7Zzu0I7BjqdO7s6TLtav1R88e6izIXyy4JXiq4TLycfXnlSsaVhe6E7rmr7KuTPVt7\\nHl8LuHa/17N34LrL9Zs37G9c67Pqu3LT7ObFWya3Om8zbrffMbzT1m/Q3/qTwU+tA4YDbXeN7nYM\\nGg92DW0YujxsMXz1nu29G/ed7t8Z2TgyNOo7+mAseIz7IOzBzMPYh68fpT5afrxnHDOe+4TvSfFT\\n8adVP6v83MI15F6asJ3of+b97PEka/LlL0m/fJrKfk55XjwtNd0woztzcdZ+dvDFphdTLxNeLs/l\\n/Mr/a/kr5Vc//Gb5W/98wPzUa87rlTf5b0Xe1r3Tf9ez4LHwdDFucXkp973I+/oPjA99H/0/Ti+n\\nfcJ9Kvms8rnri8uX8ZW4lZUEJoe5FgVQyIAjIgB4UwcAJRDJDoNIFuJZz1x/5Bnob8nmTwaD1V+5\\ngrWey9bKEIA6SwB89wDgimSUU8hQQJiMzKsR0ccSwHp6f40/KilCT3f9HmQOEk3er6y8lQAA1wXA\\nZ87KyvLJlZXPNUizDwHoTvy/vf2L1/PgamGRlHxaZJX6x4i54F/1O9WvvprLW0UNAAAACXBIWXMA\\nABjnAAAZlQGq1AmXAABAAElEQVR4AezdCZxkVXnw/6eX6dn3vWcBhhnWGZBFRURBhYiICxCRmEhc\\nk4+JSYzxfaPm/0az/NU3CYnGhCRuURAjoihGXAAVNIwgoLKqDOvAzDD7vvT0dNV7nnvrqT59+t6q\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Changing Code** I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instances of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Inform the Driving Agent\\n\",\n    \"\\n\",\n    \"### QUESTIONS:\\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States:\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\\n\",\n    \"<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Total number of states**: 4^4 * 2 = 512 states.\\n\",\n    \"\\n\",\n    \"The minimum 'deadline' is `minimum distance` x 5 = 4 x \\n\",\n    \"5 = 20 and the maximum is 12 x 5 = 60. \\n\",\n    \"\\n\",\n    \"If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means **each state will be visited an average of** 20 turns x 100 trials / 512 states i.e. about **4 times**. This is **reasonable but is still quite low**.\\n\",\n    \"\\n\",\n    \"This low number is **why I did not include further state attributes** I considered (see boloew) because that would only reduce the number of visits to each state even further.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States that I considered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Implement a Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent is **more likely to take actions corresponding to `next_waypoint`** when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that **maximise total expected reward**.\\n\",\n    \"\\n\",\n    \"The agent is **less likely to take actions tha result in penalties** (crashing into cars, making illegal moves or making moves that are legal but are not equal to `next_waypoint` so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.\\n\",\n    \"\\n\",\n    \"It does not just move randomly in loops any more.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Notes: Debugging 'Implementing a Q-Learning Driving Agent'\\n\",\n    \"1. I realised the agent wasn't acting because the `count` variable was defined wrongly: \\n\",\n    \"    - `count` was used to see there were multiple actions with `q-value = maxQ` for that state. \\n\",\n    \"    - If `count` > 1, we would randomly choose one action out of the set of actions where `q-value = maxQ`.\\n\",\n    \"    - `count` was wrongly defined as `len([maxq])`, which is always equal to one since it is an array with a float in it.\\n\",\n    \"    - It should've been `len([i in q if q[i] == max_q])` instead.\\n\",\n    \"    - Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.\\n\",\n    \"    - This meant the agent often chose `None`.\\n\",\n    \"2. I'd forgotten to incorporate `next_waypoint` into my state. Pretty silly.\\n\",\n    \"3. I wanted to print results after every turn for debugging purposes and put `self.results` in TrafficLight instead of Environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Improve the Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Answers:\\n\",\n    \"### 4.1 Planning\\n\",\n    \"\\n\",\n    \"**Procedure**:\\n\",\n    \"1. Run each configuration 50 times (50 sets of 100 trials)\\n\",\n    \"2. Write metrics into separate file\\n\",\n    \"3. Convert to summary statistics over 50 sets\\n\",\n    \"4. Observe statistics\\n\",\n    \"4. Alter list of configurations as appropriate and repeat until satisfied\\n\",\n    \"\\n\",\n    \"The **metrics considered** were\\n\",\n    \"- **Total number of successful outcomes** (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates **inefficiency**.\\n\",\n    \"    - **Average buffer** (Time left / Initial deadline) -> Indicates how efficient the driving agent was.\\n\",\n    \"\\n\",\n    \"- **Average number of incorrect actions per trial** (penalties of -1.0) because this indicates an action was **unsafe**.\\n\",\n    \"\\n\",\n    \"The parameters considered were\\n\",\n    \"- Exploration rate Epsilon (epsilon)\\n\",\n    \"- Discount rate Gamma (gamma)\\n\",\n    \"- Learning rate Alpha (alpha) \\n\",\n    \"- Default Q value (if one did not exist before (default_q) -> kept constant at 0.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.2 Optimising\\n\",\n    \"\\n\",\n    \"#### 4.2.1 Optimising for Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.20</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>87.78</td><td>0.5179</td><td>1.0810</td></tr>\\n\",\n    \"<tr><td>0.10</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>94.20</td><td>0.5709</td><td>0.5732</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>98.36</td><td>0.5829</td><td>0.1926</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.\\n\",\n    \"\\n\",\n    \"**Interpretation** This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.\\n\",\n    \"\\n\",\n    \"**Next actions** For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.\\n\",\n    \"\\n\",\n    \"Once we have chosen our gamma and alpha, we will optimise for epsilon.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.2 Optimising for Gamma (and Alpha)\\n\",\n    \"\\n\",\n    \"Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/t'</td><td>0.0</td><td>94.02</td><td>0.5573</td><td>0.3822</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/t'</td><td>0.0</td><td>75.30</td><td>0.5399</td><td>0.6030</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations** \\n\",\n    \"* It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. \\n\",\n    \"* The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. \\n\",\n    \"* Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.\\n\",\n    \"\\n\",\n    \"**Next actions** This motivates us to try more Gamma values in the range (0,0.5).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.3 Pre-emptive checking for robustness\\n\",\n    \"\\n\",\n    \"We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>93.76</td><td>0.5539</td><td>0.3888</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>69.60</td><td>0.5312</td><td>0.7028</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** The **trend differences** were that average penalties continued to decrease as Gamma was increased up to 0.50. \\n\",\n    \"\\n\",\n    \"**Decision-making and next actions** The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was **not worthwhile to experiment with increasing Gamma beyond 0.25**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.4 Continue optimising for Gamma\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Alpha = '1.0/t'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Alpha = '1.0/(t^0.5)'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for **setting Gammma to be around 0.1**.\\n\",\n    \"\\n\",\n    \"For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that **setting Gamma to be around 0.01** would be appropriate because an increase in successes of 0.3 trials (per 100) is more important than decreasing average penalty by 0.008 per trial.\\n\",\n    \"\\n\",\n    \"**Next Actions**: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.\\n\",\n    \"\\n\",\n    \"We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.5 Optimising for Alpha\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.72</td><td>0.5761</td><td>0.3618</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5722</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.84</td><td>0.5713</td><td>0.3718</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>        0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.001)'</td><td>0.0</td><td>97.72</td><td>0.5733</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5723</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.98</td><td>0.5682</td><td>0.3638</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.80</td><td>0.5707</td><td>0.3788</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/t'</td><td>        0.0</td><td>98.10</td><td>0.5747</td><td>0.3604</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.80</td><td>0.5653</td><td>0.3730</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>97.60</td><td>0.5724</td><td>0.3606</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.88</td><td>0.5694</td><td>0.3632</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/t'</td><td>        0.0</td><td>97.12</td><td>0.5685</td><td>0.3834</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(Alpha=0.01 was doing so well I decided to try Alpha=0.001.)\\n\",\n    \"\\n\",\n    \"For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.\\n\",\n    \"* Pick exp=0.25\\n\",\n    \"\\n\",\n    \"For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.\\n\",\n    \"* Pick exp=0.01\\n\",\n    \"\\n\",\n    \"For Gamma=0.2, \\n\",\n    \"* Pick exp=0.75\\n\",\n    \"\\n\",\n    \"**Overall**: pick Gamma=0.1, Alpha=1/(t^0.01).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.6 Finale: Optimising Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.000</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.70</td><td>0.5861</td><td>0.1706</td></tr>\\n\",\n    \"<tr><td>0.000001</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.90</td><td>0.5885</td><td>0.1728</td></tr>\\n\",\n    \"<tr><td>0.000005</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.96</td><td>0.5869</td><td>0.1686</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>0.001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.98</td><td>0.5963</td><td>0.1692</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.66</td><td>0.5884</td><td>0.2058</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose epsilon = 0.00001.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTION\\n\",\n    \"Parameters chosen:\\n\",\n    \"<table>\\n\",\n    \"<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\\n\",\n    \"<tr><td>0.00001</td><td>0.1</td><td>1/(t^0.01)</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Discussion: How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"- An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.\\n\",\n    \"- It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)\\n\",\n    \"- It would maxmise net reward and thus likely incur close to zero -1.0 penalties.\\n\",\n    \"\\n\",\n    \"#### Comparing our driving agent to the optimal policy\\n\",\n    \"<table>\\n\",\n    \"<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\\n\",\n    \"<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"* Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.\\n\",\n    \"\\n\",\n    \"* As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.\\n\",\n    \"\\n\",\n    \"* There are still a significant number of penalties occurring (violations of traffic rules or  ). This is suboptimal.\\n\",\n    \"\\n\",\n    \"We then conclude that **our policy is efficient but not nearly as safe as it could be**.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/.ipynb_checkpoints/smartcab-report-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# P4 Smartcab \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Implement a Basic Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **Process**\\n\",\n    \"\\n\",\n    \"**Understanding the game** The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\nAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAATGlAAC/ZheeJoNAQhAAAIQgAAE\\nIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKjJYBAP1relAYBCEAAAhCAAAQgAAEIQAACEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAmNKAIF+TC88zYYABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCAAgdESQKAfLW9KgwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACB\\nMSWAQD+mF55mQwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAaAkg0I+WN6VB\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMCYEkCgH9MLT7MhAAEIQAACEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQGC0BBDoR8ub0iAAAQhAAAIQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQhAYEwJINCP6YWn2RCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB\\nCEAAAhCAAAQgMFoCCPSj5U1pEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAw\\npgQQ6Mf0wtNsCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhAYLQEE+tHypjQI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEBhTAgj0Y3rhaTYEIAABCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCIyWAAL9aHlTGgQgAAEIQAACEIAABCAAAQhAAAIQ\\ngAAEIAABCEAAAhCAAAQgAAEIjCkBBPoxvfA0GwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQhAAAIQgAAERksAgX60vCkNAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAATG\\nlAAC/ZheeJoNAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKjJYBAP1relAYB\\nCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAmNKAIF+TC88zYYABCAAAQhAAAIQ\\ngAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgdESQKAfLW9KgwAEIAABCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIACBMSWAQD+mF55mQwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg\\nAAEIQAACEIDAaAkg0I+WN6VBAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMCY\\nEkCgH9MLT7MhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQGC0BBDoR8ub0iAA\\nAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYEwJINCP6YWn2RCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMFoCCPSj5U1pEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEIAABCAwpgQQ6Mf0wtNsCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE\\nIAABCEAAAhAYLQEE+tHypjQIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEBhT\\nAgj0Y3rhaTYEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCIyWAAL9aHlTGgQg\\nAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIjCkBBPoxvfA0GwIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAERksAgX60vCkNAhCAAAQgAAEIQAACEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAATGlAAC/ZheeJoNAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA\\nBCAAAQhAAAKjJYBAP1relAYBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAmNK\\nAIF+TC88zYYABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgdESQKAfLW9KgwAE\\nIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBMSWAQD+mF55mQwACEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAaAkg0I+WN6VBAAIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgMCYEkCgH9MLT7MhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCA\\nAAQgAAEIQGC0BBDoR8ub0iAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYEwJ\\nINCP6YWn2RCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMFoCCPSj5U1pEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAwpgQQ6Mf0wtNsCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhAYLQEE+tHypjQIQAACEIAABCAAAQhAAAIQgAAEIAAB\\nCEAAAhCAAAQgAAEIQAACEBhTAuUxbTfNhgAEjhuBUkTlSiX8b6vgNKG0BAiMFQH6x1hdbhq7QwLt\\ndsTtu1G6cSuudHROYesvhys6vnWKHZZLMghAAAIQgAAEIHDcCfD747hfYdr3IgToHy9Cj3MhAAEI\\nQAACx4YAAv2xuZQ0BALjTaB8oRKXP3s1orW1QH+5fCmclgCBcSJA/xinq01bd0zgzt1o/9Cn4vw7\\n1+NnllrRmj6/5anlqTNxYRsRf8sMOAgBCEAAAhCAAATGhAC/P8bkQtPM5yJA/3gubJwEAQhAAAIQ\\nOHYEEOiP3SWlQRAYTwIF3c3Kl7e3oC/Lwr7A5B7j+SEZ41bTP8b44tP0iJ6lfIr7echyPt69HuWb\\nt+Ky928nvsvK3tb2z4SSTGAuzOkg9vXPsGEHBCAAAQhAAAJjSYDfH2N52Wn0DgnQP3YIimQQgAAE\\nIACBY04Agf6YX2CaBwEIQAACEIAABMaaQM9SPiTEbwgtubi/e3fDri038nzKA0L8pYtR+qlPRygm\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhDYjgAC/XaEOA4BCEAAAhCAAAQgcHQIDFrM9yzlY9D6\\n3UL73Fy01LI7d25Fy4L9FqHcbMe8RP5nHp5d3rXrmmKldz4W9VtQ5BAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCDwzDtGkEAAAhCAAAQgAAEIQODIEsgt3XOL+c0s5efnovSZT8etbjs+8dprcf367S2b\\nfEUu8H9a89A73hDy8nLLeizqN+BhAwIQgAAEIAABCEAAAhCAAAQgAAEIQAACENhIAIF+Iw+2IAAB\\nCEAAAhCAAASOIoHccv4dWbNrbvknFvM9S/nIBfS8bXZJf/VKtJuNuF6UEbyE+i2Dzm/7nEp1Y7J8\\nAEBuQZ9b1HeVjLnpN7JiCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEHjWSydMIAABCEAAAhCAAAQg\\ncOQI5JbsFuj755bvWcrH5YE54u2KXsdkOr+zpjqfn/x0lK5c2ZhervPbn/zU0wEBeT1evsLc9BtJ\\nsQUBCEAAAhCAAAQgAAEIQAACEIAABCAAAQiIQBkKEIAABCAAAQhAAAIQOLIEcst5u7T3eh5yy/mX\\nJKjLUj5s/f4iwYK+RX4J7xuCy3EZtpjvHxjgunjeeyzpN+BiAwIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAAC404AgX7cPwG0HwIQgAAEIAABCBxlArnFugTx0o/+SIRczSeLdrXJc8wnQd2W8vsVepb1Icv9\\nDeXaJf4P/4gqUcKSfr/Yky8EIAABCEAAAhCAAAQgAAEIQAACEIAABI4gAQT6I3jRqDIEIAABCEAA\\nAhAYewJbWc7bWt4W73thOb8d6NyyvqCEtqR3vWxVnwcs6XMSxBCAAAQgAAEIQAACEIAABCAAAQhA\\nAAIQgIAIINDzMYAABCAAAQhAAAIQOHoEBi3n1YJksa44WdJbpN9Py/lBYrklvVztb6hHXi8s6QeJ\\nsQ0BCEAAAhCAAAQgAAEIQAACEIAABCAAgbEkgEA/lpedRkPg6BNoyyLx1i2JILZMVLhTuhPtea33\\nGS0Oa6XTX795PTr6d/HiRRlYbnPCsEzYB4FDToD+ccgvENV7MQK+79++GzE453yea27Rvsmc84P9\\n4/p1uabvfZfkWQyL0/eH0vp7Y+j3R16uLem9Ppint5mTfhha9h0iAvvWPw5RG6kKBJ6XAP3jeclx\\n3jgQGOwf/D4fh6tOG3dK4Cj1j3q9nppVq9V22jzSQeCFCAz2jz37ff5CteJkCEAAAqMh4FeILxp2\\nmsdW6YYdG9zXv73den58N3F/Wq8P295sX55+J3Gxl/dg2mH7B/fl21YUp7V8oNvt/rhiAgTGjoAf\\n2F577bVw7FC8Uozqz0yneCsYneudaHxiJS7p3+uvvx5XrsgdMQECx4wA/eOYXVCas5GALdT/5KeS\\nAJ4s5XV0g8W6hfkLmnPeIvmQMNg/Bl8IDDkl7cqF+atXr279/dE3gGBDvZRL2la9Sj/16YhNBhBs\\nVj77ITAKAvveP0bRCMqAwD4RoH/sE1iyPRYEBvsHv8+PxWWlEXtE4Cj0DwvzjUYj3nzzzdTq973v\\nfVGtVgOhfo8+BGSzKYHB/rHnv883LZkDEDgeBAqFwp9VS76mZUWLLEOiq6XTi70+bHuzfVvtz/Pa\\nLlaRqcz+dIP7+rfz9eeJ+8/Zan3wmLcdXMfNwlbH+s/Zabr+c56sY0H/BAUrEIDAYSYw+IDmB7hr\\n1649EegrUYmr7VejqH9bBefjc5vtZjrf2w658IJF/Vb0OHZYCdA/DuuVoV57SiAXvt/RwKx3s8FZ\\n0dI9PJ/vPbdgHxC+t+sfO61j/v3h9P7+2fT7I6+Hh2J6vfc9k+pqq3+Ha6q/H+G3GEiQ0vEHAvtM\\nYOT9Y5/bQ/YQ2EsC9I+9pEleoyTQbDaj0+nE+spSyKgjqpMayF4sJqFNL3H3pCrb9Q9+n+8JZjI5\\nogQOon+437u/N5utFHc62buuHKHFdvf/crmS4v5bge8Xi8srsbq+HreWltLxSxLrC7pvVCpZ+jyf\\nwdjnOrjNDq6D/iuPbL3T8Y+ebron+Xh2DyroZ1IxrReL5ZS2nP+mcyLCsSawXf/YaeOdj9/vOmz5\\n+3ynGZIOAhCAwAEQ2Isn853msVW6YccG9/Vvb7eeH99N3J/W68O2N9uXp99JnFvBD6Ydtn9wX76N\\nBf0BdBaKPFgC242orFyVQP9PXg3HW4XmNQnz3/tG2JK+30WxLemxqN+KHMcOMwH6x2G+OtRtzwjk\\nlvMW6O/Kxb3DnCzlL2u6kh/9kcwifYjgvV3/SPns4s/ggK5Nvz/yAQWu9w+rfnZv31/vl69gSb8L\\n7iTdHwIH1j/2pznkCoE9JUD/2FOcZCYCrVYrcbBY7pBvW9ByyPfncS6m58JXStSXLj+e73dskc6f\\n3YWHD+KX/sFnkyj2kd/xe+LkmbPx4Q9/eKg1bF5+LrTl+eX55/XpH8y+Xf/g93lOkXgcCYy6f7jf\\nv/3227G6uqr4WtgafmllOfX/opRyi+wvv3Q1pqen45VXribL+Py1t/v50vJq/MNf/Gdxe2UlfqnY\\njcmJWvzwb/6WuKD0ly5dkKifeSZz2vx+0dJAad+bVlSO72UrOtfbLtuifL3RSdvLy0uKW7G+tpzO\\nLZdrEufLcfbcmXQ/mjt/TnFVP+vmkuHMOH5exq3N2/WP3fLY8e/z3WZMeggcEQK6N2NB//RaZQ/V\\n2Xb/uvcMbm+2Lzt7ePr8WH88LN/+41uul7c8ykEIQAACB0zAD/iea96jIfst5l+0Ws7XD4V58Lbz\\nd+gX7vPjxBA4jAToH4fxqlCnfSNga3lboOdW6LmVRW6xvonl/IF9f+T18pBMr+chb4fr73UCBA6A\\nAN8fBwCdIo8MAfrHkblUh76iFqosZuUW7a1Gtl3ys0G3k/Y77nb9PGCLUj0bSAArFatJO0tv+/Sn\\n6eOKCwUJ+zpe7qXLhfMnIJxWQt3jRw9j4dH9WLl3Mzr6nfv4/m0V09a+h1GbmHiSPL2mVP3anWaq\\nT1fnuiBJcFmaYlafQkmWt1qv6lyPJVhYWIh33nmH3+dPSbIGgURg1N8fbVmv12Zn5SGyHTfX1mJV\\n95xbWq9r/5I6a0eLhwNVJJiX1b+ndLy2uhaV1Nczu7FCoRvL2ndjvR53ZTV/f7Iakzp0U/vavhtI\\ngC+Xn8oHmUjvAUaZpw6L+xbgV1S+29+QWG+BvqHxSK7fsva1vF/18J2lqPWy7mMN/Q6qFVvRXFuN\\nms5vLSxGWfeZsurjOle1XiwWYnJyUre9Qlq0m3CECYy6fxgV73eP8AeGqkNgTAg8/YYdkwbTTAhA\\n4GgRsDjvueYtsHh9v0JezrZzC+9XBcgXAs9BIP/c0j+eAx6nHH0C87Ky+Izmcpclemh9MBya/uF6\\n/qTqKcv/9ic/lVnSD1aWbQiMmMCh6R8jbjfFQWAnBOgfO6FEmq0IJJFKQtdbb70Vy8vL8dWvfCXW\\nV1di4e7N6DbrMdVelnLViObjG9HV1GvdroRxC/OVmSjK/XRl9py2S7EuAast79FrnWJ0Jc6XKxM6\\nXo7JmVNJzK9W5XraAprENAvnFvttBb+yshqF+lK8tPKVlP+b/28jurWZ+NqXfjWKFYn/KbEi/5PI\\ntn7/3eg2VqO8pAHsEutLPq7y2pUpDTKsRevUS1GenI3LH/y2WJJo9xM/8RNx7969uH379lYYXuhY\\n3g/5ff5CGDl5xATyz+1+/z5333vtE38ipk6fjlf/0A9E6ey5WP6m90VHFu+Fj3w0Cr43VLNX/qm7\\nSzTvPrgfXQ8a+tKXdF9oSwR3P7dIr3uB4vWr89HR4J/SzEw0dR/563dvJzG9cu3NJ+me4FSmHsrj\\ne4nvP75fdO0KX/en4ukzUagonvL9Q4N8egOKQnVKQWXrRiXhf033Hd2b3n4nQq71q7qn1OSe/+VW\\nI2Z0zodOn4tTszPx3d/922JaeU1ogJCFesLRJTCq/pGXw/fH0f2sUHMIjBMBBPpxutq0FQJHiMB+\\njazcDIHLyy3q/WPKgZGWm9Fi/0EToH8c9BWg/JES8Euc23JpbxfxXrfluV3bvyRh/qqWPbKcV65x\\nUS/DHTuopLglizXHW4Vtvz/8Ukpu+P0OK9XZL9Dt6t5tcZt8fIhr/q3K5BgEnpcA3x/PS47zxoEA\\n/WMcrvL+tdGW8sm1s77f68uPo1Ffj7X716OueeDbj2XJLoE+FiSAN2VHmgT6esRjP9vYel3rto6v\\nzkRXAn2rJRFN26uNbrQk0K/qkcE2paXalB4bykq+nOJ2LZsbuiuFzHKZ/3ck0rdkCVtqSnBXvoVu\\nK2r1R9LDtL44recoiWRJsdMZPk8CfTxWvRprEcs3kkCfjlsIK8/oOcXW/BLfGiei9XAu1pfX4s7N\\nd+P+g4eqZzb39H5Q3fb5aj8KJU8IPCeBUX9/tCRw315cjJp+R0xrvaLuuqa+3dUAnNqUhGzNN1/U\\nHO8O3XYmptuC3QN46vbkIQv6dDQJ3hrmI2G9fKqWYv8WSp435LI+PA+9zvHPGJmz+2+2rrjj0UPe\\nlpW7hf5uRedLpK9ZqPd89y7f95uTJxSXdf+S9w4l7So//w5q6XyL+02J+d2WLOeVl+42aZnRvey0\\n7mXrsqx/uLiULPCryrN/mg2XTTgaBEbdP/j+OBqfC2oJAQhkBNJ37AvC2GkeW6UbdmxwX//2duv5\\n8d3E/Wm9Pmx7s315+p3EfqIZlm7Y/sF9+bafl/TLKj6gH4E/rpgAgWNHIJ+TKB957AesrcJu57jz\\nXPTDQj53ESMth9Fh32EhQP84LFeCeoyEwODc8/2W80OE7d32j7wNlyXOf3bqTDh2uCFx/gdXH6Y4\\nT7NVvO33h7/HPNAgt6S/o3UPNGAu+q2wcmyPCTxv/3jRamzbP160AM6HwB4QoH/sAcQxzmJdFqBf\\n+LVfi6UHd+KNn//fpKo/ivdOrsZUqRNXZjpy19yNWsFCl+xOJTxZTbcVq2NJXVoyF86tTiFurxcl\\nTEVcrxflqlr6+YpcRiuFBSrPJz1Zk1amuCoBzPpat5vZ3hRSKmlfcmdvEayuQQFVlfktZyoxWSnG\\n7GSlN8+9T5KLai0eWFDoyBe1zi1KDEv1S3XSMQ8a8B4NCmh1i3G/Xo7bS634739B3u0WG/HOI3kB\\nkCtr5zEY+H0+SITt40xgt98fL9I/ShqsXJJb+9N/4A9G7aWXYu5PfTJKsqQv1Gqp57bX1jWgphkN\\nDQR23G6sq3tLDK9n9wXNg6HO3dEAHvV3i+u2dJeoXpo7b7/10fzCF6KwtByT774TpXojpiXS+9dR\\nuSoB3umTUK9+r7ydr8/x+7pHmkLDx86qTkVZu6+dOx/tkyej/r0fj67qWzijOvrc/H7hOnnd1v2+\\nD8l6vqC4rHtOUceKGiAwqeU7f/lfxrwGInzij/xAnFQ+hKNHYLf9Y69ayO+PvSJJPoedAHPQ9x5c\\nswvV/1Dav+6jg9ub7ctyGp4+P9YfD8u3//iW69lT/JZJOAgBCEBgdARGPbJysGWMtBwkwvZhIkD/\\nOExXg7qMjEA+Z3s+93xukW6r9L6w2/7hF039FvNXJMy/rMWxg/++R+v5w7JfoW9lUb/t90deb7+M\\n93reLuaiN27CPhPYbf/Y6+ps2z/2ukDyg8AuCNA/dgGLpJsSsGXqogSqpQd3o7NwK0prj2QJWo8J\\nGZDOTsmqVLrUpMQtyVvJZEO6dqz7j3ZMlLP9dW8rtBQ3JNTbCXVbglVDFrA+VKpk6ZvNTngee2n+\\nKb+C56jXtmT0JNiXdKYFr4YLk4JfLDinTrSlyNuVta3xdfjJAIGaMitq3ufsEUjHk0W+tLeUf1cu\\n75uaw1r1b2vAgco6UyvE2kQpbpZVP+XpPrRfge+P/SJLvntBYNTfH3bx7vngSxqsU5Vb+7KWjoR5\\nW66rC2dCvAVvLUk892Ag71ewRXu6JciCvqA+O5EL9BbN3YdlkW/L+o7E+dA0GUXlWdQgnaKO2x1+\\nsWiPHcrI43Z8A/FG2qF1leM8vb8oQd/npIEAWrcAn/LP7xM+10G/h1J9VE5/0O1O90BN16E82roJ\\n3VVdSlr3vPaEo0Vg1P1jkA7fH4NE2IYABA4jgfyd42GsG3WCAATGkEA+V1BuOX9QCPJ6YEl/UFeA\\ncocRyD+X9I9hdNg37gR22z8u6C30z/RZzPuheL4nzptlftw2ZQ47tajP68H3R8aNv4eDQP655Pvj\\ncFwPanG4CNA/Dtf1OKq1aa6vxVd/5XPR0bzyP3BpLU5In6qUJHCpQWUJ4EnL6ulLlrNXZXz6/72T\\neXX72MuyjFfCL95vxsNWJX559UqsdqvRLk9I22rHLc3N7FMvXphP4lxZbuktmFXkLr8kC/npkIAu\\nEf5kWfM4K54rLqfjVQla9kL/z+5PSrovxaPWVIrrsrjvyr10beVBTBZa8ZtPNzRIwOJ9KWl6yw25\\nyVclVxulVK8LM63QGIN45XQ5Lk4X4vd808m4sdSO+3Kj/2itHcvLyxLzh1vS79X1zPspz1d7RZR8\\n9oJA/rkcxfNVLs5fuHAxyufORem9r8gq/Wys/Nq/kWW6Bv/apbxuJGXPQ1+TgH/pglzWl6Sd9248\\nHiC0sBC1v/N3oqL4st3aC0Ly6yFBfH11VfeHiIcS/FsnTkTjB34g2rJYt0cOi+yde3dl5S7xfXk1\\nifElT9eh88qysvcApaam85BiH4snTkVReTflar+rvJpLFv51r1Ia3wjb8jbitlTUBrvWD9U13SDz\\nC2LdX20pnpjRAKVOvFWaiFUdy+6WeSLio0BglP1jKx55Pfj+2IoSxyAAgYMigEB/UOQpFwIQGEog\\nH+FoF0gHGfJ62CWS1wkQOAwE8s8l/eMwXA3qcNgIbNc/bBG/lcX8YHv8kJy7u/exnVrU5/Xg+2OQ\\nKNsHSSD/XPL9cZBXgbIPKwH6x2G9MkerXl0JSQ3NPR9aZmbbcUKCd5pgWc3wPMs2Gl2zUau2W9qx\\nLLXpft1PFzJcbUqskrbmY7YolUF9mlO6qn2amjlmem/uphTb8Y7tTVM6xbakn5QpvWaf7sVyDa39\\nsoePdYn8ktPicWciGl0J9G0J/orX7BJfYlmtWYspWciudVSZnpW+tbw16W6eXtq/gl1vecZOQn1d\\n9Xfdp+0uX5raRFWeAVqFWPHog9wqVufsR8j7Kc9X+0GXPJ+XQP65HMnzlUfx2Hp+ZjbKs5rXfXJS\\n4ras59X/NDwmuZz3eltpih4w407sc+yWXqGo91pFCe01CfFVuY6v6VzfWjra5ykxOssr6d5Rk1t6\\np23oeFfu7zsW0CXSO12yineZzlsu7j0/fUcDhroW8TUwwKGjuKv3aBbnu7bs1xzzDoVHj9J9oqLy\\n7eq+pDpaoO9Oam56CfKdCbna1/5CLbvDOU1Xixz0p8X3R8LRIjDS/rEFmrwefH9sAYlDEIDAgRHI\\nviUPrHgKhgAEIAABCEAAAhCAwP4TyC3ic9HdD8H9FvPb1SA/35YlDju1qM9S8xcCEIAABCAAgWNN\\noC2R+9E3IhZuRMxJrPKDRk+3tstmi/NfvN+KVQnaD9u1WJHy/qWFU5LVdOzGSpytteNj89WY1Hm/\\npXMzWbX6POverYvZ00exuJAMTS3mW3JLbul7sSINJtQgAZ30Vc0N/6hdjS+Vv0mWpxPJHbZPbMtt\\nvsuzY2m7wF+undG2rO4nvqpU9WioGJd3ylNSayDAKyczy/8bi4WwOP9rtzQ/tZq2uKaSmqV4z7nJ\\nOKGGrUjsq2v+6BYD230ZCBDYewISqiszJzT3vCzbv/O3R1fzu1fOzWnu+VMx/aEPJmF7/e3r0dH8\\n853Hj6ItN/Uri7pfSACvnj4rQV3TX3z961GTNfsliepVieeWwR1KSuMwfSq7aU1L0K9LdP/6m29G\\n5+yZKH/Ht0fRIrrKzAbiSCrXfcLzxTu0FHutpnwd7Jo+DQnQPUf/NdhIdxyJ87W/+T9H+eGjOKu8\\n7Y5/TferthKsT8lKf3YmFj/+PdE9fTqqH/xNUZAL/5SX/jwoNlJdEegTEv5AAAIQgMAxI5B9Cx+z\\nRtEcCEAAAhCAAAQgAIEjTsAveW/flRJ+K5u30CZjc3MRlzT3vNd3GfzQa3H+ap8b+91kkZ/ff85z\\nPUi77m6DfcfeVfvcTrfR89JfUPscEyAAAQhAAAIQOGIENPdyu67vdy3J744iiVAdWZwvSrtfkTD/\\noDkRK+1CLHRqsdYuxWpRFrAStx5q3udiqRXVYj2mZXk/KWfO1r46ysCxlyy0M2HerqolfJW830pY\\nUsMUa3tdfyzDu9x6oartmtze28pWhz1pfR6UabdSS2XUZVVvEa1WtrPrLDsPArBI7zx9Vhpk0Mhc\\n5k/ZxF8ZntJc9B2J/hNKaA8CtlLsKyEviRgCEHhBAgV5uihMyXW9rOdDQn1nZiaJ8s5WXT31b88Z\\nb8v2brJ4z/qyTNWzuef1c6Mot/ZFCfRlCenDfsOkeeOVn4V7i+FdzVXf1RzyBf02KZR0xhY/UXzf\\nGAxP9uleY1f7pQWVLaG+Imt7W/j7fmGBvr1Wj0J9PYoPHmTl+reRgs9329q633mP1wkQgAAEIACB\\n40Zg2HfycWsj7YEABCAAAQhAAAIQOGoE7tyN9g99KuKd65mQPS8rkc98OuLlKzJ9l5B9VIPb8ZNq\\nh9rV/qTal7dT7Sr9lPZbvCdAAAIQgAAEIHCkCHhO+BOFNalKa3ITbVfPmZq0Isvz//udmuaWr8X9\\n6fdGy6K4BCfL6LVJxZ1WvLV8Lxaa65Ll70mFaiXLeDc+2aE6mwFhamBT5yiNFx1wvmsaELAuRaui\\nsjQTdRLvdFTx0zO9PiFX0gX5tP83K6fiTGk9/tiVJbnm11zU7WJya3/tUStZ/j+Wj2mPK6yrjAmp\\nd7/9JbmjVn4TlXbcW5FovzKtuehb8eXbCzoPO1ezJkBgLwkUahMx+ZHfFqUzZ6J4+UoUpiejsy4B\\nvfU4lv/VryaL8+qVS1E6dyomPvT+JKqn8tXlLe4XJYxP/D//IKoPHkocVx/1qJ+++8Fe1vWZvFSO\\n7zcWIMq+70xPaWoO3f9cBwWL9K1mPcq/8IvRPHs2VmRB37VVvwYc2OV9R4MS0l1F6wQIQAACEIDA\\ncSOAQH/crijtgcARJeDRs7du3QrP3eX1wxJcl5HMJ3ZYGkw9DjUB+sehvjxUbo8JlGRVPvfu9Sjd\\nlHW5ggzN4v7lYrQv+2XOnbSv/8+d0p0oXpH7xycOG/uP6h1PRxksat9evTdWdpUrKm2Tl0Wui+v0\\nTH1sfXJZRih6+X1a6yW/8VYb23oqv9+6qe/AbjRv6c364fkq3AiSrcNBwJ+/i3px6c/TDsJ2/WMH\\nWexpkk37x3alqF/QP7aDxHH3C/oHn4NRE1h9oOcVie0l+W5OMrgeV2x13pDZ56NGRW7tq5qrfSI6\\nsmq3YOZQ8Dz1skCv60PrOeL9hJNCb+WpnJ4f6IvzxHnsQ1q363rvynarLltkkgR71WWlU46Jolxh\\na0L7CT2P+Byf5vntvdRUXb889CNUTf2rrG3PVV9RW6uyyj9RLUnA37osnbongd/ne4KRTPaIwMh+\\nn2tQj93bl0+c1NzzNY2OqUVxYiKzbFdvlwQexWolirKeL2luelus58Hzy9v7WKXeiHJdHj56c8Ln\\nx4fGPfE8HetfH5p4Zzt9T/GS3WBU397Nya7yPZd9ZX0tzVsfqmNXXkWi53pfPvjTO0KzbqlthAMk\\nMKbPV/L/EOf0zzEBAhCAwF4TQKDfa6LkBwEIPBcBi/OvvfZaXLt2LQn1z5XJPpyU16uEy+F9oEuW\\nuyWQD2TZ7Xn7lZ7+sV9kydcEruhd0k8vtkL28incjwfx5zt/Ie50sjkJe7ufRK25VtQ+OxNXW68+\\n2de/cvmm3Dn+J6sSw/dGoS9fqMTlv31VFu/DrTnKeqn0F+b+otxIDn/cnu804q+pTfO9Subtu35D\\nVfzEu9G83uivPusQ2ECgcqUal37mJQ0SGd4fNiTWxnb9YzD9fm9v1z82K795o0H/2AwO+58QoH/w\\n/fHkwzDClVO6Hf+JV+txZUYSlMTrlh43FuptubUvxbXypXhcnIiZgizWLUptELyy9K6qRfWuJ2d+\\ngWA30M7jyb8NZT2bsZxNx/32tMT3UjS7C0ngt1AvzT2+5Xz5ybhGC/KrzU6ai/6r95uxpI/Z9YWi\\nrPW78dKJgkT6QnxBzzAytt/XwO+PfcVL5rskMKrf5xbcay+fj/L5uZiwN64TszH1rR/O5obXiJnk\\nAt8u7nV/2SDOu/+vr0dhdTWqy8tRXVmJgs61ZboH8wwL3tu/JEF9WMId7kuDhlJZWa75IKL+0/1r\\n6pTuXfVWK+5/41q0llai+ur7Uh07at+N2zfT+8Lu48f9p7E+YgLj+nw1H3PxY8W/pt/tR9iL34g/\\nKxQHAQjsnMDwN4Y7P5+UEIAABPaEQD4S/rBZq+f12pNGkgkEjhkB+scxu6CHrTmaC7U9fV5WFtlI\\n9Xa0ZDd/N27qRfLQoKfawuXCMxbrmtI1zt3txCW9sNrLB1/n5TntC5qk9f6cLPuHZH5X9d08aK5W\\ntSkPT9onzy3Xrr8dzWuyHCFAYBMCyTODPnTPeGjYJL0//MP6x2bJR7F/6/4xvAbNdpP+MRwNe/sI\\n0D/4/uj7OIxsdXlKFvCvyP10uuFmApe8vseq5pxvFysSuisSzm3nmh17WrGeSJYi/eltPj2+yzWf\\nn+fh2AVuEZxEdv9psXd6G9t6bLpPszV9Ctrw8EY99chFtbQ9LX46m7IH6jTgIHOBnwYfZGfs219+\\nf+wbWjI+zATUz4oTso6fkuW85p8vye17SW7ubUWfW5pv1v+SBb06drG3uG9vG/rF+/71bU98vgSu\\nk93eJz8ia+vR1aL5P3Qjymrrfn/zxo1o3b//fAVw1p4QGNfnK8Pr/92+JzDJBAIQgECPQP64DRAI\\nQAACEIAABCAAAQgcOwIW5//aJ5fi0judJNTvVQPzfG++XIw//5nZuLOJJf1elUc+EIAABCAAAQgc\\ncgIeVJgWTcch5futJVnQS/WuTUzGTEw8cel8uFpRiEZpMuqyml9rdWOt0IlpKfRJFutT8jw8siYr\\n+ao8BfxWTbFii/rvvhqx0ujGv3i7FO8udjXtz+FqGbWBwHEhUFCfLJ05FeWL8zH9nR+VOD8dBYvz\\nErD7uumzzZW43tF0WkUtlXZLU361t07/bA6j2aN2VHRz6Xh00AOL8LrBtD+Qyi6W5bpfCwECEIAA\\nBCBwHAkg0B/Hq0qbIAABCEAAAhCAAAQSAVvQz8utvZe9DHm+tpz3OgECEIAABCAAgfEmYKEsF8ts\\ndNrQo4eXglw0F3vzzh82Qp69OtVavvE7Wle1Mwv8vCF9Fc7198meVjalNJ6PfkKaWtUHh5zTdzqr\\nEIDACxAoyC19UQK2rebT/PM96/Jts/TNyK4x8jACi/i8qF3Fbo8XWcunJT/Z9xXuLTkNYghAAAIQ\\nOGYEEOiP2QWlORCAAAQgAAEIQAACEIAABCAAAQhAAAKjI5A0pKIkbi8uVn+a+uOlIJ/w29i5jq6i\\nw0qyv3oJ7Jbw+mS8YSmzfT2xTFPdR1FLoSSZ38vmZ3AEAhB4EQLW2CVce0nuKySya1cKm7m2f1Kc\\nRG9Pr5EHn/d0K9978HE2V73GB1U0HYiWrJZqp+al90KAAAQgAAEIHEcCCPTH8arSJghAAAIQgAAE\\nIACBRMAW7nY/n89Fv1fW7s7Xc887b68TIAABCEAAAhCAQD8B695eLIgdVlHsiVCnlf71/nYMruft\\nqUszW9Vi41xPF+39BAhAYD8ISKhuNKOzXo/24mJ0JdQXJGLbqr4wUZPhuYYA9YnwG2qgNCHL+ycD\\ncDZLt+Gk0W90dCPpaOBBQa7uvSRr+nSz0Z/DavU/ekyUCAEIQAACx4wArxOP2QWlORCAAAQgAAEI\\nQAACTwlYRPcc8Z6D3nPR75Wr+zxfz0HvdQIEIAABCEAAAuNLIOlIfUK1X7adsxGoHhHaEtYakuqr\\nVQlqhw5RN4pNzVGtualrqlxtK/HOOpnq72VdwvwXbzdiSXPQ31nuxuN1zXXtAwQIQGDPCXSbzahf\\nuxYtifPNd27Lxf1k1F59OUqzszH9zR+K4uREdKenNoj0SbCX945SrRZFLWtyjd+u1mJmz2v34hl2\\nJc6vLq9Ew/PNv/eVKJ0/L5FelvRr7Sf3HEYAvThncoAABCAAgcNHAIH+8F0TagSBsSRQ0ojeK1eu\\naKqpdty6dSvFYwmCRkMAAhCAwJ4S6Leg30tL9zxfW9ATIAABCEAAAhCAgK0/vThY5/bc7BPe7kpk\\n0hJdvYLbSgA/IITyBaThA7LIVZ3T0lcPt8YW8ra+bUqU97ZakgT65UbEcj1CGlrU3bys6TpKgAAE\\n9pKA3b93VlajUK5GqzgRJY2G6bY7yZK+vbqqPqpBNu6AtqgvaVFH7toS3R1aIn1oX0fid7t8OO9B\\ndsHfVN2bei9YmJzUAISJ3r0yb6fvQNxg9vIzRV4QgAAEIHA4CCDQH47rQC0gMPYELl68GK+//npc\\n06jg1157La5fvz72TAAAAQhAAAIQgAAEIAABCEAAAkeAgLSjZm+xmm0d7D0nyzHTLEbx0WPNHS0L\\n18o5iWUSoCya9QXLTgchPVn0K2jgwFR3Tct6TMjiv1rRwMO8MqpmW+t3l9uxJnH+7YVuyNg+Wcq3\\n1MaH6+VYU6NvLLbj4ZpkfmtoBAhAYM8JdDU6pv7GjSifXY/Z3/X+qJw/FzPf9q0SsYux9Ku/Gp16\\nPcqT0xLwdX+ZmkoC9/QH3y+XGDUt1ehIrF89dz6qSt9eW5HHjM4z96E9r/Rghr0bXZprXsfsnt/B\\nru0bui/euXI5GmfPRmgpnzoZXR23ZX13eTlbPFKIAAEIQAACEDhmBBDoj9kFpTkQOKoE+i3ovX5Y\\nguviwQOHqU6HhQ31GD2Bw+Zhgv4x+s/AOJV4RS9qShNnMpOtu3c1h3w3c0/vN95zesHtuC+0Wq24\\nc+dOOB4WWjf1gmf4oWHJt93nvFo3mnoZP9yCvqz6zc/Pq5ob66kK6k33fbWlpTapGL1Ii7m5KF2q\\nxnx5OpqygIkrrbAzXAIENiNQuVKNS6WLUQnN0bmDsF3/2EEWe5pk0/6xTSnNkvoF/WMbShymf/D9\\ncRC94GSaMrmezceuCliCr9qCXpauM1HXt7osWjtNad+yhC1kv3eTlautXnNBPK+4Tx7clx8bjPO0\\njh0c96+nnZv/cdKanjq8tPQI0tBjzRMdTActxNe1NLTYhb0XW8s3vb8pS3oti422XN2307HNS9qb\\nI/z+2BuO5LI3BEb2+1ydsi2hOs3Pvr4Whfq6rOf1Q0KDfTora0mgMmbZSQAAQABJREFU932lYBfx\\nmpO+q98Tnq++4EE47tDqrC25wC/6vLVVebvQ/oGBQjmRXEC3+J8t+Q0lT7ExdvphoT9/W8h7kEBb\\ni2bFCP866lY0Ikj7fayh30vNs+eifeZMlOTaXi/gntzKCvKy6fQvyeNm98SJYUWxb0QExvX5aj70\\nWz19CkcEmmIgAIGxIjDwxnCs2k5jIQABCGxLILfst/t9AgQOmoA9SxwmDxP0j4P+RBzv8v3q+qJe\\nNJVuaNqTT34qzt25leaQb7+sQVM/9aMRly5uAHD9rvrHD27hgaVT0ryNp3RO9lJ8w8nPsdG63Ywb\\nP3gtrhX1lnpI8PfGX339b6XpWzYcvp+1p/TOgzh3Vy/M5tWez3w65tWuH7tgJ7N66f263nYPz3ZD\\nVmyMMQF9jCsX9QJz+PiQZ8Bs2z+eOWN/d2zaP7Yr9jL9YztEHBcB+gcfgwMgsKzv91/8sU/FwtLt\\npK3bq7QFqplyJ77v5O140KzE55Y7sdypxFphSqKUnnEmaxLQOrJmbUlE0yLhKklhw/Wu4a3K0/Zi\\n56HM9aeQ/VMdLIINC95dkbn/xerjmC2sx41HjbirDB6sF5I1vIW3ktKcnOhGTW8Pv+NSOVnUf/l+\\nKxbl2v7NR0or//a/cn05FjQp/foITOj5/THsSrLvoAiM6vd5t9mI+pv/Lto3Nc98TZ38zFn1ubUI\\nWcu7fxer5SieOhHFqcmYes9V4SjE6jfeDs9dX9RgYt9nSh/6ULSXlqL+i78QXVnc1+RGvl9ET+vq\\n8y2d44GdzqsoUX+z+0fXI3osznsAQC7S+6bidcXdSiY5OF+L8Y8+IIv++6fj8Ve+lu5N7fe/FF25\\ns++cPhPdmekoffRbozw9HTE7+6RefsydaTTivKzq/8pnPxvzMzMHdakp1wTG9PlK39ZxLuTdgQAB\\nCEBgHwgg0O8DVLKEAASODwGP0PdL5KtX/SOHAIGDJ3CYvDnQPw7+8zA2NdC92Nbm87KCj3JB6/Nq\\n+qUNzW+2m9G53onmNYnbQ8JaoRM3pvQiqfeO2g/B83o5vtOHYRu735EbWMcON/RSau26LeiHK+kd\\nvfCeb8+rlhvraVO09k1Vwm1xUNviskT6y1fCrUqBMWE5CeI9IrBd/9ijYnaczab9Y7sc1F2C/rEd\\nJY7vkgD9Y5fASD6UwMKkrVclNhVtSq8kWhyVJHifqcqdtP6draxHTdagqxpd1ZWnIFvTF/R8Uim3\\n4kSpLfG7myzVWz2B3ccldUkAk+blLG3Qqlhn6Z//pqNpiumsLCctRFXpqjpk0V/DmlQnDehSKHrU\\nQH+QBW5RLoFOqvzZQivp+n6q8ROKY7uz9ymT2lHsPbakHPTHmyvtQiyriCWZ16/IpH4zS1ol3bPA\\n7489Q0lGe0RgJL/PdW/oNuqpj3Yea8oMu3+XRb3nnC+dOhUFW6PbK5fF8Kb6svp/V3PTdxsS24vl\\nJHgXKrJgl8v7dW13dTOx+C3pPrup+LyS99uLRjEado3fs2IPlyORPM1xr4yTRb7OdTkuqKCBOXZF\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\nU92lsQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAg0JTAcVOt1VgCBAi8Eri5uUlXV1cpplGeHT1LN6d5/uhVhQWTqH/5\\nncv0Iv87OztLR0crdlhwHKsJ1CwwjI/Ly8u7WFnW7ll85LoRF+JjmZRtLQuIj5Z7T9u3LSA+ti3s\\n+C0LiI+We0/bty0wjA/vz7ct7vgtCYiPlnpLWx9aYBgf/n710D3gfAQI7FLgYAMnLz3Gsnrztg3X\\n9ZdXzXfb15n268b8vOVF67r6JdP41IJ59eatH67rliOj+FZ+ffn29vbreaoQmJxA/ML25MmTFNMo\\nh+eH6Y1vvDWbLsN4cfkiffLVj9Oj/O/p06fp/Px8WXXbCDQpMIyP4RueRRfVJeYfP34sPhYhWd+8\\ngPhovgtdwBYFxMcWcR26eQHx0XwXuoAtCgzjw/vzLWI7dHMC4qO5LtPgBxQYxoe/Xz0gvlPthcDB\\nwcHX8oV8K78+zq8YyXibXy9eTWN+3vKidcvWd8daNc2nnJ2zX2+4rr/czd9n2t9n2fxwWyxHiTYu\\nKsu29fcprdff527eCPo7CjMECNQsMPwFLX6Bu7i4uEvQn6ST9Pjmw3SY/y0rcZzY9/rmerZ/LEfp\\nEpNG1C/Ts61WgVXxUdruLj6ifsSX+CiVU69mAfFRc+9o264FxMeue8D5axYQHzX3jrbtWmBVfHh/\\nvusecv5dCoiPXeo7d+0Cq+KjtP1xnPj7bhR/vypVU48AgdoEuhHhY9pVeoxl9eZtG67rL6+a77av\\nM+3Xjfl5y4vWdfVLpt0o+GHdeeuH67plI+jH3LH2bVJg1ROVJ49zgv6bH6aYLivXFzkx/5VvpxhJ\\n3/8I7xhJb0T9MjnbahZYFR/rtn34wIr4WFdQ/ZoExEdNvaEttQmIj9p6RHtqEhAfNfWGttQmsCo+\\nvD+vrce05yEFxMdDajtXawKr4mPd6/H3q3XF1N83ASPoXxsF3x/N3p+Pbh8uL1rX3SLz6nfb+tPS\\nev197uaNoL+jMEOAQI0C3ZOV8TRkf8T82Lb2n7SMY8VyHD9KP3E/W+E/BCoVEB+VdoxmVSEgPqro\\nBo2oVEB8VNoxmlWFgPioohs0olIB8VFpx2hWFQLio4pu0IhKBcRHpR2jWQQI7FQgRnGPLaXHWFZv\\n3rbhuv7yqvlu+zrTft2Yn7e8aF1Xv2TajYIf1p23friuWzaCfuxda/9mBLonKyN5fnV1dfeR28ML\\nWPcJ/RhJ3y/dE5e+e7uvYr52gdL4GHsd4mOsoP13ISA+dqHunK0IiI9Weko7dyEgPnah7pytCJTG\\nh/fnrfSodm5SQHxsUtOx9k2gND7GXre/X40VtH9rAkbQvzYyvj+avT8f3TpcXrSuuwXm1e+29ael\\n9fr73M0bQX9HYYYAgZoEtvVk5aJrjPPFL4tRjKRfpGR9LQLio5ae0I4aBcRHjb2iTbUIiI9aekI7\\nahQQHzX2ijbVIiA+aukJ7ahRQHzU2CvaVIuA+KilJ7SDAIEaBboR4WPaVnqMZfXmbRuu6y+vmu+2\\nrzPt1435ecuL1nX1S6bdKPhh3Xnrh+u6ZSPox9yx9m1CYN0nK8c+od+heNKykzCtWWDd+NjUtYiP\\nTUk6zjYFxMc2dR27dQHx0XoPav82BcTHNnUdu3WBdePD+/PWe1z71xEQH+toqTs1gXXjY1M+/n61\\nKUnHqV3ACPrXRsb3R7P356Mbh8uL1nVdPq9+t60/La3X3+du3gj6OwozBAjUIPDQT1YOrznOH788\\nRjGSfqhjedcC4mPXPeD8NQuIj5p7R9t2LSA+dt0Dzl+zgPiouXe0bdcC4mPXPeD8NQuIj5p7R9t2\\nLSA+dt0Dzk+AQAsC3YjwMW0tPcayevO2Ddf1l1fNd9vXmfbrxvy85UXruvol024U/LDuvPXDdd2y\\nEfRj7lj7Vi1w3ycrN/WEfofjSctOwrQmgfvGx6avQXxsWtTxNiEgPjah6Bj7KiA+9rVnXdcmBMTH\\nJhQdY18F7hsf3p/v6x3huvoC4qOvYZ7A6wL3jY/XjzJ+yd+vxhs6Qt0CRtC/NjK+P5q9Px+dOFxe\\ntK7r8Hn1u239aWm9/j5380bQ31GYIUCgBoF4wjJ+iYvXLkvXjvhFLuYVAjUIdPel+KihN7ShNgHx\\nUVuPaE9NAuKjpt7QltoExEdtPaI9NQmIj5p6Q1tqExAftfWI9tQkID5q6g1tIUCgVoEYka0QIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECWxaQoN8ysMMTIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIEQkKB3HxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgQcQ8B30\\nD4DsFAQIrBaI7ya6urqaffd8zNdSuu9MqqU92rFnAkcpnZydpJSnJeXZ0bN0eH6YTvK/Gkq0Jdq0\\ndntyiF9fXadUT6jXwKkNQwHxMRSxTOCHAuLjhxbmCAwFxMdQxDKBewtcXl4m78/vzWfHPRcQH3ve\\nwS7vdYGJ/n51lP9g97n8L6YKAQIENi1wsIEDlh5jWb1524br+sur5rvt60z7dWN+3vKidV39kml8\\nasG8evPWD9d1y/ET4a38+vLt7e3X81Qh0LxAvLF58uRJuri4mCXq1/0jwMnjk/T4mx+mmC4r1xfX\\n6eIr304xLSlHR0fp7OwsxVQhsGmBk/M30qNvfCnFtKQ8f/48PXv2LMW0hnJ8fJxOT09TTNcp15ef\\npO989fdSTBUCiwTEh/hYdG9Ynx/u8vPDbUBgoYD48PNj4c1hw9oC8b48HqT3/nxtOjtMQEB8TKCT\\nXeKdwFR/vzpNX0i/dfibKaYKgRoFDg4Ovpbb9a38+ji/YijUbX69eDWN+XnLi9YtW98da9U0n3J2\\nzn694br+cjd/n2l/n2Xzw22xHCXauKgs29bfp7Ref5+7+fX+on63mxkCBAhsViDe2ESSPl41la5d\\nNbVJW/ZHYDby/Oa4fAR6/ql98MFBef0HoPoofbT2Wa5v8oMyl79b/KDM2ieww14IiI+yB8n2orNd\\nxNoC4kN8rH3TTGgH8SE+JnS7T+5SvT+fXJe74DUExMcaWKquLTDV368C6ibVMUhm7U6zAwEC1QvE\\niGyFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2LKABP2WgR2eAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAiEgAS9+4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCDyAgAT9AyA7BQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQkKB3DxAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgQcQkKB/AGSnIEBgtcDR0VE6Pz+fvWJeIUCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQILBvAhL0+9ajrodAowJnZ2fp6dOns1fMKwQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgT2TeB43y7I9RAg0KZAN4L+5uYm1TSCPtoSDwzU1KY2e1ir5wmcnL+RHh2dpZP0\\nxrzNP7Lu+fPn6dmzZymmNZTj4+N0enqaYrpOuT76JKXz5+k65alCYIGA+BAfC24Nq7OA+BAfAmGx\\ngPgQH4vvDlvWFYj351dXVymmNRTvz2voBW3oBMRHJ2E6BYGp/n51mr6QjtJ6f/Oawv3gGgkQ2IyA\\n/7tsxtFRCBDYU4FuZH98/L5CYOMC+dscTs5OUir8PJvLjy7Tk198ki4vLzfelPscMOLiN57+9uyr\\nKdba/4OUrp9ep1TH3/nWarrKDyggPh4Q26maExAfzXWZBj+ggPh4QGyn2neBeN/x5Ek97z+8P9/3\\nO66t6xMfbfWX1o4UmOjvV0c5Pf+59P5IPLsTIEBgvoAE/XwXawkQIDATiCf0Iwn5+PFjIgR2LnB9\\nc51eXL5I1xc5uV1BeZFepNOb0/Qo/1ur5Dd2yTMva5GpvFpAfKw2UmO6AuJjun3vylcLiI/VRmpM\\nW6CmT5Pz/nza92KNVy8+auwVbapBYG9+v6oBUxsIENhbgcIxe3t7/S6MAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAg8iIAR9A/C7CQECJQKdE/E7/q7vKId8fF5MXq+pieiSx3V208B8bGf\\n/eqqNiMgPjbj6Cj7KSA+9rNfXdVmBMTHZhwdZT8FxMd+9qur2oyA+NiMo6Psp4D42M9+dVUECGxW\\n4GADhys9xrJ687YN1/WXV81329eZ9uvG/LzlReu6+iXT+NSCefXmrR+u65bjw4Hfyq8v397efj1P\\nFQJ7I9Al5i8uLtb6rruTxyfp8Tc/TDFdVuKjwS++8u2VHxEeifmnT5/OPto+EvXxi6VCYNcC942P\\nTbdbfGxa1PE2ISA+NqHoGPsqID72tWdd1yYExMcmFB1jXwXuGx/en+/rHeG6+gLio69hnsDrAveN\\nj9ePMn7J36/GGzpC3QIHBwdfyy38Vn59nF83+XWbXy9eTWN+3vKidcvWd8daNc2nnJ2zX2+4rr/c\\nzd9n2t9n2fxwWyxHiTYuKsu29fcprdff527eCPo7CjMECNQg0D1hGW3pvvf96uoqxS92D1Hi/JGQ\\nj3PHK36RUwjUIiA+aukJ7ahRQHzU2CvaVIuA+KilJ7SjRgHxUWOvaFMtAuKjlp7QjhoFxEeNvaJN\\ntQiIj1p6QjsIEKhZoBsRPqaNpcdYVm/etuG6/vKq+W77OtN+3Zift7xoXVe/ZNqNgh/Wnbd+uK5b\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 28,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Changing Code** I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Inform the Driving Agent\\n\",\n    \"\\n\",\n    \"### QUESTIONS:\\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States:\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\\n\",\n    \"<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Total number of states**: 4^4 * 2 = 512 states.\\n\",\n    \"\\n\",\n    \"The minimum 'deadline' is `minimum distance` x 5 = 4 x \\n\",\n    \"5 = 20 and the maximum is 12 x 5 = 60. \\n\",\n    \"\\n\",\n    \"If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means **each state will be visited an average of** 20 turns x 100 trials / 512 states i.e. about **4 times**. This is **reasonable but is still quite low**.\\n\",\n    \"\\n\",\n    \"This low number is **why I did not include further state attributes** I considered (see boloew) because that would only reduce the number of visits to each state even further.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States that I considered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Implement a Q-Learning Driving Agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Q-learning algorithm** The crux of the Q-learning algorithm is \\n\",\n    \"<pre>\\n\",\n    \"new_q = old_q*(1 - self.alpha) + self.alpha*(reward + self.gamma * max_state2_q)\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"in the `learn_q` function in `agent.py`.\\n\",\n    \"\\n\",\n    \"**Choosing actions** The agent chooses the best action to take by choosing the action with the maximum Q-value for the corresponding state. It chooses a random action if there are multiple actions where the resulting Q-value = maxQ.\\n\",\n    \"\\n\",\n    \"**Exploration** The agent also chooses a random action with probability epsilon. This allows it to escape if it 'gets stuck' in some suboptimal local optima.\\n\",\n    \"\\n\",\n    \"**Decaying learning rate (1/t)** The initial learning rate is high at Alpha=1 so the agent learns quickly. As time goes on, the agent becomes more confident with what it's learned and is less persuaded by new information.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent is **more likely to take actions corresponding to `next_waypoint`** when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that **maximise total expected reward**.\\n\",\n    \"\\n\",\n    \"The agent is **less likely to take actions tha result in penalties** (crashing into cars, making illegal moves or making moves that are legal but are not equal to `next_waypoint` so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.\\n\",\n    \"\\n\",\n    \"The agent **reaches the destination more frequently**: after implementing Q-learning, it reaches the destination in time over 80% of the time, whereas while it was moving randomly it reached the destination in time less than 10% of the time. The agent does not just move randomly in loops any more. \\n\",\n    \"\\n\",\n    \"As the agent **gains experience**, it is less likely to go around in loops or get penalised for going against traffic rules or crashing into other cars.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Notes: Debugging 'Implementing a Q-Learning Driving Agent'\\n\",\n    \"1. I realised the agent wasn't acting because the `count` variable was defined wrongly: \\n\",\n    \"    - `count` was used to see there were multiple actions with `q-value = maxQ` for that state. \\n\",\n    \"    - If `count` > 1, we would randomly choose one action out of the set of actions where `q-value = maxQ`.\\n\",\n    \"    - `count` was wrongly defined as `len([maxq])`, which is always equal to one since it is an array with a float in it.\\n\",\n    \"    - It should've been `len([i in q if q[i] == max_q])` instead.\\n\",\n    \"    - Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.\\n\",\n    \"    - This meant the agent often chose `None`.\\n\",\n    \"2. I'd forgotten to incorporate `next_waypoint` into my state. Pretty silly.\\n\",\n    \"3. I wanted to print results after every turn for debugging purposes and put `self.results` in TrafficLight instead of Environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Improve the Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.1 Planning\\n\",\n    \"\\n\",\n    \"**Procedure**:\\n\",\n    \"1. Run each configuration 50 times (50 sets of 100 trials)\\n\",\n    \"2. Write metrics into separate file\\n\",\n    \"3. Convert to summary statistics over 50 sets\\n\",\n    \"4. Observe statistics\\n\",\n    \"4. Alter list of configurations as appropriate and repeat until satisfied\\n\",\n    \"\\n\",\n    \"The **metrics considered** were\\n\",\n    \"- **Total number of successful outcomes** (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates **inefficiency**.\\n\",\n    \"    - **Average buffer** (Time left / Initial deadline) -> Indicates how efficient the driving agent was.\\n\",\n    \"\\n\",\n    \"- **Average number of incorrect actions per trial** (penalties of -1.0) because this indicates an action was **unsafe**.\\n\",\n    \"\\n\",\n    \"The parameters considered were\\n\",\n    \"- Exploration rate Epsilon (epsilon)\\n\",\n    \"- Discount rate Gamma (gamma)\\n\",\n    \"- Learning rate Alpha (alpha) \\n\",\n    \"- Default Q value (if one did not exist before (default_q)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.2 Optimising\\n\",\n    \"\\n\",\n    \"#### 4.2.1 Optimising for Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.20</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>87.78</td><td>0.5179</td><td>1.0810</td></tr>\\n\",\n    \"<tr><td>0.10</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>94.20</td><td>0.5709</td><td>0.5732</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>98.36</td><td>0.5829</td><td>0.1926</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.\\n\",\n    \"\\n\",\n    \"**Interpretation** This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.\\n\",\n    \"\\n\",\n    \"**Next actions** For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.\\n\",\n    \"\\n\",\n    \"Once we have chosen our gamma and alpha, we will optimise for epsilon.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.2 Optimising for Gamma (and Alpha)\\n\",\n    \"\\n\",\n    \"Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/t'</td><td>0.0</td><td>94.02</td><td>0.5573</td><td>0.3822</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/t'</td><td>0.0</td><td>75.30</td><td>0.5399</td><td>0.6030</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations** \\n\",\n    \"* It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. \\n\",\n    \"* The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. \\n\",\n    \"* Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.\\n\",\n    \"\\n\",\n    \"**Next actions** This motivates us to try more Gamma values in the range (0,0.5).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.3 Pre-emptive checking for robustness\\n\",\n    \"\\n\",\n    \"We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>93.76</td><td>0.5539</td><td>0.3888</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>69.60</td><td>0.5312</td><td>0.7028</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** The **trend differences** were that average penalties continued to decrease as Gamma was increased up to 0.50. \\n\",\n    \"\\n\",\n    \"**Decision-making and next actions** The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was **not worthwhile to experiment with increasing Gamma beyond 0.25**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.4 Continue optimising for Gamma\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Alpha = '1.0/t'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Alpha = '1.0/(t^0.5)'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for **setting Gammma to be around 0.1**.\\n\",\n    \"\\n\",\n    \"For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that **setting Gamma to be around 0.01** would be appropriate because an increase in successes of 0.3 trials (per 100) is more important than decreasing average penalty by 0.008 per trial.\\n\",\n    \"\\n\",\n    \"**Next Actions**: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.\\n\",\n    \"\\n\",\n    \"We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.5 Optimising for Alpha\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.72</td><td>0.5761</td><td>0.3618</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5722</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.84</td><td>0.5713</td><td>0.3718</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>        0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.001)'</td><td>0.0</td><td>97.72</td><td>0.5733</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5723</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.98</td><td>0.5682</td><td>0.3638</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.80</td><td>0.5707</td><td>0.3788</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/t'</td><td>        0.0</td><td>98.10</td><td>0.5747</td><td>0.3604</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.80</td><td>0.5653</td><td>0.3730</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>97.60</td><td>0.5724</td><td>0.3606</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.88</td><td>0.5694</td><td>0.3632</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/t'</td><td>        0.0</td><td>97.12</td><td>0.5685</td><td>0.3834</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAkAAAAFDCAYAAADS5rEFAAAgAElEQVR4Xu2dB5gUxfa3D0jOOUqQ\\nLBhQQVS4iIKAgOSgEhXJyUAUjKggoCTJiAgoICAZBQQVkSiIcEEkCYKI5CRI3O/51f16/7PLzu6c\\n6p7d2Z1fPc99vOz2qa56q3f6nVNV3ckiIiKGCwsJkAAJkAAJkAAJhBGBZBERERFh1F92lQRIgARI\\ngARIgASEAsSLgARIgARIgARIIOwIUIDCbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrsh\\nZ4dJgARIgARIgAQoQLwGSIAESIAESIAEwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7\\nAhSgsBtydpgESIAESIAESIACxGuABEiABEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIg\\nARIggbAjQAEKuyFnh0mABEiABEiABChAvAZIgARIgARIgATCjgAFKOyGnB0mARIgARIgARKgAPEa\\nIAESIAESIAESCDsCFKCwG3J2mARIgARIgARIgALEa4AESIAESIAESCDsCFCAwm7I2WESIAESIAES\\nIAEKEK8BEiABEiABEiCBsCNAAQq7IWeHSYAESIAESIAEKEC8BkiABEiABEiABMKOAAUo7IacHSYB\\nEiABEiABEqAA8RogARIgARIgARIIOwIUoLAbcnaYBEiABEiABEiAAsRrgARIgARIgARIIOwIUIDC\\nbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrshZ4dJgARIgARIgAQoQLwGSIAESIAESIAE\\nwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7AhSgsBtydpgESIAESIAESIACxGuABEiA\\nBEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIgARIggbAjQAEKuyFnh0mABEiABEiABChA\\nvAYSFYHvvvtOvvrqK9m3b59cunRJMmfOLPfcc480bdpUihUr5mlfLl++LG3btpUuXbpIxYoVXddt\\nU9/s2bPlhx9+kI8++sj1+bUV3Lx5U1q0aCElSpSQN99885bwzZs3y6uvvipoY7Zs2VTVT548Wdat\\nWydTpkxRxYXawQcPHpR27drJmDFjDKfYyj///CNLly414/nXX38J/p0lSxYpUKCAVK5cWerUqRNq\\n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\\n6jAuMT0HKBABQjzOh2OR+cE2eggImIGfPwFC1gVZPqyvgdhhGgzZK2TD8MwmrQCBAdb7QOKwlR47\\ntiCu2NmFnXXgHNerMLBTD0IOLhB3jAseiggxx9Z/7LjDv922PT4EyHZcgvvpwNpJQEeAAqTjxaMT\\nEQEIEF7n4Kw7SURNd91UTO9hPQ0yW3gAINbs4Hk1WJiNaShMDcW2oNymAY4A+Xtat02djCEBEiCB\\nYBGgAAWLLOtNcAJJ5YWbNiCx5gZrYJDtiF6QacA0IjIXXpa4Fnl7eS7WRQIkQAJuCVCA3BJkfMgS\\nCGcBwm45TLlg+zamjbAQGVMreL4Oprqws0r7zrS4BpoCFBch/p4ESCCUCFCAQmk02BZPCYSzAGG9\\nDBaqYu0MXmWB9SZ4jg1eu4H1Us4TsL0ETgHykibrIgESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5\\nIWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiABEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsn\\nARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIg\\nARIgARIINgEKULAJs34SIAESIAESIIGQI0ABCrkhYYNIgARIgARIgASCTYACFGzCrJ8ESIAESIAE\\nSCDkCFCAQm5I2CASIAESIAESIIFgE6AABZsw6ycBEiABEiABEgg5AhSgkBsSNogESIAESIAESCDY\\nBChAwSbM+kmABEiABEiABEKOAAUo5IaEDSIBEiABEiABEgg2AQpQsAmzfhIgARIgARIggZAjQAEK\\nuSFhg0iABEiABEiABIJNgAIUbMKsnwRIgARIgARIIOQIUIBCbkjYIBIgARIgARIggWAToAAFmzDr\\nJwESIAESIAESCDkCFKCQGxI2iARIgARIgARIINgEKEDBJsz6SYAESIAESIAEQo4ABSjkhoQNIgES\\nIAESIAESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5IWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiA\\nBEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsnARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg\\n2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIgARIgARIINgEKULAJs34SIAESIAESIIGQI0AB\\n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\\nJB0C/w89EjM+/RL7LQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 29,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Image(filename='img/heatmap-alpha-gamma.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(Alpha=0.01 was doing so well I decided to try Alpha=0.001. The heat map is not continuous which seems strange.)\\n\",\n    \"\\n\",\n    \"For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.\\n\",\n    \"* Pick exp=0.25\\n\",\n    \"\\n\",\n    \"For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.\\n\",\n    \"* Pick exp=0.01\\n\",\n    \"\\n\",\n    \"For Gamma=0.2, \\n\",\n    \"* Pick exp=0.75\\n\",\n    \"\\n\",\n    \"**Overall**: pick Gamma=0.1, Alpha=1/(t^0.01).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.6 Optimising Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.000</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.70</td><td>0.5861</td><td>0.1706</td></tr>\\n\",\n    \"<tr><td>0.000001</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.90</td><td>0.5885</td><td>0.1728</td></tr>\\n\",\n    \"<tr><td>0.000005</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.96</td><td>0.5869</td><td>0.1686</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>0.001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.98</td><td>0.5963</td><td>0.1692</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.66</td><td>0.5884</td><td>0.2058</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose epsilon = 0.00001.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.7 Optimising default Q-value\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.5</td><td>98.66</td><td>0.5889</td><td>0.1760</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>1.0</td><td>98.88</td><td>0.5886</td><td>0.1844</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.0</td><td>99.12</td><td>0.5912</td><td>0.1848</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.5</td><td>98.48</td><td>0.5827</td><td>0.1974</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"successes        98.480000\\n\",\n    \" avg_buffer        0.582687\\n\",\n    \" avg_penalties     0.197400\\n\",\n    \"\\n\",\n    \"A default Q-value of 0.0 has the best performance, though a default Q-value of 2.0 interestingly comes very close. For more robust results, I would try smaller increments of Q with larger 100-trial sets.\\n\",\n    \"\\n\",\n    \"It seems that *moderate optimism in the face of uncertainty* is a less optimal assumption here. \\n\",\n    \"\\n\",\n    \"(Note: I only tested different Q-values on this particular set of epsilon, gamma and alpha values. It is possible higher Q-values will work better for other epsilon, gamma and alpha.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"Parameters chosen:\\n\",\n    \"<table>\\n\",\n    \"<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\\n\",\n    \"<tr><td>0.00001</td><td>0.1</td><td>1/(t^0.01)</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Discussion: How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"- An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.\\n\",\n    \"- It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)\\n\",\n    \"- It would maxmise net reward and thus likely incur close to zero -1.0 penalties.\\n\",\n    \"\\n\",\n    \"#### Comparing our driving agent to the optimal policy\\n\",\n    \"<table>\\n\",\n    \"<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\\n\",\n    \"<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"* Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.\\n\",\n    \"\\n\",\n    \"* As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.\\n\",\n    \"\\n\",\n    \"* There are still a significant number of penalties occurring (violations of traffic rules or crashing). This is suboptimal.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Penalties that occurred in the last 10 trials in a set:**\\n\",\n    \"\\n\",\n    \"Trial 94:\\n\",\n    \"\\n\",\n    \"* next_waypoint:  forward\\n\",\n    \"* q:  [0.0, 0.0, 0.0, 0.0]\\n\",\n    \"* max_q:  0.0\\n\",\n    \"* action:  forward\\n\",\n    \"* LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'},             action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"Trial 99:\\n\",\n    \"* next_waypoint:  forward\\n\",\n    \"* q:  [0.0, 0.0, 0.0, -0.48971014879346336]\\n\",\n    \"* max_q:  0.0\\n\",\n    \"* action:  forward\\n\",\n    \"* LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None},             action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"The penalties occur because the agent has had little (99) or no (94) previous experience in this state. These are usually states where `oncoming`, `right`, or `left` are not blank.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We then conclude that **our policy is efficient but not nearly as safe as it could be**.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/README.md",
    "content": "# Project 4: Reinforcement Learning\n## Train a Smartcab How to Drive\n\n### Install\n\nThis project requires **Python 2.7** with the [pygame](https://www.pygame.org/wiki/GettingStarted\n) library installed\n\n### Code\n\nTemplate code is provided in the `smartcab/agent.py` python file. Additional supporting python code can be found in `smartcab/enviroment.py`, `smartcab/planner.py`, and `smartcab/simulator.py`. Supporting images for the graphical user interface can be found in the `images` folder. While some code has already been implemented to get you started, you will need to implement additional functionality for the `LearningAgent` class in `agent.py` when requested to successfully complete the project. \n\n### Run\n\nIn a terminal or command window, navigate to the top-level project directory `smartcab/` (that contains this README) and run one of the following commands:\n\n```python smartcab/agent.py```  \n```python -m smartcab.agent```\n\nThis will run the `agent.py` file and execute your agent code.\n"
  },
  {
    "path": "p4-smartcab/old-versions-of-reports/.ipynb_checkpoints/Smartcab Report-Copy1-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Outline\\n\",\n    \"You will \\n\",\n    \"1. first investigate the environment the agent operates in by constructing a very basic driving implementation. Once your agent is successful at operating within the environment, you will then \\n\",\n    \"2. identify each possible state the agent can be in when considering such things as traffic lights and oncoming traffic at each intersection. With states identified, you will then \\n\",\n    \"3. implement a Q-Learning algorithm for the self-driving agent to guide the agent towards its destination within the allotted time. Finally, you will \\n\",\n    \"4. improve upon the Q-Learning algorithm to find the best configuration of learning and exploration factors to ensure the self-driving agent is reaching its destinations with consistently positive results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Definitions\\n\",\n    \"### Environment\\n\",\n    \"The smartcab operates in an ideal, grid-like city (similar to New York City), with roads going in the North-South and East-West directions. Other vehicles will certainly be present on the road, but there will be no pedestrians to be concerned with. At each intersection there is a traffic light that either allows traffic in the North-South direction or the East-West direction. U.S. Right-of-Way rules apply:\\n\",\n    \"\\n\",\n    \"On a green light, a left turn is permitted if there is no oncoming traffic making a right turn or coming straight through the intersection.\\n\",\n    \"On a red light, a right turn is permitted if no oncoming traffic is approaching from your left through the intersection. To understand how to correctly yield to oncoming traffic when turning left, you may refer to this official drivers’ education video, or this passionate exposition.\\n\",\n    \"\\n\",\n    \"### Inputs and Outputs\\n\",\n    \"Assume that the smartcab is assigned a route plan based on the passengers’ starting location and destination. The route is split at each intersection into waypoints, and you may assume that the smartcab, at any instant, is at some intersection in the world. Therefore, the next waypoint to the destination, assuming the destination has not already been reached, is one intersection away in one direction (North, South, East, or West). \\n\",\n    \"The smartcab has only an egocentric view of the intersection it is at: **It can determine** (sensor) \\n\",\n    \"- the state of the traffic light for its direction of movement, and \\n\",\n    \"- whether there is a vehicle at the intersection for each of the oncoming directions. \\n\",\n    \"For each **action**, the smartcab may either \\n\",\n    \"- idle at the intersection, or \\n\",\n    \"- drive to the next intersection to the left, right, or ahead of it. \\n\",\n    \"Finally, each trip has a **time to reach the destination** which decreases for each action taken (the passengers want to get there quickly). \\n\",\n    \"- If the allotted time becomes zero before reaching the destination, the trip has failed.\\n\",\n    \"\\n\",\n    \"### Rewards and Goal\\n\",\n    \"**Rewards**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a reward for each successfully completed trip, and also receives \\n\",\n    \"- a smaller reward for each action it executes successfully that obeys traffic rules. \\n\",\n    \"\\n\",\n    \"**Penalties**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a small penalty for any incorrect action, and \\n\",\n    \"- a larger penalty for any action that violates traffic rules or causes an accident with another vehicle. \\n\",\n    \"\\n\",\n    \"Based on the rewards and penalties the smartcab receives, the self-driving agent implementation should learn an optimal policy for driving on the city roads while obeying traffic rules, avoiding accidents, and reaching passengers’ destinations in the allotted time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Tasks\\n\",\n    \"### 1. Implement a Basic Driving Agent\\n\",\n    \"To begin, your only task is to **get the smartcab to move around in the environment**. At this point, you will not be concerned with any sort of optimal driving policy. Note that the driving agent is given the following information at each intersection:\\n\",\n    \"\\n\",\n    \"- The next waypoint location relative to its current location and heading.\\n\",\n    \"- The state of the traffic light at the intersection and the presence of oncoming vehicles from other directions.\\n\",\n    \"- The current time left from the allotted deadline.\\n\",\n    \"\\n\",\n    \"To complete this task, simply \\n\",\n    \"- have your driving agent choose a random action from the set of possible actions (None, 'forward', 'left', 'right') at each intersection, disregarding the input information above. \\n\",\n    \"- Set the simulation deadline enforcement, enforce_deadline to False and observe how it performs.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Observe what you see with the agent's behavior as it takes random actions. \\n\",\n    \"- Does the smartcab eventually make it to the destination? \\n\",\n    \"- Are there any other interesting observations to note?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Answer\\n\",\n    \"\\n\",\n    \"The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n/neu++lrfZcL+hGuPlAulsdcjY/yszljrK+x1c+cytfTz5RY4n2NimXc6ypeTy6r+3oVz5z0q+3P\\nOC/12aPnE8v85LbGiX+FNu/1jrPMXN6xjzUJECBAgAABAgQIECBAgAABAgQIECBAgAABAl9VYLwv\\nWT3n0bwxP45rnzHWx+mnHesTP9P22t7P2hXr8Yx7rNemX209va7PTbzX/Jrwz7+SH+f0+FH9mM/c\\nMZ5xz/d+8mfbozWO8mf3+xL1X+2CPsjjxfMrWLXm3nrJp93ba6VmnD+bM4vVvMTHdmvNqutPv0Qf\\n33msrXmpT7u1VuKzur5O6lbbrfVW56sjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4fIHZvdPK\\nKY7mjflxXHuMsT5OP+1YP8Yz3mtnuR4b+zU+iuVcqU1b8f70ePppq676syfxsR1rk+/xWaznZ/2V\\nOalJO1unYkf5rXlb8bvX29pnOf7VLuhz8IKqy9u7n5V1UzO2/SzJVWyvX/n+HlVbT4/VuMf7ej1X\\n/Ty52N5aJ3W97XOy3yx/FOv5J/VH1yed3VkJECBAgAABAgQIECBAgAABAgQIECBAgAABAl9JYHbX\\ntHK+vXmz3Eqs16Sfts60109ur53lemzsz8ZbsR7PWSs2+1P5/vS5Y/1eXc9VP3N7fIxlr9SntsfH\\nWHJpk5+1KzWzeUexd617tO9u/qte0M8OHcDxUnpWuxKr9c6slfq04x493vupG2M1zjOeYy9Xc3o+\\na1Q7rlOxXlv5Gqeu56p2K165PFkj47E9ylf9Ss247h3jvG/es6/ZXXpcnwABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4O8CuXP5e3R/tDVnK16rzXJjrI/TTzuuMYtXLPG9tud6P3tULH96rPr1JJf2\\nI/r3vcdcambzV2v7GuM6PVfrjU+P9X6vSzxtz+31z9Z/1lp7+9ySe9IF/eyF68PNLltntSuxrDe2\\nW3NndYn1OWNsa1zxevo7JfaR+fi75ysyq0l9amc1e7nV+Vm31ko/c8d2pWack3GtnfMmdnfbz7+6\\nV5+zdZ7VtbbmixMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEPktg5e5j9Swra+3VzHJjLOO0dbYz\\n/dRW2/t9nR4/6mfeuF4fjzUrubGm1qgn8d5+ZD7+Tjy1Y25vPM6ptcbYP0N/a8a6jP9W9MLg7vVe\\nOMr5qU+/oB/fuD5GLkNX+uP8rXFfKzVXYjWnnn7GjMf1xtpfE//5V3KJZb2Mq53VjLHU1/yeG8ep\\nS3uUT13as/WZt9XmrLVuPTVO/1fAXwQIECBAgAABAgQIECBAgAABAgQIECBAgAABApcEcg9zafIw\\naWWtvZox18e9X9v28Zl+anvb+33tis9yY3x1nLq+5hir/fvT85nX89VPTY+ndszNxn1e1rsaG+eN\\n45xr3GcrPs5/3Pi7XdCf/QD1YXN5vHLBO6tPbNw7P5qsO9aN45qfOdXv82rcn+QS6/MSS03PzWK9\\nfqzdG2feV2nrrHm/OlPO3mM561ibuJYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8NMFcsdyh8PR\\nWlv5WXyM7Y177qiffG97vxz6uPeT67Hqr4x7XV8nc8fYWF/5ehLv7Ufm77nE0vZ9KtbHWSu1vR3r\\nxrm9duxnbtox/yPGP/2C/s6PXD+kXAb3fu2xMq66zM+cMVbjesYfbeaN8aqd5Waxqr3rqfXzzrMz\\n3bXPK+vkfFtrjOeO2Vb9Xnxca69WjgABAgQIECBAgAABAgQIECBAgAABAgQIECDwVIEzdyJ7tbPc\\nGNsb99xRP/m9tud6v75TjXvszLjPzxpjrK83y1VsfMY5ld+K9bn9DJmT/JhLXHtS4B8n62flVy8u\\nj+Zt5cf4mXGvnfUTW2lnNT1W/XEcv56r2Djeim3NH+PZN/Gs18eJ9drxHD2X+qyRXNoxnzotAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAzxA4c4m7VzvLjbG9cc8d9ZNfaWc1PVb9cZwv33MVyzjt\\nVmyc3+tncyqfJ7Wz2FjTx+lXO849iqX+qN1aZ4zX+Fs93+G/oK+P2y+Jx/G7Pthsnx6rfj0521Gu\\n11Z/nF+xehKvfl+7xv2Z5WaxPuez+rFIW/ue7Y9zZuPEqs27Vz/PzDK5se21PTdbt+f1CRAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLfTWDr3uToPY/mbeXH+N645476s3xis/YoVvleM/a3xuWWuakZ\\nY8lXvJ6Me/1H5ncu416fWOb3ce/3dXu/16T/znbcexy/c++3rP3EC/pCf9elaNbeamcfYaytmsRS\\n38djv2rG95nVZK1eW3X1JJbxR/Tj771c6qqmz+3j3k/91ba/19U1zCNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instancens of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS (Implement a Driving Agent)\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = -3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -98, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2. Inform the Driving Agent\\n\",\n    \"Now that your driving agent is capable of moving around in the environment, your next task is to **identify a set of states that are appropriate for modeling the smartcab and environment**. \\n\",\n    \"- The main source of state variables are the current inputs at the intersection, but not all may require representation. \\n\",\n    \"- You may choose to explicitly define states, or use some combination of inputs as an implicit state. \\n\",\n    \"- At each time step, process the inputs and update the agent's current state using the self.state variable. \\n\",\n    \"- Continue with the simulation deadline enforcement enforce_deadline being set to False, and observe how your driving agent now reports the change in state as the simulation progresses.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\\n\",\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Answers (Inform the Driving Agent)\\n\",\n    \"\\n\",\n    \"States (v1):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Initial <code>deadline = self.compute_dist(start, destination) * 5</code>.</li><li>\\n\",\n    \"`compute_dist` is at most 12 (between points (1,1) and (8,6)).\\n\",\n    \"So max init deadline is 60. </li><li>\\n\",\n    \"-> Possible values include all positive integers in range [1,60] and integers < -1 which we will put into one group (past deadline)</li></ul></td><td>61</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States (v2):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>Some notion of proximity? Nothing for now.</td><td>1</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Add why each state is appropriate for the problem\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Total number of states: 16\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"- note that grid overflows along top, bottom, right and left sides\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**TODO**:\\n\",\n    \"1. Find out what inputs['right'] and inputs['left'] mean\\n\",\n    \"2. Print coordinates of primary agent for each turn\\n\",\n    \"3. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Question: If the destination is in the bottom right and the car starts on the top left, can the car plan a route that goes THROUGH the top and left of the grid?\\n\",\n    \"- this initialisation is possible. `compute_dist` is required to be > 4 where \\n\",\n    \"    <pre>\\n\",\n    \"    def compute_dist(self, a, b):\\n\",\n    \"        \\\"\\\"\\\"L1 distance between two points.\\\"\\\"\\\"\\n\",\n    \"        return abs(b[0] - a[0]) + abs(b[1] - a[1])\\n\",\n    \"    </pre>\\n\",\n    \"    The two coordinates in question are (1,1) and (8,6), so `compute_dist` would return 7 + 6 = 12 > 5.\\n\",\n    \"\\n\",\n    \"QUESTION: How do the route_planner actions interact with the actions I set?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Read the `simulator.py` and `environment.py` files.\\n\",\n    \"- Discovered pressing spacebar to pause.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Unresolved\\n\",\n    \"- What do the 'left' and 'right' inputs mean?\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3. Implement a Q-Learning Driving Agent\\n\",\n    \"With your driving agent being capable of interpreting the input information and having a mapping of environmental states, your next task is to **implement the Q-Learning algorithm** for your driving agent to choose the best action at each time step, based on the Q-values for the current state and action. \\n\",\n    \"- Each action taken by the smartcab will produce a reward which depends on the state of the environment. \\n\",\n    \"- The Q-Learning driving agent will need to consider these rewards when updating the Q-values. \\n\",\n    \"- Once implemented, set the simulation deadline enforcement enforce_deadline to True. \\n\",\n    \"- Run the simulation and observe how the smartcab moves about the environment in each trial.\\n\",\n    \"\\n\",\n    \"The formulas for updating Q-values can be found in [this video](https://classroom.udacity.com/nanodegrees/nd009/parts/0091345409/modules/e64f9a65-fdb5-4e60-81a9-72813beebb7e/lessons/5446820041/concepts/6348990570923).\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Debugging\\n\",\n    \"\\n\",\n    \"I realised the agent wasn't acting. Printed more info.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\\n\",\n    \"LearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The 'count' variable was defined wrongly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"def choose_action(self, state):\\n\",\n    \"        \\\"\\\"\\\"User-created function\\\"\\\"\\\"\\n\",\n    \"        # Get all the Q-values corresponding to the current state\\n\",\n    \"        q = [self.get_q(state, a) for a in self.actions]\\n\",\n    \"        print \\\"q: \\\", q\\n\",\n    \"        # Find the max Q-value for this state\\n\",\n    \"        max_q = max(q)\\n\",\n    \"        print \\\"max_q: \\\", max_q\\n\",\n    \"        # Find the action corresponding to the max Q-value for this state\\n\",\n    \"        count = len([max_q])\\n\",\n    \"        print \\\"count: \\\", count\\n\",\n    \"        # If there are multiple actions with Q-value = max Q-value for this state\\n\",\n    \"        if count > 1:\\n\",\n    \"            best = [i for i in range(len(self.env.valid_actions)) if q[i] == max_q]\\n\",\n    \"            print \\\"best: \\\", best\\n\",\n    \"            # Pick among the 'best' actions randomly\\n\",\n    \"            i = random.choice(best)\\n\",\n    \"        # Else if there is only one 'best' action,\\n\",\n    \"        else:\\n\",\n    \"            # Pick the action corresponding to the max Q-value \\n\",\n    \"            i = q.index(max_q)\\n\",\n    \"            print \\\"action index: \\\", i\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Maybe I should have incorporated `next_waypoint` into my state:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"random\\n\",\n    \"action:  forward\\n\",\n    \"LearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.3819213571826228]\\n\",\n    \"max_q:  1.38192135718\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\\n\",\n    \"\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.0246331536052293]\\n\",\n    \"max_q:  1.02463315361\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"AAAAH it's working!\\n\",\n    \"\\n\",\n    \"AND now env is also printing results! Previously I put `self.results` in TrafficLight instead of in Environment. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4. Improve the Q-Learning Driving Agent\\n\",\n    \"Your final task for this project is to enhance your driving agent so that, after sufficient training, the smartcab is **able to reach the destination within the allotted time safely and efficiently**. \\n\",\n    \"- Parameters in the Q-Learning algorithm, such as the learning rate (alpha), the discount factor (gamma) and the exploration rate (epsilon) all contribute to the driving agent’s ability to learn the best action for each state. \\n\",\n    \"\\n\",\n    \"To improve on the success of your smartcab:\\n\",\n    \"\\n\",\n    \"- Set the number of trials, n_trials, in the simulation to 100.\\n\",\n    \"- Run the simulation with the deadline enforcement enforce_deadline set to True (you will need to reduce the update delay update_delay and set the display to False).\\n\",\n    \"- Observe the driving agent’s learning and smartcab’s success rate, particularly during the later trials.\\n\",\n    \"- Adjust one or several of the above parameters and iterate this process.\\n\",\n    \"\\n\",\n    \"This task is complete once you have **arrived at what you determine is the best combination of parameters required** for your driving agent to learn successfully.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Report the different values for the parameters tuned in your basic implementation of Q-Learning. For which set of parameters does the agent perform best? How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Does your agent get close to finding an optimal policy, i.e. reach the destination in the minimum possible time, and not incur any penalties? How would you describe an optimal policy for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<iframe id=\\\"igraph\\\" scrolling=\\\"no\\\" style=\\\"border:none;\\\" seamless=\\\"seamless\\\" src=\\\"https://plot.ly/~jessicayung/4.embed\\\" height=\\\"525px\\\" width=\\\"100%\\\"></iframe>\"\n      ],\n      \"text/plain\": [\n       \"<plotly.tools.PlotlyDisplay object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"import plotly.plotly as py\\n\",\n    \"py.sign_in('jessicayung', 'l53zmz8hg6')\\n\",\n    \"import plotly.graph_objs as go\\n\",\n    \"\\n\",\n    \"data = [\\n\",\n    \"    go.Heatmap(\\n\",\n    \"        z=[[97.72, 98.06, 98.06, 97.84, 98.00], [98.34, 98.06, 97.98, 97.80, 98.10], \\n\",\n    \"           [97.80, 97.60, 97.76, 97.88, 97.12]],\\n\",\n    \"        x=['1.0/(t^0.01)', '1.0/(t^0.25)', '1.0/(t^0.5)', '1.0/(t^0.75)', '1.0/t'],\\n\",\n    \"        y=['0.01', '0.10', '0.20']\\n\",\n    \"    )\\n\",\n    \"]\\n\",\n    \"py.iplot(data)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/old-versions-of-reports/Smartcab Report-Copy1.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Outline\\n\",\n    \"You will \\n\",\n    \"1. first investigate the environment the agent operates in by constructing a very basic driving implementation. Once your agent is successful at operating within the environment, you will then \\n\",\n    \"2. identify each possible state the agent can be in when considering such things as traffic lights and oncoming traffic at each intersection. With states identified, you will then \\n\",\n    \"3. implement a Q-Learning algorithm for the self-driving agent to guide the agent towards its destination within the allotted time. Finally, you will \\n\",\n    \"4. improve upon the Q-Learning algorithm to find the best configuration of learning and exploration factors to ensure the self-driving agent is reaching its destinations with consistently positive results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Definitions\\n\",\n    \"### Environment\\n\",\n    \"The smartcab operates in an ideal, grid-like city (similar to New York City), with roads going in the North-South and East-West directions. Other vehicles will certainly be present on the road, but there will be no pedestrians to be concerned with. At each intersection there is a traffic light that either allows traffic in the North-South direction or the East-West direction. U.S. Right-of-Way rules apply:\\n\",\n    \"\\n\",\n    \"On a green light, a left turn is permitted if there is no oncoming traffic making a right turn or coming straight through the intersection.\\n\",\n    \"On a red light, a right turn is permitted if no oncoming traffic is approaching from your left through the intersection. To understand how to correctly yield to oncoming traffic when turning left, you may refer to this official drivers’ education video, or this passionate exposition.\\n\",\n    \"\\n\",\n    \"### Inputs and Outputs\\n\",\n    \"Assume that the smartcab is assigned a route plan based on the passengers’ starting location and destination. The route is split at each intersection into waypoints, and you may assume that the smartcab, at any instant, is at some intersection in the world. Therefore, the next waypoint to the destination, assuming the destination has not already been reached, is one intersection away in one direction (North, South, East, or West). \\n\",\n    \"The smartcab has only an egocentric view of the intersection it is at: **It can determine** (sensor) \\n\",\n    \"- the state of the traffic light for its direction of movement, and \\n\",\n    \"- whether there is a vehicle at the intersection for each of the oncoming directions. \\n\",\n    \"For each **action**, the smartcab may either \\n\",\n    \"- idle at the intersection, or \\n\",\n    \"- drive to the next intersection to the left, right, or ahead of it. \\n\",\n    \"Finally, each trip has a **time to reach the destination** which decreases for each action taken (the passengers want to get there quickly). \\n\",\n    \"- If the allotted time becomes zero before reaching the destination, the trip has failed.\\n\",\n    \"\\n\",\n    \"### Rewards and Goal\\n\",\n    \"**Rewards**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a reward for each successfully completed trip, and also receives \\n\",\n    \"- a smaller reward for each action it executes successfully that obeys traffic rules. \\n\",\n    \"\\n\",\n    \"**Penalties**\\n\",\n    \"The smartcab receives \\n\",\n    \"- a small penalty for any incorrect action, and \\n\",\n    \"- a larger penalty for any action that violates traffic rules or causes an accident with another vehicle. \\n\",\n    \"\\n\",\n    \"Based on the rewards and penalties the smartcab receives, the self-driving agent implementation should learn an optimal policy for driving on the city roads while obeying traffic rules, avoiding accidents, and reaching passengers’ destinations in the allotted time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Tasks\\n\",\n    \"### 1. Implement a Basic Driving Agent\\n\",\n    \"To begin, your only task is to **get the smartcab to move around in the environment**. At this point, you will not be concerned with any sort of optimal driving policy. Note that the driving agent is given the following information at each intersection:\\n\",\n    \"\\n\",\n    \"- The next waypoint location relative to its current location and heading.\\n\",\n    \"- The state of the traffic light at the intersection and the presence of oncoming vehicles from other directions.\\n\",\n    \"- The current time left from the allotted deadline.\\n\",\n    \"\\n\",\n    \"To complete this task, simply \\n\",\n    \"- have your driving agent choose a random action from the set of possible actions (None, 'forward', 'left', 'right') at each intersection, disregarding the input information above. \\n\",\n    \"- Set the simulation deadline enforcement, enforce_deadline to False and observe how it performs.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Observe what you see with the agent's behavior as it takes random actions. \\n\",\n    \"- Does the smartcab eventually make it to the destination? \\n\",\n    \"- Are there any other interesting observations to note?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Answer\\n\",\n    \"\\n\",\n    \"The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\ngUrAzw8fBAIECBAgQIDA0Qr4/epoPR2NAAECJ0XAz4+T0tKukwCBEBCg9zEgQGAhBNpvd8o7P36l\\nlMHzA/TvtC+V3FYhQIAAAQIp4OeHzwEBAgQIECBA4GgF/H51tJ6ORoAAgZMi4OfHSWlp10mAQAoI\\n0PscECCwEAKN+L9Z+50XZ9C3I8O+YXKPhWhzF0GAAIGjEPDz4ygUHYMAAQIECBAg8ImA368+sbBE\\ngAABAvsX8PNj/1a2JEBg/gWEqea/DV0BAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECMyB\\ngAD9HDSSKhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA/AsI0M9/G7oCAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIEJgDAQH6OWgkVSRAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACB+RcQoJ//NnQFBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAHAgL0c9BIqkiA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC8y8gQD//begKCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQGAOBATo56CRVJEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE5l9A\\ngH7+29AVECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAcCLTnoI6qSIAAgc8IDIfDcvPm\\nzZLPWW61bpXhhVhufWbTT63I7W98cKOM4uvixYul1XrBDp/a2wsC8yGwt3/cuHHjSV953hVU/SO2\\nzX6hfzxPynvzLLC3f/j5Mc+tqe5HLbC3f/j5cdTCjjfPAvrHPLeeus9aYG//8PvVrMUdf54E9vYP\\nv1/NU+up66wF9vYPPz9mLe74BAjUSaBxBJXZ7zGet93T3tu7bvfrFy1P3z/I8+5tc/lpr5+1brr9\\nfp5z1IKnbfe09XvXTV9nRHEtHl8aj8c/Gs8KgRMnkH/QXL16teRzlublZun+lbXq+XkYoxuj0vuh\\njXIpvq5du1YuX778vM29R2AuBfb2j71/8DzroqaB+StXrugfz0Kyfu4F9vYPPz/mvkldwBEK7O0f\\nfn4cIa5Dzb2A/jH3TegCZiiwt3/4/WqG2A49dwJ7+4ffr+auCVV4hgJ7+4efHzPEduiFFGg0Gj8S\\nF/ar8diIR2YyjuMx2nnO5ae9fta6562fHutFz3HK6py7t9u7bvfr6fJhnnfv87zlve/l6yxZx2eV\\n5723e5/9brd7nyfLMuifUFggQKDOAnv/gMlf4K5fv/4kQN8pnXJl+G5pxtfzSh4n9+0P+9X++TrL\\nNDApo/55et6rq8CL+sd+6z3tH7l99i/9Y79ytquzwIv6h58fdW49dZu1wIv6x37P7+fHfqVsN08C\\n+sc8tZa6vmqBF/UPv1+96hZxvjoJvKh/7Leufr/ar5Tt5kngRf3Dz495ak11JUDgZQUE6F9W0P4E\\nCLwSgRzOfnfG/PQXusOefHq8aUA+M+ll1B9W037HLTD9POfNJ1n0j+NuEeevk4D+UafWUJe6Cegf\\ndWsR9amTgP5Rp9ZQl7oJ6B91axH1qZOA/lGn1lCXugnoH3VrEfUhQOA4BQToj1PfuQkQeKHANNCY\\n2by7M+ZfuOMLNsjjToOZuWm+zuNnMfd2xeDbHAjoH3PQSKp4bAL6x7HRO/EcCOgfc9BIqnhsAvrH\\nsdE78RwI6B9z0EiqeGwC+sex0TvxHAjoH3PQSKpIgMArFxCgf+XkTkiAwEEEpndWZvA8l2dVpucx\\n9/ashB13FgLTz63+MQtdx5x3Af1j3ltQ/WcpoH/MUtex511A/5j3FlT/WQroH7PUdex5F9A/5r0F\\n1X+WAvrHLHUdmwCBeRUQoJ/XllNvAgsuMKs7K5/FluebZtTLpH+WkvV1EdA/6tIS6lFHAf2jjq2i\\nTnUR0D/q0hLqUUcB/aOOraJOdRHQP+rSEupRRwH9o46tok51EdA/6tIS6kGAQB0FBOjr2CrqRIBA\\nlS2fc87POjN4L/X0jk6Z9HtlvK6TwPRzqn/UqVXUpS4C+kddWkI96iigf9SxVdSpLgL6R11aQj3q\\nKKB/1LFV1KkuAvpHXVpCPeoooH/UsVXUiQCBuggI0NelJdSDAIFK4FXfWbmXPc8vk36vitd1EdA/\\n6tIS6lFHAf2jjq2iTnUR0D/q0hLqUUcB/aOOraJOdRHQP+rSEupRRwH9o46tok51EdA/6tIS6kGA\\nQJ0FBOjr3DrqRuAEChzXnZV7qaf1kEm/V8br4xSYfi5fdeb83mue1kP/2Cvj9XEKTD+X+sdxtoJz\\n11VA/6hry6hXHQT0jzq0gjrUVUD/qGvLqFcdBPSPOrSCOtRVQP+oa8uoFwECdRIQoK9Ta6gLAQIl\\n77DMDPZpFvtxkUzr0Wq1qjodVz2cl8BugennUv/YrWKZwERA//BJIPBsAf3j2TbeIaB/+AwQeLaA\\n/vFsG+8Q0D98Bgg8W0D/eLaNdwgQIDAVaE4XPBMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQKzExCgn52tIxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgScCAvRPKCwQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHZCZiDfna2jkyAwAEEcm6imzdvVnPP53JdynTO\\npLrURz0WTKBVSudip5R43k+51bpVmpebpRNfdShZl6zTgesTXbx/s19Kfbp6HTjV4SUFbty4Ufz8\\neElEu8+PgJ8f89NWavrqBfSPV2/ujAsr4PerhW1aF/Y0AT8/nqZiHYFDCdT150er1SoXL14s+awQ\\nIEDguAUaR1CB/R7jeds97b2963a/ftHy9P2DPO/eNpef9vpZ66bb7+c5Ry142nZPW7933fR1/gRZ\\ni8eXxuPxj8azQmDuBfIXt6tXr5br169XgfqDBlk6Vzrlyt95t+Tz80r/er9c/96vlnzeT/GL236U\\nbHNYgc7lbrn0Vz5X8nk/ZTAYlFu3bpV8rkNpt9vlwoULJZ8PUvo3euWDH3qv5LNC4KgE8udG3ujl\\n58dRiTpOnQX8/PDzo86fz+Oum/6hfxz3Z3CRzu/3q0VqTdfyIgE/P/z8eNFnxPv7F6jrz48rV66U\\na9eulcuXL+//YmxJoMYCjUbjR6J6vxqPjXhkKtQ4HqOd51x+2utnrXve+umxXvQcp6zOuXu7vet2\\nv54uH+Z59z7PW977Xr7OknV8Vnnee7v32e92u/d5snywf1F/spsFAgQIHK1A/uKWQfp81KlM61Wn\\nOqnL4ghUmefD9v4z0OOnduOdxv63fwVUt8vtA5+lP4wbZW782r5vlDnwCexAoAYCfn7UoBEWuAp+\\nfuzvRssF/gi4tOcI6B/6x3M+Ht6acwG/X815A9a8+n5++PlR84+o6r2EwPTnRyZi5bJCgACBOghk\\nRrZCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzFhAgH7GwA5PgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgRSQIDe54AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCLwCAQH6V4DsFAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQIDeZ4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECLwCgfYrOIdTECBA4IUCrVarXL58uQyHw3Lz5s3q+YU72YAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECDxDIP/d+eLFi9W/PeeyQoAAgToICNDXoRXUgQCB6peka9eu\\nlevXr5erV6+WGzduUCFAgAABAgQIECBAgAABAgQIECBAgAABAocWyOB8/rvzlStXqn+DPvSB7EiA\\nAIEjFBCgP0JMhyJA4PACuzPo63Qn4/QOyzrV6fDK9qybQOdyt1xqXSyd0t1X1QaDQbl161bJ5zqU\\ndrtdLly4UPL5IKXf6pVyeVD6JZ4VAkckULcRWPz8OKKGdZinCvj54efHUz8YVlYC+of+oSscnYDf\\nr47O0pHqL+Dnh58f9f+Uzk8N6/jzI0duzYdCgACBuggc7F/U61Jr9SBAgMArEpjeYekXuFcEftJO\\nE6NqdS52Smnu78Jv3L5Rrv5gfUaYyH7x56/95YP/gfNOKf1r/VKG+7tuWxHYj0COvFKnEVj8/NhP\\nq9nm0AJ+fhyazo4nQED/OAGN7BJflYDfr16VtPPUQsDPj1o0g0oshkDdfn4shqqrIEBg0QQE6Bet\\nRV0PgRMosBTX3I1AX/fDYem2m6U7ihXjUhqNCUaVaxzLw/g/XuOjYWnFthkXzM1eVDIDMoOQOQSS\\nQuC4BfrDfhndGJX+9Qhu16CMohddGF4ol+LrQCX+4aO4aflAZDben0CdRjvx82N/bWarVyPg58er\\ncXaW+RTQP+az3dT61Qn4/erVWTvTfAn4+TFf7aW2r16gTj8/Xv3VOyMBAgReLCBA/2IjWxAgUDOB\\nxk7kvRXPOTD4tzc7Ze1+BNL/nXtlrdMqX3jQLEsRge+MxmUYgfmPl8dluzMut98el/XesNx/0Cgb\\nrXZZHw2rIP14HNF8hQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCMBQToZwzs8AQIHExgmnH4\\nvLmKmhGYz+T4pVanrMTS+RgffG0Yjw8aZS2GCr9wf1hWMqM+3htEKv1waVw2YxTxrd6oNCJt/syw\\nVfIYvXYrMunHpdf/7DxbWY8cnjiz593xebA2tPXsBPbTP2Z39k+OrH98YmGpPgL6R33aQk3qJ6B/\\n1K9N1Kg+AvpHfdpCTeonoH/Ur03UqD4C+kd92kJN6iegf9SvTdSIAIH6CewMAP1SFdvvMZ633dPe\\n27tu9+sXLU/fP8jz7m1z+Wmvn7Vuuv1+nnOm4adt97T1e9dNX+fgwGvx+FJk/v5oPCsEFkZgGpi/\\nfv36Z+YSzsz5fKytrUVwvl0+v3KunIvg/D/3sF+WIlv+brNZTkXvutoZlbPxnB1tK5Lj/+FoVNbj\\n1UelVbZi3QfDcXkUvelnXmuXR+Nh+fDWrTIYDMowHtOSgflr165VQ9tnoD5/sVQIHLfA8/rHq6yb\\n/vEqtZ1rvwKH7R+dK51y5e+8W/L5eSWnlrj+vV994RQT+sfzFL13XAKH7R9HXV/946hFHe8oBPSP\\no1B0jEUVOGz/8PvVon4iXNdugcP2j93HOIplv18dhaJjHLXAYfuHnx9H3RKOt+gCESv5kbjGX43H\\nRjxyVt8cKnhnAuBq+Wmvn7Xueevzvf08YrPPbLd33e7X0+XDPO/e53nLe9/L11nyep5Vnvfe7n32\\nu93ufZ4sy6B/QmGBAIE6CEzvsMy6TOd9v3nzZslf7DoRZG83mhF8b5aVRqu81myXc+NmebM5imz5\\nGMY+fgStNsblVKdZTuf/XyNCn/+TOztulGY81mO8+/x6vTkuS/HeG7F/JNeXx3G8XjwexbaNncz5\\nPHc+8g8dhUBdBJ7XP15FHfP8ecOK/vEqtJ3joAL6x0HFbH+SBPSPk9TarvWgAvrHQcVsf5IE9I+T\\n1Nqu9aAC+sdBxWx/kgT0j5PU2q6VAIHDCmSC6cuW/R7jeds97b2963a/ftHy9P2DPO/eNpef9vpZ\\n66bb7+d5mgW/d9unrd+7bvpaBv3LfmrtX3uB3Xda/uDVHywf3rhRLre65VyzVb7v9OnIlI/Q+9ZS\\nORWB9z/cGUYgflx+dhCB+AjQf293XNaih+XtS/nYjHvGNmLhZ+L9zKhfiXWjyMT/KJIlN2OLr/cf\\nl7ujQfkbWw/LuXculf/5x39c5nztPyEnu4K7+8fVq1fLjegfr6K4M/9VKDvHywoctH8c1R36+sfL\\ntpz9X4XAQfvHUdVJ/zgqSceZpYD+MUtdx553gYP2D79fzXuLq/9BBA7aPw5y7Odt6/er5+l4ry4C\\nB+0ffn7UpeXUY14EZNBX4Z9pc2UoaFp2L+e6va+fte5Z+0/X731+2nH3bvPM1zLon0njDQIEjlPg\\nyZ2W8b+4C29fKOPt7XLpweOYb76US5E9vxYZ7+sxdP1yvJ93ruTjdEww34rAfC5nybtgsqzEQo7r\\n0or/D+f/9M5Ub8Tc86NGWY51n4tjrcWQ+a93l8rZldXyLZ/7nMz5hFNqK/Ckf0QN9440MYtK5/lk\\nzs9C1jFnIaB/zELVMRdFQP9YlJZ0HbMQ0D9moeqYiyKgfyxKS7qOWQjoH7NQdcxFEdA/FqUlXQcB\\nArMQEKCfhapjEiBwZALnXztf/tyf+bNl65s3yht/8b8rS3fvlbcH7ZKzxf90DFW/HQH6/28wqoLw\\nvzWi85k5351G5ndq0YzXk+EnGtXQ9r9uZzr59RgSfyXC+N/T7pZep13OfOmLpfW5yzFEfvfI6u9A\\nBGYpkEHza9eulevXr5dZZtJPz5M3A+SyQmAeBKafW/1jHlpLHV+1gP7xqsWdb54E9I95ai11fdUC\\n+serFne+eRLQP+aptdT1VQvoH69a3PkIEJgHAQH6eWgldSRwggWaMRT9mbW1shqPtyOLtxvZ7kvh\\nkWOHLI3HVWZ8DlufAfjlCMRntvzu+Px0OZ9z3vlJJn28yK1i/4zV55z2g4jiX6heRZ79cFAGg0Fp\\nt/0vMqWU+grsvRM5X2eZDiGWz4cpeZz842l6vBw6L4Pz+awQ+P/Zu/cgybL0MOgnM+vR78dMT/d0\\nT8/MSh5pzUqWQki8wrIlRdhhiT/8WCwYyUZCEbYB8bD8lww4AggMhOQANsKBbGxjy2CkIUIQWH8Q\\nDmwsEAJs4wBkW0her1bbsz3T0/Oe7umuR774vsy+PTm59ciqysq6t/J3du/cm/d57u/k6erq737n\\nNkVA/2hKS6nnSQjoHyeh7ppNEdA/mtJS6nkSAvrHSai7ZlME9I+mtJR6noSA/nES6q5JgEDdBUSf\\n6t5C6kdgyQW6m1vly3/r75ThV++Wb97qjgL0vxJR9gzKX+kMy8Xw+bDfjqHqIzgfGfUZpN+pxOvm\\ny0udQdmO496IwHw3PseA+GXlyf6r3X55+c7d0o/5+3ffKBvxYMDzzz//NEC50zmtI1AXgepJ5Cog\\nn++kP0pGfXW+KiCfv0jlOoVAEwWq77P+0cTWU+fjFtA/jlvY+ZssoH80ufXU/bgF9I/jFnb+Jgvo\\nH01uPXU/bgH947iFnZ8AgSYJCNA3qbXUlcAyCsR75rc/elBKTCvDQcnh6jeGrdHQ9hcjIJ+Z9Bl8\\nzz/MMta+S3y+RLy9nIvtmV/8buyVgfrMus8ps+rjVOVsr1t621tla2OztDY3yyCunYFJhUDdBSaf\\nRM665ufMeK++v7Nm1Of++ctSHitjvu6trn6zCuzXP9q320/7yl7nrM5zq9zSP/aCsq1RAtX3uqp0\\nfvbzo9IwX3YB/WPZvwHufy+B/fqHv1/tpWfbaRfYr3/4/fy0fwPc314C+/UPPz/20rONAIHTJrBb\\nLOsg9znrOfbab6dt0+smP++3XG0/yHxy31ze6fNu66r9Z5mPX4X9SSyxOman9dPrqs8ZMTwf0zcO\\nh8MvHKSx7EugSQLx/S4P3nqr/Lf/2o+VEhn0n7/7Vmlt98vPb7VLDtz921aGEZgfll8fjIeq//aI\\n1OcQ9zuVDORnIP5xLPyd7XGA/8KTjPvPxDGrMWVW/da1Z8tv/Fv/xuhd9P/Md35nOXv27E6ns45A\\nrQWmf+GfNaM+M+bznfYZnMlAff7ipBA4bQLT/eN+53758Rt/ouR8r3Kjf6P8xP0/GeH5W/rHXlC2\\nNVpgun/4+dHo5lT5OQvoH3MGdbpTJTDdP/z96lQ1r5s5osB0//D3qyOCOvxUCUz3Dz8/TlXzupkF\\nCLRarQiclC/G9CimDJlUYZCcV1OGRarlar7Tuty22/rquP3mcYqvudb0usnP1fJh5pPH7LU8vS0/\\nZ8l72a3stW3ymFn3mzzm6bIM+qcUFggQqKVABOlbMcx9ySmW80+8/ClRTVnnHNY+w4i7xOZzl9G2\\n3KcTS9Wx+U76tTjjdqzL867FNMjPca12TPmAgEKgiQLTTyTnPcwSbK+Oq4a2b+K9qzOB/QSq73m1\\n32qMw9IZ7P8wSnVcBugVAqdVoPqeT95frtuvVMf5+bGflO1NFqi+55P3oH9MalheZoHp/uHvV8v8\\nbXDv0wLT/SO3+/kxreTzsgpM9w8/P5b1m+C+CSyngAD9cra7uybQHIHIju99/LCUnGI5h5E4H2H0\\nfAf96xFpP9salq+Lce8zSL8ay7OUPMda7H+rFcMaR0D+rXi4LA/9+nZ7NIz+R3Gtdkw5xL1CgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAYF4CAvTzknQeAgSORWCUM5+B8phyOXPdV+K/mcvVjaD6\\naixnsD2nDLxniL4K01fz2DQq43kG+XOpNQro5zHdQSs+jffOLaPAvOD8yMx/CBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE5icgQD8/S2ciQOA4BCJuPhiF3iOUHssZQL8Y/8kgfa7IsHoOVb8eKfCR\\nYD/6vDEaqP6TymQQPwPxq61xYP/ZeHd9vpAl12WO/OYwQ/bjc41OMDp3nDRPrhAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBCYk4AA/ZwgnYYAgWMSiKD6YCXy5WMaxpD0E+H6EiPbR8S+VR6stMtm\\nbOpGyL0f6zYyWD/alJnx8W6vCLTnkWfjnfK9mLa7sTWD+fmO+fj/aN/Ynhn5GbhfWVkp7ZhGB8dn\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMA8BATo56HoHAQIHItAK4LvES0v3eeuleHmZhk+\\nuldKL4a6bw0yLl9WOxGYj+D8f3f9Snm8tlrevnih9GL/rfPrZRjvkx9H2Iels90v7X6/nHv0uKxt\\nd8sL73xQLnd75dbj7Xjn/DhI34to/P1hbxTJf/bGc2U1pk4nB9JXCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECMxHQIB+Po7OQoDAcQlEJL519lykv5+LwHxk08d1NiOTfjOW+2dXy9baSnn/7Nny\\nKAL0758/OwrQb58dB+hbmWIfAfj2yjhAvxnL66ur5dKjjdLe7pUP+/E++wj4D3r9GB5/WDbj3J04\\nZv3M2bIe52yPgvzHdWPOS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsGwCAvTL1uLul0DDBNoR\\neD/3ystluL5Shl/+ankcGfC/sr5W3j+zVh596ytleO5MGZ5Zj8z3djkX2fSRD18GmV4fZZSBnwuZ\\nJR+ldfXSaPnNl14ob8V5vvT63XLm8Wb5lq+8W9a63XI3suzPtDvl2155pZx/6cWyGsF8hQABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMC8BATo5yXpPAQIHJNAq3QiID9cX41B6CPwHsH3jbVOeRyf\\nH507W4aRLX8mgvijYHxujlp8zcD0TwL2mYGfofoczj5S5ctWZMmfjZT8QSc+x+j23Qjkr8Ti2tra\\naHoa4D+mO3NaAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB5RIQoF+u9na3BBonkLH1dme1DGOK\\nBPkyWO2UjVvXymYE59cje76srjwdin44Cr/vfoufBNzjpJEdv/birbL2eKMM3rgfQ9xvl1Z3FP+P\\n196vjKbdz2QLAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYMLCNAf3MwRBAgsWCCD9E+S4EdX\\nbq1GpD6mcdZ8bDxkaUVwP6d2K95TH5NCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4DgFIsql\\nECBAoN4CGTsfx8+HMTj9oJzb7o2m8YD1h697bzAog5jOdfujqfoDMQP/n2TbH/78jiRAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECAwKSCDflLDMgECtRLodrulu71dBlvbZRjTIN4RH/8vnUG/rMTU\\ni+Wj5L0PBsMy6A/Latx1Tp1hq7TjhI8/flRaMeW76AXqa/WVUBkCBAjMXWDYK6V3L37e9OI9J3uU\\n3kq3DG/GDv72vIeSTQQIECBAgACB+D3d3698DQgQIEDgEAJ+fhwCzSEECDRWwD8xNrbpVJzA6RbI\\n4Pzrd+6Uj+6/XT7+lV8tnbful4cbm6X0e+XKo0cRqB+UtyM8P5wc+37WaH2Mip/B/o83N0p7a6Nc\\niXNdDM5OpNB3Nx6Xv/0//81y5qXb5bu/73vLuQsXnr7j/nSLuzsCBAgsp0DvrW554wfulDt37+wN\\ncLtbeq9FEP/23rvZSoAAAQIECBBYdgF/v1r2b4D7J0CAwOEE/Pw4nJujCBBopoAAfTPbTa0JnHqB\\nHHr+o3ffLQ/eeacMP3pYhg8flQjPR2mVlV6vrMUUo92PMuonY/Qzw2QqfrdXhjFlzmQvTpIZ9P3e\\noGzce6v0Vzpl8/FGWYks+vX1dZn0M8PakQABAg0T6MePg7uRQX9n7wz62CMeEmvYvakuAQIECBAg\\nQOAkBPz96iTUXZMAAQLNF/Dzo/lt6A4IEJhZQIB+Zio7EiCwSIGNhw/LL/7Mz5VHX71bbvw//6Cs\\nbW6Wv78WKe4r7XLp48dlJYamvxPrtmPVaCj6rFwG3Wcs7V6/XHr7w7IWQfhfjtT5i2sr5XPxbvvV\\nRxtl42f/atl4/nr54m/+zeXi7Vvls5/97OgaM57abgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgR2FBCg35HFSgIETlwgYu2DGHq+P3rpfKcMV1bKVmtY2jGs/Wq/FRn0g3IuAvSdGK5+JbLgI8W9\\ntGLf/UL0sftoWPxWHLMSx7fjHfeP23FsBOm7sTHP347s+RLTMM93gKD/iZupAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAQK0FBOhr3TwqR2B5BdYvnC//+O/+vvLRO++W/++Zi2X43vvllV/9Ylnb\\n2hoF0c/FOMO//e/+gxzlvmysjgPzswbTWxHMX4tI/mc2B2Wr3S7/4zMXygfxMMCVt94vZy5eKJf/\\n5R8qZ26/UD7zzd9UzsXnlXg4QCFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwVAFRp6MKOp4A\\ngWMRaEfg/PK1a+Ns90sRoI/AfMlM98hyH7Y7pR2Z7Ve2NjLNvmx2h6NA/UEC9KtR6yu9TnkcmfK9\\nCMBvx/m6kaG/GkPoX7x1s5x74VZZP3d2PHx+XlQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\ncEQBAfojAjqcAIHjEVhfXy+f+9znysMPPyx3/u9fLo8HrdJpr5Re6ZT3LpwtZyOg/u2Pe+V8ZNJn\\ndD6Htp91NPqMt2fm/cdx7KMI9m9dvFi24uBh+35ZX18r3/Yd31HOv/RiOX/+fMkHBTLjXiFAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwVAEB+qMKOp4AgWMTyCD9dkydyHLPKcswYuXbkfG+EgH1\\ntVg+O3H1/d4/X+2a4fZ4a315MJrHpzz3KLrfGgXkz5w5U3LqdMbXrI4zJ0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIHAUAQH6o+g5lgCBxQhEDH2cxN4ug8iif3juXOlFQH3Q/iiun7nws4bmP6lu\\n5N2Xt9ciG389gv2d9VGAvsqUz3m1/MkRlggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgcTUCA\\n/mh+jiZA4AQEupHZnhn0RymZid8trcikj4V2PAAQcf5YUggQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgcm4AA/bHROjEBAvMUGIXjW1OHXKcAAEAASURBVN3Imu+Vh/Ge+H5m0I8i6ocL1A8iHP8o\\nxsh/tBa1bA8iRp+Z+IfLxp/nfToXAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA6RUQoD+9bevO\\nCJxagX67PQrQZ2g+p0NlvsdBo/PEuUqrOtOYbBjB/5wUAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAvMUEKCfp6ZzESBwLAL9wbDktB1B8+24Qn99ffQO+uH4xfSHCtIPI6zfXVsr2zFtjeLzkZFf\\nOnGumAToj6UdnZQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsOwCkTqqECBAoN4CGTAf5BTVzKHp\\n++1WDHXfimB6TocskUE/aMXA9qNpPLh9nqkKzlfzQ57dYQQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgS+RkCA/mtIrCBAoC4Co8D8YFC2NjbLZkxbkTG/3WmXXnslgvQrpRtD03cPGaLPwH5vtVO6\\nMfXanThfZzTSfSsy9Tc2NkZTXl8hQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMC8BQ9zPS9J5\\nCBA4FoGMkQ8H/dHUiw+jqd8fD3F/xPj5IILxOfXifK3+oOQTSzn1Y7kf6xQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC8xQQoJ+npnMRIDB/geGgbD/aKFsxdbu9stntlrfu3y8Xcsj7XgTWhzFW\\nffz/oCWz4x89elwebG2V91c6pRNB+ZV4EGA1rvf40cclNpYrV66UdttAIwe1tT8BAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgMDOAiJPO7tYS4BAXQQyg77fi7T23ngI+qhX/sF1iJj8rneU54sB7ks+\\nsZRTPwL/vV5cUyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRwEZ9HPEdCoCBOYr0Ip3zmcg\\nfuXxRlmL6XKnVc51Vsvz16+Xs5EB37n7TrxI/nCB9Dz3hbPnytb6Wrl59WpZ6w3K9TffKxfjit3N\\nzdKKaTAYzPeGnI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCpBQTol7r53TyBBghkID6Hn49p\\nPd4X3263ymoMO78S60sE2Q9b8sh2HN+J6UxMq3HetVi3GlM/hrr3DvrDyjqOAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIEBgNwEB+t1krCdAoBYC7TIsl7Y2y9nNjfLiRr9sRYZ7J5YjPF9WI2CfAfXD\\nlFacYC2y789GpP7aR4/KajwAcCHOdzbWP9zYLP3IoC/5EIBCgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYE4CAvRzgnQaAgSORyAD6SUy2lsxnYsA+kqE5s9ubo3eFd9+EkA/bB79Wr8/yp6/uL1d\\n1mI4+5W4VivOORwORsPbDwXoj6dRnZUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBu\\nm0ATBDJAnu+B33q0WYYxXY/P7ch6/63/6Cujd9Ovd6v3zx88RN+JYP9zcc4rcaZ/7MHjUcD/TG9Y\\nesNW+fjR49KJaSBA34SviToSIECAAAECBAgQIECAAAECBAgQIECAAAECBBojIEDfmKZSUQLLKZBB\\n+mEE6SNSXzqxvBbTM5HxPojA+la8O34Q76PvtiOvPmL0s8bTM5zfj507g+0456BcGsSw+bFuGOeM\\nuH3p9XtlGNNoHP3lZHfXBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECxyAgQH8MqE5JgMA8BYal\\n290oJaeImK/Hf78lAuofR3D+fzu7Xj5YWy2/fvPZsr0af5zNEqHPfbYjKL/dLZ9//a1yNTLyr3Za\\npR3nfRzj6Q9akbEfDwC0Y4pHA+Z5I85FgAABAgQIECBAgAABAgQIECBAgAABAgQIECCw5AIC9Ev+\\nBXD7BBohkEH1J8H3DJlHPn3pRYD+3U6nvL+yUt47d/ZAAfrhSr/0IvN+GOfIwHw7TtqOtPpqoPxR\\n1v4swf5G4KkkAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQQE6OvSEupBgMDOAhmbHw1AH4PQ\\nx/Jm7PVL/X55N8Lpf+/CpbIRwfm1566Xs+urOx8/tTaD74/j3fX9xxtl68tfLVsR7h+2OqNc+Rze\\nPqcsVbB+/Ml/CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBxdQID+6IbOQIDAMQpklnuJbPec\\nRstxrYyhP4mjj67cjiz6VkyT63atUgToR++077RHQfgMxI+C8XFwP5ZzWumslE6cTyFAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECAwTwERqHlqOhcBAnMVaEVwvhWB9HL5UikPLpXhOx+M3kH/W9sr\\n5UGrXTYfPygflG65F6H5bgbyZxiWPjPo+482yjAy6K/GAPfPRPZ8DnPfj8M/jmz6zfhw8crlsnr5\\ncjwTkFsUAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvMREKCfj6OzECBwXAIReB+urpWSUwbs\\n4zrnY4qB6cv5Xr9sxRR7zH712LUVx7Rjyj8AV+KEec6M7W+PAv1xqbjW2tpaXC63KAQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgTmIyBAPx9HZyFA4BgEMtt9GFns29evlbIVb5//4m+UVsbi4z+d\\n2HZ1M94gH9s7EWwvg8EogL9XNfJ8ZdAvZyN7/lxM6xHmX3sSoO/FgV+Nc/QiKP/1zz1XzsXU6cR7\\n7xUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECcxIQoJ8TpNMQIHBMAhEw75w9U4Y5xfIoPh+X\\nysHnz0dAfasf2fBb3RgKf6UMVjujfaaHps9jsgx7vdLqdsv5re3RlEH+Kkc+99lot0o/htRfjez5\\nuWfQRz3LW2/HWPr5lvuJkg8BPH+9xNMAEyuPcbEu9TjGW3RqAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgEBdBQTo69oy6kWAwGiI+U4Ey6++/NIoU767slq2IpK+HlH19fD51kGrfLjZK1/6tS+V9yKA\\n/+aLN0t/fa1cOH+utCOYn0PUZ+B9O4Lyw8iyH7z3YTm/sVl++2+8Ua5tb5ezmXn/pPQjOP/WmTPx\\nAvrz5dnnb5RL16/PN4P+/tul/yM/Wsqb96pLjue3bpbOT/9UKTFfSKlLPRZysy5CgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEKiXgAB9vdpDbQgQmBLIQPuZixdKP6bIkx8F6ONt9KMM+rMx70YW/DMR\\ndC+DYXkcw9b3IkN8PfZrRcA931mfEfrVXrfEhrLyaKOc39wsz0bA/mpk07dzyPsnJbPzuxmgj6m9\\nsjLf4HxeIx8GyOD863erS34yn3hQ4JOVx7S06HrI2D+mhnRaAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAoIkCAvRNbDV1JrBEAjnc/CuvvFK21s6Ur660ytqgW76pvTrKou9E/P1yBNk//+BR2W49Lu+9\\n91HZiHVfif22w6gXw9XnUPjPduO98zF/MV5Tfyb2vxhB4xzePgP9WTJOP4js/N43fH3sdLsMV1fH\\nG/z3aALxEEQ+lND/Q//myY8ccLQ7cTQBAgQIECBAgAABAgQIECBAgAABAgQIECBAYC4CAvRzYXQS\\nAgSOSyCHqT9/4UJpx/RBu1268Tni7KMSsfgSb50vlyJ7Pgerb/W7ZSPmH7eHowD9dgTo883u1yJA\\nH7nx5bn2yigon4H9PDZL5tDn+YZx7lZk6Y+mWJ57WYma7DSMfa7Lbae1LDpj/7Q6ui8CBAgQIECA\\nAAECBAgQIECAAAECBAgQIEDgVAgI0J+KZnQTBE6vwGpks7/00kvlo3an/O9XL0f0/WH5LZvdUSZ8\\njmBflQypX2m1y6WYPxNTBt6HEbXPXdqtldE8M+YnDolP4/0+jgj948igv/q5z5V2ZNC3144hg/5G\\nvNP+L8W75nPI98nSieB8bFMIECBAgAABAgQIECBAgAABAgQIECBAgAABAgROv4AA/elvY3dIoPEC\\nGaRfXV8v/SuXSv/h5fLBex+O3jXf7g8i4D4cZcnnTT4Nvj95tXx+zsUYaH1Utp+sH2XM55qI8Pfj\\nqAfrq2Xz3Nly9sqVsnrlcmln0HzeJbPyr8WjAzme/mTJpwyOI2N/8hqWCRAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEaiEgQF+LZlAJAgT2EmhHAHv10qXy3O//PeWDN98sP/3zf630P/ywnH/33bIa\\nQ6g/GzHv/MPsXEwxUP3T/47D7MNRgH4UqB8ORssPI2yfQ+V/cGat9CPwv/nZz5SLMdT8P/9dv61c\\njWz2M2dyQPw5l+3tMvx7f7+Ura1Pnziu3/qW31JKzBUCBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAIHTLSBAf7rb190RODUC7XhP+8Xnny+9GMa+/dILpX/pQolI+njI+Ii+93u9cvf+/TKIeXsUrs/3\\n04/fVp8Z9FWAvkR2/Lmb8d731fjjby0GvT+zXjoxrP3KjRvlfGTP5/vu8733u5Ycov6tt3ceqv76\\ntVFWfomHB0ZD2W/HlTM7/tmrpWxGYP7Ne6U8evzpU5+PxwpiaP2yW3w+M+7zmLzuxkYpg7inXM46\\nrsQ9ZLZ/1HuUmf/Bk+tOXiG3X3t2vN/k+p2W81p57ocPx/Osc66rsv6jDUb3c+bs+HxZ92mr3Hdz\\nM4YtiHt/P+rz5lvj5enr5XXeCI/0Of/kfBcvfu35po/zmQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECDQYAEB+gY3nqoTWCaBs2fPlu/+7u8qgwjsfu8/+31lGIHqTgSBM5Se0xt375YffPXVcjfmVanC\\n7BEyHpWcv3D7dvnZv/znRvNBBpdjGsYQ+jms/cUc3j4CxjntWu6/Xfo/8qPjYPvkTs/fKJ0v/Eej\\noH//z/65cRD/135jFDxv/wf/TgS5B2Xwk3+6lDj+U+WFW6XzHd8eQeoIdk+XDHY/elQGf+NvjI4b\\n/rWYP4jg+YePxgHy3/RCKdefK+0/8ocjcN+P8/9npbz33qfPcv166fzkfxj77fOe+7zWxx+P7mvw\\ncz83vt7f/eXxQwEb3Qikh9WzV0q5dLG0fud3jc7X/h2/I+p9/tNB9QjOD/7W3x6dZ/hn/3Ip70R9\\n3n7n03XKT5Xj1cul9bt/ZykxgkH787+vlAzSKwQIECBAgAABAgQIECBAgAABAgQIECBAgACBUyog\\nQH9KG9ZtEThtApnVfi6DwVEuxHD30+XDCIB/GEHk92K+V7kY+1yIoPiVl17ca7fdt8WQ+qNM+Nc/\\neRBgtHM3gtgZfI/32ZfX3yjl3v1Svhr7ZPZ7ZpRneTeD1e+Ol6v/jkYB2KHOmSmfmfgfPSjlbp4v\\nMtHzvA/icxWgX42g+tZ2PJ3w5jizPq+X15gsWd+c9iuZ0Z6B9EcRpM/rvPWk/o8ja38UoI+HFh7F\\nwwFpn/e+HfebGftZzxh1YJQJn9fIQH9m+j+M82S93n1/5ytXjnm9PM/FOEeeSyFAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQInGKBlVN8b26NAAECixOIQHr/z0TmfGbl/1//bykZ2M4h7nNw/cMEnvN8\\n/8Wfj+B8BLl/4f8cZ7c/ejLE/TCC6d24zj+8U8pX7pXBB39qfJ3M2I933X+qdJ68BuBTK3f48P4H\\npf8f/8Q4U/7XvjIekn87hrgfRP0z6B6XK/cj2P7Oh2V4LzLsY7SBQQ5hf/tWaX//75f5vgOpVQQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBaQEB+mkRnwkQIHAYgX4E4+89Gb4+g/NbkWF+mFJloGem\\nfL6jPQP070VgPLPwO/FH9mpMV56NQHq8D74VgfMsEVwfv/M+gvPT2fKZGf9kt/HOu/w398vr5Dvr\\nz50t5WwE9luxnCMSfBxD6ud5N2I0gJxn9nzun1n9WZ9833xV8gGFeB3BKCM+Riooa+uRmR8u0/XK\\n99nnsPsxxH25emUc4N/r1QLV+c0JECBAgAABAgQIECBAgAABAgQIECBAgAABAg0WEKBvcOOpOgEC\\nNRLIbPkvfnlcoVHm/CHrthHvcP+lXxoPa5+Z8zlk/VZksq/EH9cvPFfK89dL+4/90QhqX41AeayP\\n7YMv/Omd3/N+kCpkcPxCvEIg32n/B36wlGeultblCJw/flQGf/XnR0P2D//6L0awPoL0WaKew1/8\\nP0p56XYpP/xDUZ/x6hJD9rf/6X9qHLT/zu+MYf7fKP0/9K/HawEimD9Zblwvnb/4U6W8+EK8xz4C\\n+vlgQA6VrxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIETrGAAP0pbly3RoDAggUyezwDzRk870TA\\nux1/xN6IoPqZyCLPDPLcvl/JzPR33o3h5ON98Jm5HoHwUVmL8z37zCiAXl6KoPYzsbwZAfp8h/21\\nWM6h7d99ELvG8YcpWd9r1+IBgBvjoPmzkaV/+VK8dz4C8nm9rHpm8Fclh77P98znlMtVqTLo83Nm\\n0uf95MMF0yWdXrg5GiJ/epPPBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHTKrBD1OS03qr7IkCA\\nwDEKrK+V8i2fHQXk23/wDzzJQI/h29difQbpM4M8g9L7lRhGfvg3/5dSXr87HlK+2j+yy9v/wveP\\nMtZbL70Uw9CfG78bPoL27R/54dH+g//kP48gfQxTf5hy+XLp/Oi/Ms6Ivx0B+dXVcX0vXiztz/9z\\no/P3/4f/qZSP8iGAKDn0/YN4eCCnXFYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2FRCg35fI\\nDgQIEJhBIIPvMfz8KCs8h23PbPcIeo+C8plBntMsGfSDCHZ/GEHwnHK5Knn+5yLDPacM+lfB/vXI\\nzo9h6UfZ9NW66piDzPPYa5E1n1Oes3offK7PTPqcqnV53kyaz8B81nEigf4gl7QvAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQGDZBATol63F3S8BAscjcCkyzf+lHxpnuL/44jgDfXJo91mD5zkU/hv3\\nx1MuVyUy2lvf8Mo4wz2z26uS6z/7jTGcfGTUT66vts86z+B7PlCQ02QgPh8qyGH0c/qaBwxGUfpZ\\nr2A/AgQIECBAgAABAgQIECBAgAABAgQIECBAgMDSCwjQL/1XAAABAnMRyAB8vhc+p8kM9IOePGPe\\nvd54msxMz+B4njenyUD5busPet3cPwPzk8H56hx5jclrVuvNCRAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIEDiQQ0RiFAAECBI4sEIHt1tWro2nHIPdBLjCMyHxO02WnAHoGznPI+2rY+50C7NPn8ZkA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBEBAToT4TdRQkQOJUCmUU/61D2uwFEvP1pJnsuT5bt\\n7VJymiwZyO9Gxn1OOwX1J/e1TIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcKICAvQnyu/iBAgQ\\nmBLIDPhn4j3wOU1mw3e7ZXjn9dFUYvlpyfW//qXRVLa2ShkMnm6yQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgUC8BAfp6tYfaECCw7ALtSJu/cH485XJV+v1S3nlnPGUWfX7Od9VnUP7tWJ9TrmtS\\nyfrnpBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIElkRgZUnu020SIECgGQLr66X1Hd9WyvXnyvDN\\nCLpvPwlgP/y4DP7Kz5Tyws3Svn69lGefGQe333uvDP7if1XKG/dKefiwXvfYigcMctqpxMMEw/v3\\nS1lfLa1r18avBljxI2knKusIECBAgAABAgQIECBAgAABAgQIECBAgACB0yMgGnJ62tKdECBwGgTy\\nHfbPRcB6c7OU1dXxMPfDGLY+s+Pffb+UDGK/freUjx+Nh7N/L9a983YpH8S8X8Ph7TM+n0P155T3\\nMXzSSJk5/+Zb4/V5z/FgQrk8Naz/aWhP90CAAAECBAgQIECAAAECBAgQIECAAAECBAgQmBAQoJ/A\\nsEiAAIETFzh/vrS/93dFRvybpf/X/9cIaEdg/kEE4zOg/XoEtCOrfvBH/3gEtiOo3Ypo9zAj3rFP\\nBvDr9v75DLznQwZXL0R2f0wffvzJQwTxsMHgj/97se1yaf3e7xuPDPD531fKxYsn3gQqQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBA4LgEB+uOSdV4CBAgcRiCHhL90qZTHG6XcvDEOug8iML/dHU9b\\nEYi/Hxnzud9aBL9zevHmOFD/wUQA/DDXPo5jMkh/LYbj33gcowI8uYfqYYK3Ywj/ra14AOFBKVfi\\nngdVev1xVMQ5CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQInLyBAf/JtoAYECBD4RCCHgr8Q2eYv\\nrZX2v/tvx/D1kTH/X8e75+9HMPtXvxhB7ghodyOQvb5Wyjf9plJuXC/tH/nh0frBH4v934rgfZ3K\\n5Uul/a/+kVLuvRX38d/EMP3vxfK74xEBckT+zLC/FPd7MaZ2joevECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgROr4AA/eltW3dGgMBxCKxERvityFifLrkut+1WDnJcDlWfGfLPRuZ5xqxvPT8+98eR\\nhb61HQH6yKLPAP1LL5Zy/blxpn1uy2z1yZLHTse8D1KPyXMd9ris0/MxEkAnHjx48XYp585FUD7e\\nN9/LIfnjApdiSPurV8dD2+fDCQoBAgQIECBAgAABAgQIECBAgAABAgQIECBA4BQLCNCf4sZ1awQI\\nHINAZKx3/tJPjd/5Pnn6DETHtl3LrMfFu+aHb96LIHwOBx/B+HjXfPv3/p6Yt0vruQjG53XyvfPV\\nEPdxwWHu+zDeUz9ZMjDfiT/ic5oM0s9aj8lz5fJhj1tbK61veKWUr/+60vnmbxq75QMGoxL3UY0Y\\nkPeVwXuFAAECBAgQIECAAAECBAgQIECAAAECBAgQIHCKBQToT3HjujUCBI5BIAPJL+yQQb/fpWY9\\nrh9p5e/FEPCbm6U8iuHsMxi/Epnl65F1fjGyzc/E/OzZcYA+3+Wewfkvf7mUDz4Yv6++qkcG8Ffj\\nj/iccrkqs9aj2r+aH/a4PD7rnkUAfuzgvwQIECBAgAABAgQIECBAgAABAgQIECBAgMDSCgjQL23T\\nu3ECBGop8PBBGfz0Xynljcii/2IE3rciAN+KAP0zV0rrD/+Lo4cD2v/kP1FKZKYPP/po9E73wZ//\\nL8f7f/Tgk1vKIelfiqHlc8plhQABAgQIECBAgAABAgQIECBAgAABAgQIECBA4MQFBOhPvAlUgAAB\\nAlMC+Q76zIx/JzLpH0cm/TAy4Dc2SvnqG+Mh4p+PDP4I0JcM0L/3Xil3I5h//53Y1hufqP0ke/7a\\ns6XklNnvCgECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIkLCNCfeBOoAAECBCYELlwo7Ve/P4Lx\\nd8vgH/5GZNBHkD4D7w8elOFfiMz6yIbvTw5xn0PiP4xAfS+Gu9+O/TI4vx7B+wjMt3/oD5Zy+4Xx\\n0PgTl7BIgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwMgIC9Cfj7qoECBDYWSCz3Z+NrPet7VKe\\nj+HpSwTcH3w4DsA/fDh+J/3g/fGxsSk3l3b8UZ6B+QvnIoAfy89cLuXG9fHxz12TQT/W8l8CBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAwIkLCNCfeBOoAAECBCYEVldL6+u/rpRbN0v73//xUt5+uwz+\\n+5+P4e5jKPt/9OulbEbgfjOGvx8Ox++mX42A/o0I6F84X1rf+k2j4H7re39XBOmvltZnXh4PhR/n\\nVAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBE5eQID+5NtADQgQIPBpgXy/fCsy4iNIX86sl/Ji\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\nTiJvKvmbvyf+4Owv5ON/Pt0e/asfXmxO4KW3c+L+7Xyu+J76+Aj8WXI6t+v9n5iNrE/diP/YKx4m\\neC8n3t89zcf6TK6f952XNM/rD//S38sPJXw3vXjjX7z8KP/f/28vk/QxGj2O+YWfykn8z6XDP/8L\\ns+XZiPb8AMHtn+QHGbpEeH7o4fb7v5eX/zh/N3weQR8J81Elpy7z6P94COLwK/949vH1L/7L7+T2\\n5aT8d/7ry4+8z0nF/LncKX02X2M+58Ff/Luz897+93+X+/Xj188eo/q7TwJ4fYslAhsTeCvH6d94\\n77Pp+zkuPsgj1j/KSfl/+4ffS3+YR8l/N3/XeyTF47GfSJi/mxP4P54T8T/7zjvp83n+r7/73uzj\\n5eN76vNdvan/o8yuLRL+v/TF0/T7uT1P//dH6f/m/7dFe26iPfl1nE/4Vv7/Q7xy0xQCBAgQIHAn\\nMPY3ursDmSFAgAABAgQIECBAgAABAgQIECBAYM8EYrR5JNCHJdYNR6JHnUhWfzqPCD/OI6vfzSPh\\nYwT4985zIjuPGr/NSen4GPfZx73nbNVrCfqc6H4314t94zvSj3MSuV/WbUd/35iPdr2RR45H0v/d\\nRzmTl9sVJUaJ/3gk6HMy+jDW5XqzEvVzsj4S8O9E/fwwQZQYaf9ubt87r+rHceeVSHDHd8xHOnB2\\nvrzfD76fE+AxEj4S9PlcsT4n6NM7H8wS4OkzeRoj/H+Qzxt1ooRDJPNn5+ll+EZ55OPEJxbECP/Z\\nAxL5vNGej3MfRfuij+JBgHgIIR4KiOufLed6wwR9jMQf/dDAy0v13+kIHOW4iI+dH5ZYF9uGJda8\\nnWM1Rs6f5TonOWH/QX4w5O3Dm/RGzszPEuK5TnwX/Ht5fXyMfSTyP5/v79M8je+wz3f0yrJuu+KB\\ngC/kc+T0e3qUv87i0znuP5Xb8zyPmD/I30kfDwp85vgwt/1wVmdlA1QgQIAAgckIlPxcmgyGCyVA\\ngAABAgQIECBAgAABAgQIECBAoCfw9ufT4S/8kx8mjLtNkSDO2xaW+I72P/WX8345UfWTf202TTEy\\ne+FH3OdEd3xcfCSi8/fB/0i5bzu6A0USORLNORF/+Lf/2evXE8n0uJ78/fR3JSfFDz77Yc72/el0\\n8Hd+ulc/ZwBnH8k/qH+3YzeT60WCP393/OHP/P2X+3cfcR9DfSMJGR9xH+eNBwdyou8gPnI+vF4z\\nyvUOs8fQZaxHHC/Om80Pf+aXBu2LBsZ1vnJ5M3+yQKx57ydm7ZstdP+J43zq5fZulSmBVQKfz0nz\\nf/pTH84+Cr5fN99xKbYtKm/mRPvP/Pjbs4+2/yv5ky/i/yjxsfezkHq1UyTN812Z4uPt43iRrM93\\nc1FZt13x0fsffvrTKUdG+uk8jcdq+u2JdryVP1o/2vFjuT0KAQIECBDoBPJvgQoBAgQIECBAgAAB\\nAgQIECBAgAABAgTmCCwaqT2n6uurIgEd30+ey+x75F/O3vu/925H74yHeSR6yq95nwjQq3Y3242y\\nf+fVddxtKJyJ5HW83swfhR9l1WE+Fe0rLJvwWLd93acIFDZRNQKLBCJh/cU84nzdEon2T79KdMfH\\n3m+63Kddn8pJ+iifzh+hrxAgQIAAgVKBzf8UKz2zegQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYEICEvQT6myXSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK7E5Cg3529MxMg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAhAQk6CfU2S6VAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBHYnIEG/O3tnJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEJCRxP\\n6FpdKgECBAgQIECAAAECBAgQIECAAAECWxS4ublJV1dXKabLytHRUTo7O0sxVQgQIECAAAECBAhM\\nSUCCfkq97VoJECBAgAABAgQIECBAgAABAgQIbFEgkvNPnjxJl5eXS89yfn6enj59mmKqECBAgAAB\\nAgQIEJiSgAT9lHrbtRIgQIAAAfFJ898AAEAASURBVAIECBAgQIAAAQIECBDYokCMnI/k/MXFxcqz\\nrBplv/IAKhAgQIAAAQIECBBoUMB30DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\nwFQEJOin0tOukwABAgQmK3CQf9off7B6BP1xHmF/4MtvJnufuHACBAgQIECAAAECmxDw/mMTio5B\\ngAABAgQIECCwzwL+DL/PvevaCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAaAQn6arpC\\nQwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgnwUk6Pe5d10bAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECFQjIEFfTVdoCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjs\\ns4AE/T73rmsjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWoEJOir6QoNIUCAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAIF9FpCg3+fedW0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUI2ABH01XaEhBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILDPAhL0+9y7ro0A\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEqhE4rqYlGkKAAIE1BG5ubtLV1VWKaZTLy8u7\\n+WWHifpR9+joKJ2dnc2my+rbRqBFgWF8PDt6lm5Oc6wcLb+aWXx85zK9yP/Ex3IrW9sVGMaHnx/t\\n9qWWb15AfGze1BH3R0B87E9fupLNCwzjw/uPzRs7YrsCw/jw/qPdvtTyzQuIj82bOiIBAu0IHGyg\\nqaXHWFZv3rbhuv7yqvlu+zrTft2Yn7e8aF1Xv2Qan1owr9689cN13XKkWN7Kry/f3t5+PU8VApM9\\n4ss1AABAAElEQVQTiDc0T548mSXb4+KHv9AtAukS848fP05Pnz5N5+fni6paT6BZgWF8HJ4fpje+\\n8VaK6bLy4vJF+uSrH6dH+Z/4WCZlW8sCw/jw86Pl3tT2TQuIj02LOt4+CYiPfepN17JpgWF8eP+x\\naWHHa1lgGB/ef7Tcm9q+aQHxsWlRx5uawMHBwdfyNX8rvz7OrxjJeJtfL15NY37e8qJ1y9Z3x1o1\\nzaecnbNfb7iuv9zN32fa32fZ/HBbLEeJNi4qy7b19ymt19/nbt4I+jsKMwQI1CwwfAMTv8BdXFzc\\nJehL2x7HiX2jxP6xHKVL3MdUIdCawKr4OEkn6fHNh+kw/1tWuvi4vrkWH8ugbGtKYFV8lF5MFx9R\\n38+PUjX1ahcQH7X3kPbtUkB87FLfuWsXWBUf3n/U3oPat02BVfFReu44jr9flWqp14qA+Gilp7ST\\nAIGHEOhGhI85V+kxltWbt224rr+8ar7bvs60Xzfm5y0vWtfVL5l2o+CHdeetH67rlo2gH3PH2rdJ\\ngfs+UbnoYocJ+RhJb8TwIi3raxdYFR8nj3OC/psfppguK9cXOTH/lW+nGEnf/4h78bFMzbbaBVbF\\nx7rt9/NjXTH1axYQHzX3jrbtWkB87LoHnL9mgVXx4f1Hzb2nbdsWWBUf657f+491xdSvWUB81Nw7\\n2taigBH0r42C749m789H1w6XF63rboN59btt/Wlpvf4+d/NG0N9RmCFAoEaB7snKGK14nxHzi66p\\n/yRy1InlOH6UfmJytsJ/CFQqID4q7RjNqkJAfFTRDRpRqYD4qLRjNKsKAfFRRTdoRKUC4qPSjtGs\\nKgTERxXdoBGVCoiPSjtGswgQ2KlAjOIeW0qPsazevG3Ddf3lVfPd9nWm/boxP2950bqufsm0GwU/\\nrDtv/XBdt2wE/di71v7NCHRPVkby/Orq6u4j6Td9Ad0Tyb6bftOyjrdNgdL4WHcES4yk7xfx0dcw\\n34pAaXyMvR7xMVbQ/rsQEB+7UHfOVgTERys9pZ27ECiND+8/dtE7zrlrgdL4GNtO7z/GCtp/FwLi\\nYxfqzjkFASPoXxsZ3x/N3p+PW2G4vGhdd9vMq99t609L6/X3uZs3gv6OwgwBAjUJbOvJykXXGOeL\\nXxajGEm/SMn6WgTERy09oR01CoiPGntFm2oREB+19IR21CggPmrsFW2qRUB81NIT2lGjgPiosVe0\\nqRYB8VFLT2gHAQI1CnQjwse0rfQYy+rN2zZc119eNd9tX2farxvz85YXrevql0y7UfDDuvPWD9d1\\ny0bQj7lj7duEwEM9WTnE8CTyUMRyjQLrxsfYESydgfjoJExrFlg3PjZ1LeJjU5KOs00B8bFNXcdu\\nXUB8tN6D2r9NgXXjw/uPbfaGY9cmsG58bKr93n9sStJxtikgPrap69gEchLz4OBr2eFb+fVxft3k\\nV4zofvFqGvPzlhetW7a+O9aqaT7l7Jz9esN1/eVu/j7T/j7L5ofbYjlKtHFRWbatv09pvf4+d/NG\\n0N9RmCFAoAaBh36ycnjNcf745TGKkfRDHcu7FhAfu+4B569ZQHzU3DvatmsB8bHrHnD+mgXER829\\no227FhAfu+4B569ZQHzU3DvatmsB8bHrHnB+AgRaEOhGhI9pa+kxltWbt224rr+8ar7bvs60Xzfm\\n5y0vWtfVL5l2o+CHdeetH67rlo2gH3PH2rdqgV09WTlE8STyUMRyDQL3jY9NjWDpDMRHJ2Fak8B9\\n42PT1yA+Ni3qeJsQEB+bUHSMfRUQH/vas65rEwL3jQ/vPzah7xi1C9w3PjZ9Xd5/bFrU8TYhID42\\noegYBFYLGEH/2ij4/mj2/nxADpcXrevQ59XvtvWnpfX6+9zNG0F/R2GGAIEaBOIJy/glLl67LF07\\n4o1OzCsEahDo7kvxUUNvaENtAuKjth7RnpoExEdNvaEttQmIj9p6RHtqEhAfNfWGttQmID5q6xHt\\nqUlAfNTUG9pCgECtAjEiWyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgS2LCBBv2Vg\\nhydAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiEgQe8+IECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDyDgO+gfANkpCExZ4CbdpO/mfzEtKc+OnqXD88N0kv/VUKIt0aa125Mv\\n9/rqOhVedg2Xqg0NCMR3z8f3eNVSuu8Uq6U92rFnAkcpnZzlnwV5WlL8/ChRUmdvBMTH3nSlC9mC\\ngPjYAqpDTlXA+4+p9vxEr9vPj4l2vMsuEphofBzlP0h8Lv+LqUKAAIFNCxxs4IClx1hWb9624br+\\n8qr5bvs6037dmJ+3vGhdV79kGp9aMK/evPXDdd1y/ER4K7++fHt7+/U8VQhUK/AsfZT+4Yt/lGJa\\nUp4/f56ePXuWYlpDOT4+Tqenpymm65Try0/Sd776eymmCoFNCURC/Orqau0k/cnjk/T4mx+mmC4r\\n1xfX6eIr304xLSlHR0fp7OwsxVQhsGmBk/M30qNvfCnFtKT4+VGipM6+CIgPv1/ty728jesQH+Jj\\nG/fVVI/p/cdUe36a1+3nh58f07zzy656qvFxmr6QfuvwN1NMFQI1ChwcHHwtt+tb+fVxfsWortv8\\nevFqGvPzlhetW7a+O9aqaT7l7Jz9esN1/eVu/j7T/j7L5ofbYjlKtHFRWbatv09pvf4+d/PrZZzu\\ndjNDgACBMoGblBPuOTn/nfyvqOT/Kx18cLD+iPWig9+v0keFDxf0j359kxOdl79bnOjs72ueQCsC\\nRtC30lNttnP2ySU3x+U/D/z8aLOjtfpeAuKj7EGye+HaqXkB8SE+mr+JXcBCAe8/FtLYsAEBPz/8\\n/NjAbbS3h5hqfESHxt+2FQIECGxDIEZkKwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMCWBSTotwzs8AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIAQk6N0HBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgAQQk6B8A2SkIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEDh+gHM4BQECExY4SsfpNH2hWOD58+fp2bNnKaY1lOPj3P7T0xTTdcr10ScpnT9P\\n1ylPFQIbEri5uUlXV1cppjWUo6OjdHZ2lmKqENi0wMn5G+nR0Vk6SW8UHdrPjyImlfZEQHz4/WpP\\nbuWtXIb4EB9bubEmelDvPyba8RO9bD8//PyY6K1fdNlTjY/4m3b8bVshQIDANgT832Ubqo5JgMCd\\nwOfS++m3Dn8j3eR/JeXyo8v05BefpMvLy5LqW69zfn6efuPpb6eYrlU+SOn66XUqvOy1Dq3ydAUi\\nLp48qSc+Ijn/9OnT9eNjul3oytcRyM99nJydpFT4eU9+fqyDq27zAuKj+S50AVsUEB9bxHXoqQl4\\n/zG1Hp/49fr5MfEbwOUvFZhofBzl9Hz8bVshQIDANgQk6Leh6pgECNwJxC8yp/lfabm+uU4vLl+k\\n64uc3K6gvEgv0unNaXqU/61V8i+uac2c/lrHV3myAjWNVo+2xMMrjx8/nmx/uPB6BPz8qKcvtKQ+\\nAfFRX59oUT0C4qOevtCSOgW8/6izX7Rq9wJ+fuy+D7SgXoG9iY96ibWMAIE9ECgck7QHV+oSCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDADgWMoN8hvlMTIPCjAt2I3F1/1120Iz6+O0YH\\n1zRi4EfFrJmSgPiYUm+71nUFxMe6YupPSUB8TKm3Xeu6AuJjXTH1pyQgPqbU2651XQHxsa6Y+lMS\\nEB9T6m3XSoDAfQUO7rtjb7/SYyyrN2/bcF1/edV8t32dab9uzM9bXrSuq18yjU8tmFdv3vrhum45\\nPjz7rfz68u3t7dfzVCGwNwJdYv7i4mKn37Udifn4bu346O5I1McvlgqBXQvcNz5OHp+kx9/8MMV0\\nWYmvlrj4yrdXfsWE+FimaNuuBO4bH5tur/jYtKjjbUJAfGxC0TH2VUB87GvPuq5NCNw3Prz/2IS+\\nY9QucN/42PR1ef+xaVHH24SA+NiEomMQWC1wcHDwtVzrW/n1cX7d5Ndtfr14NY35ecuL1i1b3x1r\\n1TSfcnbOfr3huv5yN3+faX+fZfPDbbEcJdq4qCzb1t+ntF5/n7t5I+jvKMwQIFCDQPeEZbSl+17r\\nq6urFL/YPUSJ80dCPs4dr3ijoxCoRUB81NIT2lGjgPiosVe0qRYB8VFLT2hHjQLio8Ze0aZaBMRH\\nLT2hHTUKiI8ae0WbahEQH7X0hHYQIFCzQDcifEwbS4+xrN68bcN1/eVV8932dab9ujE/b3nRuq5+\\nybQbBT+sO2/9cF23bAT9mDvWvk0I7OpJS08eN3F7TL6R68bHpkawiI/J33pNAKwbH5u6KPGxKUnH\\n2aaA+NimrmO3LiA+Wu9B7d+mwLrx4f3HNnvDsWsTWDc+NtV+7z82Jek42xQQH9vUdWwCOYlpBH1/\\nBPui+bhV+tu6W2feupJtXZ2YLjtGv97ceSPo57JYSYDArgUe+knLOJ+R87vudecvFRAfpVLqTVFA\\nfEyx111zqYD4KJVSb4oC4mOKve6aSwXER6mUelMUEB9T7HXXXCogPkql1CNAYIoC3YjwMddeeoxl\\n9eZtG67rL6+a77avM+3Xjfl5y4vWdfVLpt0o+GHdeeuH67plI+jH3LH2bUrgoZ609ORxU7eFxr4S\\nKI2PsSNYxIdbrkWB0vgYe23iY6yg/XchID52oe6crQiIj1Z6Sjt3IVAaH95/7KJ3nHPXAqXxMbad\\n3n+MFbT/LgTExy7UnXMKAkbQvzaCvT+avT8ft8JwedG67raZV7/b1p+W1uvvczdvBP0dhRkCBGoU\\nGD5pGctRul/sYnqfEseJEfPd8eINju+cv4+kfXYpID52qe/ctQuIj9p7SPt2KSA+dqnv3LULiI/a\\ne0j7dikgPnap79y1C4iP2ntI+3YpID52qe/cBAjUKtCNCB/TvtJjLKs3b9twXX951Xy3fZ1pv27M\\nz1tetK6rXzLtRsEP685bP1zXLRtBP+aOtW+TAsOE/OXlZXry5EmK6X1K98RxTKPEL4r9hP19jmkf\\nArsSWBUf645gOb05TU+fPk3iY1c96rybFFgVH+uey8+PdcXUr1lAfNTcO9q2awHxsesecP6aBVbF\\nh/cfNfeetm1bYFV8rHt+7z/WFVO/ZgHxUXPvaFuLAkbQvzYyvj+avT8fXTtcXrSuuw3m1e+29ael\\n9fr73M0bQX9HYYYAgZoF+k9aRjtjOUa8xzTK8Be82cref4YJ+HiDY8R8D8hs0wKr4uPw/PAuVpZd\\naHecR+mR+FgGZVtTAt193TU6lv386DRMpy4gPqZ+B7j+ZQLiY5mObVMXWBUf3n9M/Q6Z9vWvig9/\\nv5r2/TH1qxcfU78DXD8BAn2BbkR4f92686XHWFZv3rbhuv7yqvlu+zrTft2Yn7e8aF1Xv2TajYIf\\n1p23friuWzaCft27VP29Exi+oVk1ot4Tx3t3C7igJQLD+Hh29Cz98umvpJguKzFy/tef/VpOzz/y\\niRLLoGxrWmAYH35+NN2dGr9hAfGxYVCH2ysB8bFX3eliNiwwjA/vPzYM7HBNCwzjw/uPprtT4zcs\\nID42DOpwkxMwgv61kfH90ez9+bgvhsuL1nX30Lz63bb+tLRef5+7eSPo7yjMECDQksCqJy6H12LE\\n/FDE8j4LDOPjJJ2koxcvP21i2XV3+0WCXiGwrwLdfd5dXyz3R9R367upnx+dhOkUBMTHFHrZNd5X\\nQHzcV85+UxAYxof3H1PodddYKjCMj1j2/qNUT719FxAf+97Dro8AgWUCEvTLdGwjQKAZgfj++PjO\\n7Hjycl6JX/iijkKAAAECBPoCfn70NcwTeF1AfLzuYYlAX0B89DXMEyBAgECpgJ8fpVLqTVFAfEyx\\n110zgekKSNBPt+9dOYG9Ehg+cblXF+diCBAgQGBrAn5+bI3WgfdAQHzsQSe6hK0JiI+t0TowAQIE\\n9lrAz4+97l4XN1JAfIwEtDsBAk0JxHeaKwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMCWBSTotwzs8AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIAQk6N0HBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIEDgAQQk6B8A2SkIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instancens of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS (Implement a Driving Agent)\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = -3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -98, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2. Inform the Driving Agent\\n\",\n    \"Now that your driving agent is capable of moving around in the environment, your next task is to **identify a set of states that are appropriate for modeling the smartcab and environment**. \\n\",\n    \"- The main source of state variables are the current inputs at the intersection, but not all may require representation. \\n\",\n    \"- You may choose to explicitly define states, or use some combination of inputs as an implicit state. \\n\",\n    \"- At each time step, process the inputs and update the agent's current state using the self.state variable. \\n\",\n    \"- Continue with the simulation deadline enforcement enforce_deadline being set to False, and observe how your driving agent now reports the change in state as the simulation progresses.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\\n\",\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Answers (Inform the Driving Agent)\\n\",\n    \"\\n\",\n    \"States (v1):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Initial <code>deadline = self.compute_dist(start, destination) * 5</code>.</li><li>\\n\",\n    \"`compute_dist` is at most 12 (between points (1,1) and (8,6)).\\n\",\n    \"So max init deadline is 60. </li><li>\\n\",\n    \"-> Possible values include all positive integers in range [1,60] and integers < -1 which we will put into one group (past deadline)</li></ul></td><td>61</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States (v2):\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Traffic light</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>inputs['oncoming']</td><td>None, forward, left, right</td><td>4</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>Some notion of proximity? Nothing for now.</td><td>1</td></tr>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Add why each state is appropriate for the problem\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Total number of states: 16\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"- note that grid overflows along top, bottom, right and left sides\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**TODO**:\\n\",\n    \"1. Find out what inputs['right'] and inputs['left'] mean\\n\",\n    \"2. Print coordinates of primary agent for each turn\\n\",\n    \"3. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Question: If the destination is in the bottom right and the car starts on the top left, can the car plan a route that goes THROUGH the top and left of the grid?\\n\",\n    \"- this initialisation is possible. `compute_dist` is required to be > 4 where \\n\",\n    \"    <pre>\\n\",\n    \"    def compute_dist(self, a, b):\\n\",\n    \"        \\\"\\\"\\\"L1 distance between two points.\\\"\\\"\\\"\\n\",\n    \"        return abs(b[0] - a[0]) + abs(b[1] - a[1])\\n\",\n    \"    </pre>\\n\",\n    \"    The two coordinates in question are (1,1) and (8,6), so `compute_dist` would return 7 + 6 = 12 > 5.\\n\",\n    \"\\n\",\n    \"QUESTION: How do the route_planner actions interact with the actions I set?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Read the `simulator.py` and `environment.py` files.\\n\",\n    \"- Discovered pressing spacebar to pause.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Unresolved\\n\",\n    \"- What do the 'left' and 'right' inputs mean?\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3. Implement a Q-Learning Driving Agent\\n\",\n    \"With your driving agent being capable of interpreting the input information and having a mapping of environmental states, your next task is to **implement the Q-Learning algorithm** for your driving agent to choose the best action at each time step, based on the Q-values for the current state and action. \\n\",\n    \"- Each action taken by the smartcab will produce a reward which depends on the state of the environment. \\n\",\n    \"- The Q-Learning driving agent will need to consider these rewards when updating the Q-values. \\n\",\n    \"- Once implemented, set the simulation deadline enforcement enforce_deadline to True. \\n\",\n    \"- Run the simulation and observe how the smartcab moves about the environment in each trial.\\n\",\n    \"\\n\",\n    \"The formulas for updating Q-values can be found in [this video](https://classroom.udacity.com/nanodegrees/nd009/parts/0091345409/modules/e64f9a65-fdb5-4e60-81a9-72813beebb7e/lessons/5446820041/concepts/6348990570923).\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Debugging\\n\",\n    \"\\n\",\n    \"I realised the agent wasn't acting. Printed more info.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\\n\",\n    \"LearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.15, 0.0, 0.0]\\n\",\n    \"max_q:  0.0\\n\",\n    \"count:  1\\n\",\n    \"action index:  0\\n\",\n    \"action:  None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The 'count' variable was defined wrongly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"def choose_action(self, state):\\n\",\n    \"        \\\"\\\"\\\"User-created function\\\"\\\"\\\"\\n\",\n    \"        # Get all the Q-values corresponding to the current state\\n\",\n    \"        q = [self.get_q(state, a) for a in self.actions]\\n\",\n    \"        print \\\"q: \\\", q\\n\",\n    \"        # Find the max Q-value for this state\\n\",\n    \"        max_q = max(q)\\n\",\n    \"        print \\\"max_q: \\\", max_q\\n\",\n    \"        # Find the action corresponding to the max Q-value for this state\\n\",\n    \"        count = len([max_q])\\n\",\n    \"        print \\\"count: \\\", count\\n\",\n    \"        # If there are multiple actions with Q-value = max Q-value for this state\\n\",\n    \"        if count > 1:\\n\",\n    \"            best = [i for i in range(len(self.env.valid_actions)) if q[i] == max_q]\\n\",\n    \"            print \\\"best: \\\", best\\n\",\n    \"            # Pick among the 'best' actions randomly\\n\",\n    \"            i = random.choice(best)\\n\",\n    \"        # Else if there is only one 'best' action,\\n\",\n    \"        else:\\n\",\n    \"            # Pick the action corresponding to the max Q-value \\n\",\n    \"            i = q.index(max_q)\\n\",\n    \"            print \\\"action index: \\\", i\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Maybe I should have incorporated `next_waypoint` into my state:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"random\\n\",\n    \"action:  forward\\n\",\n    \"LearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"next_waypoint:  forward\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.3819213571826228]\\n\",\n    \"max_q:  1.38192135718\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\\n\",\n    \"\\n\",\n    \"next_waypoint:  left\\n\",\n    \"q:  [0.0, -0.2559177346466295, -0.3, 1.0246331536052293]\\n\",\n    \"max_q:  1.02463315361\\n\",\n    \"count:  1\\n\",\n    \"action index:  3\\n\",\n    \"action:  right\\n\",\n    \"LearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"AAAAH it's working!\\n\",\n    \"\\n\",\n    \"AND now env is also printing results! Previously I put `self.results` in TrafficLight instead of in Environment. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4. Improve the Q-Learning Driving Agent\\n\",\n    \"Your final task for this project is to enhance your driving agent so that, after sufficient training, the smartcab is **able to reach the destination within the allotted time safely and efficiently**. \\n\",\n    \"- Parameters in the Q-Learning algorithm, such as the learning rate (alpha), the discount factor (gamma) and the exploration rate (epsilon) all contribute to the driving agent’s ability to learn the best action for each state. \\n\",\n    \"\\n\",\n    \"To improve on the success of your smartcab:\\n\",\n    \"\\n\",\n    \"- Set the number of trials, n_trials, in the simulation to 100.\\n\",\n    \"- Run the simulation with the deadline enforcement enforce_deadline set to True (you will need to reduce the update delay update_delay and set the display to False).\\n\",\n    \"- Observe the driving agent’s learning and smartcab’s success rate, particularly during the later trials.\\n\",\n    \"- Adjust one or several of the above parameters and iterate this process.\\n\",\n    \"\\n\",\n    \"This task is complete once you have **arrived at what you determine is the best combination of parameters required** for your driving agent to learn successfully.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Report the different values for the parameters tuned in your basic implementation of Q-Learning. For which set of parameters does the agent perform best? How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Does your agent get close to finding an optimal policy, i.e. reach the destination in the minimum possible time, and not incur any penalties? How would you describe an optimal policy for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<iframe id=\\\"igraph\\\" scrolling=\\\"no\\\" style=\\\"border:none;\\\" seamless=\\\"seamless\\\" src=\\\"https://plot.ly/~jessicayung/4.embed\\\" height=\\\"525px\\\" width=\\\"100%\\\"></iframe>\"\n      ],\n      \"text/plain\": [\n       \"<plotly.tools.PlotlyDisplay object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"import plotly.plotly as py\\n\",\n    \"py.sign_in('jessicayung', 'l53zmz8hg6')\\n\",\n    \"import plotly.graph_objs as go\\n\",\n    \"\\n\",\n    \"data = [\\n\",\n    \"    go.Heatmap(\\n\",\n    \"        z=[[97.72, 98.06, 98.06, 97.84, 98.00], [98.34, 98.06, 97.98, 97.80, 98.10], \\n\",\n    \"           [97.80, 97.60, 97.76, 97.88, 97.12]],\\n\",\n    \"        x=['1.0/(t^0.01)', '1.0/(t^0.25)', '1.0/(t^0.5)', '1.0/(t^0.75)', '1.0/t'],\\n\",\n    \"        y=['0.01', '0.10', '0.20']\\n\",\n    \"    )\\n\",\n    \"]\\n\",\n    \"py.iplot(data)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/old-versions-of-reports/Smartcab Report-Copy2.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# P4 Smartcab \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Implement a Basic Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **Process**\\n\",\n    \"\\n\",\n    \"**Understanding the game** The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\n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\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Changing Code** I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I then ran the simulation. The console output confirmed that the car was taking actions and that there were instances of all actions within the set [None, 'forward', 'left', 'right']:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"</pre>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Inform the Driving Agent\\n\",\n    \"\\n\",\n    \"### QUESTIONS:\\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States:\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\\n\",\n    \"<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Total number of states**: 4^4 * 2 = 512 states.\\n\",\n    \"\\n\",\n    \"The minimum 'deadline' is `minimum distance` x 5 = 4 x \\n\",\n    \"5 = 20 and the maximum is 12 x 5 = 60. \\n\",\n    \"\\n\",\n    \"If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means **each state will be visited an average of** 20 turns x 100 trials / 512 states i.e. about **4 times**. This is **reasonable but is still quite low**.\\n\",\n    \"\\n\",\n    \"This low number is **why I did not include further state attributes** I considered (see boloew) because that would only reduce the number of visits to each state even further.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States that I considered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Implement a Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent is **more likely to take actions corresponding to `next_waypoint`** when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that **maximise total expected reward**.\\n\",\n    \"\\n\",\n    \"The agent is **less likely to take actions tha result in penalties** (crashing into cars, making illegal moves or making moves that are legal but are not equal to `next_waypoint` so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.\\n\",\n    \"\\n\",\n    \"It does not just move randomly in loops any more.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Notes: Debugging 'Implementing a Q-Learning Driving Agent'\\n\",\n    \"1. I realised the agent wasn't acting because the `count` variable was defined wrongly: \\n\",\n    \"    - `count` was used to see there were multiple actions with `q-value = maxQ` for that state. \\n\",\n    \"    - If `count` > 1, we would randomly choose one action out of the set of actions where `q-value = maxQ`.\\n\",\n    \"    - `count` was wrongly defined as `len([maxq])`, which is always equal to one since it is an array with a float in it.\\n\",\n    \"    - It should've been `len([i in q if q[i] == max_q])` instead.\\n\",\n    \"    - Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.\\n\",\n    \"    - This meant the agent often chose `None`.\\n\",\n    \"2. I'd forgotten to incorporate `next_waypoint` into my state. Pretty silly.\\n\",\n    \"3. I wanted to print results after every turn for debugging purposes and put `self.results` in TrafficLight instead of Environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Improve the Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Your final task for this project is to enhance your driving agent so that, after sufficient training, the smartcab is **able to reach the destination within the allotted time safely and efficiently**. \\n\",\n    \"- Parameters in the Q-Learning algorithm, such as the learning rate (alpha), the discount factor (gamma) and the exploration rate (epsilon) all contribute to the driving agent’s ability to learn the best action for each state. \\n\",\n    \"\\n\",\n    \"To improve on the success of your smartcab:\\n\",\n    \"\\n\",\n    \"- Set the number of trials, n_trials, in the simulation to 100.\\n\",\n    \"- Run the simulation with the deadline enforcement enforce_deadline set to True (you will need to reduce the update delay update_delay and set the display to False).\\n\",\n    \"- Observe the driving agent’s learning and smartcab’s success rate, particularly during the later trials.\\n\",\n    \"- Adjust one or several of the above parameters and iterate this process.\\n\",\n    \"\\n\",\n    \"This task is complete once you have **arrived at what you determine is the best combination of parameters required** for your driving agent to learn successfully.\\n\",\n    \"\\n\",\n    \"**QUESTION**: \\n\",\n    \"- Report the different values for the parameters tuned in your basic implementation of Q-Learning. For which set of parameters does the agent perform best? How well does the final driving agent perform?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Answers:\\n\",\n    \"### 4.1 Planning\\n\",\n    \"\\n\",\n    \"**Procedure**:\\n\",\n    \"1. Run each configuration 50 times (50 sets of 100 trials)\\n\",\n    \"2. Write metrics into separate file\\n\",\n    \"3. Convert to summary statistics over 50 sets\\n\",\n    \"4. Observe statistics\\n\",\n    \"4. Alter list of configurations as appropriate and repeat until satisfied\\n\",\n    \"\\n\",\n    \"The **metrics considered** were\\n\",\n    \"- **Total number of successful outcomes** (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates **inefficiency**.\\n\",\n    \"    - **Average buffer** (Time left / Initial deadline) -> Indicates how efficient the driving agent was.\\n\",\n    \"\\n\",\n    \"- **Average number of incorrect actions per trial** (penalties of -1.0) because this indicates an action was **unsafe**.\\n\",\n    \"\\n\",\n    \"The parameters considered were\\n\",\n    \"- Exploration rate Epsilon (epsi)\\n\",\n    \"- Discount rate Gamma (gamma)\\n\",\n    \"- Learning rate Alpha (alpha) \\n\",\n    \"- Default Q value (if one did not exist before (q) -> kept constant at 0.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.2 Optimising\\n\",\n    \"\\n\",\n    \"#### 4.2.1 Optimising for Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.20\\t0.50\\t'1.0/t'\\t0.0\\t87.78\\t0.5179\\t1.0810\\n\",\n    \"0.10\\t0.50\\t'1.0/t'\\t0.0\\t94.20\\t0.5709\\t0.5732\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\\n\",\n    \"0.01\\t0.50\\t'1.0/t'\\t0.0\\t98.36\\t0.5829\\t0.1926\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.\\n\",\n    \"\\n\",\n    \"**Interpretation** This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.\\n\",\n    \"\\n\",\n    \"**Next actions** For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.\\n\",\n    \"\\n\",\n    \"Once we have chosen our gamma and alpha, we will optimise for epsilon.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.2 Optimising for Gamma (and Alpha)\\n\",\n    \"\\n\",\n    \"Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"0.05\\t0.25\\t'1.0/t'\\t0.0\\t97.18\\t0.5726\\t0.3538\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\\n\",\n    \"0.05\\t0.75\\t'1.0/t'\\t0.0\\t94.02\\t0.5573\\t0.3822\\n\",\n    \"0.05\\t0.99\\t'1.0/t'\\t0.0\\t75.30\\t0.5399\\t0.6030\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 135,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x11ae65ba8>\"\n      ]\n     },\n     \"execution_count\": 135,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11aee7470>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\\n\",\n    \"plt.plot([0.01,0.25,0.50,0.75,0.99], [98.00, 97.18,96.50,94.02,75.30], 'b-')\\n\",\n    \"plt.plot([0.01,0.25,0.50,0.75,0.99], [98.00, 97.18,96.50,94.02,75.30], 'ro')\\n\",\n    \"plt.xlabel('Gamma')\\n\",\n    \"plt.ylabel('')\\n\",\n    \"plt.legend(handles=[red_patch])\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"\\n\",\n    \"line1, = plt.plot([1,2,3], label=\\\"Line 1\\\", linestyle='--')\\n\",\n    \"line2, = plt.plot([3,2,1], label=\\\"Line 2\\\", linewidth=4)\\n\",\n    \"\\n\",\n    \"# Create a legend for the first line.\\n\",\n    \"first_legend = plt.legend(handles=[line1], loc=1)\\n\",\n    \"\\n\",\n    \"# Add the legend manually to the current Axes.\\n\",\n    \"ax = plt.gca().add_artist(first_legend)\\n\",\n    \"\\n\",\n    \"# Create another legend for the second line.\\n\",\n    \"plt.legend(handles=[line2], loc=4)\\n\",\n    \"\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations** \\n\",\n    \"* It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. \\n\",\n    \"* The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. \\n\",\n    \"* Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.\\n\",\n    \"\\n\",\n    \"**Next actions** This motivates us to try more Gamma values in the range (0,0.5).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.3 Pre-emptive checking for robustness\\n\",\n    \"\\n\",\n    \"We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.5)'\\t0.0\\t98.06\\t0.5709\\t0.3710\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.5)'\\t0.0\\t97.76\\t0.5767\\t0.3568\\n\",\n    \"0.05\\t0.25\\t'1.0/(t**0.5)'\\t0.0\\t97.68\\t0.5722\\t0.3636\\n\",\n    \"0.05\\t0.50\\t'1.0/(t**0.5)'\\t0.0\\t96.62\\t0.5696\\t0.3616\\n\",\n    \"0.05\\t0.75\\t'1.0/(t**0.5)'\\t0.0\\t93.76\\t0.5539\\t0.3888\\n\",\n    \"0.05\\t0.99\\t'1.0/(t**0.5)'\\t0.0\\t69.60\\t0.5312\\t0.7028\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** The **trend differences** were that average penalties continued to decrease as Gamma was increased up to 0.50. \\n\",\n    \"\\n\",\n    \"**Decision-making and next actions** The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was **not worthwhile to experiment with increasing Gamma beyond 0.25**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.4 Continue optimising for Gamma\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha   q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"0.05\\t0.25\\t'1.0/t'\\t0.0\\t97.18\\t0.5726\\t0.3538\\n\",\n    \"0.05\\t0.50\\t'1.0/t'\\t0.0\\t96.50\\t0.5709\\t0.3664\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for **setting Gammma to be around 0.1**.\\n\",\n    \"\\n\",\n    \"For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that **setting Gamma to be around 0.01** would be appropriate because an increase in successes of 0.003% seems to be more signi\\n\",\n    \"...\\n\",\n    \"\\n\",\n    \"**Next Actions**: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.\\n\",\n    \"\\n\",\n    \"We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.5 Optimising for Alpha\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi    gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.01)'\\t0.0\\t97.72\\t0.5761\\t0.3618\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.25)'\\t0.0\\t98.06\\t0.5722\\t0.3608\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.5)'\\t0.0\\t98.06\\t0.5709\\t0.3710\\n\",\n    \"0.05\\t0.01\\t'1.0/(t**0.75)'\\t0.0\\t97.84\\t0.5713\\t0.3718\\n\",\n    \"0.05\\t0.01\\t'1.0/t'\\t        0.0\\t98.00\\t0.5705\\t0.3694\\n\",\n    \"\\n\",\n    \"0.05\\t0.10\\t'1.0/t**0.001'\\t0.0\\t97.72\\t0.5733\\t0.3616\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.34\\t0.5737\\t0.3634\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.25)'\\t0.0\\t98.06\\t0.5723\\t0.3608\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.5)'\\t0.0\\t97.98\\t0.5682\\t0.3638\\n\",\n    \"0.05\\t0.10\\t'1.0/(t**0.75)'\\t0.0\\t97.80\\t0.5707\\t0.3788\\n\",\n    \"0.05\\t0.10\\t'1.0/t'\\t        0.0\\t98.10\\t0.5747\\t0.3604\\n\",\n    \"\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.01)'\\t0.0\\t97.80\\t0.5653\\t0.3730\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.25)'\\t0.0\\t97.60\\t0.5724\\t0.3606\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.5)'\\t0.0\\t97.76\\t0.5767\\t0.3568\\n\",\n    \"0.05\\t0.20\\t'1.0/(t**0.75)'\\t0.0\\t97.88\\t0.5694\\t0.3632\\n\",\n    \"0.05\\t0.20\\t'1.0/t'\\t        0.0\\t97.12\\t0.5685\\t0.3834\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(Alpha=0.01 was doing so well I decided to try Alpha=0.001.)\\n\",\n    \"\\n\",\n    \"For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.\\n\",\n    \"* Pick exp=0.25\\n\",\n    \"\\n\",\n    \"For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.\\n\",\n    \"* Pick exp=0.01\\n\",\n    \"\\n\",\n    \"For Gamma=0.2, \\n\",\n    \"* Pick exp=0.75\\n\",\n    \"\\n\",\n    \"**Overall**: pick Gamma=0.1, Alpha=1/(t**0.01).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.6 Finale: Optimising Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"epsi        gamma   alpha           q   success avg_buf avg_penalties\\n\",\n    \"0.000\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.70\\t0.5861\\t0.1706\\n\",\n    \"0.000001\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.90\\t0.5885\\t0.1728\\n\",\n    \"0.000005\\t0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.96\\t0.5869\\t0.1686\\n\",\n    \"0.00001\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t99.12\\t0.5926\\t0.1640\\n\",\n    \"0.001\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.98\\t0.5963\\t0.1692\\n\",\n    \"0.01\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.66\\t0.5884\\t0.2058\\n\",\n    \"0.05\\t    0.10\\t'1.0/(t**0.01)'\\t0.0\\t98.34\\t0.5737\\t0.3634\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose epsilon = 0.00001.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTION\\n\",\n    \"Parameters chosen:\\n\",\n    \"<table>\\n\",\n    \"<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\\n\",\n    \"<tr><td>0.00001</td><td>0.1</td><td>1/(t**0.01)</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Discussion: How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"- An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.\\n\",\n    \"- It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)\\n\",\n    \"- It would maxmise net reward and thus likely incur close to 0 -1.0 penalties.\\n\",\n    \"\\n\",\n    \"#### Comparing our driving agent to the optimal policy\\n\",\n    \"<table>\\n\",\n    \"<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\\n\",\n    \"<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"* Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.\\n\",\n    \"\\n\",\n    \"* As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.\\n\",\n    \"\\n\",\n    \"* There are still a significant number of penalties occurring (violations of traffic rules or  ). This is suboptimal.\\n\",\n    \"\\n\",\n    \"We then conclude that **our policy is efficient but not nearly as safe as it could be**.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 115,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 116,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.read_csv(\\\"smartcab_parameter_search.csv\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 137,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Len:  1800\\n\",\n      \"epsilon            0.000500\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        98.920000\\n\",\n      \" avg_buffer        0.593003\\n\",\n      \" avg_penalties     0.171400\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon            0.000010\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        99.120000\\n\",\n      \" avg_buffer        0.592551\\n\",\n      \" avg_penalties     0.164000\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon           1.000000e-06\\n\",\n      \" gamma            1.000000e-01\\n\",\n      \" defaultq         0.000000e+00\\n\",\n      \" successes        9.890000e+01\\n\",\n      \" avg_buffer       5.885499e-01\\n\",\n      \" avg_penalties    1.728000e-01\\n\",\n      \"dtype: float64\\n\",\n      \"epsilon            0.000005\\n\",\n      \" gamma             0.100000\\n\",\n      \" defaultq          0.000000\\n\",\n      \" successes        98.960000\\n\",\n      \" avg_buffer        0.586901\\n\",\n      \" avg_penalties     0.168600\\n\",\n      \"dtype: float64\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>epsilon</th>\\n\",\n       \"      <th>gamma</th>\\n\",\n       \"      <th>alpha</th>\\n\",\n       \"      <th>defaultq</th>\\n\",\n       \"      <th>successes</th>\\n\",\n       \"      <th>avg_buffer</th>\\n\",\n       \"      <th>avg_penalties</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>0.200000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>88</td>\\n\",\n       \"      <td>0.522698</td>\\n\",\n       \"      <td>1.06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50</th>\\n\",\n       \"      <td>0.100000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.558357</td>\\n\",\n       \"      <td>0.61</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>100</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.536775</td>\\n\",\n       \"      <td>0.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>150</th>\\n\",\n       \"      <td>0.010000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.613601</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>200</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.25</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.607052</td>\\n\",\n       \"      <td>0.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>250</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.567378</td>\\n\",\n       \"      <td>0.33</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>300</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.586167</td>\\n\",\n       \"      <td>0.30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>350</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.99</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>80</td>\\n\",\n       \"      <td>0.509129</td>\\n\",\n       \"      <td>0.36</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>400</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>92</td>\\n\",\n       \"      <td>0.557408</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>450</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.25</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.580703</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>500</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.584747</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>550</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>93</td>\\n\",\n       \"      <td>0.560760</td>\\n\",\n       \"      <td>0.48</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>600</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.596377</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>650</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.99</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>77</td>\\n\",\n       \"      <td>0.500140</td>\\n\",\n       \"      <td>0.57</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>700</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.5)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.559465</td>\\n\",\n       \"      <td>0.31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>750</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.564991</td>\\n\",\n       \"      <td>0.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>800</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/t'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.555574</td>\\n\",\n       \"      <td>0.40</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>850</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.549078</td>\\n\",\n       \"      <td>0.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>900</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.570607</td>\\n\",\n       \"      <td>0.38</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>950</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.588644</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1000</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.75)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.569591</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1050</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.590137</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1100</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.25)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>96</td>\\n\",\n       \"      <td>0.582641</td>\\n\",\n       \"      <td>0.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1150</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.572223</td>\\n\",\n       \"      <td>0.26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1200</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.579370</td>\\n\",\n       \"      <td>0.34</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1250</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.557951</td>\\n\",\n       \"      <td>0.34</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1300</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.20</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>94</td>\\n\",\n       \"      <td>0.542908</td>\\n\",\n       \"      <td>0.40</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1350</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.577833</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1400</th>\\n\",\n       \"      <td>0.050000</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>'1.0/(t**0.001)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.587306</td>\\n\",\n       \"      <td>0.35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1450</th>\\n\",\n       \"      <td>0.010000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.585467</td>\\n\",\n       \"      <td>0.15</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1500</th>\\n\",\n       \"      <td>0.001000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.598360</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1550</th>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>97</td>\\n\",\n       \"      <td>0.603297</td>\\n\",\n       \"      <td>0.18</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1600</th>\\n\",\n       \"      <td>0.000500</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.598422</td>\\n\",\n       \"      <td>0.17</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1650</th>\\n\",\n       \"      <td>0.000010</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>99</td>\\n\",\n       \"      <td>0.605551</td>\\n\",\n       \"      <td>0.14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1700</th>\\n\",\n       \"      <td>0.000001</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>100</td>\\n\",\n       \"      <td>0.603799</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1750</th>\\n\",\n       \"      <td>0.000005</td>\\n\",\n       \"      <td>0.10</td>\\n\",\n       \"      <td>'1.0/(t**0.01)'</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>98</td>\\n\",\n       \"      <td>0.615908</td>\\n\",\n       \"      <td>0.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"       epsilon   gamma              alpha   defaultq   successes   avg_buffer  \\\\\\n\",\n       \"0     0.200000    0.50            '1.0/t'        0.0          88     0.522698   \\n\",\n       \"50    0.100000    0.50            '1.0/t'        0.0          96     0.558357   \\n\",\n       \"100   0.050000    0.50            '1.0/t'        0.0          96     0.536775   \\n\",\n       \"150   0.010000    0.50            '1.0/t'        0.0          98     0.613601   \\n\",\n       \"200   0.050000    0.25            '1.0/t'        0.0          98     0.607052   \\n\",\n       \"250   0.050000    0.01            '1.0/t'        0.0          99     0.567378   \\n\",\n       \"300   0.050000    0.75            '1.0/t'        0.0          99     0.586167   \\n\",\n       \"350   0.050000    0.99            '1.0/t'        0.0          80     0.509129   \\n\",\n       \"400   0.050000    0.50     '1.0/(t**0.5)'        0.0          92     0.557408   \\n\",\n       \"450   0.050000    0.25     '1.0/(t**0.5)'        0.0          98     0.580703   \\n\",\n       \"500   0.050000    0.01     '1.0/(t**0.5)'        0.0          99     0.584747   \\n\",\n       \"550   0.050000    0.75     '1.0/(t**0.5)'        0.0          93     0.560760   \\n\",\n       \"600   0.050000    0.20     '1.0/(t**0.5)'        0.0         100     0.596377   \\n\",\n       \"650   0.050000    0.99     '1.0/(t**0.5)'        0.0          77     0.500140   \\n\",\n       \"700   0.050000    0.10     '1.0/(t**0.5)'        0.0          99     0.559465   \\n\",\n       \"750   0.050000    0.10            '1.0/t'        0.0          97     0.564991   \\n\",\n       \"800   0.050000    0.20            '1.0/t'        0.0          98     0.555574   \\n\",\n       \"850   0.050000    0.20    '1.0/(t**0.25)'        0.0          96     0.549078   \\n\",\n       \"900   0.050000    0.20    '1.0/(t**0.75)'        0.0          98     0.570607   \\n\",\n       \"950   0.050000    0.10    '1.0/(t**0.75)'        0.0          97     0.588644   \\n\",\n       \"1000  0.050000    0.01    '1.0/(t**0.75)'        0.0          99     0.569591   \\n\",\n       \"1050  0.050000    0.01    '1.0/(t**0.25)'        0.0          99     0.590137   \\n\",\n       \"1100  0.050000    0.10    '1.0/(t**0.25)'        0.0          96     0.582641   \\n\",\n       \"1150  0.050000    0.10    '1.0/(t**0.01)'        0.0          99     0.572223   \\n\",\n       \"1200  0.050000    0.01    '1.0/(t**0.01)'        0.0          98     0.579370   \\n\",\n       \"1250  0.050000    0.20    '1.0/(t**0.01)'        0.0          97     0.557951   \\n\",\n       \"1300  0.050000    0.20   '1.0/(t**0.001)'        0.0          94     0.542908   \\n\",\n       \"1350  0.050000    0.10   '1.0/(t**0.001)'        0.0          98     0.577833   \\n\",\n       \"1400  0.050000    0.01   '1.0/(t**0.001)'        0.0          98     0.587306   \\n\",\n       \"1450  0.010000    0.10    '1.0/(t**0.01)'        0.0          99     0.585467   \\n\",\n       \"1500  0.001000    0.10    '1.0/(t**0.01)'        0.0          99     0.598360   \\n\",\n       \"1550  0.000000    0.10    '1.0/(t**0.01)'        0.0          97     0.603297   \\n\",\n       \"1600  0.000500    0.10    '1.0/(t**0.01)'        0.0         100     0.598422   \\n\",\n       \"1650  0.000010    0.10    '1.0/(t**0.01)'        0.0          99     0.605551   \\n\",\n       \"1700  0.000001    0.10    '1.0/(t**0.01)'        0.0         100     0.603799   \\n\",\n       \"1750  0.000005    0.10    '1.0/(t**0.01)'        0.0          98     0.615908   \\n\",\n       \"\\n\",\n       \"       avg_penalties  \\n\",\n       \"0               1.06  \\n\",\n       \"50              0.61  \\n\",\n       \"100             0.43  \\n\",\n       \"150             0.19  \\n\",\n       \"200             0.39  \\n\",\n       \"250             0.33  \\n\",\n       \"300             0.30  \\n\",\n       \"350             0.36  \\n\",\n       \"400             0.31  \\n\",\n       \"450             0.31  \\n\",\n       \"500             0.37  \\n\",\n       \"550             0.48  \\n\",\n       \"600             0.37  \\n\",\n       \"650             0.57  \\n\",\n       \"700             0.31  \\n\",\n       \"750             0.42  \\n\",\n       \"800             0.40  \\n\",\n       \"850             0.37  \\n\",\n       \"900             0.38  \\n\",\n       \"950             0.44  \\n\",\n       \"1000            0.44  \\n\",\n       \"1050            0.35  \\n\",\n       \"1100            0.27  \\n\",\n       \"1150            0.26  \\n\",\n       \"1200            0.34  \\n\",\n       \"1250            0.34  \\n\",\n       \"1300            0.40  \\n\",\n       \"1350            0.35  \\n\",\n       \"1400            0.35  \\n\",\n       \"1450            0.15  \\n\",\n       \"1500            0.16  \\n\",\n       \"1550            0.18  \\n\",\n       \"1600            0.17  \\n\",\n       \"1650            0.14  \\n\",\n       \"1700            0.16  \\n\",\n       \"1750            0.16  \"\n      ]\n     },\n     \"execution_count\": 137,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df = pd.read_csv(\\\"smartcab_parameter_search.csv\\\")\\n\",\n    \"print(\\\"Len: \\\", len(df))\\n\",\n    \"\\n\",\n    \"tries = int(len(df)/50)\\n\",\n    \"for i in range(tries-4,tries):\\n\",\n    \"    print(df[50*i:50*(i+1)].mean())\\n\",\n    \"\\n\",\n    \"df[::50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Randos\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df_noa = df.drop(' alpha', axis=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Add plots\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [Root]\",\n   \"language\": \"python\",\n   \"name\": \"Python [Root]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/smartcab/__init__.py",
    "content": ""
  },
  {
    "path": "p4-smartcab/smartcab/agent.py",
    "content": "import random\nfrom environment import Agent, Environment\nfrom planner import RoutePlanner\nfrom simulator import Simulator\nimport numpy as np\n\nclass LearningAgent(Agent):\n    \"\"\" An agent that learns to drive in the smartcab world.\"\"\"\n\n    def __init__(self, env):\n        super(LearningAgent, self).__init__(env)  # sets self.env = env, state = None, next_waypoint = None, and a default color\n        self.color = 'red'  # override color\n        self.planner = RoutePlanner(self.env, self)  # simple route planner to get next_waypoint\n        # TODO: Initialize any additional variables here\n        self.q = {}\n        self.actions = [None, 'forward', 'left', 'right']\n\n        # Q-Learning parameters\n        self.epsilon = 0.000005\n        self.alpha = 1 # Alpha is the learning rate\n        self.gamma = 0.1 # gamma is the value of future reward. Learning doesn't work well with high gamma.\n        self.defaultq = 0.0\n        self.alpha_formula = \"\"\n\n    def get_q(self, state, action):\n        \"\"\"Returns the Q-value array for the given state\"\"\"\n        return self.q.get(str((state,action)), self.defaultq)\n\n    def learn_q(self, state, action, reward, state2):\n        max_state2_q = max([self.get_q(state2, a) for a in self.actions])\n\n        old_q = self.get_q(state, action)\n            \n        new_q = old_q*(1 - self.alpha) + \\\n                    self.alpha*(reward + self.gamma * max_state2_q)\n        \n        self.q[str((state, action))] = new_q\n\n    def reset(self, destination=None):\n        self.planner.route_to(destination)\n        # TODO: Prepare for a new trip; reset any variables here, if required\n        # print \"q: \", self.q\n        self.alpha = 1\n\n    def choose_action(self, state):\n        \"\"\"Choose an action for a given state.\"\"\"\n        # Get all the Q-values corresponding to the current state\n        q = [self.get_q(state, a) for a in self.actions]\n        print \"q: \", q\n        # Find the max Q-value for this state\n        max_q = max(q)\n        print \"max_q: \", max_q\n        # Find the action corresponding to the max Q-value for this state\n        count = len([i for i in q if i == max_q])\n        print \"count: \", count\n        # If there are multiple actions with Q-value = max Q-value for this state\n        if count > 1:\n            best = [i for i in range(len(self.env.valid_actions)) if q[i] == max_q]\n            print \"best: \", best\n            # Pick among the 'best' actions randomly\n            i = random.choice(best)\n        # Else if there is only one 'best' action,\n        else:\n            # Pick the action corresponding to the max Q-value \n            i = q.index(max_q)\n            print \"action index: \", i\n\n        # Return the action\n        return self.actions[i]\n\n    def update(self, t):\n        \"\"\"Updates state, chooses action (calls choose_action), \n        executes action, gets reward and learns Q values (calls learn_q)\"\"\"\n        # Gather inputs\n        self.next_waypoint = self.planner.next_waypoint()  # from route planner, also displayed by simulator\n        print \"next_waypoint: \", self.next_waypoint\n        if t != 0:\n            self.alpha = 1.0/(t**(0.01))\n            self.alpha_formula = \"1.0/(t**0.01)\"\n\n        # Variables for state\n\n        inputs = self.env.sense(self)\n        self.inputs = inputs\n        deadline = self.env.get_deadline(self)\n        \n        # TODO: Update state\n        self.state = [v for v in self.inputs.values()]\n        self.state.append(self.next_waypoint)\n        # print \"self.state:\" + str(self.state)\n                \n        # TODO: Select action according to your policy\n\n        random_action = (random.random() < self.epsilon)\n\n        # Allow for exploration\n        if random_action:\n            print \"random\"\n            action = random.choice([None, 'forward', 'left', 'right'])\n        else:\n            action = self.choose_action(self.state)\n\n        print \"action: \", action\n        # Execute action and get reward\n        reward = self.env.act(self, action)\n\n        self.inputs = self.env.sense(self)\n\n        state2 = [v for v in self.inputs.values()]\n        state2.append(self.next_waypoint)\n        # print \"state2: \", state2\n\n        # TODO: Learn policy based on state, action, reward\n        self.learn_q(self.state, action, reward, state2)\n\n        print \"LearningAgent.update(): deadline = {}, inputs = {}, \\\n            action = {}, reward = {}\".format(deadline, inputs, action, reward)  # [debug]\n        # print \"location = {}\".format(Environment().agent_states[agent]['location'])\n\ndef run():\n    \"\"\"Run the agent for a finite number of trials.\"\"\"\n\n    # Set up environment and agent\n    e = Environment()  # create environment (also adds some dummy traffic)\n    a = e.create_agent(LearningAgent)  # create agent\n    e.set_primary_agent(a, enforce_deadline=True)  # specify agent to track\n    # NOTE: You can set enforce_deadline=False while debugging to allow longer trials\n\n    # Now simulate it\n    sim = Simulator(e, update_delay=0.001, display=False)  # create simulator (uses pygame when display=True, if available)\n    # NOTE: To speed up simulation, reduce update_delay and/or set display=False\n\n    sim.run(n_trials=100)  # run for a specified number of trials\n    # NOTE: To quit midway, press Esc or close pygame window, or hit Ctrl+C on the command-line\n    \n    # Prints relevant figures\n    print \"epsilon: \", a.epsilon, \"gamma: \", a.gamma, \\\n        \"alpha: \", a.alpha_formula, \"defaultq: \", a.defaultq\n    \"\"\" Commented out because typical env does not have results or \n    penalties attributes\n\n    print \"Results: \", e.results\n    print \"Number of Successful Outcomes: \", len(e.results)\n    print \"Average buffer: \", np.mean([i[2] for i in e.results])\n    print \"Avg Penalties per Trial: \", e.penalties/100.0\n    \"\"\"\n    print \"Q-table: \", a.q\n    # Writes data to file\n    with open('smartcab_parameter_search.csv', \"a\") as f:\n        f.write(\" \\n\" + repr(a.epsilon) + \", \")\n        f.write(repr(a.gamma) + \", \")\n        f.write(repr(a.alpha_formula) + \", \")\n        f.write(repr(a.defaultq) + \", \")\n        \"\"\" Commented out because typical env does not have results or \n        penalties attributes\n        \n\n        # Number of Successful Outcomes\n        f.write(repr(len(e.results)) +  \",\")\n        # Average buffer\n        f.write(repr(np.mean([i[2] for i in e.results])) + \", \")\n        # Average Penalties per Trial\n        f.write(repr(e.penalties/100.0))\n        \"\"\"\n\nif __name__ == '__main__':\n    for i in range(50):\n        run()\n"
  },
  {
    "path": "p4-smartcab/smartcab/environment.py",
    "content": "import time\nimport random\nfrom collections import OrderedDict\n\nfrom simulator import Simulator\n\nclass TrafficLight(object):\n    \"\"\"A traffic light that switches periodically.\"\"\"\n\n    valid_states = [True, False]  # True = NS open, False = EW open\n\n    def __init__(self, state=None, period=None):\n        self.state = state if state is not None else random.choice(self.valid_states)\n        self.period = period if period is not None else random.choice([3, 4, 5])\n        self.last_updated = 0\n\n    def reset(self):\n        self.last_updated = 0\n\n    def update(self, t):\n        if t - self.last_updated >= self.period:\n            self.state = not self.state  # assuming state is boolean\n            self.last_updated = t\n\nclass Environment(object):\n    \"\"\"Environment within which all agents operate.\"\"\"\n\n    valid_actions = [None, 'forward', 'left', 'right']\n    valid_inputs = {'light': TrafficLight.valid_states, 'oncoming': valid_actions, 'left': valid_actions, 'right': valid_actions}\n    valid_headings = [(1, 0), (0, -1), (-1, 0), (0, 1)]  # ENWS\n    hard_time_limit = -100  # even if enforce_deadline is False, end trial when deadline reaches this value (to avoid deadlocks)\n\n    def __init__(self, num_dummies=3):\n        self.num_dummies = num_dummies  # no. of dummy agents\n        \n        # Initialize simulation variables\n        self.done = False\n        self.t = 0\n        self.agent_states = OrderedDict()\n        self.status_text = \"\"\n        self.results = []\n        self.total_reward = 0.0\n        self.penalties = 0.0\n\n        # Road network\n        self.grid_size = (8, 6)  # (cols, rows)\n        self.bounds = (1, 1, self.grid_size[0], self.grid_size[1])\n        self.block_size = 100\n        self.intersections = OrderedDict()\n        self.roads = []\n        for x in xrange(self.bounds[0], self.bounds[2] + 1):\n            for y in xrange(self.bounds[1], self.bounds[3] + 1):\n                self.intersections[(x, y)] = TrafficLight()  # a traffic light at each intersection\n\n        for a in self.intersections:\n            for b in self.intersections:\n                if a == b:\n                    continue\n                if (abs(a[0] - b[0]) + abs(a[1] - b[1])) == 1:  # L1 distance = 1\n                    self.roads.append((a, b))\n\n        # Dummy agents\n        for i in xrange(self.num_dummies):\n            self.create_agent(DummyAgent)\n\n        # Primary agent and associated parameters\n        self.primary_agent = None  # to be set explicitly\n        self.enforce_deadline = False\n\n    def create_agent(self, agent_class, *args, **kwargs):\n        agent = agent_class(self, *args, **kwargs)\n        self.agent_states[agent] = {'location': random.choice(self.intersections.keys()), 'heading': (0, 1)}\n        return agent\n\n    def set_primary_agent(self, agent, enforce_deadline=False):\n        self.primary_agent = agent\n        self.enforce_deadline = enforce_deadline\n\n    def reset(self):\n        self.done = False\n        self.t = 0\n        self.total_reward = 0.0\n\n        # Reset traffic lights\n        for traffic_light in self.intersections.itervalues():\n            traffic_light.reset()\n\n        # Pick a start and a destination\n        start = random.choice(self.intersections.keys())\n        destination = random.choice(self.intersections.keys())\n\n        # Ensure starting location and destination are not too close\n        while self.compute_dist(start, destination) < 4:\n            start = random.choice(self.intersections.keys())\n            destination = random.choice(self.intersections.keys())\n\n        start_heading = random.choice(self.valid_headings)\n        deadline = self.compute_dist(start, destination) * 5\n        self.initial_deadline = deadline\n        print \"Environment.reset(): Trial set up with start = {}, destination = {}, deadline = {}\".format(start, destination, deadline)\n\n        # Initialize agent(s)\n        for agent in self.agent_states.iterkeys():\n            self.agent_states[agent] = {\n                'location': start if agent is self.primary_agent else random.choice(self.intersections.keys()),\n                'heading': start_heading if agent is self.primary_agent else random.choice(self.valid_headings),\n                'destination': destination if agent is self.primary_agent else None,\n                'deadline': deadline if agent is self.primary_agent else None}\n            agent.reset(destination=(destination if agent is self.primary_agent else None))\n\n    def step(self):\n        #print \"Environment.step(): t = {}\".format(self.t)  # [debug]\n\n        # Update traffic lights\n        for intersection, traffic_light in self.intersections.iteritems():\n            traffic_light.update(self.t)\n\n        # Update agents\n        for agent in self.agent_states.iterkeys():\n            agent.update(self.t)\n\n        if self.done:\n            return  # primary agent might have reached destination\n\n        if self.primary_agent is not None:\n            agent_deadline = self.agent_states[self.primary_agent]['deadline']\n            if agent_deadline <= self.hard_time_limit:\n                self.done = True\n                print \"Environment.step(): Primary agent hit hard time limit ({})! Trial aborted.\".format(self.hard_time_limit)\n            elif self.enforce_deadline and agent_deadline <= 0:\n                self.done = True\n                self.results.append((state['deadline'], self.initial_deadline, float(state['deadline'])/float(self.initial_deadline), reward, self.total_reward, self.penalties))\n                print \"Results: \", self.results\n                print \"Environment.step(): Primary agent ran out of time! Trial aborted.\"\n            self.agent_states[self.primary_agent]['deadline'] = agent_deadline - 1\n\n        self.t += 1\n\n    def sense(self, agent):\n        assert agent in self.agent_states, \"Unknown agent!\"\n\n        state = self.agent_states[agent]\n        location = state['location']\n        heading = state['heading']\n        light = 'green' if (self.intersections[location].state and heading[1] != 0) or ((not self.intersections[location].state) and heading[0] != 0) else 'red'\n\n        # Populate oncoming, left, right\n        oncoming = None\n        left = None\n        right = None\n        for other_agent, other_state in self.agent_states.iteritems():\n            if agent == other_agent or location != other_state['location'] or (heading[0] == other_state['heading'][0] and heading[1] == other_state['heading'][1]):\n                continue\n            other_heading = other_agent.get_next_waypoint()\n            if (heading[0] * other_state['heading'][0] + heading[1] * other_state['heading'][1]) == -1:\n                if oncoming != 'left':  # we don't want to override oncoming == 'left'\n                    oncoming = other_heading\n            elif (heading[1] == other_state['heading'][0] and -heading[0] == other_state['heading'][1]):\n                if right != 'forward' and right != 'left':  # we don't want to override right == 'forward or 'left'\n                    right = other_heading\n            else:\n                if left != 'forward':  # we don't want to override left == 'forward'\n                    left = other_heading\n\n        return {'light': light, 'oncoming': oncoming, 'left': left, 'right': right}\n\n    def get_deadline(self, agent):\n        return self.agent_states[agent]['deadline'] if agent is self.primary_agent else None\n\n    def act(self, agent, action):\n        assert agent in self.agent_states, \"Unknown agent!\"\n        assert action in self.valid_actions, \"Invalid action!\"\n\n        state = self.agent_states[agent]\n        location = state['location']\n        heading = state['heading']\n        light = 'green' if (self.intersections[location].state and heading[1] != 0) or ((not self.intersections[location].state) and heading[0] != 0) else 'red'\n        inputs = self.sense(agent)\n\n        # Move agent if within bounds and obeys traffic rules\n        reward = 0  # reward/penalty\n        move_okay = True\n        if action == 'forward':\n            if light != 'green':\n                move_okay = False\n        elif action == 'left':\n            if light == 'green' and (inputs['oncoming'] == None or inputs['oncoming'] == 'left'):\n                heading = (heading[1], -heading[0])\n            else:\n                move_okay = False\n        elif action == 'right':\n            if light == 'green' or inputs['left'] != 'forward':\n                heading = (-heading[1], heading[0])\n            else:\n                move_okay = False\n\n        if move_okay:\n            # Valid move (could be null)\n            if action is not None:\n                # Valid non-null move\n                location = ((location[0] + heading[0] - self.bounds[0]) % (self.bounds[2] - self.bounds[0] + 1) + self.bounds[0],\n                            (location[1] + heading[1] - self.bounds[1]) % (self.bounds[3] - self.bounds[1] + 1) + self.bounds[1])  # wrap-around\n                #if self.bounds[0] <= location[0] <= self.bounds[2] and self.bounds[1] <= location[1] <= self.bounds[3]:  # bounded\n                state['location'] = location\n                state['heading'] = heading\n                reward = 2.0 if action == agent.get_next_waypoint() else -0.5  # valid, but is it correct? (as per waypoint)\n            else:\n                # Valid null move\n                reward = 0.0\n        else:\n            # Invalid move\n            reward = -1.0\n            self.penalties += 1.0\n\n        if agent is self.primary_agent:\n            if state['location'] == state['destination']:\n                if state['deadline'] >= 0:\n                    reward += 10  # bonus\n                self.done = True\n                print \"Environment.act(): Primary agent has reached destination!\"  # [debug]\n                self.results.append((state['deadline'], self.initial_deadline, float(state['deadline'])/float(self.initial_deadline), reward, self.total_reward, self.penalties))\n                print \"Results: \", self.results\n            self.status_text = \"state: {}\\naction: {}\\nreward: {}\".format(agent.get_state(), action, reward)\n            #print \"Environment.act() [POST]: location: {}, heading: {}, action: {}, reward: {}\".format(location, heading, action, reward)  # [debug]\n\n        self.total_reward += reward\n        return reward\n\n    def compute_dist(self, a, b):\n        \"\"\"L1 distance between two points.\"\"\"\n        return abs(b[0] - a[0]) + abs(b[1] - a[1])\n\nclass Agent(object):\n    \"\"\"Base class for all agents.\"\"\"\n\n    def __init__(self, env):\n        self.env = env\n        self.state = None\n        self.next_waypoint = None\n        self.color = 'cyan'\n\n    def reset(self, destination=None):\n        pass\n\n    def update(self, t):\n        pass\n\n    def get_state(self):\n        return self.state\n\n    def get_next_waypoint(self):\n        return self.next_waypoint\n\n\nclass DummyAgent(Agent):\n    color_choices = ['blue', 'cyan', 'magenta', 'orange']\n\n    def __init__(self, env):\n        super(DummyAgent, self).__init__(env)  # sets self.env = env, state = None, next_waypoint = None, and a default color\n        self.next_waypoint = random.choice(Environment.valid_actions[1:])\n        self.color = random.choice(self.color_choices)\n\n    def update(self, t):\n        inputs = self.env.sense(self)\n\n        action_okay = True\n        if self.next_waypoint == 'right':\n            if inputs['light'] == 'red' and inputs['left'] == 'forward':\n                action_okay = False\n        elif self.next_waypoint == 'forward':\n            if inputs['light'] == 'red':\n                action_okay = False\n        elif self.next_waypoint == 'left':\n            if inputs['light'] == 'red' or (inputs['oncoming'] == 'forward' or inputs['oncoming'] == 'right'):\n                action_okay = False\n\n        action = None\n        if action_okay:\n            action = self.next_waypoint\n            self.next_waypoint = random.choice(Environment.valid_actions[1:])\n        reward = self.env.act(self, action)\n        #print \"DummyAgent.update(): t = {}, inputs = {}, action = {}, reward = {}\".format(t, inputs, action, reward)  # [debug]\n        #print \"DummyAgent.update(): next_waypoint = {}\".format(self.next_waypoint)  # [debug]\n"
  },
  {
    "path": "p4-smartcab/smartcab/planner.py",
    "content": "import random\n\nclass RoutePlanner(object):\n    \"\"\"Silly route planner that is meant for a perpendicular grid network.\"\"\"\n\n    def __init__(self, env, agent):\n        self.env = env\n        self.agent = agent\n        self.destination = None\n\n    def route_to(self, destination=None):\n        self.destination = destination if destination is not None else random.choice(self.env.intersections.keys())\n        print \"RoutePlanner.route_to(): destination = {}\".format(destination)  # [debug]\n\n    def next_waypoint(self):\n        location = self.env.agent_states[self.agent]['location']\n        heading = self.env.agent_states[self.agent]['heading']\n        delta = (self.destination[0] - location[0], self.destination[1] - location[1])\n        if delta[0] == 0 and delta[1] == 0:\n            return None\n        elif delta[0] != 0:  # EW difference\n            if delta[0] * heading[0] > 0:  # facing correct EW direction\n                return 'forward'\n            elif delta[0] * heading[0] < 0:  # facing opposite EW direction\n                return 'right'  # long U-turn\n            elif delta[0] * heading[1] > 0:\n                return 'left'\n            else:\n                return 'right'\n        elif delta[1] != 0:  # NS difference (turn logic is slightly different)\n            if delta[1] * heading[1] > 0:  # facing correct NS direction\n                return 'forward'\n            elif delta[1] * heading[1] < 0:  # facing opposite NS direction\n                return 'right'  # long U-turn\n            elif delta[1] * heading[0] > 0:\n                return 'right'\n            else:\n                return 'left'\n"
  },
  {
    "path": "p4-smartcab/smartcab/qtable.js",
    "content": "Q - table: {\n    \"(['green', None, None, None, 'forward'], 'right')\": -0.4931163522466796,\n    \"(['green', None, 'right', None, 'left'], 'forward')\": -0.27778718266687985,\n    \"(['green', None, None, None, 'forward'], None)\": 0.0,\n    \"(['red', None, None, None, 'forward'], None)\": 0.0,\n    \"(['red', 'left', None, None, 'forward'], None)\": 0.0,\n    \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.9709848728109067,\n    \"(['red', None, None, 'right', 'forward'], 'right')\": -0.4931163522466796,\n    \"(['red', None, None, None, 'left'], 'forward')\": -0.9822419709752422,\n    \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.29179648422368565,\n    \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.9862327044933592,\n    \"(['green', None, None, 'left', 'forward'], 'forward')\": 2.0049584124086355,\n    \"(['red', 'left', None, None, 'forward'], 'right')\": -0.48815312906252556,\n    \"(['green', 'left', None, None, 'forward'], 'right')\": -0.4891336928645855,\n    \"(['green', None, None, None, 'forward'], 'forward')\": 2.2193657785006304,\n    \"(['green', None, None, None, 'right'], 'left')\": -0.5,\n    \"(['green', None, None, 'forward', 'left'], 'left')\": 11.700135637090813,\n    \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.9794202975869267,\n    \"(['red', None, 'right', None, 'forward'], 'right')\": -0.49453700208608536,\n    \"(['green', None, 'right', None, 'forward'], 'forward')\": 2.2274659403436936,\n    \"(['red', None, None, None, 'forward'], 'forward')\": -0.9732828871408282,\n    \"(['red', 'left', None, None, 'forward'], 'left')\": -0.980729004722915,\n    \"(['green', 'left', None, None, 'forward'], 'left')\": -0.48524347519648,\n    \"(['green', None, None, 'left', 'left'], 'right')\": -0.27547409231969017,\n    \"(['red', None, None, None, 'left'], 'right')\": -0.4891336928645855,\n    \"(['green', None, 'right', None, 'forward'], 'right')\": -0.48815312906252556,\n    \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.978267385729171,\n    \"(['green', None, None, None, 'right'], 'right')\": 13.171420731131954,\n    \"(['green', None, 'left', None, 'left'], 'right')\": -0.5,\n    \"(['red', None, 'forward', None, 'forward'], 'forward')\": -0.9739546146477603,\n    \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.48971014879346336,\n    \"(['green', None, None, None, 'left'], 'left')\": 3.1759412296983642,\n    \"(['red', None, None, None, 'forward'], 'right')\": -0.29658952523395604,\n    \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.9992281432099894,\n    \"(['red', None, None, None, 'left'], None)\": 0.0,\n    \"(['red', None, 'left', None, 'left'], None)\": 0.0,\n    \"(['red', None, None, None, 'left'], 'left')\": -0.9794202975869267,\n    \"(['green', None, None, None, 'forward'], 'left')\": -0.487728565039398,\n    \"(['green', None, None, 'forward', 'left'], None)\": 0.0,\n    \"(['red', 'right', None, None, 'forward'], None)\": 0.0,\n    \"(['red', None, None, 'right', 'forward'], 'left')\": -0.9890740041721707,\n    \"(['green', 'left', None, None, 'forward'], 'forward')\": 12.190438177539278,\n    \"(['red', None, None, None, 'right'], 'right')\": 2.2222222153127493,\n    \"(['red', 'forward', None, None, 'forward'], None)\": 0.0,\n    \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.48971014879346336,\n    \"(['green', 'forward', None, None, 'forward'], 'forward')\": 3.126853392296446,\n    \"(['green', None, 'forward', None, 'forward'], None)\": 0.0,\n    \"(['green', 'right', None, None, 'forward'], 'left')\": -0.9840344433634577,\n    \"(['red', None, 'left', None, 'forward'], None)\": 0.0,\n    \"(['red', 'forward', None, None, 'left'], 'right')\": -0.5,\n    \"(['red', None, None, None, 'forward'], 'left')\": -0.9930924954370358,\n    \"(['green', None, None, 'forward', 'forward'], 'left')\": -0.27389085408427283,\n    \"(['red', None, 'left', None, 'forward'], 'right')\": -0.49453700208608536,\n    \"(['green', None, None, 'forward', 'forward'], None)\": 0.0,\n    \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.9890740041721707,\n    \"(['red', None, None, 'forward', 'forward'], None)\": 0.0,\n    \"(['red', None, 'right', None, 'forward'], 'left')\": -0.9746766601759773,\n    \"(['green', None, 'right', None, 'forward'], None)\": 0.0,\n    \"(['green', 'left', None, None, 'forward'], None)\": 0.0,\n    \"(['green', None, 'forward', None, 'right'], 'right')\": 2.222222220400406,\n    \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.9930924954370358,\n    \"(['green', None, None, 'forward', 'right'], 'left')\": 9.534865318455505,\n    \"(['green', None, None, None, 'right'], 'forward')\": -0.5,\n    \"(['green', None, 'right', None, 'forward'], 'left')\": -0.16735469516070461,\n    \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.2791243298638224,\n    \"(['green', None, 'left', None, 'forward'], 'right')\": -0.5,\n    \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.9794202975869267,\n    \"(['green', 'right', None, None, 'forward'], 'right')\": -0.4903645023614575,\n    \"(['green', 'right', None, None, 'left'], 'right')\": -0.2734188189395401\n}"
  },
  {
    "path": "p4-smartcab/smartcab/report.html",
    "content": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>smartcab-report</title>\n\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></script>\n\n<style type=\"text/css\">\n    /*!\n*\n* Twitter Bootstrap\n*\n*//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:10px;-webkit-tap-highlight-color:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;vertical-align:middle}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:\" (\" attr(href)\")\"}abbr[title]:after{content:\" (\" attr(title)\")\"}a[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../components/bootstrap/fonts/glyphicons-halflings-regular.eot);src:url(../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix)format('embedded-opentype'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.woff2)format('woff2'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.woff)format('woff'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.ttf)format('truetype'),url(../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular)format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\2a\"}.glyphicon-plus:before{content:\"\\2b\"}.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-jpy:before,.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-rub:before,.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.42857143;color:#000;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:18px;margin-bottom:9px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:9px;margin-bottom:9px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:33px}.h2,h2{font-size:27px}.h3,h3{font-size:23px}.h4,h4{font-size:17px}.h5,h5{font-size:13px}.h6,h6{font-size:12px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}.small,small{font-size:92%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:9px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:541px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:inherit;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\\2014 \\00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\\00A0 \\2014'}address{margin-bottom:18px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;background-color:#f9f2f4;border-radius:2px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:1px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:8.5px;margin:0 0 9px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:2px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}@media (min-width:768px){.container{width:768px}}@media (min-width:992px){.container{width:940px}}@media (min-width:1200px){.container{width:1140px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}.row{margin-left:0;margin-right:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:0;padding-right:0}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:18px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:13px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:32px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:32px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:45px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:18px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px \\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:31px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;min-height:30px}.input-lg{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-lg{height:45px;line-height:45px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.form-group-lg .form-control{height:45px;line-height:45px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;min-height:35px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:32px;height:32px;line-height:32px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:45px;height:45px;line-height:45px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:23px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#404040}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:25px}.form-horizontal .form-group{margin-left:0;margin-right:0}.form-horizontal .has-feedback .form-control-feedback{right:0}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}.form-horizontal .form-group-lg .control-label{padding-top:14.33px}.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:1px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:\"\"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:541px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:2px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:2px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:1px}.input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:2px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:2px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:2px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:30px;margin-bottom:18px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:0;padding-left:0;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:540px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:541px){.navbar{border-radius:2px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:6px 0;font-size:17px;line-height:18px;height:30px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-toggle{position:relative;float:right;margin-right:0;padding:9px 10px;margin-top:-2px;margin-bottom:-2px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:2px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:541px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:0}.navbar-toggle{display:none}}.navbar-nav{margin:3px 0}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:540px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:541px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}}.navbar-form{padding:10px 0;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:-1px 0}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:540px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:2px 2px 0 0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm{margin-top:0;margin-bottom:0}.navbar-btn.btn-xs{margin-top:4px;margin-bottom:4px}.navbar-text{margin-top:6px;margin-bottom:6px}@media (min-width:541px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-text{float:left;margin-left:0;margin-right:0}.navbar-left{float:left!important;float:left}.navbar-right{float:right!important;float:right;margin-right:0}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:540px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:540px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:18px;list-style:none;background-color:#f5f5f5;border-radius:2px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:\"/\\00a0\";padding:0 5px;color:#5e5e5e}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:2px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:2px;border-top-left-radius:2px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:1px;border-top-left-radius:1px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:1px;border-top-right-radius:1px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:58.5px}}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#000}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:2px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:18px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:1px;border-top-left-radius:1px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:1px;border-top-left-radius:1px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:1px;border-top-left-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:1px;border-top-right-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:1px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:1px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:1px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:1px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:2px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:3px}.well-sm{padding:9px;border-radius:1px}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:3px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:2px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.42857143;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:3px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:2px 2px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:\"\"}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:\" \";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:\" \";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:\" \";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:\" \";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\\2039'}.carousel-control .icon-next:before{content:'\\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.item_buttons:after,.item_buttons:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:\" \";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.item_buttons:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}/*!\n*\n* Font Awesome\n*\n*//*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:'FontAwesome';src:url(../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0);src:url(../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0)format('embedded-opentype'),url(../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0)format('woff'),url(../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0)format('truetype'),url(../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular)format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\\f000\"}.fa-music:before{content:\"\\f001\"}.fa-search:before{content:\"\\f002\"}.fa-envelope-o:before{content:\"\\f003\"}.fa-heart:before{content:\"\\f004\"}.fa-star:before{content:\"\\f005\"}.fa-star-o:before{content:\"\\f006\"}.fa-user:before{content:\"\\f007\"}.fa-film:before{content:\"\\f008\"}.fa-th-large:before{content:\"\\f009\"}.fa-th:before{content:\"\\f00a\"}.fa-th-list:before{content:\"\\f00b\"}.fa-check:before{content:\"\\f00c\"}.fa-close:before,.fa-remove:before,.fa-times:before{content:\"\\f00d\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-search-minus:before{content:\"\\f010\"}.fa-power-off:before{content:\"\\f011\"}.fa-signal:before{content:\"\\f012\"}.fa-cog:before,.fa-gear:before{content:\"\\f013\"}.fa-trash-o:before{content:\"\\f014\"}.fa-home:before{content:\"\\f015\"}.fa-file-o:before{content:\"\\f016\"}.fa-clock-o:before{content:\"\\f017\"}.fa-road:before{content:\"\\f018\"}.fa-download:before{content:\"\\f019\"}.fa-arrow-circle-o-down:before{content:\"\\f01a\"}.fa-arrow-circle-o-up:before{content:\"\\f01b\"}.fa-inbox:before{content:\"\\f01c\"}.fa-play-circle-o:before{content:\"\\f01d\"}.fa-repeat:before,.fa-rotate-right:before{content:\"\\f01e\"}.fa-refresh:before{content:\"\\f021\"}.fa-list-alt:before{content:\"\\f022\"}.fa-lock:before{content:\"\\f023\"}.fa-flag:before{content:\"\\f024\"}.fa-headphones:before{content:\"\\f025\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-up:before{content:\"\\f028\"}.fa-qrcode:before{content:\"\\f029\"}.fa-barcode:before{content:\"\\f02a\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-book:before{content:\"\\f02d\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-print:before{content:\"\\f02f\"}.fa-camera:before{content:\"\\f030\"}.fa-font:before{content:\"\\f031\"}.fa-bold:before{content:\"\\f032\"}.fa-italic:before{content:\"\\f033\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-right:before{content:\"\\f038\"}.fa-align-justify:before{content:\"\\f039\"}.fa-list:before{content:\"\\f03a\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-indent:before{content:\"\\f03c\"}.fa-video-camera:before{content:\"\\f03d\"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:\"\\f03e\"}.fa-pencil:before{content:\"\\f040\"}.fa-map-marker:before{content:\"\\f041\"}.fa-adjust:before{content:\"\\f042\"}.fa-tint:before{content:\"\\f043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\\f044\"}.fa-share-square-o:before{content:\"\\f045\"}.fa-check-square-o:before{content:\"\\f046\"}.fa-arrows:before{content:\"\\f047\"}.fa-step-backward:before{content:\"\\f048\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-backward:before{content:\"\\f04a\"}.fa-play:before{content:\"\\f04b\"}.fa-pause:before{content:\"\\f04c\"}.fa-stop:before{content:\"\\f04d\"}.fa-forward:before{content:\"\\f04e\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-step-forward:before{content:\"\\f051\"}.fa-eject:before{content:\"\\f052\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-times-circle:before{content:\"\\f057\"}.fa-check-circle:before{content:\"\\f058\"}.fa-question-circle:before{content:\"\\f059\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-times-circle-o:before{content:\"\\f05c\"}.fa-check-circle-o:before{content:\"\\f05d\"}.fa-ban:before{content:\"\\f05e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-expand:before{content:\"\\f065\"}.fa-compress:before{content:\"\\f066\"}.fa-plus:before{content:\"\\f067\"}.fa-minus:before{content:\"\\f068\"}.fa-asterisk:before{content:\"\\f069\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-gift:before{content:\"\\f06b\"}.fa-leaf:before{content:\"\\f06c\"}.fa-fire:before{content:\"\\f06d\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-exclamation-triangle:before,.fa-warning:before{content:\"\\f071\"}.fa-plane:before{content:\"\\f072\"}.fa-calendar:before{content:\"\\f073\"}.fa-random:before{content:\"\\f074\"}.fa-comment:before{content:\"\\f075\"}.fa-magnet:before{content:\"\\f076\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-retweet:before{content:\"\\f079\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-arrows-v:before{content:\"\\f07d\"}.fa-arrows-h:before{content:\"\\f07e\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\\f080\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-key:before{content:\"\\f084\"}.fa-cogs:before,.fa-gears:before{content:\"\\f085\"}.fa-comments:before{content:\"\\f086\"}.fa-thumbs-o-up:before{content:\"\\f087\"}.fa-thumbs-o-down:before{content:\"\\f088\"}.fa-star-half:before{content:\"\\f089\"}.fa-heart-o:before{content:\"\\f08a\"}.fa-sign-out:before{content:\"\\f08b\"}.fa-linkedin-square:before{content:\"\\f08c\"}.fa-thumb-tack:before{content:\"\\f08d\"}.fa-external-link:before{content:\"\\f08e\"}.fa-sign-in:before{content:\"\\f090\"}.fa-trophy:before{content:\"\\f091\"}.fa-github-square:before{content:\"\\f092\"}.fa-upload:before{content:\"\\f093\"}.fa-lemon-o:before{content:\"\\f094\"}.fa-phone:before{content:\"\\f095\"}.fa-square-o:before{content:\"\\f096\"}.fa-bookmark-o:before{content:\"\\f097\"}.fa-phone-square:before{content:\"\\f098\"}.fa-twitter:before{content:\"\\f099\"}.fa-facebook:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-rss:before{content:\"\\f09e\"}.fa-hdd-o:before{content:\"\\f0a0\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bell:before{content:\"\\f0f3\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-hand-o-right:before{content:\"\\f0a4\"}.fa-hand-o-left:before{content:\"\\f0a5\"}.fa-hand-o-up:before{content:\"\\f0a6\"}.fa-hand-o-down:before{content:\"\\f0a7\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-globe:before{content:\"\\f0ac\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-filter:before{content:\"\\f0b0\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-group:before,.fa-users:before{content:\"\\f0c0\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-flask:before{content:\"\\f0c3\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-copy:before,.fa-files-o:before{content:\"\\f0c5\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-floppy-o:before,.fa-save:before{content:\"\\f0c7\"}.fa-square:before{content:\"\\f0c8\"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:\"\\f0c9\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-underline:before{content:\"\\f0cd\"}.fa-table:before{content:\"\\f0ce\"}.fa-magic:before{content:\"\\f0d0\"}.fa-truck:before{content:\"\\f0d1\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-plus:before{content:\"\\f0d5\"}.fa-money:before{content:\"\\f0d6\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-columns:before{content:\"\\f0db\"}.fa-sort:before,.fa-unsorted:before{content:\"\\f0dc\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\\f0dd\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\\f0de\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-linkedin:before{content:\"\\f0e1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-gavel:before,.fa-legal:before{content:\"\\f0e3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\\f0e4\"}.fa-comment-o:before{content:\"\\f0e5\"}.fa-comments-o:before{content:\"\\f0e6\"}.fa-bolt:before,.fa-flash:before{content:\"\\f0e7\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-clipboard:before,.fa-paste:before{content:\"\\f0ea\"}.fa-lightbulb-o:before{content:\"\\f0eb\"}.fa-exchange:before{content:\"\\f0ec\"}.fa-cloud-download:before{content:\"\\f0ed\"}.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-bell-o:before{content:\"\\f0a2\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cutlery:before{content:\"\\f0f5\"}.fa-file-text-o:before{content:\"\\f0f6\"}.fa-building-o:before{content:\"\\f0f7\"}.fa-hospital-o:before{content:\"\\f0f8\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-beer:before{content:\"\\f0fc\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angle-down:before{content:\"\\f107\"}.fa-desktop:before{content:\"\\f108\"}.fa-laptop:before{content:\"\\f109\"}.fa-tablet:before{content:\"\\f10a\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f10b\"}.fa-circle-o:before{content:\"\\f10c\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-spinner:before{content:\"\\f110\"}.fa-circle:before{content:\"\\f111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f112\"}.fa-github-alt:before{content:\"\\f113\"}.fa-folder-o:before{content:\"\\f114\"}.fa-folder-open-o:before{content:\"\\f115\"}.fa-smile-o:before{content:\"\\f118\"}.fa-frown-o:before{content:\"\\f119\"}.fa-meh-o:before{content:\"\\f11a\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-keyboard-o:before{content:\"\\f11c\"}.fa-flag-o:before{content:\"\\f11d\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-terminal:before{content:\"\\f120\"}.fa-code:before{content:\"\\f121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\\f123\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-crop:before{content:\"\\f125\"}.fa-code-fork:before{content:\"\\f126\"}.fa-chain-broken:before,.fa-unlink:before{content:\"\\f127\"}.fa-question:before{content:\"\\f128\"}.fa-info:before{content:\"\\f129\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-superscript:before{content:\"\\f12b\"}.fa-subscript:before{content:\"\\f12c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-shield:before{content:\"\\f132\"}.fa-calendar-o:before{content:\"\\f133\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-rocket:before{content:\"\\f135\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-html5:before{content:\"\\f13b\"}.fa-css3:before{content:\"\\f13c\"}.fa-anchor:before{content:\"\\f13d\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-bullseye:before{content:\"\\f140\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-rss-square:before{content:\"\\f143\"}.fa-play-circle:before{content:\"\\f144\"}.fa-ticket:before{content:\"\\f145\"}.fa-minus-square:before{content:\"\\f146\"}.fa-minus-square-o:before{content:\"\\f147\"}.fa-level-up:before{content:\"\\f148\"}.fa-level-down:before{content:\"\\f149\"}.fa-check-square:before{content:\"\\f14a\"}.fa-pencil-square:before{content:\"\\f14b\"}.fa-external-link-square:before{content:\"\\f14c\"}.fa-share-square:before{content:\"\\f14d\"}.fa-compass:before{content:\"\\f14e\"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:\"\\f150\"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:\"\\f151\"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:\"\\f152\"}.fa-eur:before,.fa-euro:before{content:\"\\f153\"}.fa-gbp:before{content:\"\\f154\"}.fa-dollar:before,.fa-usd:before{content:\"\\f155\"}.fa-inr:before,.fa-rupee:before{content:\"\\f156\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:\"\\f157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:\"\\f158\"}.fa-krw:before,.fa-won:before{content:\"\\f159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\\f15a\"}.fa-file:before{content:\"\\f15b\"}.fa-file-text:before{content:\"\\f15c\"}.fa-sort-alpha-asc:before{content:\"\\f15d\"}.fa-sort-alpha-desc:before{content:\"\\f15e\"}.fa-sort-amount-asc:before{content:\"\\f160\"}.fa-sort-amount-desc:before{content:\"\\f161\"}.fa-sort-numeric-asc:before{content:\"\\f162\"}.fa-sort-numeric-desc:before{content:\"\\f163\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-youtube-square:before{content:\"\\f166\"}.fa-youtube:before{content:\"\\f167\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-youtube-play:before{content:\"\\f16a\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-instagram:before{content:\"\\f16d\"}.fa-flickr:before{content:\"\\f16e\"}.fa-adn:before{content:\"\\f170\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitbucket-square:before{content:\"\\f172\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-long-arrow-down:before{content:\"\\f175\"}.fa-long-arrow-up:before{content:\"\\f176\"}.fa-long-arrow-left:before{content:\"\\f177\"}.fa-long-arrow-right:before{content:\"\\f178\"}.fa-apple:before{content:\"\\f179\"}.fa-windows:before{content:\"\\f17a\"}.fa-android:before{content:\"\\f17b\"}.fa-linux:before{content:\"\\f17c\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-skype:before{content:\"\\f17e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-trello:before{content:\"\\f181\"}.fa-female:before{content:\"\\f182\"}.fa-male:before{content:\"\\f183\"}.fa-gittip:before{content:\"\\f184\"}.fa-sun-o:before{content:\"\\f185\"}.fa-moon-o:before{content:\"\\f186\"}.fa-archive:before{content:\"\\f187\"}.fa-bug:before{content:\"\\f188\"}.fa-vk:before{content:\"\\f189\"}.fa-weibo:before{content:\"\\f18a\"}.fa-renren:before{content:\"\\f18b\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-arrow-circle-o-right:before{content:\"\\f18e\"}.fa-arrow-circle-o-left:before{content:\"\\f190\"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:\"\\f191\"}.fa-dot-circle-o:before{content:\"\\f192\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-try:before,.fa-turkish-lira:before{content:\"\\f195\"}.fa-plus-square-o:before{content:\"\\f196\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-slack:before{content:\"\\f198\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-openid:before{content:\"\\f19b\"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:\"\\f19c\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\\f19d\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-google:before{content:\"\\f1a0\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-digg:before{content:\"\\f1a6\"}.fa-pied-piper:before{content:\"\\f1a7\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-language:before{content:\"\\f1ab\"}.fa-fax:before{content:\"\\f1ac\"}.fa-building:before{content:\"\\f1ad\"}.fa-child:before{content:\"\\f1ae\"}.fa-paw:before{content:\"\\f1b0\"}.fa-spoon:before{content:\"\\f1b1\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-tree:before{content:\"\\f1bb\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-database:before{content:\"\\f1c0\"}.fa-file-pdf-o:before{content:\"\\f1c1\"}.fa-file-word-o:before{content:\"\\f1c2\"}.fa-file-excel-o:before{content:\"\\f1c3\"}.fa-file-powerpoint-o:before{content:\"\\f1c4\"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:\"\\f1c5\"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:\"\\f1c6\"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:\"\\f1c7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\\f1c8\"}.fa-file-code-o:before{content:\"\\f1c9\"}.fa-vine:before{content:\"\\f1ca\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:\"\\f1cd\"}.fa-circle-o-notch:before{content:\"\\f1ce\"}.fa-ra:before,.fa-rebel:before{content:\"\\f1d0\"}.fa-empire:before,.fa-ge:before{content:\"\\f1d1\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-git:before{content:\"\\f1d3\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-qq:before{content:\"\\f1d6\"}.fa-wechat:before,.fa-weixin:before{content:\"\\f1d7\"}.fa-paper-plane:before,.fa-send:before{content:\"\\f1d8\"}.fa-paper-plane-o:before,.fa-send-o:before{content:\"\\f1d9\"}.fa-history:before{content:\"\\f1da\"}.fa-circle-thin:before{content:\"\\f1db\"}.fa-header:before{content:\"\\f1dc\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-sliders:before{content:\"\\f1de\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:\"\\f1e3\"}.fa-tty:before{content:\"\\f1e4\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-plug:before{content:\"\\f1e6\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-newspaper-o:before{content:\"\\f1ea\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bell-slash-o:before{content:\"\\f1f7\"}.fa-trash:before{content:\"\\f1f8\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-at:before{content:\"\\f1fa\"}.fa-eyedropper:before{content:\"\\f1fb\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-area-chart:before{content:\"\\f1fe\"}.fa-pie-chart:before{content:\"\\f200\"}.fa-line-chart:before{content:\"\\f201\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bus:before{content:\"\\f207\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-angellist:before{content:\"\\f209\"}.fa-cc:before{content:\"\\f20a\"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:\"\\f20b\"}.fa-meanpath:before{content:\"\\f20c\"}/*!\n*\n* IPython base\n*\n*/.modal.fade .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}code{color:#000}pre{font-size:inherit;line-height:inherit}label{font-weight:400}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.corner-all{border-radius:2px}.no-padding{padding:0}.hbox{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.vbox{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.hbox.reverse,.reverse,.vbox.reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;flex-direction:row-reverse}.box-flex0,.hbox.box-flex0,.vbox.box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none;width:auto}.box-flex1,.hbox.box-flex1,.vbox.box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.box-flex,.hbox.box-flex,.vbox.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.box-flex2,.hbox.box-flex2,.vbox.box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2}.box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1}.box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2}.hbox.start,.start,.vbox.start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;justify-content:flex-start}.end,.hbox.end,.vbox.end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}.center,.hbox.center,.vbox.center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;justify-content:center}.baseline,.hbox.baseline,.vbox.baseline{-webkit-box-pack:baseline;-moz-box-pack:baseline;box-pack:baseline;justify-content:baseline}.hbox.stretch,.stretch,.vbox.stretch{-webkit-box-pack:stretch;-moz-box-pack:stretch;box-pack:stretch;justify-content:stretch}.align-start,.hbox.align-start,.vbox.align-start{-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.align-end,.hbox.align-end,.vbox.align-end{-webkit-box-align:end;-moz-box-align:end;box-align:end;align-items:flex-end}.align-center,.hbox.align-center,.vbox.align-center{-webkit-box-align:center;-moz-box-align:center;box-align:center;align-items:center}.align-baseline,.hbox.align-baseline,.vbox.align-baseline{-webkit-box-align:baseline;-moz-box-align:baseline;box-align:baseline;align-items:baseline}.align-stretch,.hbox.align-stretch,.vbox.align-stretch{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;align-items:stretch}div.error{margin:2em;text-align:center}div.error>h1{font-size:500%;line-height:normal}div.error>p{font-size:200%;line-height:normal}div.traceback-wrapper{text-align:left;max-width:800px;margin:auto}body{position:absolute;left:0;right:0;top:0;bottom:0;overflow:visible}#header{display:none;background-color:#fff;position:relative;z-index:100}#header #header-container{padding-bottom:5px;padding-top:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#header .header-bar{width:100%;height:1px;background:#e7e7e7;margin-bottom:-1px}#header-spacer{width:100%;visibility:hidden}@media print{#header{display:none!important}#header-spacer{display:none}}#ipython_notebook{padding-left:0;padding-top:1px;padding-bottom:1px}@media (max-width:991px){#ipython_notebook{margin-left:10px}}#noscript{width:auto;padding-top:16px;padding-bottom:16px;text-align:center;font-size:22px;color:red;font-weight:700}#ipython_notebook img{height:28px}#site{width:100%;display:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;overflow:auto}@media print{#site{height:auto!important}}.ui-button .ui-button-text{padding:.2em .8em;font-size:77%}input.ui-button{padding:.3em .9em}span#login_widget{float:right}#logout,span#login_widget>.button{color:#333;background-color:#fff;border-color:#ccc}#logout.active,#logout.focus,#logout:active,#logout:focus,#logout:hover,.open>.dropdown-toggle#logout,.open>.dropdown-togglespan#login_widget>.button,span#login_widget>.button.active,span#login_widget>.button.focus,span#login_widget>.button:active,span#login_widget>.button:focus,span#login_widget>.button:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}#logout.active,#logout:active,.open>.dropdown-toggle#logout,.open>.dropdown-togglespan#login_widget>.button,span#login_widget>.button.active,span#login_widget>.button:active{background-image:none}#logout.disabled,#logout.disabled.active,#logout.disabled.focus,#logout.disabled:active,#logout.disabled:focus,#logout.disabled:hover,#logout[disabled],#logout[disabled].active,#logout[disabled].focus,#logout[disabled]:active,#logout[disabled]:focus,#logout[disabled]:hover,fieldset[disabled] #logout,fieldset[disabled] #logout.active,fieldset[disabled] #logout.focus,fieldset[disabled] #logout:active,fieldset[disabled] #logout:focus,fieldset[disabled] #logout:hover,fieldset[disabled] span#login_widget>.button,fieldset[disabled] span#login_widget>.button.active,fieldset[disabled] span#login_widget>.button.focus,fieldset[disabled] span#login_widget>.button:active,fieldset[disabled] span#login_widget>.button:focus,fieldset[disabled] span#login_widget>.button:hover,span#login_widget>.button.disabled,span#login_widget>.button.disabled.active,span#login_widget>.button.disabled.focus,span#login_widget>.button.disabled:active,span#login_widget>.button.disabled:focus,span#login_widget>.button.disabled:hover,span#login_widget>.button[disabled],span#login_widget>.button[disabled].active,span#login_widget>.button[disabled].focus,span#login_widget>.button[disabled]:active,span#login_widget>.button[disabled]:focus,span#login_widget>.button[disabled]:hover{background-color:#fff;border-color:#ccc}#logout .badge,span#login_widget>.button .badge{color:#fff;background-color:#333}.nav-header{text-transform:none}#header>span{margin-top:10px}.modal_stretch .modal-dialog{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;min-height:80vh}.modal_stretch .modal-dialog .modal-body{max-height:calc(100vh - 200px);overflow:auto;flex:1}@media (min-width:768px){.modal .modal-dialog{width:700px}select.form-control{margin-left:12px;margin-right:12px}}/*!\n*\n* IPython auth\n*\n*/.center-nav{display:inline-block;margin-bottom:-4px}/*!\n*\n* IPython tree view\n*\n*/.alternate_upload{background-color:none;display:inline}.alternate_upload.form{padding:0;margin:0}.alternate_upload input.fileinput{text-align:center;vertical-align:middle;display:inline;opacity:0;z-index:2;width:12ex;margin-right:-12ex}.alternate_upload .btn-upload{height:22px}ul#tabs{margin-bottom:4px}ul#tabs a{padding-top:6px;padding-bottom:4px}ul.breadcrumb a:focus,ul.breadcrumb a:hover{text-decoration:none}ul.breadcrumb i.icon-home{font-size:16px;margin-right:4px}ul.breadcrumb span{color:#5e5e5e}.list_toolbar{padding:4px 0;vertical-align:middle}.list_toolbar .tree-buttons{padding-top:1px}.dynamic-buttons{padding-top:3px;display:inline-block}.list_toolbar [class*=span]{min-height:24px}.list_header{font-weight:700;background-color:#eee}.list_placeholder{font-weight:700;padding:4px 7px}.list_container{margin-top:4px;margin-bottom:20px;border:1px solid #ddd;border-radius:2px}.list_container>div{border-bottom:1px solid #ddd}.list_container>div:hover .list-item{background-color:red}.list_container>div:last-child{border:none}.list_item:hover .list_item{background-color:#ddd}.list_item a{text-decoration:none}.list_item:hover{background-color:#fafafa}.action_col{text-align:right}.list_header>div,.list_item>div{line-height:22px;padding:4px 7px}.list_header>div input,.list_item>div input{margin-right:7px;margin-left:14px;vertical-align:baseline;line-height:22px;position:relative;top:-1px}.list_header>div .item_link,.list_item>div .item_link{margin-left:-1px;vertical-align:baseline;line-height:22px}.new-file input[type=checkbox]{visibility:hidden}.item_name{line-height:22px;height:24px}.item_icon{font-size:14px;color:#5e5e5e;margin-right:7px;margin-left:7px;line-height:22px;vertical-align:baseline}.item_buttons{line-height:1em;margin-left:-5px}.item_buttons .btn-group,.item_buttons .input-group{float:left}.item_buttons>.btn,.item_buttons>.btn-group,.item_buttons>.input-group{margin-left:5px}.item_buttons .btn{min-width:13ex}.item_buttons .running-indicator{padding-top:4px;color:#5cb85c}.toolbar_info{height:24px;line-height:24px}input.engine_num_input,input.nbname_input{padding-top:3px;padding-bottom:3px;height:22px;line-height:14px;margin:0}input.engine_num_input{width:60px}.highlight_text{color:#00f}#project_name{display:inline-block;padding-left:7px;margin-left:-2px}#project_name>.breadcrumb{padding:0;margin-bottom:0;background-color:transparent;font-weight:700}#tree-selector{padding-right:0}#button-select-all{min-width:50px}#select-all{margin-left:7px;margin-right:2px}.menu_icon{margin-right:2px}.tab-content .row{margin-left:0;margin-right:0}.folder_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f114\"}.folder_icon:before.pull-left{margin-right:.3em}.folder_icon:before.pull-right{margin-left:.3em}.notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f02d\";position:relative;top:-1px}.notebook_icon:before.pull-left{margin-right:.3em}.notebook_icon:before.pull-right{margin-left:.3em}.running_notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f02d\";position:relative;top:-1px;color:#5cb85c}.running_notebook_icon:before.pull-left{margin-right:.3em}.running_notebook_icon:before.pull-right{margin-left:.3em}.file_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f016\";position:relative;top:-2px}.file_icon:before.pull-left{margin-right:.3em}.file_icon:before.pull-right{margin-left:.3em}#notebook_toolbar .pull-right{padding-top:0;margin-right:-1px}ul#new-menu{left:auto;right:0}.kernel-menu-icon{padding-right:12px;width:24px;content:\"\\f096\"}.kernel-menu-icon:before{content:\"\\f096\"}.kernel-menu-icon-current:before{content:\"\\f00c\"}#tab_content{padding-top:20px}#running .panel-group .panel{margin-top:3px;margin-bottom:1em}#running .panel-group .panel .panel-heading{background-color:#eee;line-height:22px;padding:4px 7px}#running .panel-group .panel .panel-heading a:focus,#running .panel-group .panel .panel-heading a:hover{text-decoration:none}#running .panel-group .panel .panel-body{padding:0}#running .panel-group .panel .panel-body .list_container{margin-top:0;margin-bottom:0;border:0;border-radius:0}#running .panel-group .panel .panel-body .list_container .list_item{border-bottom:1px solid #ddd}#running .panel-group .panel .panel-body .list_container .list_item:last-child{border-bottom:0}.delete-button,.duplicate-button,.rename-button,.shutdown-button{display:none}.dynamic-instructions{display:inline-block;padding-top:4px}/*!\n*\n* IPython text editor webapp\n*\n*/.selected-keymap i.fa{padding:0 5px}.selected-keymap i.fa:before{content:\"\\f00c\"}#mode-menu{overflow:auto;max-height:20em}.edit_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}.edit_app #menubar .navbar{margin-bottom:-1px}.dirty-indicator{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator.pull-left{margin-right:.3em}.dirty-indicator.pull-right{margin-left:.3em}.dirty-indicator-dirty{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator-dirty.pull-left{margin-right:.3em}.dirty-indicator-dirty.pull-right{margin-left:.3em}.dirty-indicator-clean{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px}.dirty-indicator-clean.pull-left{margin-right:.3em}.dirty-indicator-clean.pull-right{margin-left:.3em}.dirty-indicator-clean:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f00c\"}.dirty-indicator-clean:before.pull-left{margin-right:.3em}.dirty-indicator-clean:before.pull-right{margin-left:.3em}#filename{font-size:16pt;display:table;padding:0 5px}#current-mode{padding-left:5px;padding-right:5px}#texteditor-backdrop{padding-top:20px;padding-bottom:20px}@media not print{#texteditor-backdrop{background-color:#eee}}@media print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}}@media not print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}#texteditor-backdrop #texteditor-container{padding:0;background-color:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}}/*!\n*\n* IPython notebook\n*\n*/.ansibold{font-weight:700}.ansiblack{color:#000}.ansired{color:#8b0000}.ansigreen{color:#006400}.ansiyellow{color:#c4a000}.ansiblue{color:#00008b}.ansipurple{color:#9400d3}.ansicyan{color:#4682b4}.ansigray{color:gray}.ansibgblack{background-color:#000}.ansibgred{background-color:red}.ansibggreen{background-color:green}.ansibgyellow{background-color:#ff0}.ansibgblue{background-color:#00f}.ansibgpurple{background-color:#ff00ff}.ansibgcyan{background-color:#0ff}.ansibggray{background-color:gray}div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;border-width:thin;border-style:solid;width:100%;padding:5px;margin:0;outline:0}div.cell.selected{border-color:#ababab}@media print{div.cell.selected{border-color:transparent}}.edit_mode div.cell.selected{border-color:green}.prompt{min-width:14ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em}div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}@-moz-document url-prefix(){div.inner_cell{overflow-x:hidden}}div.input_area{border:1px solid #cfcfcf;border-radius:2px;background:#f7f7f7;line-height:1.21429em}div.prompt:empty{padding-top:0;padding-bottom:0}div.unrecognized_cell{padding:5px 5px 5px 0;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.unrecognized_cell .inner_cell{border-radius:2px;padding:5px;font-weight:700;color:red;border:1px solid #cfcfcf;background:#eaeaea}div.unrecognized_cell .inner_cell a,div.unrecognized_cell .inner_cell a:hover{color:inherit;text-decoration:none}@media (max-width:540px){.prompt{text-align:left}div.unrecognized_cell>div.prompt{display:none}}div.code_cell{}div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.input{-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.input_prompt{color:navy;border-top:1px solid transparent}div.input_area>div.highlight{margin:.4em;border:none;padding:0;background-color:transparent}div.input_area>div.highlight>pre{margin:0;border:none;padding:0;background-color:transparent}.CodeMirror{line-height:1.21429em;font-size:14px;height:auto;background:0 0}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.CodeMirror-lines{padding:.4em}.CodeMirror-linenumber{padding:0 8px 0 4px}.CodeMirror-gutters{border-bottom-left-radius:2px;border-top-left-radius:2px}.CodeMirror pre{padding:0;border:0;border-radius:0}.highlight-base,.highlight-variable{color:#000}.highlight-variable-2{color:#1a1a1a}.highlight-variable-3{color:#333}.highlight-string{color:#BA2121}.highlight-comment{color:#408080;font-style:italic}.highlight-number{color:#080}.highlight-atom{color:#88F}.highlight-keyword{color:green;font-weight:700}.highlight-builtin{color:green}.highlight-error{color:red}.highlight-operator{color:#A2F;font-weight:700}.highlight-meta{color:#A2F}.highlight-def{color:#00f}.highlight-string-2{color:#f50}.highlight-qualifier{color:#555}.highlight-bracket{color:#997}.highlight-tag{color:#170}.highlight-attribute{color:#00c}.highlight-header{color:#00f}.highlight-quote{color:#090}.highlight-link{color:#00c}.cm-s-ipython span.cm-keyword{color:green;font-weight:700}.cm-s-ipython span.cm-atom{color:#88F}.cm-s-ipython span.cm-number{color:#080}.cm-s-ipython span.cm-def{color:#00f}.cm-s-ipython span.cm-variable{color:#000}.cm-s-ipython span.cm-operator{color:#A2F;font-weight:700}.cm-s-ipython span.cm-variable-2{color:#1a1a1a}.cm-s-ipython span.cm-variable-3{color:#333}.cm-s-ipython span.cm-comment{color:#408080;font-style:italic}.cm-s-ipython span.cm-string{color:#BA2121}.cm-s-ipython span.cm-string-2{color:#f50}.cm-s-ipython span.cm-meta{color:#A2F}.cm-s-ipython span.cm-qualifier{color:#555}.cm-s-ipython span.cm-builtin{color:green}.cm-s-ipython span.cm-bracket{color:#997}.cm-s-ipython span.cm-tag{color:#170}.cm-s-ipython span.cm-attribute{color:#00c}.cm-s-ipython span.cm-header{color:#00f}.cm-s-ipython span.cm-quote{color:#090}.cm-s-ipython span.cm-link{color:#00c}.cm-s-ipython span.cm-error{color:red}.cm-s-ipython span.cm-tab{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=')right no-repeat}div.output_wrapper{display:-webkit-box;-webkit-box-align:stretch;display:-moz-box;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;z-index:1}div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:2px;-webkit-box-shadow:inset 0 2px 8px rgba(0,0,0,.8);box-shadow:inset 0 2px 8px rgba(0,0,0,.8);display:block}div.output_collapsed{margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.out_prompt_overlay{height:100%;padding:0 .4em;position:absolute;border-radius:2px}div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000;box-shadow:inset 0 0 1px #000;background:rgba(240,240,240,.5)}div.output_prompt{color:#8b0000}div.output_area{padding:0;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.output_area .MathJax_Display{text-align:left!important}div.output_area .rendered_html img,div.output_area .rendered_html table{margin-left:0;margin-right:0}div.output_area img,div.output_area svg{max-width:100%;height:auto}div.output_area img.unconfined,div.output_area svg.unconfined{max-width:none}.output{display:-webkit-box;-webkit-box-orient:vertical;display:-moz-box;-moz-box-orient:vertical;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}@media (max-width:540px){div.output_area{-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.output_area pre{margin:0;padding:0;border:0;vertical-align:baseline;color:#000;background-color:transparent;border-radius:0}div.output_subarea{overflow-x:auto;padding:.4em;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1;max-width:calc(100% - 14ex)}div.output_text{text-align:left;color:#000;line-height:1.21429em}div.output_stderr{background:#fdd}div.output_latex{text-align:left}div.output_javascript:empty{padding:0}.js-error{color:#8b0000}div.raw_input_container{font-family:monospace;padding-top:5px}span.raw_input_prompt{}input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;vertical-align:baseline;padding:0 .25em;margin:0 .25em}input.raw_input:focus{box-shadow:none}p.p-space{margin-bottom:10px}div.output_unrecognized{padding:5px;font-weight:700;color:red}div.output_unrecognized a,div.output_unrecognized a:hover{color:inherit;text-decoration:none}.rendered_html{color:#000}.rendered_html em{font-style:italic}.rendered_html strong{font-weight:700}.rendered_html :link,.rendered_html :visited,.rendered_html u{text-decoration:underline}.rendered_html h1{font-size:185.7%;margin:1.08em 0 0;font-weight:700;line-height:1}.rendered_html h2{font-size:157.1%;margin:1.27em 0 0;font-weight:700;line-height:1}.rendered_html h3{font-size:128.6%;margin:1.55em 0 0;font-weight:700;line-height:1}.rendered_html h4{font-size:100%;margin:2em 0 0;font-weight:700;line-height:1}.rendered_html h5,.rendered_html h6{font-size:100%;margin:2em 0 0;font-weight:700;line-height:1;font-style:italic}.rendered_html h1:first-child{margin-top:.538em}.rendered_html h2:first-child{margin-top:.636em}.rendered_html h3:first-child{margin-top:.777em}.rendered_html h4:first-child,.rendered_html h5:first-child,.rendered_html h6:first-child{margin-top:1em}.rendered_html ul{list-style:disc;margin:0 2em;padding-left:0}.rendered_html ul ul{list-style:square;margin:0 2em}.rendered_html ul ul ul{list-style:circle;margin:0 2em}.rendered_html ol{list-style:decimal;margin:0 2em;padding-left:0}.rendered_html ol ol{list-style:upper-alpha;margin:0 2em}.rendered_html ol ol ol{list-style:lower-alpha;margin:0 2em}.rendered_html ol ol ol ol{list-style:lower-roman;margin:0 2em}.rendered_html ol ol ol ol ol{list-style:decimal;margin:0 2em}.rendered_html *+ol,.rendered_html *+ul{margin-top:1em}.rendered_html hr{color:#000;background-color:#000}.rendered_html pre{margin:1em 2em}.rendered_html code,.rendered_html pre{border:0;background-color:#fff;color:#000;font-size:100%;padding:0}.rendered_html blockquote{margin:1em 2em}.rendered_html table{margin-left:auto;margin-right:auto;border:1px solid #000;border-collapse:collapse}.rendered_html td,.rendered_html th,.rendered_html tr{border:1px solid #000;border-collapse:collapse;margin:1em 2em}.rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px}.rendered_html th{font-weight:700}.rendered_html *+table{margin-top:1em}.rendered_html p{text-align:left}.rendered_html *+p{margin-top:1em}.rendered_html img{display:block;margin-left:auto;margin-right:auto}.rendered_html *+img{margin-top:1em}.rendered_html img,.rendered_html svg{max-width:100%;height:auto}.rendered_html img.unconfined,.rendered_html svg.unconfined{max-width:none}div.text_cell{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.text_cell>div.prompt{display:none}}div.text_cell_render{outline:0;resize:none;width:inherit;border-style:none;padding:.5em .5em .5em .4em;color:#000;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}a.anchor-link:link{text-decoration:none;padding:0 20px;visibility:hidden}h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible}.text_cell.rendered .input_area{display:none}.text_cell.rendered .rendered_html{overflow-x:auto}.text_cell.unrendered .text_cell_render{display:none}.cm-header-1,.cm-header-2,.cm-header-3,.cm-header-4,.cm-header-5,.cm-header-6{font-weight:700;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif}.cm-header-1{font-size:185.7%}.cm-header-2{font-size:157.1%}.cm-header-3{font-size:128.6%}.cm-header-4{font-size:110%}.cm-header-5,.cm-header-6{font-size:100%;font-style:italic}/*!\n*\n* IPython notebook webapp\n*\n*/@media (max-width:767px){.notebook_app{padding-left:0;padding-right:0}}#ipython-main-app{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}div#notebook_panel{margin:0;padding:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}#notebook{font-size:14px;line-height:20px;overflow-y:hidden;overflow-x:auto;width:100%;padding-top:20px;margin:0;outline:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;min-height:100%}@media not print{#notebook-container{padding:15px;background-color:#fff;min-height:0;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}}div.ui-widget-content{border:1px solid #ababab;outline:0}pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:2px;padding:.4em .4em .4em 2em}p.dialog{padding:.2em}code,kbd,pre,samp{white-space:pre-wrap}#fonttest{font-family:monospace}p{margin-bottom:0}.end_space{min-height:100px;transition:height .2s ease}.notebook_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}@media not print{.notebook_app{background-color:#eee}}.celltoolbar{border:thin solid #CFCFCF;border-bottom:none;background:#EEE;border-radius:2px 2px 0 0;width:100%;height:29px;padding-right:4px;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch;-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end;font-size:87%;padding-top:3px}@media print{.edit_mode div.cell.selected{border-color:transparent}div.code_cell{page-break-inside:avoid}#notebook-container{width:100%}.celltoolbar{display:none}}.ctb_hideshow{display:none;vertical-align:bottom}.ctb_global_show .ctb_show.ctb_hideshow{display:block}.ctb_global_show .ctb_show+.input_area,.ctb_global_show .ctb_show+div.text_cell_input,.ctb_global_show .ctb_show~div.text_cell_render{border-top-right-radius:0;border-top-left-radius:0}.ctb_global_show .ctb_show~div.text_cell_render{border:1px solid #cfcfcf}.celltoolbar select{color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;line-height:1.5;border-radius:1px;width:inherit;font-size:inherit;height:22px;padding:0;display:inline-block}.celltoolbar select:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.celltoolbar select::-moz-placeholder{color:#999;opacity:1}.celltoolbar select:-ms-input-placeholder{color:#999}.celltoolbar select::-webkit-input-placeholder{color:#999}.celltoolbar select[disabled],.celltoolbar select[readonly],fieldset[disabled] .celltoolbar select{background-color:#eee;opacity:1}.celltoolbar select[disabled],fieldset[disabled] .celltoolbar select{cursor:not-allowed}textarea.celltoolbar select{height:auto}select.celltoolbar select{height:30px;line-height:30px}select[multiple].celltoolbar select,textarea.celltoolbar select{height:auto}.celltoolbar label{margin-left:5px;margin-right:5px}.completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;border-radius:2px;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad;line-height:1}.completions select{background:#fff;outline:0;border:none;padding:0;margin:0;overflow:auto;font-family:monospace;font-size:110%;color:#000;width:auto}.completions select option.context{color:#286090}#kernel_logo_widget{float:right!important;float:right}#kernel_logo_widget .current_kernel_logo{display:none;margin-top:-1px;margin-bottom:-1px;width:32px;height:32px}#menubar{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-top:1px}#menubar .navbar{border-top:1px;border-radius:0 0 2px 2px;margin-bottom:0}#menubar .navbar-toggle{float:left;padding-top:7px;padding-bottom:7px;border:none}#menubar .navbar-collapse{clear:left}.nav-wrapper{border-bottom:1px solid #e7e7e7}i.menu-icon{padding-top:4px}ul#help_menu li a{overflow:hidden;padding-right:2.2em}ul#help_menu li a i{margin-right:-1.2em}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;content:\"\\f0da\";float:right;color:#333;margin-top:2px;margin-right:-10px}.dropdown-submenu>a:after.pull-left{margin-right:.3em}.dropdown-submenu>a:after.pull-right{margin-left:.3em}.dropdown-submenu:hover>a:after{color:#262626}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}#notification_area{float:right!important;float:right;z-index:10}.indicator_area{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto}#kernel_indicator{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto;border-left:1px solid}#kernel_indicator .kernel_indicator_name{padding-left:5px;padding-right:5px}#modal_indicator{float:right!important;float:right;color:#777;margin-left:5px;margin-right:5px;z-index:10;text-align:center;width:auto}#readonly-indicator{float:right!important;float:right;color:#777;z-index:10;text-align:center;width:auto;display:none;margin:2px 0 0}.modal_indicator:before{width:1.28571429em;text-align:center}.edit_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f040\"}.edit_mode .modal_indicator:before.pull-left{margin-right:.3em}.edit_mode .modal_indicator:before.pull-right{margin-left:.3em}.command_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:' '}.command_mode .modal_indicator:before.pull-left{margin-right:.3em}.command_mode .modal_indicator:before.pull-right{margin-left:.3em}.kernel_idle_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f10c\"}.kernel_idle_icon:before.pull-left{margin-right:.3em}.kernel_idle_icon:before.pull-right{margin-left:.3em}.kernel_busy_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f111\"}.kernel_busy_icon:before.pull-left{margin-right:.3em}.kernel_busy_icon:before.pull-right{margin-left:.3em}.kernel_dead_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f1e2\"}.kernel_dead_icon:before.pull-left{margin-right:.3em}.kernel_dead_icon:before.pull-right{margin-left:.3em}.kernel_disconnected_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f127\"}.kernel_disconnected_icon:before.pull-left{margin-right:.3em}.kernel_disconnected_icon:before.pull-right{margin-left:.3em}.notification_widget{z-index:10;background:rgba(240,240,240,.5);margin-right:4px;color:#333;background-color:#fff;border-color:#ccc}.notification_widget.active,.notification_widget.focus,.notification_widget:active,.notification_widget:focus,.notification_widget:hover,.open>.dropdown-toggle.notification_widget{color:#333;background-color:#e6e6e6;border-color:#adadad}.notification_widget.active,.notification_widget:active,.open>.dropdown-toggle.notification_widget{background-image:none}.notification_widget.disabled,.notification_widget.disabled.active,.notification_widget.disabled.focus,.notification_widget.disabled:active,.notification_widget.disabled:focus,.notification_widget.disabled:hover,.notification_widget[disabled],.notification_widget[disabled].active,.notification_widget[disabled].focus,.notification_widget[disabled]:active,.notification_widget[disabled]:focus,.notification_widget[disabled]:hover,fieldset[disabled] .notification_widget,fieldset[disabled] .notification_widget.active,fieldset[disabled] .notification_widget.focus,fieldset[disabled] .notification_widget:active,fieldset[disabled] .notification_widget:focus,fieldset[disabled] .notification_widget:hover{background-color:#fff;border-color:#ccc}.notification_widget .badge{color:#fff;background-color:#333}.notification_widget.warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning.active,.notification_widget.warning.focus,.notification_widget.warning:active,.notification_widget.warning:focus,.notification_widget.warning:hover,.open>.dropdown-toggle.notification_widget.warning{color:#fff;background-color:#ec971f;border-color:#d58512}.notification_widget.warning.active,.notification_widget.warning:active,.open>.dropdown-toggle.notification_widget.warning{background-image:none}.notification_widget.warning.disabled,.notification_widget.warning.disabled.active,.notification_widget.warning.disabled.focus,.notification_widget.warning.disabled:active,.notification_widget.warning.disabled:focus,.notification_widget.warning.disabled:hover,.notification_widget.warning[disabled],.notification_widget.warning[disabled].active,.notification_widget.warning[disabled].focus,.notification_widget.warning[disabled]:active,.notification_widget.warning[disabled]:focus,.notification_widget.warning[disabled]:hover,fieldset[disabled] .notification_widget.warning,fieldset[disabled] .notification_widget.warning.active,fieldset[disabled] .notification_widget.warning.focus,fieldset[disabled] .notification_widget.warning:active,fieldset[disabled] .notification_widget.warning:focus,fieldset[disabled] .notification_widget.warning:hover{background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning .badge{color:#f0ad4e;background-color:#fff}.notification_widget.success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success.active,.notification_widget.success.focus,.notification_widget.success:active,.notification_widget.success:focus,.notification_widget.success:hover,.open>.dropdown-toggle.notification_widget.success{color:#fff;background-color:#449d44;border-color:#398439}.notification_widget.success.active,.notification_widget.success:active,.open>.dropdown-toggle.notification_widget.success{background-image:none}.notification_widget.success.disabled,.notification_widget.success.disabled.active,.notification_widget.success.disabled.focus,.notification_widget.success.disabled:active,.notification_widget.success.disabled:focus,.notification_widget.success.disabled:hover,.notification_widget.success[disabled],.notification_widget.success[disabled].active,.notification_widget.success[disabled].focus,.notification_widget.success[disabled]:active,.notification_widget.success[disabled]:focus,.notification_widget.success[disabled]:hover,fieldset[disabled] .notification_widget.success,fieldset[disabled] .notification_widget.success.active,fieldset[disabled] .notification_widget.success.focus,fieldset[disabled] .notification_widget.success:active,fieldset[disabled] .notification_widget.success:focus,fieldset[disabled] .notification_widget.success:hover{background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success .badge{color:#5cb85c;background-color:#fff}.notification_widget.info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.notification_widget.info.active,.notification_widget.info.focus,.notification_widget.info:active,.notification_widget.info:focus,.notification_widget.info:hover,.open>.dropdown-toggle.notification_widget.info{color:#fff;background-color:#31b0d5;border-color:#269abc}.notification_widget.info.active,.notification_widget.info:active,.open>.dropdown-toggle.notification_widget.info{background-image:none}.notification_widget.info.disabled,.notification_widget.info.disabled.active,.notification_widget.info.disabled.focus,.notification_widget.info.disabled:active,.notification_widget.info.disabled:focus,.notification_widget.info.disabled:hover,.notification_widget.info[disabled],.notification_widget.info[disabled].active,.notification_widget.info[disabled].focus,.notification_widget.info[disabled]:active,.notification_widget.info[disabled]:focus,.notification_widget.info[disabled]:hover,fieldset[disabled] .notification_widget.info,fieldset[disabled] .notification_widget.info.active,fieldset[disabled] .notification_widget.info.focus,fieldset[disabled] .notification_widget.info:active,fieldset[disabled] .notification_widget.info:focus,fieldset[disabled] .notification_widget.info:hover{background-color:#5bc0de;border-color:#46b8da}.notification_widget.info .badge{color:#5bc0de;background-color:#fff}.notification_widget.danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger.active,.notification_widget.danger.focus,.notification_widget.danger:active,.notification_widget.danger:focus,.notification_widget.danger:hover,.open>.dropdown-toggle.notification_widget.danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.notification_widget.danger.active,.notification_widget.danger:active,.open>.dropdown-toggle.notification_widget.danger{background-image:none}.notification_widget.danger.disabled,.notification_widget.danger.disabled.active,.notification_widget.danger.disabled.focus,.notification_widget.danger.disabled:active,.notification_widget.danger.disabled:focus,.notification_widget.danger.disabled:hover,.notification_widget.danger[disabled],.notification_widget.danger[disabled].active,.notification_widget.danger[disabled].focus,.notification_widget.danger[disabled]:active,.notification_widget.danger[disabled]:focus,.notification_widget.danger[disabled]:hover,fieldset[disabled] .notification_widget.danger,fieldset[disabled] .notification_widget.danger.active,fieldset[disabled] .notification_widget.danger.focus,fieldset[disabled] .notification_widget.danger:active,fieldset[disabled] .notification_widget.danger:focus,fieldset[disabled] .notification_widget.danger:hover{background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger .badge{color:#d9534f;background-color:#fff}div#pager{background-color:#fff;font-size:14px;line-height:20px;overflow:hidden;display:none;position:fixed;bottom:0;width:100%;max-height:50%;padding-top:8px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2);z-index:100;top:auto!important}div#pager pre{line-height:1.21429em;color:#000;background-color:#f7f7f7;padding:.4em}div#pager #pager-button-area{position:absolute;top:8px;right:20px}div#pager #pager-contents{position:relative;overflow:auto;width:100%;height:100%}div#pager #pager-contents #pager-container{position:relative;padding:15px 0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#pager .ui-resizable-handle{top:0;height:8px;background:#f7f7f7;border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}div#pager .ui-resizable-handle::after{content:'';top:2px;left:50%;height:3px;width:30px;margin-left:-15px;position:absolute;border-top:1px solid #cfcfcf}.quickhelp{display:-webkit-box;-webkit-box-orient:horizontal;display:-moz-box;-moz-box-orient:horizontal;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.shortcut_key{display:inline-block;width:20ex;text-align:right;font-family:monospace}.shortcut_descr{display:inline-block;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}span.save_widget{margin-top:6px}span.save_widget span.filename{height:1em;line-height:1em;padding:3px;margin-left:16px;border:none;font-size:146.5%;border-radius:2px}span.save_widget span.filename:hover{background-color:#e6e6e6}span.autosave_status,span.checkpoint_status{font-size:small}@media (max-width:767px){span.save_widget{font-size:small}span.autosave_status,span.checkpoint_status{display:none}}@media (min-width:768px)and (max-width:991px){span.checkpoint_status{display:none}span.autosave_status{font-size:x-small}}.toolbar{padding:0;margin-left:-5px;margin-top:2px;margin-bottom:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.toolbar label,.toolbar select{width:auto;vertical-align:middle;margin-bottom:0;display:inline;font-size:92%;margin-left:.3em;margin-right:.3em;padding:3px 0 0}.toolbar .btn{padding:2px 8px}.toolbar .btn-group{margin-top:0;margin-left:5px}#maintoolbar{margin-bottom:-3px;margin-top:-8px;border:0;min-height:27px;margin-left:0;padding-top:11px;padding-bottom:3px}#maintoolbar .navbar-text{float:none;vertical-align:middle;text-align:right;margin-left:5px;margin-right:0;margin-top:0}.select-xs{height:24px}@-moz-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms}.smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px}.tooltipbuttons{position:absolute;padding-right:15px;top:0;right:0}.tooltiptext{padding-right:30px}.ipython_tooltip{max-width:700px;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:1px solid #ababab;outline:0;padding:3px 3px 3px 7px;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0 6px 10px -1px #adadad;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad;border-radius:2px;position:absolute;z-index:1000}.ipython_tooltip a{float:right}.ipython_tooltip .tooltiptext pre{border:0;border-radius:0;font-size:100%;background-color:#f7f7f7}.pretooltiparrow{left:0;margin:0;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute}.pretooltiparrow:before{background-color:#f7f7f7;border:1px solid #ababab;z-index:11;content:\"\";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}.terminal-app{background:#eee}.terminal-app #header{background:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.2);box-shadow:0 0 12px 1px rgba(87,87,87,.2)}.terminal-app .terminal{float:left;font-family:monospace;color:#fff;background:#000;padding:.4em;border-radius:2px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,.4);box-shadow:0 0 12px 1px rgba(87,87,87,.4)}.terminal-app .terminal,.terminal-app .terminal dummy-screen{line-height:1em;font-size:14px}.terminal-app .terminal-cursor{color:#000;background:#fff}.terminal-app #terminado-container{margin-top:20px}\n/*# sourceMappingURL=style.min.css.map */\n    </style>\n<style type=\"text/css\">\n    .highlight .hll { background-color: #ffffcc }\n.highlight  { background: #f8f8f8; }\n.highlight .c { color: #408080; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #008000; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #888888 } /* Generic.Output */\n.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #008000 } /* Keyword.Pseudo */\n.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #B00040 } /* Keyword.Type */\n.highlight .m { color: #666666 } /* Literal.Number */\n.highlight .s { color: #BA2121 } /* Literal.String */\n.highlight .na { color: #7D9029 } /* Name.Attribute */\n.highlight .nb { color: #008000 } /* Name.Builtin */\n.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.highlight .no { color: #880000 } /* Name.Constant */\n.highlight .nd { color: #AA22FF } /* Name.Decorator */\n.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.highlight .nf { color: #0000FF } /* Name.Function */\n.highlight .nl { color: #A0A000 } /* Name.Label */\n.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #19177C } /* Name.Variable */\n.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mb { color: #666666 } /* Literal.Number.Bin */\n.highlight .mf { color: #666666 } /* Literal.Number.Float */\n.highlight .mh { color: #666666 } /* Literal.Number.Hex */\n.highlight .mi { color: #666666 } /* Literal.Number.Integer */\n.highlight .mo { color: #666666 } /* Literal.Number.Oct */\n.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n.highlight .sc { color: #BA2121 } /* Literal.String.Char */\n.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.highlight .sx { color: #008000 } /* Literal.String.Other */\n.highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n.highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n.highlight .ss { color: #19177C } /* Literal.String.Symbol */\n.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #19177C } /* Name.Variable.Class */\n.highlight .vg { color: #19177C } /* Name.Variable.Global */\n.highlight .vi { color: #19177C } /* Name.Variable.Instance */\n.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */\n    </style>\n\n\n<style type=\"text/css\">\n/* Overrides of notebook CSS for static HTML export */\nbody {\n  overflow: visible;\n  padding: 8px;\n}\n\ndiv#notebook {\n  overflow: visible;\n  border-top: none;\n}\n\n@media print {\n  div.cell {\n    display: block;\n    page-break-inside: avoid;\n  } \n  div.output_wrapper { \n    display: block;\n    page-break-inside: avoid; \n  }\n  div.output { \n    display: block;\n    page-break-inside: avoid; \n  }\n}\n</style>\n\n<!-- Custom stylesheet, it must be in the same directory as the html file -->\n<link rel=\"stylesheet\" href=\"custom.css\">\n\n<!-- Loading mathjax macro -->\n<!-- Load mathjax -->\n    <script src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"></script>\n    <!-- MathJax configuration -->\n    <script type=\"text/x-mathjax-config\">\n    MathJax.Hub.Config({\n        tex2jax: {\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n            processEscapes: true,\n            processEnvironments: true\n        },\n        // Center justify equations in code and markdown cells. Elsewhere\n        // we use CSS to left justify single line equations in code cells.\n        displayAlign: 'center',\n        \"HTML-CSS\": {\n            styles: {'.MathJax_Display': {\"margin\": 0}},\n            linebreaks: { automatic: true }\n        }\n    });\n    </script>\n    <!-- End of mathjax configuration --></head>\n<body>\n  <div tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\">\n    <div class=\"container\" id=\"notebook-container\">\n\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"P4-Smartcab\">P4 Smartcab<a class=\"anchor-link\" href=\"#P4-Smartcab\">&#182;</a></h1>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"1.-Implement-a-Basic-Driving-Agent\">1. Implement a Basic Driving Agent<a class=\"anchor-link\" href=\"#1.-Implement-a-Basic-Driving-Agent\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Process\"><strong>Process</strong><a class=\"anchor-link\" href=\"#Process\">&#182;</a></h3><p><strong>Understanding the game</strong> The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so <code>enforce_deadline</code> was set to <code>True</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[28]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"kn\">from</span> <span class=\"nn\">IPython.display</span> <span class=\"k\">import</span> <span class=\"n\">Image</span>\n<span class=\"n\">Image</span><span class=\"p\">(</span><span class=\"n\">filename</span><span class=\"o\">=</span><span class=\"s1\">&#39;img/grid.png&#39;</span><span class=\"p\">)</span> \n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[28]:</div>\n\n\n<div class=\"output_png output_subarea output_execute_result\">\n<img src=\"data:image/png;base64,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\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\n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\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\n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\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\n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\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\n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\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\n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\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\n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\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\n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\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\n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\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\n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\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\n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\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\n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\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\n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\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\n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\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\n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\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\n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\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\n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\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Changing Code</strong> I then (1) modified <code>action</code> within the <code>LearningAgent</code>'s <code>update</code> function in <code>agent.py</code> to make the car choose actions randomly instead of not at all:</p>\n<pre>\naction = random.choice([None, 'forward', 'left', 'right'])\n</pre><p>and (2) set <code>enforce_deadline=False</code>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"QUESTIONS:\">QUESTIONS:<a class=\"anchor-link\" href=\"#QUESTIONS:\">&#182;</a></h3><ol>\n<li>Observe what you see with the agent's behavior as it takes random actions.<ul>\n<li>The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) </li>\n<li>The agent often goes around in loops.</li>\n</ul>\n</li>\n<li>Does the smartcab eventually make it to the destination?<ul>\n<li>It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)</li>\n</ul>\n</li>\n<li>Are there any other interesting observations to note?<ul>\n<li>The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.</li>\n</ul>\n</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[&nbsp;]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"c1\"># Console output for Trial 2 - Did not make it to destination</span>\n\n<span class=\"n\">Simulator</span><span class=\"o\">.</span><span class=\"n\">run</span><span class=\"p\">():</span> <span class=\"n\">Trial</span> <span class=\"mi\">2</span>\n<span class=\"n\">Environment</span><span class=\"o\">.</span><span class=\"n\">reset</span><span class=\"p\">():</span> <span class=\"n\">Trial</span> <span class=\"nb\">set</span> <span class=\"n\">up</span> <span class=\"k\">with</span> <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mi\">7</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"n\">destination</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">,</span> <span class=\"mi\">6</span><span class=\"p\">),</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"mi\">30</span>\n<span class=\"n\">RoutePlanner</span><span class=\"o\">.</span><span class=\"n\">route_to</span><span class=\"p\">():</span> <span class=\"n\">destination</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">,</span> <span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;green&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;forward&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"mf\">0.0</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"mi\">29</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;green&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;forward&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"n\">right</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"mf\">2.0</span>\n<span class=\"o\">...</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;green&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"n\">right</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"mf\">2.0</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;red&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mf\">1.0</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;red&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"n\">forward</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mf\">1.0</span>\n<span class=\"o\">...</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mi\">99</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;green&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"mf\">0.0</span>\n<span class=\"n\">LearningAgent</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">():</span> <span class=\"n\">deadline</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mi\">100</span><span class=\"p\">,</span> <span class=\"n\">inputs</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;light&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;green&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;oncoming&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;right&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"s1\">&#39;left&#39;</span><span class=\"p\">:</span> <span class=\"kc\">None</span><span class=\"p\">},</span> <span class=\"n\">action</span> <span class=\"o\">=</span> <span class=\"n\">left</span><span class=\"p\">,</span> <span class=\"n\">reward</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mf\">0.5</span>\n<span class=\"n\">Environment</span><span class=\"o\">.</span><span class=\"n\">step</span><span class=\"p\">():</span> <span class=\"n\">Primary</span> <span class=\"n\">agent</span> <span class=\"n\">hit</span> <span class=\"n\">hard</span> <span class=\"n\">time</span> <span class=\"n\">limit</span> <span class=\"p\">(</span><span class=\"o\">-</span><span class=\"mi\">100</span><span class=\"p\">)</span><span class=\"o\">!</span> Trial aborted.\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"2.-Inform-the-Driving-Agent\">2. Inform the Driving Agent<a class=\"anchor-link\" href=\"#2.-Inform-the-Driving-Agent\">&#182;</a></h2><h3 id=\"QUESTIONS:\">QUESTIONS:<a class=\"anchor-link\" href=\"#QUESTIONS:\">&#182;</a></h3><ul>\n<li>What states have you identified that are appropriate for modeling the smartcab and environment? </li>\n<li>Why do you believe each of these states to be appropriate for this problem?</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>States:</p>\n<table>\n<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\n<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\n<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\n<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\n<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\n<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>OPTIONAL</strong>:</p>\n<ul>\n<li>How many states in total exist for the smartcab in this environment? </li>\n<li>Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Total number of states</strong>: 4^4 * 2 = 512 states.</p>\n<p>The minimum 'deadline' is <code>minimum distance</code> x 5 = 4 x \n5 = 20 and the maximum is 12 x 5 = 60.</p>\n<p>If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means <strong>each state will be visited an average of</strong> 20 turns x 100 trials / 512 states i.e. about <strong>4 times</strong>. This is <strong>reasonable but is still quite low</strong>.</p>\n<p>This low number is <strong>why I did not include further state attributes</strong> I considered (see boloew) because that would only reduce the number of visits to each state even further.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>States that I considered:</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\n<tr><td>Deadline</td><td>deadline</td><td><ul>\n<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\n<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Glossary</strong>:</p>\n<ul>\n<li>Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).</li>\n<li>Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS</li>\n<li>inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[&nbsp;]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">Image</span><span class=\"p\">(</span><span class=\"n\">filename</span><span class=\"o\">=</span><span class=\"s2\">&quot;img/input_right.png&quot;</span><span class=\"p\">)</span>\n</pre></div>\n\n</div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"3.-Implement-a-Q-Learning-Driving-Agent\">3. Implement a Q-Learning Driving Agent<a class=\"anchor-link\" href=\"#3.-Implement-a-Q-Learning-Driving-Agent\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Q-learning algorithm</strong> The crux of the Q-learning algorithm is</p>\n<pre>\nnew_q = old_q*(1 - self.alpha) + self.alpha*(reward + self.gamma * max_state2_q)\n</pre><p>in the <code>learn_q</code> function in <code>agent.py</code>.</p>\n<p><strong>Choosing actions</strong> The agent chooses the best action to take by choosing the action with the maximum Q-value for the corresponding state. It chooses a random action if there are multiple actions where the resulting Q-value = maxQ.</p>\n<p><strong>Exploration</strong> The agent also chooses a random action with probability epsilon. This allows it to escape if it 'gets stuck' in some suboptimal local optima.</p>\n<p><strong>Decaying learning rate (1/t)</strong> The initial learning rate is high at Alpha=1 so the agent learns quickly. As time goes on, the agent becomes more confident with what it's learned and is less persuaded by new information.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"QUESTION:\"><strong>QUESTION</strong>:<a class=\"anchor-link\" href=\"#QUESTION:\">&#182;</a></h3><ul>\n<li>What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>The agent is <strong>more likely to take actions corresponding to <code>next_waypoint</code></strong> when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that <strong>maximise total expected reward</strong>.</p>\n<p>The agent is <strong>less likely to take actions tha result in penalties</strong> (crashing into cars, making illegal moves or making moves that are legal but are not equal to <code>next_waypoint</code> so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.</p>\n<p>The agent <strong>reaches the destination more frequently</strong>: after implementing Q-learning, it reaches the destination in time over 80% of the time, whereas while it was moving randomly it reached the destination in time less than 10% of the time. The agent does not just move randomly in loops any more.</p>\n<p>As the agent <strong>gains experience</strong>, it is less likely to go around in loops or get penalised for going against traffic rules or crashing into other cars.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Notes:-Debugging-'Implementing-a-Q-Learning-Driving-Agent'\">Notes: Debugging 'Implementing a Q-Learning Driving Agent'<a class=\"anchor-link\" href=\"#Notes:-Debugging-'Implementing-a-Q-Learning-Driving-Agent'\">&#182;</a></h3><ol>\n<li>I realised the agent wasn't acting because the <code>count</code> variable was defined wrongly: <ul>\n<li><code>count</code> was used to see there were multiple actions with <code>q-value = maxQ</code> for that state. </li>\n<li>If <code>count</code> &gt; 1, we would randomly choose one action out of the set of actions where <code>q-value = maxQ</code>.</li>\n<li><code>count</code> was wrongly defined as <code>len([maxq])</code>, which is always equal to one since it is an array with a float in it.</li>\n<li>It should've been <code>len([i in q if q[i] == max_q])</code> instead.</li>\n<li>Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.</li>\n<li>This meant the agent often chose <code>None</code>.</li>\n</ul>\n</li>\n<li>I'd forgotten to incorporate <code>next_waypoint</code> into my state. Pretty silly.</li>\n<li>I wanted to print results after every turn for debugging purposes and put <code>self.results</code> in TrafficLight instead of Environment.</li>\n</ol>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2 id=\"4.-Improve-the-Q-Learning-Driving-Agent\">4. Improve the Q-Learning Driving Agent<a class=\"anchor-link\" href=\"#4.-Improve-the-Q-Learning-Driving-Agent\">&#182;</a></h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"4.1-Planning\">4.1 Planning<a class=\"anchor-link\" href=\"#4.1-Planning\">&#182;</a></h3><p><strong>Procedure</strong>:</p>\n<ol>\n<li>Run each configuration 50 times (50 sets of 100 trials)</li>\n<li>Write metrics into separate file</li>\n<li>Convert to summary statistics over 50 sets</li>\n<li>Observe statistics</li>\n<li>Alter list of configurations as appropriate and repeat until satisfied</li>\n</ol>\n<p>The <strong>metrics considered</strong> were</p>\n<ul>\n<li><p><strong>Total number of successful outcomes</strong> (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates <strong>inefficiency</strong>.</p>\n<ul>\n<li><strong>Average buffer</strong> (Time left / Initial deadline) -&gt; Indicates how efficient the driving agent was.</li>\n</ul>\n</li>\n<li><p><strong>Average number of incorrect actions per trial</strong> (penalties of -1.0) because this indicates an action was <strong>unsafe</strong>.</p>\n</li>\n</ul>\n<p>The parameters considered were</p>\n<ul>\n<li>Exploration rate Epsilon (epsilon)</li>\n<li>Discount rate Gamma (gamma)</li>\n<li>Learning rate Alpha (alpha) </li>\n<li>Default Q value (if one did not exist before (default_q)</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"4.2-Optimising\">4.2 Optimising<a class=\"anchor-link\" href=\"#4.2-Optimising\">&#182;</a></h3><h4 id=\"4.2.1-Optimising-for-Epsilon\">4.2.1 Optimising for Epsilon<a class=\"anchor-link\" href=\"#4.2.1-Optimising-for-Epsilon\">&#182;</a></h4>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.20</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>87.78</td><td>0.5179</td><td>1.0810</td></tr>\n<tr><td>0.10</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>94.20</td><td>0.5709</td><td>0.5732</td></tr>\n<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\n<tr><td>0.01</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>98.36</td><td>0.5829</td><td>0.1926</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Observation</strong> It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.</p>\n<p><strong>Interpretation</strong> This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.</p>\n<p><strong>Next actions</strong> For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.</p>\n<p>Once we have chosen our gamma and alpha, we will optimise for epsilon.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.2-Optimising-for-Gamma-(and-Alpha)\">4.2.2 Optimising for Gamma (and Alpha)<a class=\"anchor-link\" href=\"#4.2.2-Optimising-for-Gamma-(and-Alpha)\">&#182;</a></h4><p>Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\n<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\n<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\n<tr><td>0.05</td><td>0.75</td><td>'1.0/t'</td><td>0.0</td><td>94.02</td><td>0.5573</td><td>0.3822</td></tr>\n<tr><td>0.05</td><td>0.99</td><td>'1.0/t'</td><td>0.0</td><td>75.30</td><td>0.5399</td><td>0.6030</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Observations</strong></p>\n<ul>\n<li>It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. </li>\n<li>The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. </li>\n<li>Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.</li>\n</ul>\n<p><strong>Next actions</strong> This motivates us to try more Gamma values in the range (0,0.5).</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.3-Pre-emptive-checking-for-robustness\">4.2.3 Pre-emptive checking for robustness<a class=\"anchor-link\" href=\"#4.2.3-Pre-emptive-checking-for-robustness\">&#182;</a></h4><p>We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\n<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\n<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\n<tr><td>0.05</td><td>0.75</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>93.76</td><td>0.5539</td><td>0.3888</td></tr>\n<tr><td>0.05</td><td>0.99</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>69.60</td><td>0.5312</td><td>0.7028</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Observation</strong> The <strong>trend differences</strong> were that average penalties continued to decrease as Gamma was increased up to 0.50.</p>\n<p><strong>Decision-making and next actions</strong> The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was <strong>not worthwhile to experiment with increasing Gamma beyond 0.25</strong>.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.4-Continue-optimising-for-Gamma\">4.2.4 Continue optimising for Gamma<a class=\"anchor-link\" href=\"#4.2.4-Continue-optimising-for-Gamma\">&#182;</a></h4>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Alpha = '1.0/t'</p>\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\n<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\n<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\n</table><p>Alpha = '1.0/(t^0.5)'</p>\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\n<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\n<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Observations</strong>: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for <strong>setting Gammma to be around 0.1</strong>.</p>\n<p>For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that <strong>setting Gamma to be around 0.01</strong> would be appropriate because an increase in successes of 0.3 trials (per 100) is more important than decreasing average penalty by 0.008 per trial.</p>\n<p><strong>Next Actions</strong>: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.</p>\n<p>We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.5-Optimising-for-Alpha\">4.2.5 Optimising for Alpha<a class=\"anchor-link\" href=\"#4.2.5-Optimising-for-Alpha\">&#182;</a></h4>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.72</td><td>0.5761</td><td>0.3618</td></tr>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5722</td><td>0.3608</td></tr>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.84</td><td>0.5713</td><td>0.3718</td></tr>\n<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>        0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\n</table><table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.001)'</td><td>0.0</td><td>97.72</td><td>0.5733</td><td>0.3616</td></tr>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5723</td><td>0.3608</td></tr>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.98</td><td>0.5682</td><td>0.3638</td></tr>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.80</td><td>0.5707</td><td>0.3788</td></tr>\n<tr><td>0.05</td><td>0.10</td><td>'1.0/t'</td><td>        0.0</td><td>98.10</td><td>0.5747</td><td>0.3604</td></tr>\n</table><table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.80</td><td>0.5653</td><td>0.3730</td></tr>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>97.60</td><td>0.5724</td><td>0.3606</td></tr>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.88</td><td>0.5694</td><td>0.3632</td></tr>\n<tr><td>0.05</td><td>0.20</td><td>'1.0/t'</td><td>        0.0</td><td>97.12</td><td>0.5685</td><td>0.3834</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In&nbsp;[29]:</div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">Image</span><span class=\"p\">(</span><span class=\"n\">filename</span><span class=\"o\">=</span><span class=\"s1\">&#39;img/heatmap-alpha-gamma.png&#39;</span><span class=\"p\">)</span> \n</pre></div>\n\n</div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\"><div class=\"prompt output_prompt\">Out[29]:</div>\n\n\n<div class=\"output_png output_subarea output_execute_result\">\n<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAFDCAYAAADS5rEFAAAgAElEQVR4Xu2dB5gUxfa3D0jOOUqQ\nLBhQQVS4iIKAgOSgEhXJyUAUjKggoCTJiAgoICAZBQQVkSiIcEEkCYKI5CRI3O/51f16/7PLzu6c\n6p7d2Z1fPc99vOz2qa56q3f6nVNV3ckiIiKGCwsJkAAJkAAJkAAJhBGBZBERERFh1F92lQRIgARI\ngARIgASEAsSLgARIgARIgARIIOwIUIDCbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrsh\nZ4dJgARIgARIgAQoQLwGSIAESIAESIAEwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7\nAhSgsBtydpgESIAESIAESIACxGuABEiABEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIg\nARIggbAjQAEKuyFnh0mABEiABEiABChAvAZIgARIgARIgATCjgAFKOyGnB0mARIgARIgARKgAPEa\nIAESIAESIAESCDsCFKCwG3J2mARIgARIgARIgALEa4AESIAESIAESCDsCFCAwm7I2WESIAESIAES\nIAEKEK8BEiABEiABEiCBsCNAAQq7IWeHSYAESIAESIAEKEC8BkiABEiABEiABMKOAAUo7IacHSYB\nEiABEiABEqAA8RogARIgARIgARIIOwIUoLAbcnaYBEiABEiABEiAAsRrgARIgARIgARIIOwIUIDC\nbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrshZ4dJgARIgARIgAQoQLwGSIAESIAESIAE\nwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7AhSgsBtydpgESIAESIAESIACxGuABEiA\nBEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIgARIggbAjQAEKuyFnh0mABEiABEiABChA\nvAYSFYHvvvtOvvrqK9m3b59cunRJMmfOLPfcc480bdpUihUr5mlfLl++LG3btpUuXbpIxYoVXddt\nU9/s2bPlhx9+kI8++sj1+bUV3Lx5U1q0aCElSpSQN99885bwzZs3y6uvvipoY7Zs2VTVT548Wdat\nWydTpkxRxYXawQcPHpR27drJmDFjDKfYyj///CNLly414/nXX38J/p0lSxYpUKCAVK5cWerUqRNq\n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\n6jAuMT0HKBABQjzOh2OR+cE2eggImIGfPwFC1gVZPqyvgdhhGgzZK2TD8MwmrQCBAdb7QOKwlR47\ntiCu2NmFnXXgHNerMLBTD0IOLhB3jAseiggxx9Z/7LjDv922PT4EyHZcgvvpwNpJQEeAAqTjxaMT\nEQEIEF7n4Kw7SURNd91UTO9hPQ0yW3gAINbs4Hk1WJiNaShMDcW2oNymAY4A+Xtat02djCEBEiCB\nYBGgAAWLLOtNcAJJ5YWbNiCx5gZrYJDtiF6QacA0IjIXXpa4Fnl7eS7WRQIkQAJuCVCA3BJkfMgS\nCGcBwm45TLlg+zamjbAQGVMreL4Oprqws0r7zrS4BpoCFBch/p4ESCCUCFCAQmk02BZPCYSzAGG9\nDBaqYu0MXmWB9SZ4jg1eu4H1Us4TsL0ETgHykibrIgESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5\nIWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiABEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsn\nARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIg\nARIgARIINgEKULAJs34SIAESIAESIIGQI0ABCrkhYYNIgARIgARIgASCTYACFGzCrJ8ESIAESIAE\nSCDkCFCAQm5I2CASIAESIAESIIFgE6AABZsw6ycBEiABEiABEgg5AhSgkBsSNogESIAESIAESCDY\nBChAwSbM+kmABEiABEiABEKOAAUo5IaEDSIBEiABEiABEgg2AQpQsAmzfhIgARIgARIggZAjQAEK\nuSFhg0iABEiABEiABIJNgAIUbMKsnwRIgARIgARIIOQIUIBCbkjYIBIgARIgARIggWAToAAFmzDr\nJwESIAESIAESCDkCFKCQGxI2iARIgARIgARIINgEKEDBJsz6SYAESIAESIAEQo4ABSjkhoQNIgES\nIAESIAESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5IWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiA\nBEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsnARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg\n2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIgARIgARIINgEKULAJs34SIAESIAESIIGQI0AB\n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\nJB0C/w89EjM+/RL7LQAAAABJRU5ErkJggg==\n\"\n>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>(Alpha=0.01 was doing so well I decided to try Alpha=0.001. The heat map is not continuous which seems strange.)</p>\n<p>For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.</p>\n<ul>\n<li>Pick exp=0.25</li>\n</ul>\n<p>For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.</p>\n<ul>\n<li>Pick exp=0.01</li>\n</ul>\n<p>For Gamma=0.2,</p>\n<ul>\n<li>Pick exp=0.75</li>\n</ul>\n<p><strong>Overall</strong>: pick Gamma=0.1, Alpha=1/(t^0.01).</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.6-Optimising-Epsilon\">4.2.6 Optimising Epsilon<a class=\"anchor-link\" href=\"#4.2.6-Optimising-Epsilon\">&#182;</a></h4>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.000</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.70</td><td>0.5861</td><td>0.1706</td></tr>\n<tr><td>0.000001</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.90</td><td>0.5885</td><td>0.1728</td></tr>\n<tr><td>0.000005</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.96</td><td>0.5869</td><td>0.1686</td></tr>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\n<tr><td>0.001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.98</td><td>0.5963</td><td>0.1692</td></tr>\n<tr><td>0.01</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.66</td><td>0.5884</td><td>0.2058</td></tr>\n<tr><td>0.05</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\n</table>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Choose epsilon = 0.00001.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h4 id=\"4.2.7-Optimising-default-Q-value\">4.2.7 Optimising default Q-value<a class=\"anchor-link\" href=\"#4.2.7-Optimising-default-Q-value\">&#182;</a></h4><table>\n<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.5</td><td>98.66</td><td>0.5889</td><td>0.1760</td></tr>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>1.0</td><td>98.88</td><td>0.5886</td><td>0.1844</td></tr>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.0</td><td>99.12</td><td>0.5912</td><td>0.1848</td></tr>\n<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.5</td><td>98.48</td><td>0.5827</td><td>0.1974</td></tr>\n</table><p>successes        98.480000\n avg_buffer        0.582687\n avg_penalties     0.197400</p>\n<p>A default Q-value of 0.0 has the best performance, though a default Q-value of 2.0 interestingly comes very close. For more robust results, I would try smaller increments of Q with larger 100-trial sets.</p>\n<p>It seems that <em>moderate optimism in the face of uncertainty</em> is a less optimal assumption here.</p>\n<p>(Note: I only tested different Q-values on this particular set of epsilon, gamma and alpha values. It is possible higher Q-values will work better for other epsilon, gamma and alpha.)</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"QUESTIONS:\">QUESTIONS:<a class=\"anchor-link\" href=\"#QUESTIONS:\">&#182;</a></h3><p>Parameters chosen:</p>\n<table>\n<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\n<tr><td>0.00001</td><td>0.1</td><td>1/(t^0.01)</td><td>0.0</td></tr>\n</table><h3 id=\"Discussion:-How-well-does-the-final-driving-agent-perform?\">Discussion: How well does the final driving agent perform?<a class=\"anchor-link\" href=\"#Discussion:-How-well-does-the-final-driving-agent-perform?\">&#182;</a></h3><ul>\n<li>An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.</li>\n<li>It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)</li>\n<li>It would maxmise net reward and thus likely incur close to zero -1.0 penalties.</li>\n</ul>\n<h4 id=\"Comparing-our-driving-agent-to-the-optimal-policy\">Comparing our driving agent to the optimal policy<a class=\"anchor-link\" href=\"#Comparing-our-driving-agent-to-the-optimal-policy\">&#182;</a></h4><table>\n<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\n<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\n<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\n</table><ul>\n<li><p>Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.</p>\n</li>\n<li><p>As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.</p>\n</li>\n<li><p>There are still a significant number of penalties occurring (violations of traffic rules or crashing). This is suboptimal.</p>\n</li>\n</ul>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><strong>Penalties that occurred in the last 10 trials in a set:</strong></p>\n<p>Trial 94:</p>\n<ul>\n<li>next_waypoint:  forward</li>\n<li>q:  [0.0, 0.0, 0.0, 0.0]</li>\n<li>max_q:  0.0</li>\n<li>action:  forward</li>\n<li>LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'},             action = forward, reward = -1.0</li>\n</ul>\n<p>Trial 99:</p>\n<ul>\n<li>next_waypoint:  forward</li>\n<li>q:  [0.0, 0.0, 0.0, -0.48971014879346336]</li>\n<li>max_q:  0.0</li>\n<li>action:  forward</li>\n<li>LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None},             action = forward, reward = -1.0</li>\n</ul>\n<p>The penalties occur because the agent has had little (99) or no (94) previous experience in this state. These are usually states where <code>oncoming</code>, <code>right</code>, or <code>left</code> are not blank.</p>\n\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\">\n</div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>We then conclude that <strong>our policy is efficient but not nearly as safe as it could be</strong>.</p>\n\n</div>\n</div>\n</div>\n    </div>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "p4-smartcab/smartcab/simulator.py",
    "content": "import os\nimport time\nimport random\nimport importlib\n\nclass Simulator(object):\n    \"\"\"Simulates agents in a dynamic smartcab environment.\n\n    Uses PyGame to display GUI, if available.\n    \"\"\"\n\n    colors = {\n        'black'   : (  0,   0,   0),\n        'white'   : (255, 255, 255),\n        'red'     : (255,   0,   0),\n        'green'   : (  0, 255,   0),\n        'blue'    : (  0,   0, 255),\n        'cyan'    : (  0, 200, 200),\n        'magenta' : (200,   0, 200),\n        'yellow'  : (255, 255,   0),\n        'orange'  : (255, 128,   0)\n    }\n\n    def __init__(self, env, size=None, update_delay=1.0, display=True):\n        self.env = env\n        self.size = size if size is not None else ((self.env.grid_size[0] + 1) * self.env.block_size, (self.env.grid_size[1] + 1) * self.env.block_size)\n        self.width, self.height = self.size\n        \n        self.bg_color = self.colors['white']\n        self.road_width = 5\n        self.road_color = self.colors['black']\n\n        self.quit = False\n        self.start_time = None\n        self.current_time = 0.0\n        self.last_updated = 0.0\n        self.update_delay = update_delay  # duration between each step (in secs)\n\n        self.display = display\n        if self.display:\n            try:\n                self.pygame = importlib.import_module('pygame')\n                self.pygame.init()\n                self.screen = self.pygame.display.set_mode(self.size)\n\n                self.frame_delay = max(1, int(self.update_delay * 1000))  # delay between GUI frames in ms (min: 1)\n                self.agent_sprite_size = (32, 32)\n                self.agent_circle_radius = 10  # radius of circle, when using simple representation\n                for agent in self.env.agent_states:\n                    agent._sprite = self.pygame.transform.smoothscale(self.pygame.image.load(os.path.join(\"images\", \"car-{}.png\".format(agent.color))), self.agent_sprite_size)\n                    agent._sprite_size = (agent._sprite.get_width(), agent._sprite.get_height())\n\n                self.font = self.pygame.font.Font(None, 28)\n                self.paused = False\n            except ImportError as e:\n                self.display = False\n                print \"Simulator.__init__(): Unable to import pygame; display disabled.\\n{}: {}\".format(e.__class__.__name__, e)\n            except Exception as e:\n                self.display = False\n                print \"Simulator.__init__(): Error initializing GUI objects; display disabled.\\n{}: {}\".format(e.__class__.__name__, e)\n\n    def run(self, n_trials=1):\n        self.quit = False\n        for trial in xrange(n_trials):\n            print \"Simulator.run(): Trial {}\".format(trial)  # [debug]\n            self.env.reset()\n            self.current_time = 0.0\n            self.last_updated = 0.0\n            self.start_time = time.time()\n            while True:\n                try:\n                    # Update current time\n                    self.current_time = time.time() - self.start_time\n                    #print \"Simulator.run(): current_time = {:.3f}\".format(self.current_time)\n\n                    # Handle GUI events\n                    if self.display:\n                        for event in self.pygame.event.get():\n                            if event.type == self.pygame.QUIT:\n                                self.quit = True\n                            elif event.type == self.pygame.KEYDOWN:\n                                if event.key == 27:  # Esc\n                                    self.quit = True\n                                elif event.unicode == u' ':\n                                    self.paused = True\n\n                        if self.paused:\n                            self.pause()\n\n                    # Update environment\n                    if self.current_time - self.last_updated >= self.update_delay:\n                        self.env.step()\n                        self.last_updated = self.current_time\n\n                    # Render GUI and sleep\n                    if self.display:\n                        self.render()\n                        self.pygame.time.wait(self.frame_delay)\n                except KeyboardInterrupt:\n                    self.quit = True\n                finally:\n                    if self.quit or self.env.done:\n                        break\n\n            if self.quit:\n                break\n\n    def render(self):\n        # Clear screen\n        self.screen.fill(self.bg_color)\n\n        # Draw elements\n        # * Static elements\n        for road in self.env.roads:\n            self.pygame.draw.line(self.screen, self.road_color, (road[0][0] * self.env.block_size, road[0][1] * self.env.block_size), (road[1][0] * self.env.block_size, road[1][1] * self.env.block_size), self.road_width)\n\n        for intersection, traffic_light in self.env.intersections.iteritems():\n            self.pygame.draw.circle(self.screen, self.road_color, (intersection[0] * self.env.block_size, intersection[1] * self.env.block_size), 10)\n            if traffic_light.state:  # North-South is open\n                self.pygame.draw.line(self.screen, self.colors['green'],\n                    (intersection[0] * self.env.block_size, intersection[1] * self.env.block_size - 15),\n                    (intersection[0] * self.env.block_size, intersection[1] * self.env.block_size + 15), self.road_width)\n            else:  # East-West is open\n                self.pygame.draw.line(self.screen, self.colors['green'],\n                    (intersection[0] * self.env.block_size - 15, intersection[1] * self.env.block_size),\n                    (intersection[0] * self.env.block_size + 15, intersection[1] * self.env.block_size), self.road_width)\n\n        # * Dynamic elements\n        for agent, state in self.env.agent_states.iteritems():\n            # Compute precise agent location here (back from the intersection some)\n            agent_offset = (2 * state['heading'][0] * self.agent_circle_radius, 2 * state['heading'][1] * self.agent_circle_radius)\n            agent_pos = (state['location'][0] * self.env.block_size - agent_offset[0], state['location'][1] * self.env.block_size - agent_offset[1])\n            agent_color = self.colors[agent.color]\n            if hasattr(agent, '_sprite') and agent._sprite is not None:\n                # Draw agent sprite (image), properly rotated\n                rotated_sprite = agent._sprite if state['heading'] == (1, 0) else self.pygame.transform.rotate(agent._sprite, 180 if state['heading'][0] == -1 else state['heading'][1] * -90)\n                self.screen.blit(rotated_sprite,\n                    self.pygame.rect.Rect(agent_pos[0] - agent._sprite_size[0] / 2, agent_pos[1] - agent._sprite_size[1] / 2,\n                        agent._sprite_size[0], agent._sprite_size[1]))\n            else:\n                # Draw simple agent (circle with a short line segment poking out to indicate heading)\n                self.pygame.draw.circle(self.screen, agent_color, agent_pos, self.agent_circle_radius)\n                self.pygame.draw.line(self.screen, agent_color, agent_pos, state['location'], self.road_width)\n            if agent.get_next_waypoint() is not None:\n                self.screen.blit(self.font.render(agent.get_next_waypoint(), True, agent_color, self.bg_color), (agent_pos[0] + 10, agent_pos[1] + 10))\n            if state['destination'] is not None:\n                self.pygame.draw.circle(self.screen, agent_color, (state['destination'][0] * self.env.block_size, state['destination'][1] * self.env.block_size), 6)\n                self.pygame.draw.circle(self.screen, agent_color, (state['destination'][0] * self.env.block_size, state['destination'][1] * self.env.block_size), 15, 2)\n\n        # * Overlays\n        text_y = 10\n        for text in self.env.status_text.split('\\n'):\n            self.screen.blit(self.font.render(text, True, self.colors['red'], self.bg_color), (100, text_y))\n            text_y += 20\n\n        # Flip buffers\n        self.pygame.display.flip()\n\n    def pause(self):\n        abs_pause_time = time.time()\n        pause_text = \"[PAUSED] Press any key to continue...\"\n        self.screen.blit(self.font.render(pause_text, True, self.colors['cyan'], self.bg_color), (100, self.height - 40))\n        self.pygame.display.flip()\n        print pause_text  # [debug]\n        while self.paused:\n            for event in self.pygame.event.get():\n                if event.type == self.pygame.KEYDOWN:\n                    self.paused = False\n            self.pygame.time.wait(self.frame_delay)\n        self.screen.blit(self.font.render(pause_text, True, self.bg_color, self.bg_color), (100, self.height - 40))\n        self.start_time += (time.time() - abs_pause_time)\n"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/data.js",
    "content": "# Sample console output\nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\n\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 2), deadline = 25\nRoutePlanner.route_to(): destination = (4, 2)\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\n\n# Console output for Trial 2 - Did not make it to destination\n\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\nRoutePlanner.route_to(): destination = (6, 6)\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nLearningAgent.update(): deadline = -3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = -14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -55, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -56, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -57, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -58, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -59, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -60, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -61, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -62, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -63, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -64, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = -65, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -66, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = -67, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -68, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -69, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -70, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -71, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -72, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -73, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -74, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -75, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -76, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nLearningAgent.update(): deadline = -77, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -78, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -79, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -80, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -81, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -82, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -83, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -84, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nLearningAgent.update(): deadline = -85, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -86, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -87, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nLearningAgent.update(): deadline = -88, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = -89, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -90, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nLearningAgent.update(): deadline = -91, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nLearningAgent.update(): deadline = -92, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nLearningAgent.update(): deadline = -93, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -94, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -95, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -96, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nLearningAgent.update(): deadline = -97, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -98, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nLearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent hit hard time limit (-100)! Trial aborted."
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial1.js",
    "content": "2016-09-19 19:19:58.238 python[48521:16906622] 19:19:58.238 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.\nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\n{}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (1, 5), deadline = 25\nRoutePlanner.route_to(): destination = (1, 5)\n{\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (8, 5), deadline = 30\nRoutePlanner.route_to(): destination = (8, 5)\n{\"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 0.9833735701200897, \"(['red', None, None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (2, 4), deadline = 30\nRoutePlanner.route_to(): destination = (2, 4)\n{\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 0.8663659501212374, \"(['green', None, None, None, 'possible'], 'left')\": 0.023605794097292934, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\n{\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 1.2930297365488193, \"(['green', None, None, None, 'possible'], 'left')\": 0.023605794097292934, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.4040276127959852}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (4, 1), deadline = 30\nRoutePlanner.route_to(): destination = (4, 1)\n{\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 2.1590342037627703, \"(['green', None, None, None, 'possible'], 'left')\": 0.023605794097292934, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['red', None, None, None, 'possible'], 'left')\": 0.10568110108602534, \"(['red', None, None, None, 'possible'], 'forward')\": -0.04313678037609564, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.20763054018195115, \"(['red', None, None, None, 'possible'], 'right')\": 2.121615301674145}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (2, 1), deadline = 35\nRoutePlanner.route_to(): destination = (2, 1)\n{\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 2.474170684212484, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.7526187401553863, \"(['green', None, None, None, 'possible'], 'left')\": 0.22634045808352143, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['red', None, None, None, 'possible'], 'left')\": 0.10568110108602534, \"(['red', None, None, None, 'possible'], 'forward')\": -0.04313678037609564, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.20763054018195115, \"(['red', None, None, None, 'possible'], 'right')\": 3.150150093055677, \"(['green', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial10.js",
    "content": "\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.2, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.2, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.2, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.2, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 0.125]\nmax_q:  0.125\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, 0.0, -0.03571428571428571]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, 0.0, -0.03571428571428571]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['green', None, None, None, 'forward'], 'forward')\": 0.16666666666666666, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 0.2389705882352941, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['red', None, None, None, 'forward'], 'right')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'left')\": -0.125}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.05]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -1.0, 0.0, -0.03333333333333333]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, 0.0, -0.03333333333333333]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.025, 0.0, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.16666666666666666, 0.0, 0.0]\nmax_q:  0.166666666667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 0.2389705882352941]\nmax_q:  0.238970588235\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.03571428571428571]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 0.3270220588235294]\nmax_q:  0.327022058824\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 0.08]\nmax_q:  0.08\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.4716666666666667, 0.0, 0.0]\nmax_q:  0.471666666667\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0)]\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 1), deadline = 40\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 0.9073765432098766, \"(['green', None, None, None, 'right'], 'right')\": 0.3967294730392157, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 0.5, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 0.1614755667892157, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 0.1614755667892157]\nmax_q:  0.161475566789\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 0.3967294730392157]\nmax_q:  0.396729473039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 0.9073765432098766, 0.0, 0.0]\nmax_q:  0.90737654321\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 1.0634656084656084, 0.0, 0.0]\nmax_q:  1.06346560847\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 1.1675249853027632, 0.0, 0.0]\nmax_q:  1.1675249853\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.025, 0.5, -0.05]\nmax_q:  0.5\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 1.2368979031941996, 0.0, 0.0]\nmax_q:  1.23689790319\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 1.3232448437193807, 0.0, 0.0]\nmax_q:  1.32324484372\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 1.4019729365511635, 0.0, 0.0]\nmax_q:  1.40197293655\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (6, 3), deadline = 20\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.07561471193415638, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.0296959105358536, \"(['green', None, None, None, 'right'], 'right')\": 1.1278063406352123, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 0.6166666666666667, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 1.1799201516544118, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 1.1278063406352123]\nmax_q:  1.12780634064\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 2.0296959105358536, 0.0, 0.0]\nmax_q:  2.02969591054\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.025, 0.6166666666666667, -0.05]\nmax_q:  0.616666666667\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 2.0, 0.0, 0.0]\nmax_q:  2.0\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.07561471193415638, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.5, \"(['green', None, None, None, 'right'], 'right')\": 1.2075894978397899, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.1805555555555556, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 1.1799201516544118, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 1.2075894978397899]\nmax_q:  1.20758949784\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 1.556640810609816]\nmax_q:  1.55664081061\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 4.5, 0.0, 0.0]\nmax_q:  4.5\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 4.375, 0.0, 0.0]\nmax_q:  4.375\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.07561471193415638, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 6.916666666666667, \"(['green', None, None, None, 'right'], 'right')\": 2.7783204053049078, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.1805555555555556, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 1.1799201516544118, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 1.1799201516544118]\nmax_q:  1.17992015165\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 6.916666666666667, 0.0, 0.0]\nmax_q:  6.91666666667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 5.458333333333334, 0.0, 0.0]\nmax_q:  5.45833333333\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 3.729166666666667, 0.0, 0.0]\nmax_q:  3.72916666667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 2.7783204053049078]\nmax_q:  2.7783204053\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -0.05263157894736842, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 1.9163335019870926]\nmax_q:  1.91633350199\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 2.9310303546417944]\nmax_q:  2.93103035464\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.011045615533134]\nmax_q:  2.01104561553\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.05]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.010195952799816]\nmax_q:  2.0101959528\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 2.937238059068859]\nmax_q:  2.93723805907\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.1805555555555556, -0.05]\nmax_q:  1.18055555556\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 3.7743055555555562, 0.0, 0.0]\nmax_q:  3.77430555556\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (7, 1), deadline = 30\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.07561471193415638, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.23398042929293, \"(['green', None, None, None, 'right'], 'right')\": 2.9445176853119133, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.2476851851851851, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.1074241579154567, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.05263157894736842, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.07692307692307693, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.2476851851851851, -0.05]\nmax_q:  1.24768518519\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07561471193415638, 4.23398042929293, 0.0, 0.0]\nmax_q:  4.23398042929\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.5]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.281881313131313, -0.05]\nmax_q:  1.28188131313\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.07692307692307693, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.18688440734505551, 3.489320286195287, 0.0, 0.0]\nmax_q:  3.4893202862\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.3536931818181817, -0.05]\nmax_q:  1.35369318182\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.18688440734505551, 3.5020872790404045, 0.0, 0.0]\nmax_q:  3.50208727904\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0)]\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (5, 6), deadline = 35\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.18688440734505551, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.929127127393729, \"(['green', None, None, None, 'right'], 'right')\": 2.9445176853119133, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.3844696969696968, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.1074241579154567, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1188811188811189, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 2.9445176853119133]\nmax_q:  2.94451768531\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.18688440734505551, 3.929127127393729, 0.0, 0.0]\nmax_q:  3.92912712739\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.18688440734505551, 3.446845345545297, 0.0, 0.0]\nmax_q:  3.44684534555\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1188811188811189, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.18688440734505551, 3.2860847515958196, 0.0, 0.0]\nmax_q:  3.2860847516\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.125, 3.0537120789577283]\nmax_q:  3.05371207896\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.315831220279327, 0.0, 0.0]\nmax_q:  3.31583122028\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.2500396592653606, 0.0, 0.0]\nmax_q:  3.25003965927\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.265038866080053, 0.0, 0.0]\nmax_q:  3.26503886608\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (3, 2), deadline = 35\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.125, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.663788118655437, \"(['green', None, None, None, 'right'], 'right')\": 3.090107768228585, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.3844696969696968, \"(['red', None, None, None, 'forward'], 'right')\": -0.055900621118012424, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.1074241579154567, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1989828353464717, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.3844696969696968, -0.05]\nmax_q:  1.38446969697\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.663788118655437, 0.0, 0.0]\nmax_q:  3.66378811866\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.4558146038235074, 0.0, 0.0]\nmax_q:  3.45581460382\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.055900621118012424]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.5075757575757573, -0.05]\nmax_q:  1.50757575758\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.4860471258333123, 0.0, 0.0]\nmax_q:  3.48604712583\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.06928314837550988, 3.090107768228585]\nmax_q:  3.09010776823\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.16666666666666666, -0.06928314837550988, 3.1107871371324807]\nmax_q:  3.11078713713\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.1074241579154567]\nmax_q:  2.10742415792\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.5404040404040402, -0.05]\nmax_q:  1.5404040404\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 2), deadline = 25\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4988959476874792, \"(['green', None, None, None, 'right'], 'right')\": 3.1083056128640134, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 1.9147306397306396, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.167704518270313, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1989828353464717, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.167704518270313]\nmax_q:  2.16770451827\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.4988959476874792, 0.0, 0.0]\nmax_q:  3.49889594769\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.74944797384374, 0.0, 0.0]\nmax_q:  3.74944797384\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.812085980382805, 0.0, 0.0]\nmax_q:  3.81208598038\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 1.9147306397306396, -0.05]\nmax_q:  1.91473063973\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2080573202552034, \"(['green', None, None, None, 'right'], 'right')\": 3.1083056128640134, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.123257575757576, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.213919461209036, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1989828353464717, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 4.123257575757576, -0.05]\nmax_q:  4.12325757576\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.2080573202552034, 0.0, 0.0]\nmax_q:  3.20805732026\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.9060429901914024, 0.0, 0.0]\nmax_q:  2.90604299019\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.7550358251595024, 0.0, 0.0]\nmax_q:  2.75503582516\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.1083056128640134]\nmax_q:  3.10830561286\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (6, 6), deadline = 40\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.8172840339015273, \"(['green', None, None, None, 'right'], 'right')\": 3.9415267893423884, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.6986060606060605, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.213919461209036, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1989828353464717, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0}\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.9415267893423884]\nmax_q:  3.94152678934\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.943963173119789]\nmax_q:  3.94396317312\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.8172840339015273, 0.0, 0.0]\nmax_q:  2.8172840339\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.9651235296638365, 0.0, 0.0]\nmax_q:  2.96512352966\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.106959730604518]\nmax_q:  3.1069597306\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.868611176697453, 0.0, 0.0]\nmax_q:  2.8686111767\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.9063241374742046, 0.0, 0.0]\nmax_q:  2.90632413747\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.8496788788820666, 0.0, 0.0]\nmax_q:  2.84967887888\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.358030052277507, \"(['green', None, None, None, 'right'], 'right')\": 3.1388540259400712, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.6986060606060605, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.213919461209036, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.1989828353464717, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.1989828353464717, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.358030052277507, 0.0, 0.0]\nmax_q:  3.35803005228\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.438276295742819, 0.0, 0.0]\nmax_q:  3.43827629574\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.1506210365942553, 0.0, 0.0]\nmax_q:  3.15062103659\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.6986060606060605, -0.05]\nmax_q:  3.69860606061\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (6, 2), deadline = 35\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9588508638285465, \"(['green', None, None, None, 'right'], 'right')\": 3.1388540259400712, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.736280303030303, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.213919461209036, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.9588508638285465, 0.0, 0.0]\nmax_q:  2.95885086383\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.0239226848392624, 0.0, 0.0]\nmax_q:  3.02392268484\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.511961342419631, 0.0, 0.0]\nmax_q:  3.51196134242\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 4.736280303030303, -0.05]\nmax_q:  4.73628030303\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.755980671209816, 0.0, 0.0]\nmax_q:  2.75598067121\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.213919461209036]\nmax_q:  2.21391946121\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.1388540259400712]\nmax_q:  3.13885402594\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.349470216385136]\nmax_q:  2.34947021639\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.6299838926748467, 0.0, -0.05555555555555555]\nmax_q:  2.62998389267\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.675651096252352, 0.0, -0.05555555555555555]\nmax_q:  2.67565109625\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (8, 6), deadline = 20\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1418685414397345, \"(['green', None, None, None, 'right'], 'right')\": 3.177997024760977, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.189024242424242, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.418242290702422, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.1418685414397345, 0.0, -0.05555555555555555]\nmax_q:  3.14186854144\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.177997024760977]\nmax_q:  3.17799702476\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.163321827903741, 0.0, -0.05555555555555555]\nmax_q:  3.1633218279\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.5816609139518705, 0.0, -0.05555555555555555]\nmax_q:  2.58166091395\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.465328731161497, \"(['green', None, None, None, 'right'], 'right')\": 3.5889985123804884, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.189024242424242, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 2.418242290702422, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.0, -1.0, -1.0, 2.418242290702422]\nmax_q:  2.4182422907\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 4.465328731161497, 0.0, -0.05555555555555555]\nmax_q:  4.46532873116\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 4.2326643655807485, 0.0, -0.05555555555555555]\nmax_q:  4.23266436558\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 4.174498274185561, 0.0, -0.05555555555555555]\nmax_q:  4.17449827419\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, -1.0, 2.6934936837999865]\nmax_q:  2.6934936838\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4496655161237078, \"(['green', None, None, None, 'right'], 'right')\": 3.5889985123804884, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.189024242424242, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.913694798278039, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, -1.0, 4.913694798278039]\nmax_q:  4.91369479828\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, 1.4111626592251176, 4.822325318450235]\nmax_q:  4.82232531845\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.4496655161237078, 0.0, -0.05555555555555555]\nmax_q:  3.44966551612\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.504698964511337, 0.0, -0.05555555555555555]\nmax_q:  3.50469896451\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.5459740508020587, 0.0, -0.05555555555555555]\nmax_q:  3.5459740508\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, 1.4111626592251176, 4.616743988837676]\nmax_q:  4.61674398884\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (1, 6), deadline = 20\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3251206149731933, \"(['green', None, None, None, 'right'], 'right')\": 3.5889985123804884, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.189024242424242, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.828197489535322, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 4.189024242424242, -0.05]\nmax_q:  4.18902424242\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.3251206149731933, 0.0, -0.05555555555555555]\nmax_q:  3.32512061497\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.993840461229895, 0.0, -0.05555555555555555]\nmax_q:  2.99384046123\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.828200384358246, 0.0, -0.05555555555555555]\nmax_q:  2.82820038436\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (5, 2), deadline = 30\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.004411474116121, \"(['green', None, None, None, 'right'], 'right')\": 3.5889985123804884, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.459349494949495, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.828197489535322, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, 1.4111626592251176, 5.828197489535322]\nmax_q:  5.82819748954\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.5889985123804884]\nmax_q:  3.58899851238\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.459349494949495, -0.05]\nmax_q:  3.45934949495\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 4.004411474116121, 0.0, -0.05555555555555555]\nmax_q:  4.00441147412\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.5134145454545456, -0.05]\nmax_q:  3.51341454545\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 3.781699088103218, 0.0, -0.05555555555555555]\nmax_q:  3.7816990881\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (2, 4), deadline = 20\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.700712765916708, \"(['green', None, None, None, 'right'], 'right')\": 3.9598060437403735, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.5377438181818186, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.4028422129202855, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.5377438181818186, -0.05]\nmax_q:  3.53774381818\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 4.700712765916708, 0.0, -0.05555555555555555]\nmax_q:  4.70071276592\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.5587554628099176, -0.05]\nmax_q:  3.55875546281\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.2919580646875275, 2.0, 0.0, -0.05555555555555555]\nmax_q:  2.0\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (2, 5), deadline = 40\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": -0.05555555555555555, \"(['green', None, None, None, 'forward'], None)\": 0.2919580646875275, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.03333333333333333, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1, \"(['green', None, None, None, 'right'], 'right')\": 3.9598060437403735, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.613911029958678, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3333333333333333, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.4028422129202855, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -1.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.9598060437403735]\nmax_q:  3.95980604374\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.3333333333333333, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.1, 0.0, 0.49722222222222223]\nmax_q:  3.1\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.1]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.99, 0.0, 0.49722222222222223]\nmax_q:  2.99\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.913846153846154, 0.0, 0.49722222222222223]\nmax_q:  2.91384615385\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.03333333333333333]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, 1.4111626592251176, 5.4028422129202855]\nmax_q:  5.40284221292\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3366867104749983, -1.0, 1.4111626592251176, 5.367771157597278]\nmax_q:  5.3677711576\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.3366867104749983, -0.878745336871489, 1.4111626592251176, 5.335205177654485]\nmax_q:  5.33520517765\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.3449258582988985, -0.05]\nmax_q:  3.3449258583\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.950051282051282, 0.0, 0.49722222222222223]\nmax_q:  2.95005128205\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.9675504273504276, 0.0, 0.49722222222222223]\nmax_q:  2.96755042735\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (7, 5), deadline = 35\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.49722222222222223, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.306783484973808, \"(['green', None, None, None, 'right'], 'right')\": 3.961815741553355, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.296892791931081, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.2763226860511026, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.878745336871489, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.306783484973808, 0.0, 0.49722222222222223]\nmax_q:  3.30678348497\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.3934355493520822, 0.0, 0.49722222222222223]\nmax_q:  3.39343554935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.4271335743880775, 0.0, 0.49722222222222223]\nmax_q:  3.42713357439\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.4557768956686736, 0.0, 0.49722222222222223]\nmax_q:  3.45577689567\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.323433541516976, 0.0, 0.49722222222222223]\nmax_q:  3.32343354152\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.296892791931081, -0.05]\nmax_q:  3.29689279193\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.49722222222222223, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2352046387491775, \"(['green', None, None, None, 'right'], 'right')\": 3.961815741553355, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8144704721328035, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.2763226860511026, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.878745336871489, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.8144704721328035, -0.05]\nmax_q:  3.81447047213\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.2352046387491775, 0.0, 0.5282412270798406]\nmax_q:  3.23520463875\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.961815741553355]\nmax_q:  3.96181574155\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.6176023193745888, 0.0, 0.5282412270798406]\nmax_q:  2.61760231937\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.704002174413677, 0.0, 0.5282412270798406]\nmax_q:  2.70400217441\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (7, 4), deadline = 35\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.3366867104749983, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.887113164724028, \"(['green', None, None, None, 'right'], 'right')\": 3.968179784627796, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.907235236066402, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.2763226860511026, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4111626592251176, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.878745336871489, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.878745336871489, 1.4111626592251176, 5.2763226860511026]\nmax_q:  5.27632268605\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.887113164724028, 0.0, 0.5282412270798406]\nmax_q:  3.88711316472\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.5096905317792224, 0.0, 0.5282412270798406]\nmax_q:  3.50969053178\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.14128661876654608, -0.16666666666666666, -0.06928314837550988, 3.968179784627796]\nmax_q:  3.96817978463\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.907235236066402, -0.05]\nmax_q:  3.90723523607\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.3587214786013004, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.3587214786\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.867031979860047, \"(['green', None, None, None, 'right'], 'right')\": 3.9692404584735366, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.910134134939327, \"(['red', None, None, None, 'forward'], 'right')\": -0.09290890269151139, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.638161343025551, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4040794294010912, \"(['green', None, None, None, 'right'], None)\": 0.14128661876654608, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 4.638161343025551]\nmax_q:  4.63816134303\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 3.9692404584735366]\nmax_q:  3.96924045847\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.867031979860047, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.86703197986\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, -0.09290890269151139]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.910134134939327, -0.05]\nmax_q:  3.91013413494\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 4.5997177480968]\nmax_q:  4.5997177481\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4936255838880377, \"(['green', None, None, None, 'right'], 'right')\": 4.134549666260968, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.7191207214453947, \"(['red', None, None, None, 'forward'], 'right')\": 0.05594906337910309, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.460404755827135, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4040794294010912, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.7191207214453947, -0.05]\nmax_q:  3.71912072145\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 3.731887961379695, -0.05]\nmax_q:  3.73188796138\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, 0.05594906337910309]\nmax_q:  0.0559490633791\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.134549666260968]\nmax_q:  4.13454966626\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 5.460404755827135]\nmax_q:  5.46040475583\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 5.136941138138497]\nmax_q:  5.13694113814\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, 0.651380927661561]\nmax_q:  0.651380927662\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 4.942862967525315]\nmax_q:  4.94286296753\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.333100570145168]\nmax_q:  4.33310057015\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 4.831961155746353]\nmax_q:  4.83196115575\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.4936255838880377, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.49362558389\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, 0.5137658503564309]\nmax_q:  0.513765850356\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4040794294010912, 4.758602170169601]\nmax_q:  4.75860217017\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.726993746412534]\nmax_q:  4.72699374641\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.687332070637037]\nmax_q:  4.68733207064\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.46598855689764784, -1.0, 0.4449583117038658]\nmax_q:  0.444958311704\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.343460571111169]\nmax_q:  4.34346057111\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = left, reward = -0.5\nnext_waypoint:  forward\nq:  [1.55, 3.344263025499234, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.3442630255\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (2, 2), deadline = 40\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.361519261670307, \"(['green', None, None, None, 'right'], 'right')\": 4.224646703048604, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.0, \"(['red', None, None, None, 'forward'], 'right')\": 0.49040663676922525, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.652958618298274, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.224646703048604]\nmax_q:  4.22464670305\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.361519261670307, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.36151926167\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.652958618298274]\nmax_q:  4.6529586183\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.0, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.0\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 2.0, -0.05]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0)]\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.25, \"(['green', None, None, None, 'right'], 'right')\": 4.219030535472389, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.2, \"(['red', None, None, None, 'forward'], 'right')\": 0.49040663676922525, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.544132181915229, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.49040663676922525]\nmax_q:  0.490406636769\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.544132181915229]\nmax_q:  4.54413218192\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (7, 3), deadline = 45\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.25, \"(['green', None, None, None, 'right'], 'right')\": 4.219030535472389, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.0, \"(['red', None, None, None, 'forward'], 'right')\": 0.5173253094153802, \"(['green', None, None, None, 'left'], None)\": 0.02951388888888889, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.375, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 9.326823724825712, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.375, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.02951388888888889, -0.025, 2.0, -0.05]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.5173253094153802]\nmax_q:  0.517325309415\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.0, -0.05]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.25, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.25\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.5388602475323042]\nmax_q:  0.538860247532\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.1, -0.05]\nmax_q:  2.1\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.47474107055179154]\nmax_q:  0.474741070552\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.0933333333333337, -0.05]\nmax_q:  2.09333333333\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.48418745285754927]\nmax_q:  0.484187452858\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.087843137254902, -0.05]\nmax_q:  2.08784313725\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.0832198142414864, -0.05]\nmax_q:  2.08321981424\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (1, 1), deadline = 25\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 0.125, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.251766374887832, \"(['green', None, None, None, 'right'], 'right')\": 4.219030535472389, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.539819401444789, \"(['red', None, None, None, 'forward'], 'right')\": 0.4920594381123474, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 9.326823724825712, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.219030535472389]\nmax_q:  4.21903053547\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 9.326823724825712]\nmax_q:  9.32682372483\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.251766374887832, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.25176637489\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.6888247811658736, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.68882478117\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.907353984304895, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.9073539843\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.160439878714121]\nmax_q:  4.16043987871\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.4920594381123474]\nmax_q:  0.492059438112\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.3208797574282425]\nmax_q:  4.32087975743\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.297959774754797]\nmax_q:  4.29795977475\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.144395890842709]\nmax_q:  4.14439589084\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.125, 0.0, 0.0]\nmax_q:  0.125\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 2), deadline = 30\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 2.742022917992715, \"(['green', None, None, None, 'right'], 'right')\": 4.279337288832622, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.539819401444789, \"(['red', None, None, None, 'forward'], 'right')\": 0.5552181082596824, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.143870641239776, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.279337288832622]\nmax_q:  4.27933728883\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.742022917992715, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.74202291799\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.5552181082596824]\nmax_q:  0.55521810826\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.539819401444789, -0.05]\nmax_q:  2.53981940144\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.5970113176623015]\nmax_q:  0.597011317662\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.449849501203991, -0.05]\nmax_q:  2.4498495012\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.60298177614839]\nmax_q:  0.602981776148\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.393618313553492, -0.05]\nmax_q:  2.39361831355\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.4739373978758175, -0.05]\nmax_q:  2.47393739788\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.277609054129841, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.27760905413\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (8, 6), deadline = 45\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1130983863609285, \"(['green', None, None, None, 'right'], 'right')\": 4.265370424390991, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.5433038797905527, \"(['red', None, None, None, 'forward'], 'right')\": 0.6069620818057823, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.143870641239776, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.4009576943091817, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.143870641239776]\nmax_q:  4.14387064124\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.137876031188118]\nmax_q:  4.13787603119\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.1130983863609285, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.11309838636\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.334823789770696, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.33482378977\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.6069620818057823]\nmax_q:  0.606962081806\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.5433038797905527, -0.05]\nmax_q:  2.54330387979\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.132685212195495]\nmax_q:  4.1326852122\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.991042873481428, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.99104287348\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.7041019205395151]\nmax_q:  0.70410192054\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.265370424390991]\nmax_q:  4.26537042439\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.250627623035935]\nmax_q:  4.25062762304\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.238096241884138]\nmax_q:  4.23809624188\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -1.0, 0.734824075125275]\nmax_q:  0.734824075125\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 4.132685212195495]\nmax_q:  4.1326852122\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.05263157894736842, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 3.9686325035650727]\nmax_q:  3.96863250357\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.8997583144511894, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.89975831445\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.9341408671245897, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.93414086712\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -0.9815961183705078, 0.6625397386617219]\nmax_q:  0.662539738662\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 3.978299459508563]\nmax_q:  3.97829945951\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.4009576943091817, 3.9788161390440733]\nmax_q:  3.97881613904\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.227273685434859]\nmax_q:  4.22727368543\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.03571428571428571, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -0.9815961183705078, 0.6776344331335884]\nmax_q:  0.677634433134\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.130435699111605]\nmax_q:  4.13043569911\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.127927320282536]\nmax_q:  4.12792732028\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -0.9815961183705078, 0.6885026131533323]\nmax_q:  0.688502613153\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.049115197309109]\nmax_q:  4.04911519731\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.047227096612929]\nmax_q:  4.04722709661\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.046489173228352]\nmax_q:  4.04648917323\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.8986778672543703, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.89867786725\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.012260165919230633, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1760607314400278, \"(['green', None, None, None, 'right'], 'right')\": 4.045784791815802, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.6889734918114976, \"(['red', None, None, None, 'forward'], 'right')\": 0.6593904991334473, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.984944352847408, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.045784791815802]\nmax_q:  4.04578479182\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -0.9815961183705078, 0.6593904991334473]\nmax_q:  0.659390499133\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.6889734918114976, -0.05]\nmax_q:  2.68897349181\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012260165919230633, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.0122601659192\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.01103414932730757, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.0110341493273\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.01024599580392846, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.0102459958039\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00960562106618293, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00960562106618\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.1760607314400278, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.17606073144\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.009071975451394989, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00907197545139\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.008659612930877034, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00865961293088\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.008298795725423823, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00829879572542\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.007979611274445984, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00797961127445\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.0589082570685946, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.05890825707\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.007694625157501485, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.0076946251575\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.007454168121329564, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00745416812133\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00723492788246693, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00723492788247\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.007033957663509515, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00703395766351\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.090277981832975, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.09027798183\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.006848853514469792, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00684885351447\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.006685785573649082, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00668578557365\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.006533835901520693, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00653383590152\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.1130210322871505, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.11302103229\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (7, 6), deadline = 45\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.006391795990618069, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4833118226085196, \"(['green', None, None, None, 'right'], 'right')\": 4.044216773716034, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.85285180533506, \"(['red', None, None, None, 'forward'], 'right')\": -0.17030475043327636, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.984944352847408, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 3.984944352847408]\nmax_q:  3.98494435285\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.044216773716034]\nmax_q:  4.04421677372\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.4833118226085196, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.48331182261\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.03571428571428571, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.03571428571428571, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.03571428571428571, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.006391795990618069, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00639179599062\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00585914632473323, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00585914632473\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.005440635872966571, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00544063587297\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': 'forward', 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.03571428571428571, -0.05]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.74165591130426, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.7416559113\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0)]\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (1, 1), deadline = 30\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.00510059613090616, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5835554010098227, \"(['green', None, None, None, 'right'], 'right')\": 4.022108386858017, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.85285180533506, \"(['red', None, None, None, 'forward'], 'right')\": -0.17030475043327636, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.9864928542645166, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 3.9864928542645166]\nmax_q:  3.98649285426\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.022108386858017]\nmax_q:  4.02210838686\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (2, 6), deadline = 50\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.00510059613090616, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5835554010098227, \"(['green', None, None, None, 'right'], 'right')\": 14.011054193429008, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.85285180533506, \"(['red', None, None, None, 'forward'], 'right')\": -0.17030475043327636, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.9887257032794703, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.85285180533506, -0.05]\nmax_q:  2.85285180534\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.5835554010098227, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.58355540101\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.6182591175923378, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.61825911759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00510059613090616, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00510059613091\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.3870792436505752, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.38707924365\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.421130396781099, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.42113039678\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.004781808872724525, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00478180887272\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.2792564475466253, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.27925644755\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.6822814442680483, -0.05]\nmax_q:  2.68228144427\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.1728419291645715, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.17284192916\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.004564453923964319, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00456445392396\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.004437663537187532, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00443766353719\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00432088291778786, -0.46598855689764784, -0.9815961183705078, -0.17030475043327636]\nmax_q:  0.00432088291779\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.197170107718555, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.19717010772\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 14.011054193429008]\nmax_q:  14.0110541934\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 13.793422580528379]\nmax_q:  13.7934225805\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 13.589392943434039]\nmax_q:  13.5893929434\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.1402623135615957, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.14026231356\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (3, 6), deadline = 20\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.004212860844843164, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.526553752199344, \"(['green', None, None, None, 'right'], 'right')\": 13.404981540675692, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.7234601491346715, \"(['red', None, None, None, 'forward'], 'right')\": -0.11392130010536392, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.9887257032794703, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.55, 3.526553752199344, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.5265537522\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.004212860844843164, -0.46598855689764784, -0.9815961183705078, -0.11392130010536392]\nmax_q:  0.00421286084484\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.002106430422421582, -0.46598855689764784, -0.9815961183705078, -0.11392130010536392]\nmax_q:  0.00210643042242\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.4700927402816806, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.47009274028\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 13.404981540675692]\nmax_q:  13.4049815407\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0015798228168161866, -0.46598855689764784, -0.9815961183705078, -0.11392130010536392]\nmax_q:  0.00157982281682\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.5584106169014005, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.5584106169\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.001421840535134568, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 5.261876398826283, \"(['green', None, None, None, 'right'], 'right')\": 11.052326868416703, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.7234601491346715, \"(['red', None, None, None, 'forward'], 'right')\": -0.11392130010536392, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 3.9887257032794703, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 3.9887257032794703]\nmax_q:  3.98872570328\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 11.052326868416703]\nmax_q:  11.0523268684\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.578298658434283]\nmax_q:  4.57829865843\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.7234601491346715, -0.05]\nmax_q:  2.72346014913\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.001421840535134568, -0.46598855689764784, -0.9815961183705078, -0.11392130010536392]\nmax_q:  0.00142184053513\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.001244110468242747, -0.46598855689764784, -0.9815961183705078, -0.11392130010536392]\nmax_q:  0.00124411046824\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 5.261876398826283, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.26187639883\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.361436661521427]\nmax_q:  4.36143666152\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.338846870176338]\nmax_q:  4.33884687018\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.718323640640355, -0.041666666666666664, 0.5282412270798406]\nmax_q:  4.71832364064\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0011196994214184724, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 5.594763475156703, \"(['green', None, None, None, 'right'], 'right')\": 4.289149329217142, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.4823067660897813, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.317261069557698, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.317261069557698]\nmax_q:  4.31726106956\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.4823067660897813, -0.05]\nmax_q:  2.48230676609\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, 0.0, -0.041666666666666664]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 5.594763475156703, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.59476347516\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0011196994214184724, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.00111969942142\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (2, 1), deadline = 20\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0009797369937411635, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 5.917454453705806, \"(['green', None, None, None, 'right'], 'right')\": 4.289149329217142, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.0, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.301562305471413, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.0, -0.05]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.2, -0.05]\nmax_q:  2.2\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 5.917454453705806, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.91745445371\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0009797369937411635, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000979736993741\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 5.525757995184912, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.52575799518\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (3, 4), deadline = 30\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.000935203494025656, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 6.065317129065086, \"(['green', None, None, None, 'right'], 'right')\": 4.289149329217142, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.177777777777778, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.301562305471413, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [0.000935203494025656, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000935203494026\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.000896236681774587, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000896236681775\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0004481183408872935, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000448118340887\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 6.065317129065086, -0.041666666666666664, 0.5282412270798406]\nmax_q:  6.06531712907\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 5.505960406609958, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.50596040661\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 5.355364365948963, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.35536436595\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 5.242417335453217, -0.041666666666666664, 0.5282412270798406]\nmax_q:  5.24241733545\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.301562305471413]\nmax_q:  4.30156230547\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.284808844056334]\nmax_q:  4.28480884406\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.289149329217142]\nmax_q:  4.28914932922\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.177777777777778, -0.05]\nmax_q:  2.17777777778\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 2), deadline = 50\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.0003360887556654701, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.803292201500272, \"(['green', None, None, None, 'right'], 'right')\": 4.275171455020653, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.9051851851851858, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.2707854261115585, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.46598855689764784, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.275171455020653]\nmax_q:  4.27517145502\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.265999073186632]\nmax_q:  4.26599907319\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.803292201500272, -0.041666666666666664, 0.5282412270798406]\nmax_q:  4.8032922015\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0003360887556654701, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000336088755665\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00028007396305455845, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000280073963055\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.4017301229390524, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.40173012294\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.1214086048230096, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.12140860482\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.1946245544210923, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.19462455442\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.252151371962443, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.25215137196\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00024506471767273864, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000245064717673\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00023145001113536427, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000231450011135\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00021987751057859605, -0.46598855689764784, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000219877510579\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.095647767011992, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.09564776701\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [1.55, 3.1333291100531593, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.13332911005\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0)]\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.00020988307827956895, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.749085287880789, \"(['green', None, None, None, 'right'], 'right')\": 4.132999536593315, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.835555555555556, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.2707854261115585, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.2707854261115585]\nmax_q:  4.27078542611\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.132999536593315]\nmax_q:  4.13299953659\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.066499768296658]\nmax_q:  4.0664997683\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.835555555555556, -0.05]\nmax_q:  2.83555555556\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.749085287880789, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.74908528788\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00020988307827956895, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.00020988307828\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00019489142983102832, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000194891429831\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00018271071546658904, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000182710715467\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.457588563490514, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.45758856349\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (7, 1), deadline = 35\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 0.00017256012016288966, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.484709135315988, \"(['green', None, None, None, 'right'], 'right')\": 4.097541479712637, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668444444444445, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.257166382257232, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.668444444444445, -0.05]\nmax_q:  2.66844444444\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00017256012016288966, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  0.000172560120163\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.628006008144483e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  8.62800600814e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.471004506108363e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  6.47100450611e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.484709135315988, -0.041666666666666664, 0.5282412270798406]\nmax_q:  4.48470913532\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.392503755090303e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  5.39250375509e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.863538592116685, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.86353859212\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.5065924238968964e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  4.5065924239e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.552952871141721, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.55295287114\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.5777888227449584, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.57778882274\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.5988993816077106, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.59889938161\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.601600000000001, -0.05]\nmax_q:  2.6016\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 5), deadline = 30\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 4.2249303974033405e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 0.3752797680644168, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.453546812793554, \"(['green', None, None, None, 'right'], 'right')\": 4.097541479712637, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.3848000000000007, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.257166382257232, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.55, 3.453546812793554, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.45354681279\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.4763156955938226, -0.041666666666666664, 0.5282412270798406]\nmax_q:  3.47631569559\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.3752797680644168, 0.0, 0.0]\nmax_q:  0.375279768064\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.097541479712637]\nmax_q:  4.09754147971\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.187639884032208, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.18763988403\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.414184898528182, -0.041666666666666664, 0.5282412270798406]\nmax_q:  2.41418489853\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (6, 6), deadline = 25\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 4.2249303974033405e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 4.572766408675364, \"(['green', None, None, None, 'right'], 'right')\": 4.081284566427198, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.3848000000000007, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.257166382257232, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.3848000000000007, -0.05]\nmax_q:  3.3848\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [4.2249303974033405e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  4.2249303974e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.872852864286396e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.87285286429e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.596220516837368e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.59622051684e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.572766408675364, -0.041666666666666664, 0.5282412270798406]\nmax_q:  4.57276640868\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.371456734535033e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.37145673454e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.202883897808281e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.20288389781e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.286905347409621, -0.041666666666666664, 0.5282412270798406]\nmax_q:  4.28690534741\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.057298266089723e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.05729826609e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.9397098712401185e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.93970987124e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.257166382257232]\nmax_q:  4.25716638226\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 6), deadline = 35\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.5282412270798406, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 2.8347202329815426e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, None, 'forward'], 'forward')\": 3.9565755199127537, \"(['green', None, None, None, 'right'], 'right')\": 4.081284566427198, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.446320000000001, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.8686336260670044, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.041666666666666664, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.8686336260670044]\nmax_q:  4.86863362607\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.446320000000001, -0.05]\nmax_q:  3.44632\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.8347202329815426e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.83472023298e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.3622668608179525e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.36226686082e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.081284566427198]\nmax_q:  4.08128456643\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.9565755199127537, 0.26232421865794203, 1.4782877599563768]\nmax_q:  3.95657551991\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.0669835032157086e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.06698350322e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.9377970342647268e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.93779703426e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.5]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.074510852558264]\nmax_q:  4.07451085256\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.100197870328346]\nmax_q:  4.10019787033\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.7231600000000005, -0.05]\nmax_q:  2.72316\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.5093605020643412, 0.26232421865794203, 1.4782877599563768]\nmax_q:  3.50936050206\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (8, 2), deadline = 25\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.4782877599563768, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 1.781980021275604e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.021626489512732, \"(['green', None, None, None, 'right'], 'right')\": 4.119775003393056, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.682984444444445, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.787709732598, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.021085827274914, 0.26232421865794203, 1.4782877599563768]\nmax_q:  4.02108582727\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.781980021275604e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.78198002128e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.3364850159567029e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.33648501596e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.000008909900106, 0.26232421865794203, 1.4782877599563768]\nmax_q:  2.0000089099\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.682984444444445, -0.05]\nmax_q:  2.68298444444\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1137375132972525e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.1137375133e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0209260538558149e-05, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.02092605386e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.480027642946853e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  9.48002764295e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.000008074596971, 0.26232421865794203, 1.4782877599563768]\nmax_q:  2.0000080746\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (5, 6), deadline = 30\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.4782877599563768, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 8.887525915262675e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1111187822820803, \"(['green', None, None, None, 'right'], 'right')\": 4.119775003393056, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.5537486666666673, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.787709732598, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.787709732598]\nmax_q:  4.7877097326\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.743948080787]\nmax_q:  4.74394808079\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.887525915262675e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  8.88752591526e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.1111187822820803, 0.26232421865794203, 1.4782877599563768]\nmax_q:  3.11111878228\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.2222289344968202, 0.26232421865794203, 1.4782877599563768]\nmax_q:  3.2222289345\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.5537486666666673, -0.05]\nmax_q:  2.55374866667\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.3000060410471383, 0.26232421865794203, 1.4782877599563768]\nmax_q:  3.30000604105\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (8, 3), deadline = 40\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.4782877599563768, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 7.40627159605223e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.7785770381152, \"(['green', None, None, None, 'right'], 'right')\": 4.119775003393056, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.6742696111111117, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.3719740403935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.6742696111111117, -0.05]\nmax_q:  2.67426961111\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [7.40627159605223e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  7.40627159605e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.703135798026115e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  3.70313579803e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.7773518485195862e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.77735184852e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.7785770381152, 0.26232421865794203, 1.4782877599563768]\nmax_q:  4.77857703812\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.6812549083508, 0.26232421865794203, 1.4782877599563768]\nmax_q:  4.68125490835\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.1450041581266275, 0.26232421865794203, 1.4782877599563768]\nmax_q:  4.14500415813\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.5779453809523813, -0.05]\nmax_q:  2.57794538095\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.314459873766322e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.31445987377e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.132920478282742, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.13292047828\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.127382125020961, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.12738212502\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.1956753881383142, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 2.2092571522314896e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.732968200375393, \"(['green', None, None, None, 'right'], 'right')\": 4.119775003393056, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.5201508428571433, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.3719740403935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.55, 4.732968200375393, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.73296820038\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.2092571522314896e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.20925715223e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1046285761157448e-06, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.10462857612e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.522739962241023, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.52273996224\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.5201508428571433, -0.05]\nmax_q:  2.52015084286\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [8.284714320868086e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  8.28471432087e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.594321460795746e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  7.5943214608e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.051869927881765e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  7.05186992788e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.681826779572588, 0.26232421865794203, 1.1956753881383142]\nmax_q:  3.68182677957\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 3), deadline = 25\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.1956753881383142, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 6.611128057389154e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.6060682852374555, \"(['green', None, None, None, 'right'], 'right')\": 4.119775003393056, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668135758571429, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.3719740403935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.3719740403935]\nmax_q:  4.37197404039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.6060682852374555, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.60606828524\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.303034142618728, 0.26232421865794203, 1.1956753881383142]\nmax_q:  4.30303414262\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.119775003393056]\nmax_q:  4.11977500339\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [6.611128057389154e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  6.61112805739e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.1360662953147145]\nmax_q:  4.13606629531\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.124727437371822]\nmax_q:  4.12472743737\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.337297758316058]\nmax_q:  4.33729775832\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.151517236587565, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.15151723659\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (1, 2), deadline = 40\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 5.78473705021551e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.3097662789993665, \"(['green', None, None, None, 'right'], 'right')\": 4.131001929055566, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668135758571429, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.303323159092524, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.55, 4.3097662789993665, 0.26232421865794203, 0.8565403683580218]\nmax_q:  4.309766279\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.78473705021551e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  5.78473705022e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.892368525107755e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.89236852511e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.053125613470198, 0.26232421865794203, 0.8565403683580218]\nmax_q:  4.05312561347\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, 0.0, -0.041666666666666664]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.044271344558498, 0.26232421865794203, 0.8565403683580218]\nmax_q:  4.04427134456\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.7887374400466634, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.78873744005\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.1692763938308164e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.16927639383e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.0608125741392757e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  2.06081257414e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.967139275314763e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.96713927531e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8851751388433144e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.88517513884e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.812668402733956e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.81266840273e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.80047424893296, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.80047424893\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.131001929055566]\nmax_q:  4.13100192906\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.8071251073018613, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.8071251073\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.699376627563084e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.69937662756e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6546561899956346e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.65465619e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.8127978982635713, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.81279789826\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 6), deadline = 40\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 1.6132897852457436e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.293445567352534, \"(['green', None, None, None, 'right'], 'right')\": 4.12690811877258, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668135758571429, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.303323159092524, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.303323159092524]\nmax_q:  4.30332315909\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.29610117911413]\nmax_q:  4.29610117911\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.293445567352534, 0.26232421865794203, 0.8565403683580218]\nmax_q:  4.29344556735\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.220084175514401, 0.26232421865794203, 0.8565403683580218]\nmax_q:  4.22008417551\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6132897852457436e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.61328978525e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4116285620900256e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.41162856209e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.480056143897764, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.4800561439\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.2704657058810232e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.27046570588e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1797181554609502e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.17971815546e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1059857707446408e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.10598577074e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.233380130502018, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.2333801305\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0445421168143829e-07, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  1.04454211681e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.1100421226745265, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.11004212267\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [9.970629296864564e-08, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  9.97062929686e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [9.587143554677466e-08, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  9.58714355468e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.0175386166060783, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.01753861661\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.12690811877258]\nmax_q:  4.12690811877\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.0482405348371384, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.04824053484\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (2, 4), deadline = 20\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 9.267572102854884e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.6302338533138845, \"(['green', None, None, None, 'right'], 'right')\": 4.1231755270439745, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668135758571429, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.06345405938629, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.1231755270439745]\nmax_q:  4.12317552704\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.119753984626086]\nmax_q:  4.11975398463\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.6302338533138845, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.63023385331\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [9.267572102854884e-08, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  9.26757210285e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.815116949825873, 0.26232421865794203, 0.8565403683580218]\nmax_q:  2.81511694983\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.722976752379071e-08, -0.5041247355807345, -0.9815961183705078, -0.1689954215602106]\nmax_q:  7.72297675238e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.6113377220231255, 0.26232421865794203, 0.8565403683580218]\nmax_q:  2.61133772202\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.06345405938629]\nmax_q:  4.06345405939\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (2, 5), deadline = 20\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 6.950679077141164e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5094481074781707, \"(['green', None, None, None, 'right'], 'right')\": 4.059876992313043, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.668135758571429, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.487493055144412, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9815961183705078, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.668135758571429, -0.05]\nmax_q:  2.66813575857\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 5.487493055144412]\nmax_q:  5.48749305514\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [6.950679077141164e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.95067907714e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.45420200020251e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.4542020002e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.050814375189854e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.05081437519e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 2.5094481074781707, 0.26232421865794203, 0.8565403683580218]\nmax_q:  2.50944810748\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 2.5839757021042624, 0.26232421865794203, 0.8565403683580218]\nmax_q:  2.5839757021\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 5), deadline = 35\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 5.7146580210126395e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.439977911003875, \"(['green', None, None, None, 'right'], 'right')\": 4.059876992313043, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.501101818928572, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 5.3387437496299714, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3877807421193276, \"(['green', None, None, None, 'right'], None)\": 1.9846202292367683, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.26232421865794203, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [1.9846202292367683, -0.16666666666666666, -0.06928314837550988, 4.059876992313043]\nmax_q:  4.05987699231\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 5.3387437496299714]\nmax_q:  5.33874374963\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.439977911003875, 0.26232421865794203, 0.8565403683580218]\nmax_q:  3.439977911\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.7146580210126395e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  5.71465802101e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.501101818928572, -0.05]\nmax_q:  2.50110181893\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [5.143192218911375e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  5.14319221891e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.821742705229414e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  4.82174270523e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3877807421193276, 4.90202171822736]\nmax_q:  4.90202171823\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 4.638201562024872]\nmax_q:  4.63820156202\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.429515844795919, -0.05]\nmax_q:  2.4295158448\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 4.5538681104944466e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.05789473684210526, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.156651487029876, \"(['green', None, None, None, 'right'], 'right')\": 4.057155310844268, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.1485319833027217, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.613655348100839, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.16666666666666666, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.057155310844268]\nmax_q:  4.05715531084\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.5538681104944466e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  4.55386811049e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.415401082870835e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  3.41540108287e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.156651487029876, 0.1860917990690819, 0.8565403683580218]\nmax_q:  3.15665148703\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.05789473684210526]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [2.846167569059029e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  2.84616756906e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.2620700511511416, 0.1860917990690819, 0.8565403683580218]\nmax_q:  3.26207005115\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 3.3030661594205224, 0.1860917990690819, 0.8565403683580218]\nmax_q:  3.30306615942\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.8565403683580218, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 2.6682820959928394e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.337912851449497, \"(['green', None, None, None, 'right'], 'right')\": 4.306827674050419, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.1485319833027217, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.613655348100839, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.1485319833027217, -0.05]\nmax_q:  3.1485319833\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.6682820959928394e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  2.66828209599e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.0012115719946295e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  2.00121157199e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.337912851449497, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.33791285145\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6676763099955246e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.66767631e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.500908678995972e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.500908679e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.3758329557463078e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.37583295575e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2775591731930002e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.27755917319e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1977117248684376e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.19771172487e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.29567374501831, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.29567374502\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.280890057767395, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.28089005777\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.268122327868876, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.26812232787\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.0, -0.05]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (1, 6), deadline = 25\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.9377819740946944, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 1.1311721845979688e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.256950564207672, \"(['green', None, None, None, 'right'], 'right')\": 4.306827674050419, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.8461538461538463, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.613655348100839, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.8461538461538463, -0.05]\nmax_q:  2.84615384615\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.6346153846153846, -0.05]\nmax_q:  2.63461538462\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.256950564207672, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.25695056421\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.006178279924137, 0.1860917990690819, 0.9377819740946944]\nmax_q:  4.00617827992\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1311721845979688e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.1311721846e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.08404001023972e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.08404001024e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0423461636920384e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.04234616369e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 3.8055604524973097, 0.1860917990690819, 0.9377819740946944]\nmax_q:  3.8055604525\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (5, 2), deadline = 40\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 0.9377819740946944, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 1.0051195149887514e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.351856422665862, \"(['green', None, None, None, 'right'], 'right')\": 4.306827674050419, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.5552884615384617, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'right')\": 4.613655348100839, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 4.613655348100839]\nmax_q:  4.6136553481\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 4.582972580695797]\nmax_q:  4.5829725807\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.306827674050419]\nmax_q:  4.30682767405\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0051195149887514e-08, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  1.00511951499e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.046075634898761e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  9.0460756349e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.292235998657198e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  8.29223599866e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.351856422665862, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.35185642267\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.699933427324541e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  7.69993342732e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.2721593480287335e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  7.27215934803e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.908551380627297e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.90855138063e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.329865396249246, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.32986539625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.316121004738861, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.31612100474\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.5552884615384617, -0.275]\nmax_q:  2.55528846154\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.303962504556597, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.30396250456\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.293830421071377, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.29383042107\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.59452631787151e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.59452631787e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.4005696614635245e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.40056966146e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.222776059756204e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.22277605976e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.55, 4.150466019960494, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.15046601996\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (7, 3), deadline = 35\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.55, \"(['red', None, None, None, 'forward'], None)\": 6.059018795025778e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.646704369461482, \"(['green', None, None, None, 'right'], 'right')\": 4.29084706602696, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.515625, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['red', None, None, None, 'right'], 'right')\": 4.4858104839131645, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 4.4858104839131645]\nmax_q:  4.48581048391\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.646704369461482, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.64670436946\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.55, 4.323352184730741, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.32335218473\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 3.161676093880125, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.16167609388\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 3.2664665821451093, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.26646658215\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [6.059018795025778e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  6.05901879503e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.626231738238223e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  5.62623173824e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.274592254598334e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  5.2745922546e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 3.0131732663219895, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.01317326632\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 4.46879113636818]\nmax_q:  4.46879113637\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (1, 1), deadline = 25\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.3402609054129844, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 4.981559351565093e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9118559399388686, \"(['green', None, None, None, 'right'], 'right')\": 4.29084706602696, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.515625, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['red', None, None, None, 'right'], 'right')\": 5.356573357442354, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 2.515625, -0.275]\nmax_q:  2.515625\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 2.9118559399388686, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.91185593994\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 1.3402609054129844, 0.0, 0.0]\nmax_q:  1.34026090541\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [4.981559351565093e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  4.98155935157e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 2.4559279699694345, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.45592796997\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 4.483403416408584e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.251267305805315, \"(['green', None, None, None, 'right'], 'right')\": 4.29084706602696, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2578125, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.356573357442354, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.29084706602696]\nmax_q:  4.29084706603\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.266609810524713]\nmax_q:  4.26660981052\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.483403416408584e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  4.48340341641e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.251267305805315, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.25126730581\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.362552562306438e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  3.36255256231e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.942233492018133e-09, -0.5041247355807345, -0.9846634261831906, -0.1689954215602106]\nmax_q:  2.94223349202e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 3.500844871097302, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.5008448711\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.678286678721177]\nmax_q:  4.67828667872\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 3.5424411318391935, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.54244113184\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 2.64801014281632e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.599635990524795, \"(['green', None, None, None, 'right'], 'right')\": 4.629837630241093, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2578125, \"(['red', None, None, None, 'forward'], 'right')\": -0.1689954215602106, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.356573357442354, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9846634261831906, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5041247355807345, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 5.356573357442354]\nmax_q:  5.35657335744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [2.64801014281632e-09, -0.999999998675995, -0.9846634261831906, -0.1689954215602106]\nmax_q:  2.64801014282e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.599635990524795, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.59963599052\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.499696658770663, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.49969665877\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.2578125, -0.275]\nmax_q:  3.2578125\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 5.271787522602207]\nmax_q:  5.2717875226\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 5.1923008024395685]\nmax_q:  5.19230080244\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.629837630241093]\nmax_q:  4.62983763024\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.437234576424331, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.43723457642\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.98600760711224e-09, -0.999999998675995, -0.9872195216538249, -0.21628178976689427]\nmax_q:  1.98600760711e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 5.094813914959676]\nmax_q:  5.09481391496\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.598345748729039]\nmax_q:  4.59834574873\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5924061140917264, -0.7217577648440416, 1.3820574120270865, 5.055713417996831]\nmax_q:  5.055713418\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.215667796839664, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.21566779684\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 1.9032572901492296e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.5924061140917264, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.683483891012778, \"(['green', None, None, None, 'right'], 'right')\": 4.578400890438071, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.00625, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.007806357198219, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9872195216538249, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.683483891012778, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.68348389101\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.007806357198219]\nmax_q:  5.0078063572\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.525631897479769, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.52563189748\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.9032572901492296e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.90325729015e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6653501288805759e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.66535012888e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4988151159925186e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.49881511599e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.3739138563264755e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.37391385633e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.438026581233141, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.43802658123\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (1, 3), deadline = 30\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 1.2757771523031558e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.12105263157894737, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 5.383273258658734, \"(['green', None, None, None, 'right'], 'right')\": 4.578400890438071, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.00625, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.648503401208627, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9872195216538249, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.12105263157894737]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.648503401208627]\nmax_q:  4.64850340121\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.005075545599805]\nmax_q:  4.0050755456\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.2757771523031558e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.2757771523e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.169462389611226e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.16946238961e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.383273258658734, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.38327325866\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0255999527939723e-09, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  1.02559995279e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.743199551542738e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  9.74319955154e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.296818679992564, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.29681867999\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.242784568326206, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.24278456833\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.194985161852121, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.19498516185\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [9.300326844654432e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  9.30032684465e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.990315949832618e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  8.99031594983e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.709368576400349e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  8.7093685764e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [8.453210677094455e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  8.45321067709e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.152307120357402, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.15230712036\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [8.230757764539338e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  8.23075776454e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.034787341574115e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  8.03478734157e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.852178538356523e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  7.85217853836e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 5.001973014339531, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.00197301434\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.004567991039825]\nmax_q:  4.00456799104\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 7.68147900491399e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.24736842105263157, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.9810985765407905, \"(['green', None, None, None, 'right'], 'right')\": 4.578400890438071, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.00625, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9872195216538249, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.578400890438071]\nmax_q:  4.57840089044\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.00625, -0.275]\nmax_q:  3.00625\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.9810985765407905, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.98109857654\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.68147900491399e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  7.68147900491e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.04135575450449e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  7.0413557545e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.538401772039885e-10, -0.999999998675995, -0.9872195216538249, -0.23810626740393098]\nmax_q:  6.53840177204e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.384878861309447, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.38487886131\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.129751661287392e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  6.12975166129e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.146390975209152, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.14639097521\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (3, 2), deadline = 20\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 5.851126585774328e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.24736842105263157, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.800858393966102, \"(['green', None, None, None, 'right'], 'right')\": 4.563583920604688, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.1304687500000004, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.13734567901234568, -0.025, 3.1304687500000004, -0.275]\nmax_q:  3.13046875\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [5.851126585774328e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.85112658577e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.266013927196895e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.2660139272e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.827179433263821e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.82717943326e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.482380902316405e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.48238090232e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.20223209592163e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.20223209592e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.800858393966102, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.80085839397\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.7608154742677975, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.76081547427\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 4.563583920604688]\nmax_q:  4.5635839206\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 4), deadline = 30\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5602793489800209, \"(['red', None, None, None, 'forward'], None)\": 3.968774757259317e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.24736842105263157, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.726232952710171, \"(['green', None, None, None, 'right'], 'right')\": 5.367283314271255, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2391601562500005, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 5.367283314271255]\nmax_q:  5.36728331427\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [3.968774757259317e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.96877475726e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -1.0\nnext_waypoint:  forward\nq:  [1.9843873786296584e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.98438737863e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.726232952710171, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.72623295271\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6536561488580487e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.65365614886e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.488290533972244e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.48829053397e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.3642663228078903e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.36426632281e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2668187283216124e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.26681872832e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1876425578015115e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.1876425578e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5602793489800209, 4.08681006397828, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.08681006398\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.24736842105263157]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.1216624157014275e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.1216624157e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0816030437120909e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.08160304371e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5839534227183338, 3.8781290575860603, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.87812905759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5839534227183338, 3.881713497068823, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.88171349707\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.5839534227183338, \"(['red', None, None, None, 'forward'], None)\": 1.0455496089216879e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.332729413901237, \"(['green', None, None, None, 'right'], 'right')\": 5.270674425132275, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2391601562500005, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 5.270674425132275]\nmax_q:  5.27067442513\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0455496089216879e-10, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.04554960892e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.2277480446084396e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.22774804461e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5839534227183338, 4.332729413901237, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.3327294139\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.92081103345633e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.92081103346e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.430709654274289e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.43070965427e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.08763868884686e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.08763868885e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.830335464776288e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.83033546478e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.2772745115843644, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.27727451158\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 5.211635659547342]\nmax_q:  5.21163565955\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (4, 6), deadline = 25\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.6281686458636962e-11, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.0242440102986725, \"(['green', None, None, None, 'right'], 'right')\": 6.111269758052957, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2391601562500005, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 6.111269758052957]\nmax_q:  6.11126975805\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.0242440102986725, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.0242440103\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.6281686458636962e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.62816864586e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.190140538219747e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.19014053822e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.916372970942279e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.91637297094e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.018183007724005, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.01818300772\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.7247356738480508e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.72473567385e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.681819173104775, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.6818191731\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (1, 6), deadline = 40\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.6015402685731902e-11, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.951705474785727, \"(['green', None, None, None, 'right'], 'right')\": 5.002853135075155, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.2391601562500005, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.13734567901234568, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.33708279556521303, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.6015402685731902e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.60154026857e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5014440017873656e-11, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.50144400179e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.507220008936828e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  7.50722000894e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.6304150067026216e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.6304150067e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.692012505585518e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.69201250559e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.951705474785727, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.95170547479\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [4.1055109423873285e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.10551094239e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.763385030521718e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.76338503052e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.361364379828992, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.36136437983\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.4945718140558815e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.49457181406e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.3004289354972214e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.3004289355e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.1354074887223605e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.13540748872e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.33877910608968, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.33877910609\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.2513637097133191, -0.025, 3.2391601562500005, -0.275]\nmax_q:  3.23916015625\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.9928889665077074e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.99288896651e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.3246633100026095, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.32466331\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.3145175815650285, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.31451758157\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.8931260009574506e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.89312600096e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.16666666666666666, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.33708279556521303, -0.03571428571428571, -0.05]\nmax_q:  0.337082795565\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.812761389819744e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.81276138982e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.745790880538321e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.74579088054e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.6833865423442685e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.68338654234e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.625052052293306e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.62505205229e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.178369488531876, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.17836948853\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (7, 6), deadline = 20\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.570363467870529e-12, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.491234708990652, \"(['green', None, None, None, 'right'], 'right')\": 5.002853135075155, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.150648716517858, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.2513637097133191, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.4159532892069935, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [2.570363467870529e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.57036346787e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.5189561985131184e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  2.51895619851e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2594780992565592e-12, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  1.25947809926e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.446085744424194e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  9.44608574442e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.491234708990652, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.49123470899\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.429830370366821, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.42983037037\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.943864296293535, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.94386429629\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.4159532892069935]\nmax_q:  4.41595328921\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 5), deadline = 35\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 7.871738120353496e-13, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.6198869135780116, \"(['green', None, None, None, 'right'], 'right')\": 5.002853135075155, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.150648716517858, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.2513637097133191, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.856735186111363, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6926839258951891, -0.025, 3.150648716517858, -0.275]\nmax_q:  3.15064871652\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [7.871738120353496e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  7.87173812035e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.084564308318147e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  7.08456430832e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.494183949291635e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  6.49418394929e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.6198869135780116, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.61988691358\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.643643981479386, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.64364398148\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.6926839258951891, -0.025, 2.8629865373883936, -0.275]\nmax_q:  2.86298653739\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.4610168724261543, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.46101687243\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.030313667199376e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  6.0303136672e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.779050597732735e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.77905059773e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.556779420896861e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.5567794209e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.3281971567510764, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.32819715675\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.358323013007687e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.35832301301e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.190875418851197e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.19087541885e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.038202612414397e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  5.03820261241e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.89825253984733e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.89825253985e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.2396506796343556, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.23965067963\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (3, 5), deadline = 40\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 4.769351157219768e-13, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": -0.06928314837550988, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.7586594126434965, \"(['green', None, None, None, 'right'], 'right')\": 5.002853135075155, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.919837210518974, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.6926839258951891, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.856735186111363, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, -0.06928314837550988, 5.002853135075155]\nmax_q:  5.00285313508\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.7586594126434965, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.75865941264\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.818994559482622, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.81899455948\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, 1.9888909033491378, 4.9777818066982755]\nmax_q:  4.9777818067\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.769351157219768e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.76935115722e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.2924160414977915e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  4.2924160415e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.934714704706309e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.93471470471e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.6536636543701443e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.65366365437e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.4253096759720104e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.42530967597e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.849162132902185, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.8491621329\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0)]\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (1, 6), deadline = 30\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 3.235014693973565e-13, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.664245919611982, \"(['green', None, None, None, 'right'], 'right')\": 4.855559080860991, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.919837210518974, \"(['red', None, None, None, 'forward'], 'right')\": -0.23810626740393098, \"(['green', None, None, None, 'left'], None)\": 0.6926839258951891, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.856735186111363, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, 1.9888909033491378, 4.855559080860991]\nmax_q:  4.85555908086\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.6926839258951891, -0.025, 2.919837210518974, -0.275]\nmax_q:  2.91983721052\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.664245919611982, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.66424591961\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.235014693973565e-13, -0.999999998675995, -0.9886395747693457, -0.23810626740393098]\nmax_q:  3.23501469397e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [2.6958455783113045e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.69584557831e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.498184439708987, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.49818443971\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6926839258951891, -0.025, 3.459918605259487, -0.275]\nmax_q:  3.45991860526\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.4262610204801743e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.42626102048e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.3049479694561656e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.30494796946e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.200177607208158e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.20017760721e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.1085035402411512e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.10850354024e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.0274072502318763e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  2.02740725023e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.0818203664241555, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.08182036642\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.079093020876684, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.07909302088\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.076621363974287, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.07662136397\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.954467166093453, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.95446716609\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.954999848437881e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.95499984844e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.489923127189515, -0.275]\nmax_q:  3.48992312719\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.9035524840053054e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.90355248401e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.849738515444393, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.84973851544\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.8621709082660596e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.86217090827e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8249274901007386e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.8249274901e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7898327306757246e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.78983273068e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7566876801076558e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.75668768011e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7253182572485906e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.72531825725e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.8528689630393016, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.85286896304\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 3), deadline = 20\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.6955713907443046e-13, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.791106664271328, \"(['green', None, None, None, 'right'], 'right')\": 4.812781126817941, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.4221993486809006, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.856735186111363, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.999999998675995, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.4221993486809006, -0.275]\nmax_q:  3.42219934868\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6955713907443046e-13, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  1.69557139074e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.477856953721523e-14, -0.999999998675995, -0.9886395747693457, -0.30357970055291456]\nmax_q:  8.47785695372e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [6.358392715291142e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  6.35839271529e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.791106664271328, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.79110666427\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.432885331417068, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.43288533142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.856735186111363]\nmax_q:  5.85673518611\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 2), deadline = 25\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 5.563593625879749e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.194071109514228, \"(['green', None, None, None, 'right'], 'right')\": 4.812781126817941, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.3747927037248706, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 7.152682672817695, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 7.152682672817695]\nmax_q:  7.15268267282\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.028577655422134, -0.05365037852741328, 1.9888909033491378, 4.812781126817941]\nmax_q:  4.81278112682\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.3747927037248706, -0.275]\nmax_q:  3.37479270372\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [5.563593625879749e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  5.56359362588e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.194071109514228, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.19407110951\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.895553332135677, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.89555333214\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (1, 5), deadline = 50\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 4.636328021566458e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 5.005997998922109, \"(['green', None, None, None, 'right'], 'right')\": 4.406390563408971, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.6873963518624353, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.760355228616449, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9886395747693457, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  forward\nq:  [1.653288901852565, 5.005997998922109, 0.1860917990690819, 1.675928211332931]\nmax_q:  5.00599799892\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.905398199029898, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.90539819903\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.452699099514949, 0.1860917990690819, 1.675928211332931]\nmax_q:  4.45269909951\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [4.636328021566458e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  4.63632802157e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.8636066846387156e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  3.86360668464e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.226349549757486, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.22634954976\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.303714594781738, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.30371459478\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.3617383785499264, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.36173837855\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 2.6873963518624353, -0.275]\nmax_q:  2.68739635186\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [3.380655849058876e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  3.38065584906e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.1672043244713683, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.16720432447\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.2269896741016546e-14, -0.9999999991173194, -0.9886395747693457, -0.30357970055291456]\nmax_q:  3.2269896741e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.0699372974320887, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.06993729743\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.1028746866362065e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.10287468664e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.005909852678825e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.00590985268e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.9175007393647415e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.91750073936e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.836459052160165e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.83645905216e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.9986081442699493, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.99860814427\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0)]\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.7618153928927925e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4486777370564523, \"(['green', None, None, None, 'right'], 'right')\": 4.406390563408971, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.618656716676192, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.760355228616449, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.028577655422134, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.406390563408971]\nmax_q:  4.40639056341\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.4486777370564523, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.44867773706\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.724338868528233, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.72433886853\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.2031952817044855]\nmax_q:  4.2031952817\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 2), deadline = 40\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.7618153928927925e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4828925790188263, \"(['green', None, None, None, 'right'], 'right')\": 6.99744086485542, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.618656716676192, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.760355228616449, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664}\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 6.760355228616449]\nmax_q:  6.76035522862\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.4828925790188263, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.48289257902\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.241446289509413, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.24144628951\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.4310847171320598, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.43108471713\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.7618153928927925e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.76181539289e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.4165884687811934e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.41658846878e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.9540564780880443, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.95405647809\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 2.618656716676192, -0.275]\nmax_q:  2.61865671668\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.07142857142855409]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.07142857142855409]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.7950470650733723, 0.1860917990690819, 1.675928211332931]\nmax_q:  2.79504706507\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0)]\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (4, 6), deadline = 30\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.1749296219030742e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.678586770695315, \"(['green', None, None, None, 'right'], 'right')\": 6.99744086485542, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 2.695398010194181, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.444946529569265, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, None, None, 'forward'], 'left')\": 0.1860917990690819, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 2.695398010194181, -0.275]\nmax_q:  2.69539801019\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.1749296219030742e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.1749296219e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.993685486744485e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.99368548674e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8512793805484505e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.85127938055e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7355744192641724e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.73557441926e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.678586770695315, 0.1860917990690819, 1.675928211332931]\nmax_q:  3.6785867707\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.99744086485542]\nmax_q:  6.99744086486\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6391536181939406e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.63915361819e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.570855550769193e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.57085555077e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5104380295857625e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.51043802959e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.77178125429102]\nmax_q:  6.77178125429\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 2.5563184081553447, -0.275]\nmax_q:  2.55631840816\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (6, 1), deadline = 20\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.4564938142434138e-14, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.694657432160549, \"(['green', None, None, None, 'right'], 'right')\": 6.680645490202409, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.0285024877475775, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.444946529569265, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.2635075935364947, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 6.444946529569265]\nmax_q:  6.44494652957\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4564938142434138e-14, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.45649381424e-14\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.282469071217069e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  7.28246907122e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.694657432160549, 0.2635075935364947, 1.675928211332931]\nmax_q:  3.69465743216\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.129771621440367, 0.2635075935364947, 1.675928211332931]\nmax_q:  3.12977162144\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.461851803412802e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  5.46185180341e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.9156666230715225e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  4.91566662307e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.506027737815563e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  4.50602773782e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.1841686136858806e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  4.18416861369e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.922658075330513e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.92265807533e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.8998572980536528, 0.2635075935364947, 1.675928211332931]\nmax_q:  2.89985729805\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (8, 5), deadline = 45\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 3.70473262670104e-15, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.8098715682482878, \"(['green', None, None, None, 'right'], 'right')\": 6.680645490202409, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.0285024877475775, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.383822866330033, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.2635075935364947, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.09090909090909091, -0.25, -0.041666666666666664]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.8098715682482878, 0.2635075935364947, 1.675928211332931]\nmax_q:  3.80987156825\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.3574036761862165, 0.2635075935364947, 1.675928211332931]\nmax_q:  3.35740367619\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.70473262670104e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.7047326267e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.3960049078092866e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.39600490781e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.153433128680052e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.15343312868e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.9563435581375487e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.95634355814e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.085922940948974, 0.2635075935364947, 1.675928211332931]\nmax_q:  3.08592294095\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 6.383822866330033]\nmax_q:  6.38382286633\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.792102249352129e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.79210224935e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.6847137013001243e-15, -0.9999999991173194, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.6847137013e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.131626793901525, 0.19409781230590442, 1.675928211332931]\nmax_q:  3.1316267939\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.0285024877475775, -0.275]\nmax_q:  3.02850248775\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (2, 1), deadline = 30\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.675928211332931, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.588831069110834e-15, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0561850076414236, \"(['green', None, None, None, 'right'], 'right')\": 6.680645490202409, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.5269190162060453, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.284496913566281, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.19409781230590442, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999991173194, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.680645490202409]\nmax_q:  6.6806454902\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.0561850076414236, 0.19409781230590442, 1.675928211332931]\nmax_q:  3.05618500764\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.3696717774676044, 0.19409781230590442, 1.675928211332931]\nmax_q:  2.36967177747\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [2.588831069110834e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.58883106911e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.2652271854719795e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.26522718547e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.777253833100703, 0.19409781230590442, 1.675928211332931]\nmax_q:  2.7772538331\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.0387044669247817e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.03870446692e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8930827192872976e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.89308271929e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.5269190162060453, -0.275]\nmax_q:  3.52691901621\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 5), deadline = 20\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.5812534949394896, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.7747650493318415e-15, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6477115275839194, \"(['green', None, None, None, 'right'], 'right')\": 6.606183115474564, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.374227114585441, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.284496913566281, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.19409781230590442, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.606183115474564]\nmax_q:  6.60618311547\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 6.284496913566281]\nmax_q:  6.28449691357\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.7747650493318415e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.77476504933e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.6477115275839194, 0.19409781230590442, 1.5812534949394896]\nmax_q:  2.64771152758\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3310737869988811e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.331073787e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.164689563624021e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.16468956362e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.4318076850559462, 0.19409781230590442, 1.5812534949394896]\nmax_q:  2.43180768506\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (3, 6), deadline = 30\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.5812534949394896, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.0482206072616188e-15, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.026506404213288, \"(['green', None, None, None, 'right'], 'right')\": 6.459789649605421, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.374227114585441, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.142248456783141, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.19409781230590442, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.459789649605421]\nmax_q:  6.45978964961\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.026506404213288, 0.19409781230590442, 1.5812534949394896]\nmax_q:  4.02650640421\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.013253202106644, 0.19409781230590442, 1.5812534949394896]\nmax_q:  3.01325320211\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0482206072616188e-15, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.04822060726e-15\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.171930313539165e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  9.17193031354e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 4.374227114585441, -0.275]\nmax_q:  4.37422711459\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [8.254737282185249e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  8.25473728219e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.675502134737763, 0.19409781230590442, 1.2343779124495748]\nmax_q:  2.67550213474\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 4.136804403126897, -0.275]\nmax_q:  4.13680440313\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.6192102901762824, 0.19409781230590442, 1.2343779124495748]\nmax_q:  2.61921029018\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (1, 6), deadline = 30\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2343779124495748, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 7.879521951176828e-16, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2873599686082735, \"(['green', None, None, None, 'right'], 'right')\": 6.2548071788049695, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 4.1322442563560005, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.142248456783141, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.19409781230590442, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.2873599686082735, 0.19409781230590442, 1.2343779124495748]\nmax_q:  3.28735996861\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.879521951176828e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  7.87952195118e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.939760975588414e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  3.93976097559e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.2068999705702566, 0.19409781230590442, 1.2343779124495748]\nmax_q:  3.20689997057\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.142248456783141]\nmax_q:  5.14224845678\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 4.1322442563560005, -0.275]\nmax_q:  4.13224425636\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.827637934019429, -0.275]\nmax_q:  3.82763793402\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.3390833088085476, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.33908330881\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.9548207316913104e-16, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.126439371644134, \"(['green', None, None, None, 'right'], 'right')\": 6.2548071788049695, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8362560373184573, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.13927948330701, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nq:  [2.9548207316913104e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.95482073169e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.8205106984326145e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  2.82051069843e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4102553492163072e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.41025534922e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0576915119122304e-16, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  1.05769151191e-16\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.814095932601922e-17, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  8.8140959326e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.126439371644134, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.12643937164\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.11379543447972, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.11379543448\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.10431248160641, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.10431248161\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.13927948330701]\nmax_q:  5.13927948331\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 7.712333941026681e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.096861590063096, \"(['green', None, None, None, 'right'], 'right')\": 6.2548071788049695, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8362560373184573, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 6.387794996568944, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.2548071788049695]\nmax_q:  6.2548071788\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 6.113881730129659]\nmax_q:  6.11388173013\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.096861590063096, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.09686159006\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 6.387794996568944]\nmax_q:  6.38779499657\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.048430795031548, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.04843079503\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 2.786323096273661, 0.020573359229428365, 1.2235718694420248]\nmax_q:  2.78632309627\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (1, 2), deadline = 35\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 7.712333941026681e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.62905847701893, \"(['green', None, None, None, 'right'], 'right')\": 5.0569408650648295, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8362560373184573, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.768020141890101, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9894510337143914, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nq:  [7.712333941026681e-17, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  7.71233394103e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.941100546924014e-17, -0.9999999994115458, -0.9894510337143914, -0.30357970055291456]\nmax_q:  6.94110054692e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [3.470550273462007e-17, -0.9999999994115458, -0.9947255168571957, -0.30357970055291456]\nmax_q:  3.47055027346e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.892125227885006e-17, -0.9999999994115458, -0.9947255168571957, -0.30357970055291456]\nmax_q:  2.89212522789e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.62905847701893, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.62905847702\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.5306095743993806e-17, -0.9999999994115458, -0.9947255168571957, -0.30357970055291456]\nmax_q:  2.5306095744e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.319725443199432e-17, -0.9999999994115458, -0.9947255168571957, -0.30357970055291456]\nmax_q:  2.3197254432e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.145269647193847, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.14526964719\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.906906353061197, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.90690635306\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.1747426029994675e-17, -0.9999999994115458, -0.9947255168571957, -0.30357970055291456]\nmax_q:  2.174742603e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.7162157177550776, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.71621571776\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.728040062848616, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.72804006285\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.5951139041679534, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.59511390417\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.488772977223423, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.48877297722\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 5), deadline = 20\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 2.0758906664994916e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.129748821685191, \"(['green', None, None, None, 'right'], 'right')\": 5.0569408650648295, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8362560373184573, \"(['red', None, None, None, 'forward'], 'right')\": -0.30357970055291456, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.768020141890101, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9951022656531102, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 5.0569408650648295]\nmax_q:  5.05694086506\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.0758906664994916e-17, -0.9999999994115458, -0.9951022656531102, -0.30357970055291456]\nmax_q:  2.0758906665e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8164043331870552e-17, -0.9999999994115458, -0.9951022656531102, -0.30357970055291456]\nmax_q:  1.81640433319e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.129748821685191, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.12974882169\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.768020141890101]\nmax_q:  5.76802014189\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6347638998683498e-17, -0.9999999994115458, -0.9951022656531102, -0.30357970055291456]\nmax_q:  1.63476389987e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.7747906847376598, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.77479068474\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5325911561265778e-17, -0.9999999994115458, -0.9951022656531102, -0.30357970055291456]\nmax_q:  1.53259115613e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.455961598320249e-17, -0.9999999994115458, -0.9951022656531102, -0.30357970055291456]\nmax_q:  1.45596159832e-17\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.865882060998278]\nmax_q:  4.865882061\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.832578904806036]\nmax_q:  4.83257890481\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.229731550191516]\nmax_q:  5.22973155019\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.7873023133633454, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.78730231336\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0)]\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (6, 5), deadline = 40\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.300595918778136, \"(['green', None, None, None, 'right'], 'right')\": 4.802843943920107, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.8362560373184573, \"(['red', None, None, None, 'forward'], 'right')\": -0.16214379578336563, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.174510911642751, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.9951022656531102, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.300595918778136, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.30059591878\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.8362560373184573, -0.275]\nmax_q:  3.83625603732\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.5784043369272514]\nmax_q:  1.57840433693\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.877192027988843, -0.275]\nmax_q:  3.87719202799\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.5784043369272514]\nmax_q:  1.57840433693\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.6894728251899593, -0.275]\nmax_q:  3.68947282519\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.802843943920107]\nmax_q:  4.80284394392\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 1), deadline = 40\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 4.156808673854503, \"(['green', None, None, None, 'right'], 'right')\": 5.402755070672603, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.6998237310169606, \"(['red', None, None, None, 'forward'], 'right')\": 1.4612041397941944, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 5.174510911642751, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.174510911642751]\nmax_q:  5.17451091164\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 5.402755070672603]\nmax_q:  5.40275507067\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.4612041397941944]\nmax_q:  1.46120413979\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.6998237310169606, -0.275]\nmax_q:  3.69982373102\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 4.156808673854503, 0.020573359229428365, 1.2235718694420248]\nmax_q:  4.15680867385\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.8459031048456458]\nmax_q:  0.845903104846\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.7498531091808007, -0.275]\nmax_q:  3.74985310918\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.144940075623598]\nmax_q:  5.14494007562\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.6613127943610813]\nmax_q:  0.661312794361\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.572470037811799]\nmax_q:  4.57247003781\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.550451959434422]\nmax_q:  4.55045195943\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.0928973449134345]\nmax_q:  5.09289734491\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.723344393496583, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.7233443935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.7196760778933488]\nmax_q:  0.719676077893\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 5.037730620615313]\nmax_q:  5.03773062062\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.530792960883193]\nmax_q:  4.53079296088\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.7549341099683639]\nmax_q:  0.754934109968\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.5158101451624715]\nmax_q:  4.51581014516\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9888909033491378, 4.514973846936528]\nmax_q:  4.51497384694\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.638125246337214, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.63812524634\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 2), deadline = 45\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9888909033491378, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.988236183933759, \"(['green', None, None, None, 'right'], 'right')\": 4.50424522512535, \"(['green', None, None, None, 'left'], 'forward')\": -0.025, \"(['green', None, None, None, 'left'], 'left')\": 3.574867798262721, \"(['red', None, None, None, 'forward'], 'right')\": 0.7817973725017087, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.962765070778431, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.962765070778431]\nmax_q:  4.96276507078\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.481382535389216]\nmax_q:  4.48138253539\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.7817973725017087]\nmax_q:  0.781797372502\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, -0.025, 3.574867798262721, -0.275]\nmax_q:  3.57486779826\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.0192376123234324]\nmax_q:  1.01923761232\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.181150848697041, -0.275]\nmax_q:  3.1811508487\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.988236183933759, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.98823618393\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1142137082521217]\nmax_q:  1.11421370825\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.222093306262189, -0.275]\nmax_q:  3.22209330626\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.8581335175876044, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.85813351759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1404514624639286]\nmax_q:  1.14045146246\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.2520127944828743, -0.275]\nmax_q:  3.25201279448\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.1737619948276947, -0.275]\nmax_q:  3.17376199483\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (8, 6), deadline = 50\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9885905686307408, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.863200177673762, \"(['green', None, None, None, 'right'], 'right')\": 4.50424522512535, \"(['green', None, None, None, 'left'], 'forward')\": 0.09895282492761337, \"(['green', None, None, None, 'left'], 'left')\": 3.6641085506706004, \"(['red', None, None, None, 'forward'], 'right')\": 1.1598613708887922, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.366752573975946, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.6641085506706004, -0.275]\nmax_q:  3.66410855067\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.863200177673762, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.86320017767\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1749579663303527]\nmax_q:  1.17495796633\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.8320542753353, -0.275]\nmax_q:  3.83205427534\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1541952409568133]\nmax_q:  1.15419524096\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.374040706501475, -0.275]\nmax_q:  3.3740407065\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.225339580419469, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.22533958042\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1458901508073975]\nmax_q:  1.14589015081\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.426203980959685, -0.275]\nmax_q:  3.42620398096\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.011772016381935]\nmax_q:  1.01177201638\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.3073536492130446, -0.275]\nmax_q:  3.30735364921\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.366752573975946]\nmax_q:  4.36675257398\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.132140365417216, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.13214036542\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.157665648787298, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.15766564879\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.9343961695980145]\nmax_q:  0.934396169598\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.50424522512535]\nmax_q:  4.50424522513\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.359588201387616]\nmax_q:  4.35958820139\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.488022668903772]\nmax_q:  4.4880226689\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.1193063396768372, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.11930633968\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0), (27, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (8, 3), deadline = 30\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9885905686307408, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5258797301972984, \"(['green', None, None, None, 'right'], 'right')\": 4.476931244610505, \"(['green', None, None, None, 'left'], 'forward')\": 0.09895282492761337, \"(['green', None, None, None, 'left'], 'left')\": 3.2201967392655084, \"(['red', None, None, None, 'forward'], 'right')\": 0.940988643294878, \"(['green', None, None, None, 'left'], None)\": 0.7427923848332638, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.354084541057343, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  left\nq:  [0.7427923848332638, 0.09895282492761337, 3.2201967392655084, -0.275]\nmax_q:  3.22019673927\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.940988643294878]\nmax_q:  0.940988643295\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.2629398650986492]\nmax_q:  1.2629398651\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.9726205892696087, -0.275]\nmax_q:  2.97262058927\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1013013033058887]\nmax_q:  1.10130130331\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.8510430156109074, -0.275]\nmax_q:  2.85104301561\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.476931244610505]\nmax_q:  4.47693124461\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0), (27, 12.0), (27, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (2, 6), deadline = 50\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9885905686307408, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5258797301972984, \"(['green', None, None, None, 'right'], 'right')\": 5.227818504433178, \"(['green', None, None, None, 'left'], 'forward')\": 0.09895282492761337, \"(['green', None, None, None, 'left'], 'left')\": 2.8989162232937864, \"(['red', None, None, None, 'forward'], 'right')\": 0.9845623420111171, \"(['green', None, None, None, 'left'], None)\": 1.1631823691975143, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.354084541057343, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 5.227818504433178]\nmax_q:  5.22781850443\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 5.180594715801133]\nmax_q:  5.1805947158\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 0.9845623420111171]\nmax_q:  0.984562342011\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.8989162232937864, -0.275]\nmax_q:  2.89891622329\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.5258797301972984, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.5258797302\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.9906732046859705, -0.275]\nmax_q:  2.99067320469\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.1237511035548833]\nmax_q:  1.12375110355\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.884687910338146, -0.275]\nmax_q:  2.88468791034\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.0175635483771392]\nmax_q:  1.01756354838\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.8109639178099672, -0.275]\nmax_q:  2.81096391781\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 2.853429492173897, -0.275]\nmax_q:  2.85342949217\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0), (27, 12.0), (27, 12.0), (17, 12.0), (30, 12.0)]\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', 'left', None, None, 'forward'], 'forward')\": 1.505195679682433, \"(['green', None, None, None, 'forward'], 'right')\": 1.2235718694420248, \"(['green', None, None, None, 'forward'], None)\": 1.653288901852565, \"(['red', None, None, None, 'forward'], None)\": 1.3897815256693287e-17, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.6472496280951221, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.187650446358202, \"(['red', None, None, None, 'left'], 'forward')\": -1.0, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.3333333333333333, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.7393435549352083, \"(['green', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 2.5039031785991095, \"(['red', 'forward', None, None, 'right'], 'right')\": 0.29383120305124494, \"(['red', None, None, 'left', 'left'], 'right')\": -0.5, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.26680161943319836, \"(['green', None, None, None, 'right'], 'left')\": 1.9885905686307408, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.05555555555555555, \"(['green', 'right', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.1, \"(['green', None, 'right', None, 'left'], 'left')\": 0.2961002331002331, \"(['red', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'right')\": 0.14258829201513226, \"(['red', 'forward', None, None, 'left'], 'forward')\": -0.2, \"(['green', None, 'left', None, 'left'], 'forward')\": -0.5, \"(['green', None, None, 'left', 'left'], 'right')\": 0.07179833333333335, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3078969115976844, \"(['green', None, None, None, 'right'], 'right')\": 4.177042270528672, \"(['green', None, None, None, 'left'], 'forward')\": 0.09895282492761337, \"(['green', None, None, None, 'left'], 'left')\": 3.310758017565202, \"(['red', None, None, None, 'forward'], 'right')\": 1.0280546951018856, \"(['green', None, None, None, 'left'], None)\": 1.1631823691975143, \"(['red', None, 'forward', None, 'forward'], 'left')\": -0.16666666666666666, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'right')\": -0.07142857142855409, \"(['green', None, 'left', 'forward', 'right'], 'left')\": 0.08957351952912788, \"(['red', None, None, None, 'left'], 'left')\": -0.5833333333333333, \"(['red', None, None, 'forward', 'forward'], 'right')\": -0.5, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.29125, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.16666666666666666, \"(['red', None, 'right', None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.275, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.14958395754668002, \"(['red', None, None, None, 'right'], 'right')\": 4.354084541057343, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.09090909090909091, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.05, \"(['red', None, None, None, 'right'], 'left')\": 1.3820574120270865, \"(['green', None, None, None, 'right'], None)\": 2.037308536736252, \"(['green', None, 'forward', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 0.4202286557870227, \"(['red', None, None, None, 'forward'], 'left')\": -0.733667454280865, \"(['green', None, None, 'right', 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.125, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.07142857142857142, \"(['green', None, 'right', None, 'right'], 'right')\": 0.4144574664608571, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.25, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.020573359229428365, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'left')\": -0.03571428571428571, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.1273983408076937, \"(['green', None, None, None, 'right'], 'forward')\": -0.05365037852741328, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9999999994115458, \"(['red', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'right')\": 0.14424355697485527, \"(['green', None, 'left', None, 'right'], 'right')\": 1.6280033569816834, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.05263157894736842, \"(['green', 'right', None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.7217577648440416, \"(['red', None, None, 'forward', 'forward'], 'left')\": -0.16666666666666666, \"(['green', None, 'forward', None, 'left'], 'right')\": 0.07361111111111113, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.041666666666666664, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.1818181818181828}\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 3.310758017565202, -0.275]\nmax_q:  3.31075801757\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -1.0, -0.5833333333333333, -0.26680161943319836]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.1631823691975143, 0.09895282492761337, 3.048606414052162, -0.275]\nmax_q:  3.04860641405\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.733667454280865, 1.0280546951018856]\nmax_q:  1.0280546951\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.354084541057343]\nmax_q:  4.35408454106\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.3393310185132865]\nmax_q:  4.33933101851\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.177042270528672]\nmax_q:  4.17704227053\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.3897815256693287e-17, -0.9999999994115458, -0.7202272776361717, 0.9358703907790726]\nmax_q:  0.935870390779\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.170719332295505]\nmax_q:  4.1707193323\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.037308536736252, -0.05365037852741328, 1.9885905686307408, 4.165698175463284]\nmax_q:  4.16569817546\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [2.5039031785991095, -0.7217577648440416, 1.3820574120270865, 4.320037950571059]\nmax_q:  4.32003795057\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.653288901852565, 3.3078969115976844, 0.020573359229428365, 1.2235718694420248]\nmax_q:  3.3078969116\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nepsilon:  0.1 gamma:  0.5 alpha:  0.05 defaultq:  0.0\nResults:  [(3, 12.0), (22, 12.0), (16, 12.0), (17, 12.0), (18, 12.0), (6, 12.0), (9, 12.0), (5, 12.0), (20, 12.0), (18, 12.0), (22, 12.0), (12, 12.0), (15, 12.0), (15, 12.0), (20, 12.0), (12, 12.0), (11, 12.0), (19, 12.0), (10, 12.0), (9, 12.0), (15, 12.0), (21, 12.0), (18, 12.0), (9, 12.0), (35, 12.0), (23, 12.0), (21, 12.0), (15, 12.0), (18, 12.0), (11, 12.0), (11, 12.0), (34, 12.0), (29, 12.0), (23, 12.0), (14, 12.0), (9, 12.0), (15, 12.0), (8, 12.0), (15, 12.0), (35, 12.0), (10, 12.0), (23, 12.0), (25, 12.0), (9, 12.0), (15, 12.0), (16, 12.0), (23, 12.0), (27, 12.0), (11, 12.0), (16, 12.0), (19, 12.0), (22, 12.0), (13, 12.0), (9, 12.0), (20, 12.0), (10, 12.0), (12, 12.0), (10, 12.0), (20, 12.0), (24, 12.0), (19, 12.0), (12, 12.0), (13, 12.0), (12, 12.0), (5, 12.0), (13, 12.0), (8, 12.0), (12, 12.0), (10, 12.0), (17, 12.0), (15, 12.0), (13, 12.0), (15, 12.0), (30, 12.0), (13, 12.0), (20, 12.0), (30, 12.0), (16, 12.0), (28, 12.0), (10, 12.0), (10, 12.0), (27, 12.0), (20, 12.0), (14, 12.0), (14, 12.0), (19, 12.0), (12, 12.0), (15, 12.0), (19, 12.0), (4, 12.0), (24, 12.0), (15, 12.0), (27, 12.0), (27, 12.0), (17, 12.0), (30, 12.0)]\nNumber of Successful Outcomes:  96\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ \n"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial2.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.2\nself.gamma = 0.9\nself.actions = [None, 'forward', 'left', 'right']\nself.q = {}\nself.defaultq = 0.0\n\nSUCCESS: 10/100\n\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \n2016-09-19 19:48:51.916 python[48771:16919169] 19:48:51.916 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.\nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (3, 3), deadline = 30\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', Nuone, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (8, 4), deadline = 45\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'forward', 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (8, 4), deadline = 45\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.12170880000000002, \"(['green', None, None, None, 'possible'], 'right')\": 1.9982513795003838, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.4965361671266266, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 2.2304236387437015}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (7, 4), deadline = 30\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.11302803520705257, \"(['green', None, None, None, 'possible'], None)\": 0.12170880000000002, \"(['green', None, None, None, 'possible'], 'right')\": 3.8305107821787336, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3311085956130976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.8623361968389528, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 3.4222377409236495}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (4, 2), deadline = 35\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.5661051656645739, \"(['green', None, None, None, 'possible'], None)\": 0.7868589807921722, \"(['green', None, None, None, 'possible'], 'right')\": 4.149007740950564, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3311085956130976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.8623361968389528, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 3.677823565798665}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (5, 1), deadline = 25\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.988282711344681, \"(['green', None, None, None, 'possible'], None)\": 0.7868589807921722, \"(['green', None, None, None, 'possible'], 'right')\": 4.966630294699182, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3311085956130976, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.8623361968389528, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 5.217794981611931}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (1, 2), deadline = 30\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.988282711344681, \"(['green', None, None, None, 'possible'], None)\": 0.7868589807921722, \"(['green', None, None, None, 'possible'], 'right')\": 5.071951735029095, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3311085956130976, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.8623361968389528, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 5.217794981611931}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (7, 3), deadline = 45\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.988282711344681, \"(['green', None, None, None, 'possible'], None)\": 1.6408064824407953, \"(['green', None, None, None, 'possible'], 'right')\": 5.886506364513418, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3311085956130976, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.8623361968389528, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 5.678451153969825}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (2, 3), deadline = 20\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.9771700771967514, \"(['green', None, None, None, 'possible'], None)\": 1.57583054573614, \"(['green', None, None, None, 'possible'], 'right')\": 1.4897939211619167, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 0.9651475183055132, \"(['red', None, None, None, 'possible'], 'left')\": 0.16081302995858637, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.0254657268305771, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, None, 'possible'], 'right')\": 1.8644264964411927}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (8, 1), deadline = 45\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 0.9771700771967514, \"(['green', None, None, None, 'possible'], None)\": 1.3959374824731192, \"(['green', None, None, None, 'possible'], 'right')\": 1.9845061221924567, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 1.0824316624400252, \"(['red', None, None, None, 'possible'], 'left')\": 0.16081302995858637, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.0254657268305771, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.633929860220568}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (5, 2), deadline = 35\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.0007957212637626, \"(['green', None, None, None, 'possible'], None)\": 1.477853153854768, \"(['green', None, None, None, 'possible'], 'right')\": 2.73904776869426, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.40065073519823335, \"(['green', None, None, None, 'possible'], 'forward')\": 1.2526980212127619, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 0.16081302995858637, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.0254657268305771, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 3.3799348174426767}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (1, 3), deadline = 25\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.0007957212637626, \"(['green', None, None, None, 'possible'], None)\": 1.477853153854768, \"(['green', None, None, None, 'possible'], 'right')\": 4.456093572636473, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.9508617847470451, \"(['green', None, None, None, 'possible'], 'forward')\": 1.5588784800922326, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 0.6686907608500016, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.0254657268305771, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 4.703986993551068}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (3, 3), deadline = 35\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.0007957212637626, \"(['green', None, None, None, 'possible'], None)\": 1.477853153854768, \"(['green', None, None, None, 'possible'], 'right')\": 4.562181333900981, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.9508617847470451, \"(['green', None, None, None, 'possible'], 'forward')\": 1.5588784800922326, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 1.1912523830918986, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.8124045105876456, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 4.884039497665802}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (7, 6), deadline = 20\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.0007957212637626, \"(['green', None, None, None, 'possible'], None)\": 2.0685126112954704, \"(['green', None, None, None, 'possible'], 'right')\": 5.115941068499571, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.9508617847470451, \"(['green', None, None, None, 'possible'], 'forward')\": 1.5588784800922326, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 1.1912523830918986, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.59935681744053, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 3.9871093609264836}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (8, 4), deadline = 40\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.458653940644342, \"(['green', None, None, None, 'possible'], None)\": 2.0685126112954704, \"(['green', None, None, None, 'possible'], 'right')\": 5.250128767152807, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.9508617847470451, \"(['green', None, None, None, 'possible'], 'forward')\": 3.732086784536609, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 1.6637555148402252, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.937502817585756, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 4.794588641601957}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (8, 5), deadline = 45\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 1.458653940644342, \"(['green', None, None, None, 'possible'], None)\": 2.0685126112954704, \"(['green', None, None, None, 'possible'], 'right')\": 5.934293865222027, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 0.9508617847470451, \"(['green', None, None, None, 'possible'], 'forward')\": 3.732086784536609, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.0569736557337164, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.8975928426787232, \"(['red', None, None, None, 'possible'], 'right')\": 5.336888547405623}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (2, 6), deadline = 20\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 2.4227582045215534, \"(['green', None, None, None, 'possible'], None)\": 3.218136144939088, \"(['green', None, None, None, 'possible'], 'right')\": 4.86031470766642, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 2.0354199574680245, \"(['green', None, None, None, 'possible'], 'forward')\": 3.732086784536609, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.0569736557337164, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['red', None, None, None, 'possible'], 'right')\": 5.118911779528942}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], None)\": 3.530268475735869, \"(['green', None, None, None, 'possible'], 'right')\": 5.309775332136656, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 2.0354199574680245, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.4162941018308692, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['red', None, None, None, 'possible'], 'right')\": 5.392862095799422}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], None)\": 3.530268475735869, \"(['green', None, None, None, 'possible'], 'right')\": 5.006396064641602, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 2.536980334563326, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.6804105732551147, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['red', None, None, None, 'possible'], 'right')\": 5.263196065502328}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], None)\": 3.530268475735869, \"(['green', None, None, None, 'possible'], 'right')\": 5.3524921435037, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 2.536980334563326, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.6804105732551147, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['red', None, None, None, 'possible'], 'right')\": 5.263196065502328}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (1, 2), deadline = 30\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], None)\": 3.827150108814574, \"(['green', None, None, None, 'possible'], 'right')\": 5.526326767493362, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, None, 'possible'], 'left')\": 2.536980334563326, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['red', None, None, None, 'possible'], 'right')\": 5.749201235117987}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (2, 6), deadline = 30\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.8787310734983422, \"(['green', None, None, None, 'possible'], None)\": 3.827150108814574, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.0836258187008463, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.937685852237033, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], 'right')\": 5.267707670427608, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.2759714979301413, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'forward', None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (7, 6), deadline = 20\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.8787310734983422, \"(['green', None, None, None, 'possible'], None)\": 3.827150108814574, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.635684108363343, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.9149850632693095, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], 'right')\": 4.92978517435425, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.6781158359662225, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (1, 1), deadline = 50\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.086338889076547, \"(['green', None, None, None, 'possible'], None)\": 3.827150108814574, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.635684108363343, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.672323217393001, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], 'right')\": 6.300835458196801, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.706029932089622, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.6781158359662225, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (5, 2), deadline = 20\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0579581308478616, \"(['green', None, None, None, 'possible'], None)\": 3.8062994846526297, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.9835646765548196, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.959944291759337, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.601518430856469, \"(['green', None, None, None, 'possible'], 'right')\": 4.826510554391619, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.5926574158737887, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.6781158359662225, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (2, 5), deadline = 20\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2619776693641995, \"(['green', None, None, None, 'possible'], None)\": 3.8062994846526297, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.9835646765548196, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.755101163084899, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.8751219831167667, \"(['green', None, None, None, 'possible'], 'right')\": 4.443725251622375, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.5926574158737887, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.6781158359662225, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (3, 5), deadline = 40\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2619776693641995, \"(['green', None, None, None, 'possible'], None)\": 3.8062994846526297, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.9835646765548196, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.78379699029763, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.8751219831167667, \"(['green', None, None, None, 'possible'], 'right')\": 5.6406602011895135, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.5926574158737887, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.9988967693690336, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (7, 3), deadline = 25\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.482657963390242, \"(['green', None, None, None, 'possible'], None)\": 3.8062994846526297, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 2.9835646765548196, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.9038725804969636, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.8751219831167667, \"(['green', None, None, None, 'possible'], 'right')\": 4.277261335226841, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.5926574158737887, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.922906705857772, \"(['red', None, None, None, 'possible'], None)\": 3.1380011714129465, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, 'right', 'right', 'possible']\naction:  None\nstate2:  ['red', None, 'right', 'right', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.482657963390242, \"(['green', None, None, None, 'possible'], None)\": 3.8062994846526297, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.5578540475498595, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.6176195434544316, \"(['green', None, None, None, 'possible'], 'right')\": 3.929238730682983, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.556137036579798, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.664448571740617, \"(['red', None, None, None, 'possible'], None)\": 2.6696953614564647, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (5, 6), deadline = 30\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.1572978885339915, \"(['green', None, None, None, 'possible'], None)\": 3.510809452067995, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.743819009667038, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.3652671525853433, \"(['green', None, None, None, 'possible'], 'right')\": 3.705973095616206, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.3850142958482023, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.402815101984711, \"(['red', None, None, None, 'possible'], None)\": 2.4624419983071357, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (1, 5), deadline = 45\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.1572978885339915, \"(['green', None, None, None, 'possible'], None)\": 3.525385289828682, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.336247959642664, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.4958015079067817, \"(['green', None, None, None, 'possible'], 'right')\": 4.3022387422822215, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.3850142958482023, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.402815101984711, \"(['red', None, None, None, 'possible'], None)\": 2.4624419983071357, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (8, 3), deadline = 35\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0776445592702824, \"(['green', None, None, None, 'possible'], None)\": 3.1229356986047634, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.9487229081901507, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.511450397546441, \"(['green', None, None, None, 'possible'], 'right')\": 3.0199405051499277, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.108011436678562, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.402815101984711, \"(['red', None, None, None, 'possible'], None)\": 2.566840844713943, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.362115647416226, \"(['green', None, None, None, 'possible'], None)\": 2.771776896617756, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.1590168456119785, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.511450397546441, \"(['green', None, None, None, 'possible'], 'right')\": 2.7538810901873636, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.2000931897447153, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.2578978461470216, \"(['red', None, None, None, 'possible'], None)\": 2.566840844713943, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (8, 1), deadline = 45\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.362115647416226, \"(['green', None, None, None, 'possible'], None)\": 2.7163413586854013, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.307842367223577, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.561493175178441, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.4760167741540488, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.511450397546441, \"(['green', None, None, None, 'possible'], 'right')\": 3.6282258950331454, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.7297169826902135, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.2578978461470216, \"(['red', None, None, None, 'possible'], None)\": 2.566840844713943, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (7, 5), deadline = 30\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.564851284249568, \"(['green', None, None, None, 'possible'], None)\": 3.06171533927453, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.088894664852519, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.4760167741540488, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.511450397546441, \"(['green', None, None, None, 'possible'], 'right')\": 4.185315918615733, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.2668620552391285, \"(['red', None, None, None, 'possible'], None)\": 2.566840844713943, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 3), deadline = 40\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2052378927504863, \"(['green', None, None, None, 'possible'], None)\": 3.244315828586219, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.8803643768138545, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.367037194544593, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.511450397546441, \"(['green', None, None, None, 'possible'], 'right')\": 4.162535403136971, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.224953581772295, \"(['red', None, None, None, 'possible'], None)\": 2.639696450992508, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (5, 2), deadline = 30\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.9660458254110784, \"(['green', None, None, None, 'possible'], None)\": 3.115840921774206, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.971413101687415, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.2612213895955127, \"(['green', None, None, None, 'possible'], 'right')\": 3.7555249037328844, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.224953581772295, \"(['red', None, None, None, 'possible'], None)\": 2.291587889127346, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (2, 6), deadline = 45\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.9660458254110784, \"(['green', None, None, None, 'possible'], None)\": 2.932604548846509, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.506924738034774, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.2612213895955127, \"(['green', None, None, None, 'possible'], 'right')\": 2.920900164285264, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.224953581772295, \"(['red', None, None, None, 'possible'], None)\": 2.291587889127346, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.6256627008521356, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.9520964391462756, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.7756770225675305, \"(['green', None, None, None, 'possible'], 'right')\": 3.107232517779568, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7276454292608372, \"(['red', None, None, None, 'possible'], None)\": 1.9571333986048218, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (2, 2), deadline = 40\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.6256627008521356, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.2068176721003727, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.10778158139028, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.04904164177986753, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.7756770225675305, \"(['green', None, None, None, 'possible'], 'right')\": 4.265736258736054, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.5352182306457336, \"(['red', None, None, None, 'possible'], None)\": 2.191016684180565, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (8, 5), deadline = 40\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.6256627008521356, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.747093528554281, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.990420428855071, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.0185960148394066, \"(['green', None, None, None, 'possible'], 'right')\": 4.990646604277032, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.736962840640356, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.8262289813019694, \"(['red', None, None, None, 'possible'], None)\": 2.191016684180565, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 6), deadline = 40\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0349755997811814, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.747093528554281, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.095114287316173, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.3671869755215598, \"(['green', None, None, None, 'possible'], 'right')\": 5.467444963457616, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.145931931322389, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.3070245847527096, \"(['red', None, None, None, 'possible'], None)\": 2.191016684180565, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (8, 6), deadline = 60\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2946121239028945, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.555015814864685, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.162772284424388, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.3671869755215598, \"(['green', None, None, None, 'possible'], 'right')\": 4.385799843585814, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.145931931322389, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.612251311880117, \"(['red', None, None, None, 'possible'], None)\": 2.191016684180565, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 60, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 59, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 58, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 57, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 56, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (2, 1), deadline = 30\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.31449180381531, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.555015814864685, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.542593070960722, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5535282250586624, \"(['green', None, None, None, 'possible'], 'right')\": 3.652793027217635, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.9337792621638297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.8284274456586043, \"(['red', None, None, None, 'possible'], None)\": 2.6125919919858664, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (7, 5), deadline = 20\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.31449180381531, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.555015814864685, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.409007046300815, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5535282250586624, \"(['green', None, None, None, 'possible'], 'right')\": 3.479737166673283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.3330896539226025, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.8284274456586043, \"(['red', None, None, None, 'possible'], None)\": 2.744455271570911, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (1, 4), deadline = 30\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.1482019677390043, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.555015814864685, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.806831138509467, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.41646049440196115, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5535282250586624, \"(['green', None, None, None, 'possible'], 'right')\": 4.003599064515253, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.180092991472229, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.8284274456586043, \"(['red', None, None, None, 'possible'], None)\": 2.7758507663676624, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (1, 2), deadline = 40\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.210771213362202, \"(['green', None, None, None, 'possible'], None)\": 2.717139191392069, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.259165672342993, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.925583897914157, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5535282250586624, \"(['green', None, None, None, 'possible'], 'right')\": 4.6963098625864035, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.258059173248876, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.8284274456586043, \"(['red', None, None, None, 'possible'], None)\": 2.880885582900593, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.3589492581389804, \"(['green', None, None, None, 'possible'], None)\": 3.0640436405628737, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.129196299352201, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.069001416749194, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.6438469047843385, \"(['green', None, None, None, 'possible'], 'right')\": 4.728657433041565, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.258059173248876, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.863766281264292, \"(['red', None, None, None, 'possible'], None)\": 3.114610007792905, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 6), deadline = 25\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 4.015903189364685, \"(['green', None, None, None, 'possible'], None)\": 3.0640436405628737, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.129196299352201, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.294243736389741, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.6438469047843385, \"(['green', None, None, None, 'possible'], 'right')\": 4.6697568704848145, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.258059173248876, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.863766281264292, \"(['red', None, None, None, 'possible'], None)\": 3.114610007792905, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 1), deadline = 20\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.145344068965495, \"(['green', None, None, None, 'possible'], None)\": 3.2120838264016993, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.129196299352201, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.701678456443452, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.6438469047843385, \"(['green', None, None, None, 'possible'], 'right')\": 4.102595578924694, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.258059173248876, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.863766281264292, \"(['red', None, None, None, 'possible'], None)\": 3.114610007792905, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (8, 1), deadline = 35\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.145344068965495, \"(['green', None, None, None, 'possible'], None)\": 3.2120838264016993, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.0865207816403206, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.6438469047843385, \"(['green', None, None, None, 'possible'], 'right')\": 3.1181334205026197, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.4002563391967016, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.863766281264292, \"(['red', None, None, None, 'possible'], None)\": 3.114610007792905, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (3, 2), deadline = 30\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.949070841037963, \"(['green', None, None, None, 'possible'], None)\": 2.9034693717494173, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.77826060170477, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5562184540143225, \"(['green', None, None, None, 'possible'], 'right')\": 4.45393541415706, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.8554726663603747, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5803905035343684, \"(['red', None, None, None, 'possible'], None)\": 3.052317807637047, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (4, 5), deadline = 25\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.790089424217204, \"(['green', None, None, None, 'possible'], None)\": 2.8513126784140375, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.848091878317346, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.428884619258886, \"(['green', None, None, None, 'possible'], 'right')\": 3.0400881406082396, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.8554726663603747, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5803905035343684, \"(['red', None, None, None, 'possible'], None)\": 2.815360759965418, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.70759381770503, \"(['green', None, None, None, 'possible'], None)\": 2.6836326824218655, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.9319930577702715, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.428884619258886, \"(['green', None, None, None, 'possible'], 'right')\": 2.7258643556297444, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.698363213033167, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5803905035343684, \"(['red', None, None, None, 'possible'], None)\": 2.649795024393372, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (3, 6), deadline = 35\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.70759381770503, \"(['green', None, None, None, 'possible'], None)\": 2.6836326824218655, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.662735554370812, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.428884619258886, \"(['green', None, None, None, 'possible'], 'right')\": 3.4341457238212048, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.698363213033167, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5803905035343684, \"(['red', None, None, None, 'possible'], None)\": 2.649795024393372, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4716270779808487, \"(['green', None, None, None, 'possible'], None)\": 2.629960028773428, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.977750594431885, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.3307520932899783, \"(['green', None, None, None, 'possible'], 'right')\": 3.2152668705663148, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.489827439791674, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.3364267085172954, \"(['red', None, None, None, 'possible'], None)\": 2.3473007332102065, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (1, 3), deadline = 40\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4716270779808487, \"(['green', None, None, None, 'possible'], None)\": 2.4752973394013207, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.977750594431885, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.8424543103956954, \"(['green', None, None, None, 'possible'], 'right')\": 2.4259505755669464, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.1498072851481878, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.8479042108600108, \"(['red', None, None, None, 'possible'], None)\": 2.0793384701107427, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (7, 6), deadline = 20\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.3977408787041368, \"(['green', None, None, None, 'possible'], None)\": 2.4257913926132946, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.0782997049696044, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.6334228483215407, \"(['green', None, None, None, 'possible'], 'right')\": 3.7221883103554787, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.4095221785447656, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6526042933079423, \"(['red', None, None, None, 'possible'], None)\": 1.807739564817786, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (1, 6), deadline = 25\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.9729285464197606, \"(['green', None, None, None, 'possible'], None)\": 2.618010500680196, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.6374213525358408, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.6334228483215407, \"(['green', None, None, None, 'possible'], 'right')\": 3.897453949290795, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 0.6006600649174327, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.499312443048513, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6526042933079423, \"(['red', None, None, None, 'possible'], None)\": 2.1178863520669298, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'left', None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'left', 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0294286576558447, \"(['green', None, None, None, 'possible'], None)\": 2.618010500680196, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.560807146180201, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.6334228483215407, \"(['green', None, None, None, 'possible'], 'right')\": 4.220535910996953, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.6204942435581167, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6526042933079423, \"(['red', None, None, None, 'possible'], None)\": 2.1178863520669298, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (3, 3), deadline = 20\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0294286576558447, \"(['green', None, None, None, 'possible'], None)\": 2.618010500680196, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.751428812060813, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.6334228483215407, \"(['green', None, None, None, 'possible'], 'right')\": 4.812437207280566, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.6204942435581167, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6526042933079423, \"(['red', None, None, None, 'possible'], None)\": 2.1178863520669298, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (1, 3), deadline = 45\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.0294286576558447, \"(['green', None, None, None, 'possible'], None)\": 2.618010500680196, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.8959630219286066, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.982065035489041, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.9859972614264074, \"(['green', None, None, None, 'possible'], 'right')\": 4.233759098317071, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.6204942435581167, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6526042933079423, \"(['red', None, None, None, 'possible'], None)\": 2.1178863520669298, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.868840084502728, \"(['green', None, None, None, 'possible'], None)\": 2.691424594396063, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.081199171481091, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.0455965371077007, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.953226563079332, \"(['green', None, None, None, 'possible'], 'right')\": 2.4765733389980795, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.6204942435581167, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6865121885845598, \"(['red', None, None, None, 'possible'], None)\": 2.25873783559175, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (2, 2), deadline = 25\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.5016114134700405, \"(['green', None, None, None, 'possible'], None)\": 2.5125411181054487, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.081199171481091, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.0666563504870323, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.953226563079332, \"(['green', None, None, None, 'possible'], 'right')\": 2.4765733389980795, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.566755206787142, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.6865121885845598, \"(['red', None, None, None, 'possible'], None)\": 2.432662551729305, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 5), deadline = 40\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.5016114134700405, \"(['green', None, None, None, 'possible'], None)\": 2.518269594490439, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.081199171481091, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.6379408194443275, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.6920953434621682, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.9730013860266529, \"(['green', None, None, None, 'possible'], 'right')\": 2.5988969500468895, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.5488248693327158, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.9923287159256136, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7596298864308353, \"(['red', None, None, None, 'possible'], None)\": 2.432662551729305, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (1, 5), deadline = 55\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.5016114134700405, \"(['green', None, None, None, 'possible'], None)\": 2.518269594490439, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.750197781373379, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.8708785345542374, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.9730013860266529, \"(['green', None, None, None, 'possible'], 'right')\": 3.2548496123303177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.814095496113381, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.1414650610893986, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7596298864308353, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.432662551729305, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 1), deadline = 55\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.5016114134700405, \"(['green', None, None, None, 'possible'], None)\": 2.8005382292934446, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.084338710510572, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.8708785345542374, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 1.9730013860266529, \"(['green', None, None, None, 'possible'], 'right')\": 3.809865773659331, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.761217865619234, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7596298864308353, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.876379255714267, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (7, 2), deadline = 35\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7382066960848617, \"(['green', None, None, None, 'possible'], None)\": 2.8005382292934446, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.1925111346342, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 1.8708785345542374, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 4.951975311151633, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.806497520138356, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7596298864308353, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.9502321350813543, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (4, 4), deadline = 25\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.1111217069199246, \"(['green', None, None, None, 'possible'], None)\": 2.882222742252108, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.8919797225113077, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 2.926870257634197, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.9080656236804368, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7281248577730193, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.833402942532133, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 6), deadline = 30\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.8784455108086098, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 3.2062990845996264, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.273504480501162, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7281248577730193, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (3, 2), deadline = 25\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 3.8755954761879954, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 4.071262381506845, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.273504480501162, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7628607617357444, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.5750356006472083, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\naction:  forward\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 3), deadline = 30\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.833442133057639, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 4.455222665883706, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 4.496362100496333, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.273504480501162, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7628607617357444, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.289108197730227, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.200299537444457, \"(['green', None, None, None, 'possible'], 'right')\": 5.180691294315823, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.1697583490514196, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 1.7628607617357444, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.1329645850051415, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.4841732552564912, \"(['green', None, None, None, 'possible'], 'right')\": 4.175079613353466, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.1697583490514196, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.134222234689521, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 1), deadline = 40\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 2.8117011380384143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.359592339395282, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.4841732552564912, \"(['green', None, None, None, 'possible'], 'right')\": 6.8122056281026016, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 1.905553680842955, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.8141711706354484, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.134222234689521, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.61344065864195, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (7, 5), deadline = 30\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.7887476737247003, \"(['green', None, None, None, 'possible'], None)\": 3.519622468179213, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.970750667308228, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.9594533572963524, \"(['green', None, None, None, 'possible'], 'right')\": 6.726898965628696, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.8141711706354484, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.134222234689521, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.9727066798040216, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.4622619996366675, \"(['green', None, None, None, 'possible'], None)\": 3.519622468179213, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.233241289755122, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.4542012692808512, \"(['green', None, None, None, 'possible'], 'right')\": 5.727893142936496, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.688186412984814, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.672048849948896, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 4.3428364060404965, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (3, 3), deadline = 30\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.4622619996366675, \"(['green', None, None, None, 'possible'], None)\": 3.519622468179213, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.240800056597341, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.727997760513989, \"(['green', None, None, None, 'possible'], 'right')\": 6.447660241981979, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.8718009720139985, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.4222982655946605, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 4.3428364060404965, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (2, 4), deadline = 30\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.4622619996366675, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 5.889522718387907, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.945120316741556, \"(['green', None, None, None, 'possible'], 'right')\": 6.374222740578375, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.8718009720139985, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.5348777812211316, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 4.411404777830692, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 6), deadline = 35\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 4.333152503348989, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 6.343899709129916, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.945120316741556, \"(['green', None, None, None, 'possible'], 'right')\": 6.545550765903401, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.8718009720139985, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.7403047348628884, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 4.411404777830692, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 5), deadline = 30\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 4.333152503348989, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 6.080758166694469, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.945120316741556, \"(['green', None, None, None, 'possible'], 'right')\": 6.101906831926955, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.8718009720139985, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.7403047348628884, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 4.605714069685742, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 4.333152503348989, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.9238407772829254, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.76854421528581, \"(['green', None, None, None, 'possible'], 'right')\": 4.260089792749396, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.363073115188525, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.8468895284952156, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.9983379827278576, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.333285228911585, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.2818272879367147, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.055073770748712, \"(['green', None, None, None, 'possible'], 'right')\": 4.074887996894408, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.614988286707168, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.2985527031668056, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.4016381074891124, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 5), deadline = 20\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.333285228911585, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.2818272879367147, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 3.055073770748712, \"(['green', None, None, None, 'possible'], 'right')\": 4.074887996894408, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.614988286707168, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 3.2985527031668056, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.4016381074891124, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.333285228911585, \"(['green', None, None, None, 'possible'], None)\": 3.963058067847478, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.7470453636090877, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.793972295333738, \"(['green', None, None, None, 'possible'], 'right')\": 4.0077743155470085, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 4.069074156743636, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.9530488959763503, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 5), deadline = 40\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2990615313431224, \"(['green', None, None, None, 'possible'], None)\": 3.8061209683607182, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.360507748600973, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.097377876865445, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.793972295333738, \"(['green', None, None, None, 'possible'], 'right')\": 3.7195431182802627, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.829727490844545, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.9530488959763503, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2990615313431224, \"(['green', None, None, None, 'possible'], None)\": 3.655398578013634, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.661287663381548, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.030593589057872, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.793972295333738, \"(['green', None, None, None, 'possible'], 'right')\": 3.8642492107963653, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.3639133883881764, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.9530488959763503, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 4), deadline = 35\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2990615313431224, \"(['green', None, None, None, 'possible'], None)\": 3.3041907952596725, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.661287663381548, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 2.6639779530180463, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.5380928494270636, \"(['green', None, None, None, 'possible'], 'right')\": 3.7428559982101497, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.641304143564612, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.7264238103614917, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'forward', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (8, 3), deadline = 35\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2990615313431224, \"(['green', None, None, None, 'possible'], None)\": 3.3041907952596725, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.1099712908530055, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.705926721029421, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.288058383650684, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.331183521176502, \"(['green', None, None, None, 'possible'], 'right')\": 3.6539564950486785, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.3303716986675838, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.618457427471177, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (1, 2), deadline = 45\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.4604186947019353, \"(['green', None, None, None, 'possible'], None)\": 3.2381069793544794, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.1099712908530055, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.73433804344434, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 2.6643721299936955, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.064297358934067, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.618457427471177, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.2075530481636068, \"(['green', None, None, None, 'possible'], None)\": 3.17334483976739, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.1099712908530055, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.293328525581276, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 2.6643721299936955, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.0457357705862376, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5599407488927772, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.618457427471177, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (3, 4), deadline = 20\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4660424385308857, \"(['green', None, None, None, 'possible'], None)\": 3.1098779429720427, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.1099712908530055, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.5290969167270556, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 3.3307205036904883, \"(['green', None, None, 'left', 'possible'], 'left')\": 0.9712020711581304, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.075769383317859, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5253518394047525, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.618457427471177, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 1), deadline = 35\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4660424385308857, \"(['green', None, None, None, 'possible'], None)\": 3.173092621059864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 4.1099712908530055, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.500778376578018, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 3.947870734008964, \"(['green', None, None, 'left', 'possible'], 'left')\": 0.9712020711581304, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.075769383317859, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5253518394047525, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.618457427471177, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4660424385308857, \"(['green', None, None, None, 'possible'], None)\": 3.173092621059864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.8204155406479523, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 4.376672835695761, \"(['green', None, None, 'left', 'possible'], 'left')\": 0.9712020711581304, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.075769383317859, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5253518394047525, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.748946973311531, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 3), deadline = 40\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.4660424385308857, \"(['green', None, None, None, 'possible'], None)\": 2.810859922141661, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 2.438501681946808, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 2.8220740138459237, \"(['green', None, None, 'left', 'possible'], 'left')\": 1.8096346821076084, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.638845753951058, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.827963410895382, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5253518394047525, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.5355411617109267, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (4, 1), deadline = 30\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.320103411750516, \"(['green', None, None, None, 'possible'], None)\": 2.8892371611735066, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 3.7890465065144276, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.32644040633361, \"(['green', None, None, None, 'possible'], 'right')\": 3.669749126698023, \"(['green', None, None, 'left', 'possible'], 'left')\": 1.8096346821076084, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.6778415844293955, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.7623920590289632, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.2634514785358695, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.4351337317071744, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (8, 3), deadline = 25\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.320103411750516, \"(['green', None, None, None, 'possible'], None)\": 2.8892371611735066, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 4.6583060593890036, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.391347314821197, \"(['green', None, None, None, 'possible'], 'right')\": 4.358932251839628, \"(['green', None, None, 'left', 'possible'], 'left')\": 1.8096346821076084, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.6778415844293955, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.7623920590289632, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.3646004509887337, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 2.4351337317071744, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 4), deadline = 25\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 2.639004230560811, \"(['green', None, None, None, 'possible'], None)\": 2.8892371611735066, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 5.067036834924602, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.391347314821197, \"(['green', None, None, None, 'possible'], 'right')\": 5.073740182232492, \"(['green', None, None, 'left', 'possible'], 'left')\": 1.8096346821076084, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.6778415844293955, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.7623920590289632, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.3646004509887337, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.14905727616767, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 1), deadline = 30\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 3.423270014735077, \"(['green', None, None, None, 'possible'], None)\": 2.8892371611735066, \"(['green', None, None, 'left', 'possible'], None)\": 0.3257342427793695, \"(['red', 'left', None, None, 'possible'], 'right')\": 3.3469554644861885, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.541901947643385, \"(['red', None, None, None, 'possible'], 'right')\": 5.081914227373403, \"(['red', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'possible'], 'left')\": 0.9530712421972123, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 2.9503239125947585, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": 2.4833633197863865, \"(['green', None, None, None, 'possible'], 'right')\": 4.84808541793615, \"(['green', None, None, 'left', 'possible'], 'left')\": 2.760980978487935, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'forward', None, 'possible'], 'right')\": 0.9646973113884757, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], 'forward')\": -0.2, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], 'forward')\": 2.6778415844293955, \"(['green', 'forward', None, None, 'possible'], 'forward')\": 0.5345960620884033, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.966740586768504, \"(['red', None, None, 'left', 'possible'], 'forward')\": -0.2, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": 2.5591079305812943, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.3600284805177666, \"(['red', None, None, None, 'possible'], None)\": 3.14905727616767, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.2, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted."
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial3.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.5 # Alpha is the learning rate\nself.gamma = 0.5 # gamma is the value of future reward. Learning doesn't work well with high gamma.\nself.actions = [None, 'forward', 'left', 'right']\nself.q = {}\nself.defaultq = 0.0\n\nSUCCESS: 11/100\n\nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (7, 6), deadline = 50\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 6), deadline = 25\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.25}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (3, 4), deadline = 30\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.375, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.75, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.25}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.375, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.75, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.375}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (5, 6), deadline = 20\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.375, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4375}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.3863525390625, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.375, \"(['green', None, None, None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.085235595703125, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.5170516967773438}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 2), deadline = 30\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.3863525390625, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 0.03468299051746726, \"(['green', None, None, None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1724272508872673, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0035999369792989455, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1811056137084961}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (1, 2), deadline = 45\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.3863525390625, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.008789984405838197, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.29459666146861274, \"(['green', None, None, None, 'possible'], 'forward')\": -0.33592886480366957, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.00027030013871590097, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1811056137084961}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (8, 3), deadline = 45\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.29459666146861274, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3404852318195691, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.3863525390625, \"(['green', None, None, None, 'possible'], 'right')\": 0.9050167624837112, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4179644324018348, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.428842702435349e-07, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.24337006845847917, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3404852318195691, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.2678093096837142, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45898221529481864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.0387222731491665e-09, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (1, 1), deadline = 25\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.24337006845847917, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3404852318195691, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45898221529481864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.1480761671751511e-10, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3716850342287282, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.4601213079468199, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45898221529481864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.0456361462315783e-12, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (4, 6), deadline = 35\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.43584251711414834, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.4601213079468199, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45898221529481864, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.63977209082807e-14, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 2), deadline = 50\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.43584251711414834, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.4601213079468199, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4794911076473877, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.1545725747243271e-15, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (2, 5), deadline = 20\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.43584251711414834, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.581204540401242, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4794911076473877, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.509145481478303e-18, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', 'left', 'possible']\naction:  None\nstate2:  ['green', None, 'forward', 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.43584251711414834, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.1552347626744843, \"(['red', None, None, None, 'possible'], 'left')\": -0.875, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6931761088101824, \"(['green', None, None, None, 'possible'], 'right')\": -0.3839046548418571, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.509145481478303e-18, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.589924030695042, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.266849280755891, \"(['red', None, None, None, 'possible'], 'left')\": -0.272432605295992, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.18152065970108322, \"(['green', None, None, None, 'possible'], 'right')\": 0.930249499832623, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.713853601928938, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (6, 4), deadline = 25\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.589924030695042, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.7048076716283456, \"(['red', None, None, None, 'possible'], 'left')\": -0.272432605295992, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.18152065970108322, \"(['green', None, None, None, 'possible'], 'right')\": 1.0416393209353547, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.713853601928938, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (8, 3), deadline = 50\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.589924030695042, \"(['green', None, None, None, 'possible'], None)\": 0.6039887000709946, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.8648730262260771, \"(['red', None, None, None, 'possible'], 'left')\": -0.44813892202015765, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.40268294922270326, \"(['green', None, None, None, 'possible'], 'right')\": 0.8717899110413283, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.564232141883515, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (7, 4), deadline = 20\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 0.0806227592196817, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.029199522631760955, \"(['red', None, None, None, 'possible'], 'left')\": -0.21350074536130112, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6635973891236663, \"(['green', None, None, None, 'possible'], 'right')\": -0.054402580299845876, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.007540094228738322, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 4), deadline = 25\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 0.0034051132029268637, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.7396466122479801, \"(['red', None, None, None, 'possible'], 'left')\": -0.21350074536130112, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6635973891236663, \"(['green', None, None, None, 'possible'], 'right')\": -0.054402580299845876, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0031809772527489795, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (2, 1), deadline = 20\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 0.0001438154193303311, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.1522031551108405, \"(['red', None, None, None, 'possible'], 'left')\": -0.12326855519891793, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6635973891236663, \"(['green', None, None, None, 'possible'], 'right')\": -0.054402580299845876, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0031809772527489795, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, 'right', 'possible']\naction:  None\nstate2:  ['red', 'forward', None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 2.5624956651738826e-06, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.26155983695883456, \"(['red', None, None, None, 'possible'], 'left')\": -0.12326855519891793, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6635973891236663, \"(['green', None, None, None, 'possible'], 'right')\": -0.054402580299845876, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0031809772527489795, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 3), deadline = 25\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 2.565389108155188e-07, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.006653878040901368, \"(['red', None, None, None, 'possible'], 'left')\": -0.12326855519891793, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6822774218411778, \"(['green', None, None, None, 'possible'], 'right')\": 1.4867348806870282, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0013419747785034758, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (2, 3), deadline = 40\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.01761182316585652, \"(['green', None, None, None, 'possible'], None)\": 2.565389108155188e-07, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.006653878040901368, \"(['red', None, None, None, 'possible'], 'left')\": -0.12326855519891793, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.840803217225963, \"(['green', None, None, None, 'possible'], 'right')\": 1.4470555443620072, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.188164911848301e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'right', 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (1, 3), deadline = 35\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.003302136197544936, \"(['green', None, None, None, 'possible'], None)\": 8.126216846866021e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.006653878040901368, \"(['red', None, None, None, 'possible'], 'left')\": -0.12326855519891793, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.920400190050835, \"(['green', None, None, None, 'possible'], 'right')\": 0.16610838193722738, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 3.1953688120079083e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (5, 1), deadline = 35\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.003302136197544936, \"(['green', None, None, None, 'possible'], None)\": 8.126216846866021e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.006653878040901368, \"(['red', None, None, None, 'possible'], 'left')\": -0.5616342523235924, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.920400190050835, \"(['green', None, None, None, 'possible'], 'right')\": 0.16610838193722738, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 1.0110346631743773e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', 'forward', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.0006191476852007438, \"(['green', None, None, None, 'possible'], None)\": 1.0847190090390617e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.006653878040901368, \"(['red', None, None, None, 'possible'], 'left')\": -0.5616342523235924, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 0.15818349833394355, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 7.599893794452607e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (3, 6), deadline = 35\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.06261609013461603, \"(['green', None, None, None, 'possible'], None)\": 4.5761583193835415e-10, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.7569144414717837, \"(['red', None, None, None, 'possible'], 'left')\": -0.5616342523235924, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 0.05018477726464779, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3545949862735386, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 7.608475217499323e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (7, 4), deadline = 25\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.06261609013461603, \"(['green', None, None, None, 'possible'], None)\": 0.24354207943608072, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.739533665980293, \"(['red', None, None, None, 'possible'], 'left')\": -0.31454247196801255, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 1.426372901957431, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48062623762181844, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.24094360128543282, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (1, 3), deadline = 45\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.06261609013461603, \"(['green', None, None, None, 'possible'], None)\": 0.24354207943608072, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.025645969595665674, \"(['red', None, None, None, 'possible'], 'left')\": -0.47238781948893305, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 1.5461393584428287, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48062623762181844, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.07623606134421898, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (4, 5), deadline = 25\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.06261609013461603, \"(['green', None, None, None, 'possible'], None)\": 0.24354207943608072, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.5768545687286784, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 1.147357158408479, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.17122382091610933, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.005724160749199915, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (5, 6), deadline = 20\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.11219649786986362, \"(['green', None, None, None, 'possible'], None)\": 0.1369924196827954, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.5768545687286784, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 0.013219847875328344, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.17122382091610933, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.0001019927986504136, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (7, 2), deadline = 20\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.11219649786986362, \"(['green', None, None, None, 'possible'], None)\": 0.10274431476209656, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.7884253698400168, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9801000448241155, \"(['green', None, None, None, 'possible'], 'right')\": 0.013219847875328344, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.02946535855807303, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.4230698454785845e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (4, 2), deadline = 40\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.10396251302147289, \"(['green', None, None, None, 'possible'], None)\": 0.04334525779025948, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.7884253698400168, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.8879372670624497, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 1.0233868453907842e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.39641905769258723, \"(['green', None, None, None, 'possible'], None)\": 0.0032545650828768816, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.894212678848646, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.0911569832350026, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 1.8255243275163282e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (8, 5), deadline = 50\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.39641905769258723, \"(['green', None, None, None, 'possible'], None)\": 0.00024436799822336454, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.07898648271447675, \"(['red', None, None, None, 'possible'], 'left')\": -0.894212678848646, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.0911569832350026, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.2872307159053686, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 5.782595122692613e-12, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (8, 1), deadline = 50\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.39641905769258723, \"(['green', None, None, None, 'possible'], None)\": 0.00010309274925048192, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.8090123137582226, \"(['red', None, None, None, 'possible'], 'left')\": -0.894212678848646, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 1.0806396714912316, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.39361535795412994, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 5.789124542234229e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (8, 4), deadline = 30\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.39641905769258723, \"(['green', None, None, None, 'possible'], None)\": 0.00010309274925048192, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.9880821532925217, \"(['red', None, None, None, 'possible'], 'left')\": -0.894212678848646, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.6965246747009112, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.549982133022633, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.49331241676220583, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (5, 1), deadline = 35\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.0942846381667296, \"(['green', None, None, None, 'possible'], None)\": 0.2668321029687464, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.3613796602629038, \"(['red', None, None, None, 'possible'], 'left')\": -0.894212678848646, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 1.8182875589228635, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.549982133022633, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.49331241676220583, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (1, 4), deadline = 20\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.12641775120505822, \"(['green', None, None, None, 'possible'], None)\": 0.04749038160747463, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.2808376420512033, \"(['red', None, None, None, 'possible'], 'left')\": -0.9347596034075656, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.1082762020595627, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.549982133022633, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.008789814996304775, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, 'left', None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.12641775120505822, \"(['green', None, None, None, 'possible'], None)\": 0.0015043220455561832, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.3487912441243753, \"(['red', None, None, None, 'possible'], 'left')\": -0.9347596034075656, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.1082762020595627, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2352672129073699, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.008789814996304775, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (2, 4), deadline = 30\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.12641775120505822, \"(['green', None, None, None, 'possible'], None)\": 0.0006346358629690149, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.8116718200189604, \"(['red', None, None, None, 'possible'], 'left')\": -0.7644618466990427, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 1.9908575172635947, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3316974124137704, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.008789814996304775, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (7, 4), deadline = 25\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.12641775120505822, \"(['green', None, None, None, 'possible'], None)\": 2.0102949002511277e-05, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3147058601254217, \"(['red', None, None, None, 'possible'], 'left')\": -0.7644618466990427, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.1143496427620442, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.41545760665047005, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.0004949853760879522, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 8.490507857675228e-07, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3147058601254217, \"(['red', None, None, None, 'possible'], 'left')\": -0.7644618466990427, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.1143496427620442, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.41545760665047005, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 1.5679331019732794e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 6.375071188454495e-08, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3147058601254217, \"(['red', None, None, None, 'possible'], 'left')\": -0.7644618466990427, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.30717473183269706, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.41545760665047005, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 6.622186785108102e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 5), deadline = 35\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 4.7867022019329e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3147058601254217, \"(['red', None, None, None, 'possible'], 'left')\": -0.8822308709669892, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.30717473183269706, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.41545760665047005, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.796889596990454e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (2, 3), deadline = 20\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 6.389476144792025e-10, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.3147058601254217, \"(['red', None, None, None, 'possible'], 'left')\": -0.8822308709669892, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.30717473183269706, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.035212924915643, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 6.652147261392309e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 6.389476144792025e-10, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.1845283818120107, \"(['red', None, None, None, 'possible'], 'left')\": -0.8822308709669892, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.30717473183269706, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 3.1921029388248385, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 3.741832834533174e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (4, 1), deadline = 35\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.1407451191471651, \"(['green', None, None, None, 'possible'], None)\": 6.396690824276807e-11, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.2059301283017267, \"(['red', None, None, None, 'possible'], 'left')\": -0.8822308709669892, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": -0.4035873658658068, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.0009279869869912305, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.4755468187214108, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 3), deadline = 30\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.5617334083624795, \"(['green', None, None, None, 'possible'], None)\": 0.14030199319694117, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.4182898709141316, \"(['red', None, None, None, 'possible'], 'left')\": -0.8822308709669892, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 1.6340170330195762, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2431471840396729, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.4755468187214108, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (8, 6), deadline = 30\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.5617334083624795, \"(['green', None, None, None, 'possible'], None)\": 0.14030199319694117, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.4010135214842196, \"(['red', None, None, None, 'possible'], 'left')\": -0.7572934223861949, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 2.383450447254688, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2431471840396729, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.2674950855307936, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (5, 2), deadline = 20\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.5617334083624795, \"(['green', None, None, None, 'possible'], None)\": 0.14030199319694117, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.296369372555782, \"(['red', None, None, None, 'possible'], 'left')\": -0.7572934223861949, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 2.383450447254688, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2431471840396729, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.2674950855307936, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (1, 1), deadline = 40\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.5617334083624795, \"(['green', None, None, None, 'possible'], None)\": 0.4995102063091069, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.7132104648028448, \"(['red', None, None, None, 'possible'], 'left')\": -0.42819680211511957, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 1.4344230244806386, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2431471840396729, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.2674950855307936, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (1, 3), deadline = 35\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.17130005627185965, \"(['green', None, None, None, 'possible'], None)\": 0.37463265473183016, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.060359250818479, \"(['red', None, None, None, 'possible'], 'left')\": -0.42819680211511957, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.4007092534180585, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2431471840396729, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.2674950855307936, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 1), deadline = 25\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.17130005627185965, \"(['green', None, None, None, 'possible'], None)\": 0.37463265473183016, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.060359250818479, \"(['red', None, None, None, 'possible'], 'left')\": -0.42819680211511957, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.05053194006354389, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.38666340472445615, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.2674950855307936, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (6, 6), deadline = 30\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.6632514701654847, \"(['green', None, None, None, 'possible'], None)\": 0.15804815121499086, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.1472022665008823, \"(['red', None, None, None, 'possible'], 'left')\": -0.42819680211511957, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.05053194006354389, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.08463711690622766, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (3, 6), deadline = 30\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 1.3740780602453726, \"(['green', None, None, None, 'possible'], None)\": 0.15804815121499086, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.0078578460252812, \"(['red', None, None, None, 'possible'], 'left')\": -0.35165598539518533, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.05053194006354389, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.08463711690622766, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 6), deadline = 30\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 1.3740780602453726, \"(['green', None, None, None, 'possible'], None)\": 0.15804815121499086, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.8474484380739837, \"(['red', None, None, None, 'possible'], 'left')\": -0.35165598539518533, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9900496816678608, \"(['green', None, None, None, 'possible'], 'right')\": 0.05053194006354389, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.08463711690622766, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 2), deadline = 35\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.05000742284536821, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.35165598539518533, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9824060917396855, \"(['green', None, None, None, 'possible'], 'right')\": 0.08537949043924192, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.02129413909653824, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (8, 2), deadline = 45\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.1529126843774158, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.8368826305323978, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 0.13372691886419508, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.00012005018334624563, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 6), deadline = 45\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.11468451328306184, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.9184390617836102, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.4629219665130102, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 3.807045746988292e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (1, 2), deadline = 40\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.3422538272108968, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.9184390617836102, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.8943306215793583, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.23000122322832894, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.864967371830926e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (3, 4), deadline = 25\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.10143832735239079, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.9184390617836102, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 0.11384127285922088, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.33654029339935926, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 5.104783969178345e-12, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.0760787455142931, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.13521089444123904, \"(['red', None, None, None, 'possible'], 'left')\": -0.9592195308917513, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.8008320138341476, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4182701466996257, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 1.2127570051092398e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 3), deadline = 25\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.04239714126379207, \"(['green', None, None, None, 'possible'], None)\": 0.0760787455142931, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.588853660518184, \"(['red', None, None, None, 'possible'], 'left')\": -0.9796097654458529, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.3884128771886062, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.7908649266501903, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.12087522061051764, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (2, 3), deadline = 45\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.19740251068119027, \"(['green', None, None, None, 'possible'], None)\": 0.0760787455142931, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.8214293061535232, \"(['red', None, None, None, 'possible'], 'left')\": -0.9796097654458529, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.704815760197177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.7908649266501903, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.12087522061051764, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.14516024848156567, \"(['green', None, None, None, 'possible'], None)\": 0.49599081291223807, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.1294533605069808, \"(['red', None, None, None, 'possible'], 'left')\": -0.5597693511107267, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.2567105226042858, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.2437036288672942, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.016895092347891365, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.14516024848156567, \"(['green', None, None, None, 'possible'], None)\": 0.49599081291223807, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.9957380982617616, \"(['red', None, None, None, 'possible'], 'left')\": -0.5597693511107267, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 0.9034608833671222, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5667699330720068, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.016895092347891365, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.6872062636524745, \"(['green', None, None, None, 'possible'], None)\": 0.486274806371089, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.7745066890746304, \"(['red', None, None, None, 'possible'], 'left')\": -0.5597693511107267, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 2.667371778270545, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5667699330720068, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.016895092347891365, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (2, 2), deadline = 25\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 1.5154046977393558, \"(['green', None, None, None, 'possible'], None)\": 0.486274806371089, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.0470175803862913, \"(['red', None, None, None, 'possible'], 'left')\": -0.5597693511107267, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 0.5800019971436979, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5667699330720068, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.016895092347891365, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (5, 1), deadline = 40\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.4149151424783877, \"(['green', None, None, None, 'possible'], None)\": 0.486274806371089, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.7660723259657136, \"(['red', None, None, None, 'possible'], 'left')\": -0.5597693511107267, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9954590902814062, \"(['green', None, None, None, 'possible'], 'right')\": 1.6459337143087942, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.17507744980400514, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.6653473355395998, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.06118635685879076, \"(['green', None, None, None, 'possible'], None)\": 0.3647061047783168, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.6135478416704634, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8313927112558032, \"(['green', None, None, None, 'possible'], 'right')\": 0.28687062185076634, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.17507744980400514, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.02107577641883495, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": 0.017505375627878794, \"(['green', None, None, None, 'possible'], None)\": 0.015403411947051162, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.6135478416704634, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9153996428665576, \"(['green', None, None, None, 'possible'], 'right')\": -0.03484703361192523, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.11869191264699616, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.0005007027847678392, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (2, 4), deadline = 20\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.24121760740659318, \"(['green', None, None, None, 'possible'], None)\": 0.0008674202652563326, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.8067442160557643, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9153996428665576, \"(['green', None, None, None, 'possible'], 'right')\": -0.03484703361192523, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.11869191264699616, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 8.921496189230108e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (7, 6), deadline = 55\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.24121760740659318, \"(['green', None, None, None, 'possible'], None)\": 6.51299784890762e-05, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.8067442160557643, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9576992921550624, \"(['green', None, None, None, 'possible'], 'right')\": -0.03484703361192523, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5299998176964799, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.11869191264699616, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 3.768006051620355e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (5, 5), deadline = 30\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.24121760740659318, \"(['green', None, None, None, 'possible'], None)\": 8.713446976423377e-08, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.9516860385801096, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.989424795561805, \"(['green', None, None, None, 'possible'], 'right')\": -0.47092778527937074, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.015001538936240677, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.11869191264699616, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 6.721394499491627e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 1.1644180893351347e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.1341928442310494, \"(['red', None, None, None, 'possible'], 'left')\": -0.9516860385801096, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9947123977682857, \"(['green', None, None, None, 'possible'], 'right')\": -0.47092778527937074, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.015001538936240677, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.8387901101146784e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (8, 3), deadline = 20\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 6.557247520175015e-11, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.025161158253621918, \"(['red', None, None, None, 'possible'], 'left')\": -0.9879215096428199, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9947123977682857, \"(['green', None, None, None, 'possible'], 'right')\": -0.47092778527937074, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.015001538936240677, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.8419955310764163e-12, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (7, 1), deadline = 45\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 2.0770968075807875e-12, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.025161158253621918, \"(['red', None, None, None, 'possible'], 'left')\": -0.9879215096428199, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9947123977682857, \"(['green', None, None, None, 'possible'], 'right')\": -0.47092778527937074, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.015001538936240677, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 2.1339034285803645e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (1, 1), deadline = 25\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 6.572064117736085e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.0515165533396655, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.9879215096428199, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9947123977682857, \"(['green', None, None, None, 'possible'], 'right')\": 0.23429256962646583, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.015001538936240677, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.4083033018465847, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.060098535958138244, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.48108161648649356, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9399385470619669, \"(['green', None, None, None, 'possible'], 'right')\": 1.120274852058537, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.09689228744992194, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (1, 4), deadline = 20\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 2.933319198832078, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": 0.20219338006478738, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9399385470619669, \"(['green', None, None, None, 'possible'], 'right')\": 2.6532626925962193, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30934595625260836, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (4, 6), deadline = 30\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.4418235107987685, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": 0.20219338006478738, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9399385470619669, \"(['green', None, None, None, 'possible'], 'right')\": 2.25239384813646, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14924493610230985, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (1, 5), deadline = 45\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.4418235107987685, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": 0.20219338006478738, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9399385470619669, \"(['green', None, None, None, 'possible'], 'right')\": 2.4866528017679217, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14924493610230985, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.3706088035352617, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.6242723434739683, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.01922247041321895, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9399385470619669, \"(['green', None, None, None, 'possible'], 'right')\": 1.8744127343564327, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14924493610230985, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.25842005931411666, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.689125438908916, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.08314117717432663, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 0.6381104656033227, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.26589273885164955, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (4, 5), deadline = 25\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.25842005931411666, \"(['green', None, None, None, 'possible'], None)\": 3.6967860662265476e-13, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.7173968675866806, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.08314117717432663, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 0.4913365925288904, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.26589273885164955, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 1), deadline = 45\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.007018519333720469, \"(['green', None, None, None, 'possible'], None)\": 0.12283414813240744, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 1.6672318367485555, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.08314117717432663, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 2.4085770136714237, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.05058044586126284, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (3, 3), deadline = 20\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.007018519333720469, \"(['green', 'left', None, None, 'possible'], 'left')\": 0.4550060848284807, \"(['green', None, None, None, 'possible'], None)\": 0.12283414813240744, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.06234104591446882, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.08314117717432663, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 1.8650182544854421, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.05058044586126284, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.05450191169058109, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.007018519333720469, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 0.12283414813240744, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.06234104591446882, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.5383371988066918, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 0.7841156505372154, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.05058044586126284, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.004092258940909224, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (6, 5), deadline = 45\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.007018519333720469, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 0.12283414813240744, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": 0.9110085381641957, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.5383371988066918, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.4057627543430874, \"(['green', None, None, None, 'possible'], 'right')\": 0.5720177182123385, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.05058044586126284, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.0003072659787518168, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 5), deadline = 20\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.11050483011377561, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 0.03886549218251954, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.08628752155462681, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.35902663752337693, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.5467869423069334, \"(['green', None, None, None, 'possible'], 'right')\": -0.06684001256458488, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.15837905949133418, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.17144968050557413, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (3, 4), deadline = 25\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.11050483011377561, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 0.0029182032876149443, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.08628752155462681, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.5467869423069334, \"(['green', None, None, None, 'possible'], 'right')\": -0.06684001256458488, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.15837905949133418, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 0.00965493410508504, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (7, 1), deadline = 30\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.13820227662952, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 0.0005193774894217027, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.08628752155462681, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.5467869423069334, \"(['green', None, None, None, 'possible'], 'right')\": -0.06684001256458488, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.32886733521307704, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 9.676750160171194e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (5, 1), deadline = 25\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.13820227662952, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 6.9406808294407054e-06, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.08628752155462681, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.5467869423069334, \"(['green', None, None, None, 'possible'], 'right')\": -0.06684001256458488, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.32886733521307704, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 9.69861551028664e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (1, 3), deadline = 25\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.13820227662952, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 1.6489158693010202e-07, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.29314358706436583, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7733933944359026, \"(['green', None, None, None, 'possible'], 'right')\": -0.2834199085687594, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4144335908889744, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 7.282175029333951e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (2, 2), deadline = 40\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.31910112010932246, \"(['green', 'left', None, None, 'possible'], 'left')\": 1.7120673863495746, \"(['green', None, None, None, 'possible'], None)\": 2.938029723791343e-09, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.29314358706436583, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8866966953953519, \"(['green', None, None, None, 'possible'], 'right')\": -0.2834199085687594, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4144335908889744, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 5.467798275084691e-09, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 4), deadline = 25\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'left')\": -0.25, \"(['green', None, None, None, 'possible'], 'left')\": -0.31910112010932246, \"(['green', 'left', None, None, 'possible'], 'left')\": 0.6060336931922372, \"(['green', None, None, None, 'possible'], None)\": 1.6563759888053423e-11, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.5, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.24993242496532103, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.2499993227227441, \"(['red', None, None, None, 'possible'], 'right')\": -0.05496442238937263, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.5, \"(['red', None, None, None, 'possible'], 'left')\": -0.6554032074405921, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.2499999999994886, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', None, 'forward', 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9433483472651646, \"(['green', None, None, None, 'possible'], 'right')\": -0.2834199085687594, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.08744996255281054, \"(['red', 'forward', None, 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45721679544448723, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], 'left')\": -0.002201477387843487, \"(['red', None, None, None, 'possible'], None)\": 4.110114884653337e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.5, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.5, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted."
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial4.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.7 # Alpha is the learning rate\nself.gamma = 0.4 # gamma is the value of future reward. Learning doesn't work well with high gamma.\nself.actions = [None, 'forward', 'left', 'right']\nself.q = {}\nself.defaultq = 0.0\n\nSUCCESS: 1/100\n\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 4), deadline = 35\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.1904, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.19600000000000006}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 1), deadline = 20\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.72797088, \"(['green', None, None, None, 'possible'], 'right')\": -0.35, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.06696014729599992}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 5), deadline = 25\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.72797088, \"(['green', None, None, None, 'possible'], 'right')\": -0.35, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.3799119558111999}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', 'forward', None, 'possible']\naction:  None\nstate2:  ['green', 'left', 'forward', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', 'forward', None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (2, 3), deadline = 25\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.72797088, \"(['green', None, None, None, 'possible'], 'right')\": -0.45499999999999996, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.586624652372864, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.8448607145804663}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (5, 6), deadline = 35\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.72797088, \"(['green', None, None, None, 'possible'], 'right')\": -0.45499999999999996, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6394263956293286, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (5, 3), deadline = 30\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.918391264, \"(['green', None, None, None, 'possible'], 'right')\": -0.49595, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8918279186887985, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (2, 5), deadline = 35\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.918391264, \"(['green', None, None, None, 'possible'], 'right')\": -0.49595, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8918279186887985, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 6), deadline = 40\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.918391264, \"(['green', None, None, None, 'possible'], 'right')\": -0.49595, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8918279186887985, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (4, 4), deadline = 25\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.99265521376, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9675483756066395, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (8, 2), deadline = 25\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.997796564128, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9675483756066395, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9902645126819918, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (1, 4), deadline = 20\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": 2.190158726, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9902645126819918, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (2, 4), deadline = 20\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], 'forward')\": 1.9901084386197132, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2890072991016085}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.469169108844056, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.20672113168016976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.45886214734490643, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.1743191575512477}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (5, 1), deadline = 25\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.469169108844056, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.4996355, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.20672113168016976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0019767974346308085, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1704903131859783}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.469169108844056, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.23744464353749484, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.20672113168016976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.516126510269062e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1704903131859783}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', 'right', None, 'possible']\naction:  None\nstate2:  ['red', 'right', 'right', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'right', 'right': 'right', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (5, 6), deadline = 25\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.45499999999999996, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.469169108844056, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9993389692384, \"(['green', None, None, None, 'possible'], 'right')\": -0.23744464353749484, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.20672113168016976, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.0906014052055501e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1704903131859783}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (2, 6), deadline = 30\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.469169108844056, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998016900972715, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.034337525790308805, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.3776788137954935, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.3488529061205077}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (3, 6), deadline = 20\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998016900972715, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.034337525790308805, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.12705115296080405, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.7168972756697154}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (6, 2), deadline = 30\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9970793538045976, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998016900972715, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0083390884128027, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.07537935678387109}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (6, 1), deadline = 35\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48007268454953134, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998016900972715, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.10132834016159048, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.23044680301078016}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (3, 1), deadline = 25\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48007268454953134, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998993897013385, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.8651728821786987e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.23044680301078016}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (2, 4), deadline = 30\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48007268454953134, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998993897013385, \"(['green', None, None, None, 'possible'], 'right')\": -0.33541100504407034, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.01418603865401167, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.10529651422466976}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 1), deadline = 30\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4865, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8426855940119607, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9998993897013385, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.00010536905398941063, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4987847808592951, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8426855940119607, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999691654814333, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1595700205495723, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.856803252805897e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 1), deadline = 55\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4987847808592951, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8426855940119607, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999691654814333, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3978710061648717, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.2835503811727418e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['red', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 2), deadline = 25\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.34246718908216933, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8426855940119607, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49080839055482284, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.5635535469211497e-16, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (7, 6), deadline = 25\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4527401567246508, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9528056782035882, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49080839055482284, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 7.622627002217851e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (3, 5), deadline = 30\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4527401567246508, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9528056782035882, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.44665121069009783, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49080839055482284, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.9046386725046665e-22, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1712545935733753}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4527401567246508, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9528056782035882, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.48399536320702935, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49080839055482284, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.385580249421457e-26, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (1, 2), deadline = 30\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.48582204701739523, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.995752511038323, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 0.15772263585915536, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.48399536320702935, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49724251716644685, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.896940035805932e-28, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.48582204701739523, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.995752511038323, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.49519860896210877, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49975182654498024, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.723313853651719e-30, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.34211719526946965, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.995752511038323, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.49519860896210877, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49975182654498024, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.401489504474354e-34, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4526351585808409, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9987257533114968, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.09075073265321687, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.49855958268863265, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49975182654498024, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.24033969439441e-36, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4526351585808409, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9987257533114968, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.49855958268863265, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49975182654498024, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.442802545389568e-40, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4013763780720126}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4857905475742523, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9987257533114968, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.08520638992548091, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49975182654498024, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 4.40895903709218e-42, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.08435422136675236}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4857905475742523, \"(['green', None, None, None, 'possible'], None)\": 0.5597777594118032, \"(['red', None, None, None, 'possible'], 'left')\": -0.9996177259934491, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.08520638992548091, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.24992856552522258, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 7.230760233424776e-46, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.08435422136675236}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4857905475742523, \"(['green', None, None, None, 'possible'], None)\": 0.0024115461368332844, \"(['red', None, None, None, 'possible'], 'left')\": -0.9996177259934491, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.08520638992548091, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1182836577071283, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.1150419276403266e-48, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.08435422136675236}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (2, 3), deadline = 20\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4956054182271177, \"(['green', None, None, None, 'possible'], None)\": 0.0002729025221128932, \"(['red', None, None, None, 'possible'], 'left')\": -0.9996177259934491, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": 2.263158253732896, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.46564552919364155, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.877963257490507e-50, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3753062664100257}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (7, 2), deadline = 40\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4956054182271177, \"(['green', None, None, None, 'possible'], None)\": 1.7912141739306714e-05, \"(['red', None, None, None, 'possible'], 'left')\": -0.9996177259934491, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.46564552919364155, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 9.96771872294579e-53, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3753062664100257}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4956054182271177, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 5.731646466736148e-10, \"(['red', None, None, None, 'possible'], 'left')\": -0.9998853177980347, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 9.481382444477726e-57, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3753062664100257}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (1, 2), deadline = 30\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4956054182271177, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 4.817739473643165e-13, \"(['red', None, None, None, 'possible'], 'left')\": -0.9998853177980347, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.369079277695844e-59, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4625918799230077}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (6, 5), deadline = 25\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49960448764044063, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.0755024329908062e-15, \"(['red', None, None, None, 'possible'], 'left')\": -0.9998853177980347, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.7596712401889244e-61, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.12872477252182102}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (7, 2), deadline = 20\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49960448764044063, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 3.0078707440478873e-18, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999655953394104, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.4790929000407015e-64, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.12872477252182102}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (7, 6), deadline = 35\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49960448764044063, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 6.641330980900593e-20, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999655953394104, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.20087894174654283, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.8858877391274137e-65, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.12872477252182102}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (8, 1), deadline = 55\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 1.2500355961123601, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.6594457290703341e-22, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999896786018232, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.41026368252396284, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.7450820099395565e-69, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (1, 4), deadline = 40\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 4.692269600782292e-26, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999969035805469, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.18053314325209546, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.765369803604203e-75, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (8, 3), deadline = 35\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.287572499901906e-29, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 9.455294629905105e-79, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (2, 1), deadline = 25\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 4.245557608815765e-34, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.5506827763662722e-82, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 3.153455307778645e-36, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.4473167907577464, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.42388301911231e-84, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (1, 3), deadline = 25\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 4.038412047741681e-38, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.543143463043143e-86, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (2, 4), deadline = 30\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0441929164313975, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.0090636416290098e-40, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.48969365875809245, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 7.191024420395349e-90, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.3886174317565463}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.06602263752117432, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 9.598302844439213e-45, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999907496444299, \"(['green', None, None, None, 'possible'], 'right')\": -0.23349259412207177, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4969080976274277, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.0979235722226804e-92, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4665852295269639}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.06602263752117432, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 9.598302844439213e-45, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999997213222492, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999991674679987, \"(['green', None, None, None, 'possible'], 'right')\": 2.370234891367809, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.025278271213531545, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.334598507566367e-94, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4665852295269639}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31170687023771887, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.08619155745885e-45, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999991674679987, \"(['green', None, None, None, 'possible'], 'right')\": -0.20529508568878985, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45272495559078213, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.08064202542253e-96, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4899755688580892}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (8, 6), deadline = 45\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31170687023771887, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 8.067860214687769e-48, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.7, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999991674679987, \"(['green', None, None, None, 'possible'], 'right')\": -0.20529508568878985, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.45272495559078213, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.7737275143136995e-98, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.34222934035916835}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (8, 6), deadline = 50\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31170687023771887, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 0.2286758762338716, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999997502403997, \"(['green', None, None, None, 'possible'], 'right')\": 0.19616755288831722, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.18058272314902246, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.4366087248724165e-99, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.34222934035916835}\nself.state:['green', None, 'left', None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 2), deadline = 25\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.38858514626258683, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.2616074241509134e-05, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999932564908, \"(['green', None, None, None, 'possible'], 'right')\": -0.2911497341335048, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.43454495206334387, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.5464161069256397e-104, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.34222934035916835}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (3, 5), deadline = 35\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.38858514626258683, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.8283534633630352e-08, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999932564908, \"(['green', None, None, None, 'possible'], 'right')\": -0.2911497341335048, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4803634767924692, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.2411054269126295e-107, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.34222934035916835}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (8, 5), deadline = 25\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.38858514626258683, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.5368237910933578e-11, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999932564908, \"(['green', None, None, None, 'possible'], 'right')\": -0.43734491727080543, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4803634767924692, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.2364204267905547e-111, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4526688011088962}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['green', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['green', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['green', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['green', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, 'left', 'forward', 'possible']\naction:  None\nstate2:  ['green', None, 'left', 'forward', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.38858514626258683, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.1415002663208837e-13, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999932564908, \"(['green', None, None, None, 'possible'], 'right')\": -0.48120347518120965, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4803634767924692, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.0893997038748344e-114, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4526688011088962}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, 'left', None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.17790257149081046, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 6.620701544661126e-14, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999999749190025, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": 1.834195037227324, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999932564908, \"(['green', None, None, None, 'possible'], 'right')\": 0.9383753677419817, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3784167550381104, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.35397582070685274, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": 2.7349903818370005}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.21904133021093333, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 0.07325024306754857, \"(['red', None, None, None, 'possible'], 'left')\": -0.9008867626777819, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4505631624817261, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6538375599666183, \"(['green', None, None, None, 'possible'], 'right')\": 0.12968173901643648, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.11907746608578526, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (7, 1), deadline = 30\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.21904133021093333, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 0.0005440778081017927, \"(['red', None, None, None, 'possible'], 'left')\": -0.9008867626777819, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6538375599666183, \"(['green', None, None, None, 'possible'], 'right')\": -0.2747845913704668, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.367049397665672e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 2), deadline = 45\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4157117427684559, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.3439100861086016e-06, \"(['red', None, None, None, 'possible'], 'left')\": -0.9008867626777819, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6538375599666183, \"(['green', None, None, None, 'possible'], 'right')\": -0.10977104018352868, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.641501930457519e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4747135179558028, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 3.844048379395947e-10, \"(['red', None, None, None, 'possible'], 'left')\": -0.9702660287018511, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8961512679892317, \"(['green', None, None, None, 'possible'], 'right')\": -0.3718793726019625, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.252587254376849e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (7, 5), deadline = 20\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4747135179558028, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 5.570892365772035e-13, \"(['red', None, None, None, 'possible'], 'left')\": -0.9702660287018511, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8961512679892317, \"(['green', None, None, None, 'possible'], 'right')\": -0.3718793726019625, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.726625107882718e-15, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4747135179558028, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.3999638673583775e-15, \"(['red', None, None, None, 'possible'], 'left')\": -0.991079808610555, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8961512679892317, \"(['green', None, None, None, 'possible'], 'right')\": -0.3718793726019625, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.897858394711047e-17, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.12175239166331248}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (1, 4), deadline = 35\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4747135179558028, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.017291318680008e-18, \"(['red', None, None, None, 'possible'], 'left')\": -0.991079808610555, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8961512679892317, \"(['green', None, None, None, 'possible'], 'right')\": -0.3718793726019625, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16775687912155604, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.3969595519190254, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": 2.0666820072639656}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 4), deadline = 25\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4747135179558028, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 9.834686702856708e-22, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9646140956791349, \"(['green', None, None, None, 'possible'], 'right')\": -0.25602208777976115, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4003270637364668, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.008764804057957447, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.24053251837896206}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (8, 2), deadline = 40\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49240348282625057, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.780868373133548e-25, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9646140956791349, \"(['green', None, None, None, 'possible'], 'right')\": -0.25602208777976115, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4003270637364668, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.775914460817055e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.24053251837896206}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 6), deadline = 50\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49240348282625057, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.5342082614537257e-29, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9646140956791349, \"(['green', None, None, None, 'possible'], 'right')\": -0.25602208777976115, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4003270637364668, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 7.007805160294048e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.24053251837896206}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (2, 2), deadline = 35\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49240348282625057, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 5.555564178359135e-35, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9968152686111194, \"(['green', None, None, None, 'possible'], 'right')\": -0.42680662633392835, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4003270637364668, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.5376158045557612e-15, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": 1.327840244486312}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 2), deadline = 35\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49925230783611735, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 3.0650111101341365e-39, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9968152686111194, \"(['green', None, None, None, 'possible'], 'right')\": -0.42680662633392835, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4003270637364668, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0001325830663650686, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.2931483133988695}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 5), deadline = 30\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49925230783611735, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.5762972468985423e-42, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9990443048444397, \"(['green', None, None, None, 'possible'], 'right')\": -0.4780419879001785, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2858193701700782, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.9214274102342905e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4379436743439889}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (3, 5), deadline = 20\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49925230783611735, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.1098796921872502e-44, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9997132879221347, \"(['green', None, None, None, 'possible'], 'right')\": -0.263406137323823, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2858193701700782, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.6150571626754586e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4379436743439889}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23746097046239256, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 8.243807595629059e-47, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.835196974125949, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9997132879221347, \"(['green', None, None, None, 'possible'], 'right')\": -0.4290218411971469, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.43574581104590593, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.5660206448788697e-12, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4379436743439889}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (4, 4), deadline = 25\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23746097046239256, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 6.123218953562546e-49, \"(['red', None, None, None, 'possible'], 'left')\": -0.9791119869259927, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9997132879221347, \"(['green', None, None, None, 'possible'], 'right')\": -0.4290218411971469, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.43574581104590593, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.910288835082909e-15, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4379436743439889}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (6, 2), deadline = 25\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23746097046239256, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 8.873924143408554e-52, \"(['red', None, None, None, 'possible'], 'left')\": -0.9937335960777978, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999139863766403, \"(['green', None, None, None, 'possible'], 'right')\": -0.4290218411971469, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.43574581104590593, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.2913016473530256e-17, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4379436743439889}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (6, 4), deadline = 30\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23746097046239256, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.286031584043777e-54, \"(['red', None, None, None, 'possible'], 'left')\": -0.9937335960777978, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999741959129921, \"(['green', None, None, None, 'possible'], 'right')\": -0.4290218411971469, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.43574581104590593, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.2265294559237394e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4813831023031967}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (3, 6), deadline = 30\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23746097046239256, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.8637495750813094e-57, \"(['red', None, None, None, 'possible'], 'left')\": -0.9937335960777978, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999741959129921, \"(['green', None, None, None, 'possible'], 'right')\": -0.4290218411971469, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1558424498462287, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.7120616061876517e-23, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4813831023031967}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.42123829113871775, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.7009931340049575e-60, \"(['red', None, None, None, 'possible'], 'left')\": -0.9937335960777978, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999976776321693, \"(['green', None, None, None, 'possible'], 'right')\": 1.2712934476408557, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1558424498462287, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.3221826698364335e-26, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4813831023031967}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (5, 1), deadline = 25\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.42123829113871775, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.006205525751288e-62, \"(['red', None, None, None, 'possible'], 'left')\": -0.9981200788233393, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999976776321693, \"(['green', None, None, None, 'possible'], 'right')\": -0.05838458535595059, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4690258204861606, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.9161406451147007e-29, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.494414930690959}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (6, 6), deadline = 25\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.47637148734161533, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 4.4296700377141824e-64, \"(['red', None, None, None, 'possible'], 'left')\": -0.9981200788233393, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.35, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999993032896508, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4690258204861606, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.4181033717397306e-33, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.494414930690959}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 6), deadline = 40\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.47637148734161533, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.1068258827056422e-66, \"(['red', None, None, None, 'possible'], 'left')\": -0.9981200788233393, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999993032896508, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4690258204861606, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 4.5541906043576774e-36, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.494414930690959}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.47637148734161533, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.0541832218024435e-71, \"(['red', None, None, None, 'possible'], 'left')\": -0.9981200788233393, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999997909868952, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49070774614584817, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.5125521642605774e-40, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (3, 1), deadline = 45\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.47637148734161533, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.5257771960252904e-73, \"(['red', None, None, None, 'possible'], 'left')\": -0.9981200788233393, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999372960686, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49070774614584817, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.278024646022451e-43, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (8, 3), deadline = 40\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.47637148734161533, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.8317244521083083e-78, \"(['red', None, None, None, 'possible'], 'left')\": -0.9994360236470018, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9505590922377973, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999811888206, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49070774614584817, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.1651528117861388e-47, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (5, 3), deadline = 25\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4929114462024846, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 8.007019652196491e-82, \"(['red', None, None, None, 'possible'], 'left')\": -0.9994360236470018, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9851677276713393, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999811888206, \"(['green', None, None, None, 'possible'], 'right')\": -0.46025461268203555, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.49070774614584817, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.2542114244334698e-52, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4929114462024846, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.0254036120369995e-83, \"(['red', None, None, None, 'possible'], 'left')\": -0.9998308070941005, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9851677276713393, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999811888206, \"(['green', None, None, None, 'possible'], 'right')\": -0.34142687454241494, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.33501494434881324, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 3.1338534363259645e-55, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, 'right', None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (2, 1), deadline = 35\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4929114462024846, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 0.6030380719113257, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999492421282301, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.9851677276713393, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999943566462, \"(['green', None, None, None, 'possible'], 'right')\": -0.34142687454241494, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.1865071692534643, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 6.919498770836165e-57, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.4929114462024846, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 9.889916583333405e-05, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999492421282301, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4736650954904205, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": -0.34142687454241494, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3943982809918794, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.816189564299131e-60, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.49832447920728773}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (4, 2), deadline = 35\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.49786411835051725, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.0645853694071086e-09, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999492421282301, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4736650954904205, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": -0.34142687454241494, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3943982809918794, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.8355052956226017e-63, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.34245417617596874}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 2), deadline = 35\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 0.07001994966069766, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999954317915407, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4736650954904205, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": 2.2840295556758856, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.12184267451770042, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 8.017710412838222e-67, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.33682662302952576}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (6, 4), deadline = 30\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 3.413608443590355e-05, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999954317915407, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4736650954904205, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": -0.20977365719371868, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.38272751727821464, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 2.2670978736444032e-70, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.33682662302952576}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (6, 2), deadline = 30\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.869310981005406e-08, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999995888612387, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4736650954904205, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": -0.20977365719371868, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.46481825518346437, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.1052542141803595e-73, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4510479869088577}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (1, 5), deadline = 40\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.7, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 2.411801365554095e-11, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999995888612387, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 0.09209952864712623, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999983069938, \"(['green', None, None, None, 'possible'], 'right')\": -0.41293209249835455, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4968336428536202, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 5.388328806465333e-77, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4510479869088577}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.8842121319788045, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 7.717442713739151e-16, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999998766583716, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4276298585941474, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999994920982, \"(['green', None, None, None, 'possible'], 'right')\": -0.41293209249835455, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4968336428536202, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 4.529163572550057e-80, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4510479869088577}\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (4, 2), deadline = 30\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'right', 'right', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'forward')\": -0.8842121319788045, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1404886911084731, \"(['green', 'left', None, None, 'possible'], 'left')\": -0.34999999917746677, \"(['green', None, None, None, 'possible'], None)\": 1.1184313633432563e-18, \"(['red', None, None, None, 'possible'], 'left')\": -0.9999998766583716, \"(['green', None, None, 'left', 'possible'], 'right')\": -0.45499999999999996, \"(['green', 'left', 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": 1.4276298585941474, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], 'right')\": -0.22352420597262135, \"(['green', 'right', None, None, 'possible'], 'forward')\": 1.4, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": -0.32277478020403494, \"(['green', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'left')\": -0.9099999999999999, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9999999994920982, \"(['green', None, None, None, 'possible'], 'right')\": -0.41293209249835455, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', 'forward', None, 'possible'], 'left')\": -0.35, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, 'left', 'forward', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": 0.39176208170856897, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4968336428536202, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 1.9511827207901082e-82, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.7, \"(['red', None, None, None, 'possible'], 'right')\": -0.4510479869088577}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ \n"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial5.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.2 # Alpha is the learning rate\nself.gamma = 0.5 # gamma is the value of future reward. Learning doesn't work well with high gamma.\nself.actions = [None, 'forward', 'left', 'right']\nself.q = {}\nself.defaultq = 0.0\n\nSUCCESS: 8/100\n\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'possible'], 'forward')\": -0.1, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 0.42620800000000025, \"(['green', None, None, None, 'possible'], 'left')\": -0.1, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'right', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (8, 4), deadline = 20\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (6, 3), deadline = 20\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.2, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (2, 1), deadline = 20\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.48800000000000004, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (7, 2), deadline = 35\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.48800000000000004, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.2, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (8, 2), deadline = 40\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.48800000000000004, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.0065041919999998254, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.18000000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (6, 5), deadline = 35\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.5904, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 1.0968644366376739, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.24400000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (1, 6), deadline = 35\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.5904, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 0.9122300825757362, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.24400000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.36000000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (2, 6), deadline = 30\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 1.2699990146455533, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.24400000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48800000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', 'right', None, 'possible']\naction:  None\nstate2:  ['red', 'left', 'right', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 1.332453991353804, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.24400000000000002, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48800000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (6, 4), deadline = 25\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.01555533608651212, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.14860368069169572, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.48800000000000004, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (8, 4), deadline = 20\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.01555533608651212, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.21888294455335658, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5904, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (8, 1), deadline = 25\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.01555533608651212, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.01807657606273337, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5904, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.031004458490463228, \"(['green', None, None, None, 'possible'], 'right')\": 0.23474282747117173, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.01807657606273337, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18000000000000002, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.67232, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (4, 6), deadline = 40\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], None)\": 0.031004458490463228, \"(['green', None, None, None, 'possible'], 'right')\": 1.060577032694368, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.01807657606273337, \"(['green', None, None, None, 'possible'], 'forward')\": 0.256, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7378560000000001, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 1), deadline = 40\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.01807657606273337, \"(['green', None, None, None, 'possible'], None)\": 0.031004458490463228, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.18000000000000002, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], 'right')\": 0.14138282037388442, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5277852682240003, \"(['red', None, None, None, 'possible'], 'left')\": -0.7378560000000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (5, 3), deadline = 30\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.031004458490463228, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.18000000000000002, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], 'right')\": 0.5898128373762125, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.09000485380915224, \"(['red', None, None, None, 'possible'], 'left')\": -0.7378560000000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.031004458490463228, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.18000000000000002, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.67232, \"(['green', None, None, None, 'possible'], 'right')\": 0.9201350140556279, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.09000485380915224, \"(['red', None, None, None, 'possible'], 'left')\": -0.7902848, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (3, 6), deadline = 40\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.11305328780437582, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.18000000000000002, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7378560000000001, \"(['green', None, None, None, 'possible'], 'right')\": 0.6205492429809883, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.09000485380915224, \"(['red', None, None, None, 'possible'], 'left')\": -0.7902848, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (4, 6), deadline = 35\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.11305328780437582, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15435606056152096, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7378560000000001, \"(['green', None, None, None, 'possible'], 'right')\": 1.2274579899678013, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.9003489054346376, \"(['red', None, None, None, 'possible'], 'left')\": -0.83222784, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (8, 5), deadline = 55\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.11305328780437582, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2234848484492168, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7902848, \"(['green', None, None, None, 'possible'], 'right')\": 1.1454063791462383, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.6202791243477102, \"(['red', None, None, None, 'possible'], 'left')\": -0.8657822720000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (8, 5), deadline = 25\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09040816187560843, \"(['green', None, None, None, 'possible'], None)\": 0.10174795902393824, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.27878787875937344, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7902848, \"(['green', None, None, None, 'possible'], 'right')\": 0.03260864020357526, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.0871381808541998, \"(['red', None, None, None, 'possible'], 'left')\": -0.8657822720000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.16316921318833233, \"(['green', None, None, None, 'possible'], None)\": 0.03547731963582553, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3230303030074988, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7902848, \"(['green', None, None, None, 'possible'], 'right')\": -0.06373829193474596, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.030289455316640165, \"(['red', None, None, None, 'possible'], 'left')\": -0.8926258176000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (8, 3), deadline = 50\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.16316921318833233, \"(['green', None, None, None, 'possible'], None)\": 0.012370176469548758, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.07432165205482576, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7902848, \"(['green', None, None, None, 'possible'], 'right')\": -0.06373829193474596, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.030289455316640165, \"(['red', None, None, None, 'possible'], 'left')\": -0.8926258176000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', 'right', 'possible']\naction:  None\nstate2:  ['green', None, 'right', 'right', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': 'right'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 1.0353493814611356, \"(['green', None, None, None, 'possible'], None)\": 0.004313213835163988, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21597418124846046, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.83222784, \"(['green', None, None, None, 'possible'], 'right')\": -0.14137383415559548, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.12332977838868203, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (2, 2), deadline = 30\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.18037707733844552, \"(['green', None, None, None, 'possible'], None)\": 0.004313213835163988, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21597418124846046, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.83222784, \"(['green', None, None, None, 'possible'], 'right')\": -0.14137383415559548, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.22425038616274573, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 1), deadline = 50\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.18037707733844552, \"(['green', None, None, None, 'possible'], None)\": 0.004313213835163988, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21597418124846046, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.83222784, \"(['green', None, None, None, 'possible'], 'right')\": -0.14137383415559548, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.0267927807062585, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (5, 6), deadline = 35\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.18037707733844552, \"(['green', None, None, None, 'possible'], None)\": 0.004313213835163988, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.83222784, \"(['green', None, None, None, 'possible'], 'right')\": -0.2130990673244764, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.7214342245650068, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1401028034530554, \"(['green', None, None, None, 'possible'], None)\": 0.002829899597251093, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.83222784, \"(['green', None, None, None, 'possible'], 'right')\": 0.6544564991490923, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (6, 5), deadline = 20\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1401028034530554, \"(['green', None, None, None, 'possible'], None)\": 0.06770956959271011, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8657822720000001, \"(['green', None, None, None, 'possible'], 'right')\": 1.0917268116368308, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.931280523264, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1401028034530554, \"(['green', None, None, None, 'possible'], None)\": 0.06770956959271011, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8657822720000001, \"(['green', None, None, None, 'possible'], 'right')\": 1.3600580886419773, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.9450244186112, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (1, 2), deadline = 20\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1401028034530554, \"(['green', None, None, None, 'possible'], None)\": 0.06770956959271011, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8926258176000001, \"(['green', None, None, None, 'possible'], 'right')\": 1.0019229432257584, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.9450244186112, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (6, 2), deadline = 40\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.1401028034530554, \"(['green', None, None, None, 'possible'], None)\": 0.16632341407545453, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2727793449987684, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8926258176000001, \"(['green', None, None, None, 'possible'], 'right')\": 0.912437464181604, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.9450244186112, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 6), deadline = 25\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.16438674534136882, \"(['green', None, None, None, 'possible'], None)\": 0.05799338857193591, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3182234759990147, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8926258176000001, \"(['green', None, None, None, 'possible'], 'right')\": 0.012726065145394885, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.95601953488896, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (1, 6), deadline = 20\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.016379045853334395, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3182234759990147, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8926258176000001, \"(['green', None, None, None, 'possible'], 'right')\": 0.012726065145394885, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.09680824378928726, \"(['red', None, None, None, 'possible'], 'left')\": -0.95601953488896, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (2, 3), deadline = 30\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.0057110201584670145, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3545787807992118, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.931280523264, \"(['green', None, None, None, 'possible'], 'right')\": -0.08854654136914461, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.17666319034576905, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (6, 4), deadline = 25\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.0013064982287134845, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3545787807992118, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.931280523264, \"(['green', None, None, None, 'possible'], 'right')\": -0.08854654136914461, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.17666319034576905, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (5, 1), deadline = 40\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.00033209432023391735, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3545787807992118, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.931280523264, \"(['green', None, None, None, 'possible'], 'right')\": -0.08854654136914461, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.17666319034576905, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (2, 5), deadline = 50\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 3.633742481631203e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3545787807992118, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.931280523264, \"(['green', None, None, None, 'possible'], 'right')\": -0.08854654136914461, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.17666319034576905, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 2.608656415353443e-06, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9450244186112, \"(['green', None, None, None, 'possible'], 'right')\": -0.17083679131706114, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.20693621173613116, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (3, 1), deadline = 20\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.13456966014153335, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9450244186112, \"(['green', None, None, None, 'possible'], 'right')\": -0.17083679131706114, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.3456757321640105, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.13456966014153335, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9450244186112, \"(['green', None, None, None, 'possible'], 'right')\": -0.17083679131706114, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.9765405857312085, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (1, 5), deadline = 40\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.09810128224317782, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.95601953488896, \"(['green', None, None, None, 'possible'], 'right')\": -0.17083679131706114, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.04931091171444685, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.01636052908939752, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.22784031765176294, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.05562017945699785, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9648156279111679, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (1, 2), deadline = 35\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.009689907691801067, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.013640525838342368, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14398273282700913, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9718525023289344, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (8, 3), deadline = 20\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2257100574159015, \"(['green', None, None, None, 'possible'], None)\": 0.0057217935929316155, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.013640525838342368, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14398273282700913, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9718525023289344, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (5, 2), deadline = 30\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.28010458065169375, \"(['green', None, None, None, 'possible'], None)\": 0.0017955594581018143, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.4255443357691965, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.013640525838342368, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14398273282700913, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9718525023289344, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04852999869789519, \"(['green', None, None, None, 'possible'], None)\": 0.0006260728709577423, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.04765162510771426, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.013640525838342368, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.14398273282700913, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9718525023289344, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (1, 5), deadline = 25\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.13882399895831615, \"(['green', None, None, None, 'possible'], None)\": 0.00017682147074792422, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.06181609262673283, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.21516435645040388, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9774820018631476, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (7, 1), deadline = 20\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.13882399895831615, \"(['green', None, None, None, 'possible'], None)\": 0.01062403567713733, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.06181609262673283, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.4629578390093059, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9774820018631476, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 3), deadline = 20\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.13882399895831615, \"(['green', None, None, None, 'possible'], None)\": 0.01062403567713733, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.06181609262673283, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.1504962646377845, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9774820018631476, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 6), deadline = 35\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04132433129214379, \"(['green', None, None, None, 'possible'], None)\": 0.01062403567713733, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.06181609262673283, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.054667474675820935, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (7, 4), deadline = 30\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04132433129214379, \"(['green', None, None, None, 'possible'], None)\": 0.0019686552596817736, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.056266020259343255, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (5, 1), deadline = 20\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04132433129214379, \"(['green', None, None, None, 'possible'], None)\": 0.0004503651779110732, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.056266020259343255, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (6, 5), deadline = 35\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04132433129214379, \"(['green', None, None, None, 'possible'], None)\": 0.00012719642844460764, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.056266020259343255, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (8, 1), deadline = 45\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.04132433129214379, \"(['green', None, None, None, 'possible'], None)\": 1.9091501538474245e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9718525023289344, \"(['green', None, None, None, 'possible'], 'right')\": -0.1109124206706739, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1450128162074746, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.20644533127652798, \"(['green', None, None, None, 'possible'], None)\": 1.8800755194083097e-06, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9774820018631476, \"(['green', None, None, None, 'possible'], 'right')\": -0.18872993653653913, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2160102529659797, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (8, 1), deadline = 35\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.05029999038641772, \"(['green', None, None, None, 'possible'], None)\": 7.283797770860967e-07, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9774820018631476, \"(['green', None, None, None, 'possible'], 'right')\": -0.18872993653653913, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.4, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.27280810245786236, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.34467553013411834, \"(['green', None, None, None, 'possible'], None)\": 0.007171593223686862, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9774820018631476, \"(['green', None, None, None, 'possible'], 'right')\": -0.18872993653653913, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.30158704258925007, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (6, 3), deadline = 25\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.05973736563547967, \"(['green', None, None, None, 'possible'], None)\": 0.007171593223686862, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9819856014905182, \"(['green', None, None, None, 'possible'], 'right')\": -0.18872993653653913, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3235210378896801, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (4, 5), deadline = 30\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.0462363709280683, \"(['green', None, None, None, 'possible'], None)\": 0.0030871357262553904, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9855884811924145, \"(['green', None, None, None, 'possible'], 'right')\": -0.18872993653653913, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3235210378896801, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.034836828992811736, \"(['green', None, None, None, 'possible'], None)\": 0.0007847084809982211, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9855884811924145, \"(['green', None, None, None, 'possible'], 'right')\": -0.2508870716389846, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.35856677231791745, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, 'forward', 'possible']\naction:  None\nstate2:  ['red', 'right', None, 'forward', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (7, 3), deadline = 30\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.034836828992811736, \"(['green', None, None, None, 'possible'], None)\": 0.00033779127047864235, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9855884811924145, \"(['green', None, None, None, 'possible'], 'right')\": -0.2508870716389846, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.35856677231791745, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 0.00013086725918876692, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.14945287410138627, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9884707849539316, \"(['green', None, None, None, 'possible'], 'right')\": -0.3007096573111877, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 1.9642473540255852e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.8797627628823348, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9884707849539316, \"(['green', None, None, None, 'possible'], 'right')\": -0.07520876261124411, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 4.4935679048249644e-06, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.270369683281185, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9884707849539316, \"(['green', None, None, None, 'possible'], 'right')\": -0.07520876261124411, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.11395846520731825, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (2, 4), deadline = 35\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 1.2691163005056142e-06, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.015053744702345, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8673100107669, \"(['green', None, None, None, 'possible'], 'right')\": -0.07520876261124411, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9819856014905182, \"(['red', None, None, None, 'possible'], None)\": 0.11395846520731825, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 1.714387934464804e-07, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.9529130568472381, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8673100107669, \"(['green', None, None, None, 'possible'], 'right')\": -0.07520876261124411, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875262392172779, \"(['red', None, None, None, 'possible'], None)\": 0.11395846520731825, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (6, 2), deadline = 45\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 5.977701107154492e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.06947113047129375, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8673100107669, \"(['green', None, None, None, 'possible'], 'right')\": -0.07520876261124411, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875262392172779, \"(['red', None, None, None, 'possible'], None)\": 0.11402897584076924, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (1, 2), deadline = 35\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 5.2979995010488604e-09, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.037475982575835634, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.88943029245548, \"(['green', None, None, None, 'possible'], 'right')\": -0.15805403014552485, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.875262392172779, \"(['red', None, None, None, 'possible'], None)\": 0.013863261409109588, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (6, 5), deadline = 20\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 9.817300035970529e-10, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.37001921403750454, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9110071428129588, \"(['green', None, None, None, 'possible'], 'right')\": -0.15805403014552485, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8991992819814992, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (7, 4), deadline = 20\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 2.0212950185188115e-10, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.44257436849018883, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9110071428129588, \"(['green', None, None, None, 'possible'], 'right')\": -0.15805403014552485, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8991992819814992, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 8.701012272086916e-11, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.0831969310445058, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9110071428129588, \"(['green', None, None, None, 'possible'], 'right')\": -0.15805403014552485, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.386853417854334, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8991992819814992, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (5, 2), deadline = 35\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.020859412149873566, \"(['green', None, None, None, 'possible'], None)\": 2.4574228629210013e-11, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.7097291168076147, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9110071428129588, \"(['green', None, None, None, 'possible'], 'right')\": -0.15805403014552485, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.22000000000000006, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8991992819814992, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 2), deadline = 20\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5988259648194938, \"(['green', None, None, None, 'possible'], None)\": 0.03833124704791525, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.58864706522962, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7073598269447571, \"(['green', None, None, None, 'possible'], 'right')\": -0.01744500169703217, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8991992819814992, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (5, 2), deadline = 35\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.8433656258104407, \"(['green', None, None, None, 'possible'], None)\": 0.03833124704791525, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.4462426792037411, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.4849631757514965, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7073598269447571, \"(['green', None, None, None, 'possible'], 'right')\": -0.01744500169703217, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 4), deadline = 25\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.17817655124810322, \"(['green', None, None, None, 'possible'], None)\": 0.03833124704791525, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.5031509463039625, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.4849631757514965, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6501680980208424, \"(['green', None, None, None, 'possible'], 'right')\": -0.01744500169703217, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.23851268256296598, \"(['green', None, None, None, 'possible'], None)\": 0.03833124704791525, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.5303400836144957, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.4849631757514965, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6501680980208424, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.0025688903274410702, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.02350518196728167, \"(['green', None, None, None, 'possible'], None)\": 0.03833124704791525, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.54790256272855, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.565344222143819, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.4094827342793056, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.11166120386943595, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.02350518196728167, \"(['green', None, None, None, 'possible'], None)\": 0.009743288702833268, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.17422223754150223, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.565344222143819, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.42554910779720534, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.11166120386943595, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (7, 6), deadline = 55\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.02350518196728167, \"(['green', None, None, None, 'possible'], None)\": 0.003057547235713073, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.723257852972657, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.565344222143819, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.36191141154536005, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8003546602747729, \"(['red', None, None, None, 'possible'], None)\": 0.11166120386943595, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 2), deadline = 40\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.02350518196728167, \"(['green', None, None, None, 'possible'], None)\": 0.00012961296880306287, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.05344920028582736, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.38950203038434, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8374454502351605, \"(['red', None, None, None, 'possible'], None)\": 0.01862194185734097, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 2.965128986779006e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.31404984427516336, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8693070532242834, \"(['red', None, None, None, 'possible'], None)\": 0.00473344776643045, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 1.1487517220059976e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": -0.09031360600553892, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8693070532242834, \"(['red', None, None, None, 'possible'], None)\": 0.0020375940536960487, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (5, 1), deadline = 20\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 1.1487517220059976e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": 0.8350691140799307, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8693070532242834, \"(['red', None, None, None, 'possible'], None)\": 0.00046613616273867195, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (2, 2), deadline = 30\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 1.1487517220059976e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.8373045145102642, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": 1.7449265967851557, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5744926596785156, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8693070532242834, \"(['red', None, None, None, 'possible'], None)\": 0.00013165062037931517, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (7, 6), deadline = 30\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 0.12616008349536034, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6487713308204157, \"(['green', None, None, None, 'possible'], 'right')\": 1.227113056340289, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5744926596785156, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8954419243770577, \"(['red', None, None, None, 'possible'], None)\": 2.7105695270860083e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (2, 2), deadline = 50\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 0.12616008349536034, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7752087726999173, \"(['green', None, None, None, 'possible'], 'right')\": 1.3816931556417584, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5744926596785156, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.10543613772455504, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9163508289321192, \"(['red', None, None, None, 'possible'], None)\": 2.7105695270860083e-05, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (1, 1), deadline = 30\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 0.05430777915561483, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.048492735780707334, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8201645786473596, \"(['green', None, None, None, 'possible'], 'right')\": -0.047302874411478825, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5744926596785156, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.8065696083561338, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9163508289321192, \"(['red', None, None, None, 'possible'], None)\": 1.4185701461565564e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (4, 1), deadline = 35\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 0.04738452134470257, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1387941391620833, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8201645786473596, \"(['green', None, None, None, 'possible'], 'right')\": -0.047302874411478825, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5744926596785156, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.030141894472019745, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9330806136832128, \"(['red', None, None, None, 'possible'], None)\": 4.00646108844781e-07, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (2, 2), deadline = 25\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.11879118427694504, \"(['green', None, None, None, 'possible'], None)\": 0.008780447469081493, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1387941391620833, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8849052690354555, \"(['green', None, None, None, 'possible'], 'right')\": -0.047302874411478825, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.030141894472019745, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9330806136832128, \"(['red', None, None, None, 'possible'], None)\": 6.681647954468804e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.12117254829627247, \"(['green', None, None, None, 'possible'], None)\": 0.003401725252110366, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1387941391620833, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.6813873148961734, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9079242108445352, \"(['green', None, None, None, 'possible'], 'right')\": -0.047302874411478825, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.16343590335938962, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9330806136832128, \"(['red', None, None, None, 'possible'], None)\": 2.3297465860615405e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (3, 1), deadline = 20\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19693803820531125, \"(['green', None, None, None, 'possible'], None)\": 0.0014643311784624967, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1387941391620833, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.25642805470862795, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9079242108445352, \"(['green', None, None, None, 'possible'], 'right')\": 0.6719312342722008, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.0754010195128427, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9464644904668962, \"(['red', None, None, None, 'possible'], None)\": 2.832427959771622e-09, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 5), deadline = 35\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19693803820531125, \"(['green', None, None, None, 'possible'], None)\": 0.0014643311784624967, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.6600682199130341, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.25642805470862795, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9263393684462016, \"(['green', None, None, None, 'possible'], 'right')\": 0.6846486130933758, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.0754010195128427, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9571715922062649, \"(['red', None, None, None, 'possible'], None)\": 1.2192673613688829e-09, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 2), deadline = 25\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.015436309930207823, \"(['green', None, None, None, 'possible'], None)\": 0.008362127982515833, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.03565638229455537, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.25642805470862795, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9263393684462016, \"(['green', None, None, None, 'possible'], 'right')\": -0.08748671935901571, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.0754010195128427, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9571715922062649, \"(['red', None, None, None, 'possible'], None)\": 3.826190174642508e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 1), deadline = 30\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.015436309930207823, \"(['green', None, None, None, 'possible'], None)\": 0.0029156937408601827, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.03565638229455537, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.25642805470862795, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9263393684462016, \"(['green', None, None, None, 'possible'], 'right')\": -0.08748671935901571, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1594846028120226, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9571715922062649, \"(['red', None, None, None, 'possible'], None)\": 7.877786266665695e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'right', 'possible']\naction:  None\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, 'right', 'right', 'possible'], None)\": 0.0, \"(['green', None, None, 'right', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.015436309930207823, \"(['green', None, None, None, 'possible'], None)\": 0.0008234780317516948, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'left', None, None, 'possible'], 'right')\": -0.1, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.03565638229455537, \"(['red', 'left', 'right', None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.07296438966123998, \"(['green', None, 'forward', None, 'possible'], 'forward')\": 0.25642805470862795, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], 'left')\": -0.2, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9410714947555016, \"(['green', None, None, None, 'possible'], 'right')\": -0.08748671935901571, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7296438966123998, \"(['green', None, 'forward', None, 'possible'], 'right')\": 0.400000000027727, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8595941417124786, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, 'forward', 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.22758768224687126, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9571715922062649, \"(['red', None, None, None, 'possible'], None)\": 1.4597696995591313e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'forward')\": -0.2, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted."
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial6.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.3 # Alpha is the learning rate\nself.gamma = 0.5 # gamma is the value of future reward. Learning doesn't work well with high gamma.\nself.actions = [None, 'forward', 'left', 'right']\nself.q = {}\nself.defaultq = 0.0\n\nSUCCESS: 2/100\n\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (2, 6), deadline = 40\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, None, 'possible'], 'forward')\": -0.15, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (7, 2), deadline = 25\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, None, 'possible'], 'forward')\": -0.15, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (6, 3), deadline = 40\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.15, \"(['red', None, None, None, 'possible'], 'left')\": -0.3, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (1, 1), deadline = 45\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.3, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.15, \"(['red', None, None, None, 'possible'], 'left')\": -0.3, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.51, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.255, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, None, 'possible'], 'left')\": -0.3, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (6, 4), deadline = 35\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.51, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.255, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, None, 'possible'], 'left')\": -0.3, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.51, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": 1.083919259727666, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, None, 'possible'], 'left')\": -0.3, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 4), deadline = 30\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.51, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.25854783719670743, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, None, 'possible'], 'left')\": -0.51, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (7, 3), deadline = 35\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.657, \"(['green', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'right')\": -0.25854783719670743, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, None, 'possible'], 'left')\": -0.51, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3285, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (6, 1), deadline = 20\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.657, \"(['green', None, None, None, 'possible'], None)\": 0.07789722387113569, \"(['green', None, None, None, 'possible'], 'right')\": 0.5193148258075713, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.255, \"(['green', None, None, None, 'possible'], 'forward')\": -0.255, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.51, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.37995, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (1, 5), deadline = 40\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.657, \"(['green', None, None, None, 'possible'], None)\": 0.21054123668862695, \"(['green', None, None, None, 'possible'], 'right')\": 1.4840746865467143, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.255, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3285, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.51, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.37995, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (2, 1), deadline = 35\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.657, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7176872962294041, \"(['green', None, None, None, 'possible'], None)\": 0.21054123668862695, \"(['green', None, None, None, 'possible'], 'right')\": 1.245879815517684, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.255, \"(['green', None, None, None, 'possible'], 'forward')\": -0.19306802767234738, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.657, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.41596500000000003, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (3, 2), deadline = 30\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.8319300000000001, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', None, None, None, 'possible'], None)\": 0.21054123668862695, \"(['green', None, None, None, 'possible'], 'right')\": 1.2151162402067357, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.255, \"(['green', None, None, None, 'possible'], 'forward')\": -0.21519710286225835, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.657, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.41596500000000003, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  None\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 1), deadline = 50\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', None, None, None, 'possible'], 'forward')\": -0.8319300000000001, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', None, None, None, 'possible'], None)\": 0.21054123668862695, \"(['green', None, None, None, 'possible'], 'right')\": 1.568474297898311, \"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.255, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.657, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.41596500000000003, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (2, 3), deadline = 25\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.4215, \"(['green', None, None, None, 'possible'], None)\": 0.20771542127612938, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.41596500000000003, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8823509999999999, \"(['green', None, None, None, 'possible'], 'right')\": 0.436571049479196, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7599, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (8, 4), deadline = 25\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.33013797213672086, \"(['green', None, None, None, 'possible'], None)\": 0.20771542127612938, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.41596500000000003, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8823509999999999, \"(['green', None, None, None, 'possible'], 'right')\": 1.648831842108085, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8319300000000001, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.33013797213672086, \"(['green', None, None, None, 'possible'], None)\": 0.39340459635428404, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.0104080012078471, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9176456999999998, \"(['green', None, None, None, 'possible'], 'right')\": 1.1303765494510907, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7112965597889475, \"(['red', None, None, None, 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (3, 3), deadline = 20\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.33013797213672086, \"(['green', None, None, None, 'possible'], None)\": 0.4310541857247229, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.9393268252588934, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9176456999999998, \"(['green', None, None, None, 'possible'], 'right')\": 1.8598151638662208, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7112965597889475, \"(['red', None, None, None, 'possible'], None)\": 0.1319668018896233, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (3, 5), deadline = 20\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.33013797213672086, \"(['green', None, None, None, 'possible'], None)\": 0.4310541857247229, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.8950152158104622, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7747044460198662, \"(['green', None, None, None, 'possible'], 'right')\": 1.7510667371322586, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.1381888475651297, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6636553094806938, \"(['red', None, None, None, 'possible'], None)\": 0.1319668018896233, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (2, 6), deadline = 25\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.33013797213672086, \"(['green', None, None, None, 'possible'], None)\": 0.4310541857247229, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.1800607780596626, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7747044460198662, \"(['green', None, None, None, 'possible'], 'right')\": 1.549825592474985, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.06846864594091696, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5386078191974585, \"(['red', None, None, None, 'possible'], None)\": 0.1319668018896233, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.2831198293788023, \"(['green', None, None, None, 'possible'], None)\": 0.26472115180819544, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.2991227350741257, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7110240913850518, \"(['green', None, None, None, 'possible'], 'right')\": 1.005629134205372, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5386078191974585, \"(['red', None, None, None, 'possible'], None)\": 0.0953460143652528, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (8, 3), deadline = 25\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09065185497198197, \"(['green', None, None, None, 'possible'], None)\": 0.1912610321814212, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.9497151619587991, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7110240913850518, \"(['green', None, None, None, 'possible'], 'right')\": 0.3302495442463198, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2846485433915933, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.22057624191095923, \"(['red', None, None, None, 'possible'], None)\": 0.0953460143652528, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'forward', None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (8, 3), deadline = 45\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09065185497198197, \"(['green', None, None, None, 'possible'], None)\": 0.1912610321814212, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.6280875655873395, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7110240913850518, \"(['green', None, None, None, 'possible'], 'right')\": 0.9742519970214203, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.6791485109609439, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.22057624191095923, \"(['red', None, None, None, 'possible'], None)\": 0.0953460143652528, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (6, 6), deadline = 20\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.07213400564516054, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.1662632695984743, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.794404301066403, \"(['green', None, None, None, 'possible'], 'right')\": 0.06668976707997351, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.6791485109609439, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.22057624191095923, \"(['red', None, None, None, 'possible'], None)\": 0.0070795451348993725, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (8, 5), deadline = 35\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.06131390479838646, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.398186134716611, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.794404301066403, \"(['green', None, None, None, 'possible'], 'right')\": 0.7640852008513559, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.6791485109609439, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4536361236336767, \"(['red', None, None, None, 'possible'], None)\": 0.001393781231436574, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (8, 1), deadline = 45\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.11302964286534788, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.7543479387081782, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.794404301066403, \"(['green', None, None, None, 'possible'], 'right')\": 2.1756057481332465, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.7822674360310103, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2738275031171725, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4536361236336767, \"(['red', None, None, None, 'possible'], None)\": 0.001393781231436574, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (8, 1), deadline = 40\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.3281439697149655, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.7950929872929245, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.794404301066403, \"(['green', None, None, None, 'possible'], 'right')\": 2.3743286536302644, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.6637389371730298, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.6310044129999013, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4536361236336767, \"(['red', None, None, None, 'possible'], None)\": 0.001393781231436574, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.44994919547705875, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.8811563814039798, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.794404301066403, \"(['green', None, None, None, 'possible'], 'right')\": 1.8480743611673032, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.5576895951407947, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.6310044129999013, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4536361236336767, \"(['red', None, None, None, 'possible'], None)\": 0.208744208326292, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, 'right', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (6, 3), deadline = 20\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.44994919547705875, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.5195603179003685, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.29822707576795765, \"(['green', None, None, None, 'possible'], 'right')\": 2.021666525171803, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.272556173809153, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.6310044129999013, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4536361236336767, \"(['red', None, None, None, 'possible'], None)\": 0.208744208326292, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.44994919547705875, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.058875241282011, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.29822707576795765, \"(['green', None, None, None, 'possible'], 'right')\": 2.715690808573445, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.11733013487609, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5949530678757013, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.17830486955108182, \"(['red', None, None, None, 'possible'], None)\": 0.208744208326292, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (2, 3), deadline = 35\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.598204951204143, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.29822707576795765, \"(['green', None, None, None, 'possible'], 'right')\": 2.1167549286994944, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.11733013487609, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.5949530678757013, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.28583329755840686, \"(['red', None, None, None, 'possible'], None)\": 0.208744208326292, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.036546017431290795, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.12513482012031868, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.4815036508470392, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.059963140016477685, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.29822707576795765, \"(['green', None, None, None, 'possible'], 'right')\": 1.5835936674376534, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.8958192999822375, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3111896688236621, \"(['red', None, None, None, 'possible'], None)\": 0.5026100952552934, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (2, 2), deadline = 25\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.8279324016629533, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.12513482012031868, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.9897045614972496, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.059963140016477685, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2865334054105145, \"(['green', None, None, None, 'possible'], 'right')\": 1.447153412570723, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.8958192999822375, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3111896688236621, \"(['red', None, None, None, 'possible'], None)\": 0.5026100952552934, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (8, 6), deadline = 25\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5859278051810354, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.12513482012031868, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.7548857822179934, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.059963140016477685, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2865334054105145, \"(['green', None, None, None, 'possible'], 'right')\": 0.9458546927904896, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.8958192999822375, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3111896688236621, \"(['red', None, None, None, 'possible'], None)\": 0.5026100952552934, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (1, 3), deadline = 35\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5859278051810354, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.8902625194008076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2865334054105145, \"(['green', None, None, None, 'possible'], 'right')\": 1.4222522802473005, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 0.8958192999822375, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3111896688236621, \"(['red', None, None, None, 'possible'], None)\": 0.308665424748657, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'right', None, 'possible']\naction:  None\nstate2:  ['green', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5859278051810354, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.6560845548445203, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.457923591712838, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.3382352653571416, \"(['green', None, None, None, 'possible'], 'right')\": 1.3187964178963831, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.273949519822188, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3957695922176954, \"(['red', None, None, None, 'possible'], None)\": 0.33812897328292796, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', 'left', None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (2, 1), deadline = 35\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5859278051810354, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.7332505020316104, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.267511417772738, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2990313442288598, \"(['green', None, None, None, 'possible'], 'right')\": 1.2049164805663106, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9794980053966709, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.48869269514004676, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3957695922176954, \"(['red', None, None, None, 'possible'], None)\": 0.4024913656791888, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.35698882662949283, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.41821398763946566, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.009205029469120149, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2990313442288598, \"(['green', None, None, None, 'possible'], 'right')\": 0.3255102148982898, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9794980053966709, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.2585992574945635, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3957695922176954, \"(['red', None, None, None, 'possible'], None)\": 0.17858755718723618, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.1266803122187304, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.3021596060695139, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.009205029469120149, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.2990313442288598, \"(['green', None, None, None, 'possible'], 'right')\": 0.5228305336519854, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9794980053966709, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.14975428030242716, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.55768428804222, \"(['red', None, None, None, 'possible'], None)\": 0.04866341722339356, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 6), deadline = 35\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.1266803122187304, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.3021596060695139, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.129311464494526, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.7984812003427035, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6508445821666219, \"(['green', None, None, None, 'possible'], 'right')\": 1.8177068056034553, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9794980053966709, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.14975428030242716, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.55768428804222, \"(['red', None, None, None, 'possible'], None)\": 0.008143494087183714, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (7, 2), deadline = 25\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.1266803122187304, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.1975251640341364, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.09654224978890408, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.5603678727739628, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6508445821666219, \"(['green', None, None, None, 'possible'], 'right')\": 0.19084688492009522, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9794980053966709, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.14975428030242716, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.55768428804222, \"(['red', None, None, None, 'possible'], None)\": 0.0036133115887957506, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (8, 4), deadline = 30\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.02809632641082617, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21733908802008287, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.5603678727739628, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6508445821666219, \"(['green', None, None, None, 'possible'], 'right')\": -0.03906010778446782, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.044711306560729525, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6900960759446717, \"(['red', None, None, None, 'possible'], None)\": 0.0013627587155165162, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 1), deadline = 40\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 0.0028874501802724616, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21733908802008287, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.2464719599033979, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": -0.03906010778446782, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.044711306560729525, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6900960759446717, \"(['red', None, None, None, 'possible'], None)\": 0.00014005026284396468, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 9.512878276466837e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.2464719599033979, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": -0.03906010778446782, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18129658873478233, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7830659273035419, \"(['red', None, None, None, 'possible'], None)\": 8.839051522239037e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (2, 1), deadline = 45\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.8876900637490582, \"(['green', None, None, None, 'possible'], None)\": 1.3531285214671623e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.2464719599033979, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": -0.03906010778446782, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7830659273035419, \"(['red', None, None, None, 'possible'], None)\": 1.068689886949371e-06, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 7.259048718221363e-07, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": 0.21430366109906124, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7830659273035419, \"(['red', None, None, None, 'possible'], None)\": 3.520863105898222e-08, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.06078178470856935, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 1.4291208924801163e-07, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": -0.12266560485592827, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7830659273035419, \"(['red', None, None, None, 'possible'], None)\": 9.594018363168702e-09, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19254724121111474, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 2.391537257722189e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": 0.26736024638422673, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8481461482286903, \"(['red', None, None, None, 'possible'], None)\": 1.6054941529103732e-09, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (2, 3), deadline = 30\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19254724121111474, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 2.391537257722189e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7555141129482146, \"(['green', None, None, None, 'possible'], 'right')\": 1.2243272702086827, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8481461482286903, \"(['red', None, None, None, 'possible'], None)\": 1.0132823207935781e-10, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (7, 2), deadline = 25\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19254724121111474, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 2.391537257722189e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.880201915329844, \"(['green', None, None, None, 'possible'], 'right')\": 1.0421024387111868, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8937023037507489, \"(['red', None, None, None, 'possible'], None)\": 1.2251139911699234e-11, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (3, 2), deadline = 20\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 2.391537257722189e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.880201915329844, \"(['green', None, None, None, 'possible'], 'right')\": 0.39305762030811753, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2769037238605533, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8937023037507489, \"(['red', None, None, None, 'possible'], None)\": 6.572296722882223e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (3, 2), deadline = 35\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 2.391537257722189e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9161413407308678, \"(['green', None, None, None, 'possible'], 'right')\": 1.2195388914708571, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3906828246916173, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8937023037507489, \"(['red', None, None, None, 'possible'], None)\": 1.0998294520977319e-13, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'right', None, None, 'possible']\naction:  None\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (7, 6), deadline = 45\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.17355245486384763, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.02253037721367318, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.958909256958123, \"(['green', None, None, None, 'possible'], 'right')\": 1.3084442436262016, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.3906828246916173, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8937023037507489, \"(['red', None, None, None, 'possible'], None)\": 6.9414001768770814e-15, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (1, 3), deadline = 45\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.2852363651042249, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.958909256958123, \"(['green', None, None, None, 'possible'], 'right')\": 1.5089052612722644, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.3137933660080193, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9255916126255241, \"(['red', None, None, None, 'possible'], None)\": 1.9438531300633286e-16, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.04899214529125839, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.3021244603589076, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9712364798706861, \"(['green', None, None, None, 'possible'], 'right')\": 0.007336381107699685, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.0682929472252285, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9255916126255241, \"(['red', None, None, None, 'possible'], None)\": 7.534283581842003e-18, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.2561344052857965, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2665759880963554, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9712364798706861, \"(['green', None, None, None, 'possible'], 'right')\": 1.2713239866126589, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2861906005159889, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.29130129716427633, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9479141288378667, \"(['red', None, None, None, 'possible'], None)\": 2.053020889009315e-18, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.23340042619270296, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.2561344052857965, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2665759880963554, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9712364798706861, \"(['green', None, None, None, 'possible'], 'right')\": 1.898213873151089, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.29130129716427633, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 4.0418726462276947e-19, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (1, 2), deadline = 35\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.2561344052857965, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2665759880963554, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 0.40689746396235227, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.29130129716427633, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 4.886846072220482e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.2561344052857965, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2665759880963554, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 0.40689746396235227, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.29130129716427633, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 4.886846072220482e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.217714244492927, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.0690767651670499, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 1.036584269052967, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.13891634492734675, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (1, 2), deadline = 45\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5572817342389648, \"(['green', None, None, None, 'possible'], None)\": 0.217714244492927, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.756122306190869, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 0.5388386196902255, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.3269637907524976, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5386668848828302, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.3012125768019658, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 1.5771367987419807, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.4194354212532139, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9635398901865067, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'right', 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (4, 1), deadline = 35\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.5386668848828302, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.171917773311027, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 2.238917934983153, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.4194354212532139, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7241105937079269, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.5417822290724288, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9798655359094801, \"(['green', None, None, None, 'possible'], 'right')\": 1.2613204241573057, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5594650024408041, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (2, 5), deadline = 35\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.31338029833489206, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.4800728035073574, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.015436139949244032, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 1.2140253700848478, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.913976439008477, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5594650024408041, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.8129520025463847, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.6482782825656936, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 0.5804861231089306, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.5594650024408041, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (6, 2), deadline = 25\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5410092021644269, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.16340743117779, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 1.6783678544472886, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.4484928440605017, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5410092021644269, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.6871430283981336, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 1.8471640893232304, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.3213607104884582, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (6, 1), deadline = 20\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5410092021644269, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.5864371926435865, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 1.2910550544829782, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4494149316246387, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.34734176122115873, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (5, 1), deadline = 45\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5410092021644269, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2574229162061607, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 2.4451200087797527, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 2.6548889284443473, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.36119916122708084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.34734176122115873, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.5509641924870423e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (7, 2), deadline = 20\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.27135738461521264, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2706672144751923, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.11754329810406755, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 0.20463704162349003, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.7601591391082819, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 1.545769483913738, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.34734176122115873, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.566610884711104e-20, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'left', 'possible']\naction:  None\nstate2:  ['red', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (1, 6), deadline = 20\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.27135738461521264, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2706672144751923, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.11754329810406755, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8196141139287255, \"(['green', None, None, None, 'possible'], 'right')\": 1.1206693608262868, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5219171931867397, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.39589791648937267, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.543139232854811, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 5.0221955589039855e-21, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'left', None, 'possible']\naction:  None\nstate2:  ['green', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5214576438460514, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.2846373330193947, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.11754329810406755, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8737298797501079, \"(['green', None, None, None, 'possible'], 'right')\": 0.6344685525784006, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5219171931867397, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.39589791648937267, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.543139232854811, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 8.404304952705673e-22, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09925314767877214, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.18080848147620654, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.11754329810406755, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8737298797501079, \"(['green', None, None, None, 'possible'], 'right')\": -0.005459138312199435, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.5219171931867397, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.12712854154256084, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6801974629983677, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.290093469151161e-22, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09925314767877214, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.3112569550236127, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.11754329810406755, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8737298797501079, \"(['green', None, None, None, 'possible'], 'right')\": -0.005459138312199435, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9653420352307177, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 2.0267463826256935, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6801974629983677, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.7004192766658954e-23, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'right', None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (5, 6), deadline = 20\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09925314767877214, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.09978184834875777, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21467174719953708, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9116109158250754, \"(['green', None, None, None, 'possible'], 'right')\": -0.005459138312199435, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9653420352307177, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18776353757815617, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.6801974629983677, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.4853879805786445e-24, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19594437713113058, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.016697818164026296, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21467174719953708, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9116109158250754, \"(['green', None, None, None, 'possible'], 'right')\": -0.005459138312199435, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.1154872616014004, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9653420352307177, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18776353757815617, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7761382240988574, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.761813537818675e-25, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (1, 2), deadline = 50\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19594437713113058, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.016697818164026296, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21467174719953708, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9116109158250754, \"(['green', None, None, None, 'possible'], 'right')\": 0.5178801207702022, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.9653420352307177, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.18776353757815617, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8432967568692, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 9.374792038396404e-26, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (2, 5), deadline = 35\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.19594437713113058, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.48993924939410527, \"(['green', None, None, None, 'possible'], None)\": 0.0004676017125693746, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.21467174719953708, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9116109158250754, \"(['green', None, None, None, 'possible'], 'right')\": -0.0678318708319996, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": 0.4236456060378449, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8432967568692, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.6252943762317723e-27, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (1, 2), deadline = 20\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2871610639917914, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 4.8055273472830156e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.30021060382132336, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9381276410775528, \"(['green', None, None, None, 'possible'], 'right')\": -0.1974316332468, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8432967568692, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.6980063546662825e-28, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (7, 2), deadline = 30\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2871610639917914, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 4.8055273472830156e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.36014742267492633, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9381276410775528, \"(['green', None, None, None, 'possible'], 'right')\": 1.2354047882936818, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.5149313488504724e-29, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['green', None, None, 'left', 'possible']\naction:  None\nstate2:  ['green', None, None, 'left', 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (3, 5), deadline = 30\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2871610639917914, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 4.8055273472830156e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.40210319587244836, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9381276410775528, \"(['green', None, None, None, 'possible'], 'right')\": 1.352357158707006, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.6399800267599264e-30, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (7, 1), deadline = 40\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2871610639917914, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 6.835466538434638e-06, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.40210319587244836, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9381276410775528, \"(['green', None, None, None, 'possible'], 'right')\": -0.14768668926528072, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.76849213980021e-31, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'forward', None, None, 'possible']\naction:  None\nstate2:  ['green', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (8, 5), deadline = 25\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2871610639917914, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 4.314096930976834e-07, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 0.31852776288928614, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": 0.13325662785148695, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.9381276410775528, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.8482451931884843e-32, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, 'forward', None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.37572038188023693, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 8.493352635542034e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.3893067252222964, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7349272108186291, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.8482451931884843e-32, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (1, 1), deadline = 55\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.37572038188023693, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 1.672123740978044e-08, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.353726987694193, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7349272108186291, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.2758737913609153, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.9232154108659079, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.8482451931884843e-32, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 53, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 52, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', 'forward', None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'right', None, 'possible']\naction:  None\nstate2:  ['red', None, 'right', None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (3, 4), deadline = 35\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.15852300324646806, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 2.8756866146702896e-10, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": 1.2078095725996802, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7279320701270084, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.4931116540670124, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7200938659798181, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.8482451931884843e-32, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'forward', 'possible']\naction:  None\nstate2:  ['red', None, None, 'forward', 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 1), deadline = 20\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.26096610227252764, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 2.1352285481377822e-11, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6970638383377121, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 1.4931116540670124, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.7200938659798181, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.1350535792668777e-32, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (3, 6), deadline = 30\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.26096610227252764, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 4.945551159363903e-12, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.6970638383377121, \"(['green', None, None, None, 'possible'], 'right')\": -0.327365869618381, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.02543086440748231, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8040657061858727, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.234629973129716e-33, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (7, 2), deadline = 20\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.26096610227252764, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.19295747457587367, \"(['green', None, None, None, 'possible'], None)\": 7.034638869147545e-13, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": -0.41540927611248735, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16780160508523762, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8040657061858727, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.9520435628299723e-34, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'forward', None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (8, 5), deadline = 30\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.26096610227252764, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.10753765040885054, \"(['green', None, None, None, 'possible'], None)\": 4.3201475955152356e-13, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": 1.5851814149594639, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.4692302842046852, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16780160508523762, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8040657061858727, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.5212636903446195e-35, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, 'forward', 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.26096610227252764, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.2426954252658838, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": 1.1878770526543874, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16780160508523762, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8040657061858727, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.646487753187029e-36, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.5955052863073887, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.2426954252658838, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": 1.0120275443340083, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16780160508523762, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 4.77518010874332e-37, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": 0.09932564535289629, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.0990854846681373, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": 0.09300947221511441, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.16780160508523762, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 9.401107395285077e-38, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, 'left', None, 'possible']\naction:  None\nstate2:  ['red', None, 'left', None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (6, 3), deadline = 20\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09374160809736315, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.043964755938889814, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": -0.08489336944941991, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2548277242644788, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.1774557865763663e-38, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['green', None, 'forward', None, 'possible']\naction:  None\nstate2:  ['green', None, 'forward', None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (2, 1), deadline = 20\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09374160809736315, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.011979979429002318, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.7879446868363984, \"(['green', None, None, None, 'possible'], 'right')\": -0.08489336944941991, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.8951781578501115, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2548277242644788, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 5.043356599535079e-39, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'forward', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  forward\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 6), deadline = 45\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.09374160809736315, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 0.0012311785269053601, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8515612807854789, \"(['green', None, None, None, 'possible'], 'right')\": -0.08489336944941991, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.47662471049507793, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2548277242644788, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 2.2377641160456486e-39, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  left\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2156191256681542, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 4.7719902384174845e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.15288670732179105, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8515612807854789, \"(['green', None, None, None, 'possible'], 'right')\": -0.29659775103021574, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.47662471049507793, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2548277242644788, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 5.32659401548057e-41, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, 'right', 'possible']\naction:  None\nstate2:  ['red', None, None, 'right', 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'right', None, None, 'possible']\naction:  None\nstate2:  ['green', 'right', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'left')\": -0.2156191256681542, \"(['green', None, None, 'forward', 'possible'], 'left')\": 0.07763619079287562, \"(['green', None, None, None, 'possible'], None)\": 1.1052738067155119e-05, \"(['green', None, None, 'left', 'possible'], None)\": 0.0, \"(['green', None, 'left', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'right')\": -0.2570206951252537, \"(['red', 'left', None, None, 'possible'], None)\": 0.0, \"(['red', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', 'right', None, None, 'possible'], None)\": 0.0, \"(['red', None, None, 'right', 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], 'left')\": -0.05672029579250516, \"(['red', None, 'right', None, 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'forward')\": -0.8515612807854789, \"(['green', None, None, None, 'possible'], 'right')\": -0.29659775103021574, \"(['red', 'right', None, None, 'possible'], None)\": 0.0, \"(['green', 'left', None, None, 'possible'], 'right')\": 1.6284611989432793, \"(['red', None, 'forward', None, 'possible'], 'right')\": -0.15, \"(['green', None, 'right', None, 'possible'], None)\": 0.0, \"(['green', None, 'forward', None, 'possible'], None)\": 0.0, \"(['green', None, 'right', None, 'possible'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'possible'], 'right')\": 0.47662471049507793, \"(['green', 'forward', None, None, 'possible'], None)\": 0.0, \"(['green', None, None, None, 'possible'], 'forward')\": -0.2548277242644788, \"(['red', None, None, 'forward', 'possible'], None)\": 0.0, \"(['red', None, None, None, 'possible'], 'left')\": -0.8628459943301108, \"(['green', None, None, 'right', 'possible'], 'forward')\": 0.10036732942262783, \"(['red', None, None, None, 'possible'], None)\": 1.233729439955994e-41, \"(['red', None, None, 'left', 'possible'], None)\": 0.0, \"(['red', 'forward', None, None, 'possible'], 'left')\": -0.1859761291337577, \"(['red', None, 'left', None, 'possible'], None)\": 0.0}\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nself.state:['red', None, None, None, 'possible']\nrandom\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\naction:  None\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', None, None, None, 'possible']\nrandom\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['green', None, None, None, 'possible']\naction:  right\nstate2:  ['green', None, None, None, 'possible']\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nself.state:['red', None, None, None, 'possible']\naction:  None\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['red', 'left', None, None, 'possible']\naction:  None\nstate2:  ['red', 'left', None, None, 'possible']\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nself.state:['green', 'left', None, None, 'possible']\naction:  right\nstate2:  ['red', None, None, None, 'possible']\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted."
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial7.js",
    "content": "self.epsilon = 0.1\nself.alpha = 0.3 # Alpha is the learning rate\nself.gamma = 0.5 # gamma is the value of future reward. Learning doesn't work well with high gamma.\nself.defaultq = 0.0\n\nSUCCESS: 94/10 :O oh. my. goodness!\n\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (6, 5), deadline = 25\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 0.69]\nmax_q:  0.69\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 1.1864999999999999]\nmax_q:  1.1865\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.6]\nmax_q:  0.6\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.1099999999999999]\nmax_q:  1.11\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 1.5205499999999998]\nmax_q:  1.52055\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.6, -0.15, 0.0]\nmax_q:  0.6\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 1.1099999999999999, -0.15, 0.0]\nmax_q:  1.11\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (7, 2), deadline = 25\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'right')\": 1.8959099999999998, \"(['green', None, None, None, 'forward'], 'forward')\": 1.3769999999999998, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 1.5434999999999999, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.3769999999999998, -0.15, 0.0]\nmax_q:  1.377\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.5434999999999999]\nmax_q:  1.5435\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.7704499999999999, -0.15, 0.0]\nmax_q:  1.77045\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 2.3891501249999996, -0.15, 0.0]\nmax_q:  2.389150125\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'right')\": 1.8959099999999998, \"(['green', None, None, None, 'forward'], 'forward')\": 2.3891501249999996, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 1.9648364999999999, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.9648364999999999]\nmax_q:  1.9648365\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 1.8959099999999998]\nmax_q:  1.89591\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 2.3891501249999996, -0.15, 0.0]\nmax_q:  2.389150125\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 2.6307776062499997, -0.15, 0.0]\nmax_q:  2.63077760625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.0, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (7, 1), deadline = 35\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'right')\": 2.2115234999999998, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4415443243749997, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.2597720499999996, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 2.2115234999999998]\nmax_q:  2.2115235\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 2.4415443243749997, -0.15, 0.0]\nmax_q:  2.44154432437\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.0, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.0, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.2597720499999996]\nmax_q:  2.25977205\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 2.7078257287499996]\nmax_q:  2.70782572875\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.0, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.5880142943124995]\nmax_q:  2.58801429431\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.006778252137187]\nmax_q:  3.00677825214\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.8626267438393276]\nmax_q:  2.86262674384\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.0772029478350205]\nmax_q:  3.07720294784\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.155761514316609]\nmax_q:  3.15576151432\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.215622505659767]\nmax_q:  3.21562250566\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.343295347037204]\nmax_q:  3.34329534704\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.4326663360014105]\nmax_q:  3.432666336\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.2823972871691174]\nmax_q:  3.28239728717\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 2.6753126757187498, -0.15, 0.42720473230828115]\nmax_q:  2.67531267572\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.4952260282763548]\nmax_q:  3.49522602828\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.5599525205824234]\nmax_q:  3.55995252058\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.421962005259835]\nmax_q:  3.42196200526\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5801456787699374, \"(['green', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'right')\": 3.539267350056143, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'forward')\": 2.874015774360937, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.6259596424950598, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 0.6, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 0.6, -0.15]\nmax_q:  0.6\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 2.874015774360937, -0.15, 0.5801456787699374]\nmax_q:  2.87401577436\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.45643701123101943, 3.0429134082067963, -0.15, 0.5801456787699374]\nmax_q:  3.04291340821\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 3), deadline = 35\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5801456787699374, \"(['green', None, None, None, 'forward'], None)\": 0.45643701123101943, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.7300393857447576, \"(['green', None, None, None, 'right'], 'right')\": 3.6259596424950598, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 1.02, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'right')\": 3.539267350056143, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  forward\nq:  [0.45643701123101943, 2.7300393857447576, -0.15, 0.5801456787699374]\nmax_q:  2.73003938574\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.45643701123101943, 2.51102757002133, -0.15, 0.5801456787699374]\nmax_q:  2.51102757002\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.45643701123101943, 2.7343734345181305, -0.15, 0.5801456787699374]\nmax_q:  2.73437343452\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.45643701123101943, 2.924217419340411, -0.15, 0.5801456787699374]\nmax_q:  2.92421741934\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.6259596424950598]\nmax_q:  3.6259596425\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.539267350056143]\nmax_q:  3.53926735006\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.45643701123101943, 2.646952193538288, -0.15, 0.25610197513895616]\nmax_q:  2.64695219354\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.608377247547721]\nmax_q:  3.60837724755\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.4528665354768013, -0.15, 0.25610197513895616]\nmax_q:  2.45286653548\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (5, 5), deadline = 30\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.6874358881832338, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4528665354768013, \"(['green', None, None, None, 'right'], 'right')\": 3.6690618522549627, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 1.02, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.667120660415563, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.15, 1.02, -0.102]\nmax_q:  1.02\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.4528665354768013, -0.15, 0.25610197513895616]\nmax_q:  2.45286653548\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.667120660415563]\nmax_q:  3.66712066042\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.3170065748337607, -0.15, 0.25610197513895616]\nmax_q:  2.31700657483\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.221904602383632, -0.15, 0.25610197513895616]\nmax_q:  2.22190460238\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.1553332216685424, -0.15, 0.25610197513895616]\nmax_q:  2.15533322167\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (7, 6), deadline = 40\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.6874358881832338, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.1553332216685424, \"(['green', None, None, None, 'right'], 'right')\": 3.6690618522549627, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 1.314, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.717343740129138, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.717343740129138]\nmax_q:  3.71734374013\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.6690618522549627]\nmax_q:  3.66906185225\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.1553332216685424, -0.15, 0.25610197513895616]\nmax_q:  2.15533322167\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.1087332551679796, -0.15, 0.25610197513895616]\nmax_q:  2.10873325517\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (6, 6), deadline = 20\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.6874358881832338, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.1087332551679796, \"(['green', None, None, None, 'right'], 'right')\": 3.718702574416718, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 1.314, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.752499895928641, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 1.314, -0.102]\nmax_q:  1.314\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.1087332551679796, -0.15, 0.25610197513895616]\nmax_q:  2.10873325517\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.0761132786175858, -0.15, 0.25610197513895616]\nmax_q:  2.07611327862\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.718702574416718]\nmax_q:  3.71870257442\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (2, 1), deadline = 30\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.6874358881832338, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.05327929503231, \"(['green', None, None, None, 'right'], 'right')\": 3.718702574416718, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 1.7168999999999999, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.752499895928641, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.752499895928641]\nmax_q:  3.75249989593\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.718702574416718]\nmax_q:  3.71870257442\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 1.7168999999999999, -0.102]\nmax_q:  1.7169\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.6874358881832338, 2.05327929503231, -0.15, 0.25610197513895616]\nmax_q:  2.05327929503\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3452874007774636, -0.15, 0.25610197513895616]\nmax_q:  2.34528740078\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5934942906608436, -0.15, 0.25610197513895616]\nmax_q:  2.59349429066\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (7, 1), deadline = 50\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5934942906608436, \"(['green', None, None, None, 'right'], 'right')\": 3.7707750990885858, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.0593649999999997, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.7845553133125565, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.7845553133125565]\nmax_q:  3.78455531331\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5934942906608436, -0.15, 0.25610197513895616]\nmax_q:  2.59349429066\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.0593649999999997, -0.102]\nmax_q:  2.059365\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4154460034625904, -0.15, 0.25610197513895616]\nmax_q:  2.41544600346\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.290812202423813, -0.15, 0.25610197513895616]\nmax_q:  2.29081220242\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.35046025, -0.102]\nmax_q:  2.35046025\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.547190372060241, -0.15, 0.25610197513895616]\nmax_q:  2.54719037206\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7651118162512045, -0.15, 0.25610197513895616]\nmax_q:  2.76511181625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.107793287241495, -0.15, 0.25610197513895616]\nmax_q:  3.10779328724\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (6, 6), deadline = 20\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.107793287241495, \"(['green', None, None, None, 'right'], 'right')\": 3.8051588342252978, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.2453221749999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8148049841820773, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.2453221749999996, -0.102]\nmax_q:  2.245322175\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.107793287241495, -0.15, 0.25610197513895616]\nmax_q:  3.10779328724\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.2416242941552706, -0.15, 0.25610197513895616]\nmax_q:  3.24162429416\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.3553806500319796, -0.15, 0.25610197513895616]\nmax_q:  3.35538065003\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (1, 1), deadline = 55\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3553806500319796, \"(['green', None, None, None, 'right'], 'right')\": 3.8051588342252978, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.1717255224999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8148049841820773, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.8051588342252978]\nmax_q:  3.80515883423\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.834385009091503]\nmax_q:  3.83438500909\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.3553806500319796, -0.15, 0.25610197513895616]\nmax_q:  3.35538065003\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 52, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.4520735525271826, -0.15, 0.25610197513895616]\nmax_q:  3.45207355253\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 51, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0164514867690277, -0.15, 0.25610197513895616]\nmax_q:  3.01645148677\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7115160407383194, -0.15, 0.25610197513895616]\nmax_q:  2.71151604074\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9047886346275713, -0.15, 0.25610197513895616]\nmax_q:  2.90478863463\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6333520442392997, -0.15, 0.25610197513895616]\nmax_q:  2.63335204424\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.856290253991363]\nmax_q:  3.85629025399\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8383492376034045, -0.15, 0.25610197513895616]\nmax_q:  2.8383492376\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0125968519628934, -0.15, 0.25610197513895616]\nmax_q:  3.01259685196\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.708817796374025, -0.15, 0.25610197513895616]\nmax_q:  2.70881779637\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4961724574618174, -0.15, 0.25610197513895616]\nmax_q:  2.49617245746\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4961724574618174, \"(['green', None, None, None, 'right'], 'right')\": 3.8716239254212654, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.1717255224999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8148049841820773, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.8148049841820773]\nmax_q:  3.81480498418\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4961724574618174, -0.15, 0.25610197513895616]\nmax_q:  2.49617245746\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.347320720223272, -0.15, 0.25610197513895616]\nmax_q:  2.34732072022\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5952226121897812, -0.15, 0.25610197513895616]\nmax_q:  2.59522261219\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8059392203613136, -0.15, 0.25610197513895616]\nmax_q:  2.80593922036\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.1717255224999996, -0.102]\nmax_q:  2.1717255225\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (6, 5), deadline = 25\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5641574542529195, \"(['green', None, None, None, 'right'], 'right')\": 3.8716239254212654, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.1717255224999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.255, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8425842365547656, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.1717255224999996, -0.102]\nmax_q:  2.1717255225\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5641574542529195, -0.15, 0.25610197513895616]\nmax_q:  2.56415745425\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3949102179770434, -0.15, 0.25610197513895616]\nmax_q:  2.39491021798\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6356736852804867, -0.15, 0.25610197513895616]\nmax_q:  2.63567368528\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.15, 2.1202078657499994, -0.102]\nmax_q:  2.12020786575\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.8716239254212654]\nmax_q:  3.87162392542\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.8425842365547656]\nmax_q:  3.84258423655\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.289808965588336]\nmax_q:  3.28980896559\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.396337620750085]\nmax_q:  3.39633762075\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.0841455060249996, -0.102]\nmax_q:  2.08414550602\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (8, 6), deadline = 20\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4449715796963405, \"(['green', None, None, None, 'right'], 'right')\": 3.8908803366080753, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.0841455060249996, \"(['red', None, None, None, 'forward'], 'right')\": -0.3285, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.561068385016271, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.561068385016271]\nmax_q:  3.56106838502\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4449715796963405, -0.15, 0.25610197513895616]\nmax_q:  2.4449715797\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.678225842741889, -0.15, 0.25610197513895616]\nmax_q:  2.67822584274\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8764919663306054, -0.15, 0.25610197513895616]\nmax_q:  2.87649196633\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.613544376431424, -0.15, 0.25610197513895616]\nmax_q:  2.61354437643\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4294810635019966, -0.15, 0.25610197513895616]\nmax_q:  2.4294810635\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6650589039766968, -0.15, 0.25610197513895616]\nmax_q:  2.66505890398\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8653000683801917, -0.15, 0.25610197513895616]\nmax_q:  2.86530006838\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.62690812726383]\nmax_q:  3.62690812726\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.6828719081742554]\nmax_q:  3.68287190817\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.7616423862131896]\nmax_q:  3.76164238621\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (1, 5), deadline = 20\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.035505058123163, \"(['green', None, None, None, 'right'], 'right')\": 3.8908803366080753, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.0841455060249996, \"(['red', None, None, None, 'forward'], 'right')\": -0.3285, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.816781720840444, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.8908803366080753]\nmax_q:  3.89088033661\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.816781720840444]\nmax_q:  3.81678172084\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.0841455060249996, -0.102]\nmax_q:  2.08414550602\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.035505058123163, -0.15, 0.25610197513895616]\nmax_q:  3.03550505812\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (4, 4), deadline = 20\nRoutePlanner.route_to(): destination = (4, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.035505058123163, \"(['green', None, None, None, 'right'], 'right')\": 3.8961334937517194, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.083295128103062, \"(['red', None, None, None, 'forward'], 'right')\": -0.3285, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8561672286510684, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.8961334937517194]\nmax_q:  3.89613349375\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.083295128103062, -0.102]\nmax_q:  2.0832951281\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.035505058123163, -0.15, 0.25610197513895616]\nmax_q:  3.03550505812\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.1801792994046885, -0.15, 0.25610197513895616]\nmax_q:  3.1801792994\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (8, 3), deadline = 30\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1801792994046885, \"(['green', None, None, None, 'right'], 'right')\": 3.9057185299238637, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.0583065896721435, \"(['red', None, None, None, 'forward'], 'right')\": -0.3285, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8561672286510684, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.3285]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.0583065896721435, -0.102]\nmax_q:  2.05830658967\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.1801792994046885, -0.15, 0.25610197513895616]\nmax_q:  3.1801792994\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.303152404493985, -0.15, 0.25610197513895616]\nmax_q:  3.30315240449\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.407679543819887, -0.15, 0.25610197513895616]\nmax_q:  3.40767954382\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9057185299238637]\nmax_q:  3.90571852992\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4965276122469033, \"(['green', None, None, None, 'right'], 'right')\": 3.9057185299238637, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.349560601221322, \"(['red', None, None, None, 'forward'], 'right')\": 0.09707689491070326, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8561672286510684, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 3.8561672286510684]\nmax_q:  3.85616722865\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9057185299238637]\nmax_q:  3.90571852992\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.4965276122469033, -0.15, 0.25610197513895616]\nmax_q:  3.49652761225\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, 0.09707689491070326]\nmax_q:  0.0970768949107\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.349560601221322, -0.102]\nmax_q:  2.34956060122\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (6, 6), deadline = 25\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0621308628094375, \"(['green', None, None, None, 'right'], 'right')\": 3.919860750435284, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.349560601221322, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.885174839544327, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.919860750435284]\nmax_q:  3.91986075044\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9318816378699912]\nmax_q:  3.93188163787\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0621308628094375, -0.15, 0.25610197513895616]\nmax_q:  3.06213086281\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9420993921894922]\nmax_q:  3.94209939219\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.743491603966606, -0.15, 0.25610197513895616]\nmax_q:  2.74349160397\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9319678633716153, -0.15, 0.25610197513895616]\nmax_q:  2.93196786337\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.092172683865873, -0.15, 0.25610197513895616]\nmax_q:  3.09217268387\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 1), deadline = 20\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.092172683865873, \"(['green', None, None, None, 'right'], 'right')\": 3.9422458004642933, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.349560601221322, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.885174839544327, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.349560601221322, -0.102]\nmax_q:  2.34956060122\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.092172683865873, -0.15, 0.25610197513895616]\nmax_q:  3.09217268387\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.2283467812859916, -0.15, 0.25610197513895616]\nmax_q:  3.22834678129\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.885174839544327]\nmax_q:  3.88517483954\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (6, 5), deadline = 30\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.344094764093093, \"(['green', None, None, None, 'right'], 'right')\": 3.9422458004642933, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.2446924208549253, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.885174839544327, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.2446924208549253, -0.102]\nmax_q:  2.24469242085\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.344094764093093, -0.15, 0.25610197513895616]\nmax_q:  3.34409476409\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.4424805494791286, -0.15, 0.25610197513895616]\nmax_q:  3.44248054948\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.00973638463539, -0.15, 0.25610197513895616]\nmax_q:  3.00973638464\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.1582759269400817, -0.15, 0.25610197513895616]\nmax_q:  3.15827592694\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.1712846945984476, -0.102]\nmax_q:  2.1712846946\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.284534537899069, \"(['green', None, None, None, 'right'], 'right')\": 3.9422458004642933, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.1712846945984476, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.885174839544327, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.1712846945984476, -0.102]\nmax_q:  2.1712846946\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.284534537899069, -0.15, 0.25610197513895616]\nmax_q:  3.2845345379\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8991741765293484, -0.15, 0.25610197513895616]\nmax_q:  2.89917417653\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.885174839544327]\nmax_q:  3.88517483954\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.064298050049946, -0.15, 0.25610197513895616]\nmax_q:  3.06429805005\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (8, 6), deadline = 25\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.064298050049946, \"(['green', None, None, None, 'right'], 'right')\": 3.9422458004642933, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.4455919904086807, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.910959257750673, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9422458004642933]\nmax_q:  3.94224580046\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.064298050049946, -0.15, 0.25610197513895616]\nmax_q:  3.06429805005\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.204653342542454, -0.15, 0.25610197513895616]\nmax_q:  3.20465334254\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.323955341161086, -0.15, 0.25610197513895616]\nmax_q:  3.32395534116\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.92676873881276, -0.15, 0.25610197513895616]\nmax_q:  2.92676873881\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (7, 4), deadline = 25\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 2.92676873881276, \"(['green', None, None, None, 'right'], 'right')\": 3.9509089303946494, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.4455919904086807, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.910959257750673, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.92676873881276, -0.15, 0.25610197513895616]\nmax_q:  2.92676873881\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0877534279908456, -0.15, 0.25610197513895616]\nmax_q:  3.08775342799\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.2245904137922183, -0.15, 0.25610197513895616]\nmax_q:  3.22459041379\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.9509089303946494]\nmax_q:  3.95090893039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (5, 4), destination = (3, 2), deadline = 20\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3409018517233853, \"(['green', None, None, None, 'right'], 'right')\": 3.3656362512762543, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.4455919904086807, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.910959257750673, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.4455919904086807, -0.102]\nmax_q:  2.44559199041\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.06748463932590222]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.3409018517233853, -0.15, 0.25610197513895616]\nmax_q:  3.34090185172\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.3656362512762543]\nmax_q:  3.36563625128\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9386312962063696, -0.15, 0.25610197513895616]\nmax_q:  2.93863129621\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (7, 1), deadline = 40\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9386312962063696, \"(['green', None, None, None, 'right'], 'right')\": 3.5425892645559784, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.3119143932860764, \"(['red', None, None, None, 'forward'], 'right')\": -0.06748463932590222, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.910959257750673, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.36329430078897523, 3.5425892645559784]\nmax_q:  3.54258926456\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.910959257750673]\nmax_q:  3.91095925775\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9386312962063696, -0.15, 0.25610197513895616]\nmax_q:  2.93863129621\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.097836601775414, -0.15, 0.25610197513895616]\nmax_q:  3.09783660178\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.3119143932860764, -0.102]\nmax_q:  2.31191439329\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.5499684560777678, 0.0, 0.36329430078897523, 3.6664563738517852]\nmax_q:  3.66645637385\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.8876399365032386]\nmax_q:  3.8876399365\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.9044939460277526]\nmax_q:  3.90449394603\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.895595580045187]\nmax_q:  3.89559558005\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.911256243038409]\nmax_q:  3.91125624304\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.565127234293165, -0.102]\nmax_q:  2.56512723429\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7684856212427897, -0.15, 0.25610197513895616]\nmax_q:  2.76848562124\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.953212778056371, -0.15, 0.25610197513895616]\nmax_q:  2.95321277806\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (3, 5), deadline = 40\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.953212778056371, \"(['green', None, None, None, 'right'], 'right')\": 3.7496654521717354, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.395589064005215, \"(['red', None, None, None, 'forward'], 'right')\": -0.19723924752813154, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.9245678065826475, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.5499684560777678, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.395589064005215, -0.102]\nmax_q:  2.39558906401\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.953212778056371, -0.15, 0.25610197513895616]\nmax_q:  2.95321277806\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.1102308613479153, -0.15, 0.25610197513895616]\nmax_q:  3.11023086135\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.19723924752813154]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.2769123448036503, -0.102]\nmax_q:  2.2769123448\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.12850676717183898]\nmax_q:  0.128506767172\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.5353754930831025, -0.102]\nmax_q:  2.53537549308\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.5499684560777678, 0.4124498178257603, 0.36329430078897523, 3.7496654521717354]\nmax_q:  3.74966545217\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.9245678065826475]\nmax_q:  3.92456780658\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (1, 6), deadline = 50\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.7771616029435404, \"(['green', None, None, None, 'right'], 'right')\": 3.8134509875076117, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.755069169120637, \"(['red', None, None, None, 'forward'], 'right')\": 0.35652897746181833, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.9245678065826475, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.5499684560777678, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.35652897746181833]\nmax_q:  0.356528977462\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.755069169120637, -0.102]\nmax_q:  2.75506916912\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7771616029435404, -0.15, 0.25610197513895616]\nmax_q:  2.77716160294\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.960587362502009, -0.15, 0.25610197513895616]\nmax_q:  2.9605873625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.5161445246648039]\nmax_q:  0.516144524665\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.552941692270008, -0.102]\nmax_q:  2.55294169227\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.7700004384295065, -0.102]\nmax_q:  2.77000043843\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (1, 3), deadline = 20\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.749832832451127, \"(['green', None, None, None, 'right'], 'right')\": 3.8134509875076117, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.7700004384295065, \"(['red', None, None, None, 'forward'], 'right')\": 0.6237760921330318, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.9245678065826475, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.33371958408380337, \"(['green', None, None, None, 'right'], None)\": 0.5499684560777678, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.33371958408380337, 3.9245678065826475]\nmax_q:  3.92456780658\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.6237760921330318]\nmax_q:  0.623776092133\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.7700004384295065, -0.102]\nmax_q:  2.77000043843\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.749832832451127, -0.15, 0.25610197513895616]\nmax_q:  2.74983283245\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.9545003726650805, -0.102]\nmax_q:  2.95450037267\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.38020967831307695]\nmax_q:  0.380209678313\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.17317822656611537]\nmax_q:  0.173178226566\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.6681502608655565, -0.102]\nmax_q:  2.66815026087\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.3585119237656933]\nmax_q:  0.358511923766\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.4677051826058896, -0.102]\nmax_q:  2.46770518261\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5819144344627505, -0.15, 0.25610197513895616]\nmax_q:  2.58191443446\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7946272692933376, -0.15, 0.25610197513895616]\nmax_q:  2.79462726929\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.4882455118053979]\nmax_q:  0.488245511805\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (6, 2), deadline = 20\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6294759152761458, \"(['green', None, None, None, 'right'], 'right')\": 3.8134509875076117, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.3273936278241227, \"(['red', None, None, None, 'forward'], 'right')\": 0.2650086850345882, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.15, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.93588263559525, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.3273936278241227, -0.102]\nmax_q:  2.32739362782\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.93588263559525]\nmax_q:  3.9358826356\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.2650086850345882]\nmax_q:  0.265008685035\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8134509875076117]\nmax_q:  3.81345098751\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.9455002402559627]\nmax_q:  3.94550024026\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8612407272937226]\nmax_q:  3.86124072729\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6294759152761458, -0.15, 0.25610197513895616]\nmax_q:  2.62947591528\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.941036277273232]\nmax_q:  3.94103627727\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.3587253940912625]\nmax_q:  3.35872539409\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (5, 2), deadline = 25\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.835054527984724, \"(['green', None, None, None, 'right'], 'right')\": 3.882054618199664, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.229175539476886, \"(['red', None, None, None, 'forward'], 'right')\": 0.07525738227939995, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.3587253940912625, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.229175539476886, -0.102]\nmax_q:  2.22917553948\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.835054527984724, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.83505452798\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.07525738227939995]\nmax_q:  0.0752573822794\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.494799208555353, -0.102]\nmax_q:  2.49479920856\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.3587253940912625]\nmax_q:  3.35872539409\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (2, 6), deadline = 20\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5958267769312164, \"(['green', None, None, None, 'right'], 'right')\": 3.882054618199664, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.346359445988747, \"(['red', None, None, None, 'forward'], 'right')\": 0.2920541841352624, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.3587253940912625, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.346359445988747, -0.102]\nmax_q:  2.34635944599\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5958267769312164, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.59582677693\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.2920541841352624]\nmax_q:  0.292054184135\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.5944055290904346, -0.102]\nmax_q:  2.59440552909\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, 0.09824605651497305]\nmax_q:  0.098246056515\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.8052446997268694, -0.102]\nmax_q:  2.80524469973\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.3]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.9844579947678387, -0.102]\nmax_q:  2.98445799477\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.2879052702813022]\nmax_q:  0.287905270281\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.3587253940912625]\nmax_q:  3.35872539409\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.882054618199664]\nmax_q:  3.8820546182\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.5334159685938333]\nmax_q:  3.53341596859\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4608868714721406, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.46088687147\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4608868714721406, \"(['green', None, None, None, 'right'], 'right')\": 3.84745062802884, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.689120596337487, \"(['red', None, None, None, 'forward'], 'right')\": 0.42066671991773263, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.650508772220009, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.84745062802884]\nmax_q:  3.84745062803\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.42066671991773263]\nmax_q:  0.420666719918\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.689120596337487, -0.102]\nmax_q:  2.68912059634\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.5135997346632339]\nmax_q:  0.513599734663\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.482384417436241, -0.102]\nmax_q:  2.48238441744\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.7100267548208046, -0.102]\nmax_q:  2.71002675482\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4608868714721406, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.46088687147\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6917538407513195, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.69175384075\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.2865597744637488]\nmax_q:  0.286559774464\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.840791755453189]\nmax_q:  3.84079175545\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.650508772220009]\nmax_q:  3.65050877222\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.836130544650233]\nmax_q:  3.83613054465\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.4837904568204173]\nmax_q:  0.48379045682\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.844907739592894]\nmax_q:  3.84490773959\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.86817157865396]\nmax_q:  3.86817157865\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.7307757222515416]\nmax_q:  3.73077572225\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.887990764638621, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.88799076464\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.887990764638621, \"(['green', None, None, None, 'right'], 'right')\": 3.867336463395503, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.497018728374563, \"(['red', None, None, None, 'forward'], 'right')\": 0.2612218882973547, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.7916434750854044, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.497018728374563, -0.102]\nmax_q:  2.49701872837\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.887990764638621, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.88799076464\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.054792149942828, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.05479214994\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.7224659191183784, -0.102]\nmax_q:  2.72246591912\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.2612218882973547]\nmax_q:  0.261221888297\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.867336463395503]\nmax_q:  3.8673364634\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.7916434750854044]\nmax_q:  3.79164347509\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.8355327394057324]\nmax_q:  3.83553273941\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.4494859900388356]\nmax_q:  0.449485990039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.866255224429962]\nmax_q:  3.86625522443\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.8877609639469224]\nmax_q:  3.88776096395\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (3, 4), deadline = 35\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.777537788204582, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8758820456396625, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.505726143382865, \"(['red', None, None, None, 'forward'], 'right')\": 0.5812708612578722, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8877609639469224, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8758820456396625]\nmax_q:  3.87588204564\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.894499738793713]\nmax_q:  3.89449973879\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.5812708612578722]\nmax_q:  0.581270861258\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.777537788204582, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.7775377882\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.25688960288051055]\nmax_q:  0.256889602881\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.729867221875435, -0.102]\nmax_q:  2.72986722188\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.909313961747637]\nmax_q:  3.90931396175\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9609071199738946, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.96090711997\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (1, 4), deadline = 20\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9609071199738946, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9229168674854913, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.920387138594119, \"(['red', None, None, None, 'forward'], 'right')\": 0.06835616244843397, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8877609639469224, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9229168674854913]\nmax_q:  3.92291686749\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.934479337362667]\nmax_q:  3.93447933736\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9609071199738946, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.96090711997\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, 0.06835616244843397]\nmax_q:  0.0683561624484\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.944307436758267]\nmax_q:  3.94430743676\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (8, 1), deadline = 25\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1167710519778105, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.944307436758267, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.6442709970158833, \"(['red', None, None, None, 'forward'], 'right')\": -0.09189726191883113, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8877609639469224, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.944307436758267]\nmax_q:  3.94430743676\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.1167710519778105, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.11677105198\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.2492553941811386, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.24925539418\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.6442709970158833, -0.102]\nmax_q:  2.64427099702\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.874478775926797, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.87447877593\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.450989697911118, -0.102]\nmax_q:  2.45098969791\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (1, 6), deadline = 30\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0433069595377766, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.952661321244527, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.450989697911118, \"(['red', None, None, None, 'forward'], 'right')\": -0.09189726191883113, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.8877609639469224, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.5239861041979499, 3.8877609639469224]\nmax_q:  3.88776096395\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0433069595377766, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.04330695954\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.51122041017351, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.51122041017\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7345373486474833, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.73453734865\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.450989697911118, -0.102]\nmax_q:  2.45098969791\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 6), deadline = 45\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.514176144053238, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.952661321244527, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.450989697911118, \"(['red', None, None, None, 'forward'], 'right')\": -0.09189726191883113, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.914331872949525, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.450989697911118, -0.102]\nmax_q:  2.45098969791\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.514176144053238, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.51417614405\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.952661321244527]\nmax_q:  3.95266132124\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3599233008372664, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.35992330084\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.09189726191883113]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.6833412432244503, -0.102]\nmax_q:  2.68334124322\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6059348057116765, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.60593480571\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9540127058135974]\nmax_q:  3.95401270581\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4241543639981735, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.424154364\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6605312093984477, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.6605312094\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (1, 1), deadline = 20\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6605312093984477, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9549586750119468, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.914331872949525, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.914331872949525]\nmax_q:  3.91433187295\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6605312093984477, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.6605312094\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.86145152798868, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.86145152799\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.657, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0322337987903776, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.03223379879\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.722563659153264, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.72256365915\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9141791102802745, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.91417911028\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0770522437382333, -0.24371139265809, 0.25610197513895616]\nmax_q:  3.07705224374\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9549586750119468]\nmax_q:  3.95495867501\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (8, 6), deadline = 25\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.753936570616763, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.869475919168063, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.3400323110646672, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.869475919168063]\nmax_q:  3.86947591917\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.753936570616763, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.75393657062\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.527755599431734, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.52775559943\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.7599, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8319300000000001, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3694289196022136, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.3694289196\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8319300000000001, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.2586002437215495, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.25860024372\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.1810201706050845, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.18102017061\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8319300000000001, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.126714119423559, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.12671411942\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.407707001510025, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.40770700151\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.3400323110646672]\nmax_q:  3.34003231106\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.646550951283521, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.64655095128\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4525856658984644, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.4525856659\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6846978160136947, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.68469781601\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.479288471209586, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.47928847121\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.479288471209586, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.889054531292853, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.521380797439195, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.479288471209586, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.47928847121\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.33550192984671, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.33550192985\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.234851350892697, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.23485135089\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4996236482587926, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.49962364826\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (3, 2), deadline = 20\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4996236482587926, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.889054531292853, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.521380797439195, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.889054531292853]\nmax_q:  3.88905453129\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.521380797439195]\nmax_q:  3.52138079744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4996236482587926, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.49962364826\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7246801010199735, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.72468010102\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (3, 2), deadline = 30\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.7246801010199735, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.322338171904997, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.563317283993186, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 0.9524340901831982, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.9524340901831982, 0.0]\nmax_q:  0.952434090183\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7246801010199735, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.72468010102\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5072760707139814, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.50727607071\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3550932494997867, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.3550932495\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6018292620748187, -0.24371139265809, 0.25610197513895616]\nmax_q:  2.60182926207\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.478338870257115, -0.102]\nmax_q:  2.47833887026\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (3, 5), deadline = 35\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.421280483452373, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.322338171904997, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.478338870257115, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": -0.24371139265809, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.563317283993186, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.478338870257115, -0.102]\nmax_q:  2.47833887026\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.563317283993186]\nmax_q:  3.56331728399\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.421280483452373, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.42128048345\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.706588039718548, -0.102]\nmax_q:  2.70658803972\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.658088410934517, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.65808841093\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4606618876541617, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.46066188765\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4606618876541617, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.322338171904997, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.900599833760766, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.59267282458098, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.59267282458098]\nmax_q:  3.59267282458\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.322338171904997]\nmax_q:  3.3223381719\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4606618876541617, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.46066188765\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.322463321357913, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.32246332136\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.225724324950539, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.22572432495\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (5, 2), deadline = 30\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.225724324950539, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.900599833760766, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.613221702992435, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nq:  [0.0, 0.2871497809424287, 0.5239861041979499, 3.613221702992435]\nmax_q:  3.61322170299\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.225724324950539, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.22572432495\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.900599833760766, -0.102]\nmax_q:  2.90059983376\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.491865676207958, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.49186567621\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.376153508423479, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.37615350842\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.619730482159957, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.61973048216\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 5), deadline = 35\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.619730482159957, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.065509858696651, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.649398188462059, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5239861041979499, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.2871497809424287, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.44841457492900894, 0.6142000012078738, 3.649398188462059]\nmax_q:  3.64939818846\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.619730482159957, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.61973048216\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.43381133751197, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.43381133751\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.065509858696651, -0.102]\nmax_q:  3.0655098587\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (8, 3), deadline = 30\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6687396368851743, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.065509858696651, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.2192860779503336, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856}\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.657, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.065509858696651, -0.102]\nmax_q:  3.0655098587\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6687396368851743, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.66873963689\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.2056833798921534, -0.102]\nmax_q:  3.20568337989\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0381643876495383, 0.042594097657192964, 0.25610197513895616]\nmax_q:  3.03816438765\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.726715071354677, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.72671507135\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.726715071354677, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.3248308729083305, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.2192860779503336, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.3248308729083305, -0.102]\nmax_q:  3.32483087291\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.726715071354677, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.72671507135\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.917707810651475, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.91770781065\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4496768272192226, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.44967682722\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.682225303136339, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.68222530314\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.44841457492900894, 0.6142000012078738, 3.2192860779503336]\nmax_q:  3.21928607795\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (1, 6), deadline = 45\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.016574240441531, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4775577121954373, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.4261062419720805, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['red', None, None, None, 'right'], 'right')\": 3.2192860779503336, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.2192860779503336]\nmax_q:  3.21928607795\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4775577121954373, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.4775577122\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.705924055366122, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.70592405537\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.4261062419720805, -0.102]\nmax_q:  3.42610624197\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.8823509999999999, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.016574240441531, 0.0, -0.15]\nmax_q:  1.01657424044\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9000354470612035, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.90003544706\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0650301300020226, 0.042594097657192964, 0.25610197513895616]\nmax_q:  3.06503013\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.3116019683090716, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0650301300020226, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.4676199757823634, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.512190305676268, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.3363931662577833, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.0650301300020226, 0.042594097657192964, 0.25610197513895616]\nmax_q:  3.06503013\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.205275610501719, 0.042594097657192964, 0.25610197513895616]\nmax_q:  3.2052756105\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.4676199757823634]\nmax_q:  3.46761997578\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.3244842689264607, 0.042594097657192964, 0.25610197513895616]\nmax_q:  3.32448426893\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.6, -0.15, 0.0]\nmax_q:  0.6\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (5, 6), deadline = 25\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.3116019683090716, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9271389882485224, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.527792957986322, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.512190305676268, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.3363931662577833, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.3363931662577833]\nmax_q:  3.33639316626\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9271389882485224, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.92713898825\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6489972917739655, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.64899729177\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 1.3116019683090716, 0.0, -0.15]\nmax_q:  1.31160196831\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.527792957986322]\nmax_q:  3.52779295799\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6510383994881366, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.527792957986322, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.512190305676268, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.464644160078396, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.464644160078396]\nmax_q:  3.46464416008\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.5449475360666365]\nmax_q:  3.54494753607\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.6510383994881366, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.65103839949\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (1, 2), deadline = 30\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4557268796416953, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.527792957986322, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.512190305676268, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.6132054056566405, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.512190305676268, -0.102]\nmax_q:  3.51219030568\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.4557268796416953, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.45572687964\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.3190088157491866, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.31900881575\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.2233061710244306, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.22330617102\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.489810245370766, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.48981024537\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.6132054056566405]\nmax_q:  3.61320540566\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (1, 3), deadline = 20\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.342867171759536, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.527792957986322, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.0585332139733876, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.657, \"(['green', None, None, None, 'forward'], 'left')\": 0.042594097657192964, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.6132054056566405, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.6138142094578047, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.7599, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.7599, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.7599, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.0585332139733876, -0.102]\nmax_q:  3.05853321397\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.6138142094578047, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.342867171759536, 0.042594097657192964, 0.25610197513895616]\nmax_q:  2.34286717176\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.6132054056566405]\nmax_q:  3.61320540566\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.527792957986322]\nmax_q:  3.52779295799\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5914370959956052, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.591437096\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (3, 4), deadline = 30\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5914370959956052, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.618216979739065, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.1997532318773794, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.658412727657596, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.44841457492900894, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.618216979739065]\nmax_q:  3.61821697974\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.44841457492900894, 0.6142000012078738, 3.658412727657596]\nmax_q:  3.65841272766\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.5914370959956052, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.591437096\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.8027215315962644, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.8027215316\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9823133018568244, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.98231330186\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.134966306578301, -0.12018413163996491, 0.25610197513895616]\nmax_q:  3.13496630658\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.713115978605215]\nmax_q:  3.71311597861\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7944764146048104, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.7944764146\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (6, 5), deadline = 20\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.3, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.7944764146048104, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.681513794965985, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.1997532318773794, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.7561485818144327, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7944764146048104, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.7944764146\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.9753049524140884, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.97530495241\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.7599, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3, -0.7599, -0.255]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.1997532318773794, -0.102]\nmax_q:  3.19975323188\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.682713466689862, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.68271346669\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 2), deadline = 45\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.682713466689862, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.681513794965985, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.8398272623141656, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.0350053170591804, \"(['red', None, None, None, 'right'], 'right')\": 3.7561485818144327, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.681513794965985]\nmax_q:  3.68151379497\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.7561485818144327]\nmax_q:  3.75614858181\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 2.8398272623141656, -0.102]\nmax_q:  2.83982726231\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.682713466689862, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.68271346669\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.880306446686382, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.88030644669\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 3.048260479683425, -0.12018413163996491, 0.25610197513895616]\nmax_q:  3.04826047968\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.7927262945422675]\nmax_q:  3.79272629454\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.7337823357783972, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.73378233578\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9176456999999998, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.0350053170591804, 0.0, -0.15]\nmax_q:  1.03500531706\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.923714985411637, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.92371498541\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (1, 5), deadline = 40\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.0152728431864184, \"(['green', None, None, None, 'forward'], None)\": 0.8329982318448831, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.255, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.923714985411637, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.740481943748354, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.013853172967041, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.823817350360927, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.923714985411637, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.92371498541\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.8329982318448831, 2.646600489788146, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.64660048979\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.452620342851702, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.45262034285\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.684727291423947, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.68472729142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.8820181977103547, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.88201819771\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.740481943748354]\nmax_q:  3.74048194375\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.7919099631779867]\nmax_q:  3.79190996318\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 1.0152728431864184, 0.0, 0.0]\nmax_q:  1.01527284319\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.617412738397248, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.6174127384\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, 0.1235779759450561]\nmax_q:  0.123577975945\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.823817350360927]\nmax_q:  3.82381735036\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.850858581769458]\nmax_q:  3.85085858177\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8279095767787297]\nmax_q:  3.82790957678\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.013853172967041, -0.102]\nmax_q:  3.01385317297\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 0.9509918137191734, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4321889168780735, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.85372314026192, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.013853172967041, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.8697874437554294, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.8697874437554294]\nmax_q:  3.86978744376\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.85372314026192]\nmax_q:  3.85372314026\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.31262182590374993, -0.15, 3.013853172967041, -0.102]\nmax_q:  3.01385317297\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.4321889168780735, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.43218891688\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (2, 6), deadline = 25\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 0.9509918137191734, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4321889168780735, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8756646692226315, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.1617751970219845, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.8869096816680884, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8756646692226315]\nmax_q:  3.87566466922\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.8869096816680884]\nmax_q:  3.88690968167\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.6673605793463624, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.66736057935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.867256492444408, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.86725649244\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (6, 4), deadline = 25\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 0.9509918137191734, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.31262182590374993, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.867256492444408, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8960017207060553, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.1617751970219845, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.9052370352735695, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 3.1617751970219845, -0.102]\nmax_q:  3.16177519702\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.867256492444408, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.86725649244\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.9052370352735695]\nmax_q:  3.90523703527\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.6070795447110857, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.60707954471\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.8160176130044228, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.816017613\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 0.9509918137191734, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.8160176130044228, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8960017207060553, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.813242637915389, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.918066182797406, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.918066182797406]\nmax_q:  3.9180661828\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.8160176130044228, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.816017613\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8960017207060553]\nmax_q:  3.89600172071\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.993614971053759, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.99361497105\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.6955304797376316, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.69553047974\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (7, 5), deadline = 30\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 0.9509918137191734, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6955304797376316, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.916258192403852, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.813242637915389, \"(['red', None, None, None, 'forward'], 'right')\": -0.21432808334318176, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.4356740919041629, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.927046586064092, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 2.813242637915389, -0.102]\nmax_q:  2.81324263792\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.21432808334318176]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 2.5692698465407724, -0.102]\nmax_q:  2.56926984654\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.6955304797376316, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.69553047974\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.486871335816342, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.48687133582\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9509918137191734, 2.3408099350714395, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.34080993507\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.4356740919041629, 0.0]\nmax_q:  0.435674091904\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.3000296583402272]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.48289291169255, 0.5708575992410885, 0.6142000012078738, 3.927046586064092]\nmax_q:  3.92704658606\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.916258192403852]\nmax_q:  3.9162581924\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 2.7838793695596564, -0.102]\nmax_q:  2.78387936956\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.2385669545500075, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.23856695455\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9318364355485125]\nmax_q:  3.93183643555\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (8, 3), deadline = 25\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5027819113675065, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9427412057497753, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.9662974641257076, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.7424105931934918, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.936371339105442, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 2.9662974641257076, -0.102]\nmax_q:  2.96629746413\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.5027819113675065, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.50278191137\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.72736462466238, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.72736462466\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.918259930963023, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.91825993096\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.0805209413185697, -0.12018413163996491, 0.25610197513895616]\nmax_q:  3.08052094132\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 6), deadline = 35\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0805209413185697, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9427412057497753, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.121352844506851, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.7424105931934918, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.12018413163996491, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.936371339105442, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.6142000012078738, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7296699466204633, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.5708575992410885, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.6900560203345781, 0.7203957017113278, 3.936371339105442]\nmax_q:  3.93637133911\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9427412057497753]\nmax_q:  3.94274120575\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.0805209413185697, -0.12018413163996491, 0.25610197513895616]\nmax_q:  3.08052094132\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.756364658922999, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.75636465892\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.942909960084549, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.94290996008\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.660036972059184, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.66003697206\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9513300248873087]\nmax_q:  3.95133002489\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7296699466204633, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.8610314262503063, -0.12018413163996491, 0.25610197513895616]\nmax_q:  2.86103142625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.48289291169255, 0.6900560203345781, 0.7203957017113278, 3.945915638239625]\nmax_q:  3.94591563824\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7424105931934918, 0.0]\nmax_q:  0.742410593193\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9578183631570596]\nmax_q:  3.95781836316\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.48289291169255, 0.6900560203345781, 0.7203957017113278, 3.473502535746761]\nmax_q:  3.47350253575\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.6027219983752143, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.60272199838\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 3.121352844506851, -0.102]\nmax_q:  3.12135284451\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.812313698618932, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.81231369862\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.990466643826092, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.99046664383\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.141896647252178, -0.23412889214797544, 0.25610197513895616]\nmax_q:  3.14189664725\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.270612150164351, -0.23412889214797544, 0.25610197513895616]\nmax_q:  3.27061215016\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.270612150164351, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.891498234571956, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.2531499178308234, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.5524771553847465, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7203957017113278, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.891498234571956]\nmax_q:  3.89149823457\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9423519899999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.270612150164351, -0.23412889214797544, 0.25610197513895616]\nmax_q:  3.27061215016\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 3.380020327639698, -0.23412889214797544, 0.25610197513895616]\nmax_q:  3.38002032764\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (4, 1), deadline = 40\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.48289291169255, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9660142293477887, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8569203375080807, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.2531499178308234, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.5524771553847465, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7203957017113278, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9423519899999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8569203375080807]\nmax_q:  3.85692033751\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.5524771553847465]\nmax_q:  3.55247715538\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.9660142293477887, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.96601422935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.676209960543452, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.67620996054\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (7, 3), deadline = 35\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.676209960543452, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8327158095633687, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 3.2531499178308234, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.102, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.661641380203828, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8327158095633687]\nmax_q:  3.83271580956\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.661641380203828]\nmax_q:  3.6616413802\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.676209960543452, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.67620996054\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.473346972380416, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.47334697238\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.3313428806662913, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.33134288067\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.7379710572014186]\nmax_q:  3.7379710572\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.7914018310997326]\nmax_q:  3.7914018311\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.832147273724932]\nmax_q:  3.83214727372\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 3.2531499178308234, -0.22139999999999999]\nmax_q:  3.25314991783\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.5816414485663475, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.58164144857\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (2, 4), deadline = 35\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0014793127859225, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5816414485663475, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8568235975317355, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.877204942481576, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.8288033728285527, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 2.877204942481576, -0.22139999999999999]\nmax_q:  2.87720494248\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.5816414485663475, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.58164144857\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.407149013996443, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.407149014\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0014793127859225, 2.6460766618969767, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.6460766619\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.15, 3.0456242011093395, -0.22139999999999999]\nmax_q:  3.04562420111\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4522536633278835, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.45225366333\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.684415613828701, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.68441561383\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.684415613828701, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.8568235975317355, \"(['green', None, None, None, 'left'], 'forward')\": -0.15, \"(['green', None, None, None, 'left'], 'left')\": 2.7319369407765377, \"(['red', None, None, None, 'forward'], 'right')\": -0.024235717655657907, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.8288033728285527, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.8568235975317355]\nmax_q:  3.85682359753\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.024235717655657907]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.255, 2.7319369407765377, -0.22139999999999999]\nmax_q:  2.73193694078\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.23569733971534462]\nmax_q:  0.235697339715\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.255, 2.9221463996600567, -0.22139999999999999]\nmax_q:  2.92214639966\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.4176504798750464]\nmax_q:  0.417650479875\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.255, 3.0838244397110484, -0.22139999999999999]\nmax_q:  3.08382443971\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.8288033728285527]\nmax_q:  3.82880337283\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.684415613828701, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.68441561383\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (4, 1), deadline = 30\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.684415613828701, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.874097024196498, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.758677107797734, \"(['red', None, None, None, 'forward'], 'right')\": 0.2050029078937894, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.8544828669042692, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.684415613828701, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.68441561383\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.2050029078937894]\nmax_q:  0.205002907894\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.255, 2.758677107797734, -0.22139999999999999]\nmax_q:  2.7586771078\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.6931015576859225, -0.255, 2.5310739754584137, -0.22139999999999999]\nmax_q:  2.53107397546\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.509841365864159, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.50984136586\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.02425247170972096]\nmax_q:  0.0242524717097\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.874097024196498]\nmax_q:  3.8740970242\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.892982470567023]\nmax_q:  3.89298247057\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9090350999819696]\nmax_q:  3.90903509998\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3605268268613693, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.36052682686\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.6064478028321636, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.60644780283\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.22105575422601006]\nmax_q:  0.221055754226\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.922679834984674]\nmax_q:  3.92267983498\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.8544828669042692]\nmax_q:  3.8544828669\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4576718251164156, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.45767182512\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.6931015576859225, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4576718251164156, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.929845608269197, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.7514128791396515, \"(['red', None, None, None, 'forward'], 'right')\": 0.3733898017256694, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.886745254011725, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.7514128791396515, -0.22139999999999999]\nmax_q:  2.75141287914\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.3733898017256694]\nmax_q:  0.373389801726\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.525989015397756, -0.22139999999999999]\nmax_q:  2.5259890154\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.929845608269197]\nmax_q:  3.92984560827\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (6, 6), deadline = 35\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4576718251164156, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.929845608269197, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.7470906630880925, \"(['red', None, None, None, 'forward'], 'right')\": 0.4800236349754309, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['green', None, None, None, 'forward'], 'left')\": -0.23412889214797544, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.886745254011725, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.4800236349754309]\nmax_q:  0.480023634975\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.5546673182502639]\nmax_q:  0.55466731825\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.5229634641616645, -0.22139999999999999]\nmax_q:  2.52296346416\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.366074424913165, -0.22139999999999999]\nmax_q:  2.36607442491\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.606917896542647]\nmax_q:  0.606917896543\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.929845608269197]\nmax_q:  3.92984560827\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.940368767028817]\nmax_q:  3.94036876703\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9493134519744943]\nmax_q:  3.94931345197\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4576718251164156, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.45767182512\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.689021051348953, -0.23412889214797544, 0.25610197513895616]\nmax_q:  2.68902105135\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.6434933013473152]\nmax_q:  0.643493301347\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.886745254011725]\nmax_q:  3.88674525401\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.9037334659099656]\nmax_q:  3.90373346591\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.947531204483905]\nmax_q:  3.94753120448\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.3969693061452179]\nmax_q:  0.396969306145\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.955401523811319]\nmax_q:  3.95540152381\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.962091295239621]\nmax_q:  3.96209129524\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.967777600953677]\nmax_q:  3.96777760095\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.9181734460234705]\nmax_q:  3.91817344602\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.9386130563380233]\nmax_q:  3.93861305634\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.25610197513895616, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.51, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.578838731146364, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9726109608106253, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.2562520974392153, \"(['red', None, None, None, 'forward'], 'right')\": 0.5147043239736071, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23668457590754172, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.9386130563380233, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.5147043239736071]\nmax_q:  0.514704323974\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.2562520974392153, -0.22139999999999999]\nmax_q:  2.25625209744\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.5971188364534796]\nmax_q:  0.597118836453\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.1793764682074506, -0.22139999999999999]\nmax_q:  2.17937646821\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.51, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.452469997976333, -0.22139999999999999]\nmax_q:  2.45246999798\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9726109608106253]\nmax_q:  3.97261096081\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.578838731146364, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.57883873115\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 2), deadline = 20\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.08290403424508795, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.578838731146364, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9767193166890316, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.3167289985834327, \"(['red', None, None, None, 'forward'], 'right')\": 0.3575510109854577, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23668457590754172, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.9386130563380233, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.9386130563380233]\nmax_q:  3.93861305634\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.4124498178257603, 0.36329430078897523, 3.9767193166890316]\nmax_q:  3.97671931669\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.3167289985834327, -0.22139999999999999]\nmax_q:  2.31672899858\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.578838731146364, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.57883873115\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.569219648795918, -0.22139999999999999]\nmax_q:  2.5692196488\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (8, 6), deadline = 40\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.08290403424508795, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.4282748657031004, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9767340772233175, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.569219648795918, \"(['red', None, None, None, 'forward'], 'right')\": 0.15391835933763903, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23668457590754172, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.22139999999999999, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.953537036939971, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.4124498178257603, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4282748657031004, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.4282748657\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, 0.15391835933763903]\nmax_q:  0.153918359338\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.953537036939971]\nmax_q:  3.95353703694\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9767340772233175]\nmax_q:  3.97673407722\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.322880159892816, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.32288015989\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.226016111924971, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.22601611192\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.98022396563982]\nmax_q:  3.98022396564\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4344795865953577, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.4344795866\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9596463929999997, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3041357106167504, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.30413571062\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.558515354024238, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.55851535402\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3909607478169663, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.39096074782\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (7, 2), deadline = 45\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.08290403424508795, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.3909607478169663, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9831903707938467, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.569219648795918, \"(['red', None, None, None, 'forward'], 'right')\": -0.019169394563006828, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23668457590754172, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.963986037441477, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.7371485645056415, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9802267325699998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.569219648795918, -0.30498]\nmax_q:  2.5692196488\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3909607478169663, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.39096074782\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.632316635644421, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.63231663564\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4426216449510947, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.44262164495\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3098351514657662, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.30983515147\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.563359878745901, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.56335987875\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.78383670147653, -0.30498]\nmax_q:  2.78383670148\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.7788558969340156, -0.23668457590754172, 0.08290403424508795]\nmax_q:  2.77885589693\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.7371485645056415, 3.963986037441477]\nmax_q:  3.96398603744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9831903707938467]\nmax_q:  3.98319037079\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9857118151747697]\nmax_q:  3.98571181517\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9802267325699998, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9878550428985537]\nmax_q:  3.9878550429\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9722687818281104]\nmax_q:  3.97226878183\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9764284645538934]\nmax_q:  3.97642846455\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.987338847303204]\nmax_q:  3.9873388473\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.979964194870809]\nmax_q:  3.97996419487\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (6, 6), deadline = 45\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.05286888520474323, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.51812137781635, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.545199127853811, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.988131822342864, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.548685691033571, \"(['red', None, None, None, 'forward'], 'right')\": -0.019169394563006828, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": 0.06610066604279241, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.7630609697531718, \"(['red', None, None, None, 'right'], 'right')\": 3.979964194870809, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.51812137781635, 0.0, -0.15]\nmax_q:  1.51812137782\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.545199127853811, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.54519912785\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3816393894976673, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.3816393895\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.267147572648367, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.26714757265\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.979964194870809]\nmax_q:  3.97996419487\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 1.7630609697531718, 0.0, -0.15]\nmax_q:  1.76306096975\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.3953614560606753, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.39536145606\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.2767530192424728, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.27675301924\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (2, 3), deadline = 40\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.05286888520474323, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.2767530192424728, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.988131822342864, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.548685691033571, \"(['red', None, None, None, 'forward'], 'right')\": -0.019169394563006828, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": 0.06610066604279241, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.982969565640188, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.982969565640188]\nmax_q:  3.98296956564\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.988131822342864]\nmax_q:  3.98813182234\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.2767530192424728, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.27675301924\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.535240066356102, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.53524006636\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.7549540564026866, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.7549540564\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.019169394563006828]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.749197663559598, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.74919766356\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9896370460349386]\nmax_q:  3.98963704603\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.936818014025658, 0.06610066604279241, 0.05286888520474323]\nmax_q:  2.93681801403\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9862984692995607]\nmax_q:  3.9862984693\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.990690702619391]\nmax_q:  3.99069070262\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 6), deadline = 35\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.05286888520474323, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.655772609817961, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.990690702619391, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.548685691033571, \"(['red', None, None, None, 'forward'], 'right')\": -0.019169394563006828, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9883536989046267, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.548685691033571, -0.30498]\nmax_q:  2.54868569103\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.8574067183452665, -0.10372953377004532, 0.05286888520474323]\nmax_q:  2.85740671835\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.7663828373785355, -0.30498]\nmax_q:  2.76638283738\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.951425411771755, -0.30498]\nmax_q:  2.95142541177\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.6001847028416867, -0.10372953377004532, 0.05286888520474323]\nmax_q:  2.60018470284\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.4201292919891806, -0.10372953377004532, 0.05286888520474323]\nmax_q:  2.42012929199\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9883536989046267]\nmax_q:  3.9883536989\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9901006440689324]\nmax_q:  3.99010064407\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.990690702619391]\nmax_q:  3.99069070262\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.2940905043924262, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.29409050439\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (6, 3), deadline = 20\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.2940905043924262, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9922213239523625, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.6659977882402286, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9915855474585924, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9922213239523625]\nmax_q:  3.99222132395\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.2058633530746983, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.20586335307\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.1441043471522887, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.14410434715\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 2), deadline = 20\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.1441043471522887, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.993388125359508, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.6659977882402286, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9915855474585924, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.993388125359508]\nmax_q:  3.99338812536\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9915855474585924]\nmax_q:  3.99158554746\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.1441043471522887, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.14410434715\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.422488695079445, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.42248869508\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.422488695079445, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9941095198704444, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.6659977882402286, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9932263112015813, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9941095198704444]\nmax_q:  3.99410951987\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9932263112015813]\nmax_q:  3.9932263112\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.422488695079445, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.42248869508\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.659115390817528, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.65911539082\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (6, 1), destination = (4, 5), deadline = 30\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.659115390817528, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.994860610589548, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.6659977882402286, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.994487509429539, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.994487509429539]\nmax_q:  3.99448750943\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.995314383015108]\nmax_q:  3.99531438302\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.659115390817528, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.65911539082\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.6659977882402286, -0.30498]\nmax_q:  2.66599778824\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.8602480821948983, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.86024808219\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.0312108698656637, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.03121086987\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (5, 1), deadline = 20\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0312108698656637, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.994860610589548, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.4661984517681597, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9959491596990073, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.994860610589548]\nmax_q:  3.99486061059\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9956315190011154]\nmax_q:  3.995631519\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.0312108698656637, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.03121086987\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.4661984517681597, -0.30498]\nmax_q:  2.46619845177\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (3, 6), deadline = 25\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1765292393858138, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9963344372556318, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.4661984517681597, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9959491596990073, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.4661984517681597, -0.30498]\nmax_q:  2.46619845177\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.1765292393858138, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.17652923939\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.300049853477941, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.30004985348\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.40504237545625, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.40504237546\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.494286019137812, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.49428601914\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (3, 1), deadline = 35\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.494286019137812, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['green', None, None, None, 'right'], 'right')\": 3.9963344372556318, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.6962686840029355, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9959491596990073, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9963344372556318]\nmax_q:  3.99633443726\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9959491596990073]\nmax_q:  3.9959491597\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.494286019137812, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.49428601914\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.996556785744156]\nmax_q:  3.99655678574\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.996826480033793]\nmax_q:  3.99682648003\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.6962686840029355, -0.30498]\nmax_q:  2.696268684\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.5701431162671398, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.57014311627\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.099100181386998, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.09910018139\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.16341857619410477]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.234235154178948, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.23423515418\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.662684964471445, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 0.8978830222510934, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.234235154178948, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9973025080287234, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8918283814024948, \"(['red', None, None, None, 'forward'], 'right')\": -0.16341857619410477, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9971137220259774, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.8978830222510934, -0.255, 2.8918283814024948, -0.30498]\nmax_q:  2.8918283814\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.22074226979096884]\nmax_q:  0.220742269791\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 2.6242798669817464, -0.30498]\nmax_q:  2.62427986698\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 1.662684964471445, 0.0, -0.15]\nmax_q:  1.66268496447\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.48965486198052033]\nmax_q:  0.489654861981\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 2.8306378869344844, -0.30498]\nmax_q:  2.83063788693\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 3.0060422038943115, -0.30498]\nmax_q:  3.00604220389\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 5), deadline = 35\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.8373277044270895, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.234235154178948, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9973025080287234, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 3.0060422038943115, \"(['red', None, None, None, 'forward'], 'right')\": 0.6778936765132064, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9971137220259774, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9971137220259774]\nmax_q:  3.99711372203\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.234235154178948, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.23423515418\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.6778936765132064]\nmax_q:  0.677893676513\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 3.0060422038943115, -0.30498]\nmax_q:  3.00604220389\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9975749816224924]\nmax_q:  3.99757498162\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 2.965648659402244, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.9656486594\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.1208013604919076, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.12080136049\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (8, 1), deadline = 35\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.657, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.8373277044270895, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1208013604919076, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9973025080287234, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 3.155135873310165, \"(['red', None, None, None, 'forward'], 'right')\": 0.42620962503622545, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9978978633400533, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.42620962503622545]\nmax_q:  0.426209625036\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.657, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 3.155135873310165, -0.30498]\nmax_q:  3.15513587331\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.21227818128079162]\nmax_q:  0.212278181281\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 3.2818654923136403, -0.30498]\nmax_q:  3.28186549231\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.7599, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nrandom\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (7, 1), deadline = 20\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.8373277044270895, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1208013604919076, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9973025080287234, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": 0.030436454088672876, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9978978633400533, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.8118443124281656, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9973025080287234]\nmax_q:  3.99730250803\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, 0.030436454088672876]\nmax_q:  0.0304364540887\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8118443124281656, 3.9978978633400533]\nmax_q:  3.99789786334\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8680631996391941, 3.998481206263188]\nmax_q:  3.99848120626\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.12412901402462805]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.12412901402462805]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.9977964351211144]\nmax_q:  3.99779643512\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.8680631996391941, 3.9986063096523985]\nmax_q:  3.99860630965\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.9569955673805792, 0.7352249840615298, 0.36329430078897523, 3.998126969852947]\nmax_q:  3.99812696985\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9861587127989999, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.1208013604919076, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.12080136049\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0688735684493282, 3.252681156418121, -0.10372953377004532, -0.11299178035667974]\nmax_q:  3.25268115642\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (1, 3), deadline = 20\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.0688735684493282, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.8373277044270895, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.8768768094926847, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9985111833777434, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": -0.23689030981723963, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9988153632045385, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.9074665442281167, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9903110989592998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.9988153632045385]\nmax_q:  3.9988153632\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.8768768094926847, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.87687680949\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.998993058723858]\nmax_q:  3.99899305872\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.613813766644879, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.61381376664\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (4, 2), deadline = 20\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.1797430193384324, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 1.8373277044270895, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.04495872044670231, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.613813766644879, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9985111833777434, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": -0.23689030981723963, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.999071818613362, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.9074665442281167, \"(['green', None, None, None, 'right'], None)\": 0.9569955673805792, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9903110989592998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.23689030981723963]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.8319300000000001, -0.7599, -0.04495872044670231]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.269673574673067, 0.7352249840615298, 0.36329430078897523, 3.9985111833777434]\nmax_q:  3.99851118338\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.999071818613362]\nmax_q:  3.99907181861\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.613813766644879, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.61381376664\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 1.8373277044270895, 0.0, -0.15]\nmax_q:  1.83732770443\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.429669636651415, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.42966963665\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.9992110458213572]\nmax_q:  3.99921104582\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.1797430193384324, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 2.250579838596675, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.2531247723802406, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.3007687456559904, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9987345058710817, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": -0.0603277817235557, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9992110458213572, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.9074665442281167, \"(['green', None, None, None, 'right'], None)\": 1.269673574673067, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9903110989592998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [1.269673574673067, 0.7352249840615298, 0.36329430078897523, 3.9987345058710817]\nmax_q:  3.99873450587\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.269673574673067, 0.7352249840615298, 0.36329430078897523, 3.998924329990419]\nmax_q:  3.99892432999\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.3007687456559904, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.30076874566\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.210538121959193, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.21053812196\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 2.8973058446195483, -0.30498]\nmax_q:  2.89730584462\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (7, 4), deadline = 25\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.1797430193384324, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 2.250579838596675, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.2531247723802406, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.478957403665314, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9990856804918558, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": -0.0603277817235557, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.9992110458213572, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.9074665442281167, \"(['green', None, None, None, 'right'], None)\": 1.269673574673067, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9903110989592998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.9992110458213572]\nmax_q:  3.99921104582\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.478957403665314, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.47895740367\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.707113793115517, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.70711379312\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.9010467241481894, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.90104672415\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.6307327069037325, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.6307327069\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (6, 5), deadline = 30\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": -0.11299178035667974, \"(['green', None, 'left', None, 'forward'], 'forward')\": 1.7033029009900802, \"(['green', None, None, None, 'forward'], None)\": 1.1797430193384324, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.16262182590374993, \"(['red', None, None, None, 'left'], 'forward')\": -0.8319300000000001, \"(['red', 'left', None, None, 'left'], 'right')\": -0.15, \"(['green', None, None, 'forward', 'forward'], 'forward')\": 2.250579838596675, \"(['red', None, None, None, 'right'], None)\": 0.870896611492497, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['red', None, None, 'forward', 'left'], 'right')\": -0.3, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.2531247723802406, \"(['green', None, None, None, 'right'], 'left')\": 0.36329430078897523, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'left', 'forward'], 'forward')\": -0.3, \"(['red', None, None, 'right', 'right'], 'forward')\": -0.3, \"(['red', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], None)\": 1.0221600956230272, \"(['green', None, 'forward', None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6307327069037325, \"(['green', 'forward', None, None, 'right'], 'forward')\": 0.43138230684594936, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.1995670583038966, \"(['green', None, None, None, 'right'], 'right')\": 3.9990856804918558, \"(['red', None, 'left', None, 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'left'], 'forward')\": -0.255, \"(['green', None, None, None, 'left'], 'left')\": 2.8973058446195483, \"(['red', None, None, None, 'forward'], 'right')\": -0.0603277817235557, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8907127955974584, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": -0.15, \"(['red', None, None, 'right', 'forward'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], 'left')\": -0.7599, \"(['red', None, None, 'left', 'left'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.10372953377004532, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.30498, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.8341426788272202, \"(['red', None, None, None, 'right'], 'right')\": 3.999310584148728, \"(['red', None, None, 'forward', 'left'], 'left')\": -0.3, \"(['red', None, 'forward', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.9074665442281167, \"(['green', None, None, None, 'right'], None)\": 1.269673574673067, \"(['red', None, 'right', None, 'forward'], 'right')\": 0.2524070200034793, \"(['green', 'left', None, None, 'left'], 'left')\": 1.2667038631282388, \"(['green', None, None, 'left', 'forward'], 'left')\": -0.15, \"(['green', None, None, 'left', 'forward'], 'forward')\": 0.6, \"(['green', None, 'forward', None, 'left'], 'forward')\": -0.15, \"(['red', None, None, None, 'forward'], 'left')\": -0.9903110989592998, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], 'right')\": 1.1201429963673544, \"(['green', 'right', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.7352249840615298, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8107689626343242, \"(['green', 'left', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'left', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'forward')\": 0.6900560203345781, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": 0.21231690051938856, \"(['red', 'right', None, None, 'forward'], 'left')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, -0.0603277817235557]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 2.8973058446195483, -0.30498]\nmax_q:  2.89730584462\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8107689626343242, -0.9903110989592998, 0.20238045882907088]\nmax_q:  0.202380458829\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.8319300000000001, -0.7599, 0.2531247723802406]\nmax_q:  0.25312477238\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.269673574673067, 0.7352249840615298, 0.36329430078897523, 3.9990856804918558]\nmax_q:  3.99908568049\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.870896611492497, 0.6900560203345781, 0.9074665442281167, 3.999310584148728]\nmax_q:  3.99931058415\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.6307327069037325, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.6307327069\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8642347653433203, -0.9903110989592998, 0.022023390004710236]\nmax_q:  0.0220233900047\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [1.0221600956230272, -0.255, 2.66608280709072, -0.30498]\nmax_q:  2.66608280709\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1797430193384324, 2.444816403333319, -0.10372953377004532, -0.11299178035667974]\nmax_q:  2.44481640333\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\n((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ \n"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial8.js",
    "content": "Simulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (5, 1), deadline = 20\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {}\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.3, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': 'right'}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 0.6, 0.0, 0.0]\nmax_q:  0.6\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0)]\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 6), deadline = 40\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'forward'], 'forward')\": 4.11, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'left')\": 0.6, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 4.11, 0.0, 0.0]\nmax_q:  4.11\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.093500000000001, 0.0, 0.0]\nmax_q:  4.0935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.6, 0.0]\nmax_q:  0.6\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 3.46545, 0.0, 0.0]\nmax_q:  3.46545\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 3.5456325, 0.0, 0.0]\nmax_q:  3.5456325\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 3.6137876249999996, 0.0, 0.0]\nmax_q:  3.613787625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 3.6717194812499994, 0.0, 0.0]\nmax_q:  3.67171948125\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'forward'], 'forward')\": 6.170203636874999, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'left'], 'left')\": 1.1099999999999999, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.51, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.6]\nmax_q:  0.6\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 6.170203636874999, 0.0, 0.0]\nmax_q:  6.17020363687\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.51, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.09, 4.919142545812498, 0.0, 0.0]\nmax_q:  4.91914254581\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.1099999999999999]\nmax_q:  1.11\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.781271163940623, 0.0, 0.0]\nmax_q:  4.78127116394\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 4.664080489349529, 0.0, 0.0]\nmax_q:  4.66408048935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 3.8648563425446705, 0.0, 0.0]\nmax_q:  3.86485634254\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (7, 1), deadline = 55\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'forward'], 'forward')\": 6.885127891162969, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 1.4669999999999999, \"(['green', None, None, None, 'left'], 'left')\": 1.1099999999999999, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.1099999999999999, 0.0]\nmax_q:  1.11\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 55, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 54, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 6.885127891162969, 0.0, 0.0]\nmax_q:  6.88512789116\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.452358707488523, 0.0, 0.0]\nmax_q:  6.45235870749\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 5.1166510952419655, 0.0, 0.0]\nmax_q:  5.11665109524\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.181655766669375, 0.0, 0.0]\nmax_q:  4.18165576667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 4.154407401668969, 0.0, 0.0]\nmax_q:  4.15440740167\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.3769999999999998, 0.0]\nmax_q:  1.377\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.131246291418623, 0.0, 0.0]\nmax_q:  4.13124629142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 3.4918724039930362, 0.0, 0.0]\nmax_q:  3.49187240399\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 3.044310682795125, 0.0, 0.0]\nmax_q:  3.0443106828\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 2.7310174779565877, 0.0, 0.0]\nmax_q:  2.73101747796\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0)]\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (2, 4), deadline = 40\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'forward'], 'forward')\": 5.921364856263099, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 1.4669999999999999, \"(['green', None, None, None, 'left'], 'left')\": 1.7704499999999999, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.7704499999999999, 0.0]\nmax_q:  1.77045\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 5.921364856263099, 0.0, 0.0]\nmax_q:  5.92136485626\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 5.633160127823634, 0.0, 0.0]\nmax_q:  5.63316012782\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 5.388186108650088, 0.0, 0.0]\nmax_q:  5.38818610865\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 5.179958192352575, 0.0, 0.0]\nmax_q:  5.17995819235\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.09, 4.225970734646802, 0.0, 0.0]\nmax_q:  4.22597073465\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.4669999999999999]\nmax_q:  1.467\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.1699075]\nmax_q:  2.1699075\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.192075124449782, 0.0, 0.47881126866746726]\nmax_q:  4.19207512445\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.12589724999999993, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'right')\": 0.6, \"(['green', None, None, None, 'forward'], 'forward')\": 6.534452587114847, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.2089352499999997, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 0.6]\nmax_q:  0.6\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.534452587114847, 0.0, 0.47881126866746726]\nmax_q:  6.53445258711\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.15428469904762, 0.0, 0.47881126866746726]\nmax_q:  6.15428469905\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 1.3513402874999998]\nmax_q:  1.3513402875\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 1.7486392443749996]\nmax_q:  1.74863924437\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 2.0863433577187496]\nmax_q:  2.08634335772\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (5, 4), deadline = 35\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.12589724999999993, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 5.391780637903125, \"(['green', None, None, None, 'forward'], 'forward')\": 4.9079992893333335, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.2089352499999997, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.2089352499999997]\nmax_q:  2.20893525\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 5.391780637903125]\nmax_q:  5.3917806379\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 4.9079992893333335, 0.5861998934, 0.47881126866746726]\nmax_q:  4.90799928933\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 4.771799395933334, 0.5861998934, 0.47881126866746726]\nmax_q:  4.77179939593\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 3.9402595771533337, 0.5861998934, 0.47881126866746726]\nmax_q:  3.94025957715\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.12589724999999993]\nmax_q:  0.12589725\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.09, 3.3581817040073334, 0.5861998934, 0.47881126866746726]\nmax_q:  3.35818170401\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 2.9507271928051333, 0.5861998934, 0.47881126866746726]\nmax_q:  2.95072719281\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 3.1081181138843634, 0.5861998934, 0.47881126866746726]\nmax_q:  3.10811811388\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (5, 1), deadline = 30\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 0.21402532499999988, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.817499712135007, \"(['green', None, None, None, 'forward'], 'forward')\": 5.775682679719054, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.9550217706854687, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 5.775682679719054, 0.5861998934, 0.47881126866746726]\nmax_q:  5.77568267972\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.21402532499999988]\nmax_q:  0.214025325\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 9.5\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (8, 1), deadline = 20\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 3.03192152625, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.817499712135007, \"(['green', None, None, None, 'forward'], 'forward')\": 5.509330277761196, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.9550217706854687, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  forward\nq:  [0.09, 5.509330277761196, 0.5861998934, 0.47881126866746726]\nmax_q:  5.50933027776\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 5.282930736097017, 0.5861998934, 0.47881126866746726]\nmax_q:  5.2829307361\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 5.090491125682464, 0.5861998934, 0.47881126866746726]\nmax_q:  5.09049112568\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.163343787977724, 0.5861998934, 0.47881126866746726]\nmax_q:  4.16334378798\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 3.03192152625, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.817499712135007, \"(['green', None, None, None, 'forward'], 'forward')\": 6.514340651584407, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.9550217706854687, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 2.9550217706854687]\nmax_q:  2.95502177069\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 4.817499712135007]\nmax_q:  4.81749971214\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 6.514340651584407, 0.5861998934, 0.47881126866746726]\nmax_q:  6.51434065158\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.137189553846746, 0.5861998934, 0.47881126866746726]\nmax_q:  6.13718955385\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.896032687692721, 0.5861998934, 0.47881126866746726]\nmax_q:  4.89603268769\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 4.761627784538812, 0.5861998934, 0.47881126866746726]\nmax_q:  4.76162778454\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 3.03192152625]\nmax_q:  3.03192152625\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.09, 3.9331394491771685, 0.5861998934, 0.47881126866746726]\nmax_q:  3.93313944918\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 2.248242318375, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.694874755314755, \"(['green', None, None, None, 'forward'], 'forward')\": 6.353197614424017, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.3911401963000793, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 2.248242318375]\nmax_q:  2.24824231837\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.09, 6.353197614424017, 0.5861998934, 0.47881126866746726]\nmax_q:  6.35319761442\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.0002179722604145, 0.5861998934, 0.47881126866746726]\nmax_q:  6.00021797226\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 5.700185276421352, 0.5861998934, 0.47881126866746726]\nmax_q:  5.70018527642\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (1, 1), deadline = 20\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": 1.6996668728625, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.694874755314755, \"(['green', None, None, None, 'forward'], 'forward')\": 7.590129693494946, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.3911401963000793, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['red', None, None, None, 'right'], 'forward')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.3911401963000793]\nmax_q:  3.3911401963\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 7.590129693494946, 0.5861998934, 0.47881126866746726]\nmax_q:  7.59012969349\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.678029350707268]\nmax_q:  3.67802935071\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 12.0\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (2, 5), deadline = 25\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 7.051610239470703, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', None, None, None, 'left'], 'right')\": 1.6996668728625, \"(['green', None, None, None, 'right'], 'right')\": 3.1746205454950878, \"(['green', None, None, None, 'left'], 'left')\": 1.8393149999999996, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.694874755314755, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.1746205454950878]\nmax_q:  3.1746205455\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 4.694874755314755]\nmax_q:  4.69487475531\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.051610239470703, 0.5861998934, 0.47881126866746726]\nmax_q:  7.05161023947\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.8393149999999996, 0.0]\nmax_q:  1.839315\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 6.593868703550097, 0.5861998934, 0.47881126866746726]\nmax_q:  6.59386870355\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 8.215708092485066, \"(['red', None, None, None, 'forward'], 'forward')\": -0.51, \"(['red', None, None, None, 'left'], 'right')\": 1.6996668728625, \"(['green', None, None, None, 'right'], 'right')\": 3.5264655951437742, \"(['green', None, None, None, 'left'], 'left')\": 2.1424705309293746, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.415382167991895, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.657, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.5264655951437742]\nmax_q:  3.52646559514\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.51, -0.657, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.09, 8.215708092485066, 0.5861998934, 0.47881126866746726]\nmax_q:  8.21570809249\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 1.6996668728625]\nmax_q:  1.69966687286\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.730833241799426]\nmax_q:  3.7308332418\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.8738905944583824]\nmax_q:  3.87389059446\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 4.415382167991895]\nmax_q:  4.41538216799\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.1424705309293746, 0.0]\nmax_q:  2.14247053093\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.583351878612305, 0.5861998934, 0.47881126866746726]\nmax_q:  7.58335187861\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (2, 6), deadline = 25\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 10.045849096820458, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 1.361137390643156, \"(['green', None, None, None, 'right'], 'right')\": 3.974030741319652, \"(['green', None, None, None, 'left'], 'left')\": 2.4210999512899685, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 4.286872128792274, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.974030741319652]\nmax_q:  3.97403074132\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 4.286872128792274]\nmax_q:  4.28687212879\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = 9.5\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (1, 5), deadline = 40\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 10.045849096820458, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 1.361137390643156, \"(['green', None, None, None, 'right'], 'right')\": 4.024852338242598, \"(['green', None, None, None, 'left'], 'left')\": 2.4210999512899685, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 3.600810490154592, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 3.600810490154592]\nmax_q:  3.60081049015\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 10.045849096820458, 0.5861998934, 0.47881126866746726]\nmax_q:  10.0458490968\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.63209436777432, 0.5861998934, 0.47881126866746726]\nmax_q:  7.63209436777\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.087280212608172, 0.5861998934, 0.47881126866746726]\nmax_q:  7.08728021261\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.624188180716946, 0.5861998934, 0.47881126866746726]\nmax_q:  6.62418818072\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.230559953609403, 0.5861998934, 0.47881126866746726]\nmax_q:  6.23055995361\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.09, 5.895975960567992, 0.5861998934, 0.47881126866746726]\nmax_q:  5.89597596057\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 3), deadline = 25\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 8.611579566482792, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 1.361137390643156, \"(['green', None, None, None, 'right'], 'right')\": 4.024852338242598, \"(['green', None, None, None, 'left'], 'left')\": 2.4989405744994513, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 3.660688916631403, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 1.361137390643156]\nmax_q:  1.36113739064\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.024852338242598]\nmax_q:  4.02485233824\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 3.660688916631403]\nmax_q:  3.66068891663\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 8.611579566482792, 0.5861998934, 0.47881126866746726]\nmax_q:  8.61157956648\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.919842631510373, 0.5861998934, 0.47881126866746726]\nmax_q:  7.91984263151\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 7.331866236783816, 0.5861998934, 0.47881126866746726]\nmax_q:  7.33186623678\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.4989405744994513, 0.0]\nmax_q:  2.4989405745\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.832086301266243, 0.5861998934, 0.47881126866746726]\nmax_q:  6.83208630127\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.09, 5.382460410886369, 0.5861998934, 0.47881126866746726]\nmax_q:  5.38246041089\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (6, 1), deadline = 20\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.09, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 8.175091349253414, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 1.1776372596251268, \"(['green', None, None, None, 'right'], 'right')\": 3.9664999742645284, \"(['green', None, None, None, 'left'], 'left')\": 2.5259039910933847, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 3.7115855791366927, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 1.1776372596251268]\nmax_q:  1.17763725963\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.9664999742645284]\nmax_q:  3.96649997426\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.971524978124849]\nmax_q:  3.97152497812\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 8.175091349253414, 0.5861998934, 0.47881126866746726]\nmax_q:  8.17509134925\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.09, 6.322563944477389, 0.5861998934, 0.47881126866746726]\nmax_q:  6.32256394448\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9147078674827369, 5.678052449884913, 0.5861998934, 0.47881126866746726]\nmax_q:  5.67805244988\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 1.0532316804015964]\nmax_q:  1.0532316804\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 9.5\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (4, 5), deadline = 25\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.9147078674827369, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 5.426344582402176, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 3.9661477749451253, \"(['green', None, None, None, 'right'], 'right')\": 3.9757962314061217, \"(['green', None, None, None, 'left'], 'left')\": 2.5259039910933847, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', None, None, None, 'right'], 'right')\": 3.7115855791366927, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.5259039910933847, 0.0]\nmax_q:  2.52590399109\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (1, 3), deadline = 35\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 0.9147078674827369, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'forward')\": 7.398441207681522, \"(['red', None, None, None, 'forward'], 'forward')\": -0.657, \"(['red', None, None, None, 'left'], 'right')\": 3.9661477749451253, \"(['green', None, None, None, 'right'], 'right')\": 3.9757962314061217, \"(['green', None, None, None, 'left'], 'left')\": 2.368132793765369, \"(['red', None, None, None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.7115855791366927, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.9147078674827369, 7.398441207681522, 0.5861998934, 0.47881126866746726]\nmax_q:  7.39844120768\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.8886750265292935, 0.5861998934, 0.47881126866746726]\nmax_q:  6.88867502653\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.15]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 2.368132793765369, 0.0]\nmax_q:  2.36813279377\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, 0.7133060658824849]\nmax_q:  0.713306065882\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 3.9661477749451253]\nmax_q:  3.96614777495\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.9757962314061217]\nmax_q:  3.97579623141\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, 0.3493142461177394]\nmax_q:  0.349314246118\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 2.6129128747005637, 0.0]\nmax_q:  2.6129128747\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.455373772549899, 0.5861998934, 0.47881126866746726]\nmax_q:  6.45537377255\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, 0.1469171092000785]\nmax_q:  0.1469171092\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 3.018240373666672]\nmax_q:  3.01824037367\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.383057361984285]\nmax_q:  3.38305736198\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.475598757686642]\nmax_q:  3.47559875769\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.1407992071649415, 0.5861998934, 0.47881126866746726]\nmax_q:  5.14079920716\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.657, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.198559445015459, 0.5861998934, 0.47881126866746726]\nmax_q:  4.19855944502\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.554258944033646]\nmax_q:  3.55425894403\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (3, 6), deadline = 30\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 3.538991611510821, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7599, \"(['red', None, None, None, 'left'], 'right')\": 2.415504317616671, \"(['green', None, None, None, 'right'], 'right')\": 3.6447190976940558, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 2.881775068340395, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.7115855791366927, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 2.415504317616671]\nmax_q:  2.41550431762\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.538991611510821, 0.5861998934, 0.47881126866746726]\nmax_q:  3.53899161151\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, -0.3, 0.0, 3.7115855791366927]\nmax_q:  3.71158557914\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (6, 5), deadline = 35\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 3.125700008848938, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7599, \"(['red', None, None, None, 'left'], 'right')\": 1.9731192825827288, \"(['green', None, None, None, 'right'], 'right')\": 3.6447190976940558, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 2.881775068340395, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.754847742266188, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.125700008848938, 0.5861998934, 0.47881126866746726]\nmax_q:  3.12570000885\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.2568450075215973, 0.5861998934, 0.47881126866746726]\nmax_q:  3.25684500752\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.879791505265118, 0.5861998934, 0.47881126866746726]\nmax_q:  2.87979150527\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.04782277947535, 0.5861998934, 0.47881126866746726]\nmax_q:  3.04782277948\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.6447190976940558]\nmax_q:  3.64471909769\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.733475945632745, 0.5861998934, 0.47881126866746726]\nmax_q:  2.73347594563\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.923454553787833, 0.5861998934, 0.47881126866746726]\nmax_q:  2.92345455379\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.6464181876514825, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7599, \"(['red', None, None, None, 'left'], 'right')\": 1.9731192825827288, \"(['green', None, None, None, 'right'], 'right')\": 4.164530529725767, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 2.881775068340395, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.754847742266188, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": -0.3}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 6.754847742266188]\nmax_q:  6.75484774227\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.164530529725767]\nmax_q:  4.16453052973\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.6464181876514825, 0.5861998934, 0.47881126866746726]\nmax_q:  5.64641818765\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 2.881775068340395, 0.0]\nmax_q:  2.88177506834\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.552492731356037, 0.5861998934, 0.47881126866746726]\nmax_q:  4.55249273136\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.469618821652631, 0.5861998934, 0.47881126866746726]\nmax_q:  4.46961882165\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (7, 5), deadline = 20\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.399175998404736, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7599, \"(['red', None, None, None, 'left'], 'right')\": 1.9731192825827288, \"(['green', None, None, None, 'right'], 'right')\": 4.1398509502669025, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 2.913210440225686, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.9530729990451965, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.399175998404736, 0.5861998934, 0.47881126866746726]\nmax_q:  7.3991759984\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 5.9530729990451965]\nmax_q:  5.95307299905\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.779423198883315, 0.5861998934, 0.47881126866746726]\nmax_q:  5.77942319888\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.64559623921832, 0.5861998934, 0.47881126866746726]\nmax_q:  4.64559623922\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (7, 1), deadline = 30\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.548756803335571, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7599, \"(['red', None, None, None, 'left'], 'right')\": 1.9731192825827288, \"(['green', None, None, None, 'right'], 'right')\": 4.1398509502669025, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 2.913210440225686, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.3881287418716735, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.7599, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 1.9731192825827288]\nmax_q:  1.97311928258\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.1398509502669025]\nmax_q:  4.13985095027\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 5.3881287418716735]\nmax_q:  5.38812874187\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.884129762334899, 0.5861998934, 0.47881126866746726]\nmax_q:  5.88412976233\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.7599, -0.7599, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.361283753286964, 0.5861998934, 0.47881126866746726]\nmax_q:  5.36128375329\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 2.913210440225686, 0.0]\nmax_q:  2.91321044023\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (5, 4), deadline = 20\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.157091190293919, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8319300000000001, \"(['red', None, None, None, 'left'], 'right')\": 1.6681650638417629, \"(['green', None, None, None, 'right'], 'right')\": 4.306114976467582, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 6.076228874191832, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.017607365780308, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8319300000000001, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.306114976467582]\nmax_q:  4.30611497647\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.157091190293919, 0.5861998934, 0.47881126866746726]\nmax_q:  5.15709119029\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.366921588394353]\nmax_q:  4.36692158839\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.9835275117498306, 0.5861998934, 0.47881126866746726]\nmax_q:  4.98352751175\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.088469258224881, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8319300000000001, \"(['red', None, None, None, 'left'], 'right')\": 1.6681650638417629, \"(['green', None, None, None, 'right'], 'right')\": 4.409486216743093, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 6.076228874191832, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.017607365780308, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8319300000000001, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 5.017607365780308]\nmax_q:  5.01760736578\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.088469258224881, 0.5861998934, 0.47881126866746726]\nmax_q:  7.08846925822\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.561928480757416, 0.5861998934, 0.47881126866746726]\nmax_q:  5.56192848076\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.409486216743093]\nmax_q:  4.40948621674\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.327639208643803, 0.5861998934, 0.47881126866746726]\nmax_q:  5.32763920864\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.128493327347233, 0.5861998934, 0.47881126866746726]\nmax_q:  5.12849332735\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8319300000000001, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8319300000000001, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.9592193282451476, 0.5861998934, 0.47881126866746726]\nmax_q:  4.95921932825\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 4), deadline = 20\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.815336429008375, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8319300000000001, \"(['red', None, None, None, 'left'], 'right')\": 1.6681650638417629, \"(['green', None, None, None, 'right'], 'right')\": 4.402702565003817, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 6.076228874191832, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.77374808855768, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 4.77374808855768]\nmax_q:  4.77374808856\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.815336429008375, 0.5861998934, 0.47881126866746726]\nmax_q:  7.81533642901\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.2430359646571185, 0.5861998934, 0.47881126866746726]\nmax_q:  7.24303596466\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.75658056995855, 0.5861998934, 0.47881126866746726]\nmax_q:  6.75658056996\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (5, 1), deadline = 35\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 8.329606398970984, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 1.6681650638417629, \"(['green', None, None, None, 'right'], 'right')\": 4.402702565003817, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 6.076228874191832, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.5861998934, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.657685875274027, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 4.657685875274027]\nmax_q:  4.65768587527\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.402702565003817]\nmax_q:  4.402702565\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 8.329606398970984, 0.5861998934, 0.47881126866746726]\nmax_q:  8.32960639897\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.5032271613399282, 0.0, 4.520785497442391]\nmax_q:  4.52078549744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.680165439125337, 0.26033992537999995, 0.47881126866746726]\nmax_q:  7.68016543913\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 6.076228874191832, 0.0]\nmax_q:  6.07622887419\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (4, 2), deadline = 25\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.128140623256536, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 1.6681650638417629, \"(['green', None, None, None, 'right'], 'right')\": 4.36000962011903, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.442667672826032, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.5032271613399282}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.36000962011903]\nmax_q:  4.36000962012\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.128140623256536, 0.26033992537999995, 0.47881126866746726]\nmax_q:  7.12814062326\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 1.6681650638417629]\nmax_q:  1.66816506384\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.318406885007226]\nmax_q:  4.31840688501\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.442667672826032]\nmax_q:  4.44266767283\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.658919529768055, 0.26033992537999995, 0.47881126866746726]\nmax_q:  6.65891952977\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.261243670837638, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.26124367084\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.270645852256142]\nmax_q:  4.27064585226\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (6, 1), deadline = 20\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 4.282870569586346, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 2.3324347261486924, \"(['green', None, None, None, 'right'], 'right')\": 7.242021733901796, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.350464248816643, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.657741535920605, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  forward\nq:  [0.0, 4.657741535920605, 0.0, 0.0]\nmax_q:  4.65774153592\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.282870569586346, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.28287056959\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.5980093987104422, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.59800939871\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.1186065790973094, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.1186065791\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (1, 3), deadline = 35\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.783024605368116, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 2.3324347261486924, \"(['green', None, None, None, 'right'], 'right')\": 7.242021733901796, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.025120457179933275, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.350464248816643, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.8823509999999999, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.350464248816643]\nmax_q:  4.35046424882\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 7.242021733901796]\nmax_q:  7.2420217339\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.783024605368116, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.78302460537\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.648117223757681, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.64811722376\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.550899640194029, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.55089964019\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.78562974813582, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.78562974814\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.731628234256919]\nmax_q:  4.73162823426\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.8823509999999999, -0.025120457179933275]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.869013681310313]\nmax_q:  4.86901368131\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 6.379159448869795]\nmax_q:  6.37915944887\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.965183494247688]\nmax_q:  4.96518349425\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.249940823695074, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.2499408237\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, 0.3199068035283078]\nmax_q:  0.319906803528\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.947156816725283]\nmax_q:  4.94715681673\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.80508329421649]\nmax_q:  4.80508329422\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 5.81018913834601]\nmax_q:  5.81018913835\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.3624497001408127, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.36244970014\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (8, 5), deadline = 45\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.458082245119691, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 2.3324347261486924, \"(['green', None, None, None, 'right'], 'right')\": 5.392395398347722, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": 0.12192078299906162, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.835086676703444, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9176456999999998, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 5.392395398347722]\nmax_q:  5.39239539835\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, 0.12192078299906162]\nmax_q:  0.121920782999\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 2.3324347261486924]\nmax_q:  2.33243472615\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.835086676703444]\nmax_q:  4.8350866767\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 5.0999397803489215]\nmax_q:  5.09993978035\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.458082245119691, 0.26033992537999995, 0.47881126866746726]\nmax_q:  6.45808224512\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9176456999999998, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.1206575715837825, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.12065757158\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.9525589358462145, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.95255893585\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.06679125509235, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.06679125509\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.0, 4.749551640744749]\nmax_q:  4.74955164074\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.446753878564645, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.44675387856\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9423519899999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.529740796779948, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.52974079678\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.0708185577459637, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.07081855775\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.749572990422174, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', None, None, None, 'left'], 'right')\": 1.8325695172263885, \"(['green', None, None, None, 'right'], 'right')\": 4.934948813296583, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.04636733445079762, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.664928470515812, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.749572990422174, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.74957299042\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.6247010932955215, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.6247010933\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9596463929999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.837290765306865, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.83729076531\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.8616971505108344, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.86169715051\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.88244257793421, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.8325695172263885, \"(['green', None, None, None, 'right'], 'right')\": 4.934948813296583, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.04636733445079762, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.664928470515812, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9596463929999997, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.934948813296583]\nmax_q:  4.9349488133\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.88244257793421, 0.26033992537999995, 0.47881126866746726]\nmax_q:  6.88244257793\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.4177098045539465, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.41770980455\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.205053333870854, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.20505333387\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.024295333790226, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.02429533379\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 3), deadline = 20\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.870651033721692, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.8325695172263885, \"(['green', None, None, None, 'right'], 'right')\": 4.794706491302096, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 8.764794543063058, \"(['red', None, None, None, 'forward'], 'right')\": -0.04636733445079762, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.664928470515812, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9717524750999997, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.870651033721692, 0.26033992537999995, 0.47881126866746726]\nmax_q:  7.87065103372\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.290053378663438, 0.26033992537999995, 0.47881126866746726]\nmax_q:  7.29005337866\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.7030373650644055, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.70303736506\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 8.764794543063058, 0.0]\nmax_q:  8.76479454306\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (6, 2), deadline = 30\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.447581760304745, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.8325695172263885, \"(['green', None, None, None, 'right'], 'right')\": 4.794706491302096, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 10.010241607728098, \"(['red', None, None, None, 'forward'], 'right')\": -0.04636733445079762, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.664928470515812, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9717524750999997, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.447581760304745, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.4475817603\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.230444496259032, 0.26033992537999995, 0.47881126866746726]\nmax_q:  5.23044449626\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.351311147381322, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.35131114738\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.6459178031669253, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.64591780317\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (1, 6), deadline = 50\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.18932109288432, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.8325695172263885, \"(['green', None, None, None, 'right'], 'right')\": 4.794706491302096, \"(['green', None, None, None, 'left'], 'forward')\": 0.20521991906480536, \"(['green', None, None, None, 'left'], 'left')\": 10.010241607728098, \"(['red', None, None, None, 'forward'], 'right')\": -0.04636733445079762, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.664928470515812, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9717524750999997, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.664928470515812]\nmax_q:  4.66492847052\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.794706491302096]\nmax_q:  4.7947064913\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.18932109288432, 0.26033992537999995, 0.47881126866746726]\nmax_q:  6.18932109288\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.932524765019023, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.93252476502\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.052767335513316, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.05276733551\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.044852235186318, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.04485223519\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9717524750999997, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.04636733445079762]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 10.010241607728098, 0.0]\nmax_q:  10.0102416077\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 1.8325695172263885]\nmax_q:  1.83256951723\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.643992929369924]\nmax_q:  4.64399292937\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.584655903056382]\nmax_q:  4.58465590306\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.490033147542078]\nmax_q:  4.49003314754\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.20521991906480536, 7.882054552993626, 0.0]\nmax_q:  7.88205455299\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.18245713411555833]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.03812439990837, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.03812439991\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.426687079935859, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.42668707994\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.51268401794548, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.51268401795\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.058878812561836, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.05887881256\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.741215168793285, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.74121516879\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.5188506181552994, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.51885061816\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.7410230254320043, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.74102302543\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.9298695716172034, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.92986957162\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.0903891358746227, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.09038913587\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9802267325699998, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.226830765493429, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.22683076549\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.8587815358454005, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.85878153585\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.0299643054685905, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.02996430547\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (2, 6), deadline = 30\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 3.175469659648302, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.3151068450075156, \"(['green', None, None, None, 'right'], 'right')\": 4.538493436017404, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 6.464704213846665, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.423797218682065, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 6.464704213846665, 0.0]\nmax_q:  6.46470421385\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.2991492107010565, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.2991492107\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.404276829095898, 0.26033992537999995, 0.47881126866746726]\nmax_q:  3.4042768291\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.9829937803671287, 0.26033992537999995, 0.47881126866746726]\nmax_q:  2.98299378037\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.1355447133120595, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.3151068450075156, \"(['green', None, None, None, 'right'], 'right')\": 4.538493436017404, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.780748794504214, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.423797218682065, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.423797218682065]\nmax_q:  4.42379721868\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.360227635879755]\nmax_q:  4.36022763588\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.306193490497792]\nmax_q:  4.3061934905\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.1355447133120595, 0.26033992537999995, 0.47881126866746726]\nmax_q:  6.13554471331\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.894881299318441, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.89488129932\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.026416909522909, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.02641690952\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.022454373094472, 0.26033992537999995, 0.47881126866746726]\nmax_q:  4.02245437309\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 4), deadline = 30\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.019086217130301, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.3151068450075156, \"(['green', None, None, None, 'right'], 'right')\": 4.538493436017404, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.780748794504214, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.26033992537999995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.2602644669231235, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.019086217130301, 0.26033992537999995, 0.47881126866746726]\nmax_q:  7.01908621713\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.2602644669231235]\nmax_q:  4.26026446692\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 5.780748794504214, 0.0]\nmax_q:  5.7807487945\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.51336035199121, 0.03223794776599995, 0.47881126866746726]\nmax_q:  5.51336035199\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.459352246393847, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.3151068450075156, \"(['green', None, None, None, 'right'], 'right')\": 4.538493436017404, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 4.993790182904077, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.262959142248797, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.262959142248797]\nmax_q:  4.26295914225\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.459352246393847, 0.03223794776599995, 0.47881126866746726]\nmax_q:  7.45935224639\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.94044940943477, 0.03223794776599995, 0.47881126866746726]\nmax_q:  6.94044940943\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 2.3151068450075156]\nmax_q:  2.31510684501\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.538493436017404]\nmax_q:  4.53849343602\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.457719420614794]\nmax_q:  4.45771942061\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.389061507522574]\nmax_q:  4.38906150752\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 4.993790182904077, 0.0]\nmax_q:  4.9937901829\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (8, 4), deadline = 20\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.47881126866746726, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.458314586604338, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.817840818256388, \"(['green', None, None, None, 'right'], 'right')\": 4.330702281394188, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 7.368329250771312, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.223515270911477, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.223515270911477]\nmax_q:  4.22351527091\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 7.368329250771312, 0.0]\nmax_q:  7.36832925077\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.458314586604338, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.4583145866\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.239567398613687, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.23956739861\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, 0.0, 0.0, 1.817840818256388]\nmax_q:  1.81784081826\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.206066031847162]\nmax_q:  4.20606603185\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.175156127070087]\nmax_q:  4.17515612707\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.330702281394188]\nmax_q:  4.33070228139\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.0039150760578779, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.053632288821634, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.8823509999999999, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.39516469551793, \"(['green', None, None, None, 'right'], 'right')\": 4.257323791649659, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.404155904208931, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.172214631158189, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.7186591638618545, 0.39973927057737174, 4.172214631158189]\nmax_q:  4.17221463116\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.053632288821634, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.05363228882\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.895587445498388, 0.03223794776599995, 1.0039150760578779]\nmax_q:  4.8955874455\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.257323791649659]\nmax_q:  4.25732379165\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.8823509999999999, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.76124932867363, 0.03223794776599995, 1.0039150760578779]\nmax_q:  4.76124932867\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (8, 5), deadline = 40\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.0039150760578779, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 7.647061929372585, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9176456999999998, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.39516469551793, \"(['green', None, None, None, 'right'], 'right')\": 4.203998975738489, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.404155904208931, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.159148810558181, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.7186591638618545}\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.39516469551793]\nmax_q:  1.39516469552\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.203998975738489]\nmax_q:  4.20399897574\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.166671604600669]\nmax_q:  4.1666716046\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.647061929372585, 0.03223794776599995, 1.0039150760578779]\nmax_q:  7.64706192937\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.952943350560809, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.95294335056\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.660001847976687, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.66000184798\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.411001570780184, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.41100157078\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 8.404155904208931, 0.0]\nmax_q:  8.40415590421\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (8, 2), deadline = 25\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.0039150760578779, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 5.199351335163156, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9176456999999998, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.0872386724938905, \"(['green', None, None, None, 'right'], 'right')\": 4.140542444804195, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 9.795994933820335, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.159148810558181, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.8269337362870253}\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 4.159148810558181]\nmax_q:  4.15914881056\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.140542444804195]\nmax_q:  4.1405424448\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.199351335163156, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.19935133516\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.239545934614209, 0.03223794776599995, 1.0039150760578779]\nmax_q:  4.23954593461\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.567682154229946, 0.03223794776599995, 1.0039150760578779]\nmax_q:  3.56768215423\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.0039150760578779, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.097377507960962, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9176456999999998, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.0872386724938905, \"(['green', None, None, None, 'right'], 'right')\": 4.119461078083566, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 9.795994933820335, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.132485534111355, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.8269337362870253}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': 'left', 'right': 'right', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 9.795994933820335, 0.0]\nmax_q:  9.79599493382\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.119461078083566]\nmax_q:  4.11946107808\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.097377507960962, 0.03223794776599995, 1.0039150760578779]\nmax_q:  6.09737750796\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.782770881766817, 0.03223794776599995, 1.0039150760578779]\nmax_q:  5.78277088177\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 4.132485534111355]\nmax_q:  4.13248553411\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 3.4927398738779485]\nmax_q:  3.49273987388\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.103495584775199]\nmax_q:  4.10349558478\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9176456999999998, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 3.6604422494308437]\nmax_q:  3.66044224943\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 4.087971247058919]\nmax_q:  4.08797124706\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 3.1623095746015903]\nmax_q:  3.1623095746\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0)]\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 4.647939617236771, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.0872386724938905, \"(['green', None, None, None, 'right'], 'right')\": 3.935926309131481, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.926595693747284, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": 0.03223794776599995, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 2.9871273777516887, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.860419075144424, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.8269337362870253}\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 3.935926309131481]\nmax_q:  3.93592630913\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 2.9871273777516887]\nmax_q:  2.98712737775\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 3.139058271088935]\nmax_q:  3.13905827109\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 3.860419075144424, 0.0, 0.0]\nmax_q:  3.86041907514\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 0.8269337362870253, 0.39973927057737174, 3.3058590257907325]\nmax_q:  3.30585902579\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.647939617236771, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.64793961724\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.8535577320657395, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.85355773207\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 8.926595693747284, 0.0]\nmax_q:  8.92659569375\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 3.875524072255878, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.650056424807816, \"(['green', None, None, None, 'right'], 'right')\": 3.8032175230547898, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.18760633968519, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.5574687488037045, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 0.8269337362870253}\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.875524072255878, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.87552407226\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.894195461417496, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.89419546142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.3259368229922472, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.32593682299\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 6.5574687488037045]\nmax_q:  6.5574687488\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.42704629954341, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.42704629954\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (7, 6), deadline = 35\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['green', None, None, None, 'forward'], 'forward')\": 6.512989354611898, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.650056424807816, \"(['green', None, None, None, 'right'], 'right')\": 3.8032175230547898, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.18760633968519, \"(['red', None, None, None, 'forward'], 'right')\": -0.27771999388089086, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.7607107526208114, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 5.7607107526208114]\nmax_q:  5.76071075262\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.8032175230547898]\nmax_q:  3.80321752305\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.512989354611898, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.51298935461\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.136040951420113, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.13604095142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 5.202980155292787]\nmax_q:  5.20298015529\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.670944366094966, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.67094436609\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.27771999388089086]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.869661056266476, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.86966105627\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.262252266138353]\nmax_q:  3.26225226614\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 5.022533131998868]\nmax_q:  5.022533132\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.636956556096677]\nmax_q:  3.6369565561\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.308762739386533, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.30876273939\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.412448328478553, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.41244832848\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (3, 6), deadline = 20\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.988713829934987, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.650056424807816, \"(['green', None, None, None, 'right'], 'right')\": 3.691413072682175, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.18760633968519, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.661316675813709, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 4.661316675813709]\nmax_q:  4.66131667581\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 4.416633633971923]\nmax_q:  4.41663363397\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.7920996809544905, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.79209968095\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (8, 2), deadline = 30\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.954469776668143, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.650056424807816, \"(['green', None, None, None, 'right'], 'right')\": 3.691413072682175, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.18760633968519, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.2453555046826725, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.691413072682175]\nmax_q:  3.69141307268\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 4.2453555046826725]\nmax_q:  4.24535550468\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.954469776668143, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.95446977667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.511299310167921, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.51129931017\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.1579095171175435, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.15790951712\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.984223089549912, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.98422308955\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (4, 1), deadline = 25\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.836589626117425, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9423519899999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.650056424807816, \"(['green', None, None, None, 'right'], 'right')\": 3.820792476579923, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 8.18760633968519, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.208552178980272, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, None, None, 'right'], 'left')\": 0.39973927057737174, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.820792476579923]\nmax_q:  3.82079247658\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.650056424807816]\nmax_q:  2.65005642481\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.39973927057737174, 4.208552178980272]\nmax_q:  4.20855217898\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 4.0371697353270815]\nmax_q:  4.03716973533\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.836589626117425, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.83658962612\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.261101182199811, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.2611011822\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.102547961086643]\nmax_q:  2.10254796109\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.274554733605946]\nmax_q:  3.27455473361\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 4.031594275028019]\nmax_q:  4.03159427503\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.496927454778365]\nmax_q:  3.49692745478\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 8.18760633968519, 0.0]\nmax_q:  8.18760633969\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9423519899999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.9596463929999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.771936004869838, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.77193600487\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (6, 6), deadline = 20\nRoutePlanner.route_to(): destination = (6, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.340355203408887, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9596463929999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.549924523713429, \"(['green', None, None, None, 'right'], 'right')\": 3.6518774884109275, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 6.713813116336647, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.026855133773816, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 4.026855133773816]\nmax_q:  4.02685513377\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.6518774884109275]\nmax_q:  3.65187748841\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 3.96658021690331]\nmax_q:  3.9665802169\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 6.713813116336647, 0.0]\nmax_q:  6.71381311634\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9596463929999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 8.340355203408887, -0.23920340559466, 0.5527405532405144]\nmax_q:  8.34035520341\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9596463929999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.689301922897553, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.6893019229\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.982511346028286, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.549924523713429, \"(['green', None, None, None, 'right'], 'right')\": 3.7513012744231453, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.6821578599926665, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9393013429957886, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.7141066128931217, 3.7513012744231453]\nmax_q:  3.75130127442\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 8.982511346028286, -0.23920340559466, 0.5527405532405144]\nmax_q:  8.98251134603\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 3.9393013429957886]\nmax_q:  3.939301343\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 8.235134644124043, -0.23920340559466, 0.5527405532405144]\nmax_q:  8.23513464412\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.599864447505436, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.59986444751\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (1, 4), deadline = 30\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 3.390121573523189, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 10.059884780379619, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.549924523713429, \"(['green', None, None, None, 'right'], 'right')\": 3.7886060832596735, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.6821578599926665, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9258018525860026, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 4.297190942585516, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  forward\nq:  [1.67359676121731, 10.059884780379619, -0.23920340559466, 0.5527405532405144]\nmax_q:  10.0598847804\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.641919346265732, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.64191934627\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 7.095631444325871, -0.23920340559466, 0.5527405532405144]\nmax_q:  7.09563144433\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.566942011028109, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.56694201103\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.331900709373892, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.33190070937\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 0.7141066128931217, 3.7886060832596735]\nmax_q:  3.78860608326\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 0.7141066128931217, 3.8203151707707224]\nmax_q:  3.82031517077\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 0.7141066128931217, 3.863090897427406]\nmax_q:  3.86309089743\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.549924523713429]\nmax_q:  2.54992452371\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 3.9258018525860026]\nmax_q:  3.92580185259\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 3.936931574698102]\nmax_q:  3.9369315747\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 3.390121573523189, 0.0]\nmax_q:  3.39012157352\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 0.7141066128931217, 3.883627262813295]\nmax_q:  3.88362726281\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 0.7141066128931217, 3.9010831733913007]\nmax_q:  3.90108317339\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 4.297190942585516, 0.0, 0.0]\nmax_q:  4.29719094259\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (7, 5), deadline = 25\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.332330496561724, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.0174358451564145, \"(['green', None, None, None, 'right'], 'right')\": 3.5042688969044864, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.6821578599926665, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.8643703383171495, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 5.6821578599926665, 0.7023236789988999]\nmax_q:  5.68215785999\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.332330496561724, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.33233049656\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.6326313475932066, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.63263134759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.1428419433152444, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.14284194332\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 3.8643703383171495]\nmax_q:  3.86437033832\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 2.799989360320671, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.0174358451564145, \"(['green', None, None, None, 'right'], 'right')\": 3.5042688969044864, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 4.880125878768329, \"(['red', None, None, None, 'forward'], 'right')\": -0.3444039957166236, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.830699571357677, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, -0.3444039957166236]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 4.880125878768329, 0.7023236789988999]\nmax_q:  4.88012587877\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.028915607046464148]\nmax_q:  0.0289156070465\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.0174358451564145]\nmax_q:  2.01743584516\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 9.5\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (2, 4), deadline = 35\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 0.5567378368705039, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 2.799989360320671, \"(['green', None, None, None, 'right'], 'left')\": 0.7141066128931217, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 4.851061264776195, \"(['green', None, None, None, 'right'], 'right')\": 3.5042688969044864, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.9257078211113665, \"(['red', None, None, None, 'forward'], 'right')\": 0.29023932898062554, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.830699571357677, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 6.830699571357677]\nmax_q:  6.83069957136\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5567378368705039, 1.2624739277214734, 0.5853929497032224, 5.9071300344860465]\nmax_q:  5.90713003449\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.5042688969044864]\nmax_q:  3.5042688969\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.29023932898062554]\nmax_q:  0.290239328981\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 4.851061264776195]\nmax_q:  4.85106126478\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 5.260631358675905]\nmax_q:  5.26063135868\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 5.071536654874519]\nmax_q:  5.07153665487\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.799989360320671, -0.23920340559466, 0.5527405532405144]\nmax_q:  2.79998936032\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.09670342963353169]\nmax_q:  0.0967034296335\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.9257078211113665, 0.7023236789988999]\nmax_q:  3.92570782111\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.30386711074389705]\nmax_q:  0.303867110744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.9231853335544624, 0.7023236789988999]\nmax_q:  3.92318533355\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.4488816875211528]\nmax_q:  0.448881687521\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 3.8345990585100416]\nmax_q:  3.83459905851\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.686869942767485]\nmax_q:  4.68686994277\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.583839451352362]\nmax_q:  4.58383945135\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.5744980666694994, -0.23920340559466, 0.5527405532405144]\nmax_q:  2.57449806667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.23154943439297987]\nmax_q:  0.231549434393\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.9214195922646296, 0.7023236789988999]\nmax_q:  3.92141959226\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.933206653424935, 0.7023236789988999]\nmax_q:  3.93320665342\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.43033310757544707]\nmax_q:  0.430333107575\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.578628562368813]\nmax_q:  3.57862856237\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.7568622787034656]\nmax_q:  3.7568622787\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.345481900301975]\nmax_q:  4.3454819003\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.7883233566690744, -0.23920340559466, 0.5527405532405144]\nmax_q:  2.78832335667\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.569481678803174]\nmax_q:  0.569481678803\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.8816258801377224]\nmax_q:  3.88162588014\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.22408121223204]\nmax_q:  4.22408121223\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.8993819981170637]\nmax_q:  3.89938199812\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 2.637248601488828, -0.23920340559466, 0.5527405532405144]\nmax_q:  2.63724860149\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0)]\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (1, 5), destination = (7, 6), deadline = 35\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.841661311265503, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 3.1094091997335354, \"(['green', None, None, None, 'right'], 'right')\": 3.914474698399504, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.8196560373574844, \"(['red', None, None, None, 'forward'], 'right')\": 0.644224465385546, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.141764148279988, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.141764148279988]\nmax_q:  4.14176414828\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.914474698399504]\nmax_q:  3.9144746984\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.644224465385546]\nmax_q:  0.644224465386\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.8196560373574844, 0.7023236789988999]\nmax_q:  3.81965603736\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 1.1772063224597076]\nmax_q:  1.17720632246\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 3.1094091997335354]\nmax_q:  3.10940919973\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.0864061085559165]\nmax_q:  4.08640610856\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.073445192272529]\nmax_q:  4.07344519227\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.841661311265503, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.84166131127\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.8506253740907515]\nmax_q:  0.850625374091\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.4929978197735045]\nmax_q:  2.49299781977\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.0624284134316495]\nmax_q:  4.06242841343\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.9530932051630403]\nmax_q:  3.95309320516\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.565412114575677, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.56541211458\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.330600297389325, -0.23920340559466, 0.5527405532405144]\nmax_q:  5.33060029739\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.417374943369098, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.41737494337\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.960129224388584]\nmax_q:  3.96012922439\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (2, 5), deadline = 20\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.354768701863733, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.9690481468074787, \"(['green', None, None, None, 'right'], 'right')\": 6.9661098407302955, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.8467076317538615, \"(['red', None, None, None, 'forward'], 'right')\": 0.5730315679771386, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.053064151416902, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.053064151416902]\nmax_q:  4.05306415142\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 6.9661098407302955]\nmax_q:  6.96610984073\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.354768701863733, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.35476870186\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 4.301553396584173, -0.23920340559466, 0.5527405532405144]\nmax_q:  4.30155339658\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.9690481468074787]\nmax_q:  1.96904814681\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.5730315679771386]\nmax_q:  0.573031567977\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 6.521193364620751]\nmax_q:  6.52119336462\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 6.143014359927637]\nmax_q:  6.14301435993\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.8467076317538615, 0.7023236789988999]\nmax_q:  3.84670763175\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.6970421128054918, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.69704211281\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.821562205938491]\nmax_q:  5.82156220594\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.5483278750477165]\nmax_q:  5.54832787505\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.316078693790558]\nmax_q:  5.31607869379\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.187929478963844, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.18792947896\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 3.309740057119267, -0.23920340559466, 0.5527405532405144]\nmax_q:  3.30974005712\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0)]\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.5527405532405144, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.413279048551377, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.2283337027652352, \"(['green', None, None, None, 'right'], 'right')\": 4.321255085653391, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.8697014869907824, \"(['red', None, None, None, 'forward'], 'right')\": 0.8056784145048208, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.482061382101375, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.20521991906480536, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.2624739277214734, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 6.413279048551377, -0.23920340559466, 0.5527405532405144]\nmax_q:  6.41327904855\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.8056784145048208]\nmax_q:  0.805678414505\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.2283337027652352]\nmax_q:  1.22833370277\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.482061382101375]\nmax_q:  4.4820613821\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.273066822805382]\nmax_q:  4.27306682281\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 0.5348266523290977]\nmax_q:  0.534826652329\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.290288814984282]\nmax_q:  1.29028881498\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.37840299089177]\nmax_q:  4.37840299089\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.3216425422580045]\nmax_q:  4.32164254226\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 1.0059007210546214]\nmax_q:  1.00590072105\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.889246263942165, 0.7023236789988999]\nmax_q:  3.88924626394\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 0.9467454927366397]\nmax_q:  0.946745492737\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.2624739277214734, 0.5853929497032224, 4.273396160919304]\nmax_q:  4.27339616092\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.217660749287711, 0.5853929497032224, 4.2261933325511984]\nmax_q:  4.22619333255\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.2321067993845745]\nmax_q:  4.23210679938\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3, 0.20521991906480536]\nmax_q:  0.205219919065\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.217660749287711, 0.5853929497032224, 4.192264332668518]\nmax_q:  4.19226433267\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.67359676121731, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.210147096161687, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 0.6547336688261436, \"(['green', None, None, None, 'right'], 'right')\": 3.562474759569202, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.464484208670011, \"(['red', None, None, None, 'forward'], 'right')\": 1.3356525691624879, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.068956246803343, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.217660749287711, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.217660749287711, 0.5853929497032224, 4.068956246803343]\nmax_q:  4.0689562468\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.67359676121731, 5.210147096161687, -0.23920340559466, 1.018440451692613]\nmax_q:  5.21014709616\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.029148237824276876]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.029148237824276876]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.029148237824276876]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.028625031737434, -0.23920340559466, 1.018440451692613]\nmax_q:  5.02862503174\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.320385407590576, -0.23920340559466, 1.018440451692613]\nmax_q:  4.32038540759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 3.562474759569202]\nmax_q:  3.56247475957\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (6, 1), deadline = 35\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.0, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.27232759645199, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 0.6547336688261436, \"(['green', None, None, None, 'right'], 'right')\": 6.628103545633822, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.464484208670011, \"(['red', None, None, None, 'forward'], 'right')\": 1.3356525691624879, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.98264058669772, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.217660749287711, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.9717524750999997, -0.9861587127989999, 1.3356525691624879]\nmax_q:  1.33565256916\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 0.6547336688261436]\nmax_q:  0.654733668826\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 6.628103545633822]\nmax_q:  6.62810354563\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.217660749287711, 0.5853929497032224, 3.98264058669772]\nmax_q:  3.9826405867\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.27232759645199, -0.23920340559466, 1.018440451692613]\nmax_q:  4.27232759645\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 0.9853046837881146]\nmax_q:  0.985304683788\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 0.7768159176372398]\nmax_q:  0.776815917637\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.217660749287711, 0.5853929497032224, 4.322931612756716]\nmax_q:  4.32293161276\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.2744918708432085]\nmax_q:  4.27449187084\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.078307676279139]\nmax_q:  1.07830767628\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.123348996392929, 0.7023236789988999]\nmax_q:  3.12334899639\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 0.8622734918050072]\nmax_q:  0.862273491805\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 9.5\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (4, 2), deadline = 25\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.1477957025682172, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5906293175163926, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 3.582932468034256, \"(['green', None, None, None, 'right'], 'right')\": 6.233888013788748, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.915685321245801, \"(['red', None, None, None, 'forward'], 'right')\": 1.1434097710228561, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.527227511658558, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 7.25788323429412, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.527227511658558]\nmax_q:  4.52722751166\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.1434097710228561]\nmax_q:  1.14340977102\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 3.582932468034256]\nmax_q:  3.58293246803\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.448143384909774]\nmax_q:  4.44814338491\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 6.233888013788748]\nmax_q:  6.23388801379\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 7.25788323429412, 0.0, 0.0]\nmax_q:  7.25788323429\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.648783571505154]\nmax_q:  4.64878357151\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.5906293175163926, -0.23920340559466, 1.018440451692613]\nmax_q:  3.59062931752\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 0.8218983053694277]\nmax_q:  0.821898305369\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.738969221811673]\nmax_q:  4.73896922181\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.8020991770262365]\nmax_q:  4.80209917703\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.898804811720436]\nmax_q:  5.89880481172\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 6.219112661633343, 0.0, 0.0]\nmax_q:  6.21911266163\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (3, 5), deadline = 40\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.1477957025682172, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 3.6520349198889335, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 2.8954925978291173, \"(['green', None, None, None, 'right'], 'right')\": 5.456106890055769, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.915685321245801, \"(['red', None, None, None, 'forward'], 'right')\": 1.0252514580365912, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.846290145676431, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.456106890055769]\nmax_q:  5.45610689006\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.0252514580365912]\nmax_q:  1.02525145804\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 2.8954925978291173]\nmax_q:  2.89549259783\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 5.146218344890502]\nmax_q:  5.14621834489\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.846290145676431]\nmax_q:  4.84629014568\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.6520349198889335, -0.23920340559466, 1.018440451692613]\nmax_q:  3.65203491989\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.704229681905593, -0.23920340559466, 1.018440451692613]\nmax_q:  3.70422968191\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.748595229619754, -0.23920340559466, 1.018440451692613]\nmax_q:  3.74859522962\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 0.7214637393311025]\nmax_q:  0.721463739331\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.915685321245801, 0.7023236789988999]\nmax_q:  2.91568532125\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.9538438046772617]\nmax_q:  1.95384380468\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.3322362216334933, -0.23920340559466, 1.018440451692613]\nmax_q:  3.33223622163\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 2), deadline = 35\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.1477957025682172, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.060794362759964, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.6138376220048922, \"(['green', None, None, None, 'right'], 'right')\": 4.9292963632748155, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.640979724872061, \"(['red', None, None, None, 'forward'], 'right')\": 0.8548600507767957, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.7023236789988999, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.731797556464723, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.5853929497032224, \"(['green', None, None, None, 'right'], None)\": 0.9660945512312167, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 3.999484295186612, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.731797556464723]\nmax_q:  4.73179755646\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.622027922995015]\nmax_q:  4.622027923\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 0.8548600507767957]\nmax_q:  0.854860050777\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.640979724872061, 0.7023236789988999]\nmax_q:  2.64097972487\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.3575211899577515]\nmax_q:  1.35752118996\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.7093839873844205]\nmax_q:  1.70938398738\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.9292963632748155]\nmax_q:  4.92929636327\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.528723734545762]\nmax_q:  4.52872373455\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 3.999484295186612, 0.0, 0.0]\nmax_q:  3.99948429519\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 6.060794362759964, -0.23920340559466, 1.018440451692613]\nmax_q:  6.06079436276\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.955687945583089]\nmax_q:  1.95568794558\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29596789238740934, -0.0907252956723105, 0.0, 1.6138376220048922]\nmax_q:  1.613837622\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.729816014474235]\nmax_q:  4.72981601447\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.582808062584939]\nmax_q:  4.58280806258\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.1359092457694375, -0.23920340559466, 1.018440451692613]\nmax_q:  5.13590924577\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.495386853197198]\nmax_q:  4.4953868532\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.9660945512312167, 0.0, 1.2359441341980921, 4.421078825217618]\nmax_q:  4.42107882522\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.5853929497032224, 4.479579016353169]\nmax_q:  4.47957901635\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.965522858904022, -0.23920340559466, 1.018440451692613]\nmax_q:  4.9655228589\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.1477957025682172, -0.9717524750999997, -0.9861587127989999, 1.5123347537456255]\nmax_q:  1.51233475375\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.357917001434975]\nmax_q:  4.35791700143\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 4.389392861662464]\nmax_q:  4.38939286166\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.3042294512197286]\nmax_q:  4.30422945122\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.1354845406837817]\nmax_q:  1.13548454068\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.2585950335367695]\nmax_q:  4.25859503354\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.219805778506254]\nmax_q:  4.21980577851\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.20159545808138]\nmax_q:  4.20159545808\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.302716214294659, -0.23920340559466, 1.018440451692613]\nmax_q:  4.30271621429\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0)]\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.25730878215046, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.383300553010101, \"(['green', None, None, None, 'right'], 'right')\": 4.171356139369173, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.690761450711176, \"(['red', None, None, None, 'forward'], 'right')\": 0.8151618595812145, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.29596789238740934, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.318209420846684, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.7681839940416253, \"(['green', None, None, None, 'right'], None)\": 1.3299537360770979, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.690761450711176, 0.5837022185999637]\nmax_q:  2.69076145071\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 0.8151618595812145]\nmax_q:  0.815161859581\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.691028098449338, 0.5837022185999637]\nmax_q:  2.69102809845\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 1.383300553010101]\nmax_q:  1.38330055301\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.171356139369173]\nmax_q:  4.17135613937\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 4.318209420846684]\nmax_q:  4.31820942085\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.145652718463797]\nmax_q:  4.14565271846\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.6912147518660516, 0.5837022185999637]\nmax_q:  2.69121475187\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.509209619029419]\nmax_q:  1.50920961903\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.0, 1.2359441341980921, 4.123804810694227]\nmax_q:  4.12380481069\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 4.244594502362248]\nmax_q:  4.24459450236\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 7.25730878215046, -0.23920340559466, 1.018440451692613]\nmax_q:  7.25730878215\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.979372605101796, -0.23920340559466, 1.018440451692613]\nmax_q:  5.9793726051\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.08481728116773, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0258054700585857, \"(['green', None, None, None, 'right'], 'right')\": 4.123352542840296, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.887532539086144, \"(['red', None, None, None, 'forward'], 'right')\": 1.9950430506431625, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.5712161516535734, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.7681839940416253, \"(['green', None, None, None, 'right'], None)\": 1.3299537360770979, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [1.925811487612732, 8.08481728116773, -0.23920340559466, 1.018440451692613]\nmax_q:  8.08481728117\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.9950430506431625]\nmax_q:  1.99504305064\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 1.0258054700585857]\nmax_q:  1.02580547006\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.5712161516535734]\nmax_q:  3.57121615165\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.6355337289055374]\nmax_q:  3.63553372891\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 6.558628554413884, -0.23920340559466, 1.018440451692613]\nmax_q:  6.55862855441\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.5457865930466879]\nmax_q:  1.54578659305\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.887532539086144, 0.5837022185999637]\nmax_q:  2.88753253909\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.054402658223222, 0.5837022185999637]\nmax_q:  3.05440265822\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.7454868116896898]\nmax_q:  1.74548681169\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.76337649165992]\nmax_q:  3.76337649166\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.8528664255879885]\nmax_q:  3.85286642559\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.46850288142604435, 1.2359441341980921, 4.123352542840296]\nmax_q:  4.12335254284\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.3336637899362362]\nmax_q:  1.33366378994\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.46850288142604435, 1.2359441341980921, 4.038897637722842]\nmax_q:  4.03889763772\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.915509379337636]\nmax_q:  3.91550937934\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.5970008495123735]\nmax_q:  1.59700084951\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.9430397785323406]\nmax_q:  3.94303977853\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.962311057968633]\nmax_q:  3.96231105797\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (5, 3), deadline = 25\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.422907977046722, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 4.014554753306634, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.888260917241845, \"(['red', None, None, None, 'forward'], 'right')\": 1.2074507220855173, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.975800953574038, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.7681839940416253, \"(['green', None, None, None, 'right'], None)\": 1.3299537360770979, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.888260917241845, 0.5837022185999637]\nmax_q:  2.88826091724\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.422907977046722, -0.23920340559466, 1.018440451692613]\nmax_q:  5.42290797705\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.2094717804897135, -0.23920340559466, 1.018440451692613]\nmax_q:  5.20947178049\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.975800953574038]\nmax_q:  3.97580095357\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.2074507220855173]\nmax_q:  1.20745072209\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.979430810537932]\nmax_q:  3.97943081054\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.9877847803725475]\nmax_q:  3.98778478037\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.3299537360770979, 0.46850288142604435, 1.2359441341980921, 4.014554753306634]\nmax_q:  4.01455475331\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.427747854655626, -0.23920340559466, 1.018440451692613]\nmax_q:  4.42774785466\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.363585676457282, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 4.012371540310639, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.055021779655568, \"(['red', None, None, None, 'forward'], 'right')\": 0.8763331137726896, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9936325592567785, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.7681839940416253, \"(['green', None, None, None, 'right'], None)\": 1.3299537360770979, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.012371540310639]\nmax_q:  4.01237154031\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.010515809264042]\nmax_q:  4.01051580926\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 0.8763331137726896]\nmax_q:  0.876333113773\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.9936325592567785]\nmax_q:  3.99363255926\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.7681839940416253, 3.9965036840357464]\nmax_q:  3.99650368404\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.006405950373346]\nmax_q:  4.00640595037\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.567971031109475]\nmax_q:  1.56797103111\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.0040383849759]\nmax_q:  4.00403838498\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.003432627229515]\nmax_q:  4.00343262723\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.997028131430384]\nmax_q:  3.99702813143\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 7.363585676457282, -0.23920340559466, 1.018440451692613]\nmax_q:  7.36358567646\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 2.0521175732452246]\nmax_q:  2.05211757325\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9983573519730315]\nmax_q:  3.99835735197\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9992878063528847]\nmax_q:  3.99928780635\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.002917733145087]\nmax_q:  4.00291773315\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.9861587127989999, 1.594299937258441]\nmax_q:  1.59429993726\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.002480073173324]\nmax_q:  4.00248007317\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.001726919884144]\nmax_q:  4.00172691988\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.06232760950688, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 3.4012088439189005, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.055021779655568, \"(['red', None, None, None, 'forward'], 'right')\": 1.8753590975069407, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9999391244187823, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.9861587127989999, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.4012088439189005]\nmax_q:  3.40120884392\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 6.06232760950688, -0.23920340559466, 1.018440451692613]\nmax_q:  6.06232760951\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.1249331912808564, -0.23920340559466, 1.018440451692613]\nmax_q:  5.12493319128\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.055021779655568, 0.5837022185999637]\nmax_q:  3.05502177966\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.8753590975069407]\nmax_q:  1.87535909751\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.491027517331065]\nmax_q:  3.49102751733\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.5673733897314053]\nmax_q:  3.56737338973\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9999391244187823]\nmax_q:  3.99993912442\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.9061803501431676]\nmax_q:  1.90618035014\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9999482557559647]\nmax_q:  3.99994825576\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9999560173925697]\nmax_q:  3.99995601739\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.697152241474801]\nmax_q:  3.69715224147\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.956193212588728, -0.23920340559466, 1.018440451692613]\nmax_q:  4.95619321259\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.812764230700418, -0.23920340559466, 1.018440451692613]\nmax_q:  4.8127642307\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (3, 6), deadline = 20\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.018440451692613, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.968934961490293, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 3.7425794052535806, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.1967685127072327, \"(['red', None, None, None, 'forward'], 'right')\": 1.4702532976216922, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9545420483960187, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9545420483960187]\nmax_q:  3.9545420484\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 6.968934961490293, -0.23920340559466, 1.018440451692613]\nmax_q:  6.96893496149\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.029148237824276876]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.3, 0.0, -0.029148237824276876]\nmax_q:  0.0\ncount:  2\nbest:  [0, 2]\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.478254473043204, -0.23920340559466, 1.018440451692613]\nmax_q:  5.47825447304\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.7425794052535806]\nmax_q:  3.74257940525\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9295663446652496]\nmax_q:  3.92956634467\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.4702532976216922]\nmax_q:  1.47025329762\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.940131392965462]\nmax_q:  3.94013139297\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.8574880837089243]\nmax_q:  3.85748808371\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9367151876321618]\nmax_q:  3.93671518763\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.256516302086723, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.25651630209\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0)]\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (7, 5), deadline = 20\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.279561411460706, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 3.8788648711525857, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.1967685127072327, \"(['red', None, None, None, 'forward'], 'right')\": 1.0997153029784383, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9375303620154005, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.0997153029784383]\nmax_q:  1.09971530298\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.1967685127072327, 0.5837022185999637]\nmax_q:  3.19676851271\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 7.279561411460706, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.27956141146\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9375303620154005]\nmax_q:  3.93753036202\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.7117349238040127]\nmax_q:  1.7117349238\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9381009840836683]\nmax_q:  3.93810098408\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.8788648711525857]\nmax_q:  3.87886487115\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.905980472736528]\nmax_q:  3.90598047274\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.8971522330534285]\nmax_q:  1.89715223305\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.9249613938452876]\nmax_q:  3.92496139385\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.9385004195314552]\nmax_q:  3.93850041953\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.777361391504089]\nmax_q:  3.7773613915\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.659585242604131, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.6595852426\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.410647456213511, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.41064745621\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.15]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.9382480386214196]\nmax_q:  3.93824803862\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 3.8348901798460755]\nmax_q:  3.83489017985\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0)]\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (8, 3), deadline = 20\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.69149487177866, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 1.0011937099039314, \"(['green', None, None, None, 'right'], 'right')\": 3.932007154011905, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.3172532358011475, \"(['red', None, None, None, 'forward'], 'right')\": 2.0269443495280193, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.859656652869164, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.69149487177866, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.69149487178\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.3172532358011475, 0.5837022185999637]\nmax_q:  3.3172532358\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 2.0269443495280193]\nmax_q:  2.02694434953\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.587770641011861, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.58777064101\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.9570266408213928]\nmax_q:  1.95702664082\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 1.0011937099039314]\nmax_q:  1.0011937099\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.859656652869164]\nmax_q:  6.85965665287\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.932007154011905]\nmax_q:  3.93200715401\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.499605044860082, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.49960504486\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.894859405303987]\nmax_q:  1.8948594053\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 0.7010146534183417]\nmax_q:  0.701014653418\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.9915607301102]\nmax_q:  5.99156073011\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.251139117324863]\nmax_q:  4.25113911732\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.033952442197655, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.0339524422\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 4.028859575868006, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.02885957587\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.460630494508389]\nmax_q:  1.46063049451\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 0.4458624554055904]\nmax_q:  0.445862455406\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.213468249726134]\nmax_q:  4.21346824973\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.692826620593669]\nmax_q:  5.69282662059\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.6392962772838624, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.63929627728\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.4183357877484517]\nmax_q:  1.41833578775\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (6, 1), deadline = 30\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 3.360257762260971, \"(['green', None, None, None, 'right'], 'left')\": 1.2359441341980921, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 0.6229421670158721, \"(['green', None, None, None, 'right'], 'right')\": 4.1814480122672135, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.072256321546393, \"(['red', None, None, None, 'forward'], 'right')\": 1.3468737157630617, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.41467260762270164, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.21219583625565, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.3468737157630617]\nmax_q:  1.34687371576\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 0.6229421670158721]\nmax_q:  0.622942167016\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.9948426583986023]\nmax_q:  0.994842658399\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.072256321546393, 0.5837022185999637]\nmax_q:  3.07225632155\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.360257762260971, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.36025776226\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 1.0504285252181673]\nmax_q:  1.05042852522\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.41467260762270164, -0.0907252956723105, 0.0, 0.37950084196349126]\nmax_q:  0.414672607623\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3524717164792963, -0.0907252956723105, 0.0, 0.37950084196349126]\nmax_q:  0.379500841963\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.1814480122672135]\nmax_q:  4.18144801227\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.109744712365405, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.10974471237\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.7428642464354422]\nmax_q:  0.742864246435\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.81278031622588, 0.5837022185999637]\nmax_q:  2.81278031623\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.8882509356210995, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.88825093562\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.9908632687919976, 0.5837022185999637]\nmax_q:  2.99086326879\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.48143460947012595]\nmax_q:  0.48143460947\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.5270136085870494]\nmax_q:  3.52701360859\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.5979615672989915]\nmax_q:  3.5979615673\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.21219583625565]\nmax_q:  5.21219583626\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.0550132952779343, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.05501329528\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.6452562209207783]\nmax_q:  0.645256220921\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.833597456261101]\nmax_q:  4.83359745626\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.708557837821935]\nmax_q:  4.70855783782\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 3.900402472547641]\nmax_q:  3.90040247255\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.3984677877826615]\nmax_q:  0.398467787783\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 1.2359441341980921, 4.002439359386973]\nmax_q:  4.00243935939\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.4810508573575]\nmax_q:  4.48105085736\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.0736090474388735]\nmax_q:  4.07360904744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.347776957266081]\nmax_q:  4.34777695727\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nEnvironment.step(): Primary agent ran out of time! Trial aborted.\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (8, 2), deadline = 45\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 3.196761300986244, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], 'right')\": 0.5375676368083259, \"(['green', None, None, None, 'right'], 'right')\": 4.1036928767971235, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.6936042881543982, \"(['red', None, None, None, 'forward'], 'right')\": 0.6084416465957996, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.3524717164792963, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.295610413676169, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [1.925811487612732, 3.196761300986244, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.19676130099\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.6084416465957996]\nmax_q:  0.608441646596\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3524717164792963, -0.0907252956723105, 0.0, 0.5375676368083259]\nmax_q:  0.537567636808\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.295610413676169]\nmax_q:  4.29561041368\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.1036928767971235]\nmax_q:  4.1036928768\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.9289991576797405, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.92899915768\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.7053757203167823, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.70537572032\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.36717539960642964]\nmax_q:  0.367175399606\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3524717164792963, -0.0907252956723105, 0.0, 0.30693249128707695]\nmax_q:  0.352471716479\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.29960095900740186, -0.0907252956723105, 0.0, 0.30693249128707695]\nmax_q:  0.306932491287\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.088138945277555]\nmax_q:  4.08813894528\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.074918103485921]\nmax_q:  4.07491810349\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.4893486768489075]\nmax_q:  0.489348676849\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.6936042881543982, 0.5837022185999637]\nmax_q:  2.69360428815\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.548839314162712, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.54883931416\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.4252544708489463, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.42525447085\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.251268851624744]\nmax_q:  4.25126885162\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0)]\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (1, 6), deadline = 45\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.27377967290031924, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 2.33874508052931, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9717524750999997, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.46889338712411355, \"(['green', None, None, None, 'right'], 'right')\": 4.063680387963033, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.5558570097766955, \"(['red', None, None, None, 'forward'], 'right')\": 0.19254407379423524, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.29960095900740186, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 7.185440254331775, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.063680387963033]\nmax_q:  4.06368038796\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27377967290031924, -0.9717524750999997, -0.7090072343332587, 0.19254407379423524]\nmax_q:  0.2737796729\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.23271272196527135, -0.9717524750999997, -0.7090072343332587, 0.19254407379423524]\nmax_q:  0.232712721965\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.19780581367048064, -0.9717524750999997, -0.7090072343332587, 0.19254407379423524]\nmax_q:  0.19780581367\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.33874508052931, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.33874508053\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.2660031674396524, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.26600316744\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.16813494161990852, -0.9717524750999997, -0.7090072343332587, 0.19254407379423524]\nmax_q:  0.192544073794\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29960095900740186, -0.0907252956723105, 0.0, 0.46889338712411355]\nmax_q:  0.468893387124\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.522392309723889]\nmax_q:  4.52239230972\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 7.185440254331775]\nmax_q:  7.18544025433\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.215083828276892, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.21508382828\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.16813494161990852, -0.9717524750999997, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.16813494162\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.449412082881289, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.44941208288\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.14291470037692225, -0.9717524750999997, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.142914700377\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.3360256630734404, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.33602566307\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.5558570097766955, 0.5837022185999637]\nmax_q:  2.55585700978\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.1214774953203839, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.12147749532\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.1032558710223263, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.103255871022\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 2.253439588449466, -0.23920340559466, 1.3513857614978375]\nmax_q:  2.25343958845\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 6), deadline = 45\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 1.925811487612732, \"(['red', None, None, None, 'forward'], None)\": 0.08776749036897735, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.177407711914626, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9620051082719422, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.5616039224533838, \"(['green', None, None, None, 'right'], 'right')\": 4.843490654956488, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.473340495211694, \"(['red', None, None, None, 'forward'], 'right')\": 0.013662462725099939, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.29960095900740186, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.707624216182008, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.843490654956488]\nmax_q:  4.84349065496\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08776749036897735, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.087767490369\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07460236681363075, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.0746023668136\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.06341201179158613, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.0634120117916\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.05390021002284821, -0.9620051082719422, -0.7090072343332587, 0.013662462725099939]\nmax_q:  0.0539002100228\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.925811487612732, 5.177407711914626, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.17740771191\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.000796555127431, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.00079655513\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.6, 0.0, 0.0]\nmax_q:  0.6\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.29960095900740186, -0.0907252956723105, 0.0, 0.5616039224533838]\nmax_q:  0.561603922453\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.473340495211694, 0.5837022185999637]\nmax_q:  2.47334049521\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.100557588589202, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.10055758859\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.085473950300821, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.0854739503\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.707624216182008]\nmax_q:  6.70762421618\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0)]\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (4, 1), destination = (7, 2), deadline = 20\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.045815178519420977, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.072652857755697, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9620051082719422, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.2431227457173686, \"(['green', None, None, None, 'right'], 'right')\": 4.996587090896843, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.70233942092994, \"(['red', None, None, None, 'forward'], 'right')\": 0.47464736219595016, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.29960095900740186, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 9.301480583754707, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.996587090896843]\nmax_q:  4.9965870909\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.47464736219595016]\nmax_q:  0.474647362196\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.29960095900740186, -0.0907252956723105, -0.2550598561488897, 0.2431227457173686]\nmax_q:  0.299600959007\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.2546608151562916, -0.0907252956723105, -0.2550598561488897, 0.2431227457173686]\nmax_q:  0.254660815156\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.70233942092994, 0.5837022185999637]\nmax_q:  2.70233942093\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.2534502578665576]\nmax_q:  0.253450257867\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.8969885077904487, 0.5837022185999637]\nmax_q:  2.89698850779\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.6643603673109193, 0.5837022185999637]\nmax_q:  2.66436036731\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (2, 5), deadline = 35\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.045815178519420977, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 4.072652857755697, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9620051082719422, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.2431227457173686, \"(['green', None, None, None, 'right'], 'right')\": 5.4928330511909955, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.864706312214281, \"(['red', None, None, None, 'forward'], 'right')\": 0.6383131091699449, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 9.301480583754707, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.6383131091699449]\nmax_q:  0.63831310917\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 5.864706312214281, 0.5837022185999637]\nmax_q:  5.86470631221\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.907717105082316]\nmax_q:  0.907717105082\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.2431227457173686]\nmax_q:  0.243122745717\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.4928330511909955]\nmax_q:  5.49283305119\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.840205223396903]\nmax_q:  5.8402052234\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.072652857755697, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.07265285776\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.6215595393199685]\nmax_q:  0.62155953932\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.7314503465632982]\nmax_q:  0.731450346563\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.564174439887367]\nmax_q:  5.56417443989\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.329548273904262]\nmax_q:  5.3295482739\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.061754929092342, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.06175492909\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 0.8943549168878293]\nmax_q:  0.894354916888\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 4.741762830407602, 0.5837022185999637]\nmax_q:  4.74176283041\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [2.098187524598027, 3.5773816878978137, -0.23920340559466, 1.3513857614978375]\nmax_q:  3.5773816879\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (6, 1), deadline = 35\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.045815178519420977, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.256065535779392, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9620051082719422, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.8747877170821317, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 5.725905879296189, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 4.6304984058464616, \"(['red', None, None, None, 'forward'], 'right')\": 1.0126556950061525, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 1.1290520412880574, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 9.301480583754707, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 9.301480583754707]\nmax_q:  9.30148058375\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.256065535779392, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.25606553578\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.917655705412482, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.91765570541\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 1.0126556950061525]\nmax_q:  1.01265569501\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.8747877170821317]\nmax_q:  0.874787717082\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 1.1290520412880574]\nmax_q:  1.12905204129\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.725905879296189]\nmax_q:  5.7259058793\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.742358993788737, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.74235899379\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.631005144720426, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.63100514472\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.46235140195749214]\nmax_q:  0.462351401957\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 7.969922290522723]\nmax_q:  7.96992229052\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 7.374433946944314]\nmax_q:  7.37443394694\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.582156762471284]\nmax_q:  6.58215676247\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 4.6304984058464616, 0.5837022185999637]\nmax_q:  4.63049840585\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.045815178519420977, -0.9620051082719422, -0.7090072343332587, 1.2702128355726172]\nmax_q:  1.27021283557\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.0275627333401625]\nmax_q:  6.02756273334\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.639346912948377]\nmax_q:  5.63934691295\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.46701999740176]\nmax_q:  5.4670199974\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 5.246966997791496]\nmax_q:  5.24696699779\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.272876898454047]\nmax_q:  4.27287689845\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.032235526640191, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.03223552664\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (8, 2), deadline = 35\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.045815178519420977, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.0274001976441625, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.8682207422472137, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.23194536368594, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.971581995429605, \"(['red', None, None, None, 'forward'], 'right')\": 0.9923866668123315, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.5837022185999637, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.195464412814548, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.971581995429605, 0.5837022185999637]\nmax_q:  3.97158199543\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.0274001976441625, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.02740019764\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.668038138372763, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.66803813837\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 0.9923866668123315]\nmax_q:  0.992386666812\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.975844696115164, 0.5837022185999637]\nmax_q:  3.97584469612\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 0.6935286667904818]\nmax_q:  0.69352866679\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.195464412814548]\nmax_q:  5.19546441281\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.5328233463005643, 0.46850288142604435, 0.7151608939386644, 4.23194536368594]\nmax_q:  4.23194536369\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.716484696882784, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.71648469688\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.609011992350366, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.60901199235\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 1), deadline = 25\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.517660193497811, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.2540406432231597, \"(['red', None, None, None, 'left'], 'right')\": 0.8682207422472137, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.197153559133048, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.9794679916978892, \"(['red', None, None, None, 'forward'], 'right')\": 1.0429427712857549, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.871616893523075, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.5328233463005643, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 1.0429427712857549]\nmax_q:  1.04294277129\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.9794679916978892, 0.38882466435705665]\nmax_q:  3.9794679917\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.517660193497811, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.5176601935\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.990011164473138, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.99001116447\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.541509489802166, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.5415094898\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.3, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.15, -0.15]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.8682207422472137]\nmax_q:  0.868220742247\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.197153559133048]\nmax_q:  4.19715355913\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.167580525263091]\nmax_q:  4.16758052526\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.871616893523075]\nmax_q:  4.87161689352\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.2540406432231597, 0.0, 0.0]\nmax_q:  0.254040643223\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.6314983424371965]\nmax_q:  4.63149834244\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.142443446473627]\nmax_q:  4.14244344647\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.536773591071617]\nmax_q:  4.53677359107\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.435212988200221, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.4352129882\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (1, 3), deadline = 40\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.219931039970188, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 1.0551366885145304, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.499710412531539, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.9825477929432056, \"(['red', None, None, None, 'forward'], 'right')\": 1.7077089689246998, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.300698075629862, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 0.856156345338705, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 1.7077089689246998]\nmax_q:  1.70770896892\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.9825477929432056, 0.38882466435705665]\nmax_q:  3.98254779294\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 1.0551366885145304]\nmax_q:  1.05513668851\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.300698075629862]\nmax_q:  4.30069807563\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.2555933642853825]\nmax_q:  4.25559336429\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 8.219931039970188, -0.23920340559466, 1.3513857614978375]\nmax_q:  8.21993103997\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.58694138397466, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.58694138397\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.1788531753982205, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.1788531754\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 1.786628044106395]\nmax_q:  1.78662804411\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.5460539583374233, 0.38882466435705665]\nmax_q:  3.54605395834\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.103871916879498]\nmax_q:  4.10387191688\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (2, 1), deadline = 25\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 5.193191429394713, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.7468661852373508, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.499710412531539, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.1942676986217986, \"(['red', None, None, None, 'forward'], 'right')\": 1.3686338374904357, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.997666903695379, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 0.856156345338705, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.997666903695379]\nmax_q:  6.9976669037\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 3.499710412531539]\nmax_q:  3.49971041253\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.193191429394713, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.19319142939\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.7090072343332587, 1.3686338374904357]\nmax_q:  1.36863383749\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.1942676986217986, 0.38882466435705665]\nmax_q:  3.19426769862\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.235234000576299, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.23523400058\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 3.574753850651808]\nmax_q:  3.57475385065\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.199948900489854, -0.23920340559466, 1.3513857614978375]\nmax_q:  4.19994890049\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (4, 6), deadline = 20\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.169956565416376, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.7468661852373508, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.6385407730540367, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.3151275438285284, \"(['red', None, None, None, 'forward'], 'right')\": 1.44332878632975, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.023323394466496, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.7090072343332587, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 0.856156345338705, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 3.6385407730540367]\nmax_q:  3.63854077305\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 6.023323394466496]\nmax_q:  6.02332339447\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.0504770503078]\nmax_q:  4.05047705031\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.169956565416376, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.16995656542\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.856156345338705, -0.15, -0.15]\nmax_q:  0.856156345339\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.44332878632975]\nmax_q:  1.44332878633\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.423897933672717]\nmax_q:  5.42389793367\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 5.034066347360857]\nmax_q:  5.03406634736\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.248918625266367]\nmax_q:  4.24891862527\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.7473930475922685, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.74739304759\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 4), deadline = 35\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.784699553571631, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.7468661852373508, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.211580831476412, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.3151275438285284, \"(['red', None, None, None, 'forward'], 'right')\": 1.0768294683802873, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.7611842369425545, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.211580831476412]\nmax_q:  4.21158083148\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.784699553571631, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.78469955357\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.216994620535886, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.21699462054\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.0768294683802873]\nmax_q:  1.07682946838\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.3151275438285284, 0.38882466435705665]\nmax_q:  3.31512754383\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.17984370675495]\nmax_q:  4.17984370675\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.4757937260610254]\nmax_q:  1.47579372606\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.240068230269848]\nmax_q:  4.24006823027\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.7611842369425545]\nmax_q:  4.76118423694\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.647006601401171]\nmax_q:  4.6470066014\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.813420654632163, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.81342065463\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (2, 1), destination = (7, 6), deadline = 50\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.8027406522138048, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.6142625365289027, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.541407556437338, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.7468661852373508, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.282225396730277, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.417858412254249, \"(['red', None, None, None, 'forward'], 'right')\": 1.7550687064375423, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.49523843049036, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876}\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.7550687064375423]\nmax_q:  1.75506870644\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.417858412254249, 0.38882466435705665]\nmax_q:  3.41785841225\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 8.541407556437338, -0.23920340559466, 1.3513857614978375]\nmax_q:  8.54140755644\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.860196422971737, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.86019642297\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 47, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.281166959525976, -0.23920340559466, 1.3513857614978375]\nmax_q:  7.28116695953\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.788991915597078, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.7889919156\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.6142625365289027, 1.193536305127879, 0.8372830155436952, 4.49523843049036]\nmax_q:  4.49523843049\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 2.35975922797188]\nmax_q:  2.35975922797\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.193536305127879, 0.8372830155436952, 4.420952665916806]\nmax_q:  4.42095266592\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.193536305127879, 0.8372830155436952, 4.357809766029285]\nmax_q:  4.35780976603\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.282225396730277]\nmax_q:  4.28222539673\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.855795343776098]\nmax_q:  1.85579534378\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.4204110978320707, 0.0, 2.8027406522138048, 0.0]\nmax_q:  2.80274065221\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.5051796504161112, 0.38882466435705665]\nmax_q:  3.50517965042\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.239891587220734]\nmax_q:  4.23989158722\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.7953704647999618]\nmax_q:  1.7953704648\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.193536305127879, 0.8372830155436952, 4.292800645730041]\nmax_q:  4.29280064573\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.2118442079140195]\nmax_q:  4.21184420791\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.193536305127879, 0.8372830155436952, 4.236737083198131]\nmax_q:  4.2367370832\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.9626980591270335]\nmax_q:  1.96269805913\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.180067576726916]\nmax_q:  4.18006757673\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.193536305127879, 0.8372830155436952, 4.192726094747728]\nmax_q:  4.19272609475\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.154956217921001]\nmax_q:  4.15495621792\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.706258225113737, -0.23920340559466, 1.3513857614978375]\nmax_q:  5.70625822511\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (1, 2), deadline = 35\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.455838553409169, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.450319491346676, \"(['green', None, None, None, 'right'], 'left')\": 0.7151608939386644, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.7468661852373508, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.131712785232851, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.1656556830768805, \"(['red', None, None, None, 'forward'], 'right')\": 2.079827375155984, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.23920340559466, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.163817180535569, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.193536305127879, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.163817180535569]\nmax_q:  4.16381718054\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': 'left'}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 8.450319491346676, -0.23920340559466, 1.3513857614978375]\nmax_q:  8.45031949135\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 2.079827375155984]\nmax_q:  2.07982737516\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.1656556830768805, 0.38882466435705665]\nmax_q:  3.16565568308\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.6178532688825862]\nmax_q:  1.61785326888\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.2908073306153485, 0.38882466435705665]\nmax_q:  3.29080733062\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 2.0065769507502207]\nmax_q:  2.00657695075\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.7468661852373508]\nmax_q:  0.746866185237\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.514672026374898]\nmax_q:  3.51467202637\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.587471222418663]\nmax_q:  3.58747122242\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.827197750216071, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.82719775022\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.4031180876836595, -0.23920340559466, 1.3513857614978375]\nmax_q:  6.40311808768\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.7151608939386644, 4.131712785232851]\nmax_q:  4.13171278523\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.5555904081376877]\nmax_q:  1.55559040814\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.649350539055863]\nmax_q:  3.64935053906\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.7604856069173103]\nmax_q:  3.76048560692\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.7964127658797135]\nmax_q:  3.79641276588\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 3.8269508509977563]\nmax_q:  3.826950851\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (3, 4), deadline = 40\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3513857614978375, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.455838553409169, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.04265037453111, \"(['green', None, None, None, 'right'], 'left')\": 0.9146854667946616, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.2185028814260443, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.48483625745174824, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.039601530521375, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.397186231023046, \"(['red', None, None, None, 'forward'], 'right')\": 1.8453108418760478, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.21646169288284783, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 6.8848058252766355, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 8.501184101126679, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.702549376280352, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 0.9146854667946616, 4.039601530521375]\nmax_q:  4.03960153052\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.04265037453111, -0.04064575763485481, 1.3513857614978375]\nmax_q:  6.04265037453\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.736252818351443, -0.04064575763485481, 1.3513857614978375]\nmax_q:  5.73625281835\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.475814895598726, -0.04064575763485481, 1.3513857614978375]\nmax_q:  5.4758148956\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.8453108418760478]\nmax_q:  1.84531084188\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.397186231023046, 0.38882466435705665]\nmax_q:  3.39718623102\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 6.8848058252766355]\nmax_q:  6.88480582528\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.8481976472933106]\nmax_q:  1.84819764729\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.3, 0.0, 1.2185028814260443]\nmax_q:  1.21850288143\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.21646169288284783, -0.0907252956723105, -0.2550598561488897, 0.48483625745174824]\nmax_q:  0.484836257452\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.420968000199314]\nmax_q:  1.4209680002\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 6.45208495148514]\nmax_q:  6.45208495149\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.702549376280352, 0.46850288142604435, 1.4029206580706184, 4.391375653382989]\nmax_q:  4.39137565338\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.4029206580706184, 4.33266930537554]\nmax_q:  4.33266930538\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 3.0507558003338944, 0.38882466435705665]\nmax_q:  3.05075580033\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 6.084272208762369]\nmax_q:  6.08427220876\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.0578228001694168]\nmax_q:  1.05782280017\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 5.7716313774480135]\nmax_q:  5.77163137745\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 5.505886670830812]\nmax_q:  5.50588667083\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.4029206580706184, 4.282768909569208]\nmax_q:  4.28276890957\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.709867053200515, -0.04064575763485481, 0.9546434530738986]\nmax_q:  4.7098670532\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (5, 1), deadline = 30\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.18092862498544438, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.455838553409169, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.603386995220438, \"(['green', None, None, None, 'right'], 'left')\": 1.4029206580706184, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.262110818833986, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.240353573133827, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.7748456830588237, \"(['red', None, None, None, 'forward'], 'right')\": 1.296956018098669, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.19083980784309137, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 5.096536006016949, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8416849592025772, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.4029206580706184, 4.240353573133827]\nmax_q:  4.24035357313\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.7748456830588237, 0.38882466435705665]\nmax_q:  2.77484568306\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.18092862498544438, -0.7718059287058304, -0.5798057460838186, 1.296956018098669]\nmax_q:  1.2969560181\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.4029206580706184, 4.204300537163753]\nmax_q:  4.20430053716\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 5.096536006016949]\nmax_q:  5.09653600602\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.4204110978320707, 0.0, 2.455838553409169, 0.0]\nmax_q:  2.45583855341\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.53595098722324]\nmax_q:  4.53595098722\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.307490776917169]\nmax_q:  4.30749077692\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.603386995220438, -0.04064575763485481, 0.9546434530738986]\nmax_q:  7.60338699522\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.062878945937372, -0.04064575763485481, 0.9546434530738986]\nmax_q:  7.06287894594\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 3.6152435438420185]\nmax_q:  3.61524354384\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (8, 6), deadline = 35\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.603447104046766, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.262110818833986, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 6.672957012265716, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.5817086009662744, \"(['red', None, None, None, 'forward'], 'right')\": 0.9524126153838687, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.19083980784309137, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.4555583391397535, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8416849592025772, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.603447104046766, -0.04064575763485481, 0.9546434530738986]\nmax_q:  6.60344710405\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.9524126153838687]\nmax_q:  0.952412615384\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.19083980784309137, -0.0907252956723105, -0.2550598561488897, 0.262110818833986]\nmax_q:  0.262110818834\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 6.672957012265716]\nmax_q:  6.67295701227\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.4555583391397535]\nmax_q:  4.45555833914\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.365274865140316, -0.04064575763485481, 0.9546434530738986]\nmax_q:  5.36527486514\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.6595507230762883]\nmax_q:  0.659550723076\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.19083980784309137, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.190839807843\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.9633595754223635, 2.5817086009662744, 0.38882466435705665]\nmax_q:  2.58170860097\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 5.939403659456963]\nmax_q:  5.93940365946\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.410618114614845]\nmax_q:  0.410618114615\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 5.648493110538419]\nmax_q:  5.64849311054\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.609801386316372]\nmax_q:  4.60980138632\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.518331178368916]\nmax_q:  4.51833117837\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.8056264323393412]\nmax_q:  0.805626432339\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.440581501613578]\nmax_q:  4.44058150161\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 5.401219143957656]\nmax_q:  5.40121914396\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 5.191036272364007]\nmax_q:  5.19103627236\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.454625014059665, -0.04064575763485481, 0.9546434530738986]\nmax_q:  4.45462501406\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 3.718237509841765, -0.04064575763485481, 0.9546434530738986]\nmax_q:  3.71823750984\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (7, 5), deadline = 35\nRoutePlanner.route_to(): destination = (7, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.7605018833654995, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.07279419600888812, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 5.012380831509406, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.431528096176386, \"(['red', None, None, None, 'forward'], 'right')\": 0.5347824674884399, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.16221383666662767, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.374494276371541, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8416849592025772, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 5.012380831509406]\nmax_q:  5.01238083151\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.5347824674884399]\nmax_q:  0.534782467488\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.16221383666662767, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.162213836667\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.1378817611666335, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.137881761167\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.11719949699163847, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.117199496992\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 2.431528096176386, 0.38882466435705665]\nmax_q:  2.43152809618\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.412568688479116, -0.04064575763485481, 0.9546434530738986]\nmax_q:  5.41256868848\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.374494276371541]\nmax_q:  4.37449427637\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.0362330305137752]\nmax_q:  1.03623303051\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.31832013491581]\nmax_q:  4.31832013492\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.8605237067829945]\nmax_q:  4.86052370678\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.731445150765545]\nmax_q:  4.73144515077\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.544233036512447, -0.04064575763485481, 0.9546434530738986]\nmax_q:  4.54423303651\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.46259808103558, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": 0.07279419600888812, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 4.621728378150713, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.666798881749928, \"(['red', None, None, None, 'forward'], 'right')\": 0.730798075936709, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.09961957244289268, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.351902650458516, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8416849592025772, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 2.666798881749928, 0.38882466435705665]\nmax_q:  2.66679888175\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.46259808103558, -0.04064575763485481, 0.9546434530738986]\nmax_q:  7.46259808104\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.730798075936709]\nmax_q:  0.730798075937\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.09961957244289268, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.0996195724429\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.08467663657645877, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.0846766365765\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.07197514108998995, -0.0907252956723105, -0.2550598561488897, 0.07279419600888812]\nmax_q:  0.0727941960089\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.621728378150713]\nmax_q:  4.62172837815\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.528469121428105]\nmax_q:  4.52846912143\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.933438368115412, -0.04064575763485481, 0.9546434530738986]\nmax_q:  5.93343836812\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 2.866779049487439, 0.38882466435705665]\nmax_q:  2.86677904949\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.251574408373008]\nmax_q:  1.25157440837\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.351902650458516]\nmax_q:  4.35190265046\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.3137116683030445]\nmax_q:  4.3137116683\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.266654918057588]\nmax_q:  4.26665491806\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.9138382471170569]\nmax_q:  0.913838247117\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8416849592025772, 0.46850288142604435, 1.5965248615519751, 4.4491987532138895]\nmax_q:  4.44919875321\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.7144391272497224]\nmax_q:  3.71443912725\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.8372830155436952, 4.22665668034895]\nmax_q:  4.22665668035\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.94114301893674, -0.04064575763485481, 0.9546434530738986]\nmax_q:  4.94114301894\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0)]\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 3), deadline = 30\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 7.243428847129085, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": -0.06100193015277685, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.7572732581622637, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.036762192064323, \"(['red', None, None, None, 'forward'], 'right')\": 1.2308582258224505, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.07197514108998995, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.122250664968604, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8463453405292622, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  left\nq:  [0.07197514108998995, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.07197514109\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.06117886992649145, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0611788699265\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.05200203943751773, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0520020394375\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.044201733521890066, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0442017335219\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.036762192064323, 0.38882466435705665]\nmax_q:  3.03676219206\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.2308582258224505]\nmax_q:  1.23085822582\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.1812478632546743, 0.38882466435705665]\nmax_q:  3.18124786325\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 7.243428847129085, -0.04064575763485481, 0.9546434530738986]\nmax_q:  7.24342884713\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.798115085145078]\nmax_q:  1.79811508515\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.304060683766473, 0.38882466435705665]\nmax_q:  3.30406068377\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.756914520059722, -0.04064575763485481, 0.9546434530738986]\nmax_q:  6.75691452006\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.343377342050763, -0.04064575763485481, 0.9546434530738986]\nmax_q:  6.34337734205\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.03757147349360655, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0375714734936\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.031935752469565565, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0319357524696\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.02714538959913073, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0271453895991\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.408451581201502, 0.38882466435705665]\nmax_q:  3.4084515812\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.991870740743148, -0.04064575763485481, 0.9546434530738986]\nmax_q:  5.99187074074\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (5, 3), destination = (2, 2), deadline = 20\nRoutePlanner.route_to(): destination = (2, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.0907252956723105, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 8.001069191876201, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": -0.06100193015277685, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.7572732581622637, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 2.98937714401494, \"(['red', None, None, None, 'forward'], 'right')\": 1.3783978223733162, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.023073581159261117, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.122250664968604, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8463453405292622, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 0.8420756433007338, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  forward\nq:  [2.098187524598027, 8.001069191876201, -0.04064575763485481, 0.9546434530738986]\nmax_q:  8.00106919188\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.3783978223733162]\nmax_q:  1.37839782237\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 2.98937714401494, 0.38882466435705665]\nmax_q:  2.98937714401\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.7760046918117218]\nmax_q:  1.77600469181\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.8420756433007338, 0.0]\nmax_q:  0.842075643301\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.023073581159261117, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0230735811593\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.019612543985371947, -0.0907252956723105, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0196125439854\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.016670662387566156, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0166706623876\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.014170063029431232, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0141700630294\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 2.696025037984347, 0.38882466435705665]\nmax_q:  2.69602503798\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (1, 4), destination = (5, 2), deadline = 30\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 0.9546434530738986, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.36100710761248245, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.407508107669337, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": -0.06100193015277685, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.7572732581622637, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 5.4890242096252955, \"(['red', None, None, None, 'forward'], 'right')\": 1.4024160440995954, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.012044553575016546, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 4.122250664968604, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.8372830155436952, \"(['green', None, None, None, 'right'], None)\": 1.8463453405292622, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 1.5938567060081654, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 4.122250664968604]\nmax_q:  4.12225066497\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.4024160440995954]\nmax_q:  1.4024160441\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.012044553575016546, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.012044553575\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 5.4890242096252955, 0.38882466435705665]\nmax_q:  5.48902420963\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.407508107669337, -0.04064575763485481, 0.9546434530738986]\nmax_q:  6.40750810767\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 5.265670578181501, 0.38882466435705665]\nmax_q:  5.26567057818\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 4.287505085307865, 0.38882466435705665]\nmax_q:  4.28750508531\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.042053637484656]\nmax_q:  1.04205363748\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.7572732581622637]\nmax_q:  3.75727325816\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 4.103913065223313]\nmax_q:  4.10391306522\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 4.049590881730881]\nmax_q:  4.04959088173\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 5.241563720991234, -0.04064575763485481, 1.3044849753004142]\nmax_q:  5.24156372099\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.3656721043879443]\nmax_q:  1.36567210439\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.8456782404970813]\nmax_q:  3.8456782405\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 4.011565353286179]\nmax_q:  4.01156535329\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.893709571340884]\nmax_q:  3.89370957134\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.473945420352055, -0.04064575763485481, 1.3044849753004142]\nmax_q:  4.47394542035\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 4.402853607299247, -0.04064575763485481, 1.3044849753004142]\nmax_q:  4.4028536073\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0), (10, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3044849753004142, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.36100710761248245, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 6.833620718418935, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": -0.06100193015277685, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.909653135639751, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.6027892402963198, \"(['red', None, None, None, 'forward'], 'right')\": 1.0108212887297525, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.010237870538764064, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9921521830014575, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.9044357106258771, \"(['green', None, None, None, 'right'], None)\": 1.8463453405292622, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 1.5938567060081654, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.9921521830014575]\nmax_q:  3.992152183\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.0108212887297525]\nmax_q:  1.01082128873\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.010237870538764064, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.0102378705388\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.008702189957949455, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.00870218995795\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.007396861464257037, -0.36100710761248245, -0.2550598561488897, -0.06100193015277685]\nmax_q:  0.00739686146426\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.6623708542518716, 0.38882466435705665]\nmax_q:  3.66237085425\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.7091980954202897]\nmax_q:  0.70919809542\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.9933293555512384]\nmax_q:  3.99332935555\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.909653135639751]\nmax_q:  3.90965313564\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.9817785192318293]\nmax_q:  3.98177851923\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.833620718418935, -0.04064575763485481, 1.3044849753004142]\nmax_q:  6.83362071842\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.4528183811072462]\nmax_q:  0.452818381107\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.9340239728326]\nmax_q:  3.93402397283\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.9773485593871705]\nmax_q:  3.97734855939\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.8463453405292622, 0.46850288142604435, 1.5965248615519751, 3.9504190648908954]\nmax_q:  3.95041906489\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 6.408577610656094, -0.04064575763485481, 1.3044849753004142]\nmax_q:  6.40857761066\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0), (10, 12.0), (11, 12.0), (4, 12.0)]\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (3, 2), deadline = 20\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['green', None, None, None, 'forward'], 'right')\": 1.3044849753004142, \"(['green', 'left', None, None, 'forward'], 'forward')\": 1.63508363828838, \"(['red', None, None, 'right', 'left'], 'left')\": -0.3, \"(['green', None, None, None, 'forward'], None)\": 2.098187524598027, \"(['red', None, None, None, 'forward'], None)\": 0.26951192979739136, \"(['green', None, 'right', None, 'left'], 'forward')\": 0.2536142176066764, \"(['red', None, None, 'left', 'right'], 'left')\": -0.3, \"(['green', None, None, 'right', 'right'], 'forward')\": 0.8996500355543068, \"(['green', None, None, 'left', 'right'], 'left')\": 2.2494796354699043, \"(['red', None, None, None, 'left'], 'forward')\": -0.36100710761248245, \"(['red', None, None, None, 'right'], None)\": 1.7931266754577526, \"(['red', 'forward', 'forward', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.4550491951414751, \"(['green', None, 'left', 'left', 'right'], 'right')\": 1.1272008039562347, \"(['red', 'right', None, None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, None, 'forward'], 'forward')\": 9.04729096905768, \"(['green', None, None, None, 'right'], 'left')\": 1.5965248615519751, \"(['green', None, None, None, 'right'], 'forward')\": 0.46850288142604435, \"(['red', None, 'right', None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'right'], None)\": 0.0, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.6, \"(['red', 'left', None, None, 'right'], 'right')\": 1.452952016998231, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7718059287058304, \"(['green', None, None, None, 'left'], None)\": 0.3647292144264579, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.3, \"(['green', None, None, 'forward', 'left'], 'forward')\": 0.18609895353339134, \"(['red', None, None, None, 'left'], 'right')\": -0.06100193015277685, \"(['red', None, 'forward', None, 'right'], 'right')\": 1.9952220875632058, \"(['green', None, None, None, 'right'], 'right')\": 3.961799373119325, \"(['red', 'left', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, None, 'left'], 'forward')\": 0.9633595754223635, \"(['green', None, None, None, 'left'], 'left')\": 3.164602697813003, \"(['red', None, None, None, 'forward'], 'right')\": 1.1282595083734863, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.8561436324273012, \"(['green', 'left', 'right', None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'left'], None)\": 0.0062873322446184805, \"(['green', 'forward', None, None, 'left'], None)\": 0.0, \"(['red', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2550598561488897, \"(['red', None, 'forward', None, 'forward'], 'right')\": -0.15, \"(['green', None, None, None, 'forward'], 'left')\": -0.04064575763485481, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.3, \"(['green', None, 'left', None, 'right'], 'right')\": 2.2492223107960685, \"(['green', None, None, None, 'left'], 'right')\": 0.38882466435705665, \"(['red', None, None, 'right', 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'right')\": 3.9767068513046535, \"(['green', None, 'forward', None, 'forward'], 'forward')\": 6.763974070818572, \"(['red', None, 'left', None, 'right'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'left')\": 0.9044357106258771, \"(['green', None, None, None, 'right'], None)\": 1.8463453405292622, \"(['red', None, 'right', None, 'right'], 'left')\": -0.3, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.3, \"(['red', 'right', None, None, 'right'], 'forward')\": -0.3, \"(['green', None, None, 'left', 'forward'], 'forward')\": 4.308758161044622, \"(['red', 'forward', None, None, 'left'], 'right')\": 0.5133265746458654, \"(['red', None, None, None, 'forward'], 'left')\": -0.5798057460838186, \"(['red', None, 'left', None, 'forward'], 'forward')\": -0.3, \"(['green', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, 'right', 'forward'], None)\": 0.0, \"(['red', 'right', None, None, 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'forward', 'forward'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'right', None, 'forward'], None)\": 0.0, \"(['green', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'right'], 'right')\": 1.156737836870504, \"(['green', None, None, 'left', 'forward'], None)\": 0.0, \"(['red', None, 'right', 'right', 'forward'], 'forward')\": -0.3, \"(['green', None, None, 'right', 'left'], 'left')\": 0.8748854275839583, \"(['green', None, 'right', None, 'forward'], 'left')\": -0.15, \"(['green', None, 'left', None, 'forward'], 'forward')\": 2.061418398875934, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.15, \"(['green', 'left', None, None, 'right'], 'right')\": 1.3192059736953143, \"(['green', 'forward', None, None, 'forward'], 'right')\": -0.15, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', 'right', None, None, 'forward'], 'left')\": -0.3, \"(['red', None, None, None, 'right'], 'forward')\": 1.1600479906698504, \"(['green', None, 'left', None, 'left'], 'left')\": 1.5938567060081654, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.029148237824276876, \"(['green', None, None, 'left', 'right'], None)\": 0.4204110978320707}\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 1.1282595083734863]\nmax_q:  1.12825950837\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3, 0.5133265746458654]\nmax_q:  0.513326574646\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.9767068513046535]\nmax_q:  3.9767068513\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.7931266754577526, 1.1600479906698504, 0.9044357106258771, 3.980200823608955]\nmax_q:  3.98020082361\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.26951192979739136, -0.7718059287058304, -0.5798057460838186, 0.6397816558614403]\nmax_q:  0.639781655861\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.3647292144264579, 0.9633595754223635, 3.164602697813003, 0.38882466435705665]\nmax_q:  3.16460269781\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 9.04729096905768, -0.04064575763485481, 1.3044849753004142]\nmax_q:  9.04729096906\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.098187524598027, 8.290197323699028, -0.04064575763485481, 1.3044849753004142]\nmax_q:  8.2901973237\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0), (10, 12.0), (11, 12.0), (4, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nepsilon:  0.1 gamma:  0.5 alpha:  0.3 defaultq:  0.0\nResults:  [(4, 12.0), (26, 12.0), (20, 12.0), (30, 12.0), (24, 12.0), (19, 12.0), (24, 12.0), (26, 9.5), (16, 12.0), (13, 12.0), (14, 12.0), (12, 12.0), (20, 12.0), (9, 12.0), (23, 9.5), (27, 12.0), (15, 12.0), (12, 9.5), (19, 12.0), (27, 12.0), (19, 12.0), (19, 12.0), (12, 12.0), (18, 12.0), (12, 12.0), (20, 12.0), (14, 12.0), (26, 12.0), (9, 12.0), (10, 12.0), (11, 12.0), (25, 12.0), (12, 12.0), (22, 12.0), (16, 12.0), (24, 12.0), (22, 12.0), (16, 12.0), (22, 12.0), (11, 12.0), (8, 12.0), (17, 12.0), (29, 12.0), (15, 12.0), (6, 12.0), (14, 12.0), (13, 12.0), (16, 12.0), (17, 12.0), (17, 12.0), (5, 12.0), (11, 12.0), (19, 12.0), (8, 12.0), (14, 12.0), (18, 9.5), (3, 12.0), (19, 12.0), (4, 12.0), (15, 12.0), (21, 9.5), (13, 12.0), (27, 12.0), (2, 12.0), (5, 12.0), (16, 12.0), (16, 12.0), (7, 12.0), (2, 12.0), (28, 12.0), (25, 12.0), (30, 12.0), (12, 12.0), (19, 12.0), (12, 12.0), (24, 12.0), (8, 12.0), (29, 12.0), (16, 12.0), (10, 12.0), (25, 12.0), (25, 12.0), (14, 12.0), (13, 12.0), (18, 12.0), (16, 12.0), (21, 12.0), (6, 12.0), (14, 12.0), (10, 12.0), (11, 12.0), (4, 12.0), (13, 12.0)]"
  },
  {
    "path": "p4-smartcab/smartcab/trial-data/trial9.js",
    "content": "((python2.7)) jessica@Bourbaki:~/Dropbox/data-science/ml-nd/smartcab$ python smartcab/agent.py \nSimulator.run(): Trial 0\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (2, 5), deadline = 30\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 1\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (5, 5), deadline = 30\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['green', None, None, None, 'forward'], 'forward')\": 12.0}\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -1.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, -1.0, -1.0, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.25, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.5]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 12.0, 0.0, 0.0]\nmax_q:  12.0\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 10.767857142857144, 0.0, 0.0]\nmax_q:  10.7678571429\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.3333333333333333, -0.5]\nmax_q:  0.333333333333\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.09090909090909091, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.5625]\nmax_q:  2.5625\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.005494505494505495, 0.0, -0.09090909090909091, 0.15384615384615385]\nmax_q:  0.153846153846\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.11764705882352941]\nmax_q:  0.117647058824\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 10.344866071428573, 0.0, 0.0]\nmax_q:  10.3448660714\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.005494505494505495, 0.0, -0.09090909090909091, 0.24455936220642102]\nmax_q:  0.244559362206\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.673549107142857]\nmax_q:  2.67354910714\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 0.32279770882712056]\nmax_q:  0.322797708827\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 0.39089404755254425]\nmax_q:  0.390894047553\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.20588235294117646]\nmax_q:  0.205882352941\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 10.040166440217394, 0.0, 0.0]\nmax_q:  10.0401664402\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nSimulator.run(): Trial 2\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 1), deadline = 30\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', None, None, None, 'right'], None)\": 0.005494505494505495, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['red', None, None, None, 'right'], 'left')\": -0.09090909090909091, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['red', None, None, None, 'right'], 'right')\": 0.45203858787104584, \"(['green', None, None, None, 'forward'], 'forward')\": 9.815495527626814, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -1.0, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 0.2712981744421907, \"(['green', None, None, None, 'left'], 'left')\": 0.5185185185185185, \"(['red', None, None, None, 'forward'], 'right')\": 2.600078125, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065, \"(['red', None, None, None, 'left'], None)\": 0.0}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.03333333333333333, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -0.03333333333333333, 0.0]\nmax_q:  0.0\ncount:  2\nbest:  [0, 3]\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 0.45203858787104584]\nmax_q:  0.452038587871\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.5185185185185185, -0.5]\nmax_q:  0.518518518519\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.0132420876543957]\nmax_q:  1.01324208765\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.2712981744421907]\nmax_q:  0.271298174442\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.1152790876150047]\nmax_q:  1.11527908762\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.600078125]\nmax_q:  2.600078125\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.2262298919375045]\nmax_q:  1.22622989194\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -0.03333333333333333, 1.1130096469677615]\nmax_q:  1.11300964697\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.41535665990534143]\nmax_q:  0.415356659905\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 9.815495527626814, 0.0, 0.08889322916666666]\nmax_q:  9.81549552763\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 9.653953985192736, 0.0, 0.08889322916666666]\nmax_q:  9.65395398519\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.7291973849152433]\nmax_q:  2.72919738492\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.3186888955395877]\nmax_q:  1.31868889554\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.3635319801895767]\nmax_q:  1.36353198019\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = forward, reward = 12.0\nSimulator.run(): Trial 3\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (2, 5), deadline = 35\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.08889322916666666, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, None, None, 'right'], None)\": 0.005494505494505495, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 9.505165722424508, \"(['green', None, None, None, 'right'], 'right')\": 0.5207873463787137, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 0.736111111111111, \"(['red', None, None, None, 'forward'], 'right')\": 2.635967450292362, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 1.4009012173979007, \"(['red', None, None, None, 'right'], 'left')\": -0.09090909090909091, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -1.0, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.736111111111111, -0.5]\nmax_q:  0.736111111111\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.635967450292362]\nmax_q:  2.63596745029\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.0625, -0.5]\nmax_q:  1.0625\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.905403352112344]\nmax_q:  2.90540335211\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.1964285714285716, -0.5]\nmax_q:  1.19642857143\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 4\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (7, 3), deadline = 20\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.08889322916666666, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, None, None, 'right'], None)\": 0.005494505494505495, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 9.505165722424508, \"(['green', None, None, None, 'right'], 'right')\": 0.5207873463787137, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 2.396825396825397, \"(['red', None, None, None, 'forward'], 'right')\": 2.6613156426053224, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 1.4009012173979007, \"(['red', None, None, None, 'right'], 'left')\": -0.09090909090909091, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -1.0, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.4009012173979007]\nmax_q:  1.4009012174\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 0.8905905097840353]\nmax_q:  0.890590509784\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.2015314588056318]\nmax_q:  1.20153145881\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.396825396825397, -0.5]\nmax_q:  2.39682539683\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 9.505165722424508, 0.0, 0.08889322916666666]\nmax_q:  9.50516572242\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 5\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (1, 3), deadline = 45\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.08889322916666666, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, None, None, 'right'], None)\": 0.005494505494505495, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 10.310434293400922, \"(['green', None, None, None, 'right'], 'right')\": 1.4871635027791623, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 2.4970238095238098, \"(['red', None, None, None, 'forward'], 'right')\": 2.6613156426053224, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 1.8306474452936288, \"(['red', None, None, None, 'right'], 'left')\": -0.09090909090909091, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -1.0, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.4871635027791623]\nmax_q:  1.48716350278\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 10.310434293400922, 0.0, 0.08889322916666666]\nmax_q:  10.3104342934\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 44, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 7.155217146700461, 0.0, 0.08889322916666666]\nmax_q:  7.1552171467\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.4970238095238098, -0.5]\nmax_q:  2.49702380952\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.6613156426053224]\nmax_q:  2.66131564261\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': 'right', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.5909598214285716, -0.5]\nmax_q:  2.59095982143\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.541713169642857, -0.5]\nmax_q:  2.54171316964\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0)]\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 6\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (1, 1), deadline = 45\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.005494505494505495, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 6.366412860025346, \"(['green', None, None, None, 'right'], 'right')\": 1.6267655304025421, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 3.3080805564413267, \"(['red', None, None, None, 'forward'], 'right')\": 2.475239772785102, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 1.8306474452936288, \"(['red', None, None, None, 'right'], 'left')\": -0.09090909090909091, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -1.0, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.09090909090909091, 1.8306474452936288]\nmax_q:  1.83064744529\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.475239772785102]\nmax_q:  2.47523977279\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 3.3080805564413267, -0.5]\nmax_q:  3.30808055644\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.683206430012673]\nmax_q:  2.68320643001\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.6540402782206636, -0.5]\nmax_q:  2.65404027822\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 6.366412860025346, 0.0, 0.9536642961153353]\nmax_q:  6.36641286003\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -1.0, -1.0, 2.0693386916772276]\nmax_q:  2.06933869168\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.8222852434430807, -0.5]\nmax_q:  2.82228524344\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.8135604673707921]\nmax_q:  1.81356046737\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.887713841029576, -0.5]\nmax_q:  2.88771384103\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.6267655304025421]\nmax_q:  1.6267655304\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.858266434972726]\nmax_q:  1.85826643497\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.005494505494505495, -0.032253890214863065, -0.08524044569487181, 1.9081243222474278]\nmax_q:  1.90812432225\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.71525197245062]\nmax_q:  1.71525197245\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.7786451733271584]\nmax_q:  1.77864517333\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.700064157187999, 0.0, 0.9536642961153353]\nmax_q:  5.70006415719\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.661426335433727, 0.0, 0.9536642961153353]\nmax_q:  5.66142633543\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.7689456088798283]\nmax_q:  1.76894560888\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 1.9662319799627768]\nmax_q:  1.96623197996\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 1.967482647371563]\nmax_q:  1.96748264737\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 2.0037776000970706]\nmax_q:  2.0037776001\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.7156966548629087]\nmax_q:  1.71569665486\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.831534573962226]\nmax_q:  1.83153457396\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.8697951606140002]\nmax_q:  1.86979516061\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.9030796112294064]\nmax_q:  1.90307961123\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.540689225390517, 0.0, 0.9536642961153353]\nmax_q:  5.54068922539\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 7\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (3, 3), deadline = 25\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 5.8121496779583035, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 1.934851132271385, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 2.8194281609503777, \"(['red', None, None, None, 'forward'], 'right')\": 1.734184920123987, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 2.0352255203344516, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  forward\nq:  [0.0, 5.8121496779583035, 0.0, 0.9536642961153353]\nmax_q:  5.81214967796\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.785500417988328, 0.0, 0.9536642961153353]\nmax_q:  5.78550041799\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.8194281609503777, -0.5]\nmax_q:  2.81942816095\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.734184920123987]\nmax_q:  1.73418492012\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 2.0352255203344516]\nmax_q:  2.03522552033\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 1.934851132271385]\nmax_q:  1.93485113227\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 2.2808223302926454]\nmax_q:  2.28082233029\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 4.892750208994164, 0.0, 0.9536642961153353]\nmax_q:  4.89275020899\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 4.608422677822261, 0.0, 0.9536642961153353]\nmax_q:  4.60842267782\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 8\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (4, 5), deadline = 30\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 5.645177029443333, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.175963138846373, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 3.1145711207127835, \"(['red', None, None, None, 'forward'], 'right')\": 1.8049149815816854, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 2.4153488701477355, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 3.1145711207127835, -0.5]\nmax_q:  3.11457112071\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.8049149815816854]\nmax_q:  1.80491498158\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.8359283405345876, -0.5]\nmax_q:  2.83592834053\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.645177029443333, 0.0, 0.9536642961153353]\nmax_q:  5.64517702944\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.9329343121567053, -0.5]\nmax_q:  2.93293431216\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 5.527664384483096, 0.0, 0.9536642961153353]\nmax_q:  5.52766438448\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 5.442794140900701, 0.0, 0.9536642961153353]\nmax_q:  5.4427941409\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 5.377212589041577, 0.0, 0.9536642961153353]\nmax_q:  5.37721258904\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 9\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (7, 1), deadline = 40\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 6.153162064498178, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.175963138846373, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 2.9996259176469113, \"(['red', None, None, None, 'forward'], 'right')\": 1.9084496882096817, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 2.4153488701477355, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 2.4153488701477355]\nmax_q:  2.41534887015\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 2.4813760005582464]\nmax_q:  2.48137600056\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.9084496882096817]\nmax_q:  1.90844968821\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.9996259176469113, -0.5]\nmax_q:  2.99962591765\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 6.153162064498178, 0.0, 0.9536642961153353]\nmax_q:  6.1531620645\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 2.2425153602293855]\nmax_q:  2.24251536023\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 2.6664172784312745, -0.5]\nmax_q:  2.66641727843\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.240688000279123]\nmax_q:  3.24068800028\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.2698923079606956]\nmax_q:  3.26989230796\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 10\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (8, 4), deadline = 35\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 5.8840168064359055, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.175963138846373, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'left')\": 2.5997755505881472, \"(['red', None, None, None, 'forward'], 'right')\": 1.9182638242064471, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.9356652302368715, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.175963138846373]\nmax_q:  2.17596313885\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 5.8840168064359055, 0.0, 0.9536642961153353]\nmax_q:  5.88401680644\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.942008403217953, 0.0, 0.9536642961153353]\nmax_q:  4.94200840322\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.706506302413464, 0.0, 0.9536642961153353]\nmax_q:  4.70650630241\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.9182638242064471]\nmax_q:  1.91826382421\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.15997755505881472, 2.5997755505881472, -0.5]\nmax_q:  2.59977555059\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.124048172310051, 0.0, 0.9536642961153353]\nmax_q:  4.12404817231\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.5534808461806413]\nmax_q:  1.55348084618\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.716460921372468, -0.5]\nmax_q:  2.71646092137\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6448148292352216, -0.5]\nmax_q:  2.64481482924\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.115187588573619, 0.0, 0.9536642961153353]\nmax_q:  4.11518758857\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.5539378404146598]\nmax_q:  1.55393784041\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6899876682607142, -0.5]\nmax_q:  2.68998766826\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.031548921800725, 0.0, 0.9536642961153353]\nmax_q:  4.0315489218\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.0307186870164955, 0.0, 0.9536642961153353]\nmax_q:  4.03071868702\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.5516929357373481]\nmax_q:  1.55169293574\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.7263768996979163, -0.5]\nmax_q:  2.7263768997\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.2411073124590026]\nmax_q:  2.24110731246\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 11\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (4, 2), deadline = 30\nRoutePlanner.route_to(): destination = (4, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.9679750760591044, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.7509649343137608, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.7553228792502367, \"(['red', None, None, None, 'forward'], 'right')\": 1.548468869179834, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.9356652302368715, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.9356652302368715]\nmax_q:  3.93566523024\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.9679750760591044, 0.0, 0.9536642961153353]\nmax_q:  3.96797507606\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.548468869179834]\nmax_q:  1.54846886918\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.7553228792502367, -0.5]\nmax_q:  2.75532287925\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.911309457929046]\nmax_q:  3.91130945793\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.9113516518848755]\nmax_q:  0.911351651885\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.6019964797399293]\nmax_q:  3.60199647974\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.7509649343137608]\nmax_q:  2.75096493431\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.720216486696388]\nmax_q:  0.720216486696\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.6570943175245407]\nmax_q:  2.65709431752\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.7242396016483137]\nmax_q:  2.72423960165\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.569637335085208]\nmax_q:  3.56963733509\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 2.774234434589917, 0.0, 0.9536642961153353]\nmax_q:  2.77423443459\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 12\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (4, 1), deadline = 30\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.9536642961153353, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.11537891217759658, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.056948267835920385, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.504397914583225, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 2.8206558803659765, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.5035485861668247, \"(['red', None, None, None, 'forward'], 'right')\": 0.6246489041021442, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.5563615521766896, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.0, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.8206558803659765]\nmax_q:  2.82065588037\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.5563615521766896]\nmax_q:  3.55636155218\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.6246489041021442]\nmax_q:  0.624648904102\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, -0.041666666666666664, 0.0, 2.89431164157539]\nmax_q:  2.89431164158\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.7781807760883446]\nmax_q:  3.77818077609\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.0785930346461585]\nmax_q:  3.07859303465\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.504397914583225, 0.0, 0.9536642961153353]\nmax_q:  3.50439791458\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.9384239306968785]\nmax_q:  0.938423930697\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.8059081790773015]\nmax_q:  3.80590817908\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.816691058017451]\nmax_q:  3.81669105802\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.1553769484256455]\nmax_q:  3.15537694843\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.3565142075496848, 0.0, 0.9536642961153353]\nmax_q:  3.35651420755\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.11537891217759658, 0.0, 0.0]\nmax_q:  0.115378912178\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.968403077331624]\nmax_q:  0.968403077332\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.056948267835920385, -0.032253890214863065, -0.08524044569487181, 3.792790799636988]\nmax_q:  3.79279079964\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.1937689053153893]\nmax_q:  3.19376890532\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.2174815845708187]\nmax_q:  3.21748158457\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.5035485861668247, -0.5]\nmax_q:  2.50354858617\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.2392182072216293]\nmax_q:  3.23921820722\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8981029674269232]\nmax_q:  0.898102967427\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.673271412994522]\nmax_q:  3.67327141299\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.6190284437308997]\nmax_q:  3.61902844373\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nSimulator.run(): Trial 13\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (5, 2), deadline = 35\nRoutePlanner.route_to(): destination = (5, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.383326115568448, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.2533067589397473, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.4834066427201518, \"(['red', None, None, None, 'forward'], 'right')\": 0.8642082715800138, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.625377969668718, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8642082715800138]\nmax_q:  0.86420827158\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.4834066427201518, -0.5]\nmax_q:  2.48340664272\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.383326115568448, 0.0, 0.8771556489513704]\nmax_q:  3.38332611557\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8331381337203468]\nmax_q:  0.83313813372\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.3867253141761213, -0.5]\nmax_q:  2.38672531418\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 14\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (8, 3), deadline = 40\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2221999407837356, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.2533067589397473, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.2872784260854493, \"(['red', None, None, None, 'forward'], 'right')\": 0.8728469675305641, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.625377969668718, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.2533067589397473]\nmax_q:  3.25330675894\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8728469675305641]\nmax_q:  0.872846967531\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.2872784260854493, -0.5]\nmax_q:  3.28727842609\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 1.1110999703918678]\nmax_q:  1.11109997039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6436392130427246, -0.5]\nmax_q:  2.64363921304\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.2221999407837356, 0.0, 0.8771556489513704]\nmax_q:  3.22219994078\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.7592499753265566]\nmax_q:  0.759249975327\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.813184311412384, -0.5]\nmax_q:  2.81318431141\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0)]\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 15\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (7, 6), deadline = 30\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0536849501596444, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.299921944430965, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.3265282891686425, \"(['red', None, None, None, 'forward'], 'right')\": 0.8038487252854342, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.625377969668718, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.625377969668718]\nmax_q:  3.62537796967\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.652136686120953]\nmax_q:  3.65213668612\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8038487252854342]\nmax_q:  0.803848725285\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.3265282891686425, -0.5]\nmax_q:  4.32652828917\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.299921944430965]\nmax_q:  3.29992194443\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1128296407746663, 0.0, 0.8771556489513704]\nmax_q:  3.11282964077\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.9153456001826281]\nmax_q:  0.915345600183\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.8260683430604763]\nmax_q:  3.82606834306\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.0, 3.349927519828753]\nmax_q:  3.34992751983\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.3770138731692216]\nmax_q:  3.37701387317\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.8123315627744674]\nmax_q:  3.81233156277\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.414810438041937]\nmax_q:  3.41481043804\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.299317598404589, -0.5]\nmax_q:  4.2993175984\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.0400344362542935, 0.0, 0.8771556489513704]\nmax_q:  3.04003443625\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0)]\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 16\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (8, 4), deadline = 20\nRoutePlanner.route_to(): destination = (8, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4862132326272675, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.4453015504515316, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.291834658444475, \"(['red', None, None, None, 'forward'], 'right')\": 0.8195783201734967, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.8053364731909007, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.291834658444475, -0.5]\nmax_q:  4.29183465844\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.4862132326272675, 0.0, 0.8771556489513704]\nmax_q:  3.48621323263\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8195783201734967]\nmax_q:  0.819578320173\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.8053364731909007]\nmax_q:  3.80533647319\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.188970586101814, 0.0, 0.8771556489513704]\nmax_q:  3.1889705861\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.134542033229655, 0.0, 0.8771556489513704]\nmax_q:  3.13454203323\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1633906321220002, 0.0, 0.8771556489513704]\nmax_q:  3.16339063212\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.853941691783173]\nmax_q:  0.853941691783\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.255355326138915, -0.5]\nmax_q:  4.25535532614\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1173643954825994, 0.0, 0.8771556489513704]\nmax_q:  3.11736439548\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.140591648233057, 0.0, 0.8771556489513704]\nmax_q:  3.14059164823\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nSimulator.run(): Trial 17\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 4), deadline = 30\nRoutePlanner.route_to(): destination = (5, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.025, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.0251789927461209, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1052116970953336, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.4453015504515316, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.248262122635055, \"(['red', None, None, None, 'forward'], 'right')\": 0.8659852509571805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.7989760348858903, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.7989760348858903]\nmax_q:  3.79897603489\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.8659852509571805]\nmax_q:  0.865985250957\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.248262122635055, -0.5]\nmax_q:  4.24826212264\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1052116970953336, -0.025, 0.8771556489513704]\nmax_q:  3.1052116971\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.025]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.39948893821788534]\nmax_q:  0.399488938218\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.4453015504515316]\nmax_q:  3.44530155045\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.473036472928955]\nmax_q:  3.47303647293\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.29954572286034253]\nmax_q:  0.29954572286\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.899488017442945]\nmax_q:  3.89948801744\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.3435912474713607]\nmax_q:  3.34359124747\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.903077731105697]\nmax_q:  3.90307773111\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0251789927461209]\nmax_q:  0.0251789927461\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.3841210886767934]\nmax_q:  3.38412108868\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.786222676835096]\nmax_q:  3.78622267684\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.412398324773502]\nmax_q:  3.41239832477\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.24956319505802171]\nmax_q:  0.249563195058\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.7918483958657516]\nmax_q:  3.79184839587\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.4365746184314703]\nmax_q:  3.43657461843\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.4488229962916557]\nmax_q:  3.44882299629\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 2.9241182514980553, -0.025, 0.8771556489513704]\nmax_q:  2.9241182515\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.2198116904137831]\nmax_q:  0.219811690414\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.7885047101089326]\nmax_q:  3.78850471011\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.4603058505355797]\nmax_q:  3.46030585054\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.4699432460617303]\nmax_q:  3.46994324606\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 2.891549755246409, -0.025, 0.8771556489513704]\nmax_q:  2.89154975525\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0)]\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 18\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (7, 4), deadline = 30\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.07118055555555555, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2433572593256352, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.419255547921671, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.217229357305674, \"(['red', None, None, None, 'forward'], 'right')\": 0.2477333514602993, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.025, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.7924212895513603, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  right\nq:  [0.12539778470751042, -0.032253890214863065, -0.08524044569487181, 3.7924212895513603]\nmax_q:  3.79242128955\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, 0.2477333514602993]\nmax_q:  0.24773335146\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.217229357305674, -0.5]\nmax_q:  4.21722935731\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.07118055555555555, -0.9093219766314604, -1.0, -0.37613332426985036]\nmax_q:  0.0711805555556\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.06524884259259259, -0.9093219766314604, -1.0, -0.37613332426985036]\nmax_q:  0.0652488425926\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.06058821097883598, -0.9093219766314604, -1.0, -0.37613332426985036]\nmax_q:  0.0605882109788\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.05680144779265873, -0.9093219766314604, -1.0, -0.37613332426985036]\nmax_q:  0.0568014477927\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.2433572593256352, -0.025, 0.8771556489513704]\nmax_q:  3.24335725933\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.053645811804177684, -0.9093219766314604, -1.0, -0.37613332426985036]\nmax_q:  0.0536458118042\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.121703823983281, -0.025, 0.8771556489513704]\nmax_q:  3.12170382398\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1582994979839776, -0.025, 0.8771556489513704]\nmax_q:  3.15829949798\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.773783485844539, -0.5]\nmax_q:  3.77378348584\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.1906725942153633, -0.025, 0.8771556489513704]\nmax_q:  3.19067259422\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 19\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (3, 3), deadline = 20\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.04950045361930941, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.7428024462525062, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.419255547921671, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.647084665427072, \"(['red', None, None, None, 'forward'], 'right')\": -0.37613332426985036, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.025, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.7958809347255045, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": -0.032253890214863065}\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.647084665427072, -0.5]\nmax_q:  3.64708466543\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.419255547921671]\nmax_q:  3.41925554792\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.04950045361930941, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0495004536193\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.7428024462525062, -0.025, 0.8771556489513704]\nmax_q:  3.74280244625\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 20\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (3, 5), deadline = 30\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.04596470693221588, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 5.008877293361724, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.499036367828518, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.235313499070304, \"(['red', None, None, None, 'forward'], 'right')\": -0.3823281023273813, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.025, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.7958809347255045, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.499036367828518]\nmax_q:  3.49903636783\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.7958809347255045]\nmax_q:  3.79588093473\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.04596470693221588, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0459647069322\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.03447353019916191, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0344735301992\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 5.008877293361724, -0.025, 0.8771556489513704]\nmax_q:  5.00887729336\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.260248962750373, -0.025, 0.8771556489513704]\nmax_q:  4.26024896275\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02872794183263493, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0287279418326\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.02633394667991535, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0263339466799\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.8110719643835615, -0.025, 0.8771556489513704]\nmax_q:  3.81107196438\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.822879966609589, -0.025, 0.8771556489513704]\nmax_q:  3.82287996661\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 21\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (1, 3), deadline = 30\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.024452950488492827, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.732807356457884, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.5488993802702975, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.235313499070304, \"(['red', None, None, None, 'forward'], 'right')\": -0.3823281023273813, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.025, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.8979404673627522, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.732807356457884, -0.025, 0.8771556489513704]\nmax_q:  4.73280735646\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.6920958366546675, -0.025, 0.8771556489513704]\nmax_q:  4.69209583665\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.346047918327334, -0.025, 0.8771556489513704]\nmax_q:  4.34604791833\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.024452950488492827, -0.9093219766314604, -1.0, -0.3823281023273813]\nmax_q:  0.0244529504885\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.8979404673627522]\nmax_q:  3.89794046736\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.5488993802702975]\nmax_q:  3.54889938027\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.020377458740410692, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.0203774587404\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.019245377699276763, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.0192453776993\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.018283108814312925, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.0182831088143\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.2595359387455005, -0.025, 0.8771556489513704]\nmax_q:  4.25953593875\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.248721941297771, -0.025, 0.8771556489513704]\nmax_q:  4.2487219413\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.239155712786318, -0.025, 0.8771556489513704]\nmax_q:  4.23915571279\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 22\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 4), deadline = 35\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.01745205841366234, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.794125021102069, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.5811208531081333, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.235313499070304, \"(['red', None, None, None, 'forward'], 'right')\": -0.411746076745536, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.025, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.877358671158152, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.877358671158152]\nmax_q:  3.87735867116\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.01745205841366234, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.0174520584137\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00872602920683117, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00872602920683\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0065445219051233775, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00654452190512\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.005453768254269482, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00545376825427\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.8817387186167895]\nmax_q:  3.88173871862\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.794125021102069, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.7941250211\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.737401805309064, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.73740180531\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.395524832596837, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.3955248326\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.235313499070304, -0.5]\nmax_q:  3.23531349907\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.129620520487326, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.12962052049\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.936235566225864, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.93623556623\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 23\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (3, 3), deadline = 40\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.27213970704503504, \"(['red', None, None, None, 'forward'], None)\": 0.004772047222485797, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.608414771007978, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.5811208531081333, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.273547824116789, \"(['red', None, None, None, 'forward'], 'right')\": -0.411746076745536, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.8665423366063356, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.8665423366063356]\nmax_q:  3.86654233661\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.933271168303168]\nmax_q:  3.9332711683\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.004772047222485797, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00477204722249\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 4.608414771007978, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.60841477101\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.003976706018738165, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00397670601874\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0035790354168643485, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00357903541686\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.003280782465458986, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00328078246546\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.956808166508326, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.95680816651\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.9595076561015556, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.9595076561\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0030464408607833444, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00304644086078\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0028941188177441773, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00289411881774\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.27213970704503504, 3.7419538299158708, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.74195382992\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.273547824116789, -0.5]\nmax_q:  3.27354782412\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0027625679623921695, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00276256796239\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0026762377135674145, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00267623771357\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.002597524839638961, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00259752483964\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.002525371371871212, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00252537137187\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.596906117754648, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.59690611775\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 24\nEnvironment.reset(): Trial set up with start = (3, 4), destination = (7, 4), deadline = 20\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.3484553746366495, \"(['red', None, None, None, 'forward'], None)\": 0.00245891423050618, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.9971119910575337, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.5811208531081333, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.188644635842336, \"(['red', None, None, None, 'forward'], 'right')\": -0.411746076745536, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.949953376227376, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9093219766314604, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.949953376227376]\nmax_q:  3.94995337623\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00245891423050618, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00245891423051\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00122945711525309, -0.9093219766314604, -1.0, -0.411746076745536]\nmax_q:  0.00122945711525\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0009220928364398176, -0.9393943022815671, -1.0, -0.411746076745536]\nmax_q:  0.00092209283644\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.9971119910575337, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.99711199106\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.5977702759692156, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.59777027597\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0008068312318848404, -0.9393943022815671, -1.0, -0.411746076745536]\nmax_q:  0.000806831231885\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0007492004296073519, -0.9393943022815671, -1.0, -0.411746076745536]\nmax_q:  0.000749200429607\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0007023754027568924, -0.9393943022815671, -1.0, -0.411746076745536]\nmax_q:  0.000702375402757\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.3315424659103368, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.33154246591\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 25\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (6, 3), deadline = 30\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.3484553746366495, \"(['red', None, None, None, 'forward'], None)\": 0.0006633545470481761, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.198388219319304, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.5811208531081333, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 3.188644635842336, \"(['red', None, None, None, 'forward'], 'right')\": -0.411746076745536, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.9511449625076764, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998}\nnext_waypoint:  right\nq:  [0.3078593034646159, -0.041666666666666664, 0.09142361050650853, 3.5811208531081333]\nmax_q:  3.58112085311\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.5, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.188644635842336, -0.5]\nmax_q:  3.18864463584\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0006633545470481761, -0.9393943022815671, -1.0, -0.411746076745536]\nmax_q:  0.000663354547048\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.290064056362044, -0.5]\nmax_q:  3.29006405636\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 4.198388219319304, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.19838821932\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.923627005597662, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.9236270056\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.340773766621898, -0.5]\nmax_q:  3.34077376662\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 26\nEnvironment.reset(): Trial set up with start = (3, 6), destination = (7, 4), deadline = 30\nRoutePlanner.route_to(): destination = (7, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.3484553746366495, \"(['red', None, None, None, 'forward'], None)\": 0.0005970190923433585, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.7099238393697185, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.42300876779732, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.373735078290803, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.9511449625076764, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.0005970190923433585, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000597019092343\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'right'}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0005671681377261906, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000567168137726\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.000425376103294643, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000425376103295\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0003544800860788692, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000354480086079\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.7099238393697185, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.70992383937\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.7389314554327466, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.73893145543\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00031017007531901054, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000310170075319\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.4491353937002325, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.4491353937\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.483564431593968, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.48356443159\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.373735078290803, -0.5]\nmax_q:  4.37373507829\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0002880150699390812, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000288015069939\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 3.512255296505414, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.51225529651\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 27\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (5, 1), deadline = 30\nRoutePlanner.route_to(): destination = (5, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.3484553746366495, \"(['red', None, None, None, 'forward'], None)\": 0.00027492347585094117, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.21957881027479, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.42300876779732, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.136361570461723, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 3.9511449625076764, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.9511449625076764]\nmax_q:  3.95114496251\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, -0.08524044569487181, 3.9531805890698566]\nmax_q:  3.95318058907\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 28\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (2, 5), deadline = 40\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.3484553746366495, \"(['red', None, None, None, 'forward'], None)\": 0.00027492347585094117, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.21957881027479, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.42300876779732, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 4.136361570461723, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 13.976590294534928, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -1.0, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 4.136361570461723, -0.5]\nmax_q:  4.13636157046\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00013746173792547058, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000137461737925\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.3484553746366495, 4.21957881027479, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.21957881027\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.182982341895658, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.1829823419\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00010309630344410294, -0.9393943022815671, -1.0, -0.07658937901133805]\nmax_q:  0.000103096303444\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [9.450494482376103e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  9.45049448238e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.859838577227598e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  8.85983857723e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.7463961831468713, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.74639618315\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.7590763739895277, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.75907637399\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.7700274478990945, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.7700274479\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.0, -0.5]\nmax_q:  2.0\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.7796096375699655, -0.11952279527775143, 0.8771556489513704]\nmax_q:  3.77960963757\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 29\nEnvironment.reset(): Trial set up with start = (7, 3), destination = (3, 2), deadline = 25\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 8.367625322937175e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.366780377743539, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.42300876779732, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.076923076923077, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 13.976590294534928, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": -0.08524044569487181, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999932496467984, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [8.367625322937175e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  8.36762532294e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.068781561403705e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  8.0687815614e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.0343907807018526e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  4.0343907807e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.366780377743539, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.36678037774\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.305650314786282, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.30565031479\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.0257930855263894e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  3.02579308553e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.7232137769737505e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  2.72321377697e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.4962792955592714e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  2.49627929556e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.317973631590752e-05, -0.9393943022815671, -0.9999932496467984, -0.07658937901133805]\nmax_q:  2.31797363159e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.267444025437997, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.26744402544\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.254071824166097, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.25407182417\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, 0.38195459991761554, 13.976590294534928]\nmax_q:  13.9765902945\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, 0.38195459991761554, 13.243369872346625]\nmax_q:  13.2433698723\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 30\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (3, 1), deadline = 50\nRoutePlanner.route_to(): destination = (3, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 2.17310027961633e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.242523104885819, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.42300876779732, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.076923076923077, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.11952279527775143, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 13.274578839783427, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, 0.38195459991761554, 13.274578839783427]\nmax_q:  13.2745788398\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.15378498130065998, 0.38195459991761554, 12.965426211790646]\nmax_q:  12.9654262118\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.17310027961633e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.17310027962e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6298252097122476e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.62982520971e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.242523104885819, -0.11952279527775143, 0.8771556489513704]\nmax_q:  4.24252310489\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.3581876747602064e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.35818767476e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2223689072841858e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.22236890728e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1205048316771704e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.12050483168e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.681894026398958, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.6818940264\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0404687722716583e-05, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.04046877227e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.513705143993448, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.51370514399\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.42300876779732]\nmax_q:  3.4230087678\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0)]\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 31\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (8, 1), deadline = 40\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 9.93174737168401e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.533967429660388, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.214431507497424, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.076923076923077, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.482713105895323, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9393943022815671, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.214431507497424]\nmax_q:  4.2144315075\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [9.93174737168401e-06, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  9.93174737168e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.965873685842005e-06, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  4.96587368584e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.724405264381504e-06, -0.9393943022815671, -0.9999927924081098, -0.07658937901133805]\nmax_q:  3.72440526438e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.533967429660388, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.53396742966\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [3.1036710536512535e-06, -0.9494949932620514, -0.9999927924081098, -0.07658937901133805]\nmax_q:  3.10367105365e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.9203810785304434, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.92038107853\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.076923076923077, -0.5]\nmax_q:  2.07692307692\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.8819802641047357e-06, -0.9494949932620514, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.8819802641e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.805333443714138, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.80533344371\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.8551112168927153, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.85511121689\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.8991454008583806, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.89914540086\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0)]\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 32\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (7, 6), deadline = 45\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 2.750981161190884e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5492065419035375, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.370348818685904, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.0692307692307694, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.482713105895323, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9494949932620514, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.15378498130065998, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.5492065419035375, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.5492065419\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 45, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.750981161190884e-06, -0.9494949932620514, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.75098116119e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.375490580595442e-06, -0.9494949932620514, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.3754905806e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.438549030016898, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.43854903002\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.0789119014649153, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.07891190146\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.8631296243337263, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.86312962433\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.9578688223059157, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.95786882231\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.4968484892614379, 0.38195459991761554, 8.482713105895323]\nmax_q:  8.4827131059\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0316179354465815e-06, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.03161793545e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.032306763569779, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.03230676357\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [9.847262111081004e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  9.84726211108e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.468521260654812e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  9.46852126065e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.130359787059998e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  9.13035978706e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 2.9462812409692227, -0.1670824458680325, 0.8771556489513704]\nmax_q:  2.94628124097\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 33\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (4, 5), deadline = 40\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 8.826014460824665e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.604209952188935, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.370348818685904, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.0692307692307694, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.258577450600557, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.370348818685904]\nmax_q:  4.37034881869\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [8.826014460824665e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  8.82601446082e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.4130072304123324e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  4.41300723041e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.3097554228092493e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  3.30975542281e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.604209952188935, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.60420995219\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.7581295190077077e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.75812951901e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.482316567106937e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.48231656711e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.275456853181359e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.27545685318e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.20315749861832, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.20315749862\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.2529601549546747, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.25296015495\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.0692307692307694, -0.5]\nmax_q:  2.06923076923\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.2944623685683037, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.29446236857\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.1767839810299314, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.17678398103\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 3.2110846484870175, -0.1670824458680325, 0.8771556489513704]\nmax_q:  3.21108464849\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 34\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (2, 3), deadline = 30\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 2.112924220811262e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.0106583158529014, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.480282562849303, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.165769230769231, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.258577450600557, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.12539778470751042, 0.4968484892614379, 0.38195459991761554, 8.258577450600557]\nmax_q:  8.2585774506\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.5, -0.16655610757549197]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, -0.5, -0.16655610757549197]\nmax_q:  0.0\ncount:  2\nbest:  [0, 1]\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.0106583158529014, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.01065831585\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.008881929877418, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.00888192988\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.112924220811262e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  2.11292422081e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.9016317987301359e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.90163179873e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7431624821692912e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.74316248217e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6186508763000563e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.6186508763e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5174851965313026e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.51748519653e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.007771688642741, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.00777168864\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.0073831042106045, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.00738310421\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.007047508564668, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.00704750856\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 35\nEnvironment.reset(): Trial set up with start = (7, 6), destination = (2, 6), deadline = 25\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8771556489513704, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 1.4331804633906747e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.25, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.67312688882253, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.480282562849303, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.165769230769231, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.094786010192843, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999927924081098, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.480282562849303]\nmax_q:  4.48028256285\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4331804633906747e-07, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  1.43318046339e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.165902316953373e-08, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  7.16590231695e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.37442673771503e-08, -0.9663298235717118, -0.9999927924081098, -0.07658937901133805]\nmax_q:  5.37442673772e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.67312688882253, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.67312688882\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.605814199940277, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.60581419994\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.555329683278588, -0.1670824458680325, 0.8771556489513704]\nmax_q:  4.55532968328\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.165769230769231, -0.5]\nmax_q:  2.16576923077\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.25, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.26767094017094, -0.5]\nmax_q:  2.26767094017\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 36\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (8, 3), deadline = 35\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 4.478688948095858e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 0.12539778470751042, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.515663277330118, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.610875099703229, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.9164928774928773, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 8.094786010192843, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = None, reward = 0.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 8.094786010192843]\nmax_q:  8.09478601019\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 6.200111780022229]\nmax_q:  6.20011178002\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.478688948095858e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  4.4786889481e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.15878259466044e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  4.15878259466e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.898858682494162e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  3.89885868249e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.515663277330118, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.51566327733\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.489880113463612, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.48988011346\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.263527377549764, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.26352737755\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.5859438795550196]\nmax_q:  0.585943879555\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.2, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.9164928774928773, -0.5]\nmax_q:  2.91649287749\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [3.682255422355597e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  3.68225542236e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.5671849404069846e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  3.56718494041e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.099314424402076, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.0993144244\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0)]\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 37\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (5, 5), deadline = 25\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 3.4622677362773674e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.652111245946463, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.660827327585033, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.8553933523266855, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5024097363901163, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 5.821176933988107, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.821176933988107]\nmax_q:  5.82117693399\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.652111245946463, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.65211124595\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.326055622973231, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.32605562297\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.660827327585033]\nmax_q:  4.66082732759\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.5, -0.5, -0.16655610757549197]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, -0.5, -0.5, -0.16655610757549197]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.244541717229923, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.24454171723\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 38\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 6), deadline = 35\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 0.7842143237144444, \"(['red', None, None, None, 'forward'], None)\": 3.4622677362773674e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 5.5371181005768255, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.773884885056689, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.8553933523266855, \"(['red', None, None, None, 'forward'], 'right')\": -0.07658937901133805, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5024097363901163, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 5.738356752310574, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.7842143237144444, 5.5371181005768255, -0.1670824458680325, 0.7050111956316297]\nmax_q:  5.53711810058\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.4622677362773674e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  3.46226773628e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7311338681386837e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  1.73113386814e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2983504011040128e-08, -0.9663298235717118, -0.9999945887077212, -0.07658937901133805]\nmax_q:  1.2983504011e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.8553933523266855, -0.5]\nmax_q:  2.85539335233\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.7842143237144444, 4.947598420032578, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.94759842003\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.4360077682455687]\nmax_q:  0.436007768246\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.969854017094017, -0.5]\nmax_q:  2.96985401709\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.868631885029863, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.86863188503\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 3.0213613162393163, -0.5]\nmax_q:  3.02136131624\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.6024864542754979]\nmax_q:  0.602486454275\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.773884885056689]\nmax_q:  3.77388488506\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.738356752310574]\nmax_q:  5.73835675231\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.680411527233556]\nmax_q:  5.68041152723\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.829148617528506, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.82914861753\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.7034162892361714]\nmax_q:  0.703416289236\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.568572070058837]\nmax_q:  5.56857207006\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.480277761763006]\nmax_q:  5.48027776176\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.781960424876093]\nmax_q:  3.78196042488\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.804761893483549, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.80476189348\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.6560991700907222]\nmax_q:  0.656099170091\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.400812884296757]\nmax_q:  5.4008128843\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.7871518433314244]\nmax_q:  3.78715184333\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.791408806464796]\nmax_q:  3.79140880646\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.5024097363901163]\nmax_q:  0.50240973639\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.7954201755712424]\nmax_q:  3.79542017557\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.33801134418713]\nmax_q:  5.33801134419\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.8266196575898968]\nmax_q:  3.82661965759\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.6200970142191847]\nmax_q:  0.620097014219\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.314942183080456]\nmax_q:  5.31494218308\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.2715739071308825]\nmax_q:  5.27157390713\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.252307635810718]\nmax_q:  5.25230763581\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.6921840612818135, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.69218406128\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0)]\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 39\nEnvironment.reset(): Trial set up with start = (3, 5), destination = (7, 2), deadline = 35\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 1.0819586675866775e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.08028958880511541, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 4.909464036919699, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.854314705388241, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.936247873219373, \"(['red', None, None, None, 'forward'], 'right')\": 0.5939664172156496, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 5.233891347048796, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.909464036919699, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.90946403692\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 4.896471693535132, -0.1670824458680325, 0.7050111956316297]\nmax_q:  4.89647169354\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.08028958880511541]\nmax_q:  0.0802895888051\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.936247873219373, -0.5]\nmax_q:  2.93624787322\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.5939664172156496]\nmax_q:  0.593966417216\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6241652488129157, -0.5]\nmax_q:  2.62416524881\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 3.854314705388241]\nmax_q:  3.85431470539\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 40\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (2, 6), deadline = 20\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 1.0819586675866775e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 2.0401447944025577, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.533121813272555, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.7617487239316243, \"(['red', None, None, None, 'forward'], 'right')\": 0.5754929122120569, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 5.233891347048796, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.7617487239316243, -0.5]\nmax_q:  2.76174872393\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.5754929122120569]\nmax_q:  0.575492912212\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 5.533121813272555]\nmax_q:  5.53312181327\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 5.0750337433984765]\nmax_q:  5.0750337434\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 2.0401447944025577, -0.1670824458680325, 0.7050111956316297]\nmax_q:  2.0401447944\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 2.084123075242174, -0.1670824458680325, 0.7050111956316297]\nmax_q:  2.08412307524\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 2.24377948563866, -0.1670824458680325, 0.7050111956316297]\nmax_q:  2.24377948564\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 41\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (1, 2), deadline = 25\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 1.0819586675866775e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'forward'], 'forward')\": 3.6746733017760858, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.783878771228056, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.634790603276354, \"(['red', None, None, None, 'forward'], 'right')\": 0.5200723972012788, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.2, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 5.233891347048796, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3078593034646159, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.233891347048796]\nmax_q:  5.23389134705\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 5.145756250831026]\nmax_q:  5.14575625083\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.5200723972012788]\nmax_q:  0.520072397201\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.634790603276354, -0.5]\nmax_q:  2.63479060328\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.6746733017760858, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.67467330178\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.9287045240446609]\nmax_q:  0.928704524045\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.7485580530033245, -0.5]\nmax_q:  2.748558053\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.572878125415513]\nmax_q:  4.57287812542\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.8081604912918696]\nmax_q:  0.808160491292\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.783878771228056]\nmax_q:  4.78387877123\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, 0.0, -0.0625, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': 'right', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.550844351361071]\nmax_q:  4.55084435136\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.501770296096978, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.5017702961\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.7435833308885885]\nmax_q:  0.743583330889\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3078593034646159, 0.5024968178278442, 0.09142361050650853, 4.757749478853788]\nmax_q:  4.75774947885\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.626428075098845]\nmax_q:  4.6264280751\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.612810073466262]\nmax_q:  4.61281007347\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0819586675866775e-08, -0.9663298235717118, -0.9999945887077212, 0.6999937476163738]\nmax_q:  0.699993747616\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nSimulator.run(): Trial 42\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (8, 6), deadline = 30\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 1.0819586675866775e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4422977365889422, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.598553205489155, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.6861782152530473, \"(['red', None, None, None, 'forward'], 'right')\": 0.6659938726640463, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.541290484031394, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.598553205489155]\nmax_q:  4.59855320549\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.541290484031394]\nmax_q:  4.54129048403\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.4422977365889422, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.44229773659\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.5817233024417066, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.58172330244\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.6659938726640463]\nmax_q:  0.665993872664\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6861782152530473, -0.5]\nmax_q:  2.68617821525\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.4993944853976417]\nmax_q:  0.499394485398\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.07748036067646288, 2.6004059383464164, -0.5]\nmax_q:  2.60040593835\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.651436085368089, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.65143608537\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.292718443475108]\nmax_q:  4.29271844348\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.41609479176443936]\nmax_q:  0.416094791764\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.585436886950217]\nmax_q:  4.58543688695\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.5671419842330225]\nmax_q:  4.56714198423\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.282264213350997]\nmax_q:  4.28226421335\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.5404061861768685, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.54040618618\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.36889163203895803]\nmax_q:  0.368891632039\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.550461337637933]\nmax_q:  4.55046133764\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.53735511531322]\nmax_q:  4.53735511531\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.525142499056102]\nmax_q:  4.52514249906\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.552500760224846, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.55250076022\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.3346693412379841]\nmax_q:  0.334669341238\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.508437900420554]\nmax_q:  4.50843790042\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.281873460876995]\nmax_q:  4.28187346088\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.415814339033205]\nmax_q:  4.41581433903\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.4947855064912687, -0.1670824458680325, 0.7050111956316297]\nmax_q:  3.49478550649\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.37117827771829004]\nmax_q:  0.371178277718\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nSimulator.run(): Trial 43\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (1, 1), deadline = 35\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7050111956316297, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 0.08324924219769579, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5034961012069368, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.408389082979041, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.07748036067646288, \"(['green', None, None, None, 'left'], 'left')\": 2.6587223575819823, \"(['red', None, None, None, 'forward'], 'right')\": 0.4005306034811293, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.1670824458680325, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.276653581971866, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.38195459991761554, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.38195459991761554, 4.276653581971866]\nmax_q:  4.27665358197\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.408389082979041]\nmax_q:  4.40838908298\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 2.6587223575819823, -0.5]\nmax_q:  2.65872235758\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.5034961012069368, -0.1670824458680325, 0.978379623117549]\nmax_q:  3.50349610121\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.204194541489521]\nmax_q:  4.20419454149\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.4005306034811293]\nmax_q:  0.400530603481\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 2.742552210233108, -0.5]\nmax_q:  2.74255221023\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.274238280622455]\nmax_q:  4.27423828062\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 44\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (8, 2), deadline = 20\nRoutePlanner.route_to(): destination = (8, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 0.08324924219769579, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.29759603729207473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3364409788506104, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.194912971421815, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 2.693048729550901, \"(['red', None, None, None, 'forward'], 'right')\": 0.34217516166941553, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.854407742957088, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.0, 0.29759603729207473, 0.0, 0.0]\nmax_q:  0.297596037292\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, 0.34217516166941553]\nmax_q:  0.342175161669\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 2.693048729550901, -0.5]\nmax_q:  2.69304872955\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.3364409788506104, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.33644097885\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.391737563946393, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.39173756395\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 2.554438983640721, -0.5]\nmax_q:  2.55443898364\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 45\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (5, 5), deadline = 20\nRoutePlanner.route_to(): destination = (5, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.1967397284145662, \"(['red', None, None, None, 'forward'], None)\": 0.08324924219769579, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.198864286396744, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.194912971421815, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 3.735134110685631, \"(['red', None, None, None, 'forward'], 'right')\": -0.32891241916529224, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.854407742957088, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.194912971421815]\nmax_q:  4.19491297142\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1967397284145662, 3.198864286396744, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.1988642864\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.599432143198372, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.5994321432\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 3.735134110685631, -0.5]\nmax_q:  3.73513411069\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 46\nEnvironment.reset(): Trial set up with start = (5, 2), destination = (3, 5), deadline = 25\nRoutePlanner.route_to(): destination = (3, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.08324924219769579, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.6661934526653104, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.182730910707952, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 5.001688228767779, \"(['red', None, None, None, 'forward'], 'right')\": -0.32891241916529224, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.854407742957088, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.16666666666666666, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.16666666666666666, 0.0]\nmax_q:  0.166666666667\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.6661934526653104, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.66619345267\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 5.001688228767779, -0.5]\nmax_q:  5.00168822877\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 2.041624621098848, -0.033552152338698724, 0.978379623117549]\nmax_q:  2.0416246211\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 2.2048225693406107, -0.033552152338698724, 0.978379623117549]\nmax_q:  2.20482256934\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 47\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (5, 6), deadline = 25\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.08324924219769579, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 3.761620957244853, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.182730910707952, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 4.901519405891001, \"(['red', None, None, None, 'forward'], 'right')\": -0.32891241916529224, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.854407742957088, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.3990117913775616, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9663298235717118, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  right\nq:  [0.0, -0.14285714285714285, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.854407742957088]\nmax_q:  4.85440774296\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.3990117913775616, 0.5024968178278442, 0.09142361050650853, 4.182730910707952]\nmax_q:  4.18273091071\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.08324924219769579, -0.9663298235717118, -0.9999945887077212, -0.32891241916529224]\nmax_q:  0.0832492421977\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.07492431797792622, -0.9663298235717118, -0.9999945887077212, -0.32891241916529224]\nmax_q:  0.0749243179779\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.06868062481309903, -0.9663298235717118, -0.9999945887077212, -0.32891241916529224]\nmax_q:  0.0686806248131\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.06377486589787768, -0.9663298235717118, -0.9999945887077212, -0.32891241916529224]\nmax_q:  0.0637748658979\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.472886599155532]\nmax_q:  4.47288659916\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.4356296912565405]\nmax_q:  4.43562969126\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.417478454120851]\nmax_q:  4.41747845412\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.761620957244853, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.76162095724\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.059788936779260324, -0.9663298235717118, -0.9999945887077212, -0.34460054277030083]\nmax_q:  0.0597889367793\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.05779597221995165, -0.9663298235717118, -0.9999945887077212, -0.34460054277030083]\nmax_q:  0.05779597222\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.770134494486108, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.77013449449\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.05598984808807816, -0.9666636619472558, -0.9999945887077212, -0.34460054277030083]\nmax_q:  0.0559898480881\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.6733489627948823, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.67334896279\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 48\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (7, 6), deadline = 30\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.05451643103312873, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 4.091044425430966, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.200635040331224, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 4.901519405891001, \"(['red', None, None, None, 'forward'], 'right')\": -0.34460054277030083, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.393081459201218, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9666636619472558, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.091044425430966, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.09104442543\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': 'forward', 'right': None, 'left': None}, action = right, reward = 9.5\nSimulator.run(): Trial 49\nEnvironment.reset(): Trial set up with start = (5, 6), destination = (7, 2), deadline = 30\nRoutePlanner.route_to(): destination = (7, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.05451643103312873, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 4.088768314795192, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.200635040331224, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 4.901519405891001, \"(['red', None, None, None, 'forward'], 'right')\": -0.34460054277030083, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.393081459201218, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9666636619472558, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.200635040331224]\nmax_q:  4.20063504033\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.100317520165612]\nmax_q:  4.10031752017\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.05451643103312873, -0.9666636619472558, -0.9999945887077212, -0.34460054277030083]\nmax_q:  0.0545164310331\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.04088732327484655, -0.9666636619472558, -0.9999945887077212, -0.34460054277030083]\nmax_q:  0.0408873232748\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.088768314795192, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.0887683148\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 4.901519405891001, -0.5]\nmax_q:  4.90151940589\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.673996019158278, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.67399601916\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.692107351427262, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.69210735143\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 50\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (7, 1), deadline = 20\nRoutePlanner.route_to(): destination = (7, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 4.707501983855899, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.196540729600609, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 4.845174443022813, \"(['red', None, None, None, 'forward'], 'right')\": -0.34460054277030083, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.393081459201218, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9666636619472558, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.393081459201218]\nmax_q:  4.3930814592\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 4.845174443022813, -0.5]\nmax_q:  4.84517444302\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.707501983855899, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.70750198386\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 3.4225872215114066, -0.5]\nmax_q:  3.42258722151\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.9666636619472558, -0.9999945887077212, 1.8537509919279493]\nmax_q:  1.85375099193\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.373427386241157]\nmax_q:  4.37342738624\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.196540729600609]\nmax_q:  4.1965407296\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.327567882667681]\nmax_q:  4.32756788267\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.5895849865465825, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.58958498655\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0)]\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 51\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 5.500096426526692, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.191861188419642, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 3.066940416133555, \"(['red', None, None, None, 'forward'], 'right')\": 1.5683758927351543, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.298613221610449, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.4291523836922163, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9666636619472558, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.191861188419642]\nmax_q:  4.19186118842\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.298613221610449]\nmax_q:  4.29861322161\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5912378577898394, -0.9999945887077212, 1.5683758927351543]\nmax_q:  1.56837589274\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.3281073000479723, 3.066940416133555, -0.5]\nmax_q:  3.06694041613\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.500096426526692, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.50009642653\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 0.3281073000479723, 3.1835728641168606, -0.5]\nmax_q:  3.18357286412\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.350086783874024, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.35008678387\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.2657063598818965, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.26570635988\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5912378577898394, -0.9999945887077212, 1.140313243945962]\nmax_q:  1.14031324395\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.4291523836922163, 4.149306610805224]\nmax_q:  4.14930661081\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.1340346963929795]\nmax_q:  4.13403469639\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.9626311045410767]\nmax_q:  3.96263110454\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5912378577898394, -0.9999945887077212, 1.033297581748664]\nmax_q:  1.03329758175\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.963965707950324]\nmax_q:  3.96396570795\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.9650917795768765]\nmax_q:  3.96509177958\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.122287069922023]\nmax_q:  4.12228706992\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.966200833447573, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.96620083345\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.0966177707470055]\nmax_q:  1.09661777075\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.970741882834767]\nmax_q:  3.97074188283\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.971406840043068]\nmax_q:  3.97140684004\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.114680618338432]\nmax_q:  4.11468061834\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.940774495725268, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.94077449573\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 52\nEnvironment.reset(): Trial set up with start = (3, 1), destination = (1, 4), deadline = 25\nRoutePlanner.route_to(): destination = (1, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 5.245908032717974, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 3.9720284304769145, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 3.0144910263858806, \"(['red', None, None, None, 'forward'], 'right')\": 1.138225841085845, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.5, \"(['red', None, None, None, 'right'], 'right')\": 4.109319518209266, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 3.9720284304769145]\nmax_q:  3.97202843048\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.109319518209266]\nmax_q:  4.10931951821\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.245908032717974, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.24590803272\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.038256693931645, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.03825669393\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 0.3281073000479723, 3.0144910263858806, -0.43971017947228236]\nmax_q:  3.01449102639\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.90847460719019, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.90847460719\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 53\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (4, 1), deadline = 35\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 6.4994350565910075, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.0546597591046325, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 0.3281073000479723, \"(['green', None, None, None, 'left'], 'left')\": 3.113041923747293, \"(['red', None, None, None, 'forward'], 'right')\": 1.138225841085845, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.068324698880791, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.138225841085845]\nmax_q:  1.13822584109\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.113041923747293, -0.43971017947228236]\nmax_q:  3.11304192375\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 6.4994350565910075, -0.033552152338698724, 0.978379623117549]\nmax_q:  6.49943505659\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.4068077889541215]\nmax_q:  1.40680778895\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.3347814428104696, -0.43971017947228236]\nmax_q:  3.33478144281\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.234091335886359, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.23409133589\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0)]\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 54\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 5), deadline = 20\nRoutePlanner.route_to(): destination = (4, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 6.797917057895829, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.0546597591046325, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.401303298529423, \"(['red', None, None, None, 'forward'], 'right')\": 1.584367258701386, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.068324698880791, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 0.41238937598874, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.068324698880791]\nmax_q:  4.06832469888\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 6.797917057895829, -0.033552152338698724, 0.978379623117549]\nmax_q:  6.7979170579\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 6.098437793421871, -0.033552152338698724, 0.978379623117549]\nmax_q:  6.09843779342\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.584367258701386]\nmax_q:  1.5843672587\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.401303298529423, -0.43971017947228236]\nmax_q:  3.40130329853\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 55\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (6, 2), deadline = 30\nRoutePlanner.route_to(): destination = (6, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 4.0473930050964215, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 5.748698161184893, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.0546597591046325, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 4.476140386213245, \"(['red', None, None, None, 'forward'], 'right')\": 1.2613213513637127, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.027329879552316, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 0.7084388476313195, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.7084388476313195, 0.0]\nmax_q:  0.708438847631\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.2613213513637127]\nmax_q:  1.26132135136\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 4.476140386213245, -0.43971017947228236]\nmax_q:  4.47614038621\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [4.0473930050964215, 0.4968484892614379, 0.48230779740090574, 4.027329879552316]\nmax_q:  4.0473930051\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [3.7582935047323915, 0.4968484892614379, 0.48230779740090574, 4.027329879552316]\nmax_q:  4.02732987955\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.748698161184893, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.74869816118\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.6515482633412875, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.65154826334\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 56\nEnvironment.reset(): Trial set up with start = (4, 4), destination = (1, 6), deadline = 25\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.7582935047323915, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, None, 'forward'], 'forward')\": 6.568970850174223, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.0546597591046325, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 4.063450321844371, \"(['red', None, None, None, 'forward'], 'right')\": 1.4839268972094595, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.4666666666666667, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.027329879552316, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.4839268972094595]\nmax_q:  1.48392689721\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 4.063450321844371, -0.43971017947228236]\nmax_q:  4.06345032184\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 6.568970850174223, -0.033552152338698724, 0.978379623117549]\nmax_q:  6.56897085017\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.926728137630667, -0.033552152338698724, 0.978379623117549]\nmax_q:  5.92672813763\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 4.031725160922186, -0.43971017947228236]\nmax_q:  4.03172516092\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.6139827499972246]\nmax_q:  1.61398275\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.886815883419983, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.88681588342\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.4666666666666667, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 4.0285526448299676, -0.43971017947228236]\nmax_q:  4.02855264483\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.699243073273212]\nmax_q:  1.69924307327\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.8595065910941364, -0.43971017947228236]\nmax_q:  3.85950659109\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.823471891747127, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.82347189175\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.692426721592581, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.69242672159\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.670788386542812, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.67078838654\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.651059316350376, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.65105931635\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.8645242128407746, -0.43971017947228236]\nmax_q:  3.86452421284\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.632974335340644, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.63297433534\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.5013256185736115, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.50132561857\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.7155886788578545]\nmax_q:  1.71558867886\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.653870754338358]\nmax_q:  1.65387075434\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nSimulator.run(): Trial 57\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (1, 6), deadline = 20\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.7582935047323915, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.423062224328627, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.0546597591046325, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.7663913595333653, \"(['red', None, None, None, 'forward'], 'right')\": 1.6563777264177473, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.48888888888888893, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.027329879552316, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [3.6885083621341423, 0.4968484892614379, 0.48230779740090574, 4.027329879552316]\nmax_q:  4.02732987955\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.0546597591046325]\nmax_q:  4.0546597591\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.6885083621341423, 0.4968484892614379, 0.48230779740090574, 4.027329879552316]\nmax_q:  4.02732987955\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.7663913595333653, -0.43971017947228236]\nmax_q:  3.76639135953\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.423062224328627, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.42306222433\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.6563777264177473]\nmax_q:  1.65637772642\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.435012915882935]\nmax_q:  1.43501291588\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.7955924395916947, -0.43971017947228236]\nmax_q:  3.79559243959\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.2610834218912967]\nmax_q:  1.26108342189\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.5960821685259505, -0.43971017947228236]\nmax_q:  3.59608216853\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.148029250796732]\nmax_q:  1.1480292508\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.463075321148788, -0.43971017947228236]\nmax_q:  3.46307532115\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.1040875521046765, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.1040875521\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.003118625004398, -0.033552152338698724, 0.978379623117549]\nmax_q:  4.003118625\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 4, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.1791072912010097]\nmax_q:  1.1791072912\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.48888888888888893, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nSimulator.run(): Trial 58\nEnvironment.reset(): Trial set up with start = (2, 3), destination = (7, 3), deadline = 25\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.6885083621341423, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.914770813791655, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.034162349440395, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.4822512025363315, \"(['red', None, None, None, 'forward'], 'right')\": 1.195476592124234, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.48888888888888893, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.023913644608276, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.034162349440395]\nmax_q:  4.03416234944\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.195476592124234]\nmax_q:  1.19547659212\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.4822512025363315, -0.43971017947228236]\nmax_q:  3.48225120254\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.914770813791655, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.91477081379\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.4573854068958274]\nmax_q:  1.4573854069\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.6116884019022484, -0.43971017947228236]\nmax_q:  3.6116884019\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.5194114436770745, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.51941144368\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.650519561712024, -0.43971017947228236]\nmax_q:  3.65051956171\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.4079654856315047]\nmax_q:  1.40796548563\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.023913644608276]\nmax_q:  4.02391364461\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.022717962377863]\nmax_q:  4.02271796238\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.0330520730835815]\nmax_q:  4.03305207308\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 3.559460490037319, -0.033552152338698724, 0.978379623117549]\nmax_q:  3.55946049004\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0)]\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 59\nEnvironment.reset(): Trial set up with start = (8, 5), destination = (4, 6), deadline = 25\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.345635086574346, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.031674903371766, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.6754824501611654, \"(['red', None, None, None, 'forward'], 'right')\": 1.391936080554899, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.48888888888888893, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": -0.033552152338698724, \"(['green', None, None, None, 'left'], 'right')\": -0.43971017947228236, \"(['red', None, None, None, 'right'], 'right')\": 4.021685327724324, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.021685327724324]\nmax_q:  4.02168532772\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.031674903371766]\nmax_q:  4.03167490337\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.345635086574346, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.34563508657\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.391936080554899]\nmax_q:  1.39193608055\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.023756177528824]\nmax_q:  4.02375617753\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.021235491105982]\nmax_q:  4.02123549111\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 4.288029238811955, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.28802923881\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 60\nEnvironment.reset(): Trial set up with start = (3, 3), destination = (7, 6), deadline = 35\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4982279000068761, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 5.184027909775048, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.022436389888334, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.6754824501611654, \"(['red', None, None, None, 'forward'], 'right')\": 1.0929440704855367, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.020233761489801, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.020233761489801]\nmax_q:  4.02023376149\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.019314045058446]\nmax_q:  4.01931404506\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4982279000068761, 5.184027909775048, 1.6728175432871728, 0.978379623117549]\nmax_q:  5.18402790978\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.0929440704855367]\nmax_q:  1.09294407049\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.6754824501611654, -0.21752875390317425]\nmax_q:  3.67548245016\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 0.5619627136570245]\nmax_q:  0.561962713657\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.507934205145049, -0.21752875390317425]\nmax_q:  3.50793420515\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.022436389888334]\nmax_q:  4.02243638989\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 3.865249972508908, 1.6728175432871728, 0.978379623117549]\nmax_q:  3.86524997251\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 61\nEnvironment.reset(): Trial set up with start = (8, 6), destination = (1, 2), deadline = 55\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.5292562633102744, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.3001809930031971, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.536408306758611, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.021573451815706, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.5284369465973384, \"(['red', None, None, None, 'forward'], 'right')\": 0.6411138293476999, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.011218194944167, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5024968178278442, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.011218194944167]\nmax_q:  4.01121819494\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 55, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.021573451815706]\nmax_q:  4.02157345182\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 54, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 0.6411138293476999]\nmax_q:  0.641113829348\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 53, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 52, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 51, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.5284369465973384, -0.21752875390317425]\nmax_q:  3.5284369466\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 4.536408306758611, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.53640830676\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 48, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.2046589913635026]\nmax_q:  1.20465899136\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 46, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.567733867714227, -0.21752875390317425]\nmax_q:  3.56773386771\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 43, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.0668678044032838]\nmax_q:  1.0668678044\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.437089378738041, -0.21752875390317425]\nmax_q:  3.43708937874\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 4.498093427704425, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.4980934277\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 4.481490313447611, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.48149031345\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.011189430341746]\nmax_q:  4.01118943034\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.1193431051301244]\nmax_q:  1.11934310513\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.010860329449342]\nmax_q:  4.01086032945\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5024968178278442, 0.09142361050650853, 4.005594715170873]\nmax_q:  4.00559471517\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 4.010435962509137]\nmax_q:  4.01043596251\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.3001809930031971]\nmax_q:  0.300180993003\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  right\nrandom\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.005454847291601]\nmax_q:  4.00545484729\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.005341204639692]\nmax_q:  4.00534120464\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.0604724633209544]\nmax_q:  1.06047246332\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.457193329497397, -0.21752875390317425]\nmax_q:  3.4571933295\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.003453381323589]\nmax_q:  4.00345338132\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0)]\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 62\nEnvironment.reset(): Trial set up with start = (3, 2), destination = (8, 3), deadline = 30\nRoutePlanner.route_to(): destination = (8, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.5292562633102744, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.361376640892452, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.360534570942811, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.467245304877075, \"(['red', None, None, None, 'forward'], 'right')\": 1.0089065834379005, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 3.916291243474229, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.48230779740090574, 3.916291243474229]\nmax_q:  3.91629124347\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 4.361376640892452, 1.6728175432871728, 0.978379623117549]\nmax_q:  4.36137664089\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 1.0089065834379005]\nmax_q:  1.00890658344\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.041666666666666664, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.041666666666666664, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 0.3924972285410237]\nmax_q:  0.392497228541\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.084375]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.1]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': 'forward', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.467245304877075, -0.21752875390317425]\nmax_q:  3.46724530488\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 0.25324750568692134]\nmax_q:  0.253247505687\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.26529773867640505, 1.0565209618736464, 3.3205207743893674, -0.21752875390317425]\nmax_q:  3.32052077439\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 2.50445329171895, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.50445329172\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0)]\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 63\nEnvironment.reset(): Trial set up with start = (2, 2), destination = (6, 4), deadline = 30\nRoutePlanner.route_to(): destination = (6, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.5292562633102744, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.26529773867640505, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.272151388443273, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.360534570942811, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.3738773161440485, \"(['red', None, None, None, 'forward'], 'right')\": 0.19628170997387945, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 3.9257189592598425, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.5292562633102744, 3.272151388443273, 1.6728175432871728, 0.978379623117549]\nmax_q:  3.27215138844\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 3.2981459817131564, 1.6728175432871728, 0.978379623117549]\nmax_q:  3.29814598171\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, 0.19628170997387945]\nmax_q:  0.196281709974\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.3738773161440485, -0.21752875390317425]\nmax_q:  3.37387731614\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 2.09814085498694, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.09814085499\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.360534570942811]\nmax_q:  4.36053457094\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 64\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (5, 6), deadline = 40\nRoutePlanner.route_to(): destination = (5, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.5292562633102744, \"(['red', None, None, None, 'forward'], None)\": 0.02981367322124228, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.078512683989552, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.960922055723996, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.0304079871080365, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 3.9257189592598425, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.48230779740090574, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999945887077212, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 3.9257189592598425]\nmax_q:  3.92571895926\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 3.9628594796299215]\nmax_q:  3.96285947963\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 2.078512683989552, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.07851268399\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5292562633102744, 2.3987605699912935, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.39876056999\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.02981367322124228, -0.5842605206316723, -0.9999945887077212, -0.10278871751959043]\nmax_q:  0.0298136732212\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.3027971366461255, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.30279713665\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 5.960922055723996]\nmax_q:  5.96092205572\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.4240259125999737, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.4240259126\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.026832305899118055, -0.5842605206316723, -0.9999945887077212, -0.10278871751959043]\nmax_q:  0.0268323058991\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.025490690604162154, -0.5842605206316723, -0.9999945887077212, -0.10278871751959043]\nmax_q:  0.0254906906042\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.024332022849427513, -0.5842605206316723, -0.9999945887077212, -0.10278871751959043]\nmax_q:  0.0243320228494\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.023318188564034698, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.023318188564\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.511580028566642, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.51158002857\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.022485396115319172, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0224853961153\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.021782727486715447, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0217827274867\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.47822420653271, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.47822420653\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.5204957563512456, 1.6728175432871728, 0.978379623117549]\nmax_q:  2.52049575635\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 65\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (3, 4), deadline = 30\nRoutePlanner.route_to(): destination = (3, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.021142059031223816, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.019973402307265, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.838364427241246, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.0304079871080365, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.6728175432871728, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.471660253745959, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9990981515546644, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.471660253745959]\nmax_q:  4.47166025375\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.4592481418052765]\nmax_q:  4.45924814181\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.019973402307265, 1.6728175432871728, 0.978379623117549]\nmax_q:  3.01997340231\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.021142059031223816, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0211420590312\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.017618382526019848, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.017618382526\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 5.838364427241246]\nmax_q:  5.83836442724\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.015416084710267366, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0154160847103\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.014314935802391127, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0143149358024\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.5152722159114385, 1.239795643100765, 0.978379623117549]\nmax_q:  2.51527221591\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 66\nEnvironment.reset(): Trial set up with start = (4, 5), destination = (8, 1), deadline = 40\nRoutePlanner.route_to(): destination = (8, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.012674682741700477, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.084375, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.5895086051158662, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.220102094953131, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.0304079871080365, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.239795643100765, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.919182213620623, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9990981515546644, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.0304079871080365, -0.21752875390317425]\nmax_q:  3.03040798711\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.012674682741700477, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0126746827417\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.006337341370850238, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00633734137085\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0047530060281376785, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00475300602814\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.5895086051158662, 1.239795643100765, 0.978379623117549]\nmax_q:  3.58950860512\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.1926265586314972, 1.239795643100765, 0.978379623117549]\nmax_q:  3.19262655863\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.003960838356781399, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00396083835678\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0036307684937162826, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00363076849372\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.954497330740876, 1.239795643100765, 0.978379623117549]\nmax_q:  2.95449733074\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.919182213620623]\nmax_q:  4.91918221362\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 5.220102094953131]\nmax_q:  5.22010209495\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 5.149559590730402]\nmax_q:  5.14955959073\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 2.927367188397233, -0.21752875390317425]\nmax_q:  2.9273671884\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0033714278870222627, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00337142788702\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.8882690970062175]\nmax_q:  4.88826909701\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.860510687724774]\nmax_q:  4.86051068772\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 2.8560312508282153, -0.21752875390317425]\nmax_q:  2.85603125083\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0032510197482000388, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.0032510197482\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.8353958786412057, 1.2183224628487543, 0.978379623117549]\nmax_q:  2.83539587864\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 67\nEnvironment.reset(): Trial set up with start = (4, 6), destination = (6, 3), deadline = 25\nRoutePlanner.route_to(): destination = (6, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.003165466596931617, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.13055555555555554, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.364510981675175, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.1016612744499685, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 2.8084739591155365, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.06855527829110591, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.842294214165962, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9990981515546644, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.364510981675175, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.36451098168\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.003165466596931617, -0.5842605206316723, -0.9990981515546644, -0.10278871751959043]\nmax_q:  0.00316546659693\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0015827332984658085, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.00158273329847\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.2963645692563395, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.29636456926\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 2.8084739591155365, -0.21752875390317425]\nmax_q:  2.80847395912\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.384318998099297, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.3843189981\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.842294214165962]\nmax_q:  4.84229421417\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 5.1016612744499685]\nmax_q:  5.10166127445\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.06855527829110591, 0.0]\nmax_q:  0.0685552782911\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.909949797243443]\nmax_q:  4.90994979724\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.81421774036043]\nmax_q:  4.81421774036\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.882014190184375]\nmax_q:  4.88201419018\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 3, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 2, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 2.86805026115976, -0.21752875390317425]\nmax_q:  2.86805026116\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 0, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nSimulator.run(): Trial 68\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (3, 2), deadline = 25\nRoutePlanner.route_to(): destination = (3, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0013189444153881738, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.13055555555555554, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.4123044981856925, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.8577332546181395, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 2.8333282507133695, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.792790957719366, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 0.0667937255521643, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.792790957719366]\nmax_q:  4.79279095772\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, 0.0, 0.0667937255521643, 0.0]\nmax_q:  0.0667937255522\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = left, reward = -0.5\nnext_waypoint:  forward\nq:  [0.0013189444153881738, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.00131894441539\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0009892083115411302, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000989208311541\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0008243402596176086, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000824340259618\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.4123044981856925, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.41230449819\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.4710740483671234, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.47107404837\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 2.8333282507133695, -0.21752875390317425]\nmax_q:  2.83332825071\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 69\nEnvironment.reset(): Trial set up with start = (6, 3), destination = (1, 3), deadline = 25\nRoutePlanner.route_to(): destination = (1, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0007212977271654075, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.13055555555555554, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.2259551484498665, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.8577332546181395, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.8916618381777015, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.682415193921635, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.2259551484498665, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.22595514845\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.2646573910273737, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.26465739103\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.632328695513687, 1.2183224628487543, 0.978379623117549]\nmax_q:  3.63232869551\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.8161643477568434, 1.2183224628487543, 0.978379623117549]\nmax_q:  2.81616434776\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.13055555555555554]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.8577332546181395]\nmax_q:  4.85773325462\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 0.5623997444390749, 4.682415193921635]\nmax_q:  4.68241519392\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.793167547410974]\nmax_q:  4.79316754741\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.8916618381777015, -0.21752875390317425]\nmax_q:  3.89166183818\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 70\nEnvironment.reset(): Trial set up with start = (5, 5), destination = (6, 1), deadline = 25\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.978379623117549, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0007212977271654075, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.9345479129811594, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.7535091700404255, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 4.805677209169624, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.644503238703766, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 0.5623997444390749, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.7535091700404255]\nmax_q:  4.75350917004\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.644503238703766]\nmax_q:  4.6445032387\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 4.805677209169624, -0.21752875390317425]\nmax_q:  4.80567720917\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0007212977271654075, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000721297727165\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0006311355112697316, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.00063113551127\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.9345479129811594, 1.2183224628487543, 0.978379623117549]\nmax_q:  2.93454791298\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.714303938159649]\nmax_q:  4.71430393816\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.500827603891795]\nmax_q:  4.50082760389\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.669659942024671]\nmax_q:  4.66965994202\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0005680219601427584, -0.5842605206316723, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000568021960143\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.023335586899396, 1.2183224628487543, 0.7672231070979094]\nmax_q:  3.0233355869\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 71\nEnvironment.reset(): Trial set up with start = (7, 1), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.7672231070979094, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0005422027801362694, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.897363270778588, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.6268131189452415, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.8704514727797497, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.482383422460744, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.5842605206316723, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.6268131189452415]\nmax_q:  4.62681311895\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.600695905655856]\nmax_q:  4.60069590566\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.897363270778588, 1.2183224628487543, 0.7672231070979094]\nmax_q:  3.89736327078\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.8704514727797497, -0.21752875390317425]\nmax_q:  3.87045147278\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.876928899140762, -0.21752875390317425]\nmax_q:  3.87692889914\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.264999214315748, 1.2183224628487543, 0.8585422321129005]\nmax_q:  3.26499921432\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 72\nEnvironment.reset(): Trial set up with start = (6, 4), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0005422027801362694, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.128957580385925, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.241191711230372, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.7062989992188746, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.482383422460744, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.7919947096208021, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.4662799808124058, 4.128957580385925, 1.2183224628487543, 0.8585422321129005]\nmax_q:  4.12895758039\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 4.123584347869844, 1.2183224628487543, 0.8585422321129005]\nmax_q:  4.12358434787\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0005422027801362694, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000542202780136\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00045183565011355786, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000451835650114\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.000271101390068, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.00027110139\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.200243991251061, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.20024399125\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00039535619384936313, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000395356193849\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00036711646571726576, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000367116465717\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.1669029390587053, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.16690293906\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.7062989992188746, -0.21752875390317425]\nmax_q:  3.70629899922\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 73\nEnvironment.reset(): Trial set up with start = (1, 2), destination = (4, 6), deadline = 35\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.00034417168660993665, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 0.9702026196556066, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.1483772887014387, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.241191711230372, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 4.397440749283968, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.482383422460744, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.895861804115367, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 4.397440749283968, -0.21752875390317425]\nmax_q:  4.39744074928\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00034417168660993665, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.00034417168661\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.1483772887014387, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.1483772887\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.9702026196556066, 0.0, 0.0]\nmax_q:  0.970202619656\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'right', 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.482383422460744]\nmax_q:  4.48238342246\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.333539559831295, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.33353955983\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00030115022578369456, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000301150225784\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.2918659367414946, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.29186593674\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.37727263990442, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.3772726399\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0)]\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 74\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (2, 3), deadline = 35\nRoutePlanner.route_to(): destination = (2, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.0002844196576846004, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.3601238835451284, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.241191711230372, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.598293832855979, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.2183224628487543, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.43069948433995, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.895861804115367, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.241191711230372]\nmax_q:  4.24119171123\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.3601238835451284, 1.2183224628487543, 0.8585422321129005]\nmax_q:  3.36012388355\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0002844196576846004, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000284419657685\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0002133147432634503, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000213314743263\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00017776228605287527, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000177762286053\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.000142209828842, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.00014220983\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.200127988845958, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.20012798885\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00015554200029626586, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000155542000296\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.00014582062527774924, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000145820625278\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.350117323108795, 1.2183224628487543, 0.8585422321129005]\nmax_q:  2.35011732311\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.43069948433995]\nmax_q:  4.43069948434\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.2281029217062756]\nmax_q:  4.22810292171\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 75\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (7, 3), deadline = 40\nRoutePlanner.route_to(): destination = (7, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 0.00013771947942898538, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.432611456953355, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.995337779615385, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.598293832855979, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 1.1726845779058384, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.404312149049382, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3026940579594739, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.895861804115367, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.995337779615385]\nmax_q:  4.99533777962\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.9570555573224855]\nmax_q:  4.95705555732\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00013771947942898538, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000137719479429\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.432611456953355, 1.1726845779058384, 0.8585422321129005]\nmax_q:  2.43261145695\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.00010328960957173904, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  0.000103289609572\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.037840837527166e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  9.03784083753e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.13405675377445e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  8.13405675377e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.456218690959913e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  7.45621869096e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.404312149049382]\nmax_q:  4.40431214905\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.3026940579594739]\nmax_q:  0.302694057959\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.598293832855979, -0.21752875390317425]\nmax_q:  3.59829383286\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.3488961923137017, 0.9636033329373845, 0.8585422321129005]\nmax_q:  2.34889619231\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.615031589820313, -0.21752875390317425]\nmax_q:  3.61503158982\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0)]\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 76\nEnvironment.reset(): Trial set up with start = (8, 3), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 6.923631641605633e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.0699793641654964, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.202156074524691, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.628780461612445, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9636033329373845, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.14713975128337, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.895861804115367, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.14713975128337]\nmax_q:  4.14713975128\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [6.923631641605633e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  6.92363164161e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.192723731204225e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  5.1927237312e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.0699793641654964, 0.9636033329373845, 0.8585422321129005]\nmax_q:  3.06997936417\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.8024899322113423, 0.9636033329373845, 0.8585422321129005]\nmax_q:  2.80248993221\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.64199627303885, 0.9636033329373845, 0.8585422321129005]\nmax_q:  2.64199627304\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.0735698756416845]\nmax_q:  4.07356987564\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 77\nEnvironment.reset(): Trial set up with start = (8, 4), destination = (2, 1), deadline = 45\nRoutePlanner.route_to(): destination = (2, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 4.327269776003522e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.5350005002571887, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.193583661265824, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.628780461612445, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9636033329373845, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.505458726354717, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.895861804115367, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.628780461612445, -0.21752875390317425]\nmax_q:  3.62878046161\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [4.327269776003522e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  4.327269776e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.786361054003082e-05, -0.895861804115367, -0.9991533924527158, -0.10278871751959043]\nmax_q:  3.786361054e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [3.4077249486027736e-05, -0.9132153303253487, -0.9991533924527158, -0.10278871751959043]\nmax_q:  3.4077249486e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.193583661265824]\nmax_q:  4.19358366127\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.5350005002571887, 0.9390904475862858, 0.8585422321129005]\nmax_q:  2.53500050026\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.608250475244329, 0.9390904475862858, 0.8585422321129005]\nmax_q:  2.60825047524\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [3.164316023702576e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  3.1643160237e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.0426115612524772e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  3.04261156125e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.9339468626363173e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  2.93394686264e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.671511817278678, 0.9390904475862858, 0.8585422321129005]\nmax_q:  2.67151181728\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.8361486338817734e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  2.83614863388e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.6295423286987605, 0.9390904475862858, 0.8585422321129005]\nmax_q:  2.6295423287\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.255710961478217]\nmax_q:  4.25571096148\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 5.505458726354717]\nmax_q:  5.50545872635\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.248981725649843]\nmax_q:  4.24898172565\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.6906503846770375, -0.21752875390317425]\nmax_q:  3.69065038468\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.667610597346017, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.66761059735\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 78\nEnvironment.reset(): Trial set up with start = (7, 4), destination = (2, 4), deadline = 25\nRoutePlanner.route_to(): destination = (2, 4)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 2.752732497591133e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.05646072927587, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.243323050066892, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.6973753763144934, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.439698351900916, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9204460676665598, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.6973753763144934, -0.21752875390317425]\nmax_q:  3.69737537631\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.47745924783202e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  2.47745924783e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.271004310512685e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  2.27100431051e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.1087897169046364e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  2.1087897169e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.9769903595980964e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.9769903596e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.05646072927587, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.05646072928\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.8671575618426464e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.86715756184e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.950815589927064, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.95081558993\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.7822867635770717e-05, -0.9204460676665598, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.78228676358e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.871581700052627, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.87158170005\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.7137372726702613e-05, -0.9261278793556368, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.71373727267e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6601829828993158e-05, -0.9261278793556368, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.6601829829e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 8, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.611354071637571e-05, -0.9261278793556368, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.61135407164e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.5665942363143052e-05, -0.9261278793556368, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.56659423631e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.9091956433842063, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.90919564338\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 79\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (2, 5), deadline = 25\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 1.525368072200771e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.363736242557014, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.243323050066892, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 3.7352034542751817, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.439698351900916, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9261278793556368, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.243323050066892]\nmax_q:  4.24332305007\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.5536759485401116, 0.5459851050373206, 0.09142361050650853, 4.237239973815219]\nmax_q:  4.23723997382\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 3.7352034542751817, -0.21752875390317425]\nmax_q:  3.73520345428\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 80\nEnvironment.reset(): Trial set up with start = (1, 6), destination = (5, 3), deadline = 35\nRoutePlanner.route_to(): destination = (5, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 1.525368072200771e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.363736242557014, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.719849175950458, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 6.268303022490784, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.439698351900916, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 0.5536759485401116, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9991533924527158, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9261278793556368, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.719849175950458]\nmax_q:  4.71984917595\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 5.439698351900916]\nmax_q:  5.4396983519\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.525368072200771e-05, -0.9261278793556368, -0.9991533924527158, -0.10278871751959043]\nmax_q:  1.5253680722e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.363736242557014, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.36373624256\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.2711400601673091e-05, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  1.27114006017e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.1652117218200334e-05, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  1.16521172182e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0819823131186026e-05, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  1.08198231312e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.4273626183013124, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.4273626183\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.4591758061734614, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.45917580617\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.0565209618736464, 6.268303022490784, -0.21752875390317425]\nmax_q:  6.26830302249\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.4862170158647885, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.48621701586\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0)]\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 81\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (1, 6), deadline = 50\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 1.01435841854869e-05, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.4078014222063473, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.19569935385873, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.719849175950458, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.0565209618736464, \"(['green', None, None, None, 'left'], 'left')\": 5.880275474991621, \"(['red', None, None, None, 'forward'], 'right')\": -0.10278871751959043, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.079773763925687, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993634554144617, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9261278793556368, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.719849175950458]\nmax_q:  4.71984917595\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 4.19569935385873, 0.933826190140622, 0.8585422321129005]\nmax_q:  4.19569935386\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 49, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.01435841854869e-05, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  1.01435841855e-05\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.607688139115176e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  7.60768813912e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.0000050717920925, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.00000507179\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.339740115929313e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  6.33974011593e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.7057661043363826e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  5.70576610434e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.230285595641684e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  5.23028559564e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.03566718055659328]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.856693767381564e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  4.85669376738e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.613859079012486e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  4.61385907901e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.404138211784646e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  4.40413821178e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.220632452960286e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  4.22063245296e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.058300435538736e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  4.05830043554e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.000004021772636, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.00000402177\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.066670554380215, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.06667055438\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -0.5\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.127087099555833, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.12708709956\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.913361134269496e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  3.91336113427e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.1200268138405405, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.12002681384\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.8103779465255617e-06, -0.9261278793556368, -0.9993634554144617, -0.10278871751959043]\nmax_q:  3.81037794653e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [3.7196546620844765e-06, -0.9294856184836837, -0.9993634554144617, -0.10278871751959043]\nmax_q:  3.71965466208e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.167026143494527, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.16702614349\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.6387926042130746e-06, -0.9294856184836837, -0.9993634554144617, -0.10278871751959043]\nmax_q:  3.63879260421e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.566016752128813e-06, -0.9294856184836837, -0.9993634554144617, -0.10278871751959043]\nmax_q:  3.56601675213e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.4078014222063473, 0.0, 0.0]\nmax_q:  0.407801422206\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, -0.05555555555555555]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 5.880275474991621, -0.21752875390317425]\nmax_q:  5.88027547499\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.160066796657101, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.16006679666\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [3.4974395068955668e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.4974395069e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.448863958188684e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.44886395819e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.4022576884834316e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.40225768848e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.357491139950755e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.35749113995e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.158629951372765, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.15862995137\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 5.851786452643264, -0.21752875390317425]\nmax_q:  5.85178645264\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.1816470769806053, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.18164707698\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.203294135587979, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.20329413559\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 7, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.224186064243933, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.22418606424\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 6, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.2190909640843706, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.21909096408\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0)]\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 82\nEnvironment.reset(): Trial set up with start = (4, 2), destination = (1, 1), deadline = 20\nRoutePlanner.route_to(): destination = (1, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 3.314446381746258e-06, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.461101064483433, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.689855460285854, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.757840441603184, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.079773763925687, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [3.314446381746258e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.31444638175e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.277619199726855e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.27761919973e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6388095998634276e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.63880959986e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.2291071998975707e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.2291071999e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.461101064483433, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.46110106448\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.0242559999146423e-06, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.02425599991e-06\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.218303999231781e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  9.21830399923e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.450111999295799e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  8.4501119993e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.846532570774671e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.84653257077e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.356124285101255e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.3561242851e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.653463431423004, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.65346343142\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.720790259851854, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.72079025985\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 9, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.689855460285854]\nmax_q:  4.68985546029\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0)]\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 83\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (1, 6), deadline = 35\nRoutePlanner.route_to(): destination = (1, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 6.94745071370674e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 2.6552639041719157, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.510691412092269, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.757840441603184, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.933826190140622, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.079773763925687, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 5.510691412092269]\nmax_q:  5.51069141209\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 5.447745936588425]\nmax_q:  5.44774593659\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.6552639041719157, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.65526390417\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.991447928128937, 0.933826190140622, 0.8585422321129005]\nmax_q:  2.99144792813\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.1595399401074475, 0.933826190140622, 0.8585422321129005]\nmax_q:  3.15953994011\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.94745071370674e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  6.94745071371e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.252705642336066e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  6.25270564234e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.731646838808061e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  5.73164683881e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.322243493178914e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  5.32224349318e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.989603274855233e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.98960327486e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.723872968294213]\nmax_q:  4.72387296829\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.712403092918831e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.71240309292e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.516052964047213e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.51605296405e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.342358619276166e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.34235861928e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.2645974475940167, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.26459744759\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.18029096504533, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.18029096505\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.2044000543087026, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.20440005431\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [4.1872743828734456e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.18727438287e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.0770829517451976e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.07708295175e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.137488951811759, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.13748895181\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.1580249291495743, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.15802492915\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0)]\nLearningAgent.update(): deadline = 13, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 84\nEnvironment.reset(): Trial set up with start = (8, 2), destination = (2, 6), deadline = 50\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 3.9751558779515674e-07, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.3076923076923077, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.559932895949948, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.707146960445907, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.702907927803085, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.079773763925687, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2224281139793473, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0313291357234897, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [3.9751558779515674e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.97515587795e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 50, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.884811426179941e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.88481142618e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.9424057130899704e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.94240571309e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4568042848174777e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.45680428482e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.559932895949948, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.55993289595\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.2140035706812314e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.21400357068e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0926032136131084e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.09260321361e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.001552945812016e-07, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.00155294581e-07\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.1699496871375055, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.16994968714\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [9.300134496825864e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  9.30013449683e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.783460358113317e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  8.78346035811e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [8.344287340207651e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  8.34428734021e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.221827831691411, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.22182783169\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.965001552016394e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.96500155202e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.658655338477303e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.65865533848e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.385131933531686e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.38513193353e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, -0.03566718055659328]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 2]\naction:  left\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 5.079773763925687]\nmax_q:  5.07977376393\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.120008849035877, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.12000884904\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 32, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.2224281139793473]\nmax_q:  0.222428113979\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nrandom\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 5.702907927803085, -0.21752875390317425]\nmax_q:  5.7029079278\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.3076923076923077, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  forward\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, -0.3333333333333333, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 1, 3]\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': 'left', 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 1.0313291357234897, 0.0]\nmax_q:  1.03132913572\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': 'left', 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [7.138960869080631e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.13896086908e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 3.0307157983346014, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.03071579833\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [7.023816338934169e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  7.02381633893e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4662799808124058, 2.9994819873280703, 0.9536734435062606, 0.8585422321129005]\nmax_q:  2.99948198733\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 85\nEnvironment.reset(): Trial set up with start = (4, 3), destination = (7, 6), deadline = 30\nRoutePlanner.route_to(): destination = (7, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.4662799808124058, \"(['red', None, None, None, 'forward'], None)\": 6.920524922185137e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.256639645821629, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.707146960445907, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.554791610690962, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.048015712045519, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.707146960445907]\nmax_q:  4.70714696045\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.256639645821629, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.25663964582\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 2.628319840212127, 0.9536734435062606, 0.8585422321129005]\nmax_q:  2.62831984021\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.697044861010965]\nmax_q:  4.69704486101\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 2.8569332001767727, 0.9536734435062606, 0.8585422321129005]\nmax_q:  2.85693320018\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.920524922185137e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  6.92052492219e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.343814512003043e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  6.343814512e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 2.685546567061943, 0.9536734435062606, 0.8585422321129005]\nmax_q:  2.68554656706\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0)]\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 86\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (6, 1), deadline = 40\nRoutePlanner.route_to(): destination = (6, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 5.890684904002826e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.017699906620572, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.609914253384594, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.554791610690962, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.048015712045519, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.609914253384594]\nmax_q:  4.60991425338\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.571794612548057]\nmax_q:  4.57179461255\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [5.890684904002826e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  5.890684904e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.41801367800212e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  4.418013678e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.017699906620572, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.01769990662\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [3.681678065001767e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.681678065e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.31351025850159e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.3135102585e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.037384403626458e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  3.03738440363e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.8204283747959967e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.8204283748e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.6441516013712468e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.64415160137e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.0154874182930005, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.01548741829\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.4972542901839553e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.49725429018e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.813938677712328, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.81393867771\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 5.554791610690962, -0.21752875390317425]\nmax_q:  5.55479161069\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.38374273153923e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.38374273154e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.309250771178629e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.30925077118e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.6627771222295267, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.66277712223\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.6721444243898174, 0.9536734435062606, 0.8585422321129005]\nmax_q:  3.67214442439\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0)]\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 87\nEnvironment.reset(): Trial set up with start = (6, 5), destination = (4, 3), deadline = 20\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 2.2413316308498457e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.1104526131696515, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.5240078560227595, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.317805503311565, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.048015712045519, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 5.317805503311565, -0.21752875390317425]\nmax_q:  5.31780550331\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.2413316308498457e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.24133163085e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.0545539949456922e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  2.05455399495e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.1104526131696515, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.11045261317\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.5240078560227595]\nmax_q:  4.52400785602\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.103549324846548, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.10354932485\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 88\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (3, 3), deadline = 20\nRoutePlanner.route_to(): destination = (3, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 1.9078001381638573e-08, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.8931943933157935, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.5240078560227595, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.654244402649252, \"(['red', None, None, None, 'forward'], 'right')\": -0.0792431273179304, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 5.048015712045519, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.9078001381638573e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.90780013816e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.8124101312556646e-08, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  1.81241013126e-08\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [9.062050656278323e-09, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  9.06205065628e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [6.796537992208742e-09, -0.9294856184836837, -0.9993815924391984, -0.0792431273179304]\nmax_q:  6.79653799221e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 14, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.654244402649252, -0.21752875390317425]\nmax_q:  4.65424440265\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 12, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.8931943933157935, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.89319439332\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 11, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 5.048015712045519]\nmax_q:  5.04801571205\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 10, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [5.663781660173953e-09, -0.9294856184836837, -0.9993815924391984, -0.1844323447804751]\nmax_q:  5.66378166017e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 9, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.843572482576027, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.84357248258\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 8, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.406337039256955e-09, -0.9294856184836837, -0.9993815924391984, -0.1844323447804751]\nmax_q:  5.40633703926e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 7, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 6, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.5240078560227595]\nmax_q:  4.52400785602\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 5, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  right\nLearningAgent.update(): deadline = 4, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.506540927488667]\nmax_q:  4.50654092749\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 3, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.606608109253289, 0.9536734435062606, 0.8585422321129005]\nmax_q:  4.60660810925\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0)]\nLearningAgent.update(): deadline = 2, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 89\nEnvironment.reset(): Trial set up with start = (7, 5), destination = (1, 5), deadline = 30\nRoutePlanner.route_to(): destination = (1, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.8585422321129005, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 5.198400999285534e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 5.145313439551808, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.491642664915471, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.613354127483674, \"(['red', None, None, None, 'forward'], 'right')\": -0.20697289139621255, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.5911111111111111, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.949218397524561, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9993815924391984, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [5.198400999285534e-09, -0.9294856184836837, -0.9993815924391984, -0.20697289139621255]\nmax_q:  5.19840099929e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.054000971527603e-09, -0.9294856184836837, -0.9993815924391984, -0.20697289139621255]\nmax_q:  5.05400097153e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.5270004857638017e-09, -0.9294856184836837, -0.9993815924391984, -0.20697289139621255]\nmax_q:  2.52700048576e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 5.145313439551808, 0.9536734435062606, 0.8585422321129005]\nmax_q:  5.14531343955\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.5911111111111111, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.613354127483674, -0.21752875390317425]\nmax_q:  4.61335412748\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.358985079900762, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.3589850799\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.3426675762689095, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.34266757627\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.328389760591038, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.32838976059\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.31575938518369, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.31575938518\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.58268642110949, -0.21752875390317425]\nmax_q:  4.58268642111\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 90\nEnvironment.reset(): Trial set up with start = (1, 1), destination = (4, 3), deadline = 25\nRoutePlanner.route_to(): destination = (4, 3)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 1.8952503643228513e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.46466571958182606, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.1503480005954, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.491642664915471, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 5.077173993035524, \"(['red', None, None, None, 'forward'], 'right')\": -0.20697289139621255, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.949218397524561, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.999587727976924, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.491642664915471]\nmax_q:  4.49164266492\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.4752545760849545]\nmax_q:  4.47525457608\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.8952503643228513e-09, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  1.89525036432e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4214377732421383e-09, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  1.42143777324e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.1503480005954, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.1503480006\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.6127610005946167, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.61276100059\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nrandom\naction:  left\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, -0.037037037037037035, 0.0, 0.0]\nmax_q:  0.0\ncount:  3\nbest:  [0, 2, 3]\naction:  left\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [0.0, 0.46466571958182606, 0.0, 0.0]\nmax_q:  0.464665719582\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 17, inputs = {'light': 'green', 'oncoming': 'left', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1845314777017819e-09, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  1.1845314777e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.6514849005351553, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.65148490054\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0)]\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 91\nEnvironment.reset(): Trial set up with start = (6, 2), destination = (4, 6), deadline = 30\nRoutePlanner.route_to(): destination = (4, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 1.1187241733850162e-09, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.4863364104816394, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.4746091987622805, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.564311660862937, \"(['red', None, None, None, 'forward'], 'right')\": -0.20697289139621255, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.949218397524561, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.999587727976924, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.4863364104816394, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.48633641048\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.1187241733850162e-09, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  1.11872417339e-09\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.593620866925081e-10, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  5.59362086693e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.195215650193811e-10, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  4.19521565019e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.564311660862937, -0.21752875390317425]\nmax_q:  4.56431166086\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.6782770771607587, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.67827707716\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.491801846384541, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.49180184638\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.517211754065314, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.51721175407\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0)]\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 92\nEnvironment.reset(): Trial set up with start = (5, 1), destination = (8, 5), deadline = 35\nRoutePlanner.route_to(): destination = (8, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 3.496013041828176e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.448247583425982, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.4746091987622805, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.24377270325507, \"(['red', None, None, None, 'forward'], 'right')\": -0.20697289139621255, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.949218397524561, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.999587727976924, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.949218397524561]\nmax_q:  4.94921839752\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.906072106727989]\nmax_q:  4.90607210673\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 34, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [3.496013041828176e-10, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  3.49601304183e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 33, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.622009781371132e-10, -0.9294856184836837, -0.999587727976924, -0.20697289139621255]\nmax_q:  2.62200978137e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.24377270325507, -0.21752875390317425]\nmax_q:  4.24377270326\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 27, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.448247583425982, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.44824758343\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.4746091987622805]\nmax_q:  4.47460919876\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [2.1850081511426102e-10, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  2.18500815114e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'right'}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.423344939902316, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.4233449399\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.407062442213766, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.40706244221\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.235129410634517, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.23512941063\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 93\nEnvironment.reset(): Trial set up with start = (8, 1), destination = (3, 6), deadline = 50\nRoutePlanner.route_to(): destination = (3, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6283198229108145, \"(['red', None, None, None, 'forward'], None)\": 2.0856895988179463e-10, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.752787449932502, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.449800081554252, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.228536909301629, \"(['red', None, None, None, 'forward'], 'right')\": -0.2802296685198468, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5521757472882938, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.453036053363995, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.999587727976924, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.752787449932502, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.75278744993\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 50, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.0856895988179463e-10, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  2.08568959882e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 49, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.0428447994089731e-10, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  1.04284479941e-10\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 48, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.821335995567299e-11, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  7.82133599557e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 47, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 4.569268286610621, 0.9536734435062606, 0.5868337858798454]\nmax_q:  4.56926828661\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 46, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [6.517779996306083e-11, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  6.51777999631e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.866001996675475e-11, -0.9294856184836837, -0.999587727976924, -0.2802296685198468]\nmax_q:  5.86600199668e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.0, 0.0, 0.0, 0.0]\nmax_q:  0.0\ncount:  4\nbest:  [0, 1, 2, 3]\naction:  right\nLearningAgent.update(): deadline = 42, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'left'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.453036053363995]\nmax_q:  4.45303605336\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.449800081554252]\nmax_q:  4.44980008155\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.9269512149661128, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.92695121497\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.930271614285835, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.93027161429\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6283198229108145, 3.9331769636905918, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.93317696369\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 37, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 36, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.228536909301629, -0.21752875390317425]\nmax_q:  4.2285369093\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.7844710434087685, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.78447104341\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.377168496952519e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  5.37716849695e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.227802705370505e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  5.22780270537e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.6795021585039516, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.6795021585\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [5.0902289499660184e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  5.09022894997e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.969033022585875e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  4.96903302259e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.8561004538907416e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  4.85610045389e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.595527050580026, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.59552705058\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 26, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.5521757472882938]\nmax_q:  0.552175747288\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': 'forward'}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.427687607521009]\nmax_q:  4.42768760752\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.427310077476539]\nmax_q:  4.42731007748\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.419251608789222]\nmax_q:  4.41925160879\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [4.750533052719204e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  4.75053305272e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.540550418207698, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.54055041821\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0)]\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 94\nEnvironment.reset(): Trial set up with start = (7, 2), destination = (2, 5), deadline = 40\nRoutePlanner.route_to(): destination = (2, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6448145540854127, \"(['red', None, None, None, 'forward'], None)\": 4.6686273104309423e-11, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.822532070934886, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.411768745008141, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.220919012324908, \"(['red', None, None, None, 'forward'], 'right')\": -0.285701764012098, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.9536734435062606, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.419462845837914, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.2650362315047027, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.999587727976924, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [4.6686273104309423e-11, -0.9294856184836837, -0.999587727976924, -0.285701764012098]\nmax_q:  4.66862731043e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 40, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 39, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.4431126414428196e-11, -0.9294856184836837, -0.9999999999770459, -0.285701764012098]\nmax_q:  3.44311264144e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.822532070934886, 0.9536734435062606, 0.5868337858798454]\nmax_q:  3.82253207093\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.869260534535683e-11, -0.9294856184836837, -0.9999999999770459, -0.285701764012098]\nmax_q:  2.86926053454e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.419462845837914]\nmax_q:  4.41946284584\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 31, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [2.582334481082115e-11, -0.9294856184836837, -0.9999999999781617, -0.285701764012098]\nmax_q:  2.58233448108e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 30, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.4532177570280094e-11, -0.9294856184836837, -0.9999999999781617, -0.285701764012098]\nmax_q:  2.45321775703e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.4196574654376883, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.41965746544\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.3417078589812817e-11, -0.9294856184836837, -0.9999999999781617, -0.285701764012098]\nmax_q:  2.34170785898e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.2516421720973865e-11, -0.9294856184836837, -0.9999999999781617, -0.285701764012098]\nmax_q:  2.2516421721e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.0, 0.0, 0.2650362315047027]\nmax_q:  0.265036231505\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = -0.5\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.220919012324908, -0.21752875390317425]\nmax_q:  4.22091901232\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.0, -0.33333333333333337, -0.6422222222222222, -0.18333333333333332]\nmax_q:  0.0\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.082111574054601, -0.21752875390317425]\nmax_q:  4.08211157405\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.30135267665219, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.30135267665\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 19, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 95\nEnvironment.reset(): Trial set up with start = (2, 5), destination = (4, 1), deadline = 30\nRoutePlanner.route_to(): destination = (4, 1)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6448145540854127, \"(['red', None, None, None, 'forward'], None)\": 2.1712263802367656e-11, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.1814264396543184, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.649700600343526, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.411768745008141, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 4.080058784703235, \"(['red', None, None, None, 'forward'], 'right')\": -0.285701764012098, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.7460058087214966, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.392765536671184, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3240789052927955, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999999999781617, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.4395191727231112, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.649700600343526, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.64970060034\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.657661950335719, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.65766195034\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 4.080058784703235, -0.21752875390317425]\nmax_q:  4.0800587847\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 28, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  forward\nq:  [2.1712263802367656e-11, -0.9294856184836837, -0.9999999999781617, -0.285701764012098]\nmax_q:  2.17122638024e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  right\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = -0.5\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.392765536671184]\nmax_q:  4.39276553667\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 25, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [1.005238108398891, 0.5459851050373206, 0.09142361050650853, 4.411768745008141]\nmax_q:  4.41176874501\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [0.0, -1.0, -0.03333333333333333, 1.1814264396543184]\nmax_q:  1.18142643965\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': 'left', 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.8288309751678593, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.82883097517\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.8093553168639714e-11, -0.9294856184836837, -0.9999999999781617, -0.3392763230068118]\nmax_q:  1.80935531686e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 21, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.7088355770381952e-11, -0.9294856184836837, -0.9999999999781617, -0.3392763230068118]\nmax_q:  1.70883557704e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6233937981862854e-11, -0.9294856184836837, -0.9999999999781617, -0.3392763230068118]\nmax_q:  1.62339379819e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [0.0, 0.4395191727231112, 0.0, 0.0]\nmax_q:  0.439519172723\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': 'right', 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.5496031709959996e-11, -0.9294856184836837, -0.9999999999781617, -0.3392763230068118]\nmax_q:  1.549603171e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  left\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\nnext_waypoint:  forward\nq:  [1.490003049034615e-11, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  1.49000304903e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.839529039219868, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.83952903922\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 96\nEnvironment.reset(): Trial set up with start = (2, 4), destination = (6, 5), deadline = 25\nRoutePlanner.route_to(): destination = (6, 5)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6448145540854127, \"(['red', None, None, None, 'forward'], None)\": 1.4403362807334611e-11, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.5918126261902237, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.3495584742690765, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 4.108259490811311, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 3.0400293923516175, \"(['red', None, None, None, 'forward'], 'right')\": -0.3392763230068118, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.7460058087214966, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.355389303837761, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3240789052927955, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.005238108398891, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999999999791894, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.5695592416634976, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  forward\nq:  [1.6448145540854127, 4.3495584742690765, 0.7460058087214966, 0.5868337858798454]\nmax_q:  4.34955847427\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.4403362807334611e-11, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  1.44033628073e-11\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 24, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [7.201681403667306e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  7.20168140367e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [5.4012610527504795e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  5.40126105275e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 22, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 4.20271106962771, 0.7460058087214966, 0.5868337858798454]\nmax_q:  4.20271106963\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.6520333022213447, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.65203330222\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [4.501050877292066e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  4.50105087729e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.125963304184395e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  4.12596330418e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.831251639599795e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  3.8312516396e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6448145540854127, 3.6868299719992104, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.686829972\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 16, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  right\nrandom\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  right\nq:  [1.1101272720995676, 0.5459851050373206, 0.09142361050650853, 4.108259490811311]\nmax_q:  4.10825949081\ncount:  1\naction index:  3\naction:  right\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0), (14, 12.0)]\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 12.0\nSimulator.run(): Trial 97\nEnvironment.reset(): Trial set up with start = (1, 3), destination = (2, 6), deadline = 20\nRoutePlanner.route_to(): destination = (2, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6448145540854127, \"(['red', None, None, None, 'forward'], None)\": 3.5917984121248078e-12, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.5918126261902237, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.499404419555053, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.023662687275635, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 3.0400293923516175, \"(['red', None, None, None, 'forward'], 'right')\": -0.3392763230068118, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.7460058087214966, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.355389303837761, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3240789052927955, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.1101272720995676, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999999999791894, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.5695592416634976, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 3.0400293923516175, -0.21752875390317425]\nmax_q:  3.04002939235\ncount:  1\naction index:  2\naction:  left\nLearningAgent.update(): deadline = 20, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.355389303837761]\nmax_q:  4.35538930384\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.5917984121248078e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  3.59179841212e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 17, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.9931653434373397e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.99316534344e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 16, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.619019675507672e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.61901967551e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 15, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6972583819314697, 3.499404419555053, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.49940441956\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 14, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.357117707956905e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.35711770796e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 13, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.188752157388555e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.18875215739e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 12, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.0519551475517705e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.05195514755e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 11, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6972583819314697, 3.249503682962741, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.24950368296\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0), (14, 12.0), (10, 12.0)]\nLearningAgent.update(): deadline = 10, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nSimulator.run(): Trial 98\nEnvironment.reset(): Trial set up with start = (6, 6), destination = (1, 2), deadline = 45\nRoutePlanner.route_to(): destination = (1, 2)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6972583819314697, \"(['red', None, None, None, 'forward'], None)\": 1.93795763935445e-12, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.5918126261902237, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 4.124553314666564, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.023662687275635, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 2.9454812657741973, \"(['red', None, None, None, 'forward'], 'right')\": -0.3392763230068118, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.7460058087214966, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.511831343637818, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3240789052927955, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.1101272720995676, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999999999791894, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.5695592416634976, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9294856184836837, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.511831343637818]\nmax_q:  4.51183134364\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 45, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  right\nq:  [3.502224857708586, 0.4968484892614379, 1.3222516193518832, 4.4862397764559265]\nmax_q:  4.48623977646\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 44, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [1.93795763935445e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  1.93795763935e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 43, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.4534682295158375e-12, -0.9294856184836837, -0.9999999999791894, -0.3392763230068118]\nmax_q:  1.45346822952e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 42, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 41, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 40, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6972583819314697, 3.699642651733357, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.69964265173\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 39, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  forward\nLearningAgent.update(): deadline = 38, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\nnext_waypoint:  forward\nq:  [1.0598205840219648e-12, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  1.05982058402e-12\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 37, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6972583819314697, 3.416368876444553, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.41636887644\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 36, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nrandom\naction:  None\nLearningAgent.update(): deadline = 35, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 3.2589945568396574, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.25899455684\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 34, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  left\nq:  [0.7391780451416115, 1.1379101839690677, 2.9454812657741973, -0.21752875390317425]\nmax_q:  2.94548126577\ncount:  1\naction index:  2\naction:  left\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0), (14, 12.0), (10, 12.0), (33, 12.0)]\nLearningAgent.update(): deadline = 33, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = 12.0\nSimulator.run(): Trial 99\nEnvironment.reset(): Trial set up with start = (2, 6), destination = (8, 6), deadline = 30\nRoutePlanner.route_to(): destination = (8, 6)\nq:  {\"(['red', 'left', None, None, 'right'], 'left')\": -0.03333333333333333, \"(['green', None, None, None, 'forward'], 'right')\": 0.5868337858798454, \"(['green', None, None, None, 'forward'], None)\": 1.6904822715803056, \"(['red', None, None, None, 'forward'], None)\": 9.935817975205919e-13, \"(['green', None, None, 'forward', 'right'], 'forward')\": 0.20045060869895037, \"(['green', 'left', None, None, 'forward'], 'forward')\": 0.6565825047081311, \"(['green', 'left', None, None, 'right'], None)\": 0.0, \"(['red', None, None, None, 'left'], 'forward')\": -0.33333333333333337, \"(['red', 'left', None, None, 'forward'], 'forward')\": -0.037037037037037035, \"(['green', None, None, 'right', 'forward'], 'forward')\": 0.5327193490058473, \"(['red', None, 'right', None, 'left'], None)\": 0.0, \"(['red', None, None, None, 'right'], None)\": 3.502224857708586, \"(['red', 'forward', None, None, 'right'], 'right')\": 4.427203871478544, \"(['red', None, 'forward', None, 'left'], 'right')\": -0.05555555555555555, \"(['red', 'right', None, None, 'right'], 'left')\": -0.0625, \"(['green', None, 'left', None, 'right'], None)\": 0.0, \"(['green', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'forward', None, None, 'forward'], 'forward')\": -0.5, \"(['red', None, None, None, 'left'], 'right')\": -0.18333333333333332, \"(['red', None, 'left', None, 'right'], 'forward')\": -0.1, \"(['red', None, 'left', None, 'left'], 'left')\": -0.3333333333333333, \"(['green', None, None, 'forward', 'left'], 'left')\": 0.5, \"(['green', None, None, 'left', 'forward'], 'right')\": 0.36293132606878936, \"(['green', None, 'right', None, 'forward'], 'forward')\": 1.141860612231821, \"(['red', 'left', None, None, 'right'], 'right')\": 1.5918126261902237, \"(['green', None, None, None, 'left'], None)\": 0.7391780451416115, \"(['red', 'right', None, None, 'right'], 'right')\": 0.25758086702511146, \"(['green', None, None, 'left', 'left'], 'right')\": 0.2017835568313518, \"(['red', None, None, 'left', 'left'], 'forward')\": -0.1111111111111111, \"(['green', None, None, None, 'forward'], 'forward')\": 3.1445405062179153, \"(['red', 'left', None, None, 'forward'], None)\": 0.0, \"(['green', None, None, None, 'right'], 'right')\": 5.023662687275635, \"(['red', None, 'forward', None, 'left'], None)\": 0.0, \"(['red', 'left', None, None, 'right'], 'forward')\": -1.0, \"(['green', None, None, None, 'left'], 'forward')\": 1.1379101839690677, \"(['green', None, None, None, 'left'], 'left')\": 3.822752879700272, \"(['red', None, None, None, 'forward'], 'right')\": -0.3392763230068118, \"(['green', None, 'forward', None, 'right'], 'left')\": 0.17952113831055388, \"(['green', None, None, 'forward', 'left'], 'forward')\": -0.041666666666666664, \"(['red', None, None, None, 'left'], None)\": 0.0, \"(['red', None, 'left', None, 'left'], 'forward')\": -0.034482758620689655, \"(['green', None, None, 'forward', 'forward'], 'right')\": 0.5100887173977121, \"(['green', None, 'right', None, 'left'], 'right')\": 0.23280423280423285, \"(['red', None, None, None, 'left'], 'left')\": -0.6422222222222222, \"(['green', None, None, None, 'right'], 'left')\": 0.09142361050650853, \"(['green', None, None, None, 'forward'], 'left')\": 0.7460058087214966, \"(['red', 'forward', None, None, 'left'], 'left')\": -0.1111111111111111, \"(['green', None, None, 'forward', 'left'], None)\": 0.0, \"(['green', None, None, None, 'left'], 'right')\": -0.21752875390317425, \"(['red', None, None, None, 'right'], 'right')\": 4.243119888227963, \"(['red', 'forward', None, None, 'forward'], None)\": 0.0, \"(['green', None, 'forward', None, 'forward'], 'right')\": 0.3240789052927955, \"(['red', None, None, None, 'right'], 'left')\": 1.3222516193518832, \"(['green', None, None, None, 'right'], None)\": 1.1101272720995676, \"(['green', 'left', None, None, 'right'], 'forward')\": 0.17466439646082368, \"(['green', None, 'forward', None, 'left'], 'left')\": 0.5, \"(['green', None, 'left', None, 'left'], 'left')\": 1.0636181645327067, \"(['red', None, 'left', None, 'forward'], None)\": 0.0, \"(['green', None, None, 'forward', 'right'], None)\": 0.0, \"(['red', 'forward', None, None, 'left'], 'right')\": -0.1, \"(['red', None, None, None, 'forward'], 'left')\": -0.9999999999791894, \"(['green', 'right', None, None, 'forward'], 'forward')\": 0.5695592416634976, \"(['red', 'left', None, None, 'left'], 'forward')\": -0.07142857142857142, \"(['green', None, None, 'right', 'forward'], None)\": 0.022196639541910302, \"(['green', None, None, 'left', 'right'], 'left')\": 1.8412075969608175, \"(['green', None, 'right', None, 'right'], 'right')\": 1.0160182048973492, \"(['green', None, 'left', None, 'forward'], 'left')\": -0.03124999776907473, \"(['red', 'forward', None, None, 'forward'], 'left')\": -0.5, \"(['green', 'forward', None, None, 'left'], 'right')\": 9.5, \"(['red', None, None, 'left', 'right'], None)\": 0.0, \"(['green', None, 'left', None, 'forward'], None)\": 0.0, \"(['red', None, None, 'right', 'forward'], 'left')\": -1.0, \"(['green', None, None, None, 'right'], 'forward')\": 0.5459851050373206, \"(['red', None, None, None, 'forward'], 'forward')\": -0.9395591015573675, \"(['green', None, 'left', None, 'forward'], 'right')\": -0.03566718055659328, \"(['green', None, 'left', None, 'right'], 'right')\": 0.0982779857908416, \"(['red', 'forward', None, None, 'right'], 'forward')\": -0.14285714285714285, \"(['red', 'left', None, None, 'forward'], 'left')\": -0.14285714285714285, \"(['red', None, None, None, 'right'], 'forward')\": 0.4968484892614379, \"(['red', 'forward', None, None, 'forward'], 'right')\": -0.16655610757549197}\nnext_waypoint:  right\nq:  [1.1101272720995676, 0.5459851050373206, 0.09142361050650853, 5.023662687275635]\nmax_q:  5.02366268728\ncount:  1\naction index:  3\naction:  right\nLearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\nnext_waypoint:  forward\nq:  [9.935817975205919e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  9.93581797521e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 29, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [4.967908987602959e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  4.9679089876e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 28, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.72593174070222e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  3.7259317407e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 27, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [3.10494311725185e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  3.10494311725e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 3.1445405062179153, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.14454050622\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 25, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 3.230086455596124, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.2300864556\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 24, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.716825227595369e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.7168252276e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 23, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 3.025072046330126, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.02507204633\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 22, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 3.086005043434493, 0.7460058087214966, 0.5868337858798454]\nmax_q:  3.08600504343\ncount:  1\naction index:  1\naction:  forward\nLearningAgent.update(): deadline = 21, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 2.0\nnext_waypoint:  forward\nq:  [2.5227662827671285e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.52276628277e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 20, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [2.396627968628772e-13, -0.9395591015573675, -0.9999999999791894, -0.3392763230068118]\nmax_q:  2.39662796863e-13\ncount:  1\naction index:  0\naction:  None\nLearningAgent.update(): deadline = 19, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\nnext_waypoint:  forward\nq:  [1.6904822715803056, 2.9653378163862296, 0.7460058087214966, 0.5868337858798454]\nmax_q:  2.96533781639\ncount:  1\naction index:  1\naction:  forward\nEnvironment.act(): Primary agent has reached destination!\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0), (14, 12.0), (10, 12.0), (33, 12.0), (18, 12.0)]\nLearningAgent.update(): deadline = 18, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = 12.0\nepsilon:  0.1 gamma:  0.5 alpha:  0.0833333333333 defaultq:  0.0\nResults:  [(29, 12.0), (5, 12.0), (26, 12.0), (11, 12.0), (31, 12.0), (11, 12.0), (17, 12.0), (18, 12.0), (26, 12.0), (12, 12.0), (17, 12.0), (23, 12.0), (33, 12.0), (9, 12.0), (0, 12.0), (14, 12.0), (12, 12.0), (21, 12.0), (16, 12.0), (23, 12.0), (19, 12.0), (10, 12.0), (20, 12.0), (18, 12.0), (29, 12.0), (26, 12.0), (10, 12.0), (37, 12.0), (26, 12.0), (29, 12.0), (27, 12.0), (18, 12.0), (10, 12.0), (17, 12.0), (19, 12.0), (0, 12.0), (29, 12.0), (13, 12.0), (18, 12.0), (12, 12.0), (12, 12.0), (18, 12.0), (5, 12.0), (29, 9.5), (20, 12.0), (11, 12.0), (15, 12.0), (19, 12.0), (29, 12.0), (12, 12.0), (20, 12.0), (12, 12.0), (14, 12.0), (20, 12.0), (27, 12.0), (16, 12.0), (24, 12.0), (21, 12.0), (20, 12.0), (20, 12.0), (15, 12.0), (14, 12.0), (13, 12.0), (13, 12.0), (18, 12.0), (24, 12.0), (22, 12.0), (25, 12.0), (13, 12.0), (21, 12.0), (5, 12.0), (21, 12.0), (23, 12.0), (5, 12.0), (8, 12.0), (13, 12.0), (15, 12.0), (22, 12.0), (21, 12.0), (10, 12.0), (2, 12.0), (15, 12.0), (15, 12.0), (19, 12.0), (20, 12.0), (20, 12.0), (18, 12.0), (14, 12.0), (14, 12.0), (10, 12.0), (33, 12.0), (18, 12.0)]\nNumber of Successful Outcomes:  92\n"
  },
  {
    "path": "p4-smartcab/smartcab-report.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# P4 Smartcab \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Implement a Basic Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **Process**\\n\",\n    \"\\n\",\n    \"**Understanding the game** The first thing I did was run the simulation to get an understanding of the game. I did not alter any code before I did this, so `enforce_deadline` was set to `True`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\nW1W3qqu7f/dN9Tn3nOece+73Fr7T/dS9JcKGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA\\nAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg\\ngAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIItK9AR/sujZUhMKIC/Lcxovwc\\nHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBMaAQHEMnAOngECuAiQhc+VksjoFeB/WCccwBBBA\\nAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBmgT40EBNXATnLUBiNG/R8Tsf76Xxe+05cwQQQAAB\\nBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgPAiQ3B8PV7nJ50hStcnAY2R63idj5EJyGggggAACCCCA\\nAAIIIIAAAggggAACCCCAAAIIIIAAAk0VIInfVN7RPzmJ19F/DfM4A94HeSgyBwIIIIAAAggggAAC\\nCCCAAAIIIIAAAggggAACCCCAAAKVBUjgV/YZ870kZsf8JR5yglzvIRzsIIAAAggggAACCCCAAAII\\nIIAAAggggAACCCCAAAIIINAWAiTu2+IyNH8RJGybbzxSR+DajpQ8x0UAAQQQQAABBBBAAAEEEEAA\\nAQQQQAABBBBAAAEEEECgcQGS9o0btt0MJHHb7pLUtSCuY11sDEIAAQQQQAABBBBAAAEEEEAAAQQQ\\n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\\nxJjJsvAEd/br9OzXyf2P75BjVs+2EYPlvifkf8r5+cFj+3brvvmg7HjZckkYLZvuv6N03sOvS54+\\ngwumhgACCCCAAAIIIIAAAgi0TCDKfpWOpnX9TVVL3axuv71av/ZZ3Y/Vdn+zGG1Lq4d9WfaTYrRN\\nN/84ccvgz0p9g1GjqDaaEvSK36qt1mP58XnUq81R7k/8A0iNSgMXv1Y2feRvZPmUSeK++Nz9J+Cm\\nd39Eif5b8JP04bzRKkpL0TG6HTwkm/btE50zniNubuTnwPLLZePP75OjpxyWjonuu97Lx3VrdP8X\\nHbp0+GHH0XYNKPUXDx2WjdsKUjjt8tzWN3/+fHn88cej74zXpLpuel2yJOktOa+lvg4dOiTbtm2T\\nY489NvmPW9Hs/EAAAQQQQAABBBBAoA0E9HeGcvJ1rVx703Hyx68/Nfp+eVvdwU0/ky/d+GAp2dsr\\nZ69ZNPTfuR1z5XkXr5bb//tB2XDrZ+SfbOCZZ8nSyZqQtQZXdi+QM16xWO69TW8Ff1D++V++Lu95\\n16vlqGml+6L7d8tPb/6U3LjOG6Tr00m6J8pCV0a53nXuTvmBoizwc92FbfKDr35p8Hg2rnR4ncJ+\\n99JS9/1taP9grMXEY+JB5djJvXLWGe574jUxvu6b8u27V8kbXrDUhsRl37Nyw/uvkrXR3tnyF1e9\\nQeb56x4aPWRPP9DwInewtS5FffutcVfv+atklmuLVzJZjl3tvt/9wXvlQQuQXjl+6YzyudqE5TW7\\nhiHnH3fE8+m8uh9uKTG9JzxPit+MPzVx+2dulJM+/BZZNdM/ud3yo+v/XTZ4U5aP7dvJrXLjHSfI\\nW166wns6g34m43659iuD772XBO+9PH3CU2YfAQQQQAABBBBAAAEEEGihgGbA9DcnK/XQVi9lx1L7\\n02L99kp17au22VqqxTXa759ro3M1ffxoStBnwTD8pNi0vrR2f44wxt/36/4Yv+7HVKsn9ae1+e3+\\n8WqrL1kixTf+luy98QaZPt897rDbvS00qR39ccWV0VG8v4pEs3uH1ljdjhyRvTt3RXOJmzO3bdpR\\nUlz5Ntnz3Kdk5gJ3l39XV2lNetzSutKWp2uzpQ4MyJ4de91cvyfi5sxr06R8b29v9Fj6uXPnyoQJ\\ngw9O9I9hf6yypLz2WV3L/v7+aA6dyxL9/njqCCCAAAIIIIAAAgi0s8DGOz4v7994vvz+q08V93Xf\\n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\\nK3/HJcxLSfwsc1qMnr9Lzg/8i7vjXz9Uced9kZcccvNr4j76agIXI66uxX7npHfT73siev8UH3Lv\\nH/fBhoG7fhJ7/eEfRk9mqHg3v/vgSOFvPubW7+A3ueS8Pt7ef8S9Hmebu3t/xz4pfvW/3d30M6Wg\\nSX33vui87NI4Sa/rt+ur7/vRfH31XNgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEQoEwR2j7+ldk\\nrWtZbfPHhLFpfVnn9uerZ0ye4/25KtUbXWeluYf0tTJBP+TANe7Ym6DGYeXwpPFJbeUBGSv+HH7d\\nH67t1fosxkp/fFi3mLQ5w3j2ERjfAppwfs4ltjXBqncR73LJTd30MfIzXZJb71TX75jX/0wL7m5k\\njd/hEvJ6N/tBd8e6tul3yeud2trX7f5nU++kj+5s73UJa3ens94hHd4VrvO6x9JHd3drMl2/t909\\nRl52urn1Lmy961m/O13nnT8nLrvc3df6/2dqwlXn0zu3LUGr+8+6dejd9QNuTbZpIrfW9ejd3Xr3\\nu3vMerSezW49e9zd9FNcm95tPmVqfKe2zq1Jav0ggx5fP6hw0N057yijtev56J3eem56HiOx6XEX\\nLXTrcWvVu+X3u+S5mW10d7jr9TrgPpChRv5XA1Rbq563PvFAz1mv/zPupPW66R3xdt3muKS/Hn+C\\nM9DtiLtu+h7Z6d5janbQxR5yx17vxhbd+va4ufS9pk9jSNv07nt9fL6+f/Q9pu9LvSu+oOtxH+jQ\\n66Dno/Pvdi/32QDZ5NY3wcVrn2764QE12OTO/1l31/9ovr7xGfETAQQQQAABBBBAAAEEEEAAAQQQ\\nQAABBBBAYLiA+wNylIPU0v0ROXXT/qQtaYzFpvVZe7VjJh0vbEuaI6ktHFdpv9HxlebOrW80JOgV\\nshVbpeP4fX5d1+Xv+/VwzdZnZdjv72tM2iuM8/epI4BAKKB3rN90c/w4cFcvb+7O484/+T33XeiL\\npOOkk1yitVuK21wC3yWtC1f9c5zM3+ESpTr+G+5O5eVLRX7jgigZ3HnWC10y1CXJzzkneuz5wDve\\n7ZLWLhnqb+67wbs+5+68XrbEJWRdctg9nn7gbz4SPyZdE7+adJ3hErUL5knnn/5RdCd6h/t+dk3w\\nFn/5q2i+wsf/Lb6zXec95JK/9/2ilCR2ddvco9xrWo873+hDB+5DCwN//pfxuve683Rr7Ljo5SKL\\n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\\nyo1PiI+yhx9RtIDjIfsDjcOiuBc9pKQFCZUXPF/bBezLFycke+n5fJ0dkeANb4x7wV/XhLYrGLrz\\njnzbguse9PhGcxb5aI4rL7015/mpz0mAlvjcSerXedCijcqzn6OICXtCtlrvS0WLWzKJ83onsvf/\\nid6bnSFzZIqdO+RJvyuPzHD3PZonvT/ven99IYy+zfVrQ3j5S7Rn/Z5Q8XfobRVIEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgMFsCFhUQ42dLb4HqIdD3BrRf9iYqWm8aKNif73Z61mEMQWBpENAn\\ns1LCt49xi+j130tXJSZKbI73mxSW3XuqH5Nn76lT8gJW6PlGyd7BPiyGJ89pC9Hez35cgqwXAbju\\n6OncM9ie8g4BfkFCtgT6KM4fk6juOi63emUU2MP6EQmV8qRvJMb7i7eXsY9MddKvVXvOS+yM+e6L\\nvdy9H3qnyXUsoI6rLxZJ477y9X6dUaj/qho+dFQh+9XOsPrpdFALC46r/6c0vrOKNGAW7vNqte3F\\nCBJjoze5bS9U8jwe1by5b+XkZwuRVoqPw7RLlA5X9Y753uHbi/PVrB/9Og9+H7U9Q3AEiE2KxOBF\\nLVrcEd+JM+f0feg/Lw5pThxZIC6Q0dn3fmeP6xtz2RWyEfROu6wXpzR6/5txIx8CEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQSASsJVg/SOeX3+mz7TkmpyO/42TUB/VWc1EMCfjHTy9lDs5iCAARm\\nTcDC/FOfKDFRIvo/f01CtIRTpwsXQvbOP5RIOBSmUwj3SYnpFnUnLeT7Uy78jrHH+hmF7paYXdki\\nQV+ez9WXvlSh3k+E6c9/QeK7xOwHHsnrHpYAeexMqP2nX8uF/Kr+qXX47jF5Gdu++7BKIu4zb5bn\\n/N5Q+bZvzYVtC7vFZPHWwuVmiaBjOs5JBE2LB0br9jfLc/sHvlceyLtD9VU/WKzd+lph/avPe772\\nTD8Vpr9wbx454Iv3a/GA+nZBiw0uHQ+13/ztvP/DEuCdpvTMovy5uhDrsOX2eH7OLXEc1ZerH9u3\\n5WL1aYn8yylpgUX11a+O78H0Z/9Jr44WNpijRfpWqV/nQQJ9ZdOmOLLKD3xPHjngLz4aPejDqN7z\\ns5dC7Vd/49r773fFIe39/jvywrDE+Rv25O/tD79KERt26RvVIg8SBCAAAQhAAAIQgAAEIAABCEAA\\nAhCAAAQgAAEILDUCSfssiCZLrYv91R8E+vmZL7+o6WWdnxbm3/589Ru7EFhYAhLgo2f3lET3hw7q\\ny9GnOSVvXu8R7v3mfa8w8WFY/xxulfAevXiVZyE6iuH13zfeU35CAr730bbYaPHcguIGea3vl9Do\\nL35UorSf23u6pvr2NE+/rvy8qjr2PN4osd3ex/v2xtDe8TotEijTcTvb1C/va+4IAF484L5Z8Je4\\nngvqEkTtxdzpvuduw+N0H7xnvMKLx3RQ3s0Oze5oAB67PaE9Vh/uf1DfXW9YfbJX/RrVt/e9FhlE\\nG97T3kwiw9zksvnpefVWBp7/rVu117relUt+D9oI9P08D343vahE2wnEd2Sbxr1C39Jlbd/g9+eU\\nFrT43XEqvv8b9I54YYe/Gy0sCZv1fm/Qu2OGJAhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEOiU\\nQPzLfaeFZ1Eu2U9KxyxMUKURAQT6RlTIgwAEBoeAhL+hn/4piYWjYXrNnXmI9i/LU9xe7BbRLTDe\\nfJM82LeF6mt+LAr12afvzr18z0pgTB7rErMz7x+vUPAVh4ZfoX8+fchjfOiXfymE8+dD7a8/EkXz\\n7J7PyntaXsLycg8ORa9mwpDEx+3yON4wor3rb5XH8M5Q/f7b87D0dU/khtAleld/7mdiOP7ae96b\\nh88/NprbtfZrD/sNEvwdatxh6btJFkQVDWDoTT+v8Y6F2sc/lff/bo3/vET/gwod7wUBkx6AbK8X\\nK3v+75Oo6j3XX/yiOP7qd31XHuLeAvVyFOfN3ON2mHvvuf46vUcKuZ+9/ffzRQ5+3ir18zw4csAr\\nXxG/l9peLdRQRInsox/LF784nL23SKiJjd//HXr/R/T+3/qdkVP1ZS/LFzV4awSL/cv13Wn1bvAM\\nAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEBo4AAv3ATSkDggAEriNg4W/L5lz8s6e3Q96flfjs\\nPdftce77A/vyEPP75NFrwdv33jN+RJ6+9lZ3WiWPX3vaW2jM3cljdhQW7TEdPYJl3/vKH9gvgV71\\nLdg6pLdFfvejLtDPtLdDwqQ9zlt5DruexPzY7n71yzYdct52LdBL8A+bNT4Jn9GOIwbYo7mcnOdn\\n5VQXh4NCrQeP3/vJe/wxuoB+RVigt+e+xdP1dQZ1gT6W89i1uCGOv2i7236kut3W67Z8aqfZeS72\\nzMjvjwVnvzd+DyRgX5cGbR48Zr97XqziSAxe8HKDvgNHiRgSCy9Q8Xfm9zgK9Mo3lx1a5LJb77X5\\nuC4JAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEILBMCOgv63NOndpoVa7Rs3Je8b7ddXrezblY\\n1teN7pvlpfKdnJO616xso+fFPF/7sOpzU5Zlv6MzCQIQaEXAYcbjHvASzS2cTkzWQ7erkgXGKLxL\\nQLRY6HuHKXf5FN7dtp1v8dGCtsV43xeTy15yaG/bn8jrT+m6mCz+xvoSwS1YdhoO3vZsN9mfsas2\\nbc/9jvYk3rvfx0/m5YttR6G/7qlczE/X7n8a9+X6+N1mkYHb8rhty9cOke+zw/OXebjubPrRbb1u\\ny6fxNjvP1Z55OTqD7XiRg+ejmAZ1HuK4tejFi1Ec4t7jnvLYxSOl2b7/qT5nCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQiAQqlcr/rIsHdSicb3TnS3+Q9R9li9e+b5aXnnXyvFi20bWaie0Un5Xz\\nivfpejbnYp1W1+VnvndyH5ulVs+KdTotV6wzc11SmGbyu7no1Earco2elfOK9+2u0/NuzsWyvm50\\n3ywvle/kLDUr2m5WttHzYp6vfSDQCwIJAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAsuJAAL9dSJ7USwvXvuVKN83y0uvT6Py6Vnx3Gm5Yp2Zawu9pKVBIAn2S6M39AICEIAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEBgEAuiQS2gWEeiX0GQ06AofSwMoZEEAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAg0JoC82xLJ0MhHol85cdNITf1AkCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAokAGmIi0QdnBPo+mKQWXeRjawGHRxCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhAYQAJohH08qQj0fTx5dB0CEIAABCAAAQhAAAIQgAAEIAAB\\nCEAAAhCAAAQgAAEIQAACEIAABPqHAAJ9/8wVPYUABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCAAgT4mgEDfx5NH1yEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhA\\noH8IIND3z1zRUwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ6GMCCPR9PHl0\\nHQIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE+ofAiv7pKj2FAAQgAAEI1AlM\\nT4dw/GQIPhfT0FAIu3aE4PNCpiwL4coV9aem8+UQajpP6QjKT2lYfapqXdyaNXn/fK5U0tO5nRe7\\n/bn1ntoQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgWVDAIF+2Uw1A4UABCAwQAROnAzTb3hj\\nCEePXT+oPbvD0J13hKDzgqYr46F2zz0hnDoVsr/7ZAjnz6tvp0K4Wl9AsELi/O7tIWzcECq3vSiE\\n7dtD9fnPC2Ht2t50c7Hb780osAIBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQGHgCCPQDP8UM\\nEAIQgMAAErDwbXH+4OHHDi6J4o990vsce8qPjeXHoaMhaOFAOHQohHMXHivQT01EgT72eWIyhNNn\\n5GU/FcLISO5ZP5veLXb7s+kzdSAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACy5gAAn1/Tn6P\\nYiL35+DpNQQgAIElQ0DifO2P3hfCkaMh+9DfhXDhYh7i3qHufTj0vNPU1RAe1YKCoRMhe0SLCjaM\\nhNqDD4Wwd0+ovu61Eu435uW6/bnY7XfbX8pDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBALwmg\\nGfaS5gLZQqBfINA0AwEIQAACA0ZgQh7xl7TfvD35Dx0JYVQe8Zd1P6RfrQ5pv3VLvte8hz0tj/9z\\nCntv736fJ+U57zreg942Vq8OYdWq7gAtdvvd9ZbSEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg\\nAAEIiAACPa8BBCAAAQhAoFsCk5Mhe+DBEA4fCdmHPxHCcYW2v3IlF+R3bw1h545Q/aU3SaTXtdPp\\n06H2f/3feQj8Y6OxbPbJz4Wwa0fInndrCPv2hspTnxLCypV5+XY/F7v9dv3jOQQgAAEIQAACEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAg0JINA3xEImBCAAgWVIIIVjt1c3qTUB7/1+7lwIZ85q/3mFtbcX\\nvNOwPOe3bAphh4T5/ftC2FYX6NeuyfOmtPf8SdWxJ73rOCS+baxfl4fEz620/7nY7bfvISUgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBoQACBvgEUsiAAAQgsSwLyyo4peXEj1Dd/DeQtn33m\\n7hAOHs4951NJCe2VH3xlCAf2hcrjbghhnYR3p/XrQ+XfviqWz97+eyFM1FmPy8499+Tlb3l6CGsU\\n6r6TtNjtd9JHykAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIPAYAgj0j0FCBgQgMFAEvPe3\\nw4/7XExD8nTesS3fA9ye0H4+eTWEalVhyTfnocqHh0OwV7mFa3ssX5S3s8/2fnZ+8ji3LYvZq7WH\\nuK/Xrs3t2FZK06p35nS9HfdF9V3H5Xduz8+prNtwf04qFHqx38P6J9vli3ubuw/j2gvd5by3ues6\\nue0N66/1J4ntLu+9y92fS/XxTOk605EEerfj8j7bjgV7tzsykufnLVz/0+3PhXOy5v7Zs9z2HDI+\\nsfDzNH6J3TN9TfXanVv1T2Hm4/ja2Sg+d7/Mu8jcz83LXvM+/P6Ym5OvnXdZYyq+F8nOBrFNc5fX\\naP0z1Vus9lv3jqcQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQg0IYBA3wQM2RCAwIAQOHEy\\nTL/hjSEcPXb9gHbtDENv+69RfJ5+5+/m4vLXvxHCpo2h+uv/OYQ9u0LFIcol7GZfvT/fQ/yv7grh\\nrMT8g4clck+FMCUR2UL2JnlJr18bKt/2TIn+20P1Fd8ncXxD9JqOz93ymTNh+r/8et6PbxyXyK/F\\nAKv0T/Ce3WHoHW8LYfeuXLi1QO2FAEePh+lf+OUQjqlsUBsrJPTu2ZKX/6//e2wnDkhie+2f/jHa\\nze64Mw+X7gcbN4TKa/9tLF99yYuveXK7/L1fDOHUaMjuqo/nyCmNReMZ16Hmw5BEZre3TQsVRuQR\\n/p3PUnvaU/3lt+ciffKwdzspzZXzCrGI4vylUPvYx+Je7dnf6Hx+TCL4JbERg53bQti+NVR/+vUS\\n77XIwH3uNDXrn/nfeUfk1KmpWE5tZ9/4Zv4uFPshIT56zsuDPoryyajzbzigqayGzGJ9SrbzyKP5\\noo+infS82Xmx22/WL/IhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBoSUCKCAkCEIDAABOw\\nt7vFeYvqxWQxVKJtWCWx9OARCeEnQjikMvbeHh/PxV8L5S53+Ki82SVi+7n3Cz+oe3ubT9QF+jEJ\\n9OvWStCWJ/y48o/quW2sUrhye31bxLfH85jEZgv8h9XepOxaoHe6Um9vlTzwa1LI7eF+SaL0YfX7\\niGxZNffe5lflfW2x/qrqWsxOdi9cyPtlu6NnbDGPAuAw6vYcd3J59+mi7NrmCY33UZV3fzx2Rw+Y\\n0OFyVbVlgf6yxj8ib/W9u/RMtkbrEQC2yhM8eYbn1nOBeTacvVDBbUaPcPXlvMbicXhhgucljs0C\\nvRYNTGr8CgkfDil/SvXS2FIfWp2bvQeu42fdJvfZ8+bD1yl5TjyPPnydUrN81/W8+CjaSfWanRe7\\n/Wb9Ih8CEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGWBOrqUMsyPIQABCAweAQkBE+/43dz\\nEfWfvpSHHrdIbTHcYrEE8tqn5DmvMPPZ771HHvQS5i9LKLYoXAxxbw32lPJOj4Xs5Cdzj/zPflai\\n9p4w9JZfldf3jtyTftXKUHnGM0LYvDVkDx7KBW8L4he1B/mjB9VsLUTPa3vsP/SQxGktBpiSUB9d\\n2nW6qj4dl/g+vEb9kJjrBQL2ZLfQ/+DDeXlfpySBuPKtas+e3BaLFQa/9o/ytJc4n/22xm2x3SHu\\nHerehwXfJBBn9TGeVHuj50J2TAsZFFZ+2kL+Po3rZ39G49iUWmp9bsfZrN2uthmYfufvSZzX4oFP\\niZ8XElySGB+fqz9Oh9WPE2dC7Td/K8fixQWLlczstELc+/B1SlpIUNm4UREMdBRD2TvfURV8FPNd\\n94wWJazXUbST7DU7L3b7zfpFPgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAi0JINC3xMND\\nCEBgYAlMSxy38OzkfcEdsj4li8IWu+3FbVH6xKg8ueX9vlYe8RbF18pj3iHX7RVtcdle9hbtz0us\\ntUe1NGaHMg+nJYJ7X/q4J7080hU+P9qxh7qT67oti9E+fO/Dnvs+fJ2Sr92GD3tb28veffHe8TPl\\nde0FA/Zut+f+env263A/vbDg1CmJ/BqPwtuHs2fzPrrs9i15naFhVVY7Fv/djkTzyMEsfG+Pfvfd\\n7DpNrTjbhsd1WVELzNee/fae92IIj3FIY/A4NhU89l3eZd0fs1uspG5EDh6fr4vJTMsRBvy8Wb6j\\nCPjoJi12+930lbIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQjMEECgn0HBBQQgsKwI2Fv+\\ngUfyIUfP+froLfo6vLxCqWd/9AGJ8xK1x+TdvG5NqNz+Yu0VvzNUb78934vd+6ZLvM4e+Nco5Nfe\\nLs907TVvb/owlYXan/5ZCPv3herrf0JC/erco32LPOhX/fk11BLDs4cfVPkroXLTjdGLOnvo4es9\\n4pPHtcX4yYmQPfINCbpToXLzU+PigOxh3UePewnpFoF3StDesyNUtG98SOHoNabsQx/Jy3l8trlB\\n4v2ObaH6H34hevpXtB+7hfzsa1/XIoPjofa2d+RiuXvr0P33KtKAxX1fd5qacU71r1wJtc/cLc5a\\nLPGpz+Uh+r34wOPYrXEoAkH1zerfVi0iyLTQ4Mxp9evt+bxclLAvnX5xkhTySc+HjqJC78UQfi98\\n+DolX3vveR/FfC84SHZ83XEq1FuU9jvuKAUhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhAo\\nEECgL8DgEgIQWGYELJRaCN68WWcJ1lX9k7hV1zWpvlMSoc/KI/6cxPluPLWtsdpb3V7oFvcdXt73\\nFsRHRiSK67B463sL7tEjXG14r3Vflz3i7amv8PgxWbh2aHML7D7cL+9Zf0lCtQ9f2+76tflhMdjj\\nSymNY5PCrPt6i8LU79yuRQR7Q9i1U4L4rtyT+6S87O3VblspuV+X1b4PX3eTGnF2u44u4GcOt29W\\njiLgCAROw+q352LntrjIIWyTWG8+jmKwQ3W9B71D/neq0K+QPS9AKCfn+dlsUpwv9amcPCYf5dQs\\nv5mdcv3yfbN6zdpplt/MTrk97iEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEJgzAQT6OSPE\\nAAQg0JcELHrf8uQoUFd//N9JrN6c7x2uUOO1+7+ah7e3p/iUxHVrsNoPPbvrE1HMnf7AXRKv6yKs\\nxc1iiHsL6M6bkGf8l+/LQ8nrOmwZDpUbHifBXKL5FgnkFyXIj0kEtwf9Aw/LK13Ct0V9CefZQ9+4\\n5hG/UuWf9qQc8X3ybFdb2SOPSEifDJVvuTkPdX/oWAg+HCZ93Vrtdf+0+t7zdWHftdcqAsCLX6Aw\\n/Gq37qFe2bdPe6VvCJVbVH7NmjxfHu3ZqLzkfXhhQUoaUgwr79Dyvu40NePs8PwW6RVxoPbpz6j/\\nRyTOa6uBlEbWh+qPvDqOo/KEx6v/WnTgpL3dq6/78cin9htvU58t0neQ5Ik/9K47rh+Tq8WIAzs6\\nMNBFkWZCeLP8Lkx3VLRZO83yOzJKIQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABHpBAIG+\\nFxSxAQEI9B8BC7O7JMzulQe1PcgdQl3ibxSJ/+XLEszlyW0vc4vtTr62h7eTverbJZe/LBs+fO1k\\nsd1e42vqxyU/k/2LY/nh6+gRr3bsIe+mvQ/7Vnm6O3n/d/fHe86PqY4XBtiT3AsAvE+8y9vrfZPK\\n+yh6wHu827fnQry94y3Wuh+OHHBGe76vkL0x2XW7Djd/WsJ36ndsXD/cduKR8tqdm3F2fgwDr/a9\\np7wXDnhxQ0qxv/Ke367DYr7vnXztPHvap7z8SeufLuu57mmyl7yPUkqczLiYUn4xz9ezFs4Xu/3y\\nQLiHAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECgHQEE+naEeA4BCAwmAYWaj3vDH9gXKvv3\\n53uDWzC2F/txhXj3YY/02SaLsd4j3UdR1LbA/HR5vstzPfz9vXl79pi3wB496FXvm4dyj3Ir7hvX\\nh8qLXhhtZF/4igR/ebg/9JCE9DGdH4n34Yq876Onv8orpH7lmd9a96CXAJ+SPOSrtqP6tS+qXXuu\\nf/zTeWj9w0dzkf+cxHl7zVvwt6e8Bfu5pmaci3aPKry9j6LHvsLzV57y5HwcDtWfkvNvfKLmS6Hu\\ni/np+YKdJY6v0uICH+NeWCD2KcWFE5pPb2+Qkt8Bv08+iu+DxfmVsuGjLOinug3Pi91+w06RCQEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQBsCCPRtAPEYAhAYUAL2qN4ir3kfFlKL3ub2SvdR\\nTC6/TWW9X7n3qpc+2jJF4VVlFVr9Ok9vt2Nx3oevLdZaYLenvUPP24PeofUt2FuAXi0hWuH3Z/aX\\nj3vUS/Qfk5huz3vXtae77Tjsvvu3QbZ9FMfkzrqcBWJHADh9LoRTEsXPn8895i0qT8pGRX2yl7+9\\n2e2lHyw+zyG14myzLYVrLWbwgoaicB25ioujERTz59DFWVX1/HtsPioW3etWPB5zTnNS7KMXIBQX\\nIaSGvTDERzdpsdvvpq+UhQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYIZAl4rATD0uIAAB\\nCPQ3AYnXlc0Svn2UhewoSpeEaYnz1be+JYZJr2xTiPVOBFWLsxZwdyi0fErak73yrc+Q6L41ZJ/8\\nXB5S/qw81VeeDdlX5CFvodd700/r4nG7YnvVm58aBfvpYYnV9pT/5sEonmdf/9fc093iuttaJdF6\\nvfagf/KT8rD9RQ9zha6v3fXhEI4cDdl7/zyEsxLmJ7Tnu/u3X+1s3hgqt90WFwNUn3yTPOzPhelf\\n/BVFElC4+7mklpxtWP3WkOIRVz0kpVt5SQB3saWW/M5s0pYIDs8/PipB3oNQkjCfXdACCB0VLy7w\\nGFK+Fzz4sHifkrcY2KLFFD583Wla7PY77SflIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ\\nuI4AAv11OLiBAASWFYFmArD3ffdRTC67Rfu6b98qQXtfY4HeHvD2oC6mJNKnvCisys4FifJJkLVg\\ne1Ui++iZvFQKrb9ubQgj67VXvLzoXc+Cu8/jaueSxPVzEtnt6e769p6P+9urrM9lz3N7bjts/5Fj\\n8pyXoHxeQrHTWpX33vQ7tOjgwN58wcKe3Rqf2kricl5y9j+bcU4WV2hMPsre5Q7578NjScl8U36Z\\ndSqzEGfPq+fFh69Tcp/8HpTfhWb5rusoCT6KdpK9ZufFbr9Zv8iHAAQgAAEIQAACEIAABCAAAQhA\\nAAIQgAAEIAABCECgJYGSAtWyLA8hAAEIDD4Bi8nbJVZfUcj5okAt0Tw7eEjjz0JltwXs0j+f2rc9\\nu/9+iefjIXPYeemulbUS2CW8Vp76lGsis8LpV5/2LQpBvzFMr9bzikLNZxLPL10OtY98NOer6yBv\\n+cqT5Ml+QIsBNiu0/mXlbR3RWaK8Pe7Hp0N27xdyj3sL9g75fnO9vEXjYt9tVTazv/l4CAcPx+u8\\nIf3ctCkMvflNuce9hXql7OzZxwrM8ck8/PAiha3yRL+kBQMntEDhat0TXVEBsocelhg/ESrfcvM1\\nfs5/4MF8HI4csFhJiyUqNx7QPFVDduTktS0RvLjikBhbs9+x49p74vfn0YN5v9MCDPfddp5wQz7P\\nxYgH7ca12O236x/PIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQaEigpDA1LEMmBCAAgeVD\\nwB7q69flh8VjC612ird392kJyPZqlwgfBXCL9PaMviJvdgvoh+WdbnHdoeNtx6HwbasY0jx6Pq+R\\n57rsOCT9StmYkAe87ScPel8PK3+9vOd9eF95C+5r5Blv7/hMYrZF3rMKpe5k+y5T3Ns+f3Ltp/e2\\nH5Ow78PXKbk/bmNE4v8a9cttn5dde+cX+53K9/pc5H1KixXyWPd5P+zp78UG9kZ3OffV3vPO9+G+\\ndppc1uH6y3XMdZeE9PKChnZ2/W5sVCSEjeKZIiG4jiManDktpmI5qQUESXR3v/3++Cj2weNyqHwf\\nvu60n/PVfrtx8xwCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIE5EUCgnxM+KkMAAgNHQB7u\\nlWc/J4Sde0K2+n0ShSVW28Ndwnb2/j8JYffOkNnTfOcOedJr73YJr7W77wnh6PGQvev9dWFbArj2\\ngg8vf4n2kN8TKrc8PQ9hblgWmS3OW0y/Ud7x0ujDQ4dyMferD+U4LexKMK886Yl1z2qFeB9W3o2P\\ny4X7UxLP7TV//zeuldfCgbi3vT3uNYbHJvVpUqK+j7jioF7C/b/vK+r32VB1P7XYoPbBP5MX+JEQ\\nLkp8nu+kBQeVf/OsEPbsCtkxie4eu5P2dq+9V/z37g7VHeK9TVsLWMAePZ3nO1S/Fxt0mk6cDNNv\\neKPmSfWKSeH8h+68Q+3vLua2v169JlSed2v0iM8+8Tn15VJe59JF8fvLEPbtCdUnPEHRAdRvJy0o\\nyP70g/kWAxfrZZ2vRRGV5z0/n2cvkOi0n/PVvvtEggAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQhAYN4IINDPG1oMQwACfUnAInDa+32TRHSL1BKLo2fzGXl4e296hzC3R3QUvHX2vQT6cPxUXtb7\\nqQd5UrusPagtyheT7+2x7f3lfbhNe+KPy1ZMuvae8utH8sPXPtbJG9+Hr+Oe5sXysqFw9fGwvcck\\n1XEYfB/jFsHVhpNDyh9T332/SaH0HR3gmETsUxqLvcEbJXt5++jW67yRLdvwgocYpl8LEXxfk20f\\np+RtXtX9YS0WuKx+eVhnlHfytM6aC5fpNHmcFucd4r+cUlj9cn6re3uwm7fF9g2aQ0dQcCSF6EGv\\nLQLM+dDRvN+ORHBafXa/T9f77Tlco4UajlywdbO2MZAtz1un/Zyv9luNmWcQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQjMmYDUIxIEIAABCMwQkEhasfCqVPmB78k9pP/io7m39qi86c9eCrVf\\n/Y1cSK7qn9AolEuYtbBqj27tSR5u2JN7fv/wqxQ+XV72FtXLaZX2mP/WW0LYsiVkX/9GLlAn0dxx\\n9VfKs/ymJ+ae1SslXGtBQOUJj1co++GQ3fMFWVObqbwFf+11X32G7DXzoLdg/FTZW6eQ8f/8tXp7\\nMnHhQsje+YcxRP508ryflBju8URvdtlO7ejKwnxmkVwRAirq+5xFekUTqN7+vVE8n/7EZ9QPtTGq\\nCAFRqB6VR/nZUHvzf87byep9mazzLobqd98WMmlOKk99StxnvvKyF9Y96T9b3+rghBZrjIbam/7j\\nNT5e0OBtAzwuXzviwW3ywNd8pfcgeJ47TYvdfqf9pBwEIAABCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQhAAALXEbAUQoIABCAAgSIBe3FbLHXYcwvwDq8uYTxclre0PaTt2e18J2vG9vK29/MGCfESysP+\\nXKAPmyVgb9iQP4uFCz9c3gsBLkjU93VKyZ73t/f+67ZnAd5l1stT28d15fVs2P1VeS8EcPj8sse+\\nbXuPeoXlD1Pynn/oYF5mSh74FrktHLvOKo1xWHa2qt/RhvIsJkdP+vp4457wEvDtLZ4YpL7P5uyx\\n2It8k+wpnH1cDDCuNifUtymF8Z/S9Ql587s/HoP75z3jdRss2Lt/xbRWYeLtnb4QyQsaHG1h5j0R\\ntwtiaDYW4k+q33Vssf/2end0hRHN+waN+YDfEy3gWKt5S4sjuun3YrffTV8pCwEIQAACEIAABCAA\\nAQhAAAIQgAAEIAABCEAAAhCAQCQgpYMEAQhAAAKPISAhvPrKV0Sv+NrevRKJT4Tsox/LxWyHs5/S\\nXu41CcEWXXdIcJXIXLn1O6MIXn3ZyyQ4b8wFcYv9jQRziauVZz5TYvj2kK36wLXmY8h317WIK3Hf\\norvrK1R+5cYbdV4VMofNT8mi9d6dWhQgcdvC+kbVLQr4qZxsDf30T8W90KfX3CkPb3l5f/n+3JPe\\noeK9IOHmmzSWbaH6mh+LQnj26bvzqABntSAhhbuXIJ055LxC4Vccmt4LCeaSPDYvQvBe8P+bPOVH\\n5Xn+R++Pe7Fn/3yfxG4tBpjSogi3c4PE7O3q3xtel/fvbzUfl7Roopi857sXESxU0rxXf+LHxWks\\n1J74xLzfH/9E/p4cUwSAq3pPnNz/Pdvie1F56Uvz9+SlL8kXJ3ibg9mmxW5/tv2mHgQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEBgmRKYo7KyTKkxbAhAoH8IWMC2h3M5Oc/PmiULx/bstrC6V57O\\nFrBvkFC/UWLqkARyC6/2PregHgV65R/Yr2uJ1rslmNvTvZV4nTziLeTvk13bd3Kftkucd/8clj6J\\n7e6Pbbq8+5M8ru1Rvk/tlcvn1q79dD+3bM7F/v1uT7bPXohCexyH7x0e3/3fJ/teBOB7Cc9hRIsE\\nkqf6Konf9rT3woToxl5vYracXd1jMyt7+Cv0f0j98z7zFugnxNrjtMe5BPrYP0c0uEH98x7wxWQ+\\nQypbTnPpX9lW8d7z40UR5uV+r3b/1S8vrtBiiuhJ7/KxfY3P/Tugcl7c4AUVa+TxX0zd9rPX7Rf7\\nwjUEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAI9JyBVZM6pUxutyjV6Vs4r3re7Ts+7ORfL\\n+rrRfbO8VL6Tc1K1ymUb5Zfz0r1VRSlm4UlZlr1tzjOIAQgMMgELy8dPXhOY01gtWDtUus+tksO4\\ny1s8epA7xH1N3tz26J6JXa5Li6oWSldLkLW95PXeyq6fOdy8+3f67PX9sz3bcWj9Yv+0D30sb+E6\\nCea24/D2LtduT3j33YdFd9d3GHmPT/8fRfIovMuOFwJYNHeodpePZVyoXs6LCeJ4Jda7nNNcOdvG\\nTP8U9j/2b+Ja21HEr3Ox+O2U+pff5T/dLz/3uZh60b+ivfK1Gbk/bif1y+H5Z5I4DatP7tcahcX3\\nAgeL84lfKjfbfvaq/dQPzhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEILBkCVQqlV9U5x7QYS82\\n/zHaf8RP4oWvG903y2uVn2y1O6vJ2GaxXDmveJ+uZ3Mu1ml1XX7meyf3sVlq9axYp9NyxToz13Vl\\nZeZ+Nhed2mhVrtGzcl7xvt11et7NuVjW143um+Wl8p2crRo1Ktcov5yX7qVSIdDP5mWlDgQgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAT6mQAC/XUie1EsL157isv3zfLS69CofHpWPHda\\nrlhn5toOeMGEAABAAElEQVSCLwkCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA\\nBCAAgXkmgEA/z4AxDwEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEDABBHre\\nAwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMACEECgXwDINAEBCEAAAhCA\\nAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBAoOcdgAAEIAABCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCCwAAQT6BYBMExCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB\\nCEAAAhCAAAQgAAEEet4BCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwAIQ\\nQKBfAMg0AQEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEECg5x2AAAQgAAEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEILAABBPoFgEwTEIAABCAAAQhAAAIQgAAE\\nIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQR63gEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCA\\nAAQgAAEIQAACEIDAAhBAoF8AyDQBAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhA\\nAAIQQKDnHYAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgsAAEE+gWATBMQ\\ngAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABBHreAQhAAAIQgAAEIAABCEAA\\nAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMACEECgXwDINAEBCEAAAhCAAAQgAAEIQAACEIAABCAA\\nAQhAAAIQgAAEIAABCEAAAhBAoOcdgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE\\nIAABCCwAAQT6BYBMExCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEEet4B\\nCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwAIQQKBfAMg0AQEIQAACEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEECg5x2AAAQgAAEIQAACEIAABCAAAQhAAAIQ\\ngAAEIAABCEAAAhCAAAQgAAEILAABBPoFgEwTEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI\\nQAACEIAABCAAAQR63gEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAAhBA\\noF8AyDQBAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQQKDnHYAABCAAAQhA\\nAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgsAAEE+gWATBMQgAAEIAABCEAAAhCAAAQg\\nAAEIQAACEIAABCAAAQhAAAIQgAAEIAABBHreAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA\\nBCAAAQhAAAIQgMACEECgXwDINAEBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA\\nAhBAoOcdgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCCwAAQT6BYBMExCA\\nAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEEet4BCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwAIQQKBfAMg0AQEIQAACEIAABCAAAQhAAAIQgAAEIAAB\\nCEAAAhCAAAQgAAEIQAACEECg5x2AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg\\nAAEILAABBPoFgEwTEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQR63gEI\\nQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAAhBYsQBt0AQEIACBeScwHabD\\nqP7P51ZpKAyFbfo/n0kQgAAEIAABCEAAAhCAAARmQ4D//TEbatRZLgT4PpbLTDPO2RDg+5gNNeos\\nFwJ8H8tlphknBCBgAgj0vAcQgMBAEBgNp8Oba78cToSTLcezM+wIv1X9b8FnEgQgAAEIQAACEIAA\\nBCAAgdkQ4H9/zIYadZYLAb6P5TLTjHM2BPg+ZkONOsuFAN/HcplpxgkBCJgAAj3vAQQgMBAEpsPV\\nKM4fDUfbjsdlSRCAAAQgAAEIQAACEIAABGZLgP/9MVty1FsOBPg+lsMsM8bZEuD7mC056i0HAnwf\\ny2GWGSMEIJAIsAd9IsEZAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMI8E\\nEOjnES6mIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAokAAn0iwRkCEIAA\\nBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAwjwQQ6OcRLqYhAAEIQAACEIAABCAA\\nAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiQACfSLBGQIQgAAEIAABCEAAAhCAAAQgAAEIQAAC\\nEIAABCAAAQhAAAIQgAAEIDCPBBDo5xEupiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA\\nBCAAAQhAAAKJAAJ9IsEZAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMI8E\\nVsyjbUxDAAIQgAAEILAECExPT4djx44FnxuloaGhsHv37uAzCQLLjQDfx3KbccbbDQG+j25oURYC\\nEIAABCAAAQhAAAIQgAAEIAABCHRGAIG+M06UggAEIAABCPQtAYvzP/qjPxoOHz7ccAz79u0Lf/zH\\nfxx8JkFguRHg+1huM854uyHA99ENLcpCAAIQgAAEIAABCEAAAhCAAAQgAIHOCCDQd8aJUhCAwBIj\\nUPboOjF0IkzvlHdwGwdg1zt89HCo6f/wGF5ik0p3ekag/H1YmH/00UebCvQu7+c+O+FR37OpwNAS\\nJMD3sQQnhS4tGQJ8H0tmKujIEiRQ/j743x9LcJLo0qIR4PtYNPQ03AcE+D76YJLo4qIR4PtYNPQ0\\nDAEILAEClR70oVMbrco1elbOK963u07PuzkXy/q60X2zvFS+k3O1brtctlF+OS/dW4Jcp+NJWZa9\\nTWcSBJYdAQuORY/g6r5qWPm+dcHnVql2uBYmX3Mp7NH/4THcihTP+plA+fso/w+e8tjKgjwe9WVC\\n3A8SAb6PQZpNxtJrAnwfvSaKvUEiUP4++N8fgzS7jGWuBPg+5kqQ+oNMgO9jkGeXsc2VAN/HXAlS\\nf7kTqFQqvygGD+i4pMOeV5mOWv3s60b3zfJa5Sdb7c5qMrZZLFfOK96n69mci3VaXZef+d7JfWyW\\nWj0r1um0XLHOzDUe9DMouIAABJYygbLA6P+AK3oED4fhcMP0E0NV/9cq2Y7rTk1P4THcChTP+opA\\nu++j3WDSd5HK+R6P+kSDc78T4Pvo9xmk//NJgO9jPuliez4JTE1NhVqtFsYvjActWg+rRlaFalUL\\ndleuDPojVU+abvd98L8/eoIZI31KgO+jTyeObi8IAb6PBcFMI31KgO+jTyeObkMAAvNCAIF+XrBi\\nFAIQ6DWB8h6o6T/oZttOsmfPYSc8hmdLknpLgUB6n734xInvYynMCn1YKgT4PpbKTNCPpUiA72Mp\\nzkp/98n/DeJksdzp6tWr8Zx+JPE8PU/3qV4qV36e8n22zUOHDoXzo+fDJ979qfjfPc/8/meEjds2\\nhqc//elh1apVxeLx2iK+k0X9Ykrtp/bS2WX4PoqkuIbA9QT4Pq7nwR0EigT4Poo0uIbA9QT4Pq7n\\nwR0EILC8CSDQL+/5Z/QQWPIEktBob96ix/xcO267Scy0Ld/bvhN700cM/OgDAnwffTBJdHHRCPB9\\nLBp6Gu4DAnwffTBJfdLFycnJ6ME+OZl7tE9PXg2ZNPAhR7XSeWpSgn0UxyWQy7E9RruSh3t1uB71\\nKjq7Z+FqrS7kO1t5K4aGc0943Vdmdp/Lodh7/sLZsXD+9Fi4dORi/O/4c0cvhEwmzu+9EFatLgn0\\narrmfqg/tSn9iF1RI27bh9tYWQ2VaiWsXDscx3Pu3Llw8OBB/vdHjpyfEJghwO+PGRRcQOAxBPg+\\nHoOEDAjMEOD7mEHBBQQgAIEZAgj0Myi4gAAEliKBtLLS4rmv5yuldm644Qb2pp8vyNjtOYH03vJ9\\n9BwtBgeAAN/HAEwiQ5g3Anwf84Z22Ri2J7qF8ocffjhcvHgxPPj1B8OVi1fCuUNjIRsPYeW5tSFM\\nShA/OSHhXKK4DwvzaxSCfsVQGN4kEb2ahfHKWKhVroYr1StW9cPw+hWhuqIa1o6MhOpQNaxYlQv1\\nyQPe4n+tloXLly+HcKES9v7rvpBNZuGBS4dCNqLzFx4K1VWVuEjASrzXBvj5lUcVCv9yFlYc0RRJ\\nyB/K1JjE+avrVGClFuvunworNqwI+759XxgbHwt3vOP/DadOnQrHjx+ftzlN3yH/+2PeEGN4Hgik\\n95b//TEPcDHZ9wT4Pvp+ChnAPBLg+5hHuJiGAAT6lgACfd9OHR2HwGATmK+Vlc2oub3kUY8nfTNK\\n5C8VAnwfS2Um6MdSJMD3sRRnhT4tFQJ8H0tlJvqzHxbJJyYmQm26FibPTYap8alw5ciVMDE2EaaP\\nTIfaJannFsAndJyrn0d1tnO8xProrb5O5xVZmLooT/uhWrhSuazHU+Hyisshk2C/cv1wGJKAn41U\\n43l4WOq595Sv5GK7veDdj6mJq2HosgT8iWHZroRV54blJS+x/ajK2oFe5ewpn6lezHe/tAYgOypT\\n7o+ezfRHTXhxQHZRXd01FcavXAknDp4Mo2dOhat2y5+nxP/+mCewmJ0XAvz+mBesGB0QAnwfAzKR\\nDGNeCPB9zAtWjEIAAgNCAIF+QCaSYUBg0Ags1MrKMrfULp4sZTLcLyUC6T2db8+V8phTu3wfZTLc\\nLyUC6T3l+1hKs0JflgoBvo+lMhP92Y/JicnwpS99KVw4PhYe/v++GbKzWXj8xOPCumxteG7l+WFl\\ntjKsnJbHe6ag9FeleDtJzI9CeD3qvMVx7yF/7MpJ6eXj4ejQwTCRTYQztXPSzGth5YrhUK1Uw5rq\\nuniWxTzUvWw6Wau3uF7T/2X/P3t3HiNXth6G/dTaG9fZOOTwie/pjZ5sS97iJV5kRbJhW4oTBAgE\\nh5IBOwhgB4liQECCxE6c/BEEAWIgjmJkgSMjQTaLiJ0/nCCwAys28iw7lgRLlmwt1tvEN5zhkDPc\\nu9ndteb7bnVxenq4dDe72Leqf6enum7dusu5v1Nnupvf/c6JTPqtOEq30ynft/G9ZWVzpZz62ci8\\nb06Gz88Y/CiHzs+FfuwbVWmuZiQ+q5RB/1yMlflfDNQ1+HBY7n4lsub7H5Yvbr9bVjur5Zv967Fr\\nv7opII4ykzLtl36/mgmvgx6RwPRz6verIwJ1mIUS0D8WqjldzBEL6B9HDOpwBAgslIAA/UI1p4sh\\nMP8Cr/rOyr1ieX6Z9HtVvK6LgP5Rl5ZQjzoK6B91bBV1qouA/lGXlpjveuSw9g9j3veHt2NY+puj\\n0rzbLJ1xp3QbS+VM51RZai5FOH05pnSPIebjMYpM915kyGdZLqtVcH07x7+PMmz0I3N+uwxaw8hS\\nH5ZePzLz46vKno99B4NeHCdnso9h8eNRRq38Hsn38RzB+lZpV0Hz7fFk0vpm3hQwinPGXPOZNT/O\\naHycf5iB+XhvNdLqm/EVE80/CczHVlHHOHoE7DvbecRRWemtlNXhajkfX5vNx3EDwftlGPXLPjSr\\nksf298esdB33ZQX8/HhZQfsvsoD+scit69peVkD/eFlB+xMgcBIEBOhPQiu7RgJzJHBcd1buJZrW\\nQybLXhmvj1Ng+rl81Zkre695Wg/9Y6+M18cpMP1c6h/H2QrOXVcB/aOuLTNf9eo97pdf/omvltEH\\no/Iv9f+FcqZ7OoLz3Srw3R63I4AewfQMgEcZR1B7a/y4/OTm369ef/fK76u2+/n+L5S77bvl773z\\n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\\nCBAgQIAAAQIECBAgQIAAAQIECBDYLdDe/cIyAQIECBAgQIAAAQIECBAgQIDA8wWGw2G5efNmyefn\\nlVarVS5evFjyWSFAgAABAgQIECBAgAABAikgQO9zQIAAAQIECBAgQIAAAQIECBA4gEAG569evVpu\\n3Ljx3L0uX75crl27VvJZIUCAAAECBAgQIECAAAECKSBA73NAgAABAgQIECBAgAABAgQIEDiAQGbO\\nZ3D++vXrL9zrRVn2LzyADQgQIECAAAECBAgQIEBgoQTMQb9QzeliCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBhRIQ\\noF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0MAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoqIEBf\\n15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBAv1DN\\n6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6uLaNe\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgo\\nAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrTxRAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrgIC\\n9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0IECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFACAvQL\\n1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo69oy\\n6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB\\nhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6BeqOV0M\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOoq\\nIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAnUVEKCva8uoFwECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgslIAA/UI1p4shQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboKCNDXtWXUiwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWSkCAfqGa08UQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAQF0FBOjr2jLqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQILJSBA\\nv1DN6WIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4CAvR1bRn1IkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIGFEhCgX6jmdDEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgUFcBAfq6tox6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBCCQjQL1RzuhgCBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKuAAH1dW0a9CBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQGChBAToF6o5XQwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1FVAgL6u\\nLaNeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBQAgL0C9WcLoYAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIE6iogQF/XllEvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFgoAQH6hWpOF0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRUQoK9ry6gXAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyUgAD9QjWniyFAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgACBugoI0Ne1ZdSLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZKQIB+oZrT\\nxRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXQUE6OvaMupFgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgslIEC/UM3pYggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nrgIC9HVtGfUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYUSEKBfqOZ0MQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBQVwEB+rq2jHoRIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwEIJCNAvVHO6GAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoq4AAfV1bRr0I\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYKEEBOgXqjldDAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAjUVUCAvq4to14ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFAC\\nAvQL1ZwuhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKiBAX9eWUS8CBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQWCgBAfqFak4XQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJ1FRCgr2vLqBcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJSAAP1CNaeLIUCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CgjQ17Vl1IsAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEFkpAgH6hmtPFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBdBQTo\\n69oy6kWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECCyUgQL9QzeliCBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQKCuAgL0dW0Z9SJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngACBhRIQoF+o5nQxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBXAQH6uraMehEgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAQgkI0C9Uc7oYAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEKirgAB9XVtGvQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgoQQE6Beq\\nOV0MAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRVQIC+ri2jXgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECCwUAIC9AvVnC6GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBOoqIEBf15ZRLwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYKAEB+oVqThdDgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAnUVaNe1YupFgACBAwm0Sulc7pT8el7JbUpsqxAgQIAA\\n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\\nDFN/9sw4q35z60mAPg5px5QZ8zczQB/Z8y++OH7n/O1bpVy6VMq5WNfOnRQCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAIE6CAjQ16EV1IEAAQLTAplJ//JnIuj+Uum88kq8hz7eMd+Nd8wP4p3z+b75\\nLDmsfQbyM0M+5/nu+RwiP99Rn4F5wfmxk/8SIECAAAECBAgQIECAAAECBAgQIECAAAECBGoiIEBf\\nk4ZQDQIECHyNwNqToekzi36y9CJQnyWD8VkyOK8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAjU\\nXkCAvvZNpIIECBCYEshh7RUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCXg5ceOaTIUJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/E\\nVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\ngcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSY\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkC\\nAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3j\\nmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNn\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ\\nCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRN\\nbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3rslUmAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyF\\nCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoo\\nIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGicgAB945pMhQkQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJCNA3\\nrslUmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCBA38RWU2cCBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQaJyAAH3jmkyFCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQKCJAgL0TWw1dSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgkI0DeuyVSYAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBJooIEDfxFZTZwIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBonIAAfeOaTIUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCAvRNbDV1\\nJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHGCQjQN67JVJgAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIEmiggQN/EVlNnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGic\\ngAB945pMhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgiQIC9E1sNXUmQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJrDSuxipMgACBnQQ6pazeXi35v71K7lNiX4XAUgnoH0vV\\n3G6WAAECBAgQIECAAAECBGoq4PfzmjaMahEgQIAAgcUKCNAv1tvVCBA4JoGV51fLCz/7cim9vQP0\\nL6zcKrmvQmCZBPSPZWpt90qAAAECBAgQIECAAAECdRXw+3ldW0a9CBAgQIDAYgUE6Bfr7WoECByT\\nQCv+NFt5Yf8M+pXIsG95uccxtYLT1lVA/6hry6gXAQIECBAgQIAAAQIECCyTgN/Pl6m13SsBAgQI\\nENhdQJhqdxtbCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AQE6OdG6UQECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB3AQH63W1sIUCAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECcxMQoJ8bpRMRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHdBQTod7ex\\nhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzE1AgH5ulE5EgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgR2FxCg393GFgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nMDcBAfq5UToRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYXUCAfncbWwgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwNwEVuZ2JiciQIDAAgX6/X65d+9eyXmW+537pX8jljt7\\nVyL3v/vm3TKI/928ebN0OvscsPfpbCVQSwH9o5bNolI1EZjuH3fv3n36s2SvKo5+fsS++XPDz4+9\\npGxrsoD+0eTWU/fjFtA/jlvY+ZssoH80ufXU/bgFpvuHf786bnHnb5LAdP/w+3mTWk9dCRA4qkDr\\n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\\n+vNu66om3Wn/atvkfNb9Jo95uiyD/imFBQIEmiQw/cTlalktncE4m36v+6iOywC9QuC0ClTf8+r+\\n9I9KwpzA12bUp0n2mf1K1a8ms/H3O8Z2Ak0TqL7nk/XWPyY1LC+zgP6xzK3v3vcT0D/2E7J9mQWm\\n+4ffz5f52+DepwWm+0duz3X7leo4v5/vJ2U7AQJ1FsiMbIUAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBA4ZgEB+mMGdnoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJACAvS+\\nBwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYAECAvQLQHYJAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECAgQO87QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFiAg\\nQL8AZJcgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIC9L4DBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIEBgAQIC9AtAdgkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nICBA7ztAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWICBAvwBklyBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgL0vgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQGABAisLuIZLECBA4NgFhr1Seve6pdvr7nmt3kq3DG/GLv7029PJxtMloH+crvZ0NwQIECBAgAAB\\nAgQIECDQTAG/nzez3dSaAAECBAjMW0CIat6izkeAwIkI9N7qljd+4E65c/fO3te/3S291yKIf3vv\\n3WxtPEQeAABAAElEQVQlcJoE9I/T1JruhQABAgQIECBAgAABAgSaKuD386a2nHoTIECAAIH5CgjQ\\nz9fT2QgQOCmBfindu5FBf2fvDPrYo5TYVyGwVAL6x1I1t5slQIAAAQIECBAgQIAAgZoK+P28pg2j\\nWgQIECBAYLEC3kG/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI\\n0C/W29UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECSyogQL+kDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nD\\nu20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nYgUE6Bfr7WoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgACBJRUQoF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTo\\nl7Th3TYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgsQIC9Iv1djUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDAkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1d\\njQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCk\\nAgL0S9rwbpsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECCwWAEB+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+\\nsd6uRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nEFhSAQH6JW14t02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+st6sRIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAwJIKCNAvacO7bQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBBYrIAA/WK9XY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgH5JG95t\\nEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiBQToF+vtagQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECCwpAIC9Eva8G6bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBYr\\nIEC/WG9XI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFRCgX9KGd9sECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgsFgBAfrFersaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECCypgAD9kja82yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxQoI0C/W29UIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBOiXtOHdNgECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgsVkCAfrHerkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSyogQL+k\\nDe+2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCxAgL0i/V2NQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBBYUgEB+iVteLdNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAosVEKBfrLerESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCSCgjQL2nDu20CBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQWKyAAP1ivV2NAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBJZUQIB+SRvebRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgUE6Bfr7WoE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsKQCAvRL2vBumwABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQWKyBAv1hvVyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQ\\noF/ShnfbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBYAQH6xXq7GgECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgsqYAA/ZI2vNsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgcUKCNAv1tvVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQTol7Th3TYBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILFZAgH6x3q5GgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAksqIEC/pA3vtgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgsQIC9Iv1\\ndjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAfolbXi3TYAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQKLFRCgX6y3qxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nkgoI0C9pw7ttAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFisgAD9Yr1djQABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSWVECAfkkb3m0TIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAwGIFBOgX6+1qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCkAgL0S9rwbpsA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEFisgQL9Yb1cjQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgSUVEKBf0oZ32wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwWAEB\\n+sV6uxoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKmAAP2SNrzbJkCAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAIHFCgjQL9bb1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIEBgSQUE6Je04d02AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCxWQIB+sd6uRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLKiBAv6QN77YJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAYLECAvSL9XY1AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQH6JW14\\nt02AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECixUQoF+s9//P3psHW7bdd32/M9+x5763\\np/daT3oSsmwkyzYGbGRkHMBAAU5BkWcFEqxQqZQSCqgKxBUIcSX84UDKZYoqOSQgOwRbLwkVgiu4\\nwHbMIBxALlsSYMmS3nt6/V7P853vmfP9rn1297mnz5267z13OJ/Vve/aw9pr+Oyz9tlnf9fvtygN\\n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\\n37YXMIWSrOHtvr6jm0dyU69BBB4o0FY9LeZ3PKjAwcK8BPnOadVfcfH06Sh40IDOzYPvN76XTep+\\naQv6iydP5oeIjwCBY/N8dQRYU0UIQODoEtjpO8mj20JqDgEIQAACEIAABCAw9gRuS0j/xOrDJ/bz\\nVyTO//TUmXC8k+Dz/0Odf70nyPsVlPcRIAABCEAAAhCAgNT56M5qUJ4nbS88lnCVPSNYLP9NpyVW\\nSUz/lu59HS7IZXwxuYh/tNpOonZNupXktri/2ozbEswetiYkqxdjXd5/2vIpvyqX1A6Tk1NRkuhl\\nq3fnWCk4VTem5c2nIiVrTpbutnh/ebYYJzQg8PM3b8kSthaLNYlaEuVmZK1qkb5sAUziff3RLQlf\\n6/GxK/U4VW4rr+yZ6NIJzTUvBf76Y6VRMx7JUNeC322p8YrSvseNQvzKQjnur0TcU70bEuDs/p4A\\nAQjsDwG7rW9LpF96+80oLz6OU4XvifLMZNS+87fo9lOO9Tffis7jxVj4+lvJxX2xKg8dEt2LJ2SV\\nLoHb03I1dV/46sxJ3QPKcUEW+CXdR9pTE9Gxi3kJ5h2ds3JOwrkEesnsUdZggNrP/3yUJNBXFhaj\\nqH5esat9u52Xlb1d6Jd6Fvd37t5LDZ/z1F3Kr65jTd1z7n33d0VH4nzl49+jUT+tWNY+D+aZ/b7f\\nFQVZznvaMovyXYnzHmDwJChNWfeUc+1SXNBO14cAAQhAAAIQOG4EEOiP2xWlPRA44gTyEfEjm8tr\\nE16uh93n2Xp+JCOiN6kHuyHQT4D+0U+DdQhsJLBd//Br8lxc95m2KXtHL89ziX3Qot7HN1jMK+3b\\nWm70Xrg7j2GB749hVNh30AS26x+jqh/9Y1SkKWc3BOgfu6FF2k0JJDfOsgytTEnyWtBi0T0zTpX3\\naYVuTOipIwncOiidTMJWK4nak1LXLW4/lNt471+UINWQmLYid/gtHVhatwwvV8+aX7okIasqa3fv\\nqUqvsh3+ugYbVmWpb929rFi5SUSX3N6pR1XHZ7uyhpW8Na06JotZ5R2ynC9112OiW9c5cn+t89qd\\nTAAr6bCF/mpvDGNL9Xf97Mna4w/q2ljTypLU+2XNPe86+vh+Br4/9pMueT8vgVF/f1jYbss9fUHi\\nentpWeL7quall3QtYd1zz7uTFtyBfT+oyRpd4ndx0lbp7sz2uSEX9nKPb9fyzfpquk+1J6pJoG9Y\\n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\\nxM5CQmGRVZRNEikyQrDKCiHn7VixQEJYQiC2sAJZRqRJ484bDE6CJ1amX7/m/O971a5Xvh/ndt3b\\n95xbv/N0p75OVZ36nfpP9+1/nXtzIvj7Odn78VW6/eY/nyV9b+P726Pk7z2fJZ675HxOas0+Uv7x\\nn519R/vBn/m5nJ3LSf+TnCRPOUE8puRk9MHZn8vH+2z+zvuL3K78IEGcL0ok52Nk+Wd/6ocj4vNI\\n94P3fiJn3j6Vbg//88t6/fonb7483uw76PPH4A9LXOPn8/5v5G2X4ZDPFyV/TP7tf/qXLx3i4/Oj\\n3OYkeSTgYzR7tKU7z2xbTopHkjw+ReDH3s/bI2U5omTLgy//fH5IIPfH//iPKeVP1095xPEsQf+9\\nfJ4/+MP04l//6qx9L8+SjW5z/80eEnjlNeL0diWwjkDc7e/lkfEHOUH/c++/P0u+/5v//X/Sxznx\\n/kf5wZfvf/I8/ebF/5yNUI9keJT4iPscTenj5zk5n9d98cfeTF/M31P/t97/XDrNx4rR9JsocZRI\\nrryVj/1WTsx//0+uX6XnU/pefjjpV3O73slfqfHzn31/dv6/mUfwv919dcQmGuAYBAgQINC0gAR9\\n092n8QQIECBAgAABAgQIECBAgAABAgRqEMjJsRhtfpM/Sv7ts5zQzW16K39s/Sc5ufs8f898jI7/\\n40iyR8L3VaJ3lmzO++XvmE4H+c+UkYj/VH69k/d/+4t5hPm7+Zh5xPvCD5Je47pjNPib7+SPcs/f\\nIz8ciR5Js/hI+xjZH69I9EXbZt8V3424784V7X1V/yRvmz08kNcNSxwzPtY/HkJ48zI75OPFx+TH\\n9f8gsuJ5n5N8zhix/nZ8nHxevsmvGMkeVp1RfJpAJPfjQYdYPzZBP7uu/HH+YRvGecRxyknO2acD\\nzNqXz///cr9F++I6o32fyQ9JRHmeryHa1y/xaQmb6J/+Mc0T6Ankuy7FyPdIrr/IcfF+nkbi/Qc5\\nSZ8jIn138DUSMao+372zRHx8RP5ZjqF4vZeT5e9seBR7nOu9/CkZf5zj6Pr6ZjZyPkbPR5R8Nz9A\\n8Cc3L9If5bh9O7+6kM6bFAIECBAgYAS9e4AAAQIECBAgQIAAAQIECBAgQIAAgU0I5FRa/tj2w5/9\\nBznpm0eKf+nfvxxRf/EfZiPH0x989DJhnT+aelbezMnw+Aj4/L3nkTA++Mm/Ohsxf/Cln32ZHP9U\\n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\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQ\\nN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI\\n0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312da\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0K\\nSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dn\\nWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIN\\nCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfX\\nZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC3\\n12daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQ\\nt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpM\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI\\n0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32Gma\\nTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0J\\nSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCUjQt9dnWkyAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINCkjQN9hp\\nmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLt\\nCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfYaZpMgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC7QlI0LfXZ1pMgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQLtCUjQt9dnWkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDQpI0DfY\\naZpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0JSNC312daTIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQINCkjQN9hpmkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\n7QlI0LfXZ1pMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0KSNA32GmaTIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQLtCRy312QtJkCAwByBo5ROzk9S/FtWok7KdRUCBAgQIECA\\nAAECBAgQIEBgCwLen28B1SH3RkB87E1XuhACBAgQIDBGQIJ+jJ59CRCoRuD4iyfpg995nNLz5Qn6\\nD44fpairECBAgAABAgQIECBAgAABApsX8P5886aOuD8C4mN/+tKVECBAgACBMQIS9GP07EuAQDUC\\nB/n/ZscfrB5Bf5xH2B/4co9q+k1DCBAgQIAAAQIECBAgQGC/BLw/36/+dDWbFRAfm/V0NAIECBAg\\n0KqANFWrPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9U92lsQQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECDQqoAEfas9p90ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAg0JSABH1T3aWxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCqgAR9qz2n3QQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQlIAEfVPdpbEECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAg0KqABH2rPafdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCUgAR9\\n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\\nNoJ+zB1r3yYE1n3SclNP6HuysonbY/KNXDc+NgUmPjYl6TjbFBAf29R17NYFxEfrPaj92xQQH9vU\\ndezWBdaND+/PW+9x7V9HQHyso6Xu1ATWjY9N+fj71aYkHad2ASPoXxsF3x/N3p+PbhwuL1rXdfm8\\n+t22/rS0Xn+fu3kj6O8ozBAgUJPAQz9pGeczcr6mO0BblgmIj2U6tk1dQHxM/Q5w/csExMcyHdum\\nLiA+pn4HuP5lAuJjmY5tUxcQH1O/A1z/MgHxsUzHNgIEpi7QjQgf41B6jGX15m0brusvr5rvtq8z\\n7deN+XnLi9Z19Uum3Sj4Yd1564frumUj6MfcsfZtSqD0ScuxT+h7srKp20JjXwmUxsdYMPExVtD+\\nuxAQH7tQd85WBMRHKz2lnbsQEB+7UHfOVgRK48P781Z6VDs3KSA+NqnpWPsmUBofY6/b36/GCtq/\\nNQEj6F8bGd8fzd6fj24dLi9a190C8+p32/rT0nr9fe7mjaC/ozBDgECNAsMnLWM5SveLXUzvU+I4\\nMWK+O178Auc75+8jaZ9dCoiPXeo7d+0C4qP2HtK+XQqIj13qO3ftAuKj9h7Svl0KiI9d6jt37QLi\\no/Ye0r5dCoiPXeo7NwECtQp0I8LHtK/0GMvqzds2XNdfXjXfbV9n2q8b8/OWF63r6pdMu1Hww7rz\\n1g/XdctG0I+5Y+3bpMAwIX95eZmePHmSYhpl3Sf0T29O09OnT1Mk5qPEL4r9hP1spf8QaERgVXys\\nexndE8fiY1059WsUEB819oo21SIgPmrpCe2oUUB81Ngr2lSLwKr48P68lp7Sjl0IiI9dqDtnKwKr\\n4mPd6/D3q3XF1N83ASPoXxsZ3x/N3p+Pbh8uL1rX3SLz6nfb+tPSev197uaNoL+jMEOAQM0C/Sct\\no52xHCPeYxrl8Pzwbn62YsF/uuM8So+MmF9gZHV7At193bV8GB/DN0BdveE09osHVSK2fKLEUMdy\\nqwLio9We0+6HEBAfD6HsHK0KiI9We067H0JgVXx4f/4QveActQqIj1p7RrtqEFgVH/5+VUMvaQMB\\nAg8l0I0IH3O+0mMsqzdv23Bdf3nVfLd9nWm/bszPW160rqtfMu1GwQ/rzls/XNctG0E/5o61714I\\nDH9he3b0LP3y6a+kmC4rMXL+15/9Wk7PPzJifhmUbU0LDONj+IkTiy6ue/I4kvM+UWKRkvWtC4iP\\n1ntQ+7cpID62qevYrQuIj9Z7UPu3KTCMD+/Pt6nt2K0JiI/Wekx7H1JgGB/+fvWQ+s61DwJG0L82\\nMr4/mr0/H109XF60rrst5tXvtvWnpfX6+9zNG0F/R2GGAIGWBIZPXJ6kk3T04uVo+mXX0e0XCXqF\\nwL4KdPd5//pi3arS7dd9tP2q+rYTaFGgu8/7bRcffQ3zUxYQH1Pufde+SkB8rBKyfcoCw/jw/nzK\\nd4NrHwqIj6GIZQI/FBjGR2yJdatKt5+/X62Ssp0AgZoFYkS2QoAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECGxZQIJ+y8AOT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEQkCC\\n3n1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQeQECC/gGQnYIAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECEjQuwcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAD\\nCEjQPwCyUxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQl69wABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIEHgAAQn6B0B2CgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgIEHvHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg8gIEH/AMhOQYAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJOjdAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4AEEjh/gHE5BgACBrQvcPk/p+dV1un5+vfRcz4+v0+1ZruL/fkudbCRAgAABAgQIECBAgAAB\\nAvcR8P78Pmr2mYqA+JhKT7tOAgQIECCwXECKarmPrQQINCLw/Pev0//6xYt0cXmxvMXn1+n505zE\\nP19ezVYCBAgQIECAAAECBAgQIEBgfQHvz9c3s8d0BMTHdPralRIgQIAAgWUCEvTLdGwjQKAdgZuU\\nri/zCPqL5SPoc42Ucl2FAAECBAgQIECAAAECBAgQ2IKA9+dbQHXIvREQH3vTlS6EAAECBAiMEfAd\\n9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUa\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBG\\nQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6Auh\\nVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nxghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9\\nIZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQ\\noC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQGCMgQT9Gz74ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAQKGABH0hlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37\\nEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKF\\nAhL0hVCqESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQJjBCTox+jZlwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAoFJCgL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+j\\nZ18CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\noFBAgr4QSjUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAYIyABP0YPfsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAoUCEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0\\nY/TsS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgUCkjQF0KpRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAiMEZCgH6NnXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECgUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZA\\ngn6Mnn0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAgUIBCfpCKNUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAEC\\nBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAgTECEvRj9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FU\\nI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG\\nCEjQj9GzLwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBQKCBBXwilGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCMgQT9Gz74ECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBQQIK+EEo1AgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECAwRkCCfoyefQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKGABH0h\\nlGoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCMgAT9GD37EiBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgACBQgEJ+kIo1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA\\nwBgBCfoxevYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFAhL0hVCqESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgACBMQIS9GP07EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAAAECBAoFJOgLoVQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJjBCTox+jZlwAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFApI0BdCqUaAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAECBMYISNCP0bMvAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFJCg\\nL4RSjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjBGQoB+jZ18CBAgQIECAAAECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIFAoIEFfCKUaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAYIyBBP0bPvgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFBAgr4QSjUCBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBGQIJ+jJ59CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIBAoYAEfSGUagQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYIyABP0YPfsS\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFCAQn6QijVCBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIDAGAEJ+jF69iVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUC\\nEvSFUKoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIExAhL0Y/TsS4AAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECgUk6AuhVCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAmMEJOjH6NmXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUCkjQF0KpRoAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExghI0I/Rsy8BAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECgUkKAvhFKNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMEZCgH6Nn\\nXwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCggQV8IpRoBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIEBgjIEE/Rs++BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg\\nUECCvhBKNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMEZAgn6Mnn0JECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgEChgAR9IZRqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIEBgjIAE/Rg9+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIBCfpCKNUIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAYAQn6MXr2JUCAAAECBAgQIECAAAECBAgQIECA\\nAAECBAgQIECAAAEChQIS9IVQqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTECEvRj\\n9OxLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKBSToC6FUI0CAAAECBAgQIECAAAEC\\nBAgQIECAAAECBAgQIECAAAECYwQk6Mfo2ZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBQKSNAXQqlGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGCEjQj9GzLwECBAgQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQKBSQoC+EUo0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECIwRkKAfo2dfAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQKHBcWE81AgQI\\nECBAoFWBo5ROzk9S/FtWok7KdRUCBAgQIECAAAECBAjcW8D7j3vT2ZEAAQIECBAgQGAaAhL00+hn\\nV0mAAAECExY4/uJJ+uB3Hqf0fHmC/oPjRynqKgQIECBAgAABAgQIELivgPcf95WzHwECBAgQIECA\\n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\\nAgQIECBAgIAEvXuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8gIAE/QMgOwUBAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJCgdw8QIECAAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIEHEJCgfwBkpyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhL07gECBAgQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAAAscPcA6nIECAAAECBHYocJSO02n6wsoWRJ2o\\nqxAgQIAAAQIECBAgQOC+At5/3FfOfgQIECBAgAABAlMR8Ff4qfS06yRA4P+zd3dLlitbmlCrOAXG\\nzyWY8S48Ihe8Ld0NTdPsmXE+cm4vl+TS0ooMRQxhme4+5/QfDa28wLz2aQIEfqzA//Iv//O//B//\\nzf/+L//lr/9v7/nHX9fzVeshQIAAAQIECBAgQIDAVQH//x9X5cwjQIAAAQIECBD4KQIu6H/Kl/ae\\nBAgQIPBjBeri/X/96//zECBAgAABAgQIECBA4N0C/v8/3i1sfQIECBAgQIAAgacL+H+D/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJ\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BEC\\nLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC\\n/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf\\n8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf\\n0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA\\n4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQI\\nECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8Zkc\\nkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/ulf0PkJECBAgAABAgQIECBAgAAB\\nAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSe\\nLuCC/ulf0PkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BECLugf8ZkckgABAgQIECBA\\ngAABAgQIECBAgAABAgQIECBAgAABAgSeLuCC/plf8L8+89hOTYAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIDATQLuDG+C/MxlXNB/pra9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODH\\nCrig/7Gf3osTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGcKuKD/TG17ESBAgAABAgQI\\nECBAgAABAgQIECBAgAABAgQIECBAgMCPFXBB/2M/vRcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAgc8UcEH/mdr2IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfK+CC/sd+ei9O\\ngAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp8p4IL+M7XtRYAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQI/VsAF/Y/99F6cAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD5T\\nwAX9Z2rfv9d/vX9JKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8IUF3BF+4Y9zdDQX9EdC\\nXyvvH9vX+h5OQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBPC7hD/NNf4MT+LuhPYP2B0vrH\\n5B/UH4C3JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEHCrhf/OIfzQX91/lA/rF8nW/hJAQI\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+i4B7yC/0JV3Qf6GP4SgECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAg8H0F/u37vtqXfbPxf7L+X7/sSR2MAAECBAgQIECAAAECBAgQIECAAAEC\\nBAgQIECAAIHvJpD/oj7td3u/L/0+/gv6L/15HI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIEvouAC/rv8iW9BwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8aQEX9O/5PJ/xPwcx\\n/k/lv+dNrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFcTePdd4Wfcd3410085jwv6e5n9\\nUO/1tBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn9OwP3nzfYu6O8B/YwfZu1RT9qPkb8J\\nECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPipArk7TPsuh1r/3Xu86+xfal0X9F/qc2wexo99\\nk0aCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG/BNwpPuBn8G8POONPO2L/h/OvGy/fazZK\\nhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+MYCe3eGlcufb0zwvFfzX9Cf+2Z7P/JzK6km\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8wXcoZ74hi7o17He9cPyf7my/g1UEiBAgAAB\\nAgQIECBAgAABAgQIECBAgAABAgQIECBwTeCd95Lvuku99qZfeJYL+rWP81V/UF/1XGuqqggQIECA\\nAAECBAgQIECAAAECBAgQIECAAAECBAgQOCvwVe8Iv+q5zvq+td4F/TbvO35Ar6756vztt5UhQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCJAq/eIb46f2b2jjVn+zwu5oJ+/snu/MHUWvkz320/\\neudZ9neSJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgyQJX7xZzn3l1/szszrVm6z8y5oL+\\nvZ/t1R/dq/Pf+3ZWJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwm8esf46vyv5vGlzuOC\\n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\\ne4/x2XiMbZ256sbaWWxrvjgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt9DYHZPOIttve2s\\ntmL9GcfJzeKzWOpn7dn62RqPjf3UC/q9j76Vm8W3Yj1e/TPjvR9TX2evTo4AAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAgZ8hsHqHePbecqyP5my/Wazqt+JHuez17dp/+3Zv9PGR//Xm96ofzrjm\\nSmxWs3W0/Dizz9bcv9X967/+6//2z7PV/7HFP/7689/+9ed/+OvP//TXn//xrz///V9//ru//lSu\\namr9/if/RxqJjePEZ+1fS/1traqpp9f28ayf2KydxbJHz1W/ntXcR/Xf6xPbavvaWzVb8Vfmbq0p\\nToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4h0Duoq6sfWburHaM9XHv19n6OP2x7XVjro/3+mOu\\nxlux5HpbZ6j/SfrExnHiVfNf/vrzf//15z/99ec//PXn//zrz3/860/9vzlfuazzV/fXk7kZ97Zy\\nefbqUtPbPrfi4/hMrK97pT/b+8o6X2bOV76gD/adl5u15t56R/l8uFndLJb6M22tU0+ds/d/Bdtf\\nPVf9+lP/MNPWP9b6vrm4r/VmF/QVv/Lnr2n/bt4Yyzht9sl4pd2rqVw9tW6e3q/YON6KZX7a2bzk\\nerta1+foEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSeLJB7qqN3WKmb1YyxPu792j/jsd3LjbU1\\nzp9x3hjPuNrU9tjVfi7fcxH///y1ePUzzrp9z+qPz2rdOO9oXOuOzyw21tT4qO4oP1tzL3b3ent7\\nnc595Qv6My9TyK9clJ6ZP6udxVbOvzqv6uqZvWPWSE21+Ydabc2Z/Zld1v9V+rdL/BrX3K3/qj75\\nvv4Y6+NZP7He9n6tPRv/M/w3k9T2+tRtxZLvcxPr7VG+1479V+aOaxkTIECAAAECBAgQIECAAAEC\\nBAgQIECAAAECBN4pkDunK3sczd3Lz3I9ttWvcya31R7V9Hljfzbei+WiPXtWbcXqqX7/k9oeS3+W\\nyxrVjk/mjfHZuGqvPLN5s9jW2mdqZ2u8On+25qfHvssFfcHVB9m6CN3LbaFfmbO1VsXzg6kz9n5y\\nW2evfJ6cKW3ivU2u2vqz9dQ/6tpz/DPGa35i1a8ne/Qzj7E+Tr/mZr/er3zGaTNnlvuo/lgrdRVL\\nbdZIXcY9n1hqxlziafu7JrbavjJ3dQ91BAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7BI7uTPb2\\nODN3VjvGxnHtnVja1dhYn3G1vZ/1emysyXhW03Ov9nOWamdP33+WH2Opr3jONvbHOVfHfa/VNfbm\\n7OVW1/8Sdd/pgv4qaH3M8QJ1Fju7fl9jq19rJldtPXWWsd/Pt1W/V/Nr4eGvXp9U1q5xzpBcbzO3\\n14yxGieffq9JLOtmPLaVH2M1rifrf4w+/h5z47jX7vUzLzWzvSo31qW+t1tze40+AQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQOApAqt3H3t1Z3K9tvfLK+Ox3csd1fZ8+lmvxlux5NLWnHp6/Ufk4+/U\\nzdrZvKyT+jM1fe54hoxTM1s3NWfavl7mzWLJ/YjWBf3xZ64fyd4l7JjPj6rm9P7xTh8Vfb3099YZ\\na2qVvfPmHFkz48xLfGuN5FNf7RjLOGvUePToseTS1pp5EkubeNoe7/3kZ23V1ZNzVj+x6tfTcx+R\\n33/32r263zP0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfU+DMXcms9kqsz5n1E0tb8unP2jGW\\n+h6vfsY932MV70+fk35ve+1Wf6yv8exJXeV6Te/P5o2xcZ1x/jiezR9jxk3g6Rf09QPol6Xt1X51\\n9/J7uXGdjMc5R+PM22rH+Vt1iac+beJjW/n+lFFi6c/c+rqp7+tUv89LTWJb46yRvTPOepmXeOrS\\nJj7Wz/KprVw9WTvjHvtVsPjXK/P73MXtlBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/ohA7lau\\nbH4092y+1/d+na2P00/b84mlTS7j3vZ+1dVTscRn4x5LbdrK1dPnf0Q+/k6816eftteP/T5/zO2N\\nM2+vpufG+qNxn7vVH9fodXu5qjvK97W+XP/pF/RXQOuDzS5MZ/FZLHuOuXGcut72mvSrrafOlFiN\\ne7/GeRLPvMTH+YlXmzm9P86vXNZIv9r+zOb0fJ8/xmucc/Q2dZk7tpWfxTIv+WqzbvrV7j21bp7x\\n3XquasZ85mkJECBAgAABAgQIECBAgAABAgQIECBAgAABAt9J4M47kb21ZrlZrGx7PP20sc84bZ+X\\n2FGbOb1u7Nd4Fss5ertVO8YzJ+tmnDbxzEtb+eRSm7bH09+al3zmztqxZhz3ObPcLFZztuJ9vW/V\\n/yoX9IEfL0WvYtd6d62VM/Q1e7/y4zhzepuaausZzzfLp/Zjxr+fk3i14/yK1R6J1zj9tBXLU7F6\\nMudj9Pe/+5nHNWbzU59cVsseW23qqk3NGKtxzjCuv1Wb+Na5kj/TZq29OXvn25snR4AAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBD4igKrdx8rdbOaMbY3Ti5teaWfdhZLrtrer9p6xnhqPrK/5/Rx5vR2\\nXCv1ife292dr9Lljv9dXv57E0v8VbH8d5Vvpr27WTbyPez/5V9s717xzrZfe66tc0L/0EouTC331\\nMnWs63N7f2/r1FVbz7jmR/Tc31mrz6p1s1ePVz/xzOu1iWVOzpc5iWc8q++x2fyer/Wyf9a+Eput\\nkfXG3DhO3ayt2v6MZ+85fQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDATxa4eo8ymzeLle0Y7+Pe\\n77WJp53lEktNb3u/6upJLP0aJ5Z+2tRUmye1NU5d2sTSpjZtxfuTeOb3ttdd7We9mp+9jtbqdb2f\\nebNYcr1dretzHtn/SRf0n/mB6geUy+Hx4refY68uuV4/66eu2jx97+Qrl/7YJpf5ve1rJZ69kkt8\\nq+116afNnHFc8cTSpjbtVrzP7bXp5/wZr7S11+y5stZsHTECBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwNMFju5NzuZ7fe+XUx/P+oml7XMS6+1qf1aX7zbmatz/zOr6uXp/tlbPZ62tNvN7PrG0Pdf7\\nyaftOf0XBZ54QV8/hK3L0rMc41p93Pt76/a66tezdb7U9rox9rHC78vpjNPmUnprj6rra6a+4umP\\nbXLV9ifn7LHqZ+/sU7HUZu1ZXWoqV0+v/Yj8ju3lUpu2n6dis7mp7W3mVWw8W697td/3eXUt8wkQ\\nIECAAAECBAgQIECAAAECBAgQIECAAAEC7xR45c7kzNxZ7UosNWljkXHaiqc/tsmN8Yxn+TFXNfVU\\nfPbnV3L4K3UVznq97f1eMyzz/w97ffX7n8yfxXou/WpnT+YnV+OVp9f1fs0dxyvrbdXcudbWHrfG\\nn3hBvwdQH2C8DF2N7a27letr9/6sPvm0s5qVWOZXu/Xkgnpsq36MZTxbq3L9OdqzanO+9Pv89Mc9\\nM06bumq3YpWbnWerflZba2w9tU5/zs7vc/UJECBAgAABAgQIECBAgAABAgQIECBAgAABAk8RuPNO\\nZG+trdws3mO9X6YZp12Npb7a3u/zZ/2xvo+rPk/iY1v5itXT296f5cZ1xvpfC174a3Wd1PWzXdju\\nb1P6mkmsxlL/uPa7XdBf/QD1ofuFbB+f7ecMmVdtPX39j8j+331+Lp1X19ibu5qbnS7793dKf1Y/\\nxvIePf5KrNaZzT9av+df7cdkb50zRnvryBEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvoLA6t3H\\nXt2Z3Fjbx7P+Siw1ve39cq5xj83G+R7JjW3W6XU9lvVnsZ7L/K02tWO7VT+L19y9+cnV3LP9cU6N\\nf+Tjgn7/s9cPKxewW/3ZCqlNu1UziyeWi+exTX6vHedkvDencqmrtp46/+xJXeV6f6xNLm2v77Ee\\n72uMNVt1mTOrT663VVfP1vt9ZP1NgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwE1i9Y1mpm9Uc\\nxcZ8xmnrzOmnncWSq7b3UzvGe83YT23aWqOeo7rU97qz867O/XXAyV/jepOSX6HU1WCrvzX3x8a/\\nwwV9fexcuPYPOYuvxvo6Z/uzPbJGcmkTv7vN+mO7t0/Vjs/o2mv6ZXjqsl+tk9rUpR33GMezulms\\n5m3Fk6s256j+0VPr5TkzL3O0BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGfIHDlHmVrzla8HHuu\\n9/dyqUvbaxNbaVPT56efXLX5U7n+JN7bnp/1q7aesf2I3v/3yj6puWv32XqrsTrDrPaus33KOk+4\\noC/kfnH6Lpi9fXqu9+ssfdz74zmTSzvm+7hqtp5cSqed1SU3+2D4igAAQABJREFUtrPaxKq2P7Mz\\nZL1e1/s93/u9pvrJpR3zf2L8lc7yJ97fngQIECBAgAABAgQIECBAgAABAgQIECBAgACBVYHZPdLK\\n3Nm8WSxr9VzvV76PZ/0zsdTO2h6rfv7kDFv5xKsuT+ZutVWXeb2d1Y+1s5qskf1nbWrS7tX0PVPX\\n5/V+8mn3cqm5o/2sfS6f9QkX9PVyBVkXqFef2fxZ7Oz6fY3e7+tUvJ7Z+ZP7qPj996w22eyTNvHe\\nJje2qRnjNR6frQvrHu/9cf5svFU/i6/Gap+qrWf2Hh+Z33/P1v2d1SNAgAABAgQIECBAgAABAgQI\\nECBAgAABAgQIEDgSWLmTma2xNe9MPLVps0/GaSueftpZLLlqez+1PTbWzHKzmsR6fdavNs9RPnXV\\njrU91/t9797vNeknn3Fvs1/Fer/XnOnP1pjFXl3zzPxPqf3MC/oCzUXqO1/u1X2uzJ/NqVg9s3fe\\ny33M+v131u5zxtjv6rVeLqnHdpzdz579qybx1XNkn3H9cTyrm8XGeSvjfuaV+q2arJN8d0lMS4AA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBD4SQKr9yVHdWN+HJdpYmnj3Mfpp53NS27W9thWv+9bNamb\\nxXs+db1N/kw7vlNfL2fYa7PXrGYrlz1mc7ZiV+b0tV6d39fa63/WPv/ymRf0ey/8mbnCHS9Zs3/P\\n9f5qflbXY+kf7d9/AFXbz5J+2qy50vZ1x/p+plldzjHOq3HPbfUzr+cTO9vWGvXMzvmRuf/vP7Hn\\n/W9hRQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+wSO7m7O5mf1YyzjtPV26aedxcZcxr1d7Y91\\nNc6f2jtPYrM2NattrVFP2t7v6/d49cdnrO35vnaPV7/nej91Pdb7yafdy6XmW7WffUHfgXPheQU0\\n6xytUXV7NVv5Hk8/bZ2398fzz3KzWNbp8+use7V5l9RUe+bJ/MzZWid14/o5X+b3tud6PzWzWOVm\\n8Vks62gJECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+psB4tzSe8mx+Vj/GMk5be876Y2wcZ17i\\nvR3747jPrVzyW/Ger5p6Mm+1zZxfk/85P/3eZq9x3V6TfmozrnYWS77n0k+7N7fXZK3eHuX31u7r\\nHPVX9jla43T+sy/oTx/wxgkFXBe/s2crN4uPsT7u/eyzFav81nkqV/P60y+t09+bn7nZf1yv8n2d\\nvXzW6nPG/my8FduLV+7VJ+/16jrmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrAvM7pv67Cv5\\ncc7WuMdn/b1Ycr3t/XqHGudPH/f+LJ9YtalN23Nj/qN6++9eP/az7vbsv79Lr8taW7ExP45r3iy2\\nFz/KVf7bPN/lgj4feeXC+srHq/Vna/f42M8+fd7WOTM3+Zrb52WttLP65Ma21un1GR/VJZ9zjGfL\\n+Gi9rHPUbq2TeUf51L2r7e/7rj2sS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4okDuUY7OflQ3\\ny4+xvXFyaes8s35iK22v2esnlz1rnFhvE0+b+rFNfqvt9dWfPX1u5Ws8Pqnp8cR6/VZ/nNfHd/b7\\n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\\nECBAgAABAgQIEPizAv1e6cxJjuZt5cf43rjnjvrJp613SX/WHsV6fuzPxmMslhUf/4y5jKvdq+11\\nvTbxnCG5xMdx6tL2uvST22pTd2ebve5c861rfeUL+mDmgvkOiFoz6/X+6tqZk3Y2b8z18Va/1qlc\\nnn4pnvNWrtfUOLnEM57VVixP6jIv8a226ldrt9Z4V7zOlfepPXLOHuvx6o+5Mb9VU/HxyX5jvI9n\\n+/W8PgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgqwis3H2snnVlrb2aWe4o1vNH/eTT1nulP2vP\\nxHpt9cdxDJMb8xmPdeM48xOvtsfSn62XOT3X+1krdWOb2rRjfm/c5/T+3pzV3N3rre67VPeVL+iX\\nXmChqD7AnRekfb300/bjVKye7N1rxn6vq/4s32uydsXqqT1mscolPqupfJ6j/Nm61Ffb36fHV/t9\\nfu+vzr9Sd+c+tZaHAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCTBFbvR/bqZrkx1se9X9Z9POsn\\nNrZ9bs/1/ljTc9Ufx6mf5Wa1Y/1Y09cZa2tcT+Z8jD7GPbbX77k+f1x3Vpf6K+3d6105w1vn/OOG\\n1XMBfWWplbmzmpVYr9nq15mTG9u9XK/t/XFO5cZ8anq81yVfbT1jbi/2a8LOX+Na47hPrdyrz8o/\\noF6z1T86R5+X2orN4pXfy2V+r9tap9fqEyBAgAABAgQIECBAgAABAgQIECBAgAABAgR+ukDuYFbu\\nVlI7M9vKzdbtsav9zBvbOluP9f5ertdVv49rXj093se9NjWz2K9F2jqp6WuN/T6n9zM3bc9ljcTS\\nHtWO+b7OLJd1ezvWjeNee7Z/51qn9v7T/wV9Xvyuy+CVdWrPvbqj/Aic+rSr+V5f/Xpyrr1c1c3q\\n+/y9msptPbV/1t6q+VPxFZP4rZ6xv+vR3F7b1z+a12v1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQLfQWDr3uTo3VbnzerG2Jlxr531Exvbep8e6/29XK/b689yWTe5GtdT4x4bx1s1Fa9nrO9rJd/b\\n6vcn9Wl7bq9/VH+Uz9qrdanfau9aZ2v9w/ifvqA/POBGQcGduRhdqZ/VJLbV5njJ1zj9auupcyb2\\nK9DGvaZyfdz7PVf9vPtRTfI1pz85U2J93PvJv6Ots+U9ttZfqelzZ/UxONqrr3Omn/X35rxr7709\\n5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECVwRW7j6urFtzjtbeys/iY6yPe3/cN7m0PZ9Y2jGX\\n+Kztsd7PGj1W/aNxn5faHqt+PVlrqyb5j+rf9ZmbeB/3OeO6W/Xj/F7Xc2O8j/tePb7VP1u/tc6n\\nxp96QV9IBb538bmX77neD/4sllxvx7px3GurX/l66ty9tscrf5Srmnqyzsfo3//d872/MnesGef/\\n+91+R/r5f0fXentzx9w43tuhavPUu4xPz1duVjPOMSZAgAABAgQIECBAgAABAgQIECBAgAABAgQI\\nfDeB8c7klfdbWetKzThnb7yV6/H0t9oyqNxWvsev9PfmVO4oX+erp9dm/CuxkxvnpL632T+xcZz4\\n2M7qeqz3V+b2mr25ve7L9Z98QX8Wsz7S0aXrXk1yY5tzJF7jWX8rVvU5V9XUU+Per9jeeMyN9T2f\\nftV8lafOFIPxTHu5qh3zeb+t9cb1t8ZZJ/lX1hvXyppaAgQIECBAgAABAgQIECBAgAABAgQIECBA\\ngMB3ErhyJ7I3Z5Y7io35Pj7qJz+29Y0qNsZn4x67o5/fR601W6/yPTeOj3JVX09f+yPyO9bzY242\\nLzVpU5PxrF2pmc17XOwJF/T1MVYvR8/Urn6sozXHfMbV1lNnT6zG6adNrNq851au4nmybo37vOR7\\nO9ZmnZV4X+ez+v39xz33cr22v2OPV38vN9ZmnDkZp419xloCBAgQIECAAAECBAgQIECAAAECBAgQ\\nIECAwHcX2Lo3OfPee2ucyY21fdz7dbY+nvUTG9vMHeOz8VGs5/f6s9zsHFW3V1tz6ul1Gfe293tt\\n1q58PeP4I/r776P878r13pk1z9Sun+DGyidc0NfrFuSVi9C9eT3X++GdxbZyqU2bump7LP20s3zF\\nxovzvbrkqu1PX6PHx/5q3Tjv6ri/e19jK141Y242rrrZb6Rq69nLbeV/TTz4K+vvlc323quXI0CA\\nAAECBAgQIECAAAECBAgQIECAAAECBAj8KYGVu4+rZztaey8/y42xvfFWrsfTH9t634qN8dn4TKzX\\n7vV7LvYVS7xiYz/jo7rZ3Ir1p681i/dY+pmTcbU91vu9Zqwbc3vjvTX35n1q7ikX9FsohXzm8nOl\\nvtekP7Y5T+IZp53Fj2I9P/Zr3XrPitfT+x+Rj79jMavrc3q/z3+13889rjXLzWKZN+aOxjVvrMla\\nK23N7U8se+xqf1z76jrmESBAgAABAgQIECBAgAABAgQIECBAgAABAgSeJHD2jmSrfhYfY2fGvTb9\\ntOWb/pV2Nuco1vOzfs40y1VsFs+cautJzdj/lRzye7HZ/Kw9trParN3bzOuxvf7Z+r21Pj33j5t2\\nfPUyc2X+Vs0sPsb6uPfr9ft41k8sbZ+T2FY7qx1j49yen/W36hOfzanY+PT65FZjqb/abv2j2Ypv\\n7TOrr9hefJabrZ910s5qxAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4L5F4l7e/Mdi+11Y5P\\ncrP4Uayv1/s1L+O0Pdb7yV9pZ3O2YlvxnCX5cbwXT67a3q816umx3k9uFktu1lZsfLJGxbf6e3PG\\neWPtnxj397i0/13/BX0dZHa5e+lQb5509ayvzuvz06+2nrJLrMazfmornyfmW7nE+/qJZY1qkz+K\\n9fxd/TpP3mNcc8yN46qfxfbiyVW7tW/lxqf2mT1n1pjNFyNAgAABAgQIECBAgAABAgQIECBAgAAB\\nAgQIPE1g697kzHscrbGVn8XH2N645476yb/Szub2WO+XX417bBzHeIz3Ob1m7I/zZvnEzrTZ/8yc\\nqr067+w+d9Tfcta7Lug73tMuLAsyZ+79fKS9WHJbbdbo7VhbuR6rcZ2nYvWkPztjaj4q//4efW7y\\nW7Ez+V670s+7rdRWzVh/NJ7NyV7j3MTTVj5PfDNebfsaW3Ourr21njgBAgQIECBAgAABAgQIECBA\\ngAABAgQIECBA4F0CK3cfV/deXXurbhYfY2fGvTb9tPWO6d/R9jV6P/vsxbZqEq+2nr7GVv+j8u+1\\niY1tX6NyW+M+LzVbsVm+137F/q1nfufF4ZW1V+bMalZiY00fn+mndmzrxzLGajyLjbW9pvdT12Nn\\n+7M1zsZSf6Xtc1b7e3WVqycOH6OPv2ex5Pdyqent2fo+V58AAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQOD3he6qxd5F6Cx3FBvzfXymn9pX2tncK7E+Z6Vf9lW3VZv82Pb6nuv9lZpev9cfc7PxmVjV\\n9idn7bGj/pU5R2v+y53/Bf3hZt+koD5EXd6O7dbrrdSlptZIv7cVz557/cqNT5+XXI+lnzY1vU1u\\nbHvNO/ux6HusxjKn6vPUexw9vb5qV+YcrSlPgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjOAuP9\\nysq7rsyZ1azExpo+PtNP7djW+42xGs9iY22v6f3U9VjvH+VntTWnnuQ+Rn//O7m0f8/+HiU/tr8r\\n9HYF/rGbfS155UJzZc6s5mqszzvTT23akkr/qN2q3ZvXc72fL7QXm+2Xee9oZ/8YE9vbb6w5Gtda\\nY01is3jfu/JHNb2+r5u5acc6YwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdxfIPcnYnnnvzN2b\\ns1VT8fEZY2fGqU1ba6efdjVW9Zmz167mZnVjrJ+t9/fqeq739+anrmrGp+fO9mutPmdc+1uNv8t/\\nQZ8PlovqfMQ+PvpwtUbqe382L/m0ezV7ucyvtp7av8cy7rnq55nlZ7HU97bX9fhn9vOu2fPsuOaN\\nc/pa1a/33Hpqbp69utTM2r7GLF+xq2tvrSdOgAABAgQIECBAgAABAgQIECBAgAABAgQIEHiXwMrd\\nx9W9V9feq5vlxtjVcZ+Xftp65/TTzmKVS36l3auZ5Xqs93OWWewoV/nxyTpjvMbJpZ3V9Lqxv1Xf\\n4+Pa47jXPqr/xAv6wr964TnOHcezj7dSU/NSlzZrZXzUztbInFlujGW/asun5vYnsbQ9N/ZTk3bM\\nvzLu73Rlndn8vGudd3z2cr02dYnN1krubDuufXa+egIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA\\nEwXO3pHs1W/lZvExtjfuuVn/bCz1ve39+o5741luFsvvYcztrb+Xm60zq8++W23W2cr3NVOzMie1\\nY/vK3HGtTxk/8X/ivmC2Lk9n8TE2jsf1en7WPxtL/VHbzzHWVi5PchlXm1jaWa7H0k/92Cb/Ge34\\nj+ZoXGcaa3LOrXjmVH6vJuuM9atz+nx9AgQIECBAgAABAgQIECBAgAABAgQIECBAgMBPE8hdTNqV\\n90/t3n3MVm4WH2Nnxr02/bT1LumnncWSW2n3as7m9upzzpWa1M7aK7E+Z+zXePbknLPc42Nf7b+g\\nL+xcFl/BXZm/UrO392z+SmysGce1Z2Jb7VZNxcttNq/nql9Paj9G7/s75xl32IqPdRnP6mexqq94\\nPXu/o5Waj1V+/505vyO/e3t7/a7SI0CAAAECBAgQIECAAAECBAgQIECAAAECBAg8X2DvzuTM262s\\ns1czy63Eek3v19kzTttjvT/LJ3alzZzskfGsncVqXj1bucQ/qj7+HmNH477+3jo9t9If953NWamZ\\n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\\nK7lec9Sf5fdiV3P1nTM3bY+N/RrXs1X7kf39d6/7HdWbCnzmheyre63M36vZys3iY2xvvJLrNUf9\\nWf5sbFZfP4DE0x7Fen61P9atjGc1Faunn/Uj8vvvvVyqVmpSu9fetc7eHnIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAgScL3HVRu7LOXs1WbhYfY2fGvfZMf1Y7i9VvIfGxneWuxPqc3s9+PVb9elZz\\nY+2vycP8xLZqk+97Jja2KzXjnD5+dX5fa7P/3f4L+nrRvYvUrdwYH8ezdXvN3f2j9Wb5HssH77H0\\n087eaYxt1fZ49tpqz9RurfFKvP4h3fGPKeuM7StnM5cAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\n8ESB8b4k41ff5cw6Vbv1bOVm8aPYmN8b99ysP4vVOySe9q7Y0To9P/ZrPHtmZ0xdzyU2tls1W/Ga\\nv5cb1//y4ydd0Afz6MJ3L7+Vm8XH2Jlxr+39eoeM0/bYVn9WO4v1+Vv5qqnnKP9Rdf7vvu752edm\\nfIV/jHWGrT/n3kY1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODrCGzdf7zzfmZ17aO6rfwsvhLr\\nNb1fX6uPr/aP5l3JH83pZ++1Pb7Xr9zRM657VH81/1n7XD3f3+Z9xwv6esG9S+Kt3Cw+xs6Me+1W\\nv591q2YWn8XOrlX19RyttVcz5mp89PT9jmrvzNc/zPy5c929tT57v72zyBEgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIEVgQ++34j+1W7+hzVbuVX42PdmXGvPeof5csjNWl7rPeP8lu1Fe/PyjpV3+tW\\nxrOaitUzrvUR/fh7L9frHtP/zMvSu/ZaXWevbis3i4+xM+Ne+87+1bVX5tWPeavuKDfmZ+OK1dP3\\n+Ih8/L0VT81RPnW9vTKnz9cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4R+DKBezRnK38anxW\\n12O9Xwp93Pt7udSlXantNVfn9TWu9Mc5K+NZTcXq6e/xEfn9917ud9X+Gr3uqL+639E6u/kn/hf0\\n9UIrF6x7NWdys9oxtjdezaUubT5cH6efdrQ4E++12WvW9rreH/c+mjvLJzaum/hKe+UfSs25Mm/l\\nPGoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSOBa7e16zc8ezVzHIrsbFmb9xzW/0SSi5tj53t\\n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\\nBAgQIECAAAECBAgQIECAwHUFhPHX3e3TyQS2TxzLfnAPll29gxMgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECAwUEMQPxM7YSjCbcSv5ZnJP8u3ERAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvkE\\nBPD5dpJqIsFrqnWUHsZdKr0+wxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwICN93gDzeFxCq\\n7ht5I17APYw31oEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB2E7K7BVMFBKNT+TVPLOD/RuLl\\nGI0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAoISAML7EmQxIgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE\\nCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECLqHpyAAAABsSURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg\\nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA\\nAQIECBAgQIAAAQIECBD4EvgDp1pjNUxbwpQAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 28,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from IPython.display import Image\\n\",\n    \"Image(filename='img/grid.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Changing Code** I then (1) modified `action` within the `LearningAgent`'s `update` function in `agent.py` to make the car choose actions randomly instead of not at all:\\n\",\n    \"\\n\",\n    \"<pre>\\n\",\n    \"action = random.choice([None, 'forward', 'left', 'right'])\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"and (2) set `enforce_deadline=False`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"\\n\",\n    \"1. Observe what you see with the agent's behavior as it takes random actions.\\n\",\n    \"    - The agent can be blocked at one intersection for multiple turns because it wants to e.g. turn right at a green light, which is not allowed. (Reward = -0.5 for that turn) \\n\",\n    \"    - The agent often goes around in loops.\\n\",\n    \"2. Does the smartcab eventually make it to the destination?\\n\",\n    \"    - It did in Trial 1. It did not in Trial 2: it hit the  hard time limit (-100) and the trial aborted. (See console output below)\\n\",\n    \"3. Are there any other interesting observations to note?\\n\",\n    \"    - The agent can move through the rightmost side of the grid to end up on the left side of the grid. Similarly, it can move through the topmost side of the grid and reappear at the bottom and vice versa.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Console output for Trial 2 - Did not make it to destination\\n\",\n    \"\\n\",\n    \"Simulator.run(): Trial 2\\n\",\n    \"Environment.reset(): Trial set up with start = (7, 1), destination = (6, 6), deadline = 30\\n\",\n    \"RoutePlanner.route_to(): destination = (6, 6)\\n\",\n    \"LearningAgent.update(): deadline = 30, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = 29, inputs = {'light': 'green', 'oncoming': None, 'right': 'forward', 'left': None}, action = right, reward = 2.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = 1, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = right, reward = 2.0\\n\",\n    \"LearningAgent.update(): deadline = 0, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -1.0\\n\",\n    \"LearningAgent.update(): deadline = -1, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': None}, action = forward, reward = -1.0\\n\",\n    \"...\\n\",\n    \"LearningAgent.update(): deadline = -99, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = None, reward = 0.0\\n\",\n    \"LearningAgent.update(): deadline = -100, inputs = {'light': 'green', 'oncoming': None, 'right': None, 'left': None}, action = left, reward = -0.5\\n\",\n    \"Environment.step(): Primary agent hit hard time limit (-100)! Trial aborted.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Inform the Driving Agent\\n\",\n    \"\\n\",\n    \"### QUESTIONS:\\n\",\n    \"- What states have you identified that are appropriate for modeling the smartcab and environment? \\n\",\n    \"- Why do you believe each of these states to be appropriate for this problem?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States:\\n\",\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Why it's appropriate</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Where we want to go next to get to our destination</td><td>If there were no traffic lights or other cars, next_waypoint would give us the optimal next action we should take to reach our destination. That somewhat models our ideal action.</td><td>self.next_waypoint</td><td>None, 'forward', 'left', 'right' (Though if it's `None` we'll have reached our destination and won't care)</td><td>4 (3 without `None`)</td></tr>\\n\",\n    \"<tr><td>Traffic light</td><td>Traffic lights will give part of the constraints that determine whether or not taking certain actions will be effective and what rewards they will receive.</td><td>inputs['light']</td><td>green, red</td><td>2</td></tr>\\n\",\n    \"<tr><td>Oncoming (cars)</td><td>Similar to traffic lights, oncoming cars (straight ahead) are a constraint on our actions. We don't want to crash into another car. We want the algorithm to learn that crashing is bad.</td><td>inputs['oncoming']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the car immediately to the left wants to do</td><td>If the car to the left is going to turn right, you don't want to turn left and crash into it.</td><td>inputs['left']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"<tr><td>What the cars immediately to the right wants to do</td><td>Similar to inputs['left'].</td><td>inputs['right']</td><td>None, 'forward', 'left', 'right'</td><td>4</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"**OPTIONAL**: \\n\",\n    \"- How many states in total exist for the smartcab in this environment? \\n\",\n    \"- Does this number seem reasonable given that the goal of Q-Learning is to learn and make informed decisions about each state? Why or why not?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Total number of states**: 4^4 * 2 = 512 states.\\n\",\n    \"\\n\",\n    \"The minimum 'deadline' is `minimum distance` x 5 = 4 x \\n\",\n    \"5 = 20 and the maximum is 12 x 5 = 60. \\n\",\n    \"\\n\",\n    \"If we suppose that the car takes an average of at least 20 turns per trial and that each state has the same likelihood of being visited, that means **each state will be visited an average of** 20 turns x 100 trials / 512 states i.e. about **4 times**. This is **reasonable but is still quite low**.\\n\",\n    \"\\n\",\n    \"This low number is **why I did not include further state attributes** I considered (see boloew) because that would only reduce the number of visits to each state even further.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"States that I considered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>Attribute</th><th>Info source</th><th>Possible values</th><th>Number of possible values</th>\\n\",\n    \"<tr><td>Deadline</td><td>deadline</td><td><ul>\\n\",\n    \"<li>Impossible: if compute_dist < deadline.</li><li>Possible: if compute_dist >= deadline</li></ul></td><td>2</td></tr>\\n\",\n    \"<tr><td>Location relative to destination</td><td>Primary agent coordinates, destination coordinates</td><td>8\\\\*6-10=38 coordinate pairs, discounting rotational and reflective symmetries.</td><td>38</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Glossary**:\\n\",\n    \"- Coordinate grid: (1,1) is top left and increases to the right and down. Bottom right is (8,6).\\n\",\n    \"- Headings: Directions car is facing. [(1,0),(0,-1),(-1,0),(0,1)] # ENWS\\n\",\n    \"- inputs['right'] means that there is a car to the primary agent's immediate right. (See image below) The attribute value indicates what that car wants to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"Image(filename=\\\"img/input_right.png\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Implement a Q-Learning Driving Agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Q-learning algorithm** The crux of the Q-learning algorithm is \\n\",\n    \"<pre>\\n\",\n    \"new_q = old_q*(1 - self.alpha) + self.alpha*(reward + self.gamma * max_state2_q)\\n\",\n    \"</pre>\\n\",\n    \"\\n\",\n    \"in the `learn_q` function in `agent.py`.\\n\",\n    \"\\n\",\n    \"**Choosing actions** The agent chooses the best action to take by choosing the action with the maximum Q-value for the corresponding state. It chooses a random action if there are multiple actions where the resulting Q-value = maxQ.\\n\",\n    \"\\n\",\n    \"**Exploration** The agent also chooses a random action with probability epsilon. This allows it to escape if it 'gets stuck' in some suboptimal local optima.\\n\",\n    \"\\n\",\n    \"**Decaying learning rate (1/t)** The initial learning rate is high at Alpha=1 so the agent learns quickly. As time goes on, the agent becomes more confident with what it's learned and is less persuaded by new information.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### **QUESTION**: \\n\",\n    \"- What changes do you notice in the agent's behavior when compared to the basic driving agent when random actions were always taken? Why is this behavior occurring?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent is **more likely to take actions corresponding to `next_waypoint`** when those are viable because it receives a reward of 2.0 if it can execute that action without penalty and is learning to behave in ways that **maximise total expected reward**.\\n\",\n    \"\\n\",\n    \"The agent is **less likely to take actions tha result in penalties** (crashing into cars, making illegal moves or making moves that are legal but are not equal to `next_waypoint` so they are further from the destination) because those usually do not maximise reward. It does learn to make legal but 'incorrect' moves rather than crash into a car.\\n\",\n    \"\\n\",\n    \"The agent **reaches the destination more frequently**: after implementing Q-learning, it reaches the destination in time over 80% of the time, whereas while it was moving randomly it reached the destination in time less than 10% of the time. The agent does not just move randomly in loops any more. \\n\",\n    \"\\n\",\n    \"As the agent **gains experience**, it is less likely to go around in loops or get penalised for going against traffic rules or crashing into other cars.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Notes: Debugging 'Implementing a Q-Learning Driving Agent'\\n\",\n    \"1. I realised the agent wasn't acting because the `count` variable was defined wrongly: \\n\",\n    \"    - `count` was used to see there were multiple actions with `q-value = maxQ` for that state. \\n\",\n    \"    - If `count` > 1, we would randomly choose one action out of the set of actions where `q-value = maxQ`.\\n\",\n    \"    - `count` was wrongly defined as `len([maxq])`, which is always equal to one since it is an array with a float in it.\\n\",\n    \"    - It should've been `len([i in q if q[i] == max_q])` instead.\\n\",\n    \"    - Because it was defined wrongly, the agent kept choosing the first of all the actions that had the same q-value.\\n\",\n    \"    - This meant the agent often chose `None`.\\n\",\n    \"2. I'd forgotten to incorporate `next_waypoint` into my state. Pretty silly.\\n\",\n    \"3. I wanted to print results after every turn for debugging purposes and put `self.results` in TrafficLight instead of Environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Improve the Q-Learning Driving Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.1 Planning\\n\",\n    \"\\n\",\n    \"**Procedure**:\\n\",\n    \"1. Run each configuration 50 times (50 sets of 100 trials)\\n\",\n    \"2. Write metrics into separate file\\n\",\n    \"3. Convert to summary statistics over 50 sets\\n\",\n    \"4. Observe statistics\\n\",\n    \"4. Alter list of configurations as appropriate and repeat until satisfied\\n\",\n    \"\\n\",\n    \"The **metrics considered** were\\n\",\n    \"- **Total number of successful outcomes** (out of 100) because unsuccessful outcomes (Trial aborted because car did not make it in time) indicates **inefficiency**.\\n\",\n    \"    - **Average buffer** (Time left / Initial deadline) -> Indicates how efficient the driving agent was.\\n\",\n    \"\\n\",\n    \"- **Average number of incorrect actions per trial** (penalties of -1.0) because this indicates an action was **unsafe**.\\n\",\n    \"\\n\",\n    \"The parameters considered were\\n\",\n    \"- Exploration rate Epsilon (epsilon)\\n\",\n    \"- Discount rate Gamma (gamma)\\n\",\n    \"- Learning rate Alpha (alpha) \\n\",\n    \"- Default Q value (if one did not exist before (default_q)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4.2 Optimising\\n\",\n    \"\\n\",\n    \"#### 4.2.1 Optimising for Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.20</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>87.78</td><td>0.5179</td><td>1.0810</td></tr>\\n\",\n    \"<tr><td>0.10</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>94.20</td><td>0.5709</td><td>0.5732</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>98.36</td><td>0.5829</td><td>0.1926</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** It seems like the smaller Epsilon is, the greater the proportion of successes, the greater the average buffer and the smaller the average number of penalties.\\n\",\n    \"\\n\",\n    \"**Interpretation** This makes sense: the learning does not 'get stuck' often in ways that we need random actions to get it back on track, so random actions only decrease performance. It seems intuitive enough that we don't have to try a variety of epsilon values over some other combination of gamma and alpha.\\n\",\n    \"\\n\",\n    \"**Next actions** For the rest of the trials we will experiment with epsilon values of 0.01 and 0.05 for robustness. We want an algorithm that will drive safely even if it goes haywire sometimes.\\n\",\n    \"\\n\",\n    \"Once we have chosen our gamma and alpha, we will optimise for epsilon.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.2 Optimising for Gamma (and Alpha)\\n\",\n    \"\\n\",\n    \"Gamma takes values between zero and one, so I first tested gamma values from four quartiles to get an idea of how our metrics changed with Gamma.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/t'</td><td>0.0</td><td>94.02</td><td>0.5573</td><td>0.3822</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/t'</td><td>0.0</td><td>75.30</td><td>0.5399</td><td>0.6030</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations** \\n\",\n    \"* It seems that the number of successes are higher if Gamma is lower. and buffer are higher if gamma is lower. \\n\",\n    \"* The average penalty decreases slightly as Gamma increases from 0.01 to 0.25 before increasing again at Gamma=0.5. \\n\",\n    \"* Likewise, the average buffer increases slightly as Gamma increases from 0.01 to 0.25 before decreasing again at Gamma=0.5.\\n\",\n    \"\\n\",\n    \"**Next actions** This motivates us to try more Gamma values in the range (0,0.5).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.3 Pre-emptive checking for robustness\\n\",\n    \"\\n\",\n    \"We need to test if our observations for Gamma hold for different values of Alpha. I tested gamma values from the four quartiles with Alpha=1/t^2 instead of Alpha=1/t and obtained similar results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.75</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>93.76</td><td>0.5539</td><td>0.3888</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.99</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>69.60</td><td>0.5312</td><td>0.7028</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observation** The **trend differences** were that average penalties continued to decrease as Gamma was increased up to 0.50. \\n\",\n    \"\\n\",\n    \"**Decision-making and next actions** The decrease in average penalty from Gamma=0.25 to Gamma=0.50 was smaller than 0.01 but came at the cost of a decrease in average successes of over 1 as well as a decrease in the average buffer, so I decided it was **not worthwhile to experiment with increasing Gamma beyond 0.25**.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.4 Continue optimising for Gamma\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Alpha = '1.0/t'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/t'</td><td>0.0</td><td>97.18</td><td>0.5726</td><td>0.3538</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/t'</td><td>0.0</td><td>96.50</td><td>0.5709</td><td>0.3664</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Alpha = '1.0/(t^0.5)'\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.25</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.68</td><td>0.5722</td><td>0.3636</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.50</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>96.62</td><td>0.5696</td><td>0.3616</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Observations**: For Alpha = 1/t, we have Gamma=1.0 having a higher average number of successes, the highest average buffer and a lower average penalty than Gamma=0.01 but higher than Gamma=0.2. There is thus an argument for **setting Gammma to be around 0.1**.\\n\",\n    \"\\n\",\n    \"For Alpha = 1/(t^0.5), we still have Gamma=0.01 with the marginally highest average successes. There is still a tradeoff between (1) average successes and (2) average buffer (up to Gamma=0.2) and decreasing average penalties (up to Gamma=0.25). It is less clear where we'd want to set Gamma to be in this case if we do not make value judgements about which metrics matter more. If we do make value judgements, I would argue that **setting Gamma to be around 0.01** would be appropriate because an increase in successes of 0.3 trials (per 100) is more important than decreasing average penalty by 0.008 per trial.\\n\",\n    \"\\n\",\n    \"**Next Actions**: It seems that we have a general idea of where the optimal Gamma is going to be and that the precise optimal gamma may depend on our choice of Alpha. Thus we should begin to optimise Alpha before we further narrow down our choice of Gamma.\\n\",\n    \"\\n\",\n    \"We will try various Alpha = 11/(t^exp) where exp=0.01, 0.25, 0.5, 0.75 and 1, with Gamma=0.01, 0.10 and 0.20.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.5 Optimising for Alpha\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"<table>\\n\",\n    \"\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.72</td><td>0.5761</td><td>0.3618</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5722</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>98.06</td><td>0.5709</td><td>0.3710</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.84</td><td>0.5713</td><td>0.3718</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.01</td><td>'1.0/t'</td><td>        0.0</td><td>98.00</td><td>0.5705</td><td>0.3694</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.001)'</td><td>0.0</td><td>97.72</td><td>0.5733</td><td>0.3616</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>98.06</td><td>0.5723</td><td>0.3608</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.98</td><td>0.5682</td><td>0.3638</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.80</td><td>0.5707</td><td>0.3788</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.10</td><td>'1.0/t'</td><td>        0.0</td><td>98.10</td><td>0.5747</td><td>0.3604</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>97.80</td><td>0.5653</td><td>0.3730</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.25)'</td><td>0.0</td><td>97.60</td><td>0.5724</td><td>0.3606</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.5)'</td><td>0.0</td><td>97.76</td><td>0.5767</td><td>0.3568</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/(t^0.75)'</td><td>0.0</td><td>97.88</td><td>0.5694</td><td>0.3632</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>0.20</td><td>'1.0/t'</td><td>        0.0</td><td>97.12</td><td>0.5685</td><td>0.3834</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAkAAAAFDCAYAAADS5rEFAAAgAElEQVR4Xu2dB5gUxfa3D0jOOUqQ\\nLBhQQVS4iIKAgOSgEhXJyUAUjKggoCTJiAgoICAZBQQVkSiIcEEkCYKI5CRI3O/51f16/7PLzu6c\\n6p7d2Z1fPc99vOz2qa56q3f6nVNV3ckiIiKGCwsJkAAJkAAJkAAJhBGBZBERERFh1F92lQRIgARI\\ngARIgASEAsSLgARIgARIgARIIOwIUIDCbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrsh\\nZ4dJgARIgARIgAQoQLwGSIAESIAESIAEwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7\\nAhSgsBtydpgESIAESIAESIACxGuABEiABEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIg\\nARIggbAjQAEKuyFnh0mABEiABEiABChAvAZIgARIgARIgATCjgAFKOyGnB0mARIgARIgARKgAPEa\\nIAESIAESIAESCDsCFKCwG3J2mARIgARIgARIgALEa4AESIAESIAESCDsCFCAwm7I2WESIAESIAES\\nIAEKEK8BEiABEiABEiCBsCNAAQq7IWeHSYAESIAESIAEKEC8BkiABEiABEiABMKOAAUo7IacHSYB\\nEiABEiABEqAA8RogARIgARIgARIIOwIUoLAbcnaYBEiABEiABEiAAsRrgARIgARIgARIIOwIUIDC\\nbsjZYRIgARIgARIgAQoQrwESIAESIAESIIGwI0ABCrshZ4dJgARIgARIgAQoQLwGSIAESIAESIAE\\nwo4ABSjshpwdJgESIAESIAESoADxGiABEiABEiABEgg7AhSgsBtydpgESIAESIAESIACxGuABEiA\\nBEiABEgg7AhQgMJuyNlhEiABEiABEiABChCvARIgARIgARIggbAjQAEKuyFnh0mABEiABEiABChA\\nvAYSFYHvvvtOvvrqK9m3b59cunRJMmfOLPfcc480bdpUihUr5mlfLl++LG3btpUuXbpIxYoVXddt\\nU9/s2bPlhx9+kI8++sj1+bUV3Lx5U1q0aCElSpSQN99885bwzZs3y6uvvipoY7Zs2VTVT548Wdat\\nWydTpkxRxYXawQcPHpR27drJmDFjDKfYyj///CNLly414/nXX38J/p0lSxYpUKCAVK5cWerUqRNq\\n3WN7SCBJE6AAJenhTTqdi4iIkKFDh8qqVaukevXq8tBDD0mmTJnkxIkT8s0338jWrVulV69eUrVq\\nVatOf/LJJ0amGjZsGBl//fp1GTRokDRp0kRKlSplVa9vkE19uFlu27ZNunXr5vr82grWr18vQ4YM\\nEYjb559/fovkUIBEAhWgvXv3GonEdQzRgSylSJHCXL8///yzYfvCCy9oh4jHkwAJuCBAAXIBj6Hx\\nRwDfnEeMGCEDBgyQRx999JYTI0OCzNCkSZMkX758qoZBTDp06CC1a9eOIkCqSpLgwWCdJ08e+eWX\\nX+Sxxx6TZ599NkovKUCBCdCFCxfM9ZU3b14ZOHCgpEuXLgleLewSCSQ+AhSgxDdmYdni559/XnLl\\nyiWDBw+Osf9XrlyRZs2aSY0aNaRTp07mGEyznDx50nzjnjBhguzfv18yZMhgBArftlOnTi2HDh2S\\n3r17y+nTp6PUO3fuXEmbNq2RIkzzQABQkInB/z979qysXLnS/BeSgCm40qVLm3Pu2LHDfNNH1qhr\\n165migPl6tWrt9SH83/88ceya9cuk2lBJuC+++6T7t27mwxB9KkiSAcYIDODuJ07d0ry5MlNRgE3\\n2SJFikT249SpU0YIkWE4c+aMaZNTqlSpIv379/d7LSEzgekvnAdtg4BOnz5dkiVLFhkTXYCc/uGc\\ny5cvN5k5TFOiTZhKLFu2bGQs+rVx40bT5qlTp8rvv/8uGTNmlPLly5spJWT3nLJ9+3b58ssvZc+e\\nPXLu3DnJmTOn1KtXTxo0aBDr38LXX38tK1askD/++MOwL1SokDz33HNy//33R8ZhPB9//HEzHYVj\\ncb3kyJHDZBmbN28epb+HDx+W8ePHC9qDawdTrrje3nvvvVinwGbNmiWffvqp4Ye6AymBtt32WnR7\\nLSPedlwC6T+PIYH4IEABig/KPIcrApAMTENhLU79+vX91vX666/L8ePHzU3KESCsGbrjjjvMTRWi\\n8uuvvxqBuPfee6Vv376CdS6Qp2eeecb8r27duiYW8hOTsOCGiZs1bsBoU6pUqYykLFmyxNzAcUOv\\nVKmS/Pvvv/L+++8b8Zg4cWKMAgQhQVYFbWnUqJGp68iRI+Z/kDmnD75rZRzpQJYLPLD+CeI0cuRI\\nwTQL1tTg5uzc4NAPTA1CKJYtWyZjx46Vd955x8iIc1xMQHHDxnQj/guRQjtxoy9XrlycAgQxwDhh\\n3dS1a9fM9Bn4gIMjg2CG9mTNmlXatGkjBQsWlKNHj5p+3HXXXSbT5xSIJqaaHnnkEdMP/HvmzJlm\\nHB944AG/1wNELHv27HL33XfLbbfdZoTxv//9rxERR7Cc8YQEQfggoJhOxXRVx44dI68HMEY7IeGQ\\nOYz1Tz/9ZPigj7GtAYIE43zgF2jRtN3mWnSuD9trGfG24xIoAx5HAsEmQAEKNmHW75oAMje4Gb31\\n1lvmJuivjB49Wr7//ntB9saRByzQnTFjhuTOnTsybM2aNUYCsO4nf/785ue4Ybdq1SrKFJg/ATp/\\n/rzJWjjZEEfQsP4IUuWULVu2mH9/8cUX5kYfvT5kMxo3bixvv/22PPzwwzF2K6YMEDJSL7/8sjz5\\n5JORMchy4MaMqcCSJUsaEUQG48MPPzQC4BT8DJLnCFZMJ3UWP9eqVctIAUq/fv0kTZo08sYbb8Qp\\nQMiK9OzZM/I4iF779u2laNGikXzQL4wNhKx48eKRx86bN89IxaJFi/yOsyOONWvWlNatWwd8fUEs\\nkQHCWjInGwUBgqTinJAkp+D6gPS8++675kcYQxwDmcNaMafgOvjss89iFSCMMQSrc+fOUdp648aN\\nKP/2PX/0Tvlru+21iPrRdzfx0dtoOy4BDyAPJAGPCVCAPAbK6rwncODAAZNZsREgTCU4QuS0DNMd\\nEB7f9UQaAUIW4LXXXovS0SeeeMJIGjI5TnHEDdNvmAaKSaiwJgSihJskxAHTO77FnwAhm4LMllMu\\nXrxopoQcmcLUGqb5kFHB1JxTIHkQJ2S7/JUNGzYIsmnTpk2LbA/EEuIAAYDMofibAsON1cmkOecY\\nN26cyZggC4PiZM0WLFgQpRk//vijyb7g5+nTp/fbxh49epgpKM3icKz1Qt8xdth15UgApqV8xQ4/\\nh5hhKhPtRsE4QRbAwLdgfRRkL7YMEMYFU2rO1KwTj2vGt0QXdd/f+Wu77bXo9N1NfEyDYzMufgeZ\\nvyCBIBOgAAUZMKt3T8DJlGAqAel+fwU3MWQ+nJsWbrK4oSLTE70gewCpctaRaAQIN1580PsW3Myi\\nZ2UcAcKUHLIfMQkQvjV/++23snjxYrOex1kDU7hw4UhRiGkKLPrWc0eAIA+YekK9yAhhquyVV14x\\nUzZY44IbNfhgyslfgRhifU5MBWuxHHnyJ0C+a6acOiBOc+bMkfnz50f2K6axcQQIx2G9Fsrq1auj\\nrOXBmicsLEaGyp8AgTWySZC5Y8eOCbItiEO2J7oAxTSeECDIDeQV5aWXXjIyiL75FkfOYxMgTL9i\\nATTk1LdgTRMK1lgh3hEgt20P5Fp0BMj2WrYdF/efBqyBBLwjQAHyjiVrCiIB3MyxhseZkoh+Ktw0\\nnEXQyMSgQICwMww3Qt/iCJVtBsj2phGTAPm2C+tccMPFOiVIGzIt/jJAcQkQ6sWamhdffNGsR8J6\\nH0gVMkC+U2LROTqLnyGbmErzLcik7d6920wFYfrPnwDFJKqYnsR2ft8MUEzPAYouQJgKg7BBOLG2\\nypEijHGZMmX8ChAyNuCIBe44LmXKlGahM0TXRoAgL1jQHX0RPvqENVaxCRBkCplISKDTfl+uDkdH\\ngNy2PT4EyHZcgvgRwapJQE2AAqRGxoCEIIAFs8OHDzfTIzE9lBDigCwKFo/i27YjQBAFZwrKaTeO\\nww0Z6zecLfOQJ9wcfaeG/K0BCpYAoX1OJsdZ4OtGgLBuBRkQLMaGAARSMO0FacS6FmRMfAsyFlh4\\n7bTNnwBhfHwfnIjpm5YtW5p1N3369Ikcm0AECPUga4OpPKdARDBemFbylwFCZu+pp54SZKyc4siK\\njQBBXrCbK7rEQFoghLEJEEQUa6CQ3cPOO+zui02A3LY9PgTIdlwCuQZ5DAnEFwEKUHyR5nlcEXAe\\nhIjpIqzjwIMQ8W0a25axGwXrS/Bt39mu7ggQshbIHGG66/bbb4+cbkA2Acc7BTcmPJ0XWSEs9nW2\\nK8e0Dd4rAYLsQDQqVKhg2ojdaBA9ZAtwU8VTgt0IELawI6ODhcLYYYYbL3ZF+S7i9R0UZ/EzxAI7\\nnmIqWMcCaYRE+BMgnAc3cYwFpp7QR4xP9F1ggQgQhAxTZ5h6wjoqjBGkA1vSMYb+BAjTfsj0YX0O\\ndmBB3iCE2PWEBd2+a4ACmQLDWIEj1l1hITWuPUyRYbs/6o7rSdBYeA9xBDtM3aEvyMqhXkw3Lly4\\nMHIKzG3b40OAbMfF1YcAg0nAYwIUII+BsrrgEoAAQRLwKgxM7TivwkBGAOtsfAvkAc8qwQ0Ba0pw\\n88RaGDwDB1NqvtvA//zzT/nggw/MzQxbxzFtgbqDKUBoP86Jxba4WWPRL3ZEYZrqzjvvjDFT4u/h\\ng9HXACEYmRxkzXyf/4OfQx4hetG3wTuLn7FN3HfXnC9TbGfHzR7b0LHt3vdVGE7GDNNV2EqO5w9B\\n6jAuMT0HKBABQjzOh2OR+cE2eggImIGfPwFC1gVZPqyvgdhhGgzZK2TD8MwmrQCBAdb7QOKwlR47\\ntiCu2NmFnXXgHNerMLBTD0IOLhB3jAseiggxx9Z/7LjDv922PT4EyHZcgvvpwNpJQEeAAqTjxaMT\\nEQEIEF7n4Kw7SURNd91UTO9hPQ0yW3gAINbs4Hk1WJiNaShMDcW2oNymAY4A+Xtat02djCEBEiCB\\nYBGgAAWLLOtNcAJJ5YWbNiCx5gZrYJDtiF6QacA0IjIXXpa4Fnl7eS7WRQIkQAJuCVCA3BJkfMgS\\nCGcBwm45TLlg+zamjbAQGVMreL4Oprqws0r7zrS4BpoCFBch/p4ESCCUCFCAQmk02BZPCYSzAGG9\\nDBaqYu0MXmWB9SZ4jg1eu4H1Us4TsL0ETgHykibrIgESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5\\nIWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiABEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsn\\nARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIg\\nARIgARIINgEKULAJs34SIAESIAESIIGQI0ABCrkhYYNIgARIgARIgASCTYACFGzCrJ8ESIAESIAE\\nSCDkCFCAQm5I2CASIAESIAESIIFgE6AABZsw6ycBEiABEiABEgg5AhSgkBsSNogESIAESIAESCDY\\nBChAwSbM+kmABEiABEiABEKOAAUo5IaEDSIBEiABEiABEgg2AQpQsAmzfhIgARIgARIggZAjQAEK\\nuSFhg0iABEiABEiABIJNgAIUbMKsnwRIgARIgARIIOQIUIBCbkjYIBIgARIgARIggWAToAAFmzDr\\nJwESIAESIAESCDkCFKCQGxI2iARIgARIgARIINgEKEDBJsz6SYAESIAESIAEQo4ABSjkhoQNIgES\\nIAESIAESCDYBClCwCbN+EiABEiABEiCBkCNAAQq5IWGDSIAESIAESIAEgk2AAhRswqyfBEiABEiA\\nBEgg5AhQgEJuSNggEiABEiABEiCBYBOgAAWbMOsnARIgARIgARIIOQIUoJAbEjaIBEiABEiABEgg\\n2AQoQMEmzPpJgARIgARIgARCjgAFKOSGhA0iARIgARIgARIINgEKULAJs34SIAESIAESIIGQI0AB\\n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\\nJB0C/w89EjM+/RL7LQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<IPython.core.display.Image object>\"\n      ]\n     },\n     \"execution_count\": 29,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Image(filename='img/heatmap-alpha-gamma.png') \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(Alpha=0.01 was doing so well I decided to try Alpha=0.001. The heat map is not continuous which seems strange.)\\n\",\n    \"\\n\",\n    \"For Gamma=0.01, the difference between different alphas seems insignificant with the exception of exponent=0.75.\\n\",\n    \"* Pick exp=0.25\\n\",\n    \"\\n\",\n    \"For Gamma=0.1, it seems like performance plotted against the exponent of (1/t) is shaped like x^2, where exponent = 0.25 and 1 perform best.\\n\",\n    \"* Pick exp=0.01\\n\",\n    \"\\n\",\n    \"For Gamma=0.2, \\n\",\n    \"* Pick exp=0.75\\n\",\n    \"\\n\",\n    \"**Overall**: pick Gamma=0.1, Alpha=1/(t^0.01).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.6 Optimising Epsilon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.000</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.70</td><td>0.5861</td><td>0.1706</td></tr>\\n\",\n    \"<tr><td>0.000001</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.90</td><td>0.5885</td><td>0.1728</td></tr>\\n\",\n    \"<tr><td>0.000005</td><td>0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.96</td><td>0.5869</td><td>0.1686</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>0.001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.98</td><td>0.5963</td><td>0.1692</td></tr>\\n\",\n    \"<tr><td>0.01</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.66</td><td>0.5884</td><td>0.2058</td></tr>\\n\",\n    \"<tr><td>0.05</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>98.34</td><td>0.5737</td><td>0.3634</td></tr>\\n\",\n    \"</table>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose epsilon = 0.00001.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4.2.7 Optimising default Q-value\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>epsilon</th><th>gamma</th><th>alpha</th><th>default_q</th><th>successes</th><th>avg_buf</th><th>avg_penalties</th>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.0</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>0.5</td><td>98.66</td><td>0.5889</td><td>0.1760</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>1.0</td><td>98.88</td><td>0.5886</td><td>0.1844</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.0</td><td>99.12</td><td>0.5912</td><td>0.1848</td></tr>\\n\",\n    \"<tr><td>0.00001</td><td>    0.10</td><td>'1.0/(t^0.01)'</td><td>2.5</td><td>98.48</td><td>0.5827</td><td>0.1974</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"successes        98.480000\\n\",\n    \" avg_buffer        0.582687\\n\",\n    \" avg_penalties     0.197400\\n\",\n    \"\\n\",\n    \"A default Q-value of 0.0 has the best performance, though a default Q-value of 2.0 interestingly comes very close. For more robust results, I would try smaller increments of Q with larger 100-trial sets.\\n\",\n    \"\\n\",\n    \"It seems that *moderate optimism in the face of uncertainty* is a less optimal assumption here. \\n\",\n    \"\\n\",\n    \"(Note: I only tested different Q-values on this particular set of epsilon, gamma and alpha values. It is possible higher Q-values will work better for other epsilon, gamma and alpha.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### QUESTIONS:\\n\",\n    \"Parameters chosen:\\n\",\n    \"<table>\\n\",\n    \"<tr><th>Exploration rate Epsilon</th><th>Discount rate Gamma</th><th>Learning rate Alpha</th><th>DefaultQ</th>\\n\",\n    \"<tr><td>0.00001</td><td>0.1</td><td>1/(t^0.01)</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Discussion: How well does the final driving agent perform?\\n\",\n    \"\\n\",\n    \"- An optimal policy would be successful in almost all trials (the exceptions being where it is impossible for some reason). That is' it would attain close to 100 successes per 100 trials.\\n\",\n    \"- It would be efficient and thus approach the theoretical maximum buffer of 0.8 (since deadline = compute_dist * 5)\\n\",\n    \"- It would maxmise net reward and thus likely incur close to zero -1.0 penalties.\\n\",\n    \"\\n\",\n    \"#### Comparing our driving agent to the optimal policy\\n\",\n    \"<table>\\n\",\n    \"<th>Policy</th><th>Avg successes per 100 trials</th><th>Average buffer (proportion) per trial</th><th>Number of -1.0 penalties</th>\\n\",\n    \"<tr><td>Our agent</td><td>99.12</td><td>0.5926</td><td>0.1640</td></tr>\\n\",\n    \"<tr><td>Optimal policy</td><td>100</td><td>Close to 0.8 (approaching from below)</td><td>Likely 0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"* Judging by the the Average Successes per 100 trials, our policy is close to the optimal policy.\\n\",\n    \"\\n\",\n    \"* As noted before, it's hard to know what the optimal policy's average buffer would be so although there is a gap, we don't know how great the gap between our policy and the optimal one is.\\n\",\n    \"\\n\",\n    \"* There are still a significant number of penalties occurring (violations of traffic rules or crashing). This is suboptimal.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Penalties that occurred in the last 10 trials in a set:**\\n\",\n    \"\\n\",\n    \"Trial 94:\\n\",\n    \"\\n\",\n    \"* next_waypoint:  forward\\n\",\n    \"* q:  [0.0, 0.0, 0.0, 0.0]\\n\",\n    \"* max_q:  0.0\\n\",\n    \"* action:  forward\\n\",\n    \"* LearningAgent.update(): deadline = 32, inputs = {'light': 'red', 'oncoming': None, 'right': None, 'left': 'left'},             action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"Trial 99:\\n\",\n    \"* next_waypoint:  forward\\n\",\n    \"* q:  [0.0, 0.0, 0.0, -0.48971014879346336]\\n\",\n    \"* max_q:  0.0\\n\",\n    \"* action:  forward\\n\",\n    \"* LearningAgent.update(): deadline = 26, inputs = {'light': 'red', 'oncoming': None, 'right': 'forward', 'left': None},             action = forward, reward = -1.0\\n\",\n    \"\\n\",\n    \"The penalties occur because the agent has had little (99) or no (94) previous experience in this state. These are usually states where `oncoming`, `right`, or `left` are not blank.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We then conclude that **our policy is efficient but not nearly as safe as it could be**.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p4-smartcab/smartcab_parameter_search.csv",
    "content": "epsilon, gamma, alpha, defaultq, successes, avg_buffer, avg_penalties\n0.2, 0.5, '1.0/t', 0.0, 88,0.52269751082251081, 1.06 \n0.2, 0.5, '1.0/t', 0.0, 86,0.49981358434846801, 1.04 \n0.2, 0.5, '1.0/t', 0.0, 87,0.49572523262178447, 0.99 \n0.2, 0.5, '1.0/t', 0.0, 91,0.51184894470608766, 1.25 \n0.2, 0.5, '1.0/t', 0.0, 86,0.56855599181180583, 1.21 \n0.2, 0.5, '1.0/t', 0.0, 92,0.54491098876968447, 0.97 \n0.2, 0.5, '1.0/t', 0.0, 82,0.52509045155386613, 1.07 \n0.2, 0.5, '1.0/t', 0.0, 84,0.49827853363567653, 1.27 \n0.2, 0.5, '1.0/t', 0.0, 88,0.47624475272202543, 1.11 \n0.2, 0.5, '1.0/t', 0.0, 89,0.54870429819868027, 0.86 \n0.2, 0.5, '1.0/t', 0.0, 85,0.52116348357524833, 1.07 \n0.2, 0.5, '1.0/t', 0.0, 83,0.48744119334480779, 1.41 \n0.2, 0.5, '1.0/t', 0.0, 82,0.54053619821912502, 1.01 \n0.2, 0.5, '1.0/t', 0.0, 88,0.48919823232323234, 1.18 \n0.2, 0.5, '1.0/t', 0.0, 87,0.47430395913154533, 1.05 \n0.2, 0.5, '1.0/t', 0.0, 86,0.51147311990335242, 1.17 \n0.2, 0.5, '1.0/t', 0.0, 88,0.54518094910140358, 1.03 \n0.2, 0.5, '1.0/t', 0.0, 90,0.52661760461760465, 1.16 \n0.2, 0.5, '1.0/t', 0.0, 85,0.51092343604108315, 1.1 \n0.2, 0.5, '1.0/t', 0.0, 87,0.54545811149259416, 0.99 \n0.2, 0.5, '1.0/t', 0.0, 85,0.54773151684916388, 1.02 \n0.2, 0.5, '1.0/t', 0.0, 90,0.51322767356100685, 1.06 \n0.2, 0.5, '1.0/t', 0.0, 86,0.50493816906607603, 1.18 \n0.2, 0.5, '1.0/t', 0.0, 88,0.51880321067821067, 1.1 \n0.2, 0.5, '1.0/t', 0.0, 86,0.50440157387831808, 1.16 \n0.2, 0.5, '1.0/t', 0.0, 89,0.53380798352708458, 1.01 \n0.2, 0.5, '1.0/t', 0.0, 87,0.53285258164568505, 0.98 \n0.2, 0.5, '1.0/t', 0.0, 89,0.47982489420691671, 1.15 \n0.2, 0.5, '1.0/t', 0.0, 94,0.52965567529397317, 1.14 \n0.2, 0.5, '1.0/t', 0.0, 88,0.51946387577069397, 1.08 \n0.2, 0.5, '1.0/t', 0.0, 84,0.55331924689067546, 1.05 \n0.2, 0.5, '1.0/t', 0.0, 86,0.51928386858619424, 1.01 \n0.2, 0.5, '1.0/t', 0.0, 89,0.55139111824505083, 0.97 \n0.2, 0.5, '1.0/t', 0.0, 86,0.50580539615423337, 1.1 \n0.2, 0.5, '1.0/t', 0.0, 89,0.50515694667380062, 1.05 \n0.2, 0.5, '1.0/t', 0.0, 90,0.53396985730319069, 0.94 \n0.2, 0.5, '1.0/t', 0.0, 91,0.50900417043274182, 0.92 \n0.2, 0.5, '1.0/t', 0.0, 90,0.49950793650793651, 1.02 \n0.2, 0.5, '1.0/t', 0.0, 94,0.51921394799054366, 1.16 \n0.2, 0.5, '1.0/t', 0.0, 92,0.52168995859213252, 1.02 \n0.2, 0.5, '1.0/t', 0.0, 93,0.53262331455879841, 0.93 \n0.2, 0.5, '1.0/t', 0.0, 84,0.56007086167800446, 1.1 \n0.2, 0.5, '1.0/t', 0.0, 88,0.51641233766233763, 0.94 \n0.2, 0.5, '1.0/t', 0.0, 84,0.50833616780045365, 1.07 \n0.2, 0.5, '1.0/t', 0.0, 89,0.51914595392123475, 1.1 \n0.2, 0.5, '1.0/t', 0.0, 83,0.50548740416210292, 1.12 \n0.2, 0.5, '1.0/t', 0.0, 92,0.49400221155655943, 1.23 \n0.2, 0.5, '1.0/t', 0.0, 93,0.47504530714208132, 1.06 \n0.2, 0.5, '1.0/t', 0.0, 87,0.52492428388980117, 1.31 \n0.2, 0.5, '1.0/t', 0.0, 89,0.51134174813950084, 1.07 \n0.1, 0.5, '1.0/t', 0.0, 96,0.55835745851370844, 0.61 \n0.1, 0.5, '1.0/t', 0.0, 97,0.5512788414334806, 0.47 \n0.1, 0.5, '1.0/t', 0.0, 89,0.5568637417513822, 0.76 \n0.1, 0.5, '1.0/t', 0.0, 94,0.54013271007951857, 0.67 \n0.1, 0.5, '1.0/t', 0.0, 94,0.56613866629824083, 0.47 \n0.1, 0.5, '1.0/t', 0.0, 91,0.55552328623757197, 0.66 \n0.1, 0.5, '1.0/t', 0.0, 94,0.56300988609499258, 0.56 \n0.1, 0.5, '1.0/t', 0.0, 96,0.60168981481481476, 0.53 \n0.1, 0.5, '1.0/t', 0.0, 95,0.53068990658464343, 0.45 \n0.1, 0.5, '1.0/t', 0.0, 95,0.56385630743525472, 0.52 \n0.1, 0.5, '1.0/t', 0.0, 93,0.5170894040248879, 0.59 \n0.1, 0.5, '1.0/t', 0.0, 95,0.57817961570593157, 0.51 \n0.1, 0.5, '1.0/t', 0.0, 96,0.56596974206349204, 0.5 \n0.1, 0.5, '1.0/t', 0.0, 93,0.59288809756551686, 0.46 \n0.1, 0.5, '1.0/t', 0.0, 90,0.55539089305755962, 0.64 \n0.1, 0.5, '1.0/t', 0.0, 91,0.55054342482913909, 0.6 \n0.1, 0.5, '1.0/t', 0.0, 93,0.52167008021846739, 0.53 \n0.1, 0.5, '1.0/t', 0.0, 97,0.52454076850984066, 0.56 \n0.1, 0.5, '1.0/t', 0.0, 95,0.55862033872560179, 0.62 \n0.1, 0.5, '1.0/t', 0.0, 90,0.48554922238255571, 0.78 \n0.1, 0.5, '1.0/t', 0.0, 93,0.55461341525857655, 0.58 \n0.1, 0.5, '1.0/t', 0.0, 95,0.55075856307435245, 0.63 \n0.1, 0.5, '1.0/t', 0.0, 96,0.56108307780182776, 0.55 \n0.1, 0.5, '1.0/t', 0.0, 93,0.54570963087092117, 0.69 \n0.1, 0.5, '1.0/t', 0.0, 95,0.58305475810738983, 0.67 \n0.1, 0.5, '1.0/t', 0.0, 94,0.54197568389057749, 0.62 \n0.1, 0.5, '1.0/t', 0.0, 94,0.54368287740628174, 0.56 \n0.1, 0.5, '1.0/t', 0.0, 91,0.5581510552939124, 0.7 \n0.1, 0.5, '1.0/t', 0.0, 96,0.51805720899470897, 0.59 \n0.1, 0.5, '1.0/t', 0.0, 95,0.55540517961570601, 0.58 \n0.1, 0.5, '1.0/t', 0.0, 97,0.51443730381874708, 0.64 \n0.1, 0.5, '1.0/t', 0.0, 94,0.58539682539682536, 0.58 \n0.1, 0.5, '1.0/t', 0.0, 85,0.57172676343264572, 0.56 \n0.1, 0.5, '1.0/t', 0.0, 95,0.53736173767752726, 0.48 \n0.1, 0.5, '1.0/t', 0.0, 91,0.57425114567971702, 0.49 \n0.1, 0.5, '1.0/t', 0.0, 95,0.5468585099111416, 0.65 \n0.1, 0.5, '1.0/t', 0.0, 91,0.53390228818800245, 0.38 \n0.1, 0.5, '1.0/t', 0.0, 96,0.54686124639249634, 0.64 \n0.1, 0.5, '1.0/t', 0.0, 97,0.55633618958361231, 0.46 \n0.1, 0.5, '1.0/t', 0.0, 98,0.51083487940630801, 0.53 \n0.1, 0.5, '1.0/t', 0.0, 98,0.57149497894395851, 0.45 \n0.1, 0.5, '1.0/t', 0.0, 94,0.523806146572104, 0.62 \n0.1, 0.5, '1.0/t', 0.0, 98,0.55898040168448337, 0.61 \n0.1, 0.5, '1.0/t', 0.0, 97,0.51837997054491902, 0.6 \n0.1, 0.5, '1.0/t', 0.0, 95,0.55760233918128643, 0.44 \n0.1, 0.5, '1.0/t', 0.0, 95,0.55679577732209318, 0.58 \n0.1, 0.5, '1.0/t', 0.0, 92,0.54627242926155961, 0.53 \n0.1, 0.5, '1.0/t', 0.0, 98,0.56312557057455015, 0.66 \n0.1, 0.5, '1.0/t', 0.0, 96,0.55958077801827799, 0.46 \n0.1, 0.5, '1.0/t', 0.0, 92,0.53874145178493005, 0.64 \n0.05, 0.5, '1.0/t', 0.0, 96,0.53677496693121696, 0.43 \n0.05, 0.5, '1.0/t', 0.0, 93,0.56138838461419116, 0.45 \n0.05, 0.5, '1.0/t', 0.0, 98,0.58965824425008095, 0.35 \n0.05, 0.5, '1.0/t', 0.0, 98,0.59676009364784877, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 99,0.57925029515938598, 0.29 \n0.05, 0.5, '1.0/t', 0.0, 98,0.60357474158494562, 0.33 \n0.05, 0.5, '1.0/t', 0.0, 95,0.581596870965292, 0.37 \n0.05, 0.5, '1.0/t', 0.0, 96,0.56446894540644543, 0.31 \n0.05, 0.5, '1.0/t', 0.0, 97,0.60396312164353394, 0.28 \n0.05, 0.5, '1.0/t', 0.0, 97,0.6054244209398848, 0.33 \n0.05, 0.5, '1.0/t', 0.0, 98,0.57551844980416411, 0.35 \n0.05, 0.5, '1.0/t', 0.0, 95,0.54002756892230575, 0.44 \n0.05, 0.5, '1.0/t', 0.0, 96,0.55296672077922071, 0.43 \n0.05, 0.5, '1.0/t', 0.0, 98,0.56043893747975382, 0.39 \n0.05, 0.5, '1.0/t', 0.0, 97,0.53887140923223398, 0.44 \n0.05, 0.5, '1.0/t', 0.0, 97,0.56505727376861392, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 96,0.51868731962481962, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 96,0.58216292388167379, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 98,0.56562645404482137, 0.34 \n0.05, 0.5, '1.0/t', 0.0, 92,0.6013276397515529, 0.46 \n0.05, 0.5, '1.0/t', 0.0, 93,0.52922341696535247, 0.45 \n0.05, 0.5, '1.0/t', 0.0, 97,0.60121383198702794, 0.35 \n0.05, 0.5, '1.0/t', 0.0, 97,0.58462816679311524, 0.34 \n0.05, 0.5, '1.0/t', 0.0, 95,0.542475051264525, 0.46 \n0.05, 0.5, '1.0/t', 0.0, 99,0.57577404638010699, 0.32 \n0.05, 0.5, '1.0/t', 0.0, 90,0.61799871733205058, 0.38 \n0.05, 0.5, '1.0/t', 0.0, 98,0.57304907677356653, 0.29 \n0.05, 0.5, '1.0/t', 0.0, 99,0.59886892008104131, 0.3 \n0.05, 0.5, '1.0/t', 0.0, 97,0.55175644515850708, 0.38 \n0.05, 0.5, '1.0/t', 0.0, 98,0.59103660511823775, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 97,0.58217476681394198, 0.41 \n0.05, 0.5, '1.0/t', 0.0, 98,0.53636930529787674, 0.38 \n0.05, 0.5, '1.0/t', 0.0, 96,0.53995137385762393, 0.29 \n0.05, 0.5, '1.0/t', 0.0, 100,0.56184675324675326, 0.39 \n0.05, 0.5, '1.0/t', 0.0, 97,0.5674079528718704, 0.33 \n0.05, 0.5, '1.0/t', 0.0, 93,0.55354412015702337, 0.45 \n0.05, 0.5, '1.0/t', 0.0, 97,0.5693798069055801, 0.3 \n0.05, 0.5, '1.0/t', 0.0, 100,0.6059214285714285, 0.36 \n0.05, 0.5, '1.0/t', 0.0, 96,0.56512385762385764, 0.5 \n0.05, 0.5, '1.0/t', 0.0, 98,0.56905895691609976, 0.28 \n0.05, 0.5, '1.0/t', 0.0, 96,0.56398118085618087, 0.41 \n0.05, 0.5, '1.0/t', 0.0, 97,0.563091295874801, 0.37 \n0.05, 0.5, '1.0/t', 0.0, 95,0.56899316473000683, 0.37 \n0.05, 0.5, '1.0/t', 0.0, 92,0.5563995545517284, 0.37 \n0.05, 0.5, '1.0/t', 0.0, 90,0.51202990219656896, 0.41 \n0.05, 0.5, '1.0/t', 0.0, 98,0.57248763141620285, 0.41 \n0.05, 0.5, '1.0/t', 0.0, 100,0.54707005772005779, 0.37 \n0.05, 0.5, '1.0/t', 0.0, 98,0.59901669758812626, 0.3 \n0.05, 0.5, '1.0/t', 0.0, 98,0.61301020408163265, 0.26 \n0.05, 0.5, '1.0/t', 0.0, 96,0.60939619408369416, 0.3 \n0.01, 0.5, '1.0/t', 0.0, 98,0.61360065671290165, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 100,0.56471428571428572, 0.23 \n0.01, 0.5, '1.0/t', 0.0, 97,0.57634920634920639, 0.15 \n0.01, 0.5, '1.0/t', 0.0, 97,0.62080555183647956, 0.17 \n0.01, 0.5, '1.0/t', 0.0, 99,0.55092767501858408, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 98,0.59536170745354422, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 98,0.57323453190800122, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 98,0.59025105280207324, 0.17 \n0.01, 0.5, '1.0/t', 0.0, 97,0.58853951890034362, 0.22 \n0.01, 0.5, '1.0/t', 0.0, 99,0.57385070036585195, 0.26 \n0.01, 0.5, '1.0/t', 0.0, 99,0.5810591484833908, 0.14 \n0.01, 0.5, '1.0/t', 0.0, 95,0.59945697577276513, 0.21 \n0.01, 0.5, '1.0/t', 0.0, 100,0.60340649350649356, 0.21 \n0.01, 0.5, '1.0/t', 0.0, 97,0.55662084765177555, 0.14 \n0.01, 0.5, '1.0/t', 0.0, 99,0.60293249959916628, 0.18 \n0.01, 0.5, '1.0/t', 0.0, 99,0.61575210984301887, 0.18 \n0.01, 0.5, '1.0/t', 0.0, 100,0.61039365079365071, 0.18 \n0.01, 0.5, '1.0/t', 0.0, 97,0.55821231460406717, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 98,0.56171930677032722, 0.15 \n0.01, 0.5, '1.0/t', 0.0, 97,0.60464839856592434, 0.21 \n0.01, 0.5, '1.0/t', 0.0, 98,0.56416696115675702, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 97,0.58117820324005887, 0.18 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58074955908289239, 0.14 \n0.01, 0.5, '1.0/t', 0.0, 99,0.57188114915387644, 0.24 \n0.01, 0.5, '1.0/t', 0.0, 98,0.60229429867184969, 0.17 \n0.01, 0.5, '1.0/t', 0.0, 100,0.57632171717171721, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 98,0.58915061695673943, 0.16 \n0.01, 0.5, '1.0/t', 0.0, 99,0.57351932018598695, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 100,0.57365476190476195, 0.23 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58723767254070292, 0.14 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58668656259565355, 0.26 \n0.01, 0.5, '1.0/t', 0.0, 100,0.58569747474747469, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 98,0.55319484936831875, 0.18 \n0.01, 0.5, '1.0/t', 0.0, 98,0.56665046971169419, 0.21 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58321709155042478, 0.15 \n0.01, 0.5, '1.0/t', 0.0, 100,0.57955317460317468, 0.22 \n0.01, 0.5, '1.0/t', 0.0, 98,0.60939342403628116, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 100,0.59265995670995675, 0.17 \n0.01, 0.5, '1.0/t', 0.0, 100,0.56601984126984128, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 99,0.57780663780663777, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 98,0.56918367346938781, 0.17 \n0.01, 0.5, '1.0/t', 0.0, 95,0.57836447178552441, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 97,0.56490918016691216, 0.2 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58789321789321791, 0.16 \n0.01, 0.5, '1.0/t', 0.0, 98,0.5888196100951204, 0.23 \n0.01, 0.5, '1.0/t', 0.0, 99,0.58594837261503918, 0.19 \n0.01, 0.5, '1.0/t', 0.0, 98,0.5768328327001796, 0.23 \n0.01, 0.5, '1.0/t', 0.0, 98,0.56058772859793271, 0.26 \n0.01, 0.5, '1.0/t', 0.0, 96,0.61278521825396826, 0.21 \n0.01, 0.5, '1.0/t', 0.0, 100,0.57831349206349214, 0.21 \n0.05, 0.25, '1.0/t', 0.0, 98,0.6070517860823984, 0.39 \n0.05, 0.25, '1.0/t', 0.0, 95,0.58806288448393695, 0.28 \n0.05, 0.25, '1.0/t', 0.0, 97,0.60150466372115852, 0.38 \n0.05, 0.25, '1.0/t', 0.0, 97,0.58432974814418115, 0.33 \n0.05, 0.25, '1.0/t', 0.0, 97,0.57156111929307807, 0.43 \n0.05, 0.25, '1.0/t', 0.0, 100,0.59136861471861468, 0.42 \n0.05, 0.25, '1.0/t', 0.0, 98,0.55583274435315244, 0.34 \n0.05, 0.25, '1.0/t', 0.0, 96,0.56730376683501682, 0.3 \n0.05, 0.25, '1.0/t', 0.0, 98,0.59468820861677985, 0.35 \n0.05, 0.25, '1.0/t', 0.0, 95,0.54312280701754378, 0.43 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55542419779533181, 0.44 \n0.05, 0.25, '1.0/t', 0.0, 92,0.57396221532091107, 0.41 \n0.05, 0.25, '1.0/t', 0.0, 95,0.5902787271208324, 0.32 \n0.05, 0.25, '1.0/t', 0.0, 98,0.60390206732043472, 0.36 \n0.05, 0.25, '1.0/t', 0.0, 98,0.59035213652560592, 0.39 \n0.05, 0.25, '1.0/t', 0.0, 99,0.55438745317533189, 0.34 \n0.05, 0.25, '1.0/t', 0.0, 99,0.55442680776014119, 0.34 \n0.05, 0.25, '1.0/t', 0.0, 99,0.57354147535965716, 0.33 \n0.05, 0.25, '1.0/t', 0.0, 96,0.57424685846560841, 0.33 \n0.05, 0.25, '1.0/t', 0.0, 98,0.59241415613864601, 0.39 \n0.05, 0.25, '1.0/t', 0.0, 98,0.57442500809847752, 0.36 \n0.05, 0.25, '1.0/t', 0.0, 96,0.5238492063492064, 0.38 \n0.05, 0.25, '1.0/t', 0.0, 96,0.59295386904761915, 0.41 \n0.05, 0.25, '1.0/t', 0.0, 96,0.55208987193362191, 0.44 \n0.05, 0.25, '1.0/t', 0.0, 96,0.5483209325396825, 0.37 \n0.05, 0.25, '1.0/t', 0.0, 92,0.54144496204278802, 0.37 \n0.05, 0.25, '1.0/t', 0.0, 100,0.55603910533910539, 0.33 \n0.05, 0.25, '1.0/t', 0.0, 96,0.58305472883597875, 0.32 \n0.05, 0.25, '1.0/t', 0.0, 95,0.5787602339181287, 0.31 \n0.05, 0.25, '1.0/t', 0.0, 99,0.52448671418368387, 0.44 \n0.05, 0.25, '1.0/t', 0.0, 98,0.57446947610212917, 0.25 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55437400514720103, 0.39 \n0.05, 0.25, '1.0/t', 0.0, 96,0.56952689093314091, 0.26 \n0.05, 0.25, '1.0/t', 0.0, 95,0.60473266499582301, 0.39 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55838584668481572, 0.37 \n0.05, 0.25, '1.0/t', 0.0, 99,0.59991181657848325, 0.29 \n0.05, 0.25, '1.0/t', 0.0, 98,0.58163552433960597, 0.42 \n0.05, 0.25, '1.0/t', 0.0, 98,0.58535876255264008, 0.32 \n0.05, 0.25, '1.0/t', 0.0, 99,0.60100820615972117, 0.32 \n0.05, 0.25, '1.0/t', 0.0, 96,0.54836144179894186, 0.4 \n0.05, 0.25, '1.0/t', 0.0, 99,0.58814530587257874, 0.28 \n0.05, 0.25, '1.0/t', 0.0, 99,0.58489687641202792, 0.29 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55709659183885984, 0.43 \n0.05, 0.25, '1.0/t', 0.0, 96,0.5956448412698413, 0.36 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55880007735677839, 0.28 \n0.05, 0.25, '1.0/t', 0.0, 97,0.55831072135195847, 0.4 \n0.05, 0.25, '1.0/t', 0.0, 99,0.55836583730523126, 0.26 \n0.05, 0.25, '1.0/t', 0.0, 100,0.54646868686868688, 0.26 \n0.05, 0.25, '1.0/t', 0.0, 96,0.57612238455988452, 0.4 \n0.05, 0.25, '1.0/t', 0.0, 100,0.59010772005772016, 0.29 \n0.05, 0.01, '1.0/t', 0.0, 99,0.56737825586310442, 0.33 \n0.05, 0.01, '1.0/t', 0.0, 97,0.56594828996890845, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 99,0.59318568076143841, 0.31 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58138933062402454, 0.37 \n0.05, 0.01, '1.0/t', 0.0, 100,0.55861111111111117, 0.34 \n0.05, 0.01, '1.0/t', 0.0, 97,0.54545491736213392, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 96,0.57423881673881672, 0.25 \n0.05, 0.01, '1.0/t', 0.0, 96,0.5786571067821068, 0.39 \n0.05, 0.01, '1.0/t', 0.0, 99,0.58893691605812815, 0.36 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58864247430573968, 0.4 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58602445740200848, 0.42 \n0.05, 0.01, '1.0/t', 0.0, 99,0.57885674931129472, 0.32 \n0.05, 0.01, '1.0/t', 0.0, 97,0.57854442808051054, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 95,0.56522214627477796, 0.39 \n0.05, 0.01, '1.0/t', 0.0, 98,0.57893004387902336, 0.42 \n0.05, 0.01, '1.0/t', 0.0, 96,0.57617807539682542, 0.36 \n0.05, 0.01, '1.0/t', 0.0, 99,0.56425444925444934, 0.42 \n0.05, 0.01, '1.0/t', 0.0, 98,0.57308220690873757, 0.32 \n0.05, 0.01, '1.0/t', 0.0, 99,0.58172803066742462, 0.36 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58409319138910987, 0.47 \n0.05, 0.01, '1.0/t', 0.0, 98,0.56927143151632942, 0.39 \n0.05, 0.01, '1.0/t', 0.0, 98,0.56910276231704804, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 98,0.57913994169096217, 0.36 \n0.05, 0.01, '1.0/t', 0.0, 99,0.54682940516273848, 0.29 \n0.05, 0.01, '1.0/t', 0.0, 97,0.54242431680576009, 0.47 \n0.05, 0.01, '1.0/t', 0.0, 100,0.53985800865800859, 0.37 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58775767882910734, 0.37 \n0.05, 0.01, '1.0/t', 0.0, 100,0.61395974025974032, 0.33 \n0.05, 0.01, '1.0/t', 0.0, 96,0.62758928571428563, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 99,0.58266095296398324, 0.43 \n0.05, 0.01, '1.0/t', 0.0, 98,0.57985179786200192, 0.4 \n0.05, 0.01, '1.0/t', 0.0, 98,0.52490443796566244, 0.45 \n0.05, 0.01, '1.0/t', 0.0, 99,0.54206349206349203, 0.41 \n0.05, 0.01, '1.0/t', 0.0, 98,0.55815943693494707, 0.38 \n0.05, 0.01, '1.0/t', 0.0, 98,0.56487719763229971, 0.4 \n0.05, 0.01, '1.0/t', 0.0, 100,0.55405000000000004, 0.28 \n0.05, 0.01, '1.0/t', 0.0, 99,0.55197202909324128, 0.4 \n0.05, 0.01, '1.0/t', 0.0, 96,0.53746099386724389, 0.42 \n0.05, 0.01, '1.0/t', 0.0, 97,0.56061692030764187, 0.42 \n0.05, 0.01, '1.0/t', 0.0, 97,0.58223575965843999, 0.34 \n0.05, 0.01, '1.0/t', 0.0, 95,0.56733120680489102, 0.39 \n0.05, 0.01, '1.0/t', 0.0, 95,0.5742364243943191, 0.38 \n0.05, 0.01, '1.0/t', 0.0, 99,0.5567349541591966, 0.35 \n0.05, 0.01, '1.0/t', 0.0, 99,0.55833333333333335, 0.36 \n0.05, 0.01, '1.0/t', 0.0, 98,0.59581581117295401, 0.32 \n0.05, 0.01, '1.0/t', 0.0, 98,0.58284661483641076, 0.38 \n0.05, 0.01, '1.0/t', 0.0, 98,0.5664789292340312, 0.38 \n0.05, 0.01, '1.0/t', 0.0, 100,0.58341746031746022, 0.4 \n0.05, 0.01, '1.0/t', 0.0, 100,0.5398405483405484, 0.32 \n0.05, 0.01, '1.0/t', 0.0, 99,0.57557239057239062, 0.3 \n0.05, 0.75, '1.0/t', 0.0, 99,0.58616679056072996, 0.3 \n0.05, 0.75, '1.0/t', 0.0, 91,0.50573783359497648, 0.46 \n0.05, 0.75, '1.0/t', 0.0, 97,0.57098823284390299, 0.3 \n0.05, 0.75, '1.0/t', 0.0, 89,0.56407639800898224, 0.38 \n0.05, 0.75, '1.0/t', 0.0, 93,0.58164230631972558, 0.28 \n0.05, 0.75, '1.0/t', 0.0, 94,0.55441282122133195, 0.45 \n0.05, 0.75, '1.0/t', 0.0, 85,0.54536329683388507, 0.33 \n0.05, 0.75, '1.0/t', 0.0, 93,0.55755162997098473, 0.35 \n0.05, 0.75, '1.0/t', 0.0, 95,0.59138512949039268, 0.36 \n0.05, 0.75, '1.0/t', 0.0, 96,0.54059320887445883, 0.3 \n0.05, 0.75, '1.0/t', 0.0, 96,0.56741018819143818, 0.35 \n0.05, 0.75, '1.0/t', 0.0, 97,0.53685633953675183, 0.44 \n0.05, 0.75, '1.0/t', 0.0, 96,0.5367228084415584, 0.42 \n0.05, 0.75, '1.0/t', 0.0, 97,0.53450804064206126, 0.39 \n0.05, 0.75, '1.0/t', 0.0, 97,0.57256504663721164, 0.44 \n0.05, 0.75, '1.0/t', 0.0, 99,0.56712041045374384, 0.38 \n0.05, 0.75, '1.0/t', 0.0, 97,0.51636705791344972, 0.46 \n0.05, 0.75, '1.0/t', 0.0, 93,0.5597508107185527, 0.33 \n0.05, 0.75, '1.0/t', 0.0, 94,0.55639725522704242, 0.49 \n0.05, 0.75, '1.0/t', 0.0, 99,0.54748516915183576, 0.35 \n0.05, 0.75, '1.0/t', 0.0, 89,0.53895666131621189, 0.32 \n0.05, 0.75, '1.0/t', 0.0, 90,0.55768783068783079, 0.43 \n0.05, 0.75, '1.0/t', 0.0, 96,0.58385664682539684, 0.36 \n0.05, 0.75, '1.0/t', 0.0, 98,0.59332236357746571, 0.39 \n0.05, 0.75, '1.0/t', 0.0, 99,0.56878780590901801, 0.33 \n0.05, 0.75, '1.0/t', 0.0, 96,0.53603851010101, 0.33 \n0.05, 0.75, '1.0/t', 0.0, 96,0.5683151455026455, 0.43 \n0.05, 0.75, '1.0/t', 0.0, 90,0.54542448292448298, 0.58 \n0.05, 0.75, '1.0/t', 0.0, 96,0.59079966329966327, 0.36 \n0.05, 0.75, '1.0/t', 0.0, 96,0.57777206589706587, 0.35 \n0.05, 0.75, '1.0/t', 0.0, 93,0.56701298701298708, 0.39 \n0.05, 0.75, '1.0/t', 0.0, 91,0.59547182975754398, 0.41 \n0.05, 0.75, '1.0/t', 0.0, 96,0.55584332912457912, 0.39 \n0.05, 0.75, '1.0/t', 0.0, 87,0.50667827702310464, 0.41 \n0.05, 0.75, '1.0/t', 0.0, 93,0.51781548200903038, 0.38 \n0.05, 0.75, '1.0/t', 0.0, 99,0.55238729284183818, 0.34 \n0.05, 0.75, '1.0/t', 0.0, 91,0.49751090179661611, 0.49 \n0.05, 0.75, '1.0/t', 0.0, 98,0.55501604970992724, 0.31 \n0.05, 0.75, '1.0/t', 0.0, 96,0.55411120129870139, 0.28 \n0.05, 0.75, '1.0/t', 0.0, 91,0.57319989534275251, 0.56 \n0.05, 0.75, '1.0/t', 0.0, 97,0.59374875410957884, 0.37 \n0.05, 0.75, '1.0/t', 0.0, 88,0.55619195198740656, 0.44 \n0.05, 0.75, '1.0/t', 0.0, 96,0.58079545454545445, 0.32 \n0.05, 0.75, '1.0/t', 0.0, 92,0.51976315954576824, 0.37 \n0.05, 0.75, '1.0/t', 0.0, 97,0.59360988381606938, 0.25 \n0.05, 0.75, '1.0/t', 0.0, 87,0.55591133004926097, 0.46 \n0.05, 0.75, '1.0/t', 0.0, 93,0.55664478890285329, 0.36 \n0.05, 0.75, '1.0/t', 0.0, 93,0.56095075175720344, 0.43 \n0.05, 0.75, '1.0/t', 0.0, 87,0.54442163838715552, 0.38 \n0.05, 0.75, '1.0/t', 0.0, 93,0.57524181911278682, 0.33 \n0.05, 0.99, '1.0/t', 0.0, 80,0.50912896825396825, 0.36 \n0.05, 0.99, '1.0/t', 0.0, 77,0.55157362118401077, 0.4 \n0.05, 0.99, '1.0/t', 0.0, 87,0.54723565706324317, 0.43 \n0.05, 0.99, '1.0/t', 0.0, 59,0.51582299997554237, 0.44 \n0.05, 0.99, '1.0/t', 0.0, 91,0.57804005518291235, 0.36 \n0.05, 0.99, '1.0/t', 0.0, 78,0.50091371591371603, 0.74 \n0.05, 0.99, '1.0/t', 0.0, 51,0.50962736609795434, 0.45 \n0.05, 0.99, '1.0/t', 0.0, 68,0.56596458280281814, 0.47 \n0.05, 0.99, '1.0/t', 0.0, 66,0.48699254449254459, 0.46 \n0.05, 0.99, '1.0/t', 0.0, 81,0.59113480483850855, 0.27 \n0.05, 0.99, '1.0/t', 0.0, 65,0.50669719169719163, 0.85 \n0.05, 0.99, '1.0/t', 0.0, 70,0.52173582766439919, 0.66 \n0.05, 0.99, '1.0/t', 0.0, 83,0.51568551261322337, 0.65 \n0.05, 0.99, '1.0/t', 0.0, 54,0.56346707818930042, 0.44 \n0.05, 0.99, '1.0/t', 0.0, 88,0.54500762495080679, 0.52 \n0.05, 0.99, '1.0/t', 0.0, 91,0.51966335252049534, 1.05 \n0.05, 0.99, '1.0/t', 0.0, 69,0.56942834138486309, 0.45 \n0.05, 0.99, '1.0/t', 0.0, 78,0.56432141932141922, 0.75 \n0.05, 0.99, '1.0/t', 0.0, 82,0.52556523422377077, 0.56 \n0.05, 0.99, '1.0/t', 0.0, 72,0.52746693121693111, 0.53 \n0.05, 0.99, '1.0/t', 0.0, 74,0.5761529386529386, 0.99 \n0.05, 0.99, '1.0/t', 0.0, 88,0.55093975468975465, 0.36 \n0.05, 0.99, '1.0/t', 0.0, 61,0.51642348543987893, 1.08 \n0.05, 0.99, '1.0/t', 0.0, 78,0.49569088319088322, 0.45 \n0.05, 0.99, '1.0/t', 0.0, 69,0.57887508626639061, 1.52 \n0.05, 0.99, '1.0/t', 0.0, 79,0.53469304254114369, 2.68 \n0.05, 0.99, '1.0/t', 0.0, 95,0.55745454545454554, 0.35 \n0.05, 0.99, '1.0/t', 0.0, 73,0.52150052382929091, 0.58 \n0.05, 0.99, '1.0/t', 0.0, 69,0.55982757178409348, 0.58 \n0.05, 0.99, '1.0/t', 0.0, 92,0.5839977413890457, 0.88 \n0.05, 0.99, '1.0/t', 0.0, 52,0.54079115329115335, 0.64 \n0.05, 0.99, '1.0/t', 0.0, 79,0.57804482437393834, 0.43 \n0.05, 0.99, '1.0/t', 0.0, 69,0.52897829223916193, 0.56 \n0.05, 0.99, '1.0/t', 0.0, 68,0.54657212885154072, 0.43 \n0.05, 0.99, '1.0/t', 0.0, 94,0.51777562862669246, 0.61 \n0.05, 0.99, '1.0/t', 0.0, 85,0.61651914098972926, 0.31 \n0.05, 0.99, '1.0/t', 0.0, 95,0.58836272499430398, 0.34 \n0.05, 0.99, '1.0/t', 0.0, 26,0.51537240537240536, 0.7 \n0.05, 0.99, '1.0/t', 0.0, 53,0.51407157831686134, 0.48 \n0.05, 0.99, '1.0/t', 0.0, 36,0.56081790123456798, 0.46 \n0.05, 0.99, '1.0/t', 0.0, 96,0.52731120731120729, 0.55 \n0.05, 0.99, '1.0/t', 0.0, 66,0.53235690235690236, 0.48 \n0.05, 0.99, '1.0/t', 0.0, 92,0.57372843340234658, 0.31 \n0.05, 0.99, '1.0/t', 0.0, 77,0.46787260358688926, 0.41 \n0.05, 0.99, '1.0/t', 0.0, 74,0.51127052377052384, 0.45 \n0.05, 0.99, '1.0/t', 0.0, 92,0.54404056088838704, 0.57 \n0.05, 0.99, '1.0/t', 0.0, 94,0.52769587977034782, 0.31 \n0.05, 0.99, '1.0/t', 0.0, 90,0.52730864197530869, 0.82 \n0.05, 0.99, '1.0/t', 0.0, 68,0.49498132586367888, 0.68 \n0.05, 0.99, '1.0/t', 0.0, 91,0.58817373103087389, 0.3  \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 92,0.5574076949620429, 0.31 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.59810515873015868, 0.45 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 95,0.5551310093415357, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.58643350413758577, 0.35 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 99,0.59581668051365022, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.5553361300783981, 0.38 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.56893041199163641, 0.28 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.55915886267927084, 0.33 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.56292989417989414, 0.35 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 95,0.5724079896711477, 0.44 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 93,0.56018859873698579, 0.42 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.56769605677768942, 0.31 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.55913219083322174, 0.24 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 99,0.61759193668284573, 0.41 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 95,0.54314938862307294, 0.31 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.56738132428854082, 0.47 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 99,0.53948022796507644, 0.38 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.5524929353054352, 0.32 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.58841418604305196, 0.3 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 99,0.5862121212121213, 0.36 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.56318568602073749, 0.44 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.58074547558922551, 0.33 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 100,0.56037619047619047, 0.34 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.56655979437229442, 0.32 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.58959938114577293, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.58411872777852158, 0.28 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.57884371993746997, 0.27 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.58938026094276086, 0.38 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.58289723449517261, 0.36 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.58083581349206348, 0.42 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 94,0.52852790826195095, 0.39 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.56203538359788363, 0.36 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.5677465618281945, 0.42 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.57630878758429771, 0.38 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.55296647230320695, 0.35 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 93,0.60778336358981522, 0.47 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.56641086862736356, 0.31 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 99,0.56733365400032054, 0.34 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.51857142857142857, 0.46 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.60365042174320516, 0.27 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.54969830856428803, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.57752086401570935, 0.31 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 96,0.58887686387686389, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 100,0.56803730158730159, 0.34 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 93,0.5797812999425902, 0.39 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 97,0.54769268532155124, 0.5 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.56524148187413492, 0.38 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 98,0.56818675089083248, 0.26 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 91,0.57345249988107116, 0.37 \n0.05, 0.5, '1.0/(t**0.5)', 0.0, 95,0.53992648287385137, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.58070294784580501, 0.31 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.57127963306534735, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.58453463203463196, 0.33 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 100,0.5690135642135643, 0.32 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.56966927572988191, 0.4 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.58310575998075997, 0.34 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.58837279500544803, 0.28 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.57551917989417989, 0.24 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.5553405629163205, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 97,0.60287387869862097, 0.32 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 97,0.55405624730366998, 0.5 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.60453190800129575, 0.3 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.57647013287638293, 0.44 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 95,0.56955054302422725, 0.43 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.57017963895514912, 0.28 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.58457983626350973, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.56773405046132319, 0.39 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.58427938274877045, 0.37 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 94,0.53229222314328695, 0.44 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.56882154882154878, 0.35 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 97,0.58995685871974535, 0.27 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.56826606842231842, 0.34 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.54290816326530611, 0.39 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.57240723562152129, 0.33 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 94,0.5696688004666729, 0.3 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.60778182701652084, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.55359088722725092, 0.47 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.58494227994227987, 0.3 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.5968855218855218, 0.4 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.55425471920369873, 0.45 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 100,0.58835634920634927, 0.31 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.53944437082192187, 0.42 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.5385546664334544, 0.38 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.56905543530543534, 0.36 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 95,0.5475574542416648, 0.3 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.56847903230556296, 0.33 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 97,0.57328424153166413, 0.4 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.54731388226286182, 0.45 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.55791265423918479, 0.39 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 100,0.57011479076479077, 0.37 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.59469233147804568, 0.39 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.55391178549341813, 0.33 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.56981616456106254, 0.35 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 96,0.59603670634920636, 0.41 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.57791602897663497, 0.41 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 98,0.55406668728097308, 0.29 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.5430814639905549, 0.44 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.59653278819945488, 0.42 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.60999037999037986, 0.3 \n0.05, 0.25, '1.0/(t**0.5)', 0.0, 99,0.58082112612415648, 0.32 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.58474667308000638, 0.37 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.55344661638476078, 0.36 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.55894467502714928, 0.52 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 95,0.59125541125541126, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 100,0.57079740259740253, 0.27 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.59571183112420223, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.53402036235369554, 0.34 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.56760248255146206, 0.34 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.59856107977320105, 0.4 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.60095485883364663, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.59521436753395507, 0.37 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.54843233513336598, 0.42 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.5252080691474631, 0.45 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 96,0.5679918981481481, 0.34 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.57773566569484935, 0.26 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.59003097351582201, 0.37 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.5762651294283947, 0.43 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.55644365735274826, 0.37 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.55098771217327913, 0.31 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 100,0.57910108225108214, 0.38 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.59470954017345767, 0.41 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.59891649733486463, 0.36 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 100,0.56212857142857142, 0.4 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.57850796595694554, 0.44 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.55065678652413341, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.58660768212314607, 0.36 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 100,0.55755476190476183, 0.3 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.5588026731966127, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.56940962099125358, 0.31 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.58978134110787173, 0.36 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.54656275568646695, 0.41 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.58413157549521189, 0.45 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.53229749631811496, 0.4 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.57426222870100418, 0.31 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.57647974591273554, 0.35 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.58970265424810875, 0.31 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.58822051685688059, 0.34 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.55587787495950769, 0.44 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.5934403923797863, 0.36 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.5527233707335748, 0.47 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.55684240362811799, 0.4 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.54167145213063583, 0.37 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 97,0.59557861382603638, 0.29 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.55821156168094954, 0.48 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 96,0.57153604497354493, 0.31 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.58295254128587459, 0.33 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.58906469947286277, 0.33 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.56092933710280646, 0.46 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 99,0.56959195125861795, 0.38 \n0.05, 0.01, '1.0/(t**0.5)', 0.0, 98,0.55275208351738958, 0.37 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.56075967043708974, 0.48 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.55841008872923781, 0.26 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 98,0.58881040727979517, 0.21 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 97,0.54807314678448704, 0.41 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.54938812083973376, 0.36 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.53975020885547198, 0.34 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 97,0.55045737195221733, 0.34 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 96,0.52841269841269833, 0.36 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.59171003265740107, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.55202594299368501, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.56782735185960997, 0.49 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.5478494623655914, 0.3 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.51792944809073849, 0.43 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 92,0.53787612146307784, 0.31 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.57253383458646623, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 89,0.54752314477033581, 0.6 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 88,0.55726100288600289, 0.47 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.53921202910564614, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 85,0.51021288515406182, 0.45 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.53466312056737597, 0.49 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.53811626907371601, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 90,0.50802388969055645, 0.43 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.55188045872256397, 0.35 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 91,0.52332984475841615, 0.44 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 96,0.58322758838383837, 0.31 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.53529004329004315, 0.36 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.57612670483638229, 0.38 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.55956983367509694, 0.34 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 100,0.54384047619047626, 0.32 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.55963893931635855, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 82,0.57300909794812238, 0.42 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 84,0.57845993953136809, 0.51 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 98,0.55137578407986565, 0.31 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 92,0.61185786435786438, 0.3 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 98,0.57762633624878523, 0.34 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 88,0.53168101469237827, 0.41 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.55466841668969324, 0.37 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.55816541353383464, 0.4 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.52878772689299003, 0.48 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.55240073546525159, 0.32 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 94,0.55072480120352474, 0.37 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 93,0.59605137395459973, 0.29 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 96,0.52658422017797024, 0.44 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 97,0.4879919221671799, 0.46 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 99,0.5935204862477591, 0.38 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 97,0.56699974710283985, 0.27 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 95,0.60085266195792519, 0.28 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 99,0.56528779862113199, 0.4 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 92,0.53821169772256727, 0.53 \n0.05, 0.75, '1.0/(t**0.5)', 0.0, 98,0.57233839856288837, 0.41 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 100,0.59637705627705628, 0.37 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.55296893749525333, 0.41 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 100,0.611951443001443, 0.25 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.5424060189524107, 0.47 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.53336491739552971, 0.42 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.55595434868162141, 0.38 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.59271314333814329, 0.41 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.57187766881644431, 0.39 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.58673265392015395, 0.38 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.5715144152899253, 0.35 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.54754373177842564, 0.46 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.58341307814992016, 0.34 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.58637497423211715, 0.31 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.59156223893065984, 0.41 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.58535083883568728, 0.4 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.58974643340622723, 0.31 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.56730986557302343, 0.43 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.6047975380628442, 0.32 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.59797506085384877, 0.31 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.56455186788520129, 0.42 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.58430638227513221, 0.41 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.53233871452621451, 0.32 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.57723930264746581, 0.29 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 100,0.59487409812409819, 0.3 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.57526621145177836, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.56536443148688054, 0.36 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.60363047383455548, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.53125261359955245, 0.38 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.58192560525893866, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.57166254380540094, 0.37 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.56802979287827782, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.5804160654160655, 0.37 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.59958954625621286, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.60313575874181935, 0.24 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.57985438803620626, 0.35 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.58960332649806346, 0.36 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.56180323644609353, 0.25 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.5812739322533137, 0.33 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 95,0.57833583959899748, 0.35 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.56973462301587297, 0.42 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 98,0.60344126395146791, 0.29 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.54815201072776831, 0.47 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 96,0.5760894660894661, 0.3 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.58162658329325001, 0.32 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.59154720994927179, 0.34 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 100,0.55910396825396813, 0.38 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 100,0.57857489177489185, 0.44 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.58335512411269985, 0.26 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 97,0.59488217967599399, 0.35 \n0.05, 0.2, '1.0/(t**0.5)', 0.0, 99,0.55651158045097437, 0.4 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 77,0.50013998988024966, 0.57 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 59,0.51317998385795005, 0.59 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 48,0.47663690476190473, 0.8 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 84,0.53121220710506423, 0.59 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 77,0.53125016397743663, 0.5 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 65,0.54707703407703412, 0.39 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 80,0.55038311688311681, 0.78 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 73,0.53362371266480857, 0.76 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 78,0.55979881229881234, 0.41 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 57,0.52429267613478148, 0.65 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 78,0.52337606837606832, 1.43 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 80,0.50826091269841278, 1.1 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 70,0.51055328798185939, 1.83 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 56,0.56222479901051337, 0.33 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 81,0.52480172091283206, 0.63 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 76,0.53565580618212205, 0.68 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 63,0.56630133534895433, 0.91 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 65,0.55149106449106444, 1.27 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 70,0.50446371882086172, 0.65 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 78,0.51583240833240829, 0.8 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 60,0.51049735449735456, 1.02 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 92,0.54468214756258237, 0.39 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 75,0.53504656084656077, 0.88 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 64,0.53187522546897559, 0.85 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 75,0.5712858104858104, 0.83 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 76,0.498950121515911, 0.64 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 55,0.49809379509379514, 0.43 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 70,0.53042517006802725, 1.15 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 61,0.55552172781680975, 0.69 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 64,0.53607131583694079, 0.75 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 69,0.55525649873475968, 0.7 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 76,0.54207744740639485, 0.43 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 72,0.54577160493827159, 0.91 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 75,0.54035873015873015, 0.61 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 67,0.52883795309168435, 0.61 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 53,0.45367026055705301, 0.45 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 64,0.5927442956349207, 0.86 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 85,0.53207749766573287, 0.4 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 42,0.47736566343709202, 0.75 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 58,0.51207580733442803, 0.74 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 75,0.55659894179894187, 0.5 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 72,0.55344907407407407, 0.54 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 74,0.52948841698841698, 0.67 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 81,0.55571098997024915, 0.34 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 71,0.53469585187895041, 0.66 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 63,0.56009402414164333, 0.44 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 62,0.58864776800260676, 0.72 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 89,0.50408863920099878, 0.72 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 45,0.4564973544973544, 0.35 \n0.05, 0.99, '1.0/(t**0.5)', 0.0, 80,0.55930068542568534, 0.44 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.55946470476773513, 0.31 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.57363073593073599, 0.32 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 96,0.57286503427128432, 0.29 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.55362696226332586, 0.34 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.52889720823394304, 0.44 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 96,0.55307171416546419, 0.38 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.54728103546285367, 0.41 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.5730622239713149, 0.42 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 95,0.57573266499582276, 0.28 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.58230091786792815, 0.3 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.57180883175781139, 0.34 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.57425413022351801, 0.38 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.5351238816738817, 0.39 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.59109476691109342, 0.39 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.57376452299132708, 0.32 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.54850924562264769, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.62140838398414155, 0.38 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.5619023569023569, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 94,0.59769480519480522, 0.34 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.54332050665383991, 0.42 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.56964802665833592, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.57391477365704169, 0.37 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.5816489177489178, 0.42 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.54850367965367963, 0.33 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.57241111111111098, 0.35 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 94,0.60104433391667444, 0.35 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.56291565656565667, 0.35 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.56715448950142833, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.56687266248490731, 0.27 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.56232102364755421, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.58500198780811019, 0.37 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.55573276496745883, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.57162657502863701, 0.33 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.53041707159054097, 0.41 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 95,0.55506068200805048, 0.41 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.59479024943310654, 0.39 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.58577539682539681, 0.37 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.55232665387304569, 0.26 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 100,0.53541320346320354, 0.33 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.58669326745084316, 0.36 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.59507561033071243, 0.33 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.58508427425953202, 0.33 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.569542776810818, 0.45 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.54446638395617986, 0.38 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.58886483886483887, 0.36 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 97,0.54004663721158574, 0.32 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.56703919663103342, 0.4 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.5336960514233241, 0.38 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 99,0.59562049062049072, 0.37 \n0.05, 0.1, '1.0/(t**0.5)', 0.0, 98,0.59440645522278179, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 97,0.56499114859939603, 0.42 \n0.05, 0.1, '1.0/t', 0.0, 99,0.54700883291792379, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 100,0.61034126984126991, 0.23 \n0.05, 0.1, '1.0/t', 0.0, 98,0.5288079777365492, 0.41 \n0.05, 0.1, '1.0/t', 0.0, 97,0.57613721902381698, 0.46 \n0.05, 0.1, '1.0/t', 0.0, 99,0.58016171819202123, 0.39 \n0.05, 0.1, '1.0/t', 0.0, 97,0.58268309010577046, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 98,0.58959102688694531, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 100,0.56510649350649333, 0.27 \n0.05, 0.1, '1.0/t', 0.0, 99,0.58792579474397655, 0.32 \n0.05, 0.1, '1.0/t', 0.0, 100,0.52842301587301599, 0.33 \n0.05, 0.1, '1.0/t', 0.0, 96,0.57222921176046171, 0.41 \n0.05, 0.1, '1.0/t', 0.0, 99,0.56742147302753365, 0.37 \n0.05, 0.1, '1.0/t', 0.0, 98,0.59801138204199433, 0.36 \n0.05, 0.1, '1.0/t', 0.0, 100,0.56654841269841283, 0.45 \n0.05, 0.1, '1.0/t', 0.0, 98,0.54276886945254288, 0.39 \n0.05, 0.1, '1.0/t', 0.0, 99,0.56098546795516491, 0.4 \n0.05, 0.1, '1.0/t', 0.0, 97,0.60671203939245189, 0.28 \n0.05, 0.1, '1.0/t', 0.0, 100,0.5944184704184704, 0.22 \n0.05, 0.1, '1.0/t', 0.0, 97,0.57233676975945025, 0.31 \n0.05, 0.1, '1.0/t', 0.0, 99,0.58577229728744873, 0.31 \n0.05, 0.1, '1.0/t', 0.0, 98,0.58060819565921606, 0.38 \n0.05, 0.1, '1.0/t', 0.0, 98,0.56420229996760607, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 97,0.5767978756638551, 0.36 \n0.05, 0.1, '1.0/t', 0.0, 97,0.6010104729176895, 0.29 \n0.05, 0.1, '1.0/t', 0.0, 99,0.56880770183800478, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 98,0.59386488794652059, 0.32 \n0.05, 0.1, '1.0/t', 0.0, 99,0.55266146311600861, 0.51 \n0.05, 0.1, '1.0/t', 0.0, 98,0.59012736696410162, 0.26 \n0.05, 0.1, '1.0/t', 0.0, 99,0.51935429329368721, 0.32 \n0.05, 0.1, '1.0/t', 0.0, 97,0.57640811651120927, 0.41 \n0.05, 0.1, '1.0/t', 0.0, 99,0.5845159386068477, 0.46 \n0.05, 0.1, '1.0/t', 0.0, 98,0.557357172306152, 0.33 \n0.05, 0.1, '1.0/t', 0.0, 97,0.576211005489356, 0.36 \n0.05, 0.1, '1.0/t', 0.0, 98,0.59817062755838257, 0.34 \n0.05, 0.1, '1.0/t', 0.0, 98,0.5707571340224401, 0.37 \n0.05, 0.1, '1.0/t', 0.0, 97,0.5775207152526739, 0.32 \n0.05, 0.1, '1.0/t', 0.0, 98,0.55930051241275736, 0.43 \n0.05, 0.1, '1.0/t', 0.0, 96,0.6054166666666666, 0.31 \n0.05, 0.1, '1.0/t', 0.0, 98,0.56725807639072945, 0.43 \n0.05, 0.1, '1.0/t', 0.0, 98,0.60329365079365072, 0.34 \n0.05, 0.1, '1.0/t', 0.0, 98,0.56938282239302651, 0.44 \n0.05, 0.1, '1.0/t', 0.0, 98,0.56151669758812617, 0.32 \n0.05, 0.1, '1.0/t', 0.0, 98,0.60467355773478215, 0.26 \n0.05, 0.1, '1.0/t', 0.0, 97,0.58609325954686775, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 98,0.57852688694525434, 0.35 \n0.05, 0.1, '1.0/t', 0.0, 96,0.59235261844636844, 0.41 \n0.05, 0.1, '1.0/t', 0.0, 99,0.57551838733656913, 0.36 \n0.05, 0.1, '1.0/t', 0.0, 99,0.56055796055796059, 0.43 \n0.05, 0.1, '1.0/t', 0.0, 98,0.55462886886356277, 0.48 \n0.05, 0.2, '1.0/t', 0.0, 98,0.55557366669611574, 0.4 \n0.05, 0.2, '1.0/t', 0.0, 98,0.58498395029007266, 0.33 \n0.05, 0.2, '1.0/t', 0.0, 97,0.55179408220645332, 0.3 \n0.05, 0.2, '1.0/t', 0.0, 94,0.58766993644653231, 0.47 \n0.05, 0.2, '1.0/t', 0.0, 95,0.55791835649730392, 0.39 \n0.05, 0.2, '1.0/t', 0.0, 99,0.57723883860247494, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 97,0.60125979976495436, 0.32 \n0.05, 0.2, '1.0/t', 0.0, 98,0.52919633654327536, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 95,0.54543722943722939, 0.45 \n0.05, 0.2, '1.0/t', 0.0, 96,0.56131380772005768, 0.47 \n0.05, 0.2, '1.0/t', 0.0, 72,0.54691358024691361, 0.5 \n0.05, 0.2, '1.0/t', 0.0, 96,0.57774252946127946, 0.43 \n0.05, 0.2, '1.0/t', 0.0, 99,0.5578533531563834, 0.42 \n0.05, 0.2, '1.0/t', 0.0, 100,0.55982936507936509, 0.39 \n0.05, 0.2, '1.0/t', 0.0, 96,0.55812800625300618, 0.43 \n0.05, 0.2, '1.0/t', 0.0, 100,0.56697301587301585, 0.35 \n0.05, 0.2, '1.0/t', 0.0, 98,0.56373479694908268, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 99,0.56718877082513453, 0.38 \n0.05, 0.2, '1.0/t', 0.0, 98,0.57760689990281822, 0.49 \n0.05, 0.2, '1.0/t', 0.0, 99,0.59087243284212976, 0.34 \n0.05, 0.2, '1.0/t', 0.0, 98,0.5507456489089142, 0.32 \n0.05, 0.2, '1.0/t', 0.0, 97,0.57581090730575257, 0.42 \n0.05, 0.2, '1.0/t', 0.0, 97,0.56197185403370964, 0.33 \n0.05, 0.2, '1.0/t', 0.0, 96,0.59925625300625296, 0.37 \n0.05, 0.2, '1.0/t', 0.0, 99,0.5765488944276822, 0.34 \n0.05, 0.2, '1.0/t', 0.0, 98,0.56050129575639773, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 98,0.5220203492652471, 0.35 \n0.05, 0.2, '1.0/t', 0.0, 99,0.5652429052429051, 0.37 \n0.05, 0.2, '1.0/t', 0.0, 97,0.55079536156855746, 0.44 \n0.05, 0.2, '1.0/t', 0.0, 97,0.55089919816723942, 0.35 \n0.05, 0.2, '1.0/t', 0.0, 97,0.5705380758989006, 0.48 \n0.05, 0.2, '1.0/t', 0.0, 98,0.53007266542980824, 0.43 \n0.05, 0.2, '1.0/t', 0.0, 99,0.56853775853775856, 0.5 \n0.05, 0.2, '1.0/t', 0.0, 99,0.61003804276531548, 0.38 \n0.05, 0.2, '1.0/t', 0.0, 98,0.56112745531112873, 0.38 \n0.05, 0.2, '1.0/t', 0.0, 96,0.55880539021164022, 0.4 \n0.05, 0.2, '1.0/t', 0.0, 96,0.58448352573352569, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 96,0.55781197390572379, 0.42 \n0.05, 0.2, '1.0/t', 0.0, 98,0.55795270489148041, 0.45 \n0.05, 0.2, '1.0/t', 0.0, 95,0.54642105263157903, 0.34 \n0.05, 0.2, '1.0/t', 0.0, 98,0.5895176988544335, 0.42 \n0.05, 0.2, '1.0/t', 0.0, 99,0.56619448452781784, 0.37 \n0.05, 0.2, '1.0/t', 0.0, 99,0.60088598831023077, 0.26 \n0.05, 0.2, '1.0/t', 0.0, 98,0.60668168566127756, 0.36 \n0.05, 0.2, '1.0/t', 0.0, 98,0.55213932326177229, 0.37 \n0.05, 0.2, '1.0/t', 0.0, 98,0.57058713961775187, 0.35 \n0.05, 0.2, '1.0/t', 0.0, 99,0.57774651274651267, 0.3 \n0.05, 0.2, '1.0/t', 0.0, 98,0.60559899284389085, 0.3 \n0.05, 0.2, '1.0/t', 0.0, 97,0.57659964891923643, 0.32 \n0.05, 0.2, '1.0/t', 0.0, 100,0.60228650793650784, 0.39 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 96,0.54907828282828286, 0.37 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 95,0.56421553884711773, 0.31 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.57978281355832373, 0.42 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.57399776334776331, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.56619273543515958, 0.36 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.54904174290772223, 0.34 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.55996816471043276, 0.42 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.53253068237604317, 0.4 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 96,0.57286240379990383, 0.3 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.5622091310751105, 0.36 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 94,0.60502778545331748, 0.4 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.55243269637209025, 0.41 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.55419734904270979, 0.31 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.54560926727593395, 0.37 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.57005183025591188, 0.33 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.5744055555555555, 0.33 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.54468417607592856, 0.33 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.60114303205212305, 0.3 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.57369333987890692, 0.29 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.5560628375061365, 0.33 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.5851120929471445, 0.35 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.57660894660894668, 0.29 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.57379038195364729, 0.36 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 94,0.53658845291824009, 0.4 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.56563499425744324, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.57947359598874748, 0.35 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.5880625102274587, 0.34 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.58526507936507943, 0.4 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.56537539682539684, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.54917151311090706, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.59884567322711646, 0.3 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.61272887606220949, 0.39 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.58581065759637185, 0.36 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.60787643195806462, 0.28 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.57826854551344353, 0.46 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.62902936507936502, 0.43 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.56052721088435375, 0.32 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.59838619430456153, 0.39 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 99,0.59139643185097723, 0.35 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.55435213698100294, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 96,0.55441145081770082, 0.5 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.61396582442500813, 0.34 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 98,0.5831122448979591, 0.28 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 100,0.56228903318903312, 0.38 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.53751989705597947, 0.45 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 93,0.57488052568697734, 0.32 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 96,0.58458355880230883, 0.32 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.59323180256169949, 0.37 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 96,0.52814476611351602, 0.42 \n0.05, 0.2, '1.0/(t**0.25)', 0.0, 97,0.58062644114190509, 0.3 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.57060657596371878, 0.38 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.59525090555702809, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.58709190580324599, 0.32 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.52734936831875612, 0.4 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.56376134860509863, 0.39 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.55041576479076482, 0.33 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.57440822365064792, 0.31 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.58365094089583891, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.58396927427230461, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.56114395442520448, 0.32 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.55925298641793497, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.54686669906057661, 0.41 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.57065678652413343, 0.33 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 100,0.54600800865800869, 0.34 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.57970491349279241, 0.41 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.55432229947381451, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.58844214742173917, 0.31 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.55942153493699887, 0.43 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.56915562101129102, 0.33 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.55979407780428181, 0.46 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.60165312012250782, 0.36 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 100,0.55265339105339117, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.57935340146680347, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.57270630411255408, 0.34 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.57036008092709123, 0.3 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.56128910608292049, 0.4 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.60370210854904738, 0.33 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.54568027210884351, 0.39 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.57008412549649656, 0.31 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.55908234126984124, 0.38 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.57134110787171999, 0.36 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.54163596607474152, 0.43 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.59829527048914799, 0.26 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 100,0.56543059163059173, 0.29 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.55931457431457432, 0.36 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.5559182398357656, 0.42 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.5495399886308977, 0.41 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.57775977745049911, 0.45 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.58336197249462551, 0.42 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.57135461760461759, 0.29 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 97,0.57450156945002306, 0.34 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 100,0.54112893217893221, 0.49 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.57402036235369569, 0.39 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 96,0.55906152296777301, 0.37 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 100,0.60050108225108234, 0.4 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.58986313349949704, 0.35 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 99,0.6056239159269462, 0.26 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.59304326059428103, 0.33 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.56099095915422448, 0.45 \n0.05, 0.2, '1.0/(t**0.75)', 0.0, 98,0.55131725417439703, 0.36 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.58864395055116703, 0.44 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 95,0.54978901799954438, 0.51 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.59925865800865796, 0.28 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.55754719817219811, 0.35 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.53774801587301579, 0.38 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.52768143192385619, 0.42 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.56107352092352092, 0.44 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 95,0.55400417710944017, 0.37 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.56923226433430507, 0.28 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.55071100616555158, 0.39 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.57042141531937451, 0.26 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.56162166584846995, 0.36 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.59434343434343428, 0.42 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.5606179138321995, 0.31 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.5824024501575521, 0.33 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.59972218578279179, 0.34 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.60082593237232407, 0.36 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.58574474907808227, 0.44 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 95,0.57077025898078526, 0.4 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.58741890632515636, 0.35 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.56064799783549779, 0.47 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.56882741408251614, 0.44 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.55161167064228289, 0.46 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.52670354337021008, 0.54 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.60618679653679652, 0.29 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.60002525252525241, 0.32 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.56277380952380951, 0.41 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.58162455458373818, 0.34 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.58220649350649345, 0.28 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.56979862914862911, 0.3 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.56374149659863937, 0.34 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.53071634714491855, 0.39 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.56128559648967813, 0.32 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.5863679064699473, 0.44 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.57570375769355364, 0.38 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.57215602267148657, 0.38 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 100,0.57686002886002885, 0.42 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.57687509202815324, 0.35 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.56560628375061373, 0.33 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.56093860684769781, 0.35 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.53523370672855208, 0.43 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.58083657272432787, 0.31 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.58610513504452899, 0.39 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.57828951719576727, 0.45 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.59865837677062173, 0.41 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.57798559973817698, 0.3 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 96,0.57862185846560843, 0.43 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 99,0.58135459938490242, 0.38 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 98,0.55287061577877905, 0.48 \n0.05, 0.1, '1.0/(t**0.75)', 0.0, 97,0.57575274095892659, 0.38 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.56959114959114954, 0.44 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.58559361839974089, 0.37 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 95,0.5392488038277512, 0.41 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.60479091054848633, 0.28 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.56132177429052432, 0.37 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.53802691197691199, 0.42 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.56095682656288715, 0.48 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.60394704621977335, 0.36 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 95,0.57447892458418781, 0.45 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.52909652076318736, 0.4 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.58493160774410768, 0.36 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.57565030774214443, 0.49 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.52747113997113992, 0.4 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.57652192478723097, 0.27 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.57321127326281962, 0.28 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.57310631568207315, 0.33 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.56347460317460307, 0.33 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.59041385281385284, 0.32 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.61539285714285707, 0.33 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.57327826368642687, 0.37 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.55451018935712815, 0.45 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.57889880952380957, 0.45 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.59326653873045621, 0.29 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.54030060075978437, 0.37 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.57706267386679755, 0.32 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.5385216673361003, 0.38 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.5786269841269841, 0.33 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.55953861144582795, 0.33 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.55819751268204876, 0.39 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.56897959183673474, 0.44 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.57032033159584172, 0.39 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.60102416291191818, 0.45 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.59498511904761908, 0.25 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.54263265943678318, 0.4 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.53556216931216927, 0.44 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 96,0.56844824735449728, 0.35 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.55727830588655336, 0.42 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.58144826839826846, 0.39 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.56635325558794947, 0.28 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.53198857259463317, 0.41 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.61179668255425823, 0.38 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.60946954972465173, 0.46 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 99,0.59213003046336377, 0.27 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.56177258594784363, 0.36 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.56415532879818586, 0.42 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.56029700540009819, 0.42 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.60949671643549197, 0.28 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 97,0.59254607935020298, 0.35 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 98,0.56475461613216715, 0.32 \n0.05, 0.01, '1.0/(t**0.75)', 0.0, 100,0.58241096681096682, 0.34 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.59013723089480663, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.55500992063492072, 0.44 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 95,0.57573600668337521, 0.41 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.56499759499759505, 0.38 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.57625675012272948, 0.39 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.59070795417734201, 0.28 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.58695555555555545, 0.36 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.59193503518245782, 0.34 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.56838464005130673, 0.38 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.56062500910985757, 0.32 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.59169713003046331, 0.42 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.53221019721019724, 0.4 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.59003784197661746, 0.25 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.57563244047619044, 0.39 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.60548420715087381, 0.26 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.57469159525281976, 0.38 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.59350569183902524, 0.39 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.59481894841269844, 0.37 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.57746753246753246, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.55204081632653068, 0.36 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.58327591080168395, 0.43 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.57352460464705357, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.57152266404843721, 0.46 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.57445486612153274, 0.28 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.5702508490387278, 0.36 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.59651225063596203, 0.38 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.57969990079365075, 0.32 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.56265714285714286, 0.36 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.59190888476602754, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.56629706490531229, 0.36 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.55537168218986388, 0.47 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.52843809523809526, 0.41 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.59092316017316016, 0.3 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.56261458472798687, 0.41 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.5455235297582236, 0.49 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.56890368701593197, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.57354940776815777, 0.39 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 96,0.56926985630110627, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.6079591732622035, 0.29 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.57138270459699025, 0.47 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.54890763303134438, 0.38 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.55982006655476035, 0.43 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 97,0.5807352613022716, 0.32 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.57387539682539679, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.58827789557381394, 0.29 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.53699689754689761, 0.33 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 98,0.5888589245221898, 0.4 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 100,0.58158095238095242, 0.34 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.55959916626583295, 0.35 \n0.05, 0.01, '1.0/(t**0.25)', 0.0, 99,0.51675914994096805, 0.42 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 96,0.58264054232804241, 0.27 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 96,0.5901645923520924, 0.35 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.58212762546095875, 0.43 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 96,0.58303744288119286, 0.45 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.59569792178039593, 0.38 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.5469920858065187, 0.41 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.53338974157155972, 0.42 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 95,0.56406098579782782, 0.31 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.57016683774415733, 0.26 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 96,0.58236276455026459, 0.35 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 95,0.56437426900584797, 0.38 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.59871315192743757, 0.36 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.54790541646211743, 0.47 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.55557403480872858, 0.44 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.52734167893961703, 0.4 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.55451428868954633, 0.47 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.54538015873015877, 0.29 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.55274326475357405, 0.34 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.57823143065411098, 0.36 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.61111825396825403, 0.28 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.6106182819448126, 0.27 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.58915079365079359, 0.29 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.5957316606296198, 0.31 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 96,0.58118318602693597, 0.42 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.55367460317460315, 0.48 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.57426838339209474, 0.47 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.60180331890331895, 0.36 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 95,0.5794801397432976, 0.37 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.55140425685425676, 0.3 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.55842116500279759, 0.44 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.5740733452854665, 0.43 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.58501298701298698, 0.27 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 95,0.59409280777701823, 0.35 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.54339862914862913, 0.4 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.54743095238095241, 0.31 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.56278749595076116, 0.46 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.58803015873015885, 0.3 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.5936047514913495, 0.34 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.59252554112554112, 0.33 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.56689603174603165, 0.32 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.58638287638287634, 0.25 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.58655079365079366, 0.33 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.55445967612634273, 0.32 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.53540694128322985, 0.44 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.60713709971285723, 0.34 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 99,0.56574795574795567, 0.41 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 97,0.5693243926749082, 0.36 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.54953975468975469, 0.33 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 98,0.56251950996848954, 0.34 \n0.05, 0.1, '1.0/(t**0.25)', 0.0, 100,0.58702265512265517, 0.28 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5722230238896906, 0.26 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57992063492063495, 0.36 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60989767807949624, 0.34 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57228921871779015, 0.42 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61508978675645343, 0.34 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.54618705464066275, 0.36 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58144574314574315, 0.25 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59594671201814065, 0.3 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60881062814736286, 0.27 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56687707983626356, 0.3 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.570419734904271, 0.53 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5864486703772418, 0.32 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54360349527016194, 0.44 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58319206349206343, 0.43 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.54526427753231876, 0.4 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58457725947521855, 0.35 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59643730158730168, 0.36 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5818847202180536, 0.36 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57406948493683174, 0.3 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57693158132552069, 0.31 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54572150072150072, 0.34 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5535080968414301, 0.47 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58516529581529586, 0.28 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54886002886002883, 0.47 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.58887148361375163, 0.35 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 96,0.56606804653679654, 0.26 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55792528459195123, 0.36 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.57796521920233268, 0.38 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56010240892893948, 0.38 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.54809397360943746, 0.35 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55356239159269471, 0.4 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59933673469387749, 0.4 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.53242857142857136, 0.49 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57381593714927048, 0.43 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58079285714285722, 0.4 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57028109668109661, 0.33 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60837101170434515, 0.39 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61719107989516153, 0.33 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56242777777777775, 0.41 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59600035703128484, 0.26 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 96,0.56604978354978353, 0.34 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56168838456717241, 0.41 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57422983479105927, 0.31 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.56974353252703769, 0.28 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.53348614718614717, 0.4 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 95,0.54743783701678428, 0.39 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 94,0.57167380491848585, 0.38 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59572193799466522, 0.41 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57666907166907155, 0.43 \n0.05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57028459195125858, 0.34 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.57936957033895797, 0.34 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.5941270577495068, 0.44 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.54154791353770948, 0.36 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 96,0.57361306517556521, 0.48 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 100,0.5572031746031747, 0.39 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.55779461279461284, 0.35 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 96,0.58742213804713794, 0.36 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 95,0.56506015037593982, 0.45 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.59365572635980801, 0.36 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 95,0.58921303258145363, 0.38 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 96,0.57450021043771049, 0.41 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.57623136123136121, 0.35 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.55965063001145465, 0.33 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.54128587461920796, 0.45 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.57416666666666683, 0.34 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.60611611744264804, 0.38 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 100,0.57147171717171708, 0.31 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 95,0.61338558517505881, 0.37 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.58641719105636625, 0.33 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 100,0.5271165223665224, 0.38 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.56761744428411098, 0.35 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.55839937273610751, 0.41 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.59223184223184222, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.60511268799928597, 0.32 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 96,0.5977083333333334, 0.35 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.56817408781694489, 0.31 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.56501063655702832, 0.26 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.59051561268056108, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.61687291384261089, 0.32 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 95,0.62106447938026887, 0.37 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.55034551867885195, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.62034855179185078, 0.25 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.58690881114350513, 0.32 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.55171768707482993, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.57624399976440799, 0.37 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.56135561968895298, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.55484075448361159, 0.33 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 100,0.57088095238095238, 0.38 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.56625084665900993, 0.43 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 96,0.56782121813371822, 0.41 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.59442235768766372, 0.28 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.56031210484818739, 0.4 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.57232426303854878, 0.28 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.54762546095879427, 0.38 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 97,0.58670348551791851, 0.27 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.59606825834098554, 0.3 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 99,0.56053150553150555, 0.39 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.55787348705716067, 0.27 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 98,0.60049400712666012, 0.32 \n0.05, 0.01, '1.0/(t**0.01)', 0.0, 95,0.57115151515151519, 0.46 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.55795123547700864, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.58838413590990912, 0.4 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.57582332067025943, 0.37 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.5779119180139588, 0.49 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.56778236914600555, 0.39 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 100,0.55531522366522368, 0.42 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.52082401394901401, 0.45 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.57032039141414137, 0.36 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.59312714776632303, 0.25 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.55002595914967045, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.55367426064395753, 0.46 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.55402116402116408, 0.25 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.57993926141885321, 0.31 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.59315228174603174, 0.26 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.55030175264550263, 0.46 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.54099567099567114, 0.52 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.54130912297578959, 0.27 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.56264946965977891, 0.3 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 95,0.57465694539378753, 0.33 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.55857120542687555, 0.44 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.57746981476573311, 0.37 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.54096879877492121, 0.42 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.59429705215419504, 0.33 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.54598284431617761, 0.41 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.55716634272756715, 0.43 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.55960385101010102, 0.41 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.5375749559082893, 0.5 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.58337297943358546, 0.29 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.54384800384800391, 0.37 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 95,0.56495800106326421, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.56515114703890212, 0.49 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.59101250601250599, 0.37 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.57183822350489011, 0.5 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.55301557548980229, 0.46 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.55473853114478111, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.56701526931118773, 0.27 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 100,0.55171096681096687, 0.39 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.55789081289081288, 0.3 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.60212938422122098, 0.36 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.59064846717907937, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.56851370851370853, 0.39 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.5778532802775227, 0.41 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.56675817946226104, 0.28 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 97,0.55205776468663081, 0.34 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.55434336072091162, 0.35 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.57533378518227007, 0.35 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 98,0.58345584121094318, 0.31 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 96,0.60285451238576238, 0.36 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.5402277464398676, 0.36 \n0.05, 0.2, '1.0/(t**0.01)', 0.0, 99,0.56775933942600609, 0.4 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 94,0.54290780141843975, 0.4 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.55676566846669939, 0.41 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 96,0.5607961309523809, 0.41 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57444364277697613, 0.43 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.56130871396177506, 0.3 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57444378853469757, 0.37 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.5951826118326119, 0.33 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 95,0.58655851750588595, 0.35 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.54953028830579853, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.54903569219895754, 0.32 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.5409122893143512, 0.42 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.58367076245864125, 0.32 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.5996338941699767, 0.38 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.56390193420496448, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.60468090328915058, 0.32 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.55848703485067108, 0.34 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.56795309501495062, 0.47 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.58790331890331882, 0.4 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57108123077820039, 0.32 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.57748299319727903, 0.34 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57327881994548657, 0.36 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.51957617411225665, 0.38 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.58115484288953678, 0.35 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57380952380952377, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 96,0.57625864297739293, 0.34 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.58948968253968248, 0.34 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.56292096219931265, 0.33 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.56177758829273972, 0.4 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.55225404040404036, 0.42 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.54950930512786178, 0.42 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.59732453102453098, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.58195694316906443, 0.32 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.55443693792178639, 0.33 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 100,0.5414791486291487, 0.39 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57806550352004893, 0.39 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.57935221136252046, 0.37 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 96,0.57575216450216449, 0.36 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.59070669879948223, 0.33 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.54113565701194566, 0.37 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 97,0.57140075274095892, 0.38 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.59524771524771525, 0.36 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 96,0.57454102032227039, 0.33 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.5549562682215744, 0.4 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.57624017957351292, 0.34 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.60063011063011063, 0.24 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.54664589619135084, 0.41 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.58206665783196399, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 98,0.55195497246517644, 0.31 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 95,0.56100729095465929, 0.41 \n0.05, 0.2, '1.0/(t**0.001)', 0.0, 99,0.55548340548340558, 0.44 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.57783299466972937, 0.35 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.57811814760268365, 0.36 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.57684523809523813, 0.43 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 95,0.58018462823725969, 0.31 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.54753246753246743, 0.36 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.60462321628988291, 0.4 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.56574542804134642, 0.39 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.58845759179092505, 0.37 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.57663029100529106, 0.44 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.54662739322533138, 0.41 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.56570849867724871, 0.28 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 100,0.53516897546897535, 0.39 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.54962608411062019, 0.53 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.56869295634920636, 0.35 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 100,0.56740187590187585, 0.4 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.56966229348882413, 0.3 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.60120169953503289, 0.43 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.61119452542921915, 0.25 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.60128720238095235, 0.29 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.56222876779577802, 0.35 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 100,0.5685404761904761, 0.32 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58973540065376806, 0.29 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.54712281545614883, 0.4 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.54670502400094245, 0.34 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.55461840628507297, 0.45 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.58181978515311839, 0.33 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 94,0.53362208713272552, 0.44 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.55901154401154407, 0.37 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 100,0.5589069264069263, 0.31 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.58617493045328095, 0.36 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.5644185293164885, 0.3 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.57116699060576614, 0.36 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58536531495715172, 0.43 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.5458656521027655, 0.46 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.58263212481962479, 0.42 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 96,0.57028273809523811, 0.25 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.58294437885346972, 0.4 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.61838179777573721, 0.31 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.55657088376476127, 0.4 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58404275996112731, 0.34 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.55126984126984135, 0.37 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 95,0.60893415356573255, 0.33 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.55088192419825077, 0.37 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.59943958535795272, 0.27 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58238323467915309, 0.34 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 97,0.57217766769313161, 0.34 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58158082280531254, 0.36 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 95,0.57201420217209709, 0.39 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 98,0.58679263480283883, 0.34 \n0.05, 0.1, '1.0/(t**0.001)', 0.0, 99,0.59740099406766067, 0.3 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.58730563654033041, 0.35 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.55966329966329975, 0.31 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58017936507936507, 0.35 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.56807786317990394, 0.28 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.58931246082761235, 0.34 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58562936507936503, 0.33 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.59662426009364788, 0.3 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.58856737933268544, 0.32 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 97,0.55567583046964486, 0.39 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 97,0.58558828342333491, 0.29 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.56126174279235497, 0.4 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.59176959095326442, 0.44 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 97,0.56102601865488455, 0.39 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.57719817219817215, 0.37 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.58493719998822036, 0.43 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.56609005506964694, 0.36 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.54174700877825877, 0.49 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.57105433847858089, 0.41 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.55947440881114352, 0.36 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.58720954130045044, 0.39 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.58813204191992063, 0.39 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.54827546296296292, 0.46 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.59290816326530604, 0.33 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.59980038480038489, 0.37 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.55370667314544864, 0.34 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.58303538298436253, 0.4 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.59850882335257338, 0.38 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.57897554259799155, 0.31 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.54315448860903404, 0.44 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58138492063492064, 0.39 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 97,0.56770599961321599, 0.41 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 95,0.56868383078909401, 0.43 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.57480504756014961, 0.35 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.57519200753894628, 0.32 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.55509073418164323, 0.22 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 95,0.56306683375104416, 0.35 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.5104108910169517, 0.33 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.55562041699796805, 0.49 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.54760582010582004, 0.36 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58451666666666668, 0.28 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.59724328421298112, 0.35 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58951363636363641, 0.41 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.58052531082834113, 0.33 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 99,0.56664582331248992, 0.38 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 96,0.58992672258297263, 0.34 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.58318675089083249, 0.37 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 97,0.58370263756861696, 0.37 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.52232871572871575, 0.44 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 100,0.58388650793650787, 0.32 \n0.05, 0.01, '1.0/(t**0.001)', 0.0, 98,0.59421503666401632, 0.4 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58546737213403877, 0.15 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56163196248196245, 0.18 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58083095238095228, 0.17 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 97,0.56326564615224406, 0.18 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 97,0.57128412252123595, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6131369248035915, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58445085778419115, 0.26 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.55032756132756122, 0.13 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59879090909090915, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5925615484288953, 0.21 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56147395382395393, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58532948532948537, 0.19 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59204111081662103, 0.14 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.582761744428411, 0.17 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61708397102336499, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61834629089731141, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55637085137085129, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60906269841269844, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62984595959595968, 0.23 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58422497570456766, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58425339105339102, 0.24 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60039937615695194, 0.23 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60965448132114786, 0.23 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5717427187325147, 0.15 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56718658892128282, 0.17 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.6042851989280561, 0.24 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59144084437898869, 0.19 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59836999140029445, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57416984126984127, 0.21 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59788840788840791, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59512717361202205, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58873347174367574, 0.23 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57606607197516291, 0.15 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5819001705365342, 0.21 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59589079831504077, 0.16 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60446069643039346, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59587381754048419, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58841160522978708, 0.19 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 97,0.60218941997292508, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.54605604146420472, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58029683559986589, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.62929712577671759, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59809902779599744, 0.18 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 96,0.5949018458393458, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59950354920051885, 0.2 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 96,0.57214120370370369, 0.25 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57183174603174602, 0.21 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58537010042112081, 0.24 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57693067703271772, 0.22 \n0.01, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59686588921282802, 0.23 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59835971548092759, 0.16 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59927186147186151, 0.15 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 97,0.61295941744395355, 0.13 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61469603174603182, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58455507455507461, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58667388167388168, 0.16 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59360180375180371, 0.16 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60594069264069261, 0.14 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59220660210350939, 0.21 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59046700773973493, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61310014430014426, 0.14 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58057166178378294, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62100966373693645, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 98,0.6185916747651441, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59473297185418383, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60548023088023095, 0.16 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54774891774891776, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59633455319022322, 0.14 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60270380573410876, 0.14 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62443963443963435, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 96,0.58784940175565181, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59129200164914453, 0.18 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5886165223665224, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60894523809523815, 0.12 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60760952380952371, 0.23 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59468001443001428, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60236666666666672, 0.11 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60641421429300213, 0.12 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59553186992580931, 0.16 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58139409972743306, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 97,0.58141436455869444, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.54977857142857145, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59307157287157286, 0.21 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59320979474040691, 0.22 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5983541766875099, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57656485489818832, 0.19 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61604960135263176, 0.21 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59376783710117031, 0.13 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59180083664932159, 0.23 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60410934744268086, 0.14 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60561721107175659, 0.15 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61421035754369091, 0.12 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59631531767895396, 0.18 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59458275613275613, 0.15 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 97,0.63850322071971555, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56326191204979081, 0.12 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56766794933461595, 0.13 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5730103342224554, 0.2 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61251082251082256, 0.17 \n0.001, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60309141414141409, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.60329651448208155, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57699458874458875, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57460018656988354, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61671428571428577, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60040794239773831, 0.14 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59260119229816199, 0.14 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57284359631298409, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60317217363135733, 0.15 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5337205141796979, 0.22 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59739858906525578, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59111672278338945, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.6145434462444771, 0.23 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59865800865800856, 0.21 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56688181818181815, 0.15 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59180375180375189, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59522655122655121, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.577829365079365, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59901213299172484, 0.14 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.62090710310098063, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56688231521564858, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57953271784904425, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58182012987012977, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58200310245310238, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62904324631597353, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58623573396300666, 0.12 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.62166443522113635, 0.12 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57882453685483992, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58364088212573062, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58740740740740738, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6219594210503302, 0.09 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57737380952380957, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.55868761250204546, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56863658227294589, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5790573372206026, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58686031746031742, 0.18 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5598519101549404, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61174763508096841, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55031083429042615, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.58967525029380696, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55485970819304153, 0.14 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59059170421415308, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55766459690702108, 0.19 \n0, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56888383838383838, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59369252168221243, 0.2 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57586230268048455, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58791928026621898, 0.17 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5881561648228314, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56568115557911469, 0.16 \n0, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60954501281031892, 0.14 \n0, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58096207384086174, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59842150072150069, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57650166892591137, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5843636363636362, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59688046647230319, 0.21 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56084126984126981, 0.13 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59385769673648459, 0.23 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61445339105339114, 0.12 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59216406489133755, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57675501369378923, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 97,0.61346424480445094, 0.19 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57907764513825122, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55055489295285209, 0.21 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59031184864518194, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5793206349206349, 0.13 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57926190476190487, 0.22 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 96,0.5886832611832612, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60479581529581528, 0.19 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.63828209205760222, 0.15 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60842388903613398, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61707159054097827, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58355361192095889, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59738838602474964, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58334309910067483, 0.15 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61943340548340542, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 97,0.5992840778923253, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58293968253968265, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58543756467998898, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61720992726094759, 0.1 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57604719635022672, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59114968931295464, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60343521798067257, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60225380628441849, 0.22 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61592373737373729, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57500793650793658, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60878787878787866, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60784992784992786, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57544682029530514, 0.17 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56954022734634979, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58744851108487472, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59539761904761901, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58642770562770563, 0.18 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6122317693529814, 0.14 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58724466891133553, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58544306034101956, 0.13 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5541543136997682, 0.13 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57578253968253978, 0.15 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61270505050505042, 0.16 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60155844155844163, 0.19 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62372359307359315, 0.2 \n0.0005, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59050777453838676, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60555140146049247, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62443015873015872, 0.19 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59550264550264542, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55725268558601893, 0.19 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59439444444444445, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.58158730158730154, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61370698325243778, 0.19 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56935526695526695, 0.24 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59863636363636363, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5853436507936508, 0.13 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61538305798509885, 0.17 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60291901700992601, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62116984126984121, 0.17 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58367200139927411, 0.12 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5866920634920636, 0.2 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60998345649860797, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61118603057997001, 0.15 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57111592111592113, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58095012170769755, 0.17 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58472510822510815, 0.12 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58013191073797132, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60990299823633154, 0.21 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58682186147186144, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62458954625621288, 0.21 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55567784256559782, 0.26 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57535000000000003, 0.12 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57872676767676767, 0.11 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61044206349206354, 0.17 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57606847697756791, 0.19 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5801106782106783, 0.15 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57231211532231929, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58406507936507934, 0.19 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59493513855758751, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59305596465390287, 0.11 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61388619237104092, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59007683982683989, 0.21 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56245059928733399, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60277461200930582, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58530158730158732, 0.14 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6152757736091069, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56207279942279942, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57713809523809534, 0.12 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59823013686650039, 0.13 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61809268733511158, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60005291005290995, 0.1 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59400185112306325, 0.18 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61121831591528564, 0.15 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58173240339907006, 0.16 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60973812468710431, 0.15 \n1e-05, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58977684492836002, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.6037992784992785, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61231404958677693, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58103735770402432, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57924577667001909, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5762126984126984, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58999028182701652, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.55334978354978359, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62029754689754679, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60666666666666658, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59513533604442681, 0.12 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61718592854956489, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60172438672438666, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56914782748116077, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58318924963924967, 0.2 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59743466410133084, 0.19 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.60171538656074741, 0.19 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60529790764790758, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.57251811189955515, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56691882752488809, 0.2 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58814975148308479, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59849607182940501, 0.11 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58763253020828765, 0.23 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59157768157768154, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60373730158730166, 0.12 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57639235063477479, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.56408914215036665, 0.23 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60191713048855899, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58375555555555558, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55479775893041194, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59356340371646499, 0.22 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59219588744588747, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.60388969873663756, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 96,0.58012648809523804, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5899766955266954, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57583982683982693, 0.24 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56469631378722285, 0.21 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58307614383371964, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59250588980180807, 0.11 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57585406736921896, 0.23 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 96,0.5846459385521886, 0.21 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58329937178422031, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59049550337429113, 0.22 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6102794904310056, 0.15 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59639473304473312, 0.17 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61185692640692635, 0.16 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58181545778484545, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.55066284271284272, 0.12 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60039177489177487, 0.18 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 96,0.60548047438672448, 0.19 \n1e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57671984126984133, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61590783932620652, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5568220838118797, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59243961986386229, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58547813852813835, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56902036235369557, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60020347777923533, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.62643666990605762, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57100849767516426, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5707919017009927, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5791124812336933, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62429523809523801, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61147716229348881, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59141075477810179, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.5926345933562428, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56887243867243875, 0.09 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59885536461294042, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54588591543137011, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59310303030303035, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57730945165945169, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61603888888888891, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5956124098124097, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.6235042112082928, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.53361406270497169, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60251399711399711, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.60190052215825418, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58869408369408371, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59804232804232793, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57174042007375347, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55905221041584674, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59732935414753596, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56987275350911715, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59095555555555557, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61761190476190475, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54188005597096511, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58201786989665771, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.58499754540991655, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62284883466701657, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55716749019779321, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58157301587301591, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59205664145058079, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55419111752445083, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57710211785969356, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59861960149838944, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59209875725181838, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61244316341255112, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58747474747474748, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54931632340723258, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56110901875901875, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59739778739778737, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61518569533721046, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60788809523809528, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59992624659291327, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62964194615709768, 0.11 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59807229437229426, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59019240019240016, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59006406051860583, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59964444444444442, 0.1 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57108845598845603, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5628873015873016, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62194644861311532, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55845358345358342, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54357317766408675, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.5674341269841271, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.61734450923226425, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6116864168379319, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61381587301587304, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59885873015873003, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.63811269841269835, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.6012499814046206, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.5797848749889567, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.61634920634920642, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61498928680746856, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56829558208346087, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58044998085814414, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6086588832043377, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.55313852813852815, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.6219363184514699, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60869523809523807, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.59709488106395314, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.55652301587301589, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58137922077922088, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56955151515151514, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57797222222222222, 0.25 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59054664723032069, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 96,0.59503720238095237, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55666188120269744, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59695670995671002, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.62414411065926223, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60257094757094753, 0.1 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58456746031746032, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58451098284431613, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.57567523541750343, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.59751553435226901, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58641727520515396, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56459814596178226, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 96,0.59779183201058206, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59097592082440575, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58228253968253962, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59539813721631896, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57521578761374681, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59254191919191923, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60178116883116883, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60173364233970295, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59613836780503437, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57243546576879911, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57673203900476622, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.60087235996326904, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5796767093736791, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59251905782208814, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58696010101010099, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60760808080808071, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.61190967108492889, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.57502554701534281, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59126998702756284, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60167691197691187, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.62947035957240038, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55759718172983475, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60013412698412694, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59728227440348647, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.57866147186147177, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.571937484513242, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58681017316017314, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58109062049062055, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59517767866252713, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58456430191124054, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58096298701298699, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60311666666666663, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.58603662891541675, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62753621933621917, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58826190476190465, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.59828064191700558, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.5890860990860991, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.60701269841269834, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.62771868686868681, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56368888888888902, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58457604617604619, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.55697440881114346, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57593889836314072, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56140998731907821, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 98,0.58924301322260508, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61637726471059817, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.61658409491742827, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.54555861646770742, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.57361122042940216, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.61194999999999999, 0.1 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 97,0.595723285877925, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.59633095238095235, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 99,0.56534617458859882, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.58822698412698415, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.0, 100,0.56950007215007215, 0.27   \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.57367666564636266, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58544098998644445, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.61330373707924724, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.59766022417537568, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.58734082810613431, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.59444925444925434, 0.11 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.56452546897546896, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.6032828282828282, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 97,0.56654148257241033, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.60466235223810982, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.58074718614718612, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.57895223665223672, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.60005836940836943, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.61299999999999999, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.54387103356800326, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.59522108843537413, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.56092206334630579, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.56676723949451213, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.59809122975789641, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58294510764207719, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58804349410410017, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.59157493300350439, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.58687649085608273, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.57966585042342622, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 97,0.60402039541214803, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.62413660413660399, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58329827860130878, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58515712682379339, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.61486861471861476, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.57951587301587304, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.60639761904761913, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.57242817788272338, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.59723216126277345, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.58853285036958514, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 97,0.57893046815727223, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.57205878022204559, 0.28 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.57235511087551916, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.62098109668109658, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.58161825396825395, 0.29 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.56757007302461848, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.59310657596371885, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.57757777777777786, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 97,0.60391112896267529, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.60099020508111411, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.58253013540892329, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 100,0.56028145743145741, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.60759179092512428, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.57942913988368538, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 99,0.61568061568061561, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 1.0, 98,0.60473517978620028, 0.11 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 96,0.55049189814814814, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.58288265045840804, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.57992792355037259, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59618354978354982, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.55521244187910845, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.605511111111111, 0.12 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57511121314151614, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.58955099333887218, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.60488581146744425, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.60166176046176045, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.58765630061548424, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57530864197530862, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 97,0.5980831882893739, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.61702704891480398, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.6019169096209912, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.59653388138236618, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59110634920634919, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57706837494716279, 0.25 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.56277142857142859, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 94,0.56284409443983907, 0.25 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.59694694761021283, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57370348506712143, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.60803627909688518, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59327857142857143, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.59619105922136217, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59600750360750365, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.60563841882023695, 0.09 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.6071130496888073, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57531345198011874, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.5758315295815295, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.61898484848484858, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 97,0.57692521682212405, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.60257244456224057, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.57301201043625283, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.60783027063639317, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.59952675442471359, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 96,0.60819414381914372, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.60200873015873013, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.58834710074505991, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.59733965014577262, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.57844847895868301, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.60145397119886912, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.57881681243926142, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59051709956709952, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.58079197457985332, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.59692936507936512, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 100,0.5635523809523808, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.59278338945005604, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 99,0.55163299663299659, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 0.5, 98,0.59332604470359573, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.60415370910268873, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.60888954479863566, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.58524691358024683, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.55949708454810498, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.60328807556080288, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.58637835789350934, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.60070281385281388, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.56222465176546799, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.55114499978136333, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.60910818138090861, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59258938592271926, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.57338730158730167, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.58394329004329004, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 97,0.60679720623019595, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.61123877256530312, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59143141370414087, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59756183771335281, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59029027650239774, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.59871875901875904, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.60118874458874461, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.6148643873133669, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.60206349206349208, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.58543152958152955, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.58652509055570279, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 98,0.5999684159378037, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.60872265512265511, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 97,0.59893530295592146, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.61338784672118007, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.61659539114084561, 0.11 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59051204687568315, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.58773864182955105, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.5755325396825397, 0.26 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.57498112437506377, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.59179199134199134, 0.13 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.58592483274301443, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59849301091725327, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.62122013788680464, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.57973435655253835, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.59380670995670981, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.61770555555555562, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.58037085137085132, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.59323968253968251, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.59339571763814192, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.58992624659291326, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.58805757575757556, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.56439451659451656, 0.27 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.5670349927849927, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.56592439546984996, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 100,0.58626767676767666, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.0, 99,0.57399368869065848, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.57812140160625003, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58613195446528787, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.55401394901394896, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.55041558441558447, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58366216275307181, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.58349011544011542, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 96,0.58653363997113994, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.57364895308772867, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 96,0.60074562590187586, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.55850907029478458, 0.15 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.57536313056931609, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.5719628538700704, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.57707143585931464, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.58558205966369237, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.55819841269841275, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.54443325382100893, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.61433673469387751, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.58556428571428565, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.60193605147686791, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.55657921203375749, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.56589635421268081, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.60574101068999031, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 96,0.59150087181337174, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.62506529945923883, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.57975461537317208, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58356384916990978, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.57362605648319931, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58127282930313229, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.57501253516405038, 0.18 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.56312694039966771, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.60098685265351937, 0.21 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.59735000000000005, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58674078446805711, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.59233780809538383, 0.16 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.5653624436787702, 0.25 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.59649578879170706, 0.2 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.53936522512280083, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.58089757604909131, 0.26 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.58678733398121152, 0.22 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.58729451659451659, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.58344877344877344, 0.23 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.57138662025259968, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.55137159518602818, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.61791588321891355, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 97,0.58763950253640962, 0.24 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 98,0.60637261831139389, 0.19 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 100,0.60189307359307354, 0.17 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.6073368606701941, 0.14 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.59935604238634532, 0.27 \n5e-06, 0.1, '1.0/(t**0.01)', 2.5, 99,0.60314931420992024, 0.21"
  },
  {
    "path": "p4-smartcab/smartcab_params_summary.csv",
    "content": "epsilon,gamma,alpha,defaultq,successes,avg_buffer,avg_penalties\n0.20\t0.50\t'1.0/t'\t0.0\t87.78\t0.5179\t1.0810\n0.10\t0.50\t'1.0/t'\t0.0\t94.20\t0.5709\t0.5732\n0.05\t0.50\t'1.0/t'\t0.0\t96.50\t0.5709\t0.3664\n0.01\t0.50\t'1.0/t'\t0.0\t98.36\t0.5829\t0.1926\n\n0.05\t0.01\t'1.0/t'\t0.0\t98.00\t0.5705\t0.3694\n0.05\t0.10\t'1.0/t'\t0.0\t98.10\t0.5747\t0.3604\n0.05\t0.20\t'1.0/t'\t0.0\t97.12\t0.5685\t0.3834\n0.05\t0.25\t'1.0/t'\t0.0\t97.18\t0.5726\t0.3538\n0.05\t0.50\t'1.0/t'\t0.0\t96.50\t0.5709\t0.3664\n0.05\t0.75\t'1.0/t'\t0.0\t94.02\t0.5573\t0.3822\n0.05\t0.99\t'1.0/t'\t0.0\t75.30\t0.5399\t0.6030\n\n0.05\t0.01\t'1.0/(t**0.5)'\t0.0\t98.06\t0.5709\t0.3710\n0.05\t0.10\t'1.0/(t**0.5)'\t0.0\t97.98\t0.5682\t0.3638\n0.05\t0.20\t'1.0/(t**0.5)'\t0.0\t97.76\t0.5767\t0.3568\n0.05\t0.25\t'1.0/(t**0.5)'\t0.0\t97.68\t0.5722\t0.3636\n0.05\t0.50\t'1.0/(t**0.5)'\t0.0\t96.62\t0.5696\t0.3616\n0.05\t0.75\t'1.0/(t**0.5)'\t0.0\t93.76\t0.5539\t0.3888\n0.05\t0.99\t'1.0/(t**0.5)'\t0.0\t69.60\t0.5312\t0.7028\n\n0.05\t0.20\t'1.0/(t**0.001)'\t0.0\t97.98\t0.5691\t0.3600\n0.05\t0.20\t'1.0/(t**0.01)'\t0.0\t97.80\t0.5653\t0.3730\n0.05\t0.20\t'1.0/(t**0.25)'\t0.0\t97.60\t0.5724\t0.3606\n0.05\t0.20\t'1.0/(t**0.5)'\t0.0\t97.76\t0.5767\t0.3568\n0.05\t0.20\t'1.0/(t**0.75)'\t0.0\t97.88\t0.5694\t0.3632\n0.05\t0.20\t'1.0/t'\t0.0\t97.12\t0.5685\t0.3834\n\n0.05\t0.10\t'1.0/(t**0.001)'\t0.0\t97.72\t0.5733\t0.3616\n0.05\t0.10\t'1.0/(t**0.01)'\t0.0\t98.34\t0.5737\t0.3634\n0.05\t0.10\t'1.0/(t**0.25)'\t0.0\t98.06\t0.5723\t0.3608\n0.05\t0.10\t'1.0/(t**0.5)'\t0.0\t97.98\t0.5682\t0.3638\n0.05\t0.10\t'1.0/(t**0.75)'\t0.0\t97.80\t0.5707\t0.3788\n0.05\t0.10\t'1.0/t'\t0.0\t98.10\t0.5747\t0.3604\n\n\n0.05\t0.01\t'1.0/(t**0.01)'\t0.0\t97.72\t0.5761\t0.3618\n0.05\t0.01\t'1.0/(t**0.25)'\t0.0\t98.06\t0.5722\t0.3608\n0.05\t0.01\t'1.0/(t**0.5)'\t0.0\t98.06\t0.5709\t0.3710\n0.05\t0.01\t'1.0/(t**0.75)'\t0.0\t97.84\t0.5713\t0.3718\n0.05\t0.01\t'1.0/t'\t0.0\t98.00\t0.5705\t0.3694\n\n0.000\t0.10\t'1.0/(t**0.01)'\t0.0\t98.70\t0.5861\t0.1706\n0.000001\t0.10\t'1.0/(t**0.01)'\t0.0\t98.90\t0.5885\t0.1728\n0.000005\t0.10\t'1.0/(t**0.01)'\t0.0\t98.96\t0.5869\t0.1686\n0.00001\t0.10\t'1.0/(t**0.01)'\t0.0\t99.12\t0.5926\t0.1640\n0.001\t0.10\t'1.0/(t**0.01)'\t0.0\t98.98\t0.5963\t0.1692\n0.01\t0.10\t'1.0/(t**0.01)'\t0.0\t98.66\t0.5884\t0.2058\n0.05\t0.10\t'1.0/(t**0.01)'\t0.0\t98.34\t0.5737\t0.3634\n\n\nepsilon            0.050000\n gamma             0.500000\n defaultq          0.000000\n successes        96.620000\n avg_buffer        0.569594\n avg_penalties     0.361600\ndtype: float64\nepsilon            0.05000\n gamma             0.25000\n defaultq          0.00000\n successes        97.68000\n avg_buffer        0.57221\n avg_penalties     0.36360\ndtype: float64"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/2-analysis-code-py2-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis - Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSE daily data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# The data has no header, so I'm going to add one.\\n\",\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Quick feature engineering for exploratory purposes\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.964413</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"      <td>0.307670</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.678325</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"      <td>0.325529</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.510000</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"      <td>0.077029</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.760000</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"      <td>0.195696</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>1.170000</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"      <td>0.447294</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>12.120000</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"      <td>4.081110</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"count  10010.000000  1.001000e+04     10010.000000          10010.000000   \\n\",\n       \"mean      18.707358  3.408274e+06         0.964413              1.720268   \\n\",\n       \"std       14.122609  7.532096e+06         0.678325              1.208542   \\n\",\n       \"min        1.522366  0.000000e+00         0.000000              0.000000   \\n\",\n       \"25%        5.442764  7.536000e+05         0.510000              0.948126   \\n\",\n       \"50%       15.099474  1.904100e+06         0.760000              1.398110   \\n\",\n       \"75%       31.889513  4.051675e+06         1.170000              2.122197   \\n\",\n       \"max       50.533702  2.408085e+08        12.120000             16.048292   \\n\",\n       \"\\n\",\n       \"       Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"count          10010.000000               10010.000000  \\n\",\n       \"mean               0.307670                   1.720268  \\n\",\n       \"std                0.325529                   1.208542  \\n\",\n       \"min                0.000000                   0.000000  \\n\",\n       \"25%                0.077029                   0.948126  \\n\",\n       \"50%                0.195696                   1.398110  \\n\",\n       \"75%                0.447294                   2.122197  \\n\",\n       \"max                4.081110                  16.048292  \"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x117e00090>\"\n      ]\n     },\n     \"execution_count\": 15,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x114d5b710>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nmjRpQteuXbnxxhvZvHlzRUSuNZhyMQyjWrJo0SKmTJlCnTp1ePnll3N2nz/84Q88+uijjB07lrVr\\n1/Laa6/x9ttvM3CgRbBKhikXwzCqJWPGjOHggw9m2LBh/POf/4zLW7VqFaeccgotWrSgb9++LFiw\\nIC6/Tp06fPPNNynv8fXXX/Pwww8zfvx4DjroIOrUqUPPnj157rnneP311ykpKQHg/PPP5/e//z39\\n+/enefPmHHnkkSxevHh7OXPnzqV///60bt2anj178uyzz27PO//887n88ss56aSTaN68OQcffDAL\\nF1b/hWpNuRiGUS0ZM2YMQ4YM4ZxzzmHSpEmsXLlye96ll15K48aNKS0t5bHHHuPxxx+PuzZoIkvG\\n22+/TefOnenTp09ceqdOnejbty9vvvnm9rTx48czYsQIfvzxR3r37s3gwYMB2LBhA/3792fIkCH8\\n8MMPPPXUU1x66aXMnTt3+7VPP/00N998M6tXr6Z79+7cdNNNGddHoWHKxTCMCiGSnU9FmDJlCosX\\nL2bgwIHsv//+7LrrrowfPx6AsrIynn/+eW699VYaNmxIr169GDp0aNz16U4O/eGHH2jfvn1kXvv2\\n7fnhhx+2H5944okccsgh1KtXj9tvv51p06bx3Xff8corr7DLLrtw3nnnISL07t2b008/Pa73ctpp\\np9GnTx/q1KnD4MGDmTlzZqZVUnCYcjEMo0KoZudTEcaMGUP//v1p2dKtnD5o0CBGjx4NwMqVK9m2\\nbRudOnXafn6XLl0qdJ82bdqwbNmyyLxly5bRpk2b7cedO3fevt+kSRNatmzJ999/z6JFi5g2bRqt\\nWrWiVatWtGzZkvHjx1NaWrr9/Hbt2m3fb9y4MevWrauQvIWExRYzDKNasWnTJp555hnKysq29yo2\\nb97M6tWrmTNnDr169aKoqIglS5bQo4dbszA4/pEJRx11FJdddhnTp0/ngAMO2J6+ZMkSpk2bxogR\\nI+LSfNatW8dPP/1Ehw4d6Ny5M8XFxUyaNKlCMlRXrOdiGEa14oUXXqCoqIgvv/ySWbNmMWvWLL78\\n8ksOPfRQxowZQ506dTjttNMYOXIkGzdu5Isvvtjeq8mU3XbbjUsuuYTBgwfz4YcfUlZWxueff84Z\\nZ5xB//79OfLII7efO3HiRKZOncrmzZv5n//5H/r27UvHjh056aSTmD9/PmPHjmXr1q1s2bKF6dOn\\n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\\nQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10ca9f190>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11b16e350>\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nuugiOnXqRNeuXbn11lvr3Q4ePJj999+fq6++mi233JJ+/foB8Pjjj7P99tvTunVrdtxxRyZOdEey\\nf/vtt5x88slsvfXWbLvttjz44IP14ffr14/TTjuN3r1707p1a3baaSc+/fRTAM4991zmzZvHMccc\\nQ+vWrRkwYAAAp556Kh07dqRdu3ZUV1czbdq0ev+WLVvGMcccQ5s2bdhnn3249dZbOeCAA+rtZ8yY\\nweGHH84WW2zBdtttxwsvvBAYL/vuuy+dO3fmpZeix9zX1dUxdOjQ+hbNJ598wm9+8xvatWtH586d\\nufLKK9m4MXrUeFVVFQ8//DC9evWiV69e9WazZ88G4M0332T33XenTZs2dO/evT4eAQ466CAA2rZt\\nS+vWrfn4448ZPHhwzLuMHTuWvffem3bt2rHPPvvwv//9r97u4IMP5q9//Sv7778/rVu35sgjj2TZ\\nsmXBicAwDEexd/IM2NlTg0hkXir06NFD33vvPVVVnTdvnu6www7ap08fVVU9/vjj9bLLLtO1a9fq\\n999/r/vss48+9thjqqr65JNPapMmTfShhx7S2tpaXbdunT7//PPapUsXnTBhgqqqzpo1S+fNm6d1\\ndXW6xx57aP/+/XXjxo06Z84c3XbbbXXkyJGqqtq3b1/ddNNNdcSIEVpXV6c33XST7rvvvjEyjho1\\nKkbuQYMG6Y8//qjr16/Xq666Snfdddd6u9NOO03POOMMXbdunU6bNk27du2qBxxwgKqq/vjjj9q1\\na1cdPHiw1tXV6cSJE3WrrbbS6dOnB8bP7bffrr/97W/r70eMGKFbb721bty4UVVVJ0yYoB9//LHW\\n1dXp3Llzdfvtt9cHHnig3r2I6OGHH67Lly/XdevWqapqVVWVzpo1S1VV33//fZ06daqqqk6ZMkU7\\ndOigr732mqqqfv3111pVVaV1dXX1/j355JP177Js2TJt166dPvPMM1pbW6vDhg3Tdu3a6bJly1RV\\ntbq6Wn/+85/rV199pevWrdPq6mq96aabAt+z1NOpUbl4aa/oZXjkV3QBGgiUg3KBcH7Z0KNHD23V\\nqpW2a9dOe/TooX/4wx903bp1unjxYm3evHl9gaiqOmzYMD344INV1RVy3bt3j/HriCOO0H/84x8N\\nwvj4448buL3zzjv1ggsuUFWnXA477LB6u2nTpmnLli1jZIwowCCWL1+uIqIrV67U2tpabdq0qc6c\\nObPe/pZbbqkvkJ977jk98MADY56/9NJL9W9/+1ug3/PmzdNmzZrpwoULVVX1rLPO0j//+c8JZbn/\\n/vv1xBNPrL8XEa2pqYlxIyL1yiWeP//5z3r11VeralS51NbW1tv7lcvTTz+t++yzT8zzv/71r3Xw\\n4MGq6pTL7bffXm/38MMP61FHHRUYrikXo1iUmnIpm+1f0kGL3KX+2muvcfDBB8eYzZ07lw0bNtCx\\nY0cgqsy7detW76Zr164xz8yfP59tt922gf9z585l4cKFtG/fvt6vuro6DjzwwHo3HTp0qL9u2bIl\\n69ato66ujqqqhj2gdXV1/OUvf+HFF19kyZIliAgiwpIlS1izZg21tbV06dIlUM65c+fy0UcfxchS\\nW1vLOeecExg3Xbt25YADDmDIkCFcccUVvPrqq4wZM6befubMmVx99dWMHz+etWvXsnHjRvbYY48Y\\nP/yyxPPxxx9z0003MXXqVNavX8/69es55ZRTErr3880339C9e/cYs+7du7Nw4cL6+/h4Xb16dVp+\\nG0ZjxcZcQkQDtFvXrl1p0aIFS5cuZdmyZSxfvpwVK1YwefLkejci0uCZWbNmBfrVs2dPli1bVu/X\\nDz/8wPDhw9OSLz6coUOHMnz4cEaNGsWKFSv4+uuv65XfVlttRZMmTViwYEG9+/nz58fIUl1dHSPL\\nypUreeihhxKG37t3b5566ileeuklevbsya677lpvd9lll7Hddtsxa9YsVqxYwe23394gPuPl93PW\\nWWdx/PHHs3DhQlasWMGll15a/3yy5wA6derUYErzvHnz6Ny5c9LnDMNIjCmXPNOhQwcOP/xwrrrq\\nKlatWoWqMnv2bD744IOEz1x00UUMGDCgfjB+1qxZzJ8/n7333ptWrVpx9913s27dOmpra/n8888Z\\nP358Qr/8BXSHDh3qB8DBTeVt3rw57dq148cff+Smm26qL4irqqo48cQT6du3L2vXrmXGjBk89dRT\\n9c/+7ne/48svv2TIkCFs3LiRDRs2MH78eGbMmJFQlpNOOol58+bRp0+fBlOTV61aRevWrWnZsiUz\\nZszgkUceSehPEKtXr6Zdu3Y0bdqUcePGMXTo0Hq7rbbaiqqqqkCFDXD00Uczc+ZMnn32WWpra3nu\\nueeYPn06xxxzTEYyGIYRJS/KRUQGishiEZkcZ36liEwXkSki8vd8hF0sktWOn3rqKdavX8/2229P\\n+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\\ngg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x114d57e50>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRESLTSbDMIxiR0TQIhrQL5kt93feeWfmzMl2t3vDKB86d+7M7NmzCy2GYQRSMi0XTysXQCLDKE4s\\nTxh+iq3lYmMuhmEYRuiYcjEMwzBCx5SLYRiGETqmXArEoEGDOOKII2rvW7RoYYOzRcq8efNo2bJl\\nxuMbd999NxdfbGuGjYaFKZeQqayspG3btmzcuDGpW5G6sbdVq1ax8847pxRGRUUFLVq0oGXLlnTq\\n1Inrr7++6AZ2KyoqmDlzZt7DPeGEE6iqqqpn/vrrr7PddttRU1OTtp+dOnVi5cqVUd8rHqNGjaJT\\np05RZrfccguPP/542uEaRiljyiVE5syZw+jRo6moqGDYsGE5C0dEmDhxIitXruT9999n6NChPPHE\\nE2n7s3nz5hxI50ilIM4Fffr0YciQ+oeCDhkyhF69elFRkV6STzeOVLVg724YxYQplxAZPHgwhxxy\\nCOeffz5PP/10lN2yZcs4+eSTadWqFQcffDAzZsyIsk+npu/fqK5r164cccQRTJ48GYCFCxdy+umn\\ns80227Drrrvy8MMP1z7Xv39/zjjjDHr16kXr1q0ZNGgQNTU13HXXXey22260atWKAw44gAUL3Dlu\\n33zzDcceeyzt2rWjW7duvPTSS7V+XXDBBVx55ZX8+te/pmXLlhxyyCHMmuUO5DzqqKNQVbp3707L\\nli156aWXWLFiBSeddBLbbLMN7dq146STTuLbb7+t9W/27NkcddRRtGrVimOPPZYrr7ySXr161dp/\\n+umnHHbYYbRp04Z9992XUaNGBcbNqaeeytKlSxk9enSt2YoVK/jPf/5D7969AXjzzTfp0aMHrVq1\\nonPnzvTv37/W7Zw5c6ioqOCpp56ic+fOHHPMMbVmkVbP008/zR577EHLli3Zbbfdalsla9as4cQT\\nT+Tbb7+tbVkuWrSI/v37R73LsGHD+NnPfkbbtm05+uij+eabb2rtdtllF+677z723ntv2rRpQ8+e\\nPdmwYUPyRGEYxUahd/IM2NlTg4hnXkzstttu+uijj+oXX3yhTZo00e+++67W7qyzztKzzjpL165d\\nq5MnT9YddthBjzjiiFr7iooKnTFjRkrhiEit26+++ko7duyoAwcO1JqaGt1vv/30jjvu0E2bNums\\nWbN011131REjRqiqalVVlTZt2lSHDRumqqrr1q3TAQMGaPfu3XX69Omqqjpx4kRdtmyZ/vjjj9qp\\nUycdNGiQ1tTU6Pjx47V9+/Y6ZcoUVVU9//zztX379jp27FjdvHmznnvuudqzZ88oGWfOnFl7v3Tp\\nUn3llVd03bp1unr1aj3zzDP11FNPrbU/5JBD9MYbb9SNGzfq6NGjtWXLltqrVy9VVZ0/f762a9dO\\n3377bVVVfe+997Rdu3a6ZMmSwPi56KKL9KKLLqq9f/TRR3XfffetvR81apROnjxZVVUnTZqkHTt2\\n1Ndff11VVWfPnq0ion369NE1a9bounXrdPbs2VpRUaGbN29WVdU333xTZ82apaqqH374oW611VY6\\nbtw4VVWtrq7WTp06RclTVVVV+y5Tp07VrbfeWt9//33dtGmTDhgwQHfbbTfduHGjqqruvPPOetBB\\nB+miRYt0+fLl2q1bN33ssccC37MU8oSRP7z0UPAyPPIruAD1BMpCuUA4v0z46KOPtGnTprps2TJV\\nVe3WrZs+8MADqqq6efNmbdKkiU6bNq3W/R//+Mco5eJXGMkQEW3VqpW2bdtWd9ttN/3zn/+sqqqf\\nffaZdu7cOcrt3XffrX379lVVV8gdddRRUfa77767Dh8+vF4YL7zwgh555JFRZpdcconefvvtquqU\\ni78Af/PNN7Vbt24pv8+4ceO0bdu2qqo6Z84cbdKkia5du7bW/rzzzqstkO+55x7t3bt31PPHHXec\\nDh48ONDv0aNHa+vWrXX9+vWqqnrYYYfVfosgfv/73+t1112nqlqrSGbPnl1rH6tcYjn11FP1oYce\\nUtXkyuUvf/mLnnXWWbV2NTU1usMOO+ioUaNU1SmXoUOH1trfeOONetlllwWGa8rF8FNsyqVktn9J\\nBS3gmPbgwYM59thjadOmDQA9e/Zk0KBBXHPNNXz//fds3ryZHXfcsdZ9586d+eijjzIOb9y4ceyy\\nyy5RZnPmzGHBggW0bdsWcBWHmpoajjzyyFo3sYPN8+bNo0uXLvX8nzNnDp9++mmUX5s3b67tWgLo\\n2LFj7fVWW23F6tWr48q7du1afv/73/POO++wYsUKVJXVq1ejqixcuJC2bdvSrFmzKDnnz59fK8uL\\nL77I8OHDa2XZtGkTRx99dGBYhx12GB06dOC1115j//33Z8yYMbz66qu19p9//jk333wzkydPZsOG\\nDWzYsIEzzjgjyg//t4rlrbfe4vbbb2fatGnU1NSwdu1aunfvHte9n2+//ZbOnTvX3osInTp1qu2K\\nBNh2221rr7faaisWLlyYkt+GUUyUlXIpFOvWrePFF1+kpqaG7bbbDoANGzawYsUKJk2axJ577knj\\nxo2ZN28eXbt2BWDu3LlZhakBmrRTp0506dKFqVOnxn0udrB5p512YsaMGeyxxx71/KqsrOSdd97J\\nSs4I9913H9OnT2fMmDF06NCBCRMm0KNHD1SV7bbbjmXLlrFu3bpaBTNv3rxaWTt16kTv3r157LHH\\nUg6vV69eDBo0iG+++YbjjjuODh061Nqdc845XH311bzzzjs0adKEa6+9lqVLl0Y9H29QfsOGDZx+\\n+ukMGTKEU045hYqKCk477bTa75FsMH/77bevHR+LMG/evITKzDBKERvQD4FXX32Vxo0bM2XKFCZM\\nmMCECROYMmUKhx9+OIMHD64tgKqqqli7di1ff/01gwYNCl2OAw88kBYtWjBgwADWrVvH5s2b+eqr\\nrxg7dmzcZy688EJuu+02/ve//wEwadIkli9fzq9//WumTZvGkCFD2LRpExs3bmTs2LEJFZefjh07\\nRk1QWLVqFVtuuSUtW7Zk2bJlUdOFd9ppJ/bff3+qqqrYuHEjn3zySW0rBeC8885j+PDhjBgxgpqa\\nGtatW8eoUaOiJgTE0rt3b9577z3+9a9/0adPnyi71atX06ZNG5o0acLnn3/O0KFDo+yDFHfELNLS\\nad++PRUVFbz11luMGDGi1t22227L0qVLWblyZaBcZ555Jm+88QYjR45k06ZN3HvvvTRr1oxDDjkk\\n7rsYRimSE+UiIk+KyGIRmRhjfpWITBGRSSLy11yEXQgGDx5M37592WGHHdhmm21qf1deeSXPPvss\\nNTU1/P3vf2fVqlVst9129O3bl759+8b17+677+ZXv/pVXPt4teOKigr+85//MH78eHbZZRe22WYb\\nLrroorgFHcB1113HmWeeybHHHkurVq343e9+x9q1a2nevDkjRozg+eefZ/vtt2f77bfn5ptvZv36\\n9SnFSVVVFb1796Zt27a8/PLLXHvttaxZs4b27dtz6KGHcuKJJ0a5f/bZZ/n4449p3749f/7znzn7\\n7LPZYostANdF9frrr3PXXXfRoUMHOnfuzL333ptwzUrnzp059NBDWbNmDSeffHKU3T//+U9uu+02\\nWrVqxR133MFZZ50VZR8UvxGz5s2b89BDD3HGGWfQtm1bnn/+eU455ZRad7vvvjs9e/akS5cutG3b\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10cabe1d0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Percentage Variation\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/2-analysis-code-py3-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis - Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSE daily data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# The data has no header, so I'm going to add one.\\n\",\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Quick feature engineering for exploratory purposes\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.964413</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"      <td>0.307670</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.678325</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"      <td>0.325529</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.510000</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"      <td>0.077029</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.760000</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"      <td>0.195696</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>1.170000</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"      <td>0.447294</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>12.120000</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"      <td>4.081110</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"count  10010.000000  1.001000e+04     10010.000000          10010.000000   \\n\",\n       \"mean      18.707358  3.408274e+06         0.964413              1.720268   \\n\",\n       \"std       14.122609  7.532096e+06         0.678325              1.208542   \\n\",\n       \"min        1.522366  0.000000e+00         0.000000              0.000000   \\n\",\n       \"25%        5.442764  7.536000e+05         0.510000              0.948126   \\n\",\n       \"50%       15.099474  1.904100e+06         0.760000              1.398110   \\n\",\n       \"75%       31.889513  4.051675e+06         1.170000              2.122197   \\n\",\n       \"max       50.533702  2.408085e+08        12.120000             16.048292   \\n\",\n       \"\\n\",\n       \"       Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"count          10010.000000               10010.000000  \\n\",\n       \"mean               0.307670                   1.720268  \\n\",\n       \"std                0.325529                   1.208542  \\n\",\n       \"min                0.000000                   0.000000  \\n\",\n       \"25%                0.077029                   0.948126  \\n\",\n       \"50%                0.195696                   1.398110  \\n\",\n       \"75%                0.447294                   2.122197  \\n\",\n       \"max                4.081110                  16.048292  \"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x10b865588>\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329b0f0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nyww8ifgAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1057eb4e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11d80db70>\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11a11a748>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAZAAAAEZCAYAAAC5AHPcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnWeYVEXWgN/Jw8CQB0RQQJACRQQVUUygIrpmXfPq7mcO\\nKybMcXV1DWDAgGJAF11zBEVRQSVLlCSHnNOQJgET+/txb89093SaDtNhzvs8PEzfUOlW1alzqupU\\nisPhQFEURVHqSmqsE6AoiqIkJipAFEVRlJBQAaIoiqKEhAoQRVEUJSRUgCiKoighoQJEURRFCYn0\\nWCegPjDGdARWAguAFCANKAHuEpFpHvexnwEYISKj/YT7OXACcKCI7PPxTCsgX0RSjTFnA6eIyO0B\\n0rsG2Gv/A8gAfhSROwPlNZoYYx4G5ovI2CjHMxH4QUSe8bh+F3CCiJxXh7D+BSwXkff9PNMU+FJE\\nTrF/zwUGiEhhSBlwD/sA4C2gLdaAbZiI/DfAO48CrURkSLjxe4T7ONDcGa4xJhN4GRgIFAFjReQx\\n+97hwKtAU6AQeFhEJhljrgTuBJzr/5sD7YEOIpLvJc67gcvtn2nAD8ADIlIeRj5+AC4TkZ0e133m\\nx+O5FOAZ4C9AJbAcuEFEdhhjWgP/BTra924Qkeke748GForI8y7XbgauAbKBucDV4eQxUWhIGsge\\nETlCRPqISC/geeBdL/ePEJE+wJnAcGNMT2+BGWPaYQmPGcDf/cSbgt3YRGRsIOFh4wAud6YH6AMc\\nY1fSWHIyljCLNq8C/+fl+rVYHUTQiMij/oSHTUugr8s7R0RCeNi8AowTkd7AqcDLxpj9IxR2UBhj\\n2htjPsXq+F15ADgAOFREjgT2d6ljXwGj7LZyITDSGNNGRMbYbegI4GhgC3CLD+HxV+A8oJ/dpo4C\\nugOPhpmlQT6u+8uPK1djtaneInI41uBxuH3vVeA3ETkUuBL41BiTbeenuzHmZ+Ai18CMMRcAtwAn\\n2+9lA3eEk8FEoUFoID5oDWzydVNENhljlgPdgEVeHrke+An4DPg38Ibzhl2h/o2l5cx2uf534K8i\\ncnYQ6XNqQYhIhTFmMlbjwxjTH3gayAGqgMdE5Ds7/GuAxsBuETnFGHM/cBVQjjXS+oeIFBljrgZu\\ntuPZAfxTRJbZo6tC4DCsxvgncCnwD6wO4DljTCWwBKuxNQb2B+YDl4hImTHmL3b6KoA/sDrO40Rk\\nnZd4bxUR8cj7V8CLxpjjRGSqneeT7LL42R5BvgD0A3LtsK4Vkel2+lsCBwHjgP2wR4t23NdjCcGW\\nwNMi8gbwDpBjax5H2eluLSI7ba3rUrv8ltnltM0YMwmYDhwHHAhMFpGrPD+iiJxrpxesUW05NZpl\\nQIwxx2CNljOBdlia6HW21vwz8J1dDi2AB0XkUy/BXAP8hvXNWrhcPxL4yGWk/BUw1BjzMda3H2Pn\\nYasxZgFwOtbo3Ml9wFYRectH8tthaR2NgTK7btwCtLHzlmHn7UT7uXnAEBEpNsasBr7EGqQ1A4aL\\nyBvGmHfssCcZY/4iIhsD5Qd4zSNdi4C7RaTC/j0buNkYkwachVU/EZE/7D7gdDusW7DqylqP8K60\\n01dg/76J+hloxZyGpIHkGGPmGmPm2SaiF4D/+HrYGHMs0AWY6eVeGnAdVgMbB7Qxxgy277UB3gbO\\nF5G+1K5sdd76b49YzwYmGmOaY1Xiv4nIUcC5wOvGmA7244cAJ9rC4xws4dHPHkmuBv5pjDkRS2s6\\n3h6pPYfVWJ0cAZwG9MAyT1wkIq9hNbShIvK1nf93ReQ44GCsDvtMY0xLrE7mcnuUOglLwOAj3i88\\n8ysilcCbWBqHk+uo6Qj6Ae1E5FgR6WnHd5/Ls41E5DARud+lDBtjdaRn2HFfascPlrbj1ECrsL+R\\nMeb/gMHAkbYGsRh4zyWeg0TkJCxhe7JTyHnJj8MWOFOBt0Rkl7fnfHArlvnoWOBQ4FxjTB9n/MB4\\nEeln5/85bwGIyOMi8jLWYMOVmcAlxpjGtvnncqxy3QGswtasjTEHYXXk7Zwv2qbZO4Hb/KT9PaAA\\n2GKMmWaMGQZ0FBHnoOo+oFxEjrI1lM1YAw8njew2NBB4whhzqIhcbd8b4CE8fObHS3nMFJH5dj5a\\nAI8An2ANKlPs/DvZAHSw37tVRD7AZXBn0w1oa4wZb4yZj6Vh7fZTLklDQxIgriasTliV8mN7JAfu\\nAmYh8CRWJ+hZScFSy1Ox7PRlwMfUqKzHAwtcRtVveHk/GD6w0/MH8DWWOeEr4FisRvGVMWYe1gi0\\nEuhlv7dARErsv08BPnWaY0RkqIj8B8s81wWYZofxLNDcFk4A34tIhT1CW4g1WnfibDz3AtttG/dI\\nO01NsEaTi0VkkR3nf7E0GoKI15VRwDl2Z9ASS6C9a4c5A3jYGHOjMeY54K923E6meAZml8nZwFn2\\nXMCDWCNjf5wOjJaa+a2XsASFU3Mfa4ddDKzAvZw84x+IVUaDbU0xWP4BtLA1ydeARtTktUxExtt/\\nz8VduwiGZ7CE4nRgApaAK7PvnQtcZNe/x7AGSmUu714PfCUi63wFLiKFIjIYMFgDgjxgnDHGOXA7\\nC0sgzrPrw7lYgxYnr9rhbAS+x6oDTjw78UD5qYUxpgvwK5bJaiS++8NKX2HYZGBp2X/F0mBbYfUf\\nSU+DNWHZ5g7BsuP+ji1ggnz9RqyGvMIYA7Z5wRjTA2v06lq5A1U+X1wuIvO8XE8DltgjUqB6PmYb\\n8Deg2OXZClw0HmNMM6xJzzRgjMcIfX8R2W3nx9XE4pkfJx9hNbhPsDqXA+3nKqjdEJ1p8BZvexGp\\nNVoTkS3GmB+By7A6+s9EpMh+50zgRWAYlmlhKXCFy+vFHsFhjGmP1bG8AUzGMj2e6SVfrnjmIw2r\\nzTjLI2A5GWMuxBpoFIs1SfsVlob3nsszmcB5IvKJfSkFy9QFljCch9WBfoKlfTnjce0cfX0nf7QE\\nnheRe+x0XIwlCMHK+9m2RoYx5jvgG5d3L8HSjlzzOo+ab30t1gBmiliT0KOB0caY44DxwP1Y5Xmb\\niPxgv5+DNX/gpMLl71QCtyV/+XHDGDMQqw4/LSIv2Je32feauZij2mNpIf7YhLUIo8R+/33g4QDv\\nJAUNSQNxa1zGmG5Yppe53u77wn7vJKCPiBxk/+uA1dBvx+qcDjXGHGa/8o9IpNeFGcDBxpgT7PT0\\nxprb8DYx+xNwgTHGOWJ9DEtT+gG4zBiznx3GzVj29EBUUGPbHQQ8btvcU7A6tjSsUd/Bxl58YHeg\\nzbA6lgle4v3JT3wjsQTDVdijUZtTgW/s+Ys5WBphWoC0HwVsE5EnReRHLG3EuSKnwuN9Z9n/APyf\\n3bEBDAF+lbqtrrkJ+KcdVzOsUfZEj2ccWJ1rZ/v3EcBKWzM7ArjX1j47AF1d0upZR+oqQM7B1pDt\\nOnIn4FxwMAo4377XH8t89pP9u7mdjmmugdnavXMhylysObr/2GYiJz2oaXM/YJlUM4wxqVimX1ez\\n8lV2fAdi1bfv7Ouu9TBQfj7wfMjOzxfAlS7Cw2k6/Ra4wX6ul53eX7zE5cpnWNpatl2fzgNmBXgn\\nKWhIGki2PUkKVkNLAa4TkZW2GSvYuYkbgS9EZI3H9X9hmTTux7K9/s8YU4qlItcK21hLem8QkbO8\\nxOEzLSKy3e6UnzPW6pAU4AoRWW9rD67Pjre1omnGGAeWen+diJQYY54BfjTWhHghdmfhJW7X32OB\\nYfaI+QEsM9oOYA9WI+sqIruMMZcDY+yw52A1+D0iMsFPvN7y+qtta98uIotdbr2OVb7zsUalv2Gt\\nFPKGM/0/AFfbWmcxltaZj9URrgTmGWOWYJkgne+8jdVp/253DCuwtLxA5eTK34FRxpjL7GdG2XNI\\nrvksN8ZcD3xrrPm1+cA7IrLPNvfMM8ZsB7ZjDVS6Ys1RBJsGX7wDHG2MWYQ1mBwlIs65sOuAt40x\\nj2CV17ki4tS4ugKb7A7XH49jfZ9pxpgqLME3C7jYvv8E1rzNPDv++cBdLu93NsbMxtJKbhURpzbx\\nJTDFGHOuiCwJkJ9ac2xYAymAp+36CLBKRC7Emih/y1jLlauw5hqLPN73LOfXsMyHc+x451J7xVtS\\nkqLu3OsPY8wQ4FgRuSzWaYkWxphc4CHgUbsD7IO1jLV9jJOmJBDGWoV1oa3JKHFKRDQQY0w/LFvi\\nQNukMhJ72aOIXOv/7YaBMeYprNFoUpeHWEuEy4DZxphyLDv9RQFeUxRPdGSbAIStgdircK4EikWk\\nvzHmC+ANEfnBnkz6UES+jUBaFUVRlDgiEpPoK3C3Y88DWts241xqVpMoiqIoSUTYAsSedHNdbrcc\\nGIE1YduGwCsYFEVRlAQkGquwXsJyW7HUXqb5PPYyRl84HA5HSkpdVyAqiqI0eGLacUZDgOzA8oQJ\\n1gab/oFeSElJIT/fc6VcwyQvL1fLwkbLogYtixq0LGrIy8uNafzRECDXYbkIca7AuS4KcSiKoigx\\nJiICRETWYmsaYnlPPT4S4SqKoijxS0NyZaIoiqJEEBUgiqIoSkioAFEURVFCQgWIoiiKEhIqQBRF\\nUZSQUAGiKEnMBx+8x7nnnk55eW2PQl999TmjR7/Jzp07eP75Z7y8bTFv3hzOPvs0hgy5kSFDbuTG\\nG6/m888/jmay3Vi1agV//OHtbLXw+Oc/r2fu3Nlu1156aTjjxn3t4w13Xn75ebZt2+rz/h9/zGPV\\nKssD/UMP3RN6QuMYFSCKksRMmPA9p546mJ9++sHnMy1btuLOO+/1G86RR/ZlxIjXGTHidV5++Q0+\\n+ugDSkpqHfwYFX75ZSKrV6+KeLjnnHMB339f4+e1oqKCadMmM2jQ4KDev/XWO2nTpq3P+99++w35\\n+fkA/Pvfz4aX2DilIR0opSj1zicTVzBr6baww0lLS6Gy0vKc3bd7Gy4+uWvAd+bNm0OHDh0477wL\\nefzxhzjjjLP444/5jBgxnKZNm5KamkbPnoexZctmHn30Ad54Y7TPsFy9dpeUlJCWlkZaWjorV67g\\npZeGAdC0aTMeeOARRJYycuTLZGZmcs4559OkSS6jR48CoFu37tx99wPMmzeHN98cSVpaGu3bd2Do\\n0Pv58cfvmT59Kvv27WPTpo1cccVV9O3bj/Hjx5GRkUH37j3YsmUzY8d+wb59ZaSkpPDUU8/RtGkz\\nhg9/BpE/admyJZs3b+KZZ14kNTWFZ599krKyMrKysrjnngfJy2tTnY8BA05m1KhXKS0tJSsri8mT\\nf6Fv32PIyspm/vy5jB79Jg6Hg7179/Doo0+Snp7OPffcTvPmLTjmmP5Mnz6Vu+9+gEaNGjFs2H8o\\nLy9nx47tXHfdTeTltWXmzGksWyZ06tSZ66//O19//QPLli3lxReHkZaWRmZmFvfe+yBVVVU89tiD\\ntG3blg0bNtCjx6EMHXpfSPWkvlEBoihJyrhxX3HWWedxwAEHkpGRyZIli3j++ad56qlhtG/fgWHD\\nnq5+NpAvurlzZzNkyI2kpKSQnp7BHXfcQ3Z2Ns8++yQPPPAoHTt2Yty4r3n//ffo27cf5eVljBr1\\nLpWVlVx66fm89dZ/adasOf/73xi2bNnCs88+yciR79C8eXPeeut1xo8fR3p6OiUlJQwfPoING9Zz\\n7713cMYZZ3HGGWfRqlVrunc/hFmzfufNN9+ksLCM5557ipkzp9OoUSMKCwsYNepddu/ezWWXXQDA\\nq6++yEUXXUa/fscyZ84sRo58mUceeaI6T5mZmZxwwgB++20SgwadznffjeX6628BYM2aVTzyyBO0\\natWaMWNGM2nSTwwadDq7du1i9Oj/kZaWxowZ1om+a9eu4bLLrqR37yNYtGgB77wziueff4V+/foz\\naNBg2rbdD6fLqmeffYr773+ELl26MmXKr4wY8Tz//OftbNiwjhdffI3MzEwuvvhcdu3aSYsWLSNZ\\nHaKCChBFiSIXn9w1KG0hEHX1/1RUVMT06dPYtWs3n332MSUlJXz++Sfs2rWL9u07ANCr1+Fs3Lgh\\nqPCOPLIvjz32ZK3ra9euZvhwSxBVVFTQocMBABx4YEcACgp2k5vblGbNmgNw+eVXsmvXLnbs2MEj\\nj9yHw+GgrKyMvn370b59Bw4+uBsAbdq0pays9rxNixbNuffee0lJSWf9+rX07NmLNWtW07NnLwCa\\nN29Ox46dAFi5ciVjxozmgw/ew+FwkJ5eu7s7++xzefXVEfTpcyTFxUXV8bdunccLLzxHTk4O+fnb\\n6NWrNwDt2u1PWpp1JL1TK2vVqjXvvfd29dxJRUWNc3LP45a2b8+nSxerPhx++BG8/vqrALRvfwDZ\\n2dnVcZeWlnn7DHGHChBFSUJ++OFbzjrrXG6+eQgApaX7uOiic8nOzmbt2jV07NiJP/9cQtOmTcOK\\n58ADO/HQQ/+iTZu2LFz4Bzt37gAgJcWaXm3RoiXFxUUUFRWRm5vLiy8OY/DgM2jTpi1PPz2cnJzG\\nTJnyGzk5OWzdusVDE7J639TUVByOKkpKinn77VFMnvwb27YVcscdlrZw0EFd+eGH77jookspLCxk\\n/fq1AHTq1IlLL72Snj0PY926NcyfX3si/qCDurJnTwmffvoRZ555TvX1Z555kk8++ZpGjRrx5JOP\\nVQsLb5raW2+N5JxzLqBfv2P57ruxjB8/rvrZqqoqt7zk5eWxcuUKunTpyrx5czjggANrhZdIx4yr\\nAFGUJOTbb7/h4Ycfr/6dlZXNgAEn07JlK/7970do3LgJOTmNawmQjz/+gA4dDuS4404IKp677rqP\\nJ554hMrKSlJTU7nvvofJz6+Z80lJSeGuu+7j7rtvIy0tjYMPNvTocSi33XYnQ4fehsNRRePGTXjo\\nocfZunWLR+hWZ21Md157bQQdO3amV6/Dufjii3E4IDe3Gdu353PGGWcxY8ZUbrrpGlq2bElWVjbp\\n6encfPNtDBv2NGVlpZSVlXHbbUO95uHMM89h5MgRfP55zYT64MF/4eabr6FRoxxatmzJ9u351flx\\nzRvAwIGn8sorLzBmzGjatGlLQcFuAA45pCevv/4K7drtX52Xe+55kBdeeLZaI7rvvod9hpsIhH2k\\nbYRwqHtmC3VVXYOWRQ3RLIv169fxzDP/5pVXRkUl/EjjWRbr1q1h+fJlnHLKaRQWFnDllZfw+efj\\nvJqsko28vNykOw9EUZQEIT9/G48//hCDBp0R66SETJs2+zFy5Mt88smHVFVVcfPNQxqE8IgHVAOJ\\nM3TUXYOWRQ1aFjVoWdQQaw1ENxIqiqIoIaECRFEURQmJiBgKjTH9gKdFZKAxJg94E2gOpAFXicjq\\nSMSjKIqixA9hayDGmLuxBEaWfelZ4H0RGQA8DHQPNw5FUZRwqazek6FEikiYsFYA57v8Pg7oYIz5\\nEbgc+CUCcSiKooTM+xOE6579heK9tXe3K6ETtglLRL40xnR0udQJ2Ckig4wxDwP3AY8GCicvLzfc\\npCQNWhY1aFnUoGVRQ13LYuLcjQAU7quk84Hx72MqUYjGYukdwFj777HAv4N5SZflWegSxRq0LGrQ\\nsqghnLLYXbAnqcox1oOKaKzCmgz8xf77RGBxFOJQFEVRYkw0NJChwFvGmJuAAqx5EEVRFCXJiIgA\\nEZG1QH/773XAaZEIV1EURYlfdCOhoiiKEhIqQBRFUZSQUAGiKIqihIQKEEVRFCUkVIAoiqIoIaEC\\nRFEURQkJFSCKoihKSKgAURSlwRAX568mESpAFEVRlJBQAaLEDf8aPYvhH8+PdTIURQmSaPjCUpSQ\\nWLs1ebykKkpDQDUQRaknHA61wCvJhQoQRakHhn80jwdGzYh1Mho8KbFOQJKhJixFqQcWr9kV6yQo\\nSsRRDURRFEUJCRUgiqIoSkhERIAYY/oZYyZ5XLvcGDMtEuEriqIo8UfYcyDGmLuBK4Fil2t9gKvD\\nDVtRFEWJXyKhgawAznf+MMa0Av4N3BaBsBVFUZQ4JWwBIiJfAhUAxphU4C3gTqAEXTWnKIqStER6\\nGe8RQFdgJNAI6GGMeV5E7gz0Yl5eboSTkrg09LJwzX+ylUU4+Um2sgiHUMuiWbNGWo4RJJICJEVE\\nZgOHARhjOgIfBiM8APLz1Y0FWA2joZeFM//JWBah5icZyyJUwimL3QV7k6ocYy0MI7mMV/00KIqi\\nNCAiooGIyFqgf6BriqIoSvKgGwkVRVGUkFABoiiKooSEChBFURQlJFSAKIqSMMxfvp1/PjeR4r3l\\nsU6KggoQRVESiBGfL2DtliKmL9oS0vu6szmyqABJIErLK2OdBEVRlGpUgCQIM5ds5abhvzJzydZY\\nJ0VRYo+qEnGBCpAEYdK8jQD8On9jjFOiKIpioQJEUZSEQxWQ+EAFiKIoDQb1txRZVIAoipJwpKSo\\nDhIPqABJMBw6hFIUJU5QAZIg6HhLUZR4QwWIoiiKEhIqQBRFUZSQUAGiKIqihIQKEEVREg5dhBUf\\nROREQmNMP+BpERlojOkNjAAqgFLgKhHJj0Q8iqIoSvwQtgZijLkbeBPIsi+9CNwiIicDXwL3hRuH\\noiiKK6qAxAeRMGGtAM53+X2JiCy0/04H9kYgDkVRFCXOCFuAiMiXWOYq5++tAMaY/sAtwAvhxqHU\\noPsIFYWQJ0FUc4ksEZkD8cQYcwlwP/AXEdkRzDt5ebnRSEpC4q0sMjOtT5WRkZb0ZeWav2TLazj5\\nSbayCIfcJlkhlUfzZjlajhEk4gLEGPM34HpggIjsDva9/PyiSCclIcnLy/VaFuXlFfb/lUlfVs78\\n+SqLRCbU/IRaFmu3FJGdlUbbFjkhxRuvFBWXhlQeuwr2JFWdirUwjOgyXmNMKvAS0AT40hgz0Rjz\\naCTjUBQleP717izuf2NGrJMRcdQUFR9ERAMRkbVAf/tnq0iEqfhAvSkqihIn6EZCRVESjl1FpbFO\\ngoIKkMRDt+AqCmOnrYl1EhRUgCiK0oDYvlu3pUUSFSCKojQYvpuxNtZJSCqisg9EiRx79pXzwid/\\nsHJToXVBJ9EVRYkTVAOJc6Yu3FIjPBRFUeIIFSCKoihKSKgAURSlwZCiWxAjigoQRVEaDA51RxpR\\nVIAoiqIoIaECRFEURQkJFSCKoihKSKgAUZQoUFXl4J1v/2TJmp2xTorigk6iRxYVIAmGTgEmBss3\\n7GbKws0M+2h+rJOiKFFDBYiiRIHKKhX1SvKjAkRRFEUJCRUgiqIoSkhExJmiMaYf8LSIDDTGdAHe\\nBaqARSJySyTiUBRFUeKLsDUQY8zdwJtAln3peeABETkJSDXGnBtuHIqiKBFBF2FFlEiYsFYA57v8\\nPlJEJtt/jwdOjUAciqIoSpwRtgARkS+BCpdLrjK+CGgWbhyKkmjoQDdO0cVxESUaB0pVufydC+wO\\n5qW8vNwoJCUxcS2LJk2y3O5lZKQlfVm55i9R87pp177qvyOVn1i9G6+Ekqe0tNSkLItYEQ0BMtcY\\nc6KI/AacAUwM5qX8/KIoJCXxyMvLdSuL4uJSt/tl5ZVJX1bO/HmWRSKxu2BP9d+ueQg1P+GWRaKW\\noz9CyVNlVVVSlUWshWE0BMhQ4E1jTAbwJ/BZFOJQFEWpO2rCiigRESAishbob/+9HBgQiXAThSqH\\ngyfem02vg1px/okHxTo5ShygcyBKQ0A3EkaAfaWVrN1SxNhpa2KdFEVRlHpDBUiioSq4oihxggoQ\\nRVEUJSRUgCQaalxXlNDR9hNRVIAoiqIoIaECJEwqq6pIqc9Rjc6BKErIqAISWVSAhMGaLYVc9+wv\\n/DRnQ6yToiiKUu+oAAmD35dsA+DL31bFOCWKogRD/u59gR9SgkYFiKIoDYYqh9qAI4kKkDBwxGBC\\nIhZxKiFQrxNjihIbVIDEO9oPJSY60lUaAA1egBTvLWdHQWh20XrpI7QfUhSvOFRIx5xoeONNKIa8\\nZB2eeKTJI7dRBled3j3GKfJPSpgqicPhIEXNK4qiRIAGr4E4mSP5/DJ/U6yTERDnHEhpeWWd312z\\npZBrnpnE3GX5kU6W4okKaaUBoAIkAG+NW8K/Rs+KdTLcmDR3AzcN/5WFq3bU6b0fZ60H4OOJy6OR\\nLMWVODCvqIlHiTYJLUDWbS3i2mcm8ceK7VGLY9qiLazdGsMTzLwMZL//fR0AMxZvCSlI7VcURYkE\\nCS1AJsxaT5XDwQc/Lot1UqKHn86+7nJAzSr1hpqwlAZAVCbRjTHpwHtAJ6ACuE5EkraXT6EeF0s5\\nXCbSVZNQ/JDs1cNBcEOiwpKyaCelwRItDeQvQJqIHAc8ATwVjUjUFFM3dFCsNESe+2herJOQtERL\\ngCwD0o0xKUAzQIcAkSREQTBtkTVnsj3EfS+KkohszC+JdRKSlmjtAykGOgNLgVbAWdGJpv5VkLnL\\n8mnXKod2rRrXT4SqNSiKEqdES4DcAXwvIg8aY9oDk4wxPUXEpyaSl5db50iysjMASE9PDen92X9u\\nDTodLVs2Zm9ZJa98sRCAscPPJbuRFX9KSo05LZR0+EtDk8ZZbvfSM9JIK7P2gGRmpYccXyTSGS1c\\n0xbP6fTHZhctL1L5qeu7lVU1A6xELUd/5LXOJTW17iOsZCyLWBEtAbITKLf/3m3Hk+bvhfz8ui+V\\n3bfPiqKysiqo9+cuy2f8zLXcdUlvsjPTGT+1tht2X+FM+n0tHffLdXuusKgUAJd2yrX/nsAt5x9G\\nhzZN6pKVavLyct3SUFxc6na/orySqsoqwMp/KOUGoZV3feFMm2dZJBK7d++t/ts1D/7yU1XlYMvO\\nPbRrlVPLW0AoZVHlUjETtRz9kb+9iNQQJvaSqSxiLQyjNQfyInCkMeY34CfgfhHZG+CdkAnWvccr\\nXyxk5cZC5i2r+74R18boZMO24lrXtu7ay8eTVtQ5/DqR5LPho7/7M9ZJiBr+Nvd9MmkFD701k1lL\\nt9VjiuKT/N17A26U9dYmlfolKgJEREpE5BIROVFEjhWRj6MRT6iE6hK9VttP7n48ZkxesDnWSYga\\n1zwzid/+8O4yx7kxdOm63RGJK5Fd/9/7+nRe+OQPivb4Xn+jLnliT0JvJAyVqC//jWQEHkIqcbsE\\nxcm745ctOVdLAAAgAElEQVT6vf/r/I31lJL4x5/Pt9KyuvuDUyJLYguQeu5NdxTGYPmrRx7LK6rY\\nunNP/adDqROhKKfOT637m4JELQAxJ7EFiJM6VqRQj7Wc56Ey+4o2mu1/vcu8izMbH09czvMfz49i\\nrEoikhSCKBnykMQk9HkgIdetEF6M53r8w+/rY50ExYN4ri+KEimSQgOpqyYbqcatnYQSSZJCY1CC\\nYuuuPeyMhUk8wiS0AAn1vIOQz0mIhc3VT5za38Qvap5X/HH/GzMY+tq0WCcjbBJagFRTD/sivMVQ\\nL52ESokGQ5Jv7wkJf9U/3OOdlfBJDgFSR4Ltk9eFeJBUvZki1OaRVOjnVBKNpBcgOwv31d5wZDdU\\nT3cRbo84HDzmcZStjniURCIZBJK2uPgm6QXIw2//zitfLHRzO6JnRSuRYt3WIn734pRTiQz+Wmoi\\n77RPFhJ6Ga8Tf6OUvaUVABS6uEQIpdrFrKrqJHpc49RSD+/SmqxMv/5ClQgTiiNFJbIkvQbiDVVA\\nlEhTGZeO/WrSVGF7cFaUSJLQAqQugsD10WibsCIavn8dXlGC4u6Rib9kVIk/ElqAOKmrJhtqvxts\\nPJHyphoqcySf21+ekhQblZTIUFCcmKdK6xgpvkloAVKfrkw8ZcfaLUUs31AQ8L1YmA5e/XIhhSVl\\nTFmYvG7RFUWJPQkpQJat381dr05l8/aSkN5ftbkQ8L/Pw1PGrPc4POpf784iEBu2FXP9c78wbtqa\\nuiaxBp1ET0hCmd+NtGk1Geb6ojFNrqswI0dCCpDR45eyq6iUjXURIC51ZuYSa9mlc4VWMHw1ZXXw\\ncdlMss91+OK32kfnKsmFp8AIt496a9ySoJ9dvGan19MxkwF/xfjxxCif/KkEJGoCxBhznzFmmjFm\\nljHm/6IVD8DmHd7Px4jlSMPhcDBpbgQOBvKThYD504FWwjJt0Zagnx3+0Xweeef3KKYmPineWx7U\\nc7rYN3pERYAYY04CjhWR/sAA4IBoxBOIZev9T2ZHs38dO3VNFENXkhF/p++Fgo4fbPRUz6gRLQ1k\\nMLDIGPMV8A0wLkrxVDN76bZa1/bs822imjR3Q1RXpvw4W8/oaMiEMgdSURndrm21PffX0FAXRNEj\\nWjvRWwMHAmcBB2EJke7+XsjLyw068PS02hXita8WMXb4uW7X9iypESrNmjVyuzdmwjK/6ajysjEs\\nJycz6DR6+tnKy8tl8vyNVFZWMeDI2grZ+OlrwOHgjLxct7JokpvlM47MzHS3Zz3LMKdxls9yrUt5\\nxwJn+uI9nU5at25CTnZG9e8tBaXVf3vLQzD58nwm0Due9/eVuQ+gnnhvdq02Eu+0bNGYvNaNfd4P\\nqn6k4KZ25LXOJTU1PoRKotRvX0RLgOwA/hSRCmCZMWafMaa1iGz39UJ+fvCeb32N1DzDePubRTX3\\ntgc3yegMw9uxt3v2BK+xeAqg/Pwinh0zG4BDD2wOwOYdJWzIL6Fv9za89tkfAJzRv7NbPoqLS/FF\\nWVmF27Oe+S8pKfVZrnUp71iQn19EXl5u3KfTyfbtxTTKqmlOu3fXzMt5y0Mw+XJ9Jpiy8LxfWlbb\\nJJYo5elk585i0h2+l8IHkx9PUZG/vShu3KCE+z1iLYCiZcKaApwOYIzZH8jBEiox4+UvFtbtBS8y\\nKtJ17sE3ZzLyq0UU+BES/ifRI5seJXLESf+U9IyZIFz99ES+m7E2+Je03USMqAgQEfkWmGeM+R34\\nGrhZRBLmsy1evZP3vl8aVhh1yWykJ0+daB+mJDvOlY6f/bIyxilpmETNG6+I3BetsKPN8I/ne72+\\nZefekMNUtyJKfRNJd+dl5ZWkpaWQlpqQW8eC5uspq9mYX8zN5x8W66QkBAnpzn3rTu/7PqKNt5Ve\\nwfLcR96FEgTQVsJQIxJG5UsCkt2ceOPwX2mRm8XwW46LdVLqTK1Nnjjw1bC+tjcMVzkccTNPEs8k\\n93Aiprj3KLESeooSKXYV+Zmri2vqLgh2FKjFIBhUgESJiI1Iw9mJrjRokqF6uGbB72ITP4SiSLzx\\nzWKK6rDqsqGiAiSB8ewfyiuq+OH3dTX3k6EHSRjqVtY6J1Z3dhSGKEBCeGfVpkK+UW8SAVEB4oHn\\n5qtEYtLcDUnnYK6isiopBeE73/0Z9TjKK/QUQm8EW53KorQ60pW5y/K59cXfyN/te4FOQXEpv87f\\n6HVvWqxRAeLBF79GxnOuv0+93U9lqUUdhk9bdoW+Sixeuf65X/j3f2fHOhkB8fe9vZ0JU7wnOEeA\\n4TDmB4l6HAlBHM+Fv/71Ikr2VfDr/E0+nxn+8Xze+174/c+t9Ziy4IgbAbJuaxEvfPIHhSWxtTv+\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329bc18>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Percentage Variation\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/3-methodology-results-conclusion-code-py2-Copy1-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\\n\",\n    \"#['Symbol'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model but are nice for visualisations\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Oil Stocks\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"print(\\\"Oil stocks in DF: \\\", oil_stocks_in_df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract GAIA data\\n\",\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and GAIA data start intersecting \\n\",\n    \"# i.e. date = 1999-10-29\\n\",\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Read in FTSE100 data\\n\",\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"\\n\",\n    \"# Preview data\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sort FTSE100 data by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and FTSE data start intersecting \\n\",\n    \"# i.e. date = 1984-04-02\\n\",\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Adds FTSE data to BP dataframe, joining at dates\\n\",\n    \"\\n\",\n    \"# FTSE columns we want to copy to BP dataframe\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']    \\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the FTSE row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"bp_counter = 0\\n\",\n    \"ftse_counter = 0\\n\",\n    \"while ftse_counter < len(sorted_ftse100):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start + bp_counter, 'Date']\\n\",\n    \"    ftse_date = sorted_ftse100.loc[ftse_start - ftse_counter, 'Date']\\n\",\n    \"    if bp_date == ftse_date:\\n\",\n    \"        # Add FTSE data to BP row\\n\",\n    \"        for col in ftse_data_to_copy:\\n\",\n    \"            bp.loc[bp_ftse_start + bp_counter, 'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start - ftse_counter,'%s' % str(col)]\\n\",\n    \"        # FTSE counter + 1, BP counter + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    elif bp_date < ftse_date:\\n\",\n    \"        # Move to next BP row, same FTSE row and repeat\\n\",\n    \"        bp_counter += 1\\n\",\n    \"    elif bp_date > ftse_date:\\n\",\n    \"        # Move to next FTSE row, same BP row and repeat\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    else:\\n\",\n    \"        print(\\\"Error: BP date is \\\", bp_date, \\\"; FTSE date is \\\", ftse_date)\\n\",\n    \"        # FTSE row + 1, BP row + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1984-04-27\\n\",\n      \"1984-05-02\\n\",\n      \"1984-05-07\\n\",\n      \"1984-05-29\\n\",\n      \"1984-08-27\\n\",\n      \"1984-12-26\\n\",\n      \"1985-04-08\\n\",\n      \"1985-05-06\\n\",\n      \"1985-08-26\\n\",\n      \"1985-12-26\\n\",\n      \"1986-03-31\\n\",\n      \"1986-05-05\\n\",\n      \"1986-08-25\\n\",\n      \"1986-12-26\\n\",\n      \"1987-04-20\\n\",\n      \"1987-05-04\\n\",\n      \"1987-08-31\\n\",\n      \"1987-12-28\\n\",\n      \"1988-04-04\\n\",\n      \"1988-05-02\\n\",\n      \"1988-08-29\\n\",\n      \"1988-12-27\\n\",\n      \"1989-03-27\\n\",\n      \"1989-05-01\\n\",\n      \"1989-08-28\\n\",\n      \"1989-12-26\\n\",\n      \"1990-04-16\\n\",\n      \"1990-05-07\\n\",\n      \"1990-08-27\\n\",\n      \"1990-12-26\\n\",\n      \"1991-04-01\\n\",\n      \"1991-05-06\\n\",\n      \"1991-08-26\\n\",\n      \"1991-12-26\\n\",\n      \"1992-04-20\\n\",\n      \"1992-05-04\\n\",\n      \"1992-08-31\\n\",\n      \"1992-12-28\\n\",\n      \"1993-04-12\\n\",\n      \"1993-05-03\\n\",\n      \"1993-08-30\\n\",\n      \"1993-12-27\\n\",\n      \"1993-12-28\\n\",\n      \"1994-01-03\\n\",\n      \"1994-04-04\\n\",\n      \"1994-05-02\\n\",\n      \"1994-08-29\\n\",\n      \"1994-12-27\\n\",\n      \"1995-04-17\\n\",\n      \"1995-05-08\\n\",\n      \"1995-08-28\\n\",\n      \"1995-12-26\\n\",\n      \"1996-04-08\\n\",\n      \"1996-05-06\\n\",\n      \"1996-08-26\\n\",\n      \"1996-12-26\\n\",\n      \"1997-03-31\\n\",\n      \"1997-05-05\\n\",\n      \"1997-08-25\\n\",\n      \"1997-12-26\\n\",\n      \"1998-04-13\\n\",\n      \"1998-05-04\\n\",\n      \"1998-08-31\\n\",\n      \"1998-12-28\\n\",\n      \"1998-12-31\\n\",\n      \"1999-04-05\\n\",\n      \"1999-05-03\\n\",\n      \"1999-08-30\\n\",\n      \"1999-12-27\\n\",\n      \"1999-12-28\\n\",\n      \"1999-12-31\\n\",\n      \"2000-01-03\\n\",\n      \"2000-04-24\\n\",\n      \"2000-05-01\\n\",\n      \"2000-08-28\\n\",\n      \"2000-12-26\\n\",\n      \"2001-04-16\\n\",\n      \"2001-05-07\\n\",\n      \"2001-08-27\\n\",\n      \"2001-12-26\\n\",\n      \"2002-04-01\\n\",\n      \"2002-05-06\\n\",\n      \"2002-06-03\\n\",\n      \"2002-06-04\\n\",\n      \"2002-08-26\\n\",\n      \"2002-12-26\\n\",\n      \"2003-04-21\\n\",\n      \"2003-05-05\\n\",\n      \"2003-08-25\\n\",\n      \"2003-12-26\\n\",\n      \"2004-04-12\\n\",\n      \"2004-05-03\\n\",\n      \"2004-08-30\\n\",\n      \"2004-12-27\\n\",\n      \"2004-12-28\\n\",\n      \"2005-01-03\\n\",\n      \"2005-03-28\\n\",\n      \"2005-05-02\\n\",\n      \"2005-08-29\\n\",\n      \"2005-12-27\\n\",\n      \"2006-04-17\\n\",\n      \"2006-05-01\\n\",\n      \"2006-08-28\\n\",\n      \"2006-12-26\\n\",\n      \"2007-04-09\\n\",\n      \"2007-05-07\\n\",\n      \"2007-08-27\\n\",\n      \"2007-12-26\\n\",\n      \"2008-03-24\\n\",\n      \"2008-05-05\\n\",\n      \"2008-08-25\\n\",\n      \"2008-12-26\\n\",\n      \"2009-03-27\\n\",\n      \"2009-04-13\\n\",\n      \"2009-05-04\\n\",\n      \"2009-06-25\\n\",\n      \"2009-08-11\\n\",\n      \"2009-08-31\\n\",\n      \"2009-09-02\\n\",\n      \"2009-12-28\\n\",\n      \"2010-04-05\\n\",\n      \"2010-04-19\\n\",\n      \"2010-04-20\\n\",\n      \"2010-05-03\\n\",\n      \"2010-05-12\\n\",\n      \"2010-08-30\\n\",\n      \"2010-12-27\\n\",\n      \"2010-12-28\\n\",\n      \"2011-01-03\\n\",\n      \"2011-04-25\\n\",\n      \"2011-04-29\\n\",\n      \"2011-05-02\\n\",\n      \"2011-08-29\\n\",\n      \"2011-12-27\\n\",\n      \"2012-04-09\\n\",\n      \"2012-05-07\\n\",\n      \"2012-06-04\\n\",\n      \"2012-06-05\\n\",\n      \"2012-08-27\\n\",\n      \"2012-12-26\\n\",\n      \"2013-04-01\\n\",\n      \"2013-05-06\\n\",\n      \"2013-08-26\\n\",\n      \"2013-09-23\\n\",\n      \"2013-12-26\\n\",\n      \"2014-04-21\\n\",\n      \"2014-05-05\\n\",\n      \"2014-08-25\\n\",\n      \"2014-12-26\\n\",\n      \"2015-01-02\\n\",\n      \"2015-04-06\\n\",\n      \"2015-05-04\\n\",\n      \"2015-08-31\\n\",\n      \"2015-12-17\\n\",\n      \"2015-12-28\\n\",\n      \"2016-03-28\\n\",\n      \"2016-05-02\\n\",\n      \"2016-08-29\\n\",\n      \"NaNs:  158\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Count and display NaNs in FTSE data \\n\",\n    \"# i.e. dates where we have BP but not FTSE data\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Proxy remaining FTSE NaNs by taking the mean of the prices in the \\n\",\n    \"# two closest trading days where data is available \\n\",\n    \"# (one before, one after the day)\\n\",\n    \"ftse_data_to_average = ['Open', 'High', 'Low', 'Close']    \\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        if not (pd.isnull(bp.loc[bp_ftse_start+row-1, 'FTSE Date']) or pd.isnull(bp.loc[bp_ftse_start+row+1, 'FTSE Date'])):\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        else:\\n\",\n    \"            go_back = 0\\n\",\n    \"            go_forward = 0\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row-1-go_back, 'FTSE Date']):\\n\",\n    \"                go_back += 1\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row+1+go_forward, 'FTSE Date']):\\n\",\n    \"                go_forward += 1\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                    bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1-go_back,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1+go_forward,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"NaNs:  0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Check there are no more NaNs\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"#        prices.iloc[i]['Target'] = bp.iloc[i+days][target]\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"#    print(\\\"Features\\\", features.head())\\n\",\n    \"#    print(\\\"Prices\\\", nday_prices.head())\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    print(\\\"X.tail: \\\", X.tail())\\n\",\n    \"#    print(\\\"y.head: \\\", y.head())\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"X_train = []\\n\",\n    \"X_test = []\\n\",\n    \"y_train = []\\n\",\n    \"y_test = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2)) * 100\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print(\\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred))\\n\",\n    \"    print(\\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred))\\n\",\n    \"    print(\\\"Explained Variance Score: \\\", explained_variance_score(test, pred))\\n\",\n    \"    print(\\\"Mean Squared Error: \\\", mean_squared_error(test, pred))\\n\",\n    \"    print(\\\"R2 score: \\\", r2_score(test, pred))\\n\",\n    \"#    print(\\\"Median Absolute Error: \\\", median_absolute_error(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"days = 7\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    # Lines below for debugging purposes\\n\",\n    \"#    print(\\\"X_train.head(): \\\", X_train.head())\\n\",\n    \"#    print(\\\"X_train.tail(): \\\", X_train.tail())\\n\",\n    \"#    print(\\\"Pred: \\\", pred[:5])\\n\",\n    \"#    print(\\\"Test: \\\", y_test[:5])\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print(\\\"# Days used to predict: %s\\\" % str(days))\\n\",\n    \"    print(\\\"\\\\n%s-day predictions\\\" % str(target_days)) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"def execute(steps=8, buffer_step=1000, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test(days=days, periods=periods, buffer=buffer)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.35177309038\\n\",\n      \"Explained Variance Score:  -0.999897657081\\n\",\n      \"Mean Squared Error:  5.3988704324\\n\",\n      \"R2 score:  -1.79018260924\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0968047690639\\n\",\n      \"Explained Variance Score:  0.631705385589\\n\",\n      \"Mean Squared Error:  0.0157858151181\\n\",\n      \"R2 score:  0.624974281171\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.121813762853\\n\",\n      \"Explained Variance Score:  0.841217523638\\n\",\n      \"Mean Squared Error:  0.0294876156146\\n\",\n      \"R2 score:  0.833996914272\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.426327931115\\n\",\n      \"Explained Variance Score:  0.603248858424\\n\",\n      \"Mean Squared Error:  0.3014216695\\n\",\n      \"R2 score:  0.267021281001\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  2.78950172548\\n\",\n      \"Explained Variance Score:  -3.16904684367\\n\",\n      \"Mean Squared Error:  12.5284487756\\n\",\n      \"R2 score:  -9.15605753784\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794150514869\\n\",\n      \"Explained Variance Score:  0.596407090489\\n\",\n      \"Mean Squared Error:  1.14332478592\\n\",\n      \"R2 score:  0.597101359913\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  4.81075475134\\n\",\n      \"Explained Variance Score:  -1.96163694244\\n\",\n      \"Mean Squared Error:  33.132880399\\n\",\n      \"R2 score:  -8.55239322845\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.21013490927\\n\",\n      \"Explained Variance Score:  0.826791346825\\n\",\n      \"Mean Squared Error:  2.43831676478\\n\",\n      \"R2 score:  0.822383271832\\n\",\n      \"Errors:  [Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64, Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64, Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64, Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64, Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64, Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64, Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64, Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[28.167307082010478, 1.4463260128939317, 1.4015691053772388, 10.765715566952402, 24.41364846412203, 2.5976792674283566, 18.495640626302091, 2.5516641001831584], [28.524924281544262, 2.1150843700255639, 1.9904192071209452, 9.9777793095670795, 24.431344729424715, 3.367362298621531, 18.32452824442602, 2.9446157412542853], [28.966326367296624, 2.5023622771613652, 2.3109755963471068, 10.480972016930716, 24.620149855164474, 3.7850136112690573, 18.233121169601173, 3.1880683026068426], [29.085697436318398, 2.8063986750089587, 2.7077120693474366, 10.557942877986475, 24.986822088443628, 4.1801925531737281, 18.358886996507305, 3.4904393628985919], [29.562881417844032, 3.021868557170595, 3.0291535073135702, 10.431970367583759, 25.272566808380592, 4.6500648454107214, 18.479669548458453, 4.1392852048533699], [29.542482156287058, 3.1522506324077977, 3.4807177473584945, 10.593414589800933, 26.220902712818216, 5.0692206066914274, 18.598393316146357, 4.6759345302063018], [29.721120149448151, 3.3063521749028761, 4.1903047240177909, 11.1043790016977, 26.731233491624817, 5.4599845932349131, 18.818122838439312, 5.1515982900107735]]\\n\",\n      \"Mean daily error:  [11.229943778158709, 11.45950727274805, 11.76087364954717, 12.021761507460564, 12.323432532126887, 12.666664536464573, 13.060386907922041]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# svm.SVR() trial\\n\",\n    \"execute(model=svm.SVR(), steps=8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.238191228204\\n\",\n      \"Explained Variance Score:  0.936734586453\\n\",\n      \"Mean Squared Error:  0.124174009044\\n\",\n      \"R2 score:  0.935825805621\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0972692755964\\n\",\n      \"Explained Variance Score:  0.631714378075\\n\",\n      \"Mean Squared Error:  0.0158811529743\\n\",\n      \"R2 score:  0.622709326982\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107737269091\\n\",\n      \"Explained Variance Score:  0.871650317662\\n\",\n      \"Mean Squared Error:  0.0228261083752\\n\",\n      \"R2 score:  0.871498446163\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.181147312912\\n\",\n      \"Explained Variance Score:  0.875052508652\\n\",\n      \"Mean Squared Error:  0.0677040810751\\n\",\n      \"R2 score:  0.835361370336\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214491478056\\n\",\n      \"Explained Variance Score:  0.938634248613\\n\",\n      \"Mean Squared Error:  0.079359261295\\n\",\n      \"R2 score:  0.935668234886\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.800157764607\\n\",\n      \"Explained Variance Score:  0.613715850639\\n\",\n      \"Mean Squared Error:  1.11699089039\\n\",\n      \"R2 score:  0.606381217067\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.64399497304\\n\",\n      \"Explained Variance Score:  0.892268550448\\n\",\n      \"Mean Squared Error:  0.724194775999\\n\",\n      \"R2 score:  0.791210628505\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.05035951615\\n\",\n      \"Explained Variance Score:  0.867777620914\\n\",\n      \"Mean Squared Error:  1.93149720042\\n\",\n      \"R2 score:  0.859302032386\\n\",\n      \"Errors:  [Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64, Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64, Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64, Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64, Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64, Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64, Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64, Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3698570333111504, 1.4112606385290734, 1.3388596770845407, 1.9978731488987438, 1.0643274139994094, 2.1726600714614435, 1.2096456519754599, 1.7851545701577813], [3.5397290828630266, 2.0992094906568943, 1.8827346495576485, 2.9916658848423605, 1.5585063699310966, 3.1013013471389437, 1.8485430242142713, 2.3575578468241742], [4.4040805111224612, 2.4921560557064821, 2.1764572183007651, 3.8243303952515619, 1.9133366253171493, 3.7697615623429668, 2.3093446670878617, 2.8551593057497877], [5.1323698739556516, 2.7671208137147856, 2.5543948404668759, 4.5282824168670546, 2.2001438159343518, 4.2080025337986378, 2.6823554175829778, 3.1844563168900706], [5.7184126896356871, 2.9697212352907276, 2.8435756292022925, 5.2200020876609496, 2.4613047808963091, 4.6245858986274824, 3.0873673748688937, 3.7434820521423369], [6.3399233706097196, 3.1396242770876306, 3.0843584513004441, 5.8895164465804859, 2.661753553657308, 5.0196880611640164, 3.4767926237582256, 4.2266657488609063], [6.8622343672731771, 3.2855971145088323, 3.3444418914677345, 6.4172185016832541, 2.843053391214541, 5.462962469783192, 3.8883808398183208, 4.6139581254374233]]\\n\",\n      \"Mean daily error:  [1.6687047756772002, 2.4224059620035518, 2.9680782926098792, 3.4071407536513005, 3.8335564685405847, 4.2297903166273416, 4.5897308376483092]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Linear Regression trial\\n\",\n    \"execute(steps=8)\\n\",\n    \"\\n\",\n    \"# R2 scores: [0.859, 0.791, 0.606, 0.936, 0.835, 0.871, 0.623, 0.936]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\",\n    \"\\n\",\n    \"No change in performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2 Feature Selection\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.1 Adding more of the same type of features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-09  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-10  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"1979-10-11  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-12  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1979-10-09  7.67689  7.59882  7.72894   8.36703  7.28654  \\n\",\n      \"1979-10-10  7.69042  7.67689  7.59882   8.36703  7.28654  \\n\",\n      \"1979-10-11  7.67689  7.69042  7.67689   8.36703  7.55926  \\n\",\n      \"1979-10-12   7.9111  7.67689  7.69042   8.36703  7.53428  \\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689   8.36703  7.53428  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.245263403626\\n\",\n      \"Explained Variance Score:  0.934491328873\\n\",\n      \"Mean Squared Error:  0.129280801098\\n\",\n      \"R2 score:  0.933454012643\\n\",\n      \"Buffer:  700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-07-15  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104  5.80321   \\n\",\n      \"1982-07-16   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104   \\n\",\n      \"1982-07-17  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309   \\n\",\n      \"1982-07-18  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558   \\n\",\n      \"1982-07-19  5.15262  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1982-07-15  5.89377   5.9073  5.77718   5.95935  5.50446  \\n\",\n      \"1982-07-16  5.80321  5.89377   5.9073   5.95935  5.30876  \\n\",\n      \"1982-07-17  5.62104  5.80321  5.89377   5.95935  5.24423  \\n\",\n      \"1982-07-18  5.67309  5.62104  5.80321   5.89377  5.08809  \\n\",\n      \"1982-07-19  5.68558  5.67309  5.62104   5.82923  5.06102  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173300277596\\n\",\n      \"Explained Variance Score:  0.888815416717\\n\",\n      \"Mean Squared Error:  0.0490251778494\\n\",\n      \"R2 score:  0.883431428434\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-04-24  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   4.6967   \\n\",\n      \"1985-04-25  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   \\n\",\n      \"1985-04-26  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842   \\n\",\n      \"1985-04-27  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   \\n\",\n      \"1985-04-28  4.21578  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1985-04-24  4.72376   4.6967  4.72376   4.74874  4.50204  \\n\",\n      \"1985-04-25   4.6967  4.72376   4.6967   4.74874  4.44999  \\n\",\n      \"1985-04-26  4.71023   4.6967  4.72376   4.73625  4.35943  \\n\",\n      \"1985-04-27   4.6842  4.71023   4.6967   4.72376  4.26783  \\n\",\n      \"1985-04-28   4.6842   4.6842  4.71023   4.72376  4.21578  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.119108631048\\n\",\n      \"Explained Variance Score:  0.711899830922\\n\",\n      \"Mean Squared Error:  0.0289413179188\\n\",\n      \"R2 score:  0.708651146753\\n\",\n      \"Buffer:  2100\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-28  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682  6.23485   \\n\",\n      \"1988-01-29    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682   \\n\",\n      \"1988-01-30   6.2886    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   \\n\",\n      \"1988-01-31  6.34235   6.2886    6.194  6.10048  5.95321   6.0865  6.10048   \\n\",\n      \"1988-02-01   6.3015  6.34235   6.2886    6.194  6.10048  5.95321   6.0865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1988-01-28  6.31547  6.34235   6.2757   6.34235  5.93923  \\n\",\n      \"1988-01-29  6.23485  6.31547  6.34235   6.34235  5.93923  \\n\",\n      \"1988-01-30   6.1682  6.23485  6.31547   6.32945  5.93923  \\n\",\n      \"1988-01-31  6.11445   6.1682  6.23485   6.35525  5.93923  \\n\",\n      \"1988-02-01  6.10048  6.11445   6.1682    6.3961  5.93923  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0952769269966\\n\",\n      \"Explained Variance Score:  0.871507295966\\n\",\n      \"Mean Squared Error:  0.0159940255259\\n\",\n      \"R2 score:  0.870509426232\\n\",\n      \"Buffer:  2800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-11-07  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226  6.98862   \\n\",\n      \"1990-11-08  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226   \\n\",\n      \"1990-11-09  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702   \\n\",\n      \"1990-11-10   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862   \\n\",\n      \"1990-11-11  6.98862   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1990-11-07  6.91929  7.01658  6.86338   7.22567  6.80748  \\n\",\n      \"1990-11-08  6.98862  6.91929  7.01658   7.22567  6.80748  \\n\",\n      \"1990-11-09  7.21226  6.98862  6.91929   7.22567  6.80748  \\n\",\n      \"1990-11-10  7.08702  7.21226  6.98862   7.22567  6.80748  \\n\",\n      \"1990-11-11  6.98862  7.08702  7.21226   7.22567  6.80748  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.144183713669\\n\",\n      \"Explained Variance Score:  0.723639903735\\n\",\n      \"Mean Squared Error:  0.0348028136176\\n\",\n      \"R2 score:  0.713646708273\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-11  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-12  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"1993-08-13   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-14  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-15   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1993-08-11  9.36866  9.29831  9.29831    9.3998  9.00997  \\n\",\n      \"1993-08-12  9.21296  9.36866  9.29831   9.47131  9.00997  \\n\",\n      \"1993-08-13  9.11146  9.21296  9.36866   9.70198  9.00997  \\n\",\n      \"1993-08-14  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-15   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.175887097751\\n\",\n      \"Explained Variance Score:  0.887963498445\\n\",\n      \"Mean Squared Error:  0.0551035235759\\n\",\n      \"R2 score:  0.867615685704\\n\",\n      \"Buffer:  4200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1996-05-18  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776  19.2888   \\n\",\n      \"1996-05-19  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776   \\n\",\n      \"1996-05-20  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691   \\n\",\n      \"1996-05-21  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252   \\n\",\n      \"1996-05-22  20.0734  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1996-05-18  19.4235  19.6291  19.6008   19.7473  18.8327  \\n\",\n      \"1996-05-19  19.2888  19.4235  19.6291   19.9553  18.8327  \\n\",\n      \"1996-05-20  18.8776  19.2888  19.4235   20.3381  18.8327  \\n\",\n      \"1996-05-21  19.0691  18.8776  19.2888   20.6193  18.8327  \\n\",\n      \"1996-05-22  19.5252  19.0691  18.8776   20.6193  18.8327  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.338537070406\\n\",\n      \"Explained Variance Score:  0.880567104974\\n\",\n      \"Mean Squared Error:  0.199301427398\\n\",\n      \"R2 score:  0.878296105939\\n\",\n      \"Buffer:  4900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-02-25  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   25.869   \\n\",\n      \"1999-02-26  27.2306  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   \\n\",\n      \"1999-02-27   26.676  27.2306  26.8147  27.0771  26.1463  26.3344    27.29   \\n\",\n      \"1999-02-28  26.5934   26.676  27.2306  26.8147  27.0771  26.1463  26.3344   \\n\",\n      \"1999-03-01  27.0567  26.5934   26.676  27.2306  26.8147  27.0771  26.1463   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1999-02-25  25.6215   25.468  25.3739    27.384  24.8145  \\n\",\n      \"1999-02-26   25.869  25.6215   25.468    27.384  25.1907  \\n\",\n      \"1999-02-27  26.8889   25.869  25.6215    27.384  25.3096  \\n\",\n      \"1999-02-28    27.29  26.8889   25.869    27.384  25.4383  \\n\",\n      \"1999-03-01  26.3344    27.29  26.8889    27.384  26.0522  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.79987099583\\n\",\n      \"Explained Variance Score:  0.713699257351\\n\",\n      \"Mean Squared Error:  1.14286865075\\n\",\n      \"R2 score:  0.709731902283\\n\",\n      \"Buffer:  5600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-12-05  20.6998   20.841  21.0692  21.2803  21.3878  21.4792  20.6785   \\n\",\n      \"2001-12-06  21.3353  20.6998   20.841  21.0692  21.2803  21.3878  21.4792   \\n\",\n      \"2001-12-07  21.3679  21.3353  20.6998   20.841  21.0692  21.2803  21.3878   \\n\",\n      \"2001-12-08  21.3299  21.3679  21.3353  20.6998   20.841  21.0692  21.2803   \\n\",\n      \"2001-12-09  21.2375  21.3299  21.3679  21.3353  20.6998   20.841  21.0692   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2001-12-05  20.6677  20.8934  20.7161   21.5437  20.4119  \\n\",\n      \"2001-12-06  20.6785  20.6677  20.8934   21.5437  20.4119  \\n\",\n      \"2001-12-07  21.4792  20.6785  20.6677   21.5437  20.4119  \\n\",\n      \"2001-12-08  21.3878  21.4792  20.6785   21.5437  20.4119  \\n\",\n      \"2001-12-09  21.2803  21.3878  21.4792   21.5437  20.4119  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.841030573229\\n\",\n      \"Explained Variance Score:  0.823346393459\\n\",\n      \"Mean Squared Error:  1.23605771115\\n\",\n      \"R2 score:  0.721970087336\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2004-09-17  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684  39.3459   \\n\",\n      \"2004-09-18  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684   \\n\",\n      \"2004-09-19  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374   \\n\",\n      \"2004-09-20  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223   \\n\",\n      \"2004-09-21  39.8887  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2004-09-17  39.4294  40.4553  40.4672   41.3022  39.0358  \\n\",\n      \"2004-09-18  39.3459  39.4294  40.4553   41.3022  39.0358  \\n\",\n      \"2004-09-19  39.2684  39.3459  39.4294   41.3022  39.0358  \\n\",\n      \"2004-09-20  40.4374  39.2684  39.3459   41.3022  39.0358  \\n\",\n      \"2004-09-21  40.6223  40.4374  39.2684   41.3022  39.0358  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728558429454\\n\",\n      \"Explained Variance Score:  0.795888858571\\n\",\n      \"Mean Squared Error:  0.927322469233\\n\",\n      \"R2 score:  0.79156569031\\n\",\n      \"Errors:  [Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64, Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64, Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64, Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64, Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64, Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64, Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64, Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64, Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64, Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3633119350196083, 2.3656668815405815, 1.8068967673168335, 1.1618527298758623, 1.2445199687301822, 1.3663233859342694, 1.2306040140332253, 2.0991032810897887, 2.4324477531714686, 1.2507503445957771], [3.5547442825053919, 3.481529290249135, 2.5856310121744528, 1.6496590138637148, 1.809132425557288, 1.9964030368392935, 1.8720955368221319, 3.1280968433143097, 3.5227538429212828, 1.8321069037719084], [4.4479717498041955, 4.3049728599220547, 3.1680784232346348, 1.9720295214110184, 2.1910410000791423, 2.5121823913989516, 2.3170550743329108, 3.8585169441853613, 4.3728666842384767, 2.2386315167496664], [5.2227419733682234, 4.7215794009499099, 3.4891579548518452, 2.2414627141040615, 2.5055902203003813, 2.90970213520768, 2.6274277931002956, 4.376862471759261, 5.1061285474682583, 2.5932743630842392], [5.8260923948398808, 5.0598325984063965, 3.8226976530484578, 2.4088856925610633, 2.7730862599144057, 3.2157984690632953, 2.9342447416299611, 4.7079859138129168, 5.7969965267876038, 2.8488069806603251], [6.4375575079233638, 5.3681318110243605, 4.1111391646782698, 2.5862495537524421, 2.9855585838487566, 3.482818119821625, 3.2730794532705025, 4.9961485085103687, 6.418081003261106, 3.0338810314181326], [6.9698629698470569, 5.6450129168027123, 4.3105607363275551, 2.6921943572726881, 3.1522043963508404, 3.7153490809861225, 3.4874417668039328, 5.3341041131784843, 6.9664616392606362, 3.1588584581960775]]\\n\",\n      \"Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Considering more than 7 days' worth of prior data\\n\",\n    \"# 10 days' worth of prior data\\n\",\n    \"execute(steps=10, days=10, buffer_step = 700)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-14  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-15   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   \\n\",\n      \"1979-10-16  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452   \\n\",\n      \"1979-10-17  7.20847  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-14  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-15   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-16  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-17  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-13   8.36703  7.28654  \\n\",\n      \"1979-10-14   8.36703  7.28654  \\n\",\n      \"1979-10-15   8.36703  7.39063  \\n\",\n      \"1979-10-16   8.36703  7.18245  \\n\",\n      \"1979-10-17   8.36703  6.92221  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.248776074705\\n\",\n      \"Explained Variance Score:  0.932287153948\\n\",\n      \"Mean Squared Error:  0.131935951513\\n\",\n      \"R2 score:  0.931564117202\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-07  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-08  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-09  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929   \\n\",\n      \"1981-10-10  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327   \\n\",\n      \"1981-10-11  3.72134  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1981-10-07  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553  3.44757   \\n\",\n      \"1981-10-08  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553   \\n\",\n      \"1981-10-09  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464   \\n\",\n      \"1981-10-10  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918   \\n\",\n      \"1981-10-11  3.64327  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1981-10-07    4.0076   3.3185  \\n\",\n      \"1981-10-08    4.0076   3.3185  \\n\",\n      \"1981-10-09    4.0076   3.3185  \\n\",\n      \"1981-10-10    4.0076  3.48713  \\n\",\n      \"1981-10-11    4.0076  3.53918  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.139681061468\\n\",\n      \"Explained Variance Score:  0.695779905092\\n\",\n      \"Mean Squared Error:  0.0337119645641\\n\",\n      \"R2 score:  0.685613674393\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-30  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-01  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-02  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192   \\n\",\n      \"1983-10-03   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602   \\n\",\n      \"1983-10-04  4.35943   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1983-09-30  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-10-01  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-10-02  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-10-03  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-10-04  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-30   4.60613   4.3459  \\n\",\n      \"1983-10-01   4.60613   4.3459  \\n\",\n      \"1983-10-02   4.56762  4.26783  \\n\",\n      \"1983-10-03   4.56762  4.26783  \\n\",\n      \"1983-10-04   4.56762  4.26783  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0983383277787\\n\",\n      \"Explained Variance Score:  0.673001905538\\n\",\n      \"Mean Squared Error:  0.0159582555222\\n\",\n      \"R2 score:  0.663777302829\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-09-20  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809  5.14013   \\n\",\n      \"1985-09-21  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809   \\n\",\n      \"1985-09-22  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865   \\n\",\n      \"1985-09-23  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013   \\n\",\n      \"1985-09-24  5.11307  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1985-09-20  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262  5.20467   \\n\",\n      \"1985-09-21  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262   \\n\",\n      \"1985-09-22  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488   \\n\",\n      \"1985-09-23  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648   \\n\",\n      \"1985-09-24  5.14013  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1985-09-20   5.26921  4.89239  \\n\",\n      \"1985-09-21   5.26921  4.89239  \\n\",\n      \"1985-09-22   5.26921  4.89239  \\n\",\n      \"1985-09-23   5.26921  4.90488  \\n\",\n      \"1985-09-24   5.26921  4.91841  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.122285822087\\n\",\n      \"Explained Variance Score:  0.532878366341\\n\",\n      \"Mean Squared Error:  0.025722263709\\n\",\n      \"R2 score:  0.528611373486\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-10  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-11  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-12  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782   \\n\",\n      \"1987-09-13  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479   \\n\",\n      \"1987-09-14  5.78111  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1987-09-10  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-11  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-12  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-13  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-14   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-10   5.84824  5.62126  \\n\",\n      \"1987-09-11   5.84824  5.62126  \\n\",\n      \"1987-09-12   5.84824  5.62126  \\n\",\n      \"1987-09-13   5.84824  5.62126  \\n\",\n      \"1987-09-14   5.84824  5.62126  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107345237581\\n\",\n      \"Explained Variance Score:  0.872175783957\\n\",\n      \"Mean Squared Error:  0.0226157683537\\n\",\n      \"R2 score:  0.872187834621\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-02  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-03  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-04  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851   \\n\",\n      \"1989-09-05  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932   \\n\",\n      \"1989-09-06  8.74405  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1989-09-02  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123  8.56614   \\n\",\n      \"1989-09-03  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123   \\n\",\n      \"1989-09-04  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805   \\n\",\n      \"1989-09-05  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932   \\n\",\n      \"1989-09-06  8.57932  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1989-09-02   8.78578  8.35967  \\n\",\n      \"1989-09-03   8.78578  8.35967  \\n\",\n      \"1989-09-04   8.78578  8.35967  \\n\",\n      \"1989-09-05   8.78578  8.35967  \\n\",\n      \"1989-09-06   8.78578  8.35967  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.182993141917\\n\",\n      \"Explained Variance Score:  0.923373254714\\n\",\n      \"Mean Squared Error:  0.0633763394031\\n\",\n      \"R2 score:  0.913263877343\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-27  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121  5.01791   \\n\",\n      \"1991-08-28  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121   \\n\",\n      \"1991-08-29  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451   \\n\",\n      \"1991-08-30  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245   \\n\",\n      \"1991-08-31  4.97595  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1991-08-27  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-28  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-29  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-30  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-31  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-27   5.27306  4.69245  \\n\",\n      \"1991-08-28   5.24471  4.69245  \\n\",\n      \"1991-08-29   5.24471  4.69245  \\n\",\n      \"1991-08-30   5.15966  4.69245  \\n\",\n      \"1991-08-31   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.196205423468\\n\",\n      \"Explained Variance Score:  0.867530206283\\n\",\n      \"Mean Squared Error:  0.0757048791729\\n\",\n      \"R2 score:  0.806951047925\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-18   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-19  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-20  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   \\n\",\n      \"1993-08-21   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747   \\n\",\n      \"1993-08-22  9.34213   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1993-08-18   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831  9.29831   \\n\",\n      \"1993-08-19  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831   \\n\",\n      \"1993-08-20   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866   \\n\",\n      \"1993-08-21  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-22  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1993-08-18   9.83231  9.00997  \\n\",\n      \"1993-08-19   9.83231  9.00997  \\n\",\n      \"1993-08-20   9.83231  9.00997  \\n\",\n      \"1993-08-21   9.83231  9.00997  \\n\",\n      \"1993-08-22   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.174147642649\\n\",\n      \"Explained Variance Score:  0.892678602856\\n\",\n      \"Mean Squared Error:  0.0544705960063\\n\",\n      \"R2 score:  0.872851342431\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-09  15.2984  15.5612  15.4004   15.357  15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-10   15.005  15.2984  15.5612  15.4004   15.357  15.2538  15.1071   \\n\",\n      \"1995-08-11  15.0778   15.005  15.2984  15.5612  15.4004   15.357  15.2538   \\n\",\n      \"1995-08-12  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   15.357   \\n\",\n      \"1995-08-13  15.1071  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1995-08-09  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-08-10  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-08-11  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-12  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-13   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-08-09   15.5612  14.9311  \\n\",\n      \"1995-08-10   15.5612  14.9463  \\n\",\n      \"1995-08-11   15.5612  14.9463  \\n\",\n      \"1995-08-12   15.5612  14.9463  \\n\",\n      \"1995-08-13   15.5612  14.9463  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214711322421\\n\",\n      \"Explained Variance Score:  0.942826192476\\n\",\n      \"Mean Squared Error:  0.0808523509562\\n\",\n      \"R2 score:  0.937817635223\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-07-31  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-01  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-02  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928   \\n\",\n      \"1997-08-03  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197   \\n\",\n      \"1997-08-04  19.7879  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1997-07-31  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403  22.0346   \\n\",\n      \"1997-08-01  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403   \\n\",\n      \"1997-08-02  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387   \\n\",\n      \"1997-08-03  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358   \\n\",\n      \"1997-08-04  20.9197  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1997-07-31   22.1407  20.1788  \\n\",\n      \"1997-08-01   22.1407  19.8627  \\n\",\n      \"1997-08-02   21.5061  19.8627  \\n\",\n      \"1997-08-03   21.4771  19.8482  \\n\",\n      \"1997-08-04   21.4771  19.6528  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.575956001159\\n\",\n      \"Explained Variance Score:  0.632401065134\\n\",\n      \"Mean Squared Error:  0.536694556461\\n\",\n      \"R2 score:  0.635433823871\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-23  27.1893  26.8435   26.623  26.3423  26.5027  26.7533  26.9688   \\n\",\n      \"1999-07-24  27.6253  27.1893  26.8435   26.623  26.3423  26.5027  26.7533   \\n\",\n      \"1999-07-25  28.4122  27.6253  27.1893  26.8435   26.623  26.3423  26.5027   \\n\",\n      \"1999-07-26  27.3447  28.4122  27.6253  27.1893  26.8435   26.623  26.3423   \\n\",\n      \"1999-07-27    27.47  27.3447  28.4122  27.6253  27.1893  26.8435   26.623   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1999-07-23  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-24  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-25  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-26  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-27  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-23   27.3146   25.811  \\n\",\n      \"1999-07-24   28.1917   25.811  \\n\",\n      \"1999-07-25   28.7229   25.811  \\n\",\n      \"1999-07-26   28.7229  25.9664  \\n\",\n      \"1999-07-27   28.7229  25.9664  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834586135448\\n\",\n      \"Explained Variance Score:  0.552372347128\\n\",\n      \"Mean Squared Error:  1.19797116115\\n\",\n      \"R2 score:  0.541753682113\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-17  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   21.771   \\n\",\n      \"2001-07-18  21.2871  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-19  21.2339  21.2871  20.7074  19.9948   20.633  21.0584  21.1701   \\n\",\n      \"2001-07-20  22.2708  21.2339  21.2871  20.7074  19.9948   20.633  21.0584   \\n\",\n      \"2001-07-21  21.9624  22.2708  21.2339  21.2871  20.7074  19.9948   20.633   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2001-07-17  22.2762  21.2179  21.9784  22.0156  21.1488   21.085  21.7337   \\n\",\n      \"2001-07-18   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   21.085   \\n\",\n      \"2001-07-19  21.4998   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   \\n\",\n      \"2001-07-20  21.1701  21.4998   21.771  22.2762  21.2179  21.9784  22.0156   \\n\",\n      \"2001-07-21  21.0584  21.1701  21.4998   21.771  22.2762  21.2179  21.9784   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2001-07-17   22.6378  19.9417  \\n\",\n      \"2001-07-18   22.6378  19.9417  \\n\",\n      \"2001-07-19   22.6378  19.9417  \\n\",\n      \"2001-07-20   22.6378  19.9417  \\n\",\n      \"2001-07-21   22.6378  19.9417  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.676312438719\\n\",\n      \"Explained Variance Score:  0.79312466119\\n\",\n      \"Mean Squared Error:  0.850174654841\\n\",\n      \"R2 score:  0.78753038764\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-10  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-11  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-12   34.112  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937   \\n\",\n      \"2003-07-13  34.0719   34.112  33.9686  34.1522  33.5959  33.0052  33.3722   \\n\",\n      \"2003-07-14  33.6131  34.0719   34.112  33.9686  34.1522  33.5959  33.0052   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2003-07-10  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-11  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-12  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-13  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-14  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-10   34.3357  32.0187  \\n\",\n      \"2003-07-11   34.3357  32.5005  \\n\",\n      \"2003-07-12   34.3357  32.7585  \\n\",\n      \"2003-07-13   34.3357  32.7585  \\n\",\n      \"2003-07-14   34.3357  32.7585  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.633855324068\\n\",\n      \"Explained Variance Score:  0.893339521738\\n\",\n      \"Mean Squared Error:  0.718058387086\\n\",\n      \"R2 score:  0.80969350896\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-09  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-10  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-11  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449   \\n\",\n      \"2005-07-12  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571   \\n\",\n      \"2005-07-13  39.5982  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2005-07-09  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   39.867   \\n\",\n      \"2005-07-10  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   \\n\",\n      \"2005-07-11  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275   \\n\",\n      \"2005-07-12  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227   \\n\",\n      \"2005-07-13  39.7571  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2005-07-09   40.8933  38.9812  \\n\",\n      \"2005-07-10   40.8933  38.9812  \\n\",\n      \"2005-07-11   40.8933  38.8041  \\n\",\n      \"2005-07-12   40.6123  38.8041  \\n\",\n      \"2005-07-13   40.6123  38.8041  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.813134820175\\n\",\n      \"Explained Variance Score:  0.629454488747\\n\",\n      \"Mean Squared Error:  1.11504616982\\n\",\n      \"R2 score:  0.634165070736\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-06  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-07  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-08  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071   \\n\",\n      \"2007-07-09  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119   \\n\",\n      \"2007-07-10  33.2667  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2007-07-06  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-07-07  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-07-08  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-07-09  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-10  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-07-06   37.6275  32.8884  \\n\",\n      \"2007-07-07   37.6275  32.8884  \\n\",\n      \"2007-07-08   37.6275  32.0919  \\n\",\n      \"2007-07-09   37.6275  32.0919  \\n\",\n      \"2007-07-10   37.6275  32.0919  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.15665536203\\n\",\n      \"Explained Variance Score:  0.868995317818\\n\",\n      \"Mean Squared Error:  2.51929559765\\n\",\n      \"R2 score:  0.848349836178\\n\",\n      \"Errors:  [Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64, Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64, Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64, Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64, Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64, Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64, Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64, Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64, Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64, Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64, Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64, Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64, Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64, Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64, Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3428046878594335, 2.5494465554647414, 1.3954581010084075, 1.9338110474345769, 1.349031388428084, 1.3082501119097614, 2.0877971918382312, 1.362629656063173, 1.0672541331288881, 1.7560891545451207, 2.2842628093726178, 2.0416633481835507, 1.1975233764939945, 1.2541140107194724, 1.9979717114798277], [3.5258552334178641, 3.7320533743630255, 2.1034184642616141, 2.6897205756015548, 1.8969039843105724, 2.0506153412586832, 3.2171984334944406, 1.9827940259871397, 1.5688995987559236, 2.6367635568182766, 3.3068351824563802, 2.8945074594428291, 1.8249088288131119, 1.7898187399932406, 2.6622184489674865], [4.420877989036649, 4.7032147476522344, 2.5136196508353961, 3.0922152789031143, 2.1796658505265682, 2.6304796746940839, 4.1915655602523731, 2.4924344110851404, 1.9105828050113176, 3.2464940581864847, 4.0444675805083419, 3.4573108599535782, 2.2800119253617375, 2.1330178906407928, 3.2434631632331032], [5.2453007591988934, 5.3658643734648832, 2.7831224905377154, 3.416748711154967, 2.5549049030530955, 3.0746731020488789, 4.9524019488849751, 2.8907889072630373, 2.1787553036935075, 3.7318496940231114, 4.5205370675953178, 3.9785266649335007, 2.6882642728569226, 2.5139768692486597, 3.8987847995297504], [5.9123764917439461, 5.9343992865756627, 2.9779283268835495, 3.749884830258206, 2.8424480771173175, 3.4493099318044464, 5.6296725435585397, 3.1974315805691531, 2.4205889442104498, 4.1528377889957317, 4.8491578280113066, 4.4437933328538719, 3.0871274223490661, 2.8212984449238308, 4.5627499655632802], [6.5253540389538474, 6.411869704769062, 3.1595872490659578, 3.9820786600745923, 3.0589602014064852, 3.6925343353850728, 6.2161677524830603, 3.4512842358405149, 2.6052006922636068, 4.4255891500298041, 5.1504375410897554, 4.8667198046540632, 3.4479777609243358, 3.1141175250353417, 5.4764165109956515], [7.0484327153638269, 6.8859112718527289, 3.3214906751109079, 4.1319603443044786, 3.2919049518842676, 3.8961844607912113, 6.645652227769677, 3.680437333538447, 2.7931310314182922, 4.6362674911036841, 5.5220713093967051, 5.2196422824700353, 3.7666650074113814, 3.3699869165228575, 6.3198328863514632]]\\n\",\n      \"Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 14 days' worth of prior data\\n\",\n    \"execute(steps=15, days=14, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-24  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687  7.49473   \\n\",\n      \"1979-10-25  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687   \\n\",\n      \"1979-10-26  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   \\n\",\n      \"1979-10-27  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847   \\n\",\n      \"1979-10-28  7.39063  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1979-10-24  7.63838  7.58633  7.72894   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-25  7.49473  7.63838  7.58633   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-26   7.4687  7.49473  7.63838   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-27  7.20847   7.4687  7.49473   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-28  7.20847  7.20847   7.4687   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1979-10-24  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-10-25   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-10-26  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-10-27  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-10-28   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.47982  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.247178558128\\n\",\n      \"Explained Variance Score:  0.934716071877\\n\",\n      \"Mean Squared Error:  0.125104935048\\n\",\n      \"R2 score:  0.934194798936\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-16  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781  3.63078   \\n\",\n      \"1981-10-17  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781   \\n\",\n      \"1981-10-18   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134   \\n\",\n      \"1981-10-19  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134   \\n\",\n      \"1981-10-20  4.15125  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1981-10-16  3.60371  3.59122  3.68283   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-17  3.63078  3.60371  3.59122   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-18  3.70781  3.63078  3.60371   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-19  3.72134  3.70781  3.63078   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-20  3.72134  3.72134  3.70781   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1981-10-16  3.69532  3.53918  3.47464  3.39553  3.44757    4.0076   3.3185  \\n\",\n      \"1981-10-17  3.85146  3.69532  3.53918  3.47464  3.39553    4.0076   3.3185  \\n\",\n      \"1981-10-18  3.95555  3.85146  3.69532  3.53918  3.47464    4.0076   3.3185  \\n\",\n      \"1981-10-19  3.87748  3.95555  3.85146  3.69532  3.53918   4.07213  3.48713  \\n\",\n      \"1981-10-20  3.66929  3.87748  3.95555  3.85146  3.69532   4.20329  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.14560789487\\n\",\n      \"Explained Variance Score:  0.697986240547\\n\",\n      \"Mean Squared Error:  0.0357285529497\\n\",\n      \"R2 score:  0.693931872833\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-11  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385  4.38441   \\n\",\n      \"1983-10-12  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385   \\n\",\n      \"1983-10-13  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459   \\n\",\n      \"1983-10-14  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   \\n\",\n      \"1983-10-15  4.28032  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1983-10-11  4.44999  4.51557  4.55409   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-12  4.38441  4.44999  4.51557   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-13  4.29385  4.38441  4.44999   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-14   4.3459  4.29385  4.38441   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-15  4.35943   4.3459  4.29385   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1983-10-11  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.21578  \\n\",\n      \"1983-10-12  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.18976  \\n\",\n      \"1983-10-13  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.18976  \\n\",\n      \"1983-10-14  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.18976  \\n\",\n      \"1983-10-15  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.18976  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.100467856093\\n\",\n      \"Explained Variance Score:  0.707746188515\\n\",\n      \"Mean Squared Error:  0.0166816164165\\n\",\n      \"R2 score:  0.690365934271\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-01  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648  5.03604   \\n\",\n      \"1985-10-02  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648   \\n\",\n      \"1985-10-03  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693   \\n\",\n      \"1985-10-04  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307   \\n\",\n      \"1985-10-05  5.15262  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1985-10-01  5.10058  5.23069  5.25672   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-02  5.03604  5.10058  5.23069   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-03  4.99648  5.03604  5.10058   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-04  4.95693  4.99648  5.03604   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-05  5.11307  4.95693  4.99648   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1985-10-01  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-02  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-03  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-04  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-05  5.08809  5.14013  5.16512  5.15262  4.98399   5.26921  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.118704995917\\n\",\n      \"Explained Variance Score:  0.599720926078\\n\",\n      \"Mean Squared Error:  0.0233000629812\\n\",\n      \"R2 score:  0.596620827484\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-22  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725  5.79496   \\n\",\n      \"1987-09-23  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725   \\n\",\n      \"1987-09-24  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496   \\n\",\n      \"1987-09-25  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111   \\n\",\n      \"1987-09-26  5.90152  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1987-09-22  5.84824  5.79496  5.70118   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-09-23  5.79496  5.84824  5.79496   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-09-24  5.76725  5.79496  5.84824   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-25  5.79496  5.76725  5.79496   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-26  5.78111  5.79496  5.76725   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1987-09-22  5.66069  5.79496  5.72782  5.71397   5.6479   5.86103  5.62126  \\n\",\n      \"1987-09-23  5.70118  5.66069  5.79496  5.72782  5.71397   5.86103  5.62126  \\n\",\n      \"1987-09-24  5.72782  5.70118  5.66069  5.79496  5.72782   5.86103  5.62126  \\n\",\n      \"1987-09-25  5.67454  5.72782  5.70118  5.66069  5.79496   5.86103  5.62126  \\n\",\n      \"1987-09-26  5.74168  5.67454  5.72782  5.70118  5.66069   5.90152  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107246850816\\n\",\n      \"Explained Variance Score:  0.873418919146\\n\",\n      \"Mean Squared Error:  0.0223804852513\\n\",\n      \"R2 score:  0.873053045647\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-13  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441  8.51123   \\n\",\n      \"1989-09-14  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441   \\n\",\n      \"1989-09-15  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105   \\n\",\n      \"1989-09-16  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405   \\n\",\n      \"1989-09-17  8.66302  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1989-09-13  8.38823  8.38823   8.4695   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-14  8.51123  8.38823  8.38823   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-15  8.52441  8.51123  8.38823   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-16  8.62105  8.52441  8.51123   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-17  8.74405  8.62105  8.52441   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1989-09-13  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.35967  \\n\",\n      \"1989-09-14  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  8.35967  \\n\",\n      \"1989-09-15  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  8.35967  \\n\",\n      \"1989-09-16  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  8.35967  \\n\",\n      \"1989-09-17  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  8.35967  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183367476501\\n\",\n      \"Explained Variance Score:  0.923191778806\\n\",\n      \"Mean Squared Error:  0.062951655998\\n\",\n      \"R2 score:  0.914995737201\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-05  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595  4.96121   \\n\",\n      \"1991-09-06  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595   \\n\",\n      \"1991-09-07  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791   \\n\",\n      \"1991-09-08  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595   \\n\",\n      \"1991-09-09  4.86252  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1991-09-05  4.83307  4.79111  4.80585   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-06  4.96121  4.83307  4.79111   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-07  4.97595  4.96121  4.83307   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-08  5.01791  4.97595  4.96121   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-09  4.97595  5.01791  4.97595   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1991-09-05  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-06  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-07  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-08  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-09  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.179845135179\\n\",\n      \"Explained Variance Score:  0.878379857563\\n\",\n      \"Mean Squared Error:  0.0637005335646\\n\",\n      \"R2 score:  0.832463137105\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-27  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664  9.52898   \\n\",\n      \"1993-08-28  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664   \\n\",\n      \"1993-08-29  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998   \\n\",\n      \"1993-08-30  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   \\n\",\n      \"1993-08-31  9.35597  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1993-08-27   9.5728  9.77464   9.6743   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-28  9.52898   9.5728  9.77464   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-29  9.58664  9.52898   9.5728   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-30   9.3998  9.58664  9.52898   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-31  9.34213   9.3998  9.58664   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1993-08-27  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-28  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-29   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  9.00997  \\n\",\n      \"1993-08-30  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-31   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173480085165\\n\",\n      \"Explained Variance Score:  0.889783953988\\n\",\n      \"Mean Squared Error:  0.0542550164358\\n\",\n      \"R2 score:  0.87630032975\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-19  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   15.005   \\n\",\n      \"1995-08-20  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   \\n\",\n      \"1995-08-21  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071   \\n\",\n      \"1995-08-22  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071   \\n\",\n      \"1995-08-23  14.7703  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1995-08-19  15.2984  15.5612  15.4004   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-08-20   15.005  15.2984  15.5612   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-08-21  15.0778   15.005  15.2984   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-22  15.1071  15.0778   15.005   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-08-23  15.1071  15.1071  15.0778   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1995-08-19  15.1364  15.1071  15.3124  15.4298  15.2397   15.5612  14.6812  \\n\",\n      \"1995-08-20  15.4298  15.1364  15.1071  15.3124  15.4298   15.5612  14.6812  \\n\",\n      \"1995-08-21  15.4298  15.4298  15.1364  15.1071  15.3124   15.5612  14.6812  \\n\",\n      \"1995-08-22  15.3418  15.4298  15.4298  15.1364  15.1071   15.5612  14.6671  \\n\",\n      \"1995-08-23  15.1071  15.3418  15.4298  15.4298  15.1364   15.5612  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.21969484392\\n\",\n      \"Explained Variance Score:  0.941053178728\\n\",\n      \"Mean Squared Error:  0.0874448127494\\n\",\n      \"R2 score:  0.934717418017\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-09  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788  20.0003   \\n\",\n      \"1997-08-10  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788   \\n\",\n      \"1997-08-11  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689   \\n\",\n      \"1997-08-12  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879   \\n\",\n      \"1997-08-13   21.523  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1997-08-09  20.9486  21.4313  21.4023   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-10  20.0003  20.9486  21.4313   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-11  20.1788  20.0003  20.9486   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-12  19.9689  20.1788  20.0003   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-13  19.7879  19.9689  20.1788   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1997-08-09  20.8883  21.2358  20.7387  21.0403  22.0346   22.1407  19.6528  \\n\",\n      \"1997-08-10  21.2069  20.8883  21.2358  20.7387  21.0403   22.1407  19.6528  \\n\",\n      \"1997-08-11  20.9197  21.2069  20.8883  21.2358  20.7387   21.6267  19.6528  \\n\",\n      \"1997-08-12  20.5119  20.9197  21.2069  20.8883  21.2358   21.6267  19.6528  \\n\",\n      \"1997-08-13  20.6036  20.5119  20.9197  21.2069  20.8883   21.6267  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.587602123323\\n\",\n      \"Explained Variance Score:  0.597673117636\\n\",\n      \"Mean Squared Error:  0.562295173611\\n\",\n      \"R2 score:  0.599602671043\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-03  26.9086  26.5929  27.0039    27.47  27.3447  28.4122  27.6253   \\n\",\n      \"1999-08-04  27.3146  26.9086  26.5929  27.0039    27.47  27.3447  28.4122   \\n\",\n      \"1999-08-05  27.0339  27.3146  26.9086  26.5929  27.0039    27.47  27.3447   \\n\",\n      \"1999-08-06  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039    27.47   \\n\",\n      \"1999-08-07  26.0316  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1999-08-03  27.1893  26.8435   26.623   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-04  27.6253  27.1893  26.8435   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-05  28.4122  27.6253  27.1893   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-06  27.3447  28.4122  27.6253   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-07    27.47  27.3447  28.4122   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1999-08-03  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   25.811  \\n\",\n      \"1999-08-04  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   25.811  \\n\",\n      \"1999-08-05  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   25.811  \\n\",\n      \"1999-08-06  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  25.9664  \\n\",\n      \"1999-08-07  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  25.9363  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.80841683447\\n\",\n      \"Explained Variance Score:  0.55978076116\\n\",\n      \"Mean Squared Error:  1.12748077923\\n\",\n      \"R2 score:  0.551337857615\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-26  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339  21.2871   \\n\",\n      \"2001-07-27  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339   \\n\",\n      \"2001-07-28  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708   \\n\",\n      \"2001-07-29  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624   \\n\",\n      \"2001-07-30  21.3349  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2001-07-26  20.7074  19.9948   20.633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-07-27  21.2871  20.7074  19.9948   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-07-28  21.2339  21.2871  20.7074   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-07-29  22.2708  21.2339  21.2871   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-30  21.9624  22.2708  21.2339   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2001-07-26  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.9417  \\n\",\n      \"2001-07-27  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.9417  \\n\",\n      \"2001-07-28  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.9417  \\n\",\n      \"2001-07-29   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.9417  \\n\",\n      \"2001-07-30  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.9417  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.702921222006\\n\",\n      \"Explained Variance Score:  0.80646285415\\n\",\n      \"Mean Squared Error:  0.898869096996\\n\",\n      \"R2 score:  0.800649358483\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-19   33.831  33.5959  33.2632  33.6131  34.0719   34.112  33.9686   \\n\",\n      \"2003-07-20  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   34.112   \\n\",\n      \"2003-07-21  33.4926  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   \\n\",\n      \"2003-07-22   33.917  33.4926  33.5729   33.831  33.5959  33.2632  33.6131   \\n\",\n      \"2003-07-23  33.8826   33.917  33.4926  33.5729   33.831  33.5959  33.2632   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2003-07-19  34.1522  33.5959  33.0052   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-07-20  33.9686  34.1522  33.5959   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-07-21   34.112  33.9686  34.1522   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-22  34.0719   34.112  33.9686   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-23  33.6131  34.0719   34.112   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2003-07-19  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-07-20  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-07-21  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-07-22  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-07-23  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.607302274291\\n\",\n      \"Explained Variance Score:  0.912255975134\\n\",\n      \"Mean Squared Error:  0.641949670141\\n\",\n      \"R2 score:  0.841214975617\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-20  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263  39.9404   \\n\",\n      \"2005-07-21  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263   \\n\",\n      \"2005-07-22   39.751  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388   \\n\",\n      \"2005-07-23  40.3008   39.751  39.0118  39.4211  39.2928  39.5188  39.5982   \\n\",\n      \"2005-07-24  41.2538  40.3008   39.751  39.0118  39.4211  39.2928  39.5188   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2005-07-20  40.0625  40.1969  40.4413   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-07-21  39.9404  40.0625  40.1969   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-07-22  38.9263  39.9404  40.0625   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-23  39.7388  38.9263  39.9404   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-24  39.5982  39.7388  38.9263   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2005-07-20  40.0442  39.6227  40.2275  40.7162   39.867   40.8933  38.8041  \\n\",\n      \"2005-07-21  39.8304  40.0442  39.6227  40.2275  40.7162   40.8933  38.8041  \\n\",\n      \"2005-07-22  39.7082  39.8304  40.0442  39.6227  40.2275   40.8933  38.8041  \\n\",\n      \"2005-07-23  40.2947  39.7082  39.8304  40.0442  39.6227   40.6123  38.8041  \\n\",\n      \"2005-07-24  39.8304  40.2947  39.7082  39.8304  40.0442   41.3454  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834239650358\\n\",\n      \"Explained Variance Score:  0.583600781437\\n\",\n      \"Mean Squared Error:  1.16134570271\\n\",\n      \"R2 score:  0.585510921947\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-17  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162  36.2071   \\n\",\n      \"2007-07-18  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162   \\n\",\n      \"2007-07-19  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999   \\n\",\n      \"2007-07-20  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667   \\n\",\n      \"2007-07-21  26.9147  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2007-07-17  36.7314  35.5367  35.9084   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-18  36.2071  36.7314  35.5367   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-19  32.6162  36.2071  36.7314   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-20  33.2999  32.6162  36.2071   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-21  33.2667  33.2999  32.6162   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2007-07-17  36.3664   35.457  35.5035    34.78  36.1009   37.6275  28.4479  \\n\",\n      \"2007-07-18  34.4681  36.3664   35.457  35.5035    34.78   37.6275  28.4479  \\n\",\n      \"2007-07-19  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  28.3484  \\n\",\n      \"2007-07-20  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  26.5629  \\n\",\n      \"2007-07-21  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.2420603359\\n\",\n      \"Explained Variance Score:  0.882276409115\\n\",\n      \"Mean Squared Error:  2.85887227574\\n\",\n      \"R2 score:  0.862561522356\\n\",\n      \"Errors:  [Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64, Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64, Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64, Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64, Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64, Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64, Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64, Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64, Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64, Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64, Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64, Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64, Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64, Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64, Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.2932086903598066, 2.5745843677223665, 1.410938665851232, 1.8560341967801308, 1.3452118535491773, 1.2953543921120965, 2.0706240035799164, 1.3163805720674671, 1.0787215801674817, 1.7589705465567647, 2.2752138152167474, 2.0880627448808471, 1.1687399396644256, 1.2874672090863213, 2.3679740132036238], [3.5051253714594792, 3.7758939807647049, 2.1101590340760858, 2.5311938217644379, 1.8869590042388795, 2.0136643031598154, 3.0941050306484827, 1.9668400833290185, 1.5852576005774814, 2.6692218359360016, 3.2804625406152712, 3.0511678681477217, 1.7709780411099409, 1.8590066437215769, 3.2260112930119331], [4.3910769731836528, 4.73443172240734, 2.5163581244682867, 2.8921256793047787, 2.1712841603268145, 2.5715803374493698, 3.9478706366382608, 2.5025348594217718, 1.9241814438590694, 3.2905025186776364, 3.9550573049063185, 3.6441654215575263, 2.1770380803647402, 2.2190678049570254, 3.7581852465385679], [5.1361009877654604, 5.4151232904822937, 2.7996492546644527, 3.254525792271338, 2.552883694387567, 3.030218079266386, 4.6195946055962853, 2.8935016311120809, 2.2056247688212975, 3.7878186640966414, 4.3904674266100656, 4.1287784929628275, 2.544219187098574, 2.5895015720185302, 4.440659439319135], [5.7410212232012947, 6.0457890220500268, 3.0383136360900456, 3.5252188012037138, 2.826196220616342, 3.4278249217933108, 5.1806333088289245, 3.2002251370334793, 2.4562804221504946, 4.2112453125333271, 4.6795839169286628, 4.5588302590783849, 2.9100623154365133, 2.8787401524867353, 5.1795549205147617], [6.3168411174496839, 6.565847199104029, 3.2619156971270429, 3.7370190918129889, 3.0182882726444662, 3.7051905637636322, 5.6874360343827588, 3.4407560971972138, 2.6628209714516475, 4.5058494414038934, 4.9211912763832011, 5.0124273285269396, 3.2339526748757406, 3.1592652479164429, 5.8957221091782941], [6.8191565595888122, 7.0508931309669327, 3.4473160422940028, 3.964312202423975, 3.2338778357552651, 3.9255667936052023, 6.0096699233415531, 3.6545134565638175, 2.8840627731649513, 4.7448298869292778, 5.2894102436662802, 5.4030603118359393, 3.5305738678012406, 3.3828891687730129, 6.526988671729911]]\\n\",\n      \"Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 21 days' worth of prior data\\n\",\n    \"execute(steps=15, days=21, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-11-06  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063  7.09084   \\n\",\n      \"1979-11-07  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063   \\n\",\n      \"1979-11-08  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063   \\n\",\n      \"1979-11-09  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052   \\n\",\n      \"1979-11-10  6.55789  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1979-11-06  6.83061  6.87017  6.92221   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-11-07  7.09084  6.83061  6.87017   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-11-08  7.39063  7.09084  6.83061   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-11-09  7.39063  7.39063  7.09084   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-11-10  7.26052  7.39063  7.39063   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1979-11-06  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-11-07   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-11-08  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-11-09  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-11-10   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.46628  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.265589379571\\n\",\n      \"Explained Variance Score:  0.923826112353\\n\",\n      \"Mean Squared Error:  0.137645958828\\n\",\n      \"R2 score:  0.924053762052\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-29  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125  4.02009   \\n\",\n      \"1981-10-30  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125   \\n\",\n      \"1981-10-31  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623   \\n\",\n      \"1981-11-01  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783   \\n\",\n      \"1981-11-02  4.16374  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1981-10-29   3.9035  3.65576  3.70781   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-30  4.02009   3.9035  3.65576   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-31  4.15125  4.02009   3.9035   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-11-01  4.17623  4.15125  4.02009   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-11-02  4.26783  4.17623  4.15125   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1981-10-29  3.69532  3.53918  3.47464  3.39553  3.44757   4.30739   3.3185  \\n\",\n      \"1981-10-30  3.85146  3.69532  3.53918  3.47464  3.39553   4.30739   3.3185  \\n\",\n      \"1981-10-31  3.95555  3.85146  3.69532  3.53918  3.47464   4.30739   3.3185  \\n\",\n      \"1981-11-01  3.87748  3.95555  3.85146  3.69532  3.53918   4.30739  3.48713  \\n\",\n      \"1981-11-02  3.66929  3.87748  3.95555  3.85146  3.69532   4.30739  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.147636752695\\n\",\n      \"Explained Variance Score:  0.723234662854\\n\",\n      \"Mean Squared Error:  0.0364831332012\\n\",\n      \"R2 score:  0.711874870251\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-22  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032  4.28032   \\n\",\n      \"1983-10-23  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032   \\n\",\n      \"1983-10-24  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192   \\n\",\n      \"1983-10-25  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192   \\n\",\n      \"1983-10-26  4.31988  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1983-10-22  4.30739  4.25534  4.25534   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-23  4.28032  4.30739  4.25534   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-24  4.28032  4.28032  4.30739   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-25  4.37192  4.28032  4.28032   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-26  4.37192  4.37192  4.28032   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1983-10-22  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.13771  \\n\",\n      \"1983-10-23  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.13771  \\n\",\n      \"1983-10-24  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.12418  \\n\",\n      \"1983-10-25  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.12418  \\n\",\n      \"1983-10-26  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0982455236583\\n\",\n      \"Explained Variance Score:  0.738585897896\\n\",\n      \"Mean Squared Error:  0.0162113557319\\n\",\n      \"R2 score:  0.736956378599\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-12  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262  5.04853   \\n\",\n      \"1985-10-13  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262   \\n\",\n      \"1985-10-14  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423   \\n\",\n      \"1985-10-15  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467   \\n\",\n      \"1985-10-16  5.40037  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1985-10-12  4.99648  5.08809  5.15262   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-13  5.04853  4.99648  5.08809   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-14  5.15262  5.04853  4.99648   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-15  5.24423  5.15262  5.04853   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-16  5.20467  5.24423  5.15262   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1985-10-12  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-13  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-14  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-15  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-16  5.08809  5.14013  5.16512  5.15262  4.98399   5.43888  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.125644826003\\n\",\n      \"Explained Variance Score:  0.64103714916\\n\",\n      \"Mean Squared Error:  0.0279968462683\\n\",\n      \"R2 score:  0.621838958431\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-10-06  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152  5.83439   \\n\",\n      \"1987-10-07  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152   \\n\",\n      \"1987-10-08  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103   \\n\",\n      \"1987-10-09  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038   \\n\",\n      \"1987-10-10  5.71397  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1987-10-06  5.76725  5.76725  5.84824   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-10-07  5.83439  5.76725  5.76725   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-10-08  5.90152  5.83439  5.76725   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-10-09  5.86103  5.90152  5.83439   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-10-10  5.98038  5.86103  5.90152   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1987-10-06  5.66069  5.79496  5.72782  5.71397   5.6479   6.07416  5.62126  \\n\",\n      \"1987-10-07  5.70118  5.66069  5.79496  5.72782  5.71397   6.07416  5.62126  \\n\",\n      \"1987-10-08  5.72782  5.70118  5.66069  5.79496  5.72782   6.07416  5.62126  \\n\",\n      \"1987-10-09  5.67454  5.72782  5.70118  5.66069  5.79496   6.07416  5.62126  \\n\",\n      \"1987-10-10  5.74168  5.67454  5.72782  5.70118  5.66069   6.07416  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101127508153\\n\",\n      \"Explained Variance Score:  0.896285604892\\n\",\n      \"Mean Squared Error:  0.0175440030481\\n\",\n      \"R2 score:  0.895446126394\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-28  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302  8.73244   \\n\",\n      \"1989-09-29   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302   \\n\",\n      \"1989-09-30  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639   \\n\",\n      \"1989-10-01  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264   \\n\",\n      \"1989-10-02  8.29169  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1989-09-28  8.84263  8.81508  8.84263   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-29  8.73244  8.84263  8.81508   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-30  8.66302  8.73244  8.84263   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-10-01  8.52639  8.66302  8.73244   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-10-02  8.44264  8.52639  8.66302   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1989-09-28  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.20904  \\n\",\n      \"1989-09-29  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791   8.1264  \\n\",\n      \"1989-09-30  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791   8.1264  \\n\",\n      \"1989-10-01  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791   8.1264  \\n\",\n      \"1989-10-02  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791   8.1264  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.192674964535\\n\",\n      \"Explained Variance Score:  0.915662166478\\n\",\n      \"Mean Squared Error:  0.0693827817393\\n\",\n      \"R2 score:  0.904473158945\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-19   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252  4.86252   \\n\",\n      \"1991-09-20  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252   \\n\",\n      \"1991-09-21  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409   \\n\",\n      \"1991-09-22  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409   \\n\",\n      \"1991-09-23  4.96148  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1991-09-19  4.89096  4.91925  4.91925   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-20  4.86252  4.89096  4.91925   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-21  4.86252  4.86252  4.89096   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-22  4.83409  4.86252  4.86252   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-23  4.83409  4.83409  4.86252   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1991-09-19  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-20  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-21  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-22  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-23  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.169117487826\\n\",\n      \"Explained Variance Score:  0.885949963038\\n\",\n      \"Mean Squared Error:  0.0583397959215\\n\",\n      \"R2 score:  0.84902479478\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-09-09  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597  9.29831   \\n\",\n      \"1993-09-10  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597   \\n\",\n      \"1993-09-11  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827   \\n\",\n      \"1993-09-12  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272   \\n\",\n      \"1993-09-13  9.17272  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1993-09-09  9.25563  9.24064  9.35597   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-09-10  9.29831  9.25563  9.24064   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-09-11  9.35597  9.29831  9.25563   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-09-12  9.28827  9.35597  9.29831   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-09-13  9.17272  9.28827  9.35597   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1993-09-09  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-10  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-11   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.86881  \\n\",\n      \"1993-09-12  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.86881  \\n\",\n      \"1993-09-13   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.86881  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173953716023\\n\",\n      \"Explained Variance Score:  0.882699120583\\n\",\n      \"Mean Squared Error:  0.055246949342\\n\",\n      \"R2 score:  0.868280591863\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-09-01  15.5764  15.4744  15.3265  15.3265   15.005  14.7703  14.7844   \\n\",\n      \"1995-09-02  15.6127  15.5764  15.4744  15.3265  15.3265   15.005  14.7703   \\n\",\n      \"1995-09-03  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   15.005   \\n\",\n      \"1995-09-04  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   \\n\",\n      \"1995-09-05  16.2301  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1995-09-01  14.7551  14.7551  14.7551   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-09-02  14.7844  14.7551  14.7551   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-09-03  14.7703  14.7844  14.7551   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-09-04   15.005  14.7703  14.7844   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-09-05  15.3265   15.005  14.7703   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1995-09-01  15.1364  15.1071  15.3124  15.4298  15.2397   15.5764  14.6378  \\n\",\n      \"1995-09-02  15.4298  15.1364  15.1071  15.3124  15.4298   15.7738  14.6378  \\n\",\n      \"1995-09-03  15.4298  15.4298  15.1364  15.1071  15.3124   16.1125  14.6378  \\n\",\n      \"1995-09-04  15.3418  15.4298  15.4298  15.1364  15.1071   16.3183  14.6378  \\n\",\n      \"1995-09-05  15.1071  15.3418  15.4298  15.4298  15.1364   16.3183  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.239159740022\\n\",\n      \"Explained Variance Score:  0.944241221285\\n\",\n      \"Mean Squared Error:  0.101972988604\\n\",\n      \"R2 score:  0.93697372492\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-23  21.5519  21.8391  22.1552  22.1407  21.7933   21.523  21.3565   \\n\",\n      \"1997-08-24  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   21.523   \\n\",\n      \"1997-08-25  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   \\n\",\n      \"1997-08-26  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407   \\n\",\n      \"1997-08-27  22.3992  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1997-08-23  21.4771  21.0235  20.8594   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-24  21.3565  21.4771  21.0235   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-25   21.523  21.3565  21.4771   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-26  21.7933   21.523  21.3565   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-27  22.1407  21.7933   21.523   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1997-08-23  20.8883  21.2358  20.7387  21.0403  22.0346   22.1721  19.6528  \\n\",\n      \"1997-08-24  21.2069  20.8883  21.2358  20.7387  21.0403   22.1721  19.6528  \\n\",\n      \"1997-08-25  20.9197  21.2069  20.8883  21.2358  20.7387   22.1721  19.6528  \\n\",\n      \"1997-08-26  20.5119  20.9197  21.2069  20.8883  21.2358   22.1721  19.6528  \\n\",\n      \"1997-08-27  20.6036  20.5119  20.9197  21.2069  20.8883   22.3992  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601937849493\\n\",\n      \"Explained Variance Score:  0.588903471007\\n\",\n      \"Mean Squared Error:  0.583981651008\\n\",\n      \"R2 score:  0.583088547014\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-14  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316  26.7533   \\n\",\n      \"1999-08-15  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316   \\n\",\n      \"1999-08-16  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616   \\n\",\n      \"1999-08-17  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098   \\n\",\n      \"1999-08-18  24.6834  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1999-08-14  27.0339  27.3146  26.9086   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-15  26.7533  27.0339  27.3146   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-16  26.0316  26.7533  27.0339   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-17  26.0616  26.0316  26.7533   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-18  25.3098  26.0616  26.0316   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1999-08-14  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   24.964  \\n\",\n      \"1999-08-15  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   24.964  \\n\",\n      \"1999-08-16  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229  24.4027  \\n\",\n      \"1999-08-17  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  24.4027  \\n\",\n      \"1999-08-18  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  24.4027  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794397514735\\n\",\n      \"Explained Variance Score:  0.589058113891\\n\",\n      \"Mean Squared Error:  1.06170118828\\n\",\n      \"R2 score:  0.586860973735\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-08-08  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349  21.1594   \\n\",\n      \"2001-08-09  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349   \\n\",\n      \"2001-08-10  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786   \\n\",\n      \"2001-08-11  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588   \\n\",\n      \"2001-08-12  19.8885  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2001-08-08  21.2445  21.2658  22.3559   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-08-09  21.1594  21.2445  21.2658   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-08-10  21.3349  21.1594  21.2445   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-08-11  20.9786  21.3349  21.1594   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-08-12  19.5588  20.9786  21.3349   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2001-08-08  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.2769  \\n\",\n      \"2001-08-09  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.2769  \\n\",\n      \"2001-08-10  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.2769  \\n\",\n      \"2001-08-11   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.2769  \\n\",\n      \"2001-08-12  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.2769  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.716918405219\\n\",\n      \"Explained Variance Score:  0.831164391363\\n\",\n      \"Mean Squared Error:  0.921046477113\\n\",\n      \"R2 score:  0.8261118985\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-08-01  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   33.917   \\n\",\n      \"2003-08-02  33.4066  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   \\n\",\n      \"2003-08-03  33.5041  33.4066  33.0453  33.6303  33.7966   34.112  33.8195   \\n\",\n      \"2003-08-04  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   34.112   \\n\",\n      \"2003-08-05  33.9973  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2003-08-01  33.4926  33.5729   33.831   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-08-02   33.917  33.4926  33.5729   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-08-03  33.8826   33.917  33.4926   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-08-04  33.8195  33.8826   33.917   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-08-05   34.112  33.8195  33.8826   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2003-08-01  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-08-02  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-08-03  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-08-04  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-08-05  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.58624564363\\n\",\n      \"Explained Variance Score:  0.917058612472\\n\",\n      \"Mean Squared Error:  0.59587482901\\n\",\n      \"R2 score:  0.858798903078\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-08-02  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538  40.3008   \\n\",\n      \"2005-08-03  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538   \\n\",\n      \"2005-08-04  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943   \\n\",\n      \"2005-08-05  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551   \\n\",\n      \"2005-08-06  41.5776  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2005-08-02   39.751  39.0118  39.4211   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-08-03  40.3008   39.751  39.0118   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-08-04  41.2538  40.3008   39.751   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-08-05  41.3943  41.2538  40.3008   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-08-06  40.6551  41.3943  41.2538   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2005-08-02  40.0442  39.6227  40.2275  40.7162   39.867   41.7791  38.8041  \\n\",\n      \"2005-08-03  39.8304  40.0442  39.6227  40.2275  40.7162   41.8952  38.8041  \\n\",\n      \"2005-08-04  39.7082  39.8304  40.0442  39.6227  40.2275   42.3962  38.8041  \\n\",\n      \"2005-08-05  40.2947  39.7082  39.8304  40.0442  39.6227   42.4511  38.8041  \\n\",\n      \"2005-08-06  39.8304  40.2947  39.7082  39.8304  40.0442   42.4511  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.802958635558\\n\",\n      \"Explained Variance Score:  0.615314748251\\n\",\n      \"Mean Squared Error:  1.07455580184\\n\",\n      \"R2 score:  0.610929179905\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-28  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147  27.0143   \\n\",\n      \"2007-07-29  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147   \\n\",\n      \"2007-07-30   31.375  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639   \\n\",\n      \"2007-07-31  28.7068   31.375  33.8043  29.4037  29.4966  27.4523  31.0033   \\n\",\n      \"2007-08-01  29.9082  28.7068   31.375  33.8043  29.4037  29.4966  27.4523   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2007-07-28  29.6692  29.4834  30.2998   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-29  27.0143  29.6692  29.4834   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-30  26.9147  27.0143  29.6692   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-31  30.8639  26.9147  27.0143   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-08-01  31.0033  30.8639  26.9147   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2007-07-28  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-07-29  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-07-30  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-07-31  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-08-01  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.34141196406\\n\",\n      \"Explained Variance Score:  0.8823848576\\n\",\n      \"Mean Squared Error:  3.23643017946\\n\",\n      \"R2 score:  0.870276149629\\n\",\n      \"Errors:  [Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64, Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64, Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64, Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64, Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64, Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64, Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64, Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64, Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64, Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64, Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64, Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64, Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64, Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64, Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3547309468646977, 2.6843698878562434, 1.4073060638117993, 1.8257205265526617, 1.2571302541332623, 1.3070616670286337, 1.9988507624239815, 1.2774261200573758, 1.0972884438734316, 1.7713207964022895, 2.2515787402833238, 2.1936305240618905, 1.1322810611135845, 1.2781940755820749, 2.9218559619814704], [3.6177056160450944, 3.8529029980585308, 2.0996497849323741, 2.5200941777904116, 1.7425090853194207, 2.0767602945362782, 2.9825225833769546, 1.9238545410998846, 1.6284871067250986, 2.6941111554594688, 3.193383888830593, 3.1126222980274192, 1.7023257899660558, 1.8256993808103501, 3.9248097333153922], [4.5649082663487981, 4.919654734680905, 2.5310312168153977, 2.9836384156717788, 2.0110091568888309, 2.6672760574192766, 3.7613247626665651, 2.4870650021890679, 1.9946989514581441, 3.3683432902069392, 3.8294519687663078, 3.7373617983789833, 2.080606518150474, 2.14060014177976, 4.2051556740937093], [5.4024502775560101, 5.5403781813156501, 2.8324489798600148, 3.4016521599695979, 2.3200498153968843, 3.1868909037254345, 4.4188904926330173, 2.8895466676894839, 2.3126474095813565, 3.8741601379971553, 4.2175713308860896, 4.2133650475354072, 2.4493016707758857, 2.465324887372323, 4.9642444869322437], [6.0874752741145528, 6.1238292431129455, 3.0779955606900775, 3.7679999784167957, 2.5431262388706335, 3.5929183893538976, 5.033414123710652, 3.230316091173671, 2.5966357031707243, 4.2764916616348794, 4.5333785968485394, 4.6529261285101802, 2.7891901712253597, 2.7680731557270328, 5.6452968644470065], [6.7355277492693739, 6.5918510035213815, 3.2815416890282374, 4.0959675621588527, 2.742164531970531, 3.874977862896968, 5.5623865765175768, 3.461071665532764, 2.8417667456729157, 4.5564166688903143, 4.779192398380526, 5.086101610706165, 3.0854034250811742, 3.0325416694322258, 6.1485518594275472], [7.3347922060064086, 7.025247411581879, 3.453130554000138, 4.4229639877662024, 2.8911324077574512, 4.0773842621070342, 5.9115774229114351, 3.6835908281785965, 3.0577563801686329, 4.7911542187225136, 5.0594615569728996, 5.4556849461479642, 3.3659760913065653, 3.2410121186171836, 6.7994967443732222]]\\n\",\n      \"Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 30 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=30, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1980-02-14  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058  5.04853   \\n\",\n      \"1980-02-15  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058   \\n\",\n      \"1980-02-16  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251   \\n\",\n      \"1980-02-17  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058   \\n\",\n      \"1980-02-18  5.20467  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1980-02-14  5.03604  4.89239  4.91841   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1980-02-15  5.04853  5.03604  4.89239   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1980-02-16  5.10058  5.04853  5.03604   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1980-02-17  5.02251  5.10058  5.04853   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1980-02-18  5.10058  5.02251  5.10058   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1980-02-14  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703   4.6842  \\n\",\n      \"1980-02-15   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703   4.6842  \\n\",\n      \"1980-02-16  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703   4.6842  \\n\",\n      \"1980-02-17  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703   4.6842  \\n\",\n      \"1980-02-18   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703   4.6842  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.308123611359\\n\",\n      \"Explained Variance Score:  0.883196210344\\n\",\n      \"Mean Squared Error:  0.174895557318\\n\",\n      \"R2 score:  0.882761749111\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-02-06  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023  4.67171   \\n\",\n      \"1982-02-07  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023   \\n\",\n      \"1982-02-08  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376   \\n\",\n      \"1982-02-09  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874   \\n\",\n      \"1982-02-10  4.91841  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1982-02-06  4.74874  4.73625   4.7883   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1982-02-07  4.67171  4.74874  4.73625   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1982-02-08  4.71023  4.67171  4.74874   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1982-02-09  4.72376  4.71023  4.67171   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1982-02-10  4.74874  4.72376  4.71023   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1982-02-06  3.69532  3.53918  3.47464  3.39553  3.44757   4.85284   3.3185  \\n\",\n      \"1982-02-07  3.85146  3.69532  3.53918  3.47464  3.39553   4.85284   3.3185  \\n\",\n      \"1982-02-08  3.95555  3.85146  3.69532  3.53918  3.47464    4.8799   3.3185  \\n\",\n      \"1982-02-09  3.87748  3.95555  3.85146  3.69532  3.53918   4.94444  3.48713  \\n\",\n      \"1982-02-10  3.66929  3.87748  3.95555  3.85146  3.69532   4.94444  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.153771584056\\n\",\n      \"Explained Variance Score:  0.858967690029\\n\",\n      \"Mean Squared Error:  0.037657109341\\n\",\n      \"R2 score:  0.855415148739\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1984-02-01  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637  4.82785   \\n\",\n      \"1984-02-02  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637   \\n\",\n      \"1984-02-03   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488   \\n\",\n      \"1984-02-04   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637   \\n\",\n      \"1984-02-05  4.90488   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1984-02-01   4.7883   4.7883  4.84034   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1984-02-02  4.82785   4.7883   4.7883   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1984-02-03  4.86637  4.82785   4.7883   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1984-02-04  4.90488  4.86637  4.82785   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1984-02-05  4.86637  4.90488  4.86637   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1984-02-01  4.35943  4.39795  4.43646  4.58011  4.56762   5.02251  4.12418  \\n\",\n      \"1984-02-02  4.37192  4.35943  4.39795  4.43646  4.58011   5.02251  4.12418  \\n\",\n      \"1984-02-03  4.42397  4.37192  4.35943  4.39795  4.43646   5.02251  4.12418  \\n\",\n      \"1984-02-04  4.39795  4.42397  4.37192  4.35943  4.39795   5.02251  4.12418  \\n\",\n      \"1984-02-05  4.44999  4.39795  4.42397  4.37192  4.35943   5.02251  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101043295151\\n\",\n      \"Explained Variance Score:  0.769182909465\\n\",\n      \"Mean Squared Error:  0.0161008843587\\n\",\n      \"R2 score:  0.617638917329\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1986-01-22  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048  7.36443   \\n\",\n      \"1986-01-23  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048   \\n\",\n      \"1986-01-24  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685   \\n\",\n      \"1986-01-25  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322   \\n\",\n      \"1986-01-26  7.39064  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1986-01-22  7.36443  7.39064  7.48289   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1986-01-23  7.36443  7.36443  7.39064   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1986-01-24  7.43048  7.36443  7.36443   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1986-01-25  7.41685  7.43048  7.36443   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1986-01-26  7.40322  7.41685  7.43048   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1986-01-22  4.98399  4.99648  4.90488  5.15262  5.20467    7.5741  4.89239  \\n\",\n      \"1986-01-23  5.15262  4.98399  4.99648  4.90488  5.15262    7.5741  4.89239  \\n\",\n      \"1986-01-24  5.16512  5.15262  4.98399  4.99648  4.90488    7.5741  4.89239  \\n\",\n      \"1986-01-25  5.14013  5.16512  5.15262  4.98399  4.99648    7.5741  4.90488  \\n\",\n      \"1986-01-26  5.08809  5.14013  5.16512  5.15262  4.98399    7.5741  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.212433916939\\n\",\n      \"Explained Variance Score:  0.908541965433\\n\",\n      \"Mean Squared Error:  0.0861793881797\\n\",\n      \"R2 score:  0.881980679802\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-14   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695  6.44985   \\n\",\n      \"1988-01-15   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695   \\n\",\n      \"1988-01-16  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297   \\n\",\n      \"1988-01-17  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922   \\n\",\n      \"1988-01-18  6.23485  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1988-01-14  6.49069  6.42297  6.50359   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1988-01-15  6.44985  6.49069  6.42297   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1988-01-16  6.43695  6.44985  6.49069   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1988-01-17  6.42297  6.43695  6.44985   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1988-01-18  6.36922  6.42297  6.43695   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1988-01-14  5.66069  5.79496  5.72782  5.71397   5.6479   6.62399  5.62126  \\n\",\n      \"1988-01-15  5.70118  5.66069  5.79496  5.72782  5.71397   6.62399  5.62126  \\n\",\n      \"1988-01-16  5.72782  5.70118  5.66069  5.79496  5.72782   6.62399  5.62126  \\n\",\n      \"1988-01-17  5.67454  5.72782  5.70118  5.66069  5.79496   6.62399  5.62126  \\n\",\n      \"1988-01-18  5.74168  5.67454  5.72782  5.70118  5.66069   6.62399  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.104323850003\\n\",\n      \"Explained Variance Score:  0.850284924048\\n\",\n      \"Mean Squared Error:  0.0187007596422\\n\",\n      \"R2 score:  0.835576466493\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-01-05  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067  8.25312   \\n\",\n      \"1990-01-06  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067   \\n\",\n      \"1990-01-07  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131   \\n\",\n      \"1990-01-08  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131   \\n\",\n      \"1990-01-09  7.67357  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1990-01-05  8.30842  8.46105  8.41902   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1990-01-06  8.25312  8.30842  8.46105   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1990-01-07  8.06067  8.25312  8.30842   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1990-01-08  7.92131  8.06067  8.25312   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1990-01-09  7.92131  7.92131  8.06067   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1990-01-05  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  7.57546  \\n\",\n      \"1990-01-06  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  7.57546  \\n\",\n      \"1990-01-07  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  7.57546  \\n\",\n      \"1990-01-08  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  7.57546  \\n\",\n      \"1990-01-09  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  7.57546  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.210351894406\\n\",\n      \"Explained Variance Score:  0.741325230038\\n\",\n      \"Mean Squared Error:  0.0765172809939\\n\",\n      \"R2 score:  0.70389414274\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-12-31  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   5.7994   \\n\",\n      \"1992-01-01  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   \\n\",\n      \"1992-01-02  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241   \\n\",\n      \"1992-01-03  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759   \\n\",\n      \"1992-01-04  6.19833  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1991-12-31   5.7994  5.75608  5.71277   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1992-01-01   5.7994   5.7994  5.75608   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1992-01-02  5.82675   5.7994   5.7994   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1992-01-03  5.74241  5.82675   5.7994   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1992-01-04  5.72759  5.74241  5.82675   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1991-12-31  5.11657  5.15966  5.22997  5.21636  5.18801   5.87006  4.67712  \\n\",\n      \"1992-01-01  5.11657  5.11657  5.15966  5.22997  5.21636   5.95555  4.67712  \\n\",\n      \"1992-01-02  5.03265  5.11657  5.11657  5.15966  5.22997   6.14134  4.67712  \\n\",\n      \"1992-01-03  5.01791  5.03265  5.11657  5.11657  5.15966    6.1687  4.67712  \\n\",\n      \"1992-01-04  4.96121  5.01791  5.03265  5.11657  5.11657   6.22569  4.67712  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183122699785\\n\",\n      \"Explained Variance Score:  0.66511338143\\n\",\n      \"Mean Squared Error:  0.0658789640265\\n\",\n      \"R2 score:  0.599655687338\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-12-22  8.9178  9.06257  9.01972  8.94161  8.78214  8.83992  8.78214   \\n\",\n      \"1993-12-23  8.9178   8.9178  9.06257  9.01972  8.94161  8.78214  8.83992   \\n\",\n      \"1993-12-24  8.9178   8.9178   8.9178  9.06257  9.01972  8.94161  8.78214   \\n\",\n      \"1993-12-25  8.8599   8.9178   8.9178   8.9178  9.06257  9.01972  8.94161   \\n\",\n      \"1993-12-26   8.846   8.8599   8.9178   8.9178   8.9178  9.06257  9.01972   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1993-12-22  8.99938  9.09992  9.14267   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-12-23  8.78214  8.99938  9.09992   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-12-24  8.83992  8.78214  8.99938   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-12-25  8.78214  8.83992  8.78214   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-12-26  8.94161  8.78214  8.83992   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1993-12-22  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-23  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-24   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.65272  \\n\",\n      \"1993-12-25  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.65272  \\n\",\n      \"1993-12-26   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.65272  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.158445846768\\n\",\n      \"Explained Variance Score:  0.620247529876\\n\",\n      \"Mean Squared Error:  0.0465380189471\\n\",\n      \"R2 score:  0.60132021659\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-12-13  15.5329   15.356  15.5482  15.6354  15.5482  15.5329  15.4516   \\n\",\n      \"1995-12-14  15.6661  15.5329   15.356  15.5482  15.6354  15.5482  15.5329   \\n\",\n      \"1995-12-15  15.6072  15.6661  15.5329   15.356  15.5482  15.6354  15.5482   \\n\",\n      \"1995-12-16  15.5765  15.6072  15.6661  15.5329   15.356  15.5482  15.6354   \\n\",\n      \"1995-12-17  15.8276  15.5765  15.6072  15.6661  15.5329   15.356  15.5482   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1995-12-13  15.7456  15.7738  16.0396   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-12-14  15.4516  15.7456  15.7738   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-12-15  15.5329  15.4516  15.7456   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-12-16  15.5482  15.5329  15.4516   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-12-17  15.6354  15.5482  15.5329   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1995-12-13  15.1364  15.1071  15.3124  15.4298  15.2397   17.2886  14.6378  \\n\",\n      \"1995-12-14  15.4298  15.1364  15.1071  15.3124  15.4298   17.2886  14.6378  \\n\",\n      \"1995-12-15  15.4298  15.4298  15.1364  15.1071  15.3124   17.2886  14.6378  \\n\",\n      \"1995-12-16  15.3418  15.4298  15.4298  15.1364  15.1071   17.2886  14.6378  \\n\",\n      \"1995-12-17  15.1071  15.3418  15.4298  15.4298  15.1364   17.2886  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.287728749471\\n\",\n      \"Explained Variance Score:  0.938381959646\\n\",\n      \"Mean Squared Error:  0.147641443939\\n\",\n      \"R2 score:  0.93566576996\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-12-04  19.8712  19.7065   19.675  19.8276  19.9172  20.1278  20.2949   \\n\",\n      \"1997-12-05  19.9922  19.8712  19.7065   19.675  19.8276  19.9172  20.1278   \\n\",\n      \"1997-12-06  20.1908  19.9922  19.8712  19.7065   19.675  19.8276  19.9172   \\n\",\n      \"1997-12-07  20.5225  20.1908  19.9922  19.8712  19.7065   19.675  19.8276   \\n\",\n      \"1997-12-08  20.5831  20.5225  20.1908  19.9922  19.8712  19.7065   19.675   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1997-12-04   20.462  20.6121  21.1885   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-12-05  20.2949   20.462  20.6121   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-12-06  20.1278  20.2949   20.462   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-12-07  19.9172  20.1278  20.2949   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-12-08  19.8276  19.9172  20.1278   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1997-12-04  20.8883  21.2358  20.7387  21.0403  22.0346   23.0966  19.4643  \\n\",\n      \"1997-12-05  21.2069  20.8883  21.2358  20.7387  21.0403   23.0966  19.4643  \\n\",\n      \"1997-12-06  20.9197  21.2069  20.8883  21.2358  20.7387   23.0966  19.4643  \\n\",\n      \"1997-12-07  20.5119  20.9197  21.2069  20.8883  21.2358   23.0966  19.4643  \\n\",\n      \"1997-12-08  20.6036  20.5119  20.9197  21.2069  20.8883   23.0966  19.4643  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.597633444026\\n\",\n      \"Explained Variance Score:  0.503137515046\\n\",\n      \"Mean Squared Error:  0.589490186568\\n\",\n      \"R2 score:  0.482368816144\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-11-26   25.734  26.9904  26.8239  26.2284  26.1881  26.4959  26.6624   \\n\",\n      \"1999-11-27  25.7592   25.734  26.9904  26.8239  26.2284  26.1881  26.4959   \\n\",\n      \"1999-11-28  25.1537  25.7592   25.734  26.9904  26.8239  26.2284  26.1881   \\n\",\n      \"1999-11-29  25.0528  25.1537  25.7592   25.734  26.9904  26.8239  26.2284   \\n\",\n      \"1999-11-30  25.0023  25.0528  25.1537  25.7592   25.734  26.9904  26.8239   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1999-11-26  26.2385  26.1124  25.9862   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-11-27  26.6624  26.2385  26.1124   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-11-28  26.4959  26.6624  26.2385   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-11-29  26.1881  26.4959  26.6624   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-11-30  26.2284  26.1881  26.4959   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1999-11-26  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   22.767  \\n\",\n      \"1999-11-27  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   22.767  \\n\",\n      \"1999-11-28  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   22.767  \\n\",\n      \"1999-11-29  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229   22.767  \\n\",\n      \"1999-11-30  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229   22.767  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.701837927805\\n\",\n      \"Explained Variance Score:  0.61258560237\\n\",\n      \"Mean Squared Error:  0.807580404799\\n\",\n      \"R2 score:  0.6103741195\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-11-21  20.4474  20.2593  20.4743   20.399  20.2486  20.2432  20.8021   \\n\",\n      \"2001-11-22  20.7161  20.4474  20.2593  20.4743   20.399  20.2486  20.2432   \\n\",\n      \"2001-11-23  20.8934  20.7161  20.4474  20.2593  20.4743   20.399  20.2486   \\n\",\n      \"2001-11-24  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   20.399   \\n\",\n      \"2001-11-25  20.6785  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2001-11-21  20.8719  20.8558  20.9633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-11-22  20.8021  20.8719  20.8558   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-11-23  20.2432  20.8021  20.8719   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-11-24  20.2486  20.2432  20.8021   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-11-25   20.399  20.2486  20.2432   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2001-11-21  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  18.6311  \\n\",\n      \"2001-11-22  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  18.6311  \\n\",\n      \"2001-11-23  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  18.6311  \\n\",\n      \"2001-11-24   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  18.6311  \\n\",\n      \"2001-11-25  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  18.6311  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.901971504049\\n\",\n      \"Explained Variance Score:  0.812150385253\\n\",\n      \"Mean Squared Error:  1.39923634887\\n\",\n      \"R2 score:  0.736584033371\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-11-14   35.253  35.1028  35.1664  34.9411  35.0335  34.9527  34.4386   \\n\",\n      \"2003-11-15  35.2299   35.253  35.1028  35.1664  34.9411  35.0335  34.9527   \\n\",\n      \"2003-11-16  35.9115  35.2299   35.253  35.1028  35.1664  34.9411  35.0335   \\n\",\n      \"2003-11-17  35.9289  35.9115  35.2299   35.253  35.1028  35.1664  34.9411   \\n\",\n      \"2003-11-18  35.9577  35.9289  35.9115  35.2299   35.253  35.1028  35.1664   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2003-11-14  34.3577  34.7736  34.6003   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-11-15  34.4386  34.3577  34.7736   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-11-16  34.9527  34.4386  34.3577   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-11-17  35.0335  34.9527  34.4386   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-11-18  34.9411  35.0335  34.9527   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2003-11-14  32.7585  33.0338  33.3206  32.5234  32.3628   35.8711  32.0187  \\n\",\n      \"2003-11-15  33.0052  32.7585  33.0338  33.3206  32.5234   35.8711  32.5005  \\n\",\n      \"2003-11-16  33.1944  33.0052  32.7585  33.0338  33.3206   36.0733  32.6941  \\n\",\n      \"2003-11-17  33.5442  33.1944  33.0052  32.7585  33.0338    36.079  32.6941  \\n\",\n      \"2003-11-18  32.8962  33.5442  33.1944  33.0052  32.7585   36.1079  32.6941  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.570240576978\\n\",\n      \"Explained Variance Score:  0.883135670682\\n\",\n      \"Mean Squared Error:  0.543397166296\\n\",\n      \"R2 score:  0.840783709451\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-11-15  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119  39.2664   \\n\",\n      \"2005-11-16  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119   \\n\",\n      \"2005-11-17  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863   \\n\",\n      \"2005-11-18  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308   \\n\",\n      \"2005-11-19   38.755  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2005-11-15  39.2171  40.0858  40.1844   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-11-16  39.2664  39.2171  40.0858   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-11-17  38.7119  39.2664  39.2171   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-11-18  39.1863  38.7119  39.2664   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-11-19  39.1308  39.1863  38.7119   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2005-11-15  40.0442  39.6227  40.2275  40.7162   39.867   42.5812   37.763  \\n\",\n      \"2005-11-16  39.8304  40.0442  39.6227  40.2275  40.7162   42.5812   37.763  \\n\",\n      \"2005-11-17  39.7082  39.8304  40.0442  39.6227  40.2275   42.5812   37.763  \\n\",\n      \"2005-11-18  40.2947  39.7082  39.8304  40.0442  39.6227   42.5812   37.763  \\n\",\n      \"2005-11-19  39.8304  40.2947  39.7082  39.8304  40.0442   42.5812   37.763  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.805184356548\\n\",\n      \"Explained Variance Score:  0.654726098599\\n\",\n      \"Mean Squared Error:  1.0911864143\\n\",\n      \"R2 score:  0.607901692497\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-11-08  28.7308  29.4145  29.1505  28.9068   27.607  28.0538  28.4939   \\n\",\n      \"2007-11-09  28.7511  28.7308  29.4145  29.1505  28.9068   27.607  28.0538   \\n\",\n      \"2007-11-10  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   27.607   \\n\",\n      \"2007-11-11  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   \\n\",\n      \"2007-11-12  29.1031  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2007-11-08  27.9387  29.9291  29.4484   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-11-09  28.4939  27.9387  29.9291   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-11-10  28.0538  28.4939  27.9387   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-11-11   27.607  28.0538  28.4939   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-11-12  28.9068   27.607  28.0538   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2007-11-08  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-11-09  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-11-10  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-11-11  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-11-12  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.56779790378\\n\",\n      \"Explained Variance Score:  0.910623053074\\n\",\n      \"Mean Squared Error:  4.56773993183\\n\",\n      \"R2 score:  0.895897673607\\n\",\n      \"Errors:  [Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64, Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64, Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64, Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64, Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64, Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64, Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64, Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64, Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64, Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64, Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64, Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64, Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64, Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64, Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.6862566648548238, 2.8732187489270236, 1.3256064617379473, 2.1600519846869646, 1.2235156291439226, 1.305420663991631, 2.0685360603124372, 1.0875370689226691, 1.0580095307028299, 2.0217217081378305, 2.0537492673878845, 2.4976641398052424, 1.1175050339269137, 1.3645755070232506, 4.0144579037852735], [4.0592999976323814, 3.9678510989277207, 1.9701678416738304, 3.1636611153866219, 1.7692200297767153, 2.0939347787175921, 3.1255411549111267, 1.5935961405005887, 1.6621738433483118, 2.8422732907658617, 2.8428406166970612, 3.7016790635281951, 1.5881359065976202, 1.838708716353143, 5.2950310548423047], [5.2012518896016813, 4.8595851174817444, 2.4015165262481593, 3.9663184853702087, 2.0937319599079633, 2.725889802618255, 4.0256221884370413, 2.0881478237011293, 2.1198589394936009, 3.4394436515955458, 3.1903941017651203, 4.5898554829578231, 1.9260258581576921, 2.1713779643400297, 5.7435946634475581], [6.2376680609655004, 5.1906888229530841, 2.7333023116243766, 4.771870644055527, 2.3317264370474895, 3.2484164567711518, 4.8235413121812867, 2.44198402513774, 2.4877734757315642, 3.9035877213534098, 3.4596893962513113, 5.3691221960409514, 2.2172821574031762, 2.5155067947627172, 6.6214749061448526], [7.101348672465936, 5.5598705130212815, 2.9861408788558754, 5.5072501857210723, 2.6000741043961906, 3.7020463356701927, 5.5006034680471787, 2.7726485729779609, 2.8237001385613416, 4.2351005173762228, 3.7102018424167729, 6.1433467552325984, 2.4636478733847298, 2.8408545898388282, 7.3789947893347989], [7.9277550527409595, 5.7625298134685217, 3.2529086470869495, 6.1356457071558008, 2.8329554445052851, 4.0602549841923929, 6.1326462265073882, 3.0168250033454465, 3.1420826313227979, 4.5159739803948229, 3.93149884705644, 6.8548130816086976, 2.7183436027777019, 3.1374226069422688, 8.1094147478977305], [8.7018642223453728, 6.1191921810565226, 3.5381132656657028, 6.6786375127786863, 3.0316781856016899, 4.3423819076586243, 6.6589006154937413, 3.2298492480472585, 3.4452102937068454, 4.7210730604544686, 4.2033108503209542, 7.4993260970943192, 2.9790689586399646, 3.4016567175540446, 8.8936393091082984]]\\n\",\n      \"Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 100 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=100, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.2 Adding Oil Stock Prices (GAIA)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932616</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>45.82</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>45.36</td>\\n\",\n       \"      <td>45.51</td>\\n\",\n       \"      <td>6237900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>40.666021</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.95</td>\\n\",\n       \"      <td>6.645</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6676.08</td>\\n\",\n       \"      <td>6707.26</td>\\n\",\n       \"      <td>6651.98</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932617</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>44.96</td>\\n\",\n       \"      <td>44.99</td>\\n\",\n       \"      <td>43.89</td>\\n\",\n       \"      <td>44.06</td>\\n\",\n       \"      <td>15355000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.902756</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.700</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"      <td>6726.40</td>\\n\",\n       \"      <td>6621.48</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932618</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>43.94</td>\\n\",\n       \"      <td>44.55</td>\\n\",\n       \"      <td>43.81</td>\\n\",\n       \"      <td>44.36</td>\\n\",\n       \"      <td>7105500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>38.997489</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>6.74</td>\\n\",\n       \"      <td>6.630</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"      <td>6664.00</td>\\n\",\n       \"      <td>6615.12</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932619</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>44.25</td>\\n\",\n       \"      <td>44.72</td>\\n\",\n       \"      <td>44.14</td>\\n\",\n       \"      <td>44.54</td>\\n\",\n       \"      <td>4460900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.272619</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.570</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"      <td>6653.94</td>\\n\",\n       \"      <td>6608.66</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932620</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>44.04</td>\\n\",\n       \"      <td>44.22</td>\\n\",\n       \"      <td>43.80</td>\\n\",\n       \"      <td>43.95</td>\\n\",\n       \"      <td>6834500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.086241</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6.61</td>\\n\",\n       \"      <td>7.41</td>\\n\",\n       \"      <td>6.610</td>\\n\",\n       \"      <td>7.34</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"      <td>6658.91</td>\\n\",\n       \"      <td>6601.62</td>\\n\",\n       \"      <td>6622.72</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close      Volume  \\\\\\n\",\n       \"1932616     BP  2014-09-24  45.82  45.88  45.36  45.51   6237900.0   \\n\",\n       \"1932617     BP  2014-09-25  44.96  44.99  43.89  44.06  15355000.0   \\n\",\n       \"1932618     BP  2014-09-26  43.94  44.55  43.81  44.36   7105500.0   \\n\",\n       \"1932619     BP  2014-09-29  44.25  44.72  44.14  44.54   4460900.0   \\n\",\n       \"1932620     BP  2014-09-30  44.04  44.22  43.80  43.95   6834500.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open     ...       GAIA Date  \\\\\\n\",\n       \"1932616          0.0          1.0  40.666021     ...      2014-09-24   \\n\",\n       \"1932617          0.0          1.0  39.902756     ...      2014-09-25   \\n\",\n       \"1932618          0.0          1.0  38.997489     ...      2014-09-26   \\n\",\n       \"1932619          0.0          1.0  39.272619     ...      2014-09-29   \\n\",\n       \"1932620          0.0          1.0  39.086241     ...      2014-09-30   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Open  GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close  \\\\\\n\",\n       \"1932616            6.75            6.95          6.645             6.94   \\n\",\n       \"1932617            6.94            6.94          6.700             6.70   \\n\",\n       \"1932618            6.70            6.74          6.630             6.70   \\n\",\n       \"1932619            6.62            6.69          6.570             6.62   \\n\",\n       \"1932620            6.61            7.41          6.610             7.34   \\n\",\n       \"\\n\",\n       \"          FTSE Date  FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1932616  2014-09-24    6676.08    6707.26  6651.98     6706.27  \\n\",\n       \"1932617  2014-09-25    6706.27    6726.40  6621.48     6639.71  \\n\",\n       \"1932618  2014-09-26    6639.71    6664.00  6615.12     6649.39  \\n\",\n       \"1932619  2014-09-29    6649.39    6653.94  6608.66     6646.60  \\n\",\n       \"1932620  2014-09-30    6646.60    6658.91  6601.62     6622.72  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 35,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create dataframe with BP and GAIA data in overlapping date range\\n\",\n    \"# Date range: 1999-10-29 to 2014-09-30\\n\",\n    \"# `bp_gaia_start` etc defined in Feature Engineering section 1.2.2.2\\n\",\n    \"bp_gaia = bp.loc[bp_gaia_start:bp_gaia_start+bp_gaia_intersect_length-1]\\n\",\n    \"\\n\",\n    \"# Check it ends at the right date\\n\",\n    \"bp_gaia.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3753\"\n      ]\n     },\n     \"execution_count\": 36,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(bp_gaia)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add GAIA data.\\n\",\n    \"\\n\",\n    \"# Potential improvement: Generalise `prepare_train_test` function instead\\n\",\n    \"# of copy and pasting it and making a new function.\\n\",\n    \"def prepare_train_test_with_gaia(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_gaia):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days`: the number of days prior we consider (the prices of)\\n\",\n    \"    `periods`: the total number of datapoints used (training + test)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # GAIA cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('GAIA i-%s' % str(j))\\n\",\n    \"    columns.append('GAIA Adj. High')\\n\",\n    \"    columns.append('GAIA Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['GAIA i-%s' % str(days-j)] = df.iloc[buffer+i+j]['GAIA %s' % str(target)]\\n\",\n    \"        features.iloc[i]['GAIA Adj. High'] = max(df[buffer+i:buffer+i+days]['GAIA Adj. High'])\\n\",\n    \"        features.iloc[i]['GAIA Adj. Low'] = min(df[buffer+i:buffer+i+days]['GAIA Adj. Low'])\\n\",\n    \"#    print(\\\"Features\\\", features.head())\\n\",\n    \"#    print(\\\"Prices\\\", nday_prices.head())\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"#    print(\\\"X.head: \\\", X.head())\\n\",\n    \"#    print(\\\"X.tail: \\\", X.tail())\\n\",\n    \"#    print(\\\"y.head: \\\", y.head())\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_gaia(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + GAIA data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_gaia(days=days, periods=periods, buffer=buffer, df=bp_gaia)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.390417267381\\n\",\n      \"Explained Variance Score:  0.853744159868\\n\",\n      \"Mean Squared Error:  0.253189951823\\n\",\n      \"R2 score:  0.846876833577\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.640084309346\\n\",\n      \"Explained Variance Score:  0.937272372234\\n\",\n      \"Mean Squared Error:  0.720859692963\\n\",\n      \"R2 score:  0.86521356578\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559376996819\\n\",\n      \"Explained Variance Score:  0.848725761062\\n\",\n      \"Mean Squared Error:  0.504733717139\\n\",\n      \"R2 score:  0.836876888323\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.807669964064\\n\",\n      \"Explained Variance Score:  0.513947367438\\n\",\n      \"Mean Squared Error:  1.11918208013\\n\",\n      \"R2 score:  0.47656012379\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.784485223446\\n\",\n      \"Explained Variance Score:  0.611742357358\\n\",\n      \"Mean Squared Error:  1.08805000734\\n\",\n      \"R2 score:  0.59682736149\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.823528275858\\n\",\n      \"Explained Variance Score:  0.854979604454\\n\",\n      \"Mean Squared Error:  1.21173657923\\n\",\n      \"R2 score:  0.848280893753\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.08202656801\\n\",\n      \"Explained Variance Score:  0.785807434633\\n\",\n      \"Mean Squared Error:  2.18729500527\\n\",\n      \"R2 score:  0.771849063305\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.64293719873\\n\",\n      \"Explained Variance Score:  0.701929531055\\n\",\n      \"Mean Squared Error:  4.86875519644\\n\",\n      \"R2 score:  0.576854711057\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.09213527916\\n\",\n      \"Explained Variance Score:  0.877782414782\\n\",\n      \"Mean Squared Error:  1.85736866345\\n\",\n      \"R2 score:  0.823140444507\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.26399823305\\n\",\n      \"Explained Variance Score:  0.917408689638\\n\",\n      \"Mean Squared Error:  3.26079876466\\n\",\n      \"R2 score:  0.904206507456\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.949041466517\\n\",\n      \"Explained Variance Score:  0.760114297454\\n\",\n      \"Mean Squared Error:  1.50840397037\\n\",\n      \"R2 score:  0.751639652033\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.83600905218\\n\",\n      \"Explained Variance Score:  0.749597354718\\n\",\n      \"Mean Squared Error:  1.16224774383\\n\",\n      \"R2 score:  0.742591965811\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.557442173078\\n\",\n      \"Explained Variance Score:  0.46981043696\\n\",\n      \"Mean Squared Error:  0.522034902854\\n\",\n      \"R2 score:  0.465782842549\\n\",\n      \"Errors:  [Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64, Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64, Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64, Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64, Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64, Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64, Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64, Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64, Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64, Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64, Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64, Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64, Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3416274627176741, 1.2253222561285753, 1.0255495409576574, 1.266776829926521, 1.1982064351141712, 1.310712301821582, 1.7298817238551929, 3.8921754249906253, 1.6629575970691628, 3.0941354597945034, 2.0330820163702419, 1.7164225319161091, 1.1686884331757421], [1.7150760880207037, 1.8964172603677423, 1.4834673922912223, 1.8554594521723491, 1.6787503849419985, 1.8263483157031517, 2.3241398333250651, 5.2355080851844216, 2.3752099271864098, 4.4270718273765972, 2.9025947293955445, 2.4521487734937994, 1.5958526122466832], [2.0477430054053203, 2.3723857338154257, 1.7988798566364699, 2.2637800713580867, 2.0641570748232887, 2.1815157366804447, 2.8355986521448, 5.9932443782633227, 2.9633965226109846, 5.2083198103473851, 3.5852639670979616, 2.9819102400068132, 1.8925844623819319], [2.3097316999351953, 2.8071999746923053, 2.0500517838892773, 2.6324197507576557, 2.4726133505762671, 2.5425603577844873, 3.2307653588653578, 7.1525225718155419, 3.4134342032425726, 6.2465795890314988, 4.0172291702026053, 3.4643390217868517, 2.1742172950593774], [2.5975117870884237, 3.2335105558655264, 2.2739368989119333, 2.9489855905646274, 2.8044131318548891, 2.870944054320459, 3.7485731532447448, 8.3852639729218854, 3.8372768182949173, 7.2493788386688047, 4.3865708556257568, 3.7613389113197311, 2.3577017695179605], [2.7408301709503315, 3.6348871408243957, 2.4565607234069882, 3.2327235750256049, 3.1394000107197346, 3.1446997267702699, 4.354234736214309, 9.4347187346765544, 4.2807532074257058, 8.2875526190580011, 4.6089459172836937, 3.9769158354848391, 2.5282971175926079], [2.855423021053821, 4.0729371465412827, 2.6544296847203288, 3.4571876639216557, 3.4085147945800864, 3.3865251171130839, 4.7922194765634272, 10.64932394540064, 4.6834300530757496, 9.5173590389649085, 4.8463224597302119, 4.1659653260441791, 2.632187257416279]]\\n\",\n      \"Mean daily error:  [1.743502924141366, 2.4436957447465919, 2.9375984239670951, 3.4241280098183839, 3.8811851029384354, 4.2938861165717714, 4.701678845009666]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.411869432422\\n\",\n      \"Explained Variance Score:  0.860958167317\\n\",\n      \"Mean Squared Error:  0.278323948034\\n\",\n      \"R2 score:  0.821867759953\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.606986183256\\n\",\n      \"Explained Variance Score:  0.932648097155\\n\",\n      \"Mean Squared Error:  0.66024635669\\n\",\n      \"R2 score:  0.868677365951\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559944807019\\n\",\n      \"Explained Variance Score:  0.833869148805\\n\",\n      \"Mean Squared Error:  0.505571476681\\n\",\n      \"R2 score:  0.823962424354\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.821987533814\\n\",\n      \"Explained Variance Score:  0.46989388159\\n\",\n      \"Mean Squared Error:  1.15104795599\\n\",\n      \"R2 score:  0.430126472698\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.817292176686\\n\",\n      \"Explained Variance Score:  0.605237375421\\n\",\n      \"Mean Squared Error:  1.16563063035\\n\",\n      \"R2 score:  0.588600663963\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.855518357378\\n\",\n      \"Explained Variance Score:  0.855221593528\\n\",\n      \"Mean Squared Error:  1.28660241537\\n\",\n      \"R2 score:  0.84831538254\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.1189552901\\n\",\n      \"Explained Variance Score:  0.781265137134\\n\",\n      \"Mean Squared Error:  2.30617202977\\n\",\n      \"R2 score:  0.76007064928\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.74362867052\\n\",\n      \"Explained Variance Score:  0.676636001157\\n\",\n      \"Mean Squared Error:  5.47659375935\\n\",\n      \"R2 score:  0.50027082935\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.06057828555\\n\",\n      \"Explained Variance Score:  0.877606203974\\n\",\n      \"Mean Squared Error:  1.77876224515\\n\",\n      \"R2 score:  0.831199539803\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.28699529802\\n\",\n      \"Explained Variance Score:  0.905327333598\\n\",\n      \"Mean Squared Error:  3.46556542013\\n\",\n      \"R2 score:  0.892876435992\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.957755739612\\n\",\n      \"Explained Variance Score:  0.758091797889\\n\",\n      \"Mean Squared Error:  1.51735582203\\n\",\n      \"R2 score:  0.751963233546\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.828153458555\\n\",\n      \"Explained Variance Score:  0.748810119642\\n\",\n      \"Mean Squared Error:  1.15885573253\\n\",\n      \"R2 score:  0.739717381937\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.536701478378\\n\",\n      \"Explained Variance Score:  0.501934925031\\n\",\n      \"Mean Squared Error:  0.493473147419\\n\",\n      \"R2 score:  0.496826916953\\n\",\n      \"Errors:  [Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64, Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64, Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64, Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64, Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64, Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64, Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64, Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64, Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64, Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64, Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64, Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64, Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3231776216477114, 1.1980342560885635, 1.0337559381524328, 1.2807686653343162, 1.2456589674532657, 1.3280813790944388, 1.7103664889037826, 3.9654429549097601, 1.6030301361552719, 3.1262859191366834, 2.0575536901156961, 1.7625814480985875, 1.122261076440187], [1.6714227116632154, 1.7937529603665612, 1.4762654529955792, 1.8988415982605655, 1.7986447274603283, 1.8411983204181284, 2.3179232847517244, 5.5067122215563318, 2.2614338115669748, 4.5366470960465399, 2.9088991347268269, 2.509250623322357, 1.5543009007901478], [2.0030655887796156, 2.2380077065815658, 1.780142194025534, 2.3358307699453613, 2.1709139424992134, 2.2349182679689812, 2.9254723250608365, 6.3890225539288785, 2.8520975853223187, 5.3572107545469327, 3.6021525960354821, 3.0062242229108511, 1.8244880060908213], [2.2800381048939928, 2.6718769676440171, 2.0485058953109236, 2.7139945310843472, 2.5292649062139549, 2.6223432174672223, 3.3576365342598042, 7.6482257503288977, 3.3136212289590303, 6.4358480297866265, 4.0176389505663028, 3.4729158251810874, 2.1141046081849635], [2.6130558930393306, 3.0947438014593844, 2.2777450341905157, 2.9928587868727545, 2.8834172521302088, 2.9595736804925212, 3.922805774129059, 8.8953440466338662, 3.7744107155179223, 7.4638214002320096, 4.3930553757686583, 3.7290523761223286, 2.3044743756514912], [2.8253797825024778, 3.4910159576111015, 2.4592393810665074, 3.2417476593438641, 3.2341045345752168, 3.2340433613195385, 4.4995984413286916, 10.009035103965697, 4.1986423675716669, 8.5729105007004449, 4.632208728692107, 3.9248259983154372, 2.4578823506143306], [3.1181366825666315, 3.9477940431715237, 2.6568415237777345, 3.4724030082407742, 3.527884207580871, 3.495192276717217, 4.925807113061305, 11.437354010217145, 4.6016137595911006, 9.8966156891001624, 4.8838613016883965, 4.0961565153048944, 2.5430114038608864]]\\n\",\n      \"Mean daily error:  [1.7505383493485149, 2.4673302187634834, 2.9784266548997227, 3.4789241961447055, 3.9464891163261573, 4.3677410898159295, 4.8155901180675889]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(days=10, steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.3 TODO: Adding FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>46.00</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924932</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>46.12</td>\\n\",\n       \"      <td>46.50</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>148900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.800788</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924933</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>283800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.852835</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924934</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>166400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.036040</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924935</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>47.12</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>81500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.904882</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.50  46.00  209700.0          0.0   \\n\",\n       \"1924932     BP  1984-04-03  46.12  46.50  45.88  46.38  148900.0          0.0   \\n\",\n       \"1924933     BP  1984-04-04  46.62  48.00  46.62  48.00  283800.0          0.0   \\n\",\n       \"1924934     BP  1984-04-05  48.38  48.38  47.00  47.50  166400.0          0.0   \\n\",\n       \"1924935     BP  1984-04-06  47.12  47.50  47.00  47.50   81500.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open     ...      GAIA Date  GAIA Adj. Open  \\\\\\n\",\n       \"1924931          1.0   4.748742     ...            NaN             NaN   \\n\",\n       \"1924932          1.0   4.800788     ...            NaN             NaN   \\n\",\n       \"1924933          1.0   4.852835     ...            NaN             NaN   \\n\",\n       \"1924934          1.0   5.036040     ...            NaN             NaN   \\n\",\n       \"1924935          1.0   4.904882     ...            NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close   FTSE Date  \\\\\\n\",\n       \"1924931             NaN            NaN              NaN  1984-04-02   \\n\",\n       \"1924932             NaN            NaN              NaN  1984-04-03   \\n\",\n       \"1924933             NaN            NaN              NaN  1984-04-04   \\n\",\n       \"1924934             NaN            NaN              NaN  1984-04-05   \\n\",\n       \"1924935             NaN            NaN              NaN  1984-04-06   \\n\",\n       \"\\n\",\n       \"         FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1924931     1108.1     1108.1   1108.1      1108.1  \\n\",\n       \"1924932     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924933     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924934     1102.2     1102.2   1102.2      1102.2  \\n\",\n       \"1924935     1096.3     1096.3   1096.3      1096.3  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 41,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create df with BP and FTSE data\\n\",\n    \"bp_ftse = bp.loc[bp_ftse_start:]\\n\",\n    \"bp_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add FTSE data.\\n\",\n    \"def prepare_train_test_with_ftse(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_ftse, name='FTSE'):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # FTSE cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('%s i-%s' % (name, str(j)))\\n\",\n    \"    columns.append('%s High' % name)\\n\",\n    \"    columns.append('%s Low' % name)\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['%s i-%s' % (name, str(days-j))] = df.iloc[buffer+i+j]['%s %s' % (name, 'Close')]\\n\",\n    \"        features.iloc[i]['%s High' % name] = max(df[buffer+i:buffer+i+days]['%s High' % name])\\n\",\n    \"        features.iloc[i]['%s Low' % name] = min(df[buffer+i:buffer+i+days]['%s Low' % name])\\n\",\n    \"#    print(\\\"Features\\\", features.head())\\n\",\n    \"#    print(\\\"Prices\\\", nday_prices.head())\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"#    print(\\\"X.head: \\\", X.head())\\n\",\n    \"#    print(\\\"X.tail: \\\", X.tail())\\n\",\n    \"#    print(\\\"y.head: \\\", y.head())\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_ftse(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.211015556424\\n\",\n      \"Explained Variance Score:  0.899000260643\\n\",\n      \"Mean Squared Error:  0.101319536893\\n\",\n      \"R2 score:  0.896790144908\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.103662027254\\n\",\n      \"Explained Variance Score:  0.810914496372\\n\",\n      \"Mean Squared Error:  0.0191496161364\\n\",\n      \"R2 score:  0.791651910968\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.16109328452\\n\",\n      \"Explained Variance Score:  0.509005999538\\n\",\n      \"Mean Squared Error:  0.0448450594299\\n\",\n      \"R2 score:  0.483113556059\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.134831719911\\n\",\n      \"Explained Variance Score:  0.940362863942\\n\",\n      \"Mean Squared Error:  0.0312949743422\\n\",\n      \"R2 score:  0.930443446072\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.138033710537\\n\",\n      \"Explained Variance Score:  0.808072775502\\n\",\n      \"Mean Squared Error:  0.0334602089163\\n\",\n      \"R2 score:  0.796224083528\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.283227004062\\n\",\n      \"Explained Variance Score:  0.94135464242\\n\",\n      \"Mean Squared Error:  0.148338070724\\n\",\n      \"R2 score:  0.940791765118\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.592720577547\\n\",\n      \"Explained Variance Score:  0.590618890488\\n\",\n      \"Mean Squared Error:  0.561331819027\\n\",\n      \"R2 score:  0.591291118732\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.806309397821\\n\",\n      \"Explained Variance Score:  0.691786541195\\n\",\n      \"Mean Squared Error:  1.15097371293\\n\",\n      \"R2 score:  0.680775196711\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.555161284679\\n\",\n      \"Explained Variance Score:  0.783418594845\\n\",\n      \"Mean Squared Error:  0.535944911988\\n\",\n      \"R2 score:  0.778980606844\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601145418071\\n\",\n      \"Explained Variance Score:  0.928081215955\\n\",\n      \"Mean Squared Error:  0.703987908082\\n\",\n      \"R2 score:  0.867484525348\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728988512466\\n\",\n      \"Explained Variance Score:  0.810817817708\\n\",\n      \"Mean Squared Error:  0.896347592801\\n\",\n      \"R2 score:  0.805988449328\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.922073321462\\n\",\n      \"Explained Variance Score:  0.85113491032\\n\",\n      \"Mean Squared Error:  1.46122600596\\n\",\n      \"R2 score:  0.850264942708\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17309132125\\n\",\n      \"Explained Variance Score:  0.799408239284\\n\",\n      \"Mean Squared Error:  2.27030564663\\n\",\n      \"R2 score:  0.796642650027\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.843137827511\\n\",\n      \"Explained Variance Score:  0.832739639424\\n\",\n      \"Mean Squared Error:  1.16152586731\\n\",\n      \"R2 score:  0.800540577102\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.631785589032\\n\",\n      \"Explained Variance Score:  0.609102226738\\n\",\n      \"Mean Squared Error:  0.685708026384\\n\",\n      \"R2 score:  0.61435314998\\n\",\n      \"Errors:  [Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64, Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64, Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64, Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64, Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64, Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64, Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64, Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64, Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64, Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64, Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64, Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64, Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64, Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64, Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1093203849638837, 1.0882498665812053, 1.1727221193362856, 1.412586577442704, 0.9378952735856545, 1.0300941063834617, 1.7405932434523412, 2.1849168154032079, 1.609139147394997, 1.1597121603824943, 1.2455832253947525, 1.3370203586317857, 2.8222226244345667, 1.5229049347204531, 1.4034412486597296], [3.137677932962208, 1.5142879962397864, 1.7868339361639278, 2.1822902059145175, 1.3950071506620265, 1.6581419571681995, 2.5994688610024981, 3.150312167798214, 2.2094784630369553, 1.8210669198683502, 1.7831545661313932, 1.9538476861974765, 3.8732839254645901, 2.2895125324881676, 1.9691207311038021], [3.9275897295520128, 1.8580481167789493, 2.2658084022672815, 2.6901289014995937, 1.767085268420445, 2.1449275152997287, 3.2412865657258387, 3.8620255289884353, 2.6511445367500901, 2.3681564296528759, 2.1178502784134459, 2.4027006524959704, 4.4847012689782151, 2.8754387124563219, 2.3383173887217694], [4.8109068581784316, 2.1202592771408266, 2.7240948901950901, 3.0806499448309483, 2.0219604798575306, 2.5452837022717545, 3.7324950514184696, 4.3328167447346981, 3.0359152242486602, 2.8815894798898607, 2.4314952470219375, 2.7936258809738246, 5.1413550904137146, 3.3644214225425011, 2.6694884382791546], [5.6093030750366921, 2.3865041173957149, 3.0906874855810553, 3.3625090179209156, 2.2210374912412818, 2.9087622099011363, 4.1787916887657, 4.7142020078698375, 3.307851012047319, 3.3951893092285954, 2.6908537577255762, 3.1376619968233004, 5.6210588492955305, 3.7242680240618635, 2.8336973969591983], [6.3945931299753953, 2.6514816004326791, 3.3716820089302235, 3.6483218764886902, 2.3863700872043565, 3.2013104222689206, 4.5022040533065981, 5.0931736226381776, 3.5136885049685351, 3.9347008139004784, 2.9018384802534278, 3.3989102445656725, 5.9285358715306176, 4.01961642402006, 2.9085703842103929], [7.2348796444965835, 2.8974138017887943, 3.5583384572569687, 3.9429838565291648, 2.5529337042005769, 3.4398540607220633, 4.7926283817650912, 5.5118415837853485, 3.7316462933370311, 4.4484836960925431, 3.0861939411336166, 3.64371401011475, 6.4010282408578716, 4.2815500163757605, 2.9131303105673707]]\\n\",\n      \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=7, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.215528703585\\n\",\n      \"Explained Variance Score:  0.89239332126\\n\",\n      \"Mean Squared Error:  0.106333053016\\n\",\n      \"R2 score:  0.889423358708\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.10544394771\\n\",\n      \"Explained Variance Score:  0.823015071932\\n\",\n      \"Mean Squared Error:  0.020152560856\\n\",\n      \"R2 score:  0.801681477257\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.159314434074\\n\",\n      \"Explained Variance Score:  0.516143726707\\n\",\n      \"Mean Squared Error:  0.0435129876798\\n\",\n      \"R2 score:  0.495386197593\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.136614189089\\n\",\n      \"Explained Variance Score:  0.939952177211\\n\",\n      \"Mean Squared Error:  0.0322690576029\\n\",\n      \"R2 score:  0.928442841529\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.140535916916\\n\",\n      \"Explained Variance Score:  0.809072502567\\n\",\n      \"Mean Squared Error:  0.0343899561873\\n\",\n      \"R2 score:  0.799698674935\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.280129258983\\n\",\n      \"Explained Variance Score:  0.941835339241\\n\",\n      \"Mean Squared Error:  0.143004453044\\n\",\n      \"R2 score:  0.941407871428\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.622769626763\\n\",\n      \"Explained Variance Score:  0.549268768233\\n\",\n      \"Mean Squared Error:  0.608912691972\\n\",\n      \"R2 score:  0.544265975032\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.822610971931\\n\",\n      \"Explained Variance Score:  0.667388346685\\n\",\n      \"Mean Squared Error:  1.20046660692\\n\",\n      \"R2 score:  0.65660643821\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.578147544172\\n\",\n      \"Explained Variance Score:  0.771641543361\\n\",\n      \"Mean Squared Error:  0.577674968314\\n\",\n      \"R2 score:  0.758137073698\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.62310658889\\n\",\n      \"Explained Variance Score:  0.935786377244\\n\",\n      \"Mean Squared Error:  0.733200459648\\n\",\n      \"R2 score:  0.866502386196\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.753820405372\\n\",\n      \"Explained Variance Score:  0.789718883382\\n\",\n      \"Mean Squared Error:  0.961684765187\\n\",\n      \"R2 score:  0.787036306482\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.923211659748\\n\",\n      \"Explained Variance Score:  0.849260130266\\n\",\n      \"Mean Squared Error:  1.4577408598\\n\",\n      \"R2 score:  0.849596798634\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17807639875\\n\",\n      \"Explained Variance Score:  0.811070055435\\n\",\n      \"Mean Squared Error:  2.27195431925\\n\",\n      \"R2 score:  0.80485970809\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.811337617748\\n\",\n      \"Explained Variance Score:  0.814434213769\\n\",\n      \"Mean Squared Error:  1.06810231014\\n\",\n      \"R2 score:  0.795783463702\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.621253472644\\n\",\n      \"Explained Variance Score:  0.584629646453\\n\",\n      \"Mean Squared Error:  0.678659874536\\n\",\n      \"R2 score:  0.590446476591\\n\",\n      \"Errors:  [Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64, Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64, Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64, Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64, Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64, Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64, Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64, Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64, Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64, Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64, Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64, Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64, Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64, Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64, Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1917071373549142, 1.0834175849417413, 1.1790388483576231, 1.4185720767250298, 0.96921873843174433, 1.0389149513076914, 1.7978906762316238, 2.2081130786782364, 1.626428265072178, 1.1688790011372792, 1.2442918199208317, 1.3543393912886921, 2.8279137985254801, 1.4834687450605335, 1.3679706504709863], [3.2551135884486477, 1.5219113117998229, 1.7845167567514877, 2.2058091975797436, 1.4079893663844747, 1.64581116515362, 2.7233218542675242, 3.1854362480671763, 2.2185746552549848, 1.8257198705930926, 1.7965291955873381, 1.9540303097844811, 3.7968068102836212, 2.1882198067251681, 1.9383968951517652], [4.1071642717896424, 1.899441698280516, 2.2520776093061308, 2.7079657528262455, 1.7743659001210701, 2.1122985914925523, 3.356193360147429, 3.977846700859939, 2.6167864392207312, 2.3844631650635484, 2.1738537747800573, 2.383788098908028, 4.3513351771356108, 2.7333448756427385, 2.3176337055862728], [4.9069274993299832, 2.1753970232525957, 2.6855930147788434, 3.0651327146777625, 2.0068103232086885, 2.4837707641410778, 3.878115561655151, 4.5680307683121617, 2.9908780138635374, 2.9145726033700368, 2.496350569513452, 2.7916378601993737, 5.0011359073546746, 3.1891975828644781, 2.6554416096311888], [5.684571865013738, 2.4463368567295891, 3.0361268916304378, 3.3729085591425267, 2.2222876725032874, 2.8291606439532142, 4.3457001749901645, 4.9489701760890119, 3.3523269094516883, 3.484220273558515, 2.7805684594518505, 3.1350021688093856, 5.5633024838786831, 3.5779675235638311, 2.8246714585341386], [6.5457674951850882, 2.6984515540580043, 3.2977446703014217, 3.7227666232643482, 2.4311370551028717, 3.1270319944324179, 4.6977181415685774, 5.2485644247119962, 3.7005685112433282, 4.0597642961603251, 3.0202781279834614, 3.4146913692062437, 5.9173890041333834, 3.8490686937976597, 2.9228497474023731], [7.4729519181537638, 2.9691887750983366, 3.4845684255477578, 4.0859302671068836, 2.6285168571962965, 3.3663785847193122, 5.0597293035706112, 5.539855260240377, 4.0349747441790287, 4.593526881685257, 3.2322257784365647, 3.6331538446606069, 6.4351103994170922, 4.0985222258397407, 2.8998887303961443]]\\n\",\n      \"Mean daily error:  [1.5306776509003057, 2.2298791354555303, 2.7432372747440339, 3.1872661210768669, 3.5736081411533376, 3.9102527805700995, 4.2356347997498514]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=10, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# We want an array with predictions for our model in a long date range.\\n\",\n    \"# We will consider the max error predictions, that is,\\n\",\n    \"# predictions of adjusted close prices 7 days ahead.\\n\",\n    \"\\n\",\n    \"# Initialise variable\\n\",\n    \"predictions_800_off = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predict(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Append predictions to `predictions_800_off`.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    print(\\\"Pred: \\\", pred)\\n\",\n    \"    predictions_800_off.append(pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Pared-down execute function that runs train-test cycles and \\n\",\n    \"# appends the predictions to `predictions_800_off` via the function `predict()`.\\n\",\n    \"def execute_viz(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        predict(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"Pred:  [[ 7.83601976  7.84714155  7.85292535 ...,  7.89987737  7.91755521\\n\",\n      \"   7.93865868]\\n\",\n      \" [ 7.85539551  7.86158008  7.87498252 ...,  7.90506271  7.91740818\\n\",\n      \"   7.93852032]\\n\",\n      \" [ 7.83170231  7.84749588  7.87738729 ...,  7.89285396  7.91642424\\n\",\n      \"   7.92424915]\\n\",\n      \" ..., \\n\",\n      \" [ 6.36738278  6.39213824  6.39270447 ...,  6.43798347  6.45461204\\n\",\n      \"   6.4751872 ]\\n\",\n      \" [ 6.42016386  6.417325    6.42707883 ...,  6.47916005  6.50267402\\n\",\n      \"   6.51950021]\\n\",\n      \" [ 6.28080118  6.27092368  6.28282955 ...,  6.30547753  6.3252951\\n\",\n      \"   6.3264697 ]]\\n\",\n      \"Buffer:  200\\n\",\n      \"Pred:  [[ 6.14075766  6.11117589  6.09574853 ...,  6.07217018  6.07748552\\n\",\n      \"   6.08070167]\\n\",\n      \" [ 6.21540435  6.17492322  6.17149764 ...,  6.1453285   6.13813657\\n\",\n      \"   6.14081275]\\n\",\n      \" [ 6.27753279  6.27307459  6.23843178 ...,  6.24830207  6.24374508\\n\",\n      \"   6.21901832]\\n\",\n      \" ..., \\n\",\n      \" [ 5.75919469  5.78334022  5.79923807 ...,  5.83008595  5.859385\\n\",\n      \"   5.87740631]\\n\",\n      \" [ 5.76238715  5.7892002   5.81412139 ...,  5.85030748  5.88508911\\n\",\n      \"   5.88637507]\\n\",\n      \" [ 5.78833298  5.81875138  5.83850427 ...,  5.88612816  5.8986934\\n\",\n      \"   5.90478152]]\\n\",\n      \"Buffer:  400\\n\",\n      \"Pred:  [[ 5.7641509   5.79247187  5.81926042 ...,  5.84616883  5.86198088\\n\",\n      \"   5.87727484]\\n\",\n      \" [ 5.8513131   5.86385014  5.88638345 ...,  5.89063265  5.90502758\\n\",\n      \"   5.90804928]\\n\",\n      \" [ 5.9113665   5.92879268  5.93253659 ...,  5.94752817  5.95264971\\n\",\n      \"   5.95534078]\\n\",\n      \" ..., \\n\",\n      \" [ 6.1998076   6.19815249  6.22826773 ...,  6.25852243  6.2950688\\n\",\n      \"   6.28322814]\\n\",\n      \" [ 6.19140054  6.19932943  6.23777417 ...,  6.25145184  6.25277943\\n\",\n      \"   6.24492933]\\n\",\n      \" [ 6.22481015  6.25710477  6.27123817 ...,  6.28618561  6.29833129\\n\",\n      \"   6.29616353]]\\n\",\n      \"Buffer:  600\\n\",\n      \"Pred:  [[ 6.1645113   6.1747009   6.17346569 ...,  6.14073882  6.13655823\\n\",\n      \"   6.15464913]\\n\",\n      \" [ 6.23869668  6.22906726  6.21064429 ...,  6.19525349  6.199533    6.1829646 ]\\n\",\n      \" [ 5.94298817  5.92847236  5.91129748 ...,  5.89322178  5.86434585\\n\",\n      \"   5.87953873]\\n\",\n      \" ..., \\n\",\n      \" [ 8.94246533  8.87626646  8.89060421 ...,  8.84848815  8.85793555\\n\",\n      \"   8.86792794]\\n\",\n      \" [ 8.78322534  8.79037462  8.72943888 ...,  8.72055999  8.7383812\\n\",\n      \"   8.68878426]\\n\",\n      \" [ 8.83433927  8.76940226  8.77364936 ...,  8.77248502  8.72566135\\n\",\n      \"   8.69839892]]\\n\",\n      \"Buffer:  800\\n\",\n      \"Pred:  [[ 8.67603806  8.67084409  8.65130791 ...,  8.67378925  8.69676109\\n\",\n      \"   8.69455006]\\n\",\n      \" [ 8.82830315  8.8205379   8.86009166 ...,  8.87552595  8.85568772\\n\",\n      \"   8.84410872]\\n\",\n      \" [ 8.84748948  8.84911858  8.81238761 ...,  8.78189801  8.75265697\\n\",\n      \"   8.72581647]\\n\",\n      \" ..., \\n\",\n      \" [ 7.71616361  7.7100549   7.68435219 ...,  7.6489673   7.61926738\\n\",\n      \"   7.60503466]\\n\",\n      \" [ 7.59805829  7.59515854  7.53381661 ...,  7.5060898   7.47964638\\n\",\n      \"   7.49137924]\\n\",\n      \" [ 7.54657369  7.52483132  7.53333146 ...,  7.50714863  7.52033692\\n\",\n      \"   7.5104685 ]]\\n\",\n      \"Buffer:  1000\\n\",\n      \"Pred:  [[ 7.46215011  7.4436282   7.43918656 ...,  7.5010726   7.48113362\\n\",\n      \"   7.48813435]\\n\",\n      \" [ 7.56216243  7.57242677  7.60962549 ...,  7.59408734  7.58687173\\n\",\n      \"   7.59213207]\\n\",\n      \" [ 7.55189234  7.58738691  7.61589834 ...,  7.60049142  7.60064947\\n\",\n      \"   7.60278131]\\n\",\n      \" ..., \\n\",\n      \" [ 6.19883297  6.22711546  6.24523835 ...,  6.30446123  6.33864273\\n\",\n      \"   6.33903875]\\n\",\n      \" [ 6.17836606  6.19567673  6.22059366 ...,  6.29335772  6.30085317\\n\",\n      \"   6.31700372]\\n\",\n      \" [ 6.30048133  6.33373495  6.37895762 ...,  6.41007597  6.40794933\\n\",\n      \"   6.42844116]]\\n\",\n      \"Buffer:  1200\\n\",\n      \"Pred:  [[ 6.30754289  6.34315541  6.37136507 ...,  6.34725709  6.3533664\\n\",\n      \"   6.36701006]\\n\",\n      \" [ 6.2183139   6.22645131  6.20859811 ...,  6.19826357  6.21393204\\n\",\n      \"   6.22498325]\\n\",\n      \" [ 6.13231736  6.11064193  6.06756449 ...,  6.10864178  6.12762316\\n\",\n      \"   6.12009367]\\n\",\n      \" ..., \\n\",\n      \" [ 4.93362234  4.93814477  4.93428253 ...,  4.96908178  4.9916257\\n\",\n      \"   5.0119479 ]\\n\",\n      \" [ 4.94855637  4.96672313  4.9753907  ...,  5.01327007  5.04827391\\n\",\n      \"   5.06702398]\\n\",\n      \" [ 4.94109813  4.95766805  4.9861515  ...,  5.00727657  5.02994663\\n\",\n      \"   5.03880748]]\\n\",\n      \"Buffer:  1400\\n\",\n      \"Pred:  [[ 4.99871061  5.02010571  5.014281   ...,  5.0026121   4.99747618\\n\",\n      \"   4.97557435]\\n\",\n      \" [ 5.15365698  5.15594044  5.1491617  ...,  5.09127283  5.05670229\\n\",\n      \"   5.06074197]\\n\",\n      \" [ 5.15264849  5.14912635  5.12308927 ...,  5.05939273  5.0643763\\n\",\n      \"   5.04887009]\\n\",\n      \" ..., \\n\",\n      \" [ 6.73631505  6.69817443  6.67661297 ...,  6.63990072  6.64029307\\n\",\n      \"   6.62941594]\\n\",\n      \" [ 6.80586543  6.78280213  6.77308604 ...,  6.73267206  6.70165677\\n\",\n      \"   6.68567721]\\n\",\n      \" [ 6.87717059  6.8713965   6.85461032 ...,  6.80891943  6.78659161\\n\",\n      \"   6.7676666 ]]\\n\",\n      \"Buffer:  1600\\n\",\n      \"Pred:  [[ 6.88960025  6.895621    6.91178743 ...,  6.90648271  6.91037924\\n\",\n      \"   6.91464528]\\n\",\n      \" [ 6.92029213  6.93896731  6.93794831 ...,  6.94105214  6.94581302\\n\",\n      \"   6.93479959]\\n\",\n      \" [ 6.94258489  6.94132069  6.93738101 ...,  6.95109387  6.94439441\\n\",\n      \"   6.96149157]\\n\",\n      \" ..., \\n\",\n      \" [ 8.63303575  8.6153931   8.62242329 ...,  8.60348853  8.61375744\\n\",\n      \"   8.62515753]\\n\",\n      \" [ 8.65670167  8.66375148  8.66798893 ...,  8.65346248  8.65856181\\n\",\n      \"   8.64789495]\\n\",\n      \" [ 8.7674598   8.76709683  8.7645547  ...,  8.78059364  8.7585914\\n\",\n      \"   8.76297732]]\\n\",\n      \"Buffer:  1800\\n\",\n      \"Pred:  [[  8.68953042   8.68353244   8.69167093 ...,   8.69226758   8.69669531\\n\",\n      \"    8.70359861]\\n\",\n      \" [  8.66104825   8.66338749   8.68358337 ...,   8.67084048   8.68664223\\n\",\n      \"    8.67802482]\\n\",\n      \" [  8.67468363   8.69245015   8.66828894 ...,   8.69130084   8.67790535\\n\",\n      \"    8.69542446]\\n\",\n      \" ..., \\n\",\n      \" [ 10.25132895  10.26123566  10.25052647 ...,  10.2702956   10.28387785\\n\",\n      \"   10.29072272]\\n\",\n      \" [ 10.18370737  10.17290369  10.18125306 ...,  10.2112286   10.21762469\\n\",\n      \"   10.21706292]\\n\",\n      \" [ 10.22958344  10.23782323  10.24337281 ...,  10.26467471  10.25519154\\n\",\n      \"   10.2341133 ]]\\n\",\n      \"Buffer:  2000\\n\",\n      \"Pred:  [[ 10.22064293  10.22413787  10.24471743 ...,  10.27029812  10.2744557\\n\",\n      \"   10.28765738]\\n\",\n      \" [ 10.26516025  10.27459074  10.29442757 ...,  10.31496257  10.32870539\\n\",\n      \"   10.33393516]\\n\",\n      \" [ 10.12818121  10.13767282  10.16435904 ...,  10.23174691  10.25429594\\n\",\n      \"   10.27571162]\\n\",\n      \" ..., \\n\",\n      \" [ 11.64694204  11.67793627  11.71878894 ...,  11.72885817  11.73598723\\n\",\n      \"   11.74138426]\\n\",\n      \" [ 11.50646666  11.55801859  11.60061623 ...,  11.59712143  11.60710104\\n\",\n      \"   11.62519194]\\n\",\n      \" [ 11.66543188  11.70375594  11.72575794 ...,  11.7634877   11.80012102\\n\",\n      \"   11.80921948]]\\n\",\n      \"Buffer:  2200\\n\",\n      \"Pred:  [[ 11.62959737  11.64537291  11.62913452 ...,  11.63915597  11.63946331\\n\",\n      \"   11.67432874]\\n\",\n      \" [ 11.51306747  11.4921517   11.48731226 ...,  11.48843655  11.5272199\\n\",\n      \"   11.53575298]\\n\",\n      \" [ 11.4459014   11.44132033  11.44303377 ...,  11.43963244  11.4371997\\n\",\n      \"   11.45553989]\\n\",\n      \" ..., \\n\",\n      \" [ 16.22239336  16.21976356  16.22826391 ...,  16.21574299  16.22293648\\n\",\n      \"   16.26595504]\\n\",\n      \" [ 15.98826989  16.00674066  16.03692572 ...,  16.0496106   16.10671921\\n\",\n      \"   16.11635139]\\n\",\n      \" [ 15.79752122  15.88073774  15.95919399 ...,  16.04615273  16.04535607\\n\",\n      \"   16.03367065]]\\n\",\n      \"Buffer:  2400\\n\",\n      \"Pred:  [[ 16.04780654  16.10427504  16.15325971 ...,  16.21640137  16.23310984\\n\",\n      \"   16.24580039]\\n\",\n      \" [ 15.93923871  15.96865021  16.01241045 ...,  16.04899501  16.0097939\\n\",\n      \"   16.01058251]\\n\",\n      \" [ 15.95002904  15.99504448  16.00543129 ...,  16.08477758  16.0724383\\n\",\n      \"   16.01255977]\\n\",\n      \" ..., \\n\",\n      \" [ 20.43621626  20.48574881  20.53403285 ...,  20.5853136   20.65182418\\n\",\n      \"   20.70740506]\\n\",\n      \" [ 21.01478432  21.0377329   21.06384251 ...,  21.11292127  21.16689338\\n\",\n      \"   21.25102393]\\n\",\n      \" [ 20.80946572  20.84214892  20.83450899 ...,  20.87816108  20.94758599\\n\",\n      \"   20.97840243]]\\n\",\n      \"Buffer:  2600\\n\",\n      \"Pred:  [[ 20.79530755  20.70031722  20.67570255 ...,  20.67175512  20.75003016\\n\",\n      \"   20.7424359 ]\\n\",\n      \" [ 20.51491535  20.51195086  20.47751748 ...,  20.61619501  20.61899275\\n\",\n      \"   20.71100874]\\n\",\n      \" [ 20.88903686  20.83145557  20.76382639 ...,  20.84093447  20.95482155\\n\",\n      \"   20.93470293]\\n\",\n      \" ..., \\n\",\n      \" [ 21.35898088  21.44310834  21.58442593 ...,  21.67728542  21.63729079\\n\",\n      \"   21.76718696]\\n\",\n      \" [ 21.02670418  21.22586046  21.36227848 ...,  21.31522747  21.4562707\\n\",\n      \"   21.61980196]\\n\",\n      \" [ 21.08453035  21.20775213  21.19865266 ...,  21.28921609  21.44822081\\n\",\n      \"   21.56667633]]\\n\",\n      \"Buffer:  2800\\n\",\n      \"Pred:  [[ 20.44161666  20.44133304  20.50606671 ...,  20.78067392  20.83525299\\n\",\n      \"   20.88356921]\\n\",\n      \" [ 20.47831642  20.55669655  20.6800365  ...,  20.94345539  21.0255306\\n\",\n      \"   21.09250263]\\n\",\n      \" [ 20.0543866   20.24467179  20.42056851 ...,  20.71879315  20.80801567\\n\",\n      \"   20.8139791 ]\\n\",\n      \" ..., \\n\",\n      \" [ 25.55444964  25.73089496  25.78688107 ...,  25.83001772  25.87363941\\n\",\n      \"   25.94209486]\\n\",\n      \" [ 26.10683785  26.13568262  26.21882171 ...,  26.1706635   26.17482513\\n\",\n      \"   25.99067047]\\n\",\n      \" [ 25.78641012  25.93842086  25.87267253 ...,  26.02785251  25.8333293\\n\",\n      \"   25.74114593]]\\n\",\n      \"Buffer:  3000\\n\",\n      \"Pred:  [[ 26.09202122  26.16659026  26.28513376 ...,  26.27827853  26.19880974\\n\",\n      \"   26.29279004]\\n\",\n      \" [ 27.09296713  27.16525979  27.07816223 ...,  26.79828223  26.82462005\\n\",\n      \"   26.80115994]\\n\",\n      \" [ 27.37426618  27.26991991  27.08514753 ...,  26.99525355  27.0364177\\n\",\n      \"   27.06762629]\\n\",\n      \" ..., \\n\",\n      \" [ 25.74252888  25.81395317  25.96051853 ...,  26.19018399  26.25012269\\n\",\n      \"   26.22686022]\\n\",\n      \" [ 24.28942298  24.55436301  24.86490981 ...,  25.19589939  25.32405251\\n\",\n      \"   25.35862108]\\n\",\n      \" [ 24.10812922  24.39599208  24.70467848 ...,  25.0249339   25.12917584\\n\",\n      \"   25.13941702]]\\n\",\n      \"Buffer:  3200\\n\",\n      \"Pred:  [[ 23.89936317  24.16238987  24.37814933 ...,  24.6867283   24.73517262\\n\",\n      \"   24.9000166 ]\\n\",\n      \" [ 22.796028    23.03957929  23.36191281 ...,  23.95134918  24.05807653\\n\",\n      \"   24.32577573]\\n\",\n      \" [ 23.98201714  24.24346901  24.60352667 ...,  24.83600538  25.01300299\\n\",\n      \"   25.28700399]\\n\",\n      \" ..., \\n\",\n      \" [ 25.88867191  25.80319669  25.80762619 ...,  25.73744858  25.58444691\\n\",\n      \"   25.6317368 ]\\n\",\n      \" [ 25.74242634  25.69379746  25.73573117 ...,  25.64464014  25.67333293\\n\",\n      \"   25.64796163]\\n\",\n      \" [ 25.3468584   25.36760481  25.38439543 ...,  25.45652486  25.45199294\\n\",\n      \"   25.37327864]]\\n\",\n      \"Buffer:  3400\\n\",\n      \"Pred:  [[ 25.98449668  25.98521208  25.95242912 ...,  25.89368463  25.88045388\\n\",\n      \"   25.93171006]\\n\",\n      \" [ 25.76105977  25.70375977  25.63967045 ...,  25.59240848  25.66132277\\n\",\n      \"   25.66463929]\\n\",\n      \" [ 25.23810548  25.19061044  25.23695191 ...,  25.46131797  25.38041014\\n\",\n      \"   25.40377967]\\n\",\n      \" ..., \\n\",\n      \" [ 26.24824289  26.17127915  26.07623138 ...,  25.84710184  25.78029758\\n\",\n      \"   25.70586174]\\n\",\n      \" [ 26.19759651  26.09744315  25.92235382 ...,  25.63588018  25.63291115\\n\",\n      \"   25.59553912]\\n\",\n      \" [ 25.77531313  25.60455853  25.42752481 ...,  25.30530249  25.33317719\\n\",\n      \"   25.22147558]]\\n\",\n      \"Buffer:  3600\\n\",\n      \"Pred:  [[ 25.40656908  25.27074144  25.21409378 ...,  25.28521185  25.22632841\\n\",\n      \"   25.16945681]\\n\",\n      \" [ 25.18921491  25.07334629  25.05299874 ...,  24.94128607  24.95502997\\n\",\n      \"   24.95791613]\\n\",\n      \" [ 24.81985555  24.80298349  24.7612829  ...,  24.59692495  24.58690609\\n\",\n      \"   24.58263133]\\n\",\n      \" ..., \\n\",\n      \" [ 26.0389708   25.93263093  25.87256265 ...,  25.77298706  25.6439993\\n\",\n      \"   25.58368641]\\n\",\n      \" [ 26.56849541  26.50595118  26.36715477 ...,  26.37166457  26.3312083\\n\",\n      \"   26.14700985]\\n\",\n      \" [ 26.80613189  26.67530444  26.66849488 ...,  26.59946944  26.42169587\\n\",\n      \"   26.33018949]]\\n\",\n      \"Buffer:  3800\\n\",\n      \"Pred:  [[ 26.06044987  26.12046614  26.05471894 ...,  25.93053422  25.96502619\\n\",\n      \"   25.96056563]\\n\",\n      \" [ 26.03326405  25.99975566  25.8123115  ...,  25.6606701   25.76405528\\n\",\n      \"   25.65340638]\\n\",\n      \" [ 26.56229083  26.42947167  26.36848794 ...,  26.51685341  26.46719925\\n\",\n      \"   26.41071161]\\n\",\n      \" ..., \\n\",\n      \" [ 21.28992895  21.33566945  21.43008967 ...,  21.71406469  21.85169081\\n\",\n      \"   21.92897556]\\n\",\n      \" [ 21.21583534  21.37312981  21.57666978 ...,  21.84861172  21.88918311\\n\",\n      \"   21.93881172]\\n\",\n      \" [ 21.1126037   21.34119817  21.47466187 ...,  21.63830162  21.80664827\\n\",\n      \"   21.87502314]]\\n\",\n      \"Buffer:  4000\\n\",\n      \"Pred:  [[ 21.24389337  21.37252773  21.35683562 ...,  21.48408902  21.48832578\\n\",\n      \"   21.4263668 ]\\n\",\n      \" [ 21.22127677  21.24046477  21.34895607 ...,  21.41706179  21.37656328\\n\",\n      \"   21.35550317]\\n\",\n      \" [ 21.43282338  21.46888922  21.493978   ...,  21.51923313  21.50631784\\n\",\n      \"   21.53775008]\\n\",\n      \" ..., \\n\",\n      \" [ 26.79653366  26.64113656  26.49911428 ...,  26.25092122  26.10219452\\n\",\n      \"   25.9559183 ]\\n\",\n      \" [ 26.50290012  26.38396506  26.21567803 ...,  26.05643976  25.92729177\\n\",\n      \"   25.75297956]\\n\",\n      \" [ 26.49228551  26.2948515   26.14185587 ...,  25.91011466  25.7620661\\n\",\n      \"   25.60436813]]\\n\",\n      \"Buffer:  4200\\n\",\n      \"Pred:  [[ 26.59862697  26.53265571  26.46607521 ...,  26.31185187  26.22269463\\n\",\n      \"   26.15406759]\\n\",\n      \" [ 26.55732047  26.49355051  26.42777149 ...,  26.2624713   26.21316348\\n\",\n      \"   26.13021364]\\n\",\n      \" [ 26.38850061  26.32645169  26.21572275 ...,  26.15394371  26.11911926\\n\",\n      \"   25.99641195]\\n\",\n      \" ..., \\n\",\n      \" [ 34.39713553  34.08620781  33.9011808  ...,  33.34027792  33.04665311\\n\",\n      \"   32.89668644]\\n\",\n      \" [ 33.98517109  33.82119053  33.5508494  ...,  33.05718995  32.86762085\\n\",\n      \"   32.58866132]\\n\",\n      \" [ 33.8906325   33.64126562  33.39516092 ...,  32.95667114  32.6643352\\n\",\n      \"   32.42929969]]\\n\",\n      \"Buffer:  4400\\n\",\n      \"Pred:  [[ 34.41874727  34.43546507  34.39947704 ...,  34.34448666  34.32896368\\n\",\n      \"   34.34120397]\\n\",\n      \" [ 34.46582211  34.4089387   34.43652649 ...,  34.3424298   34.30309225\\n\",\n      \"   34.3895445 ]\\n\",\n      \" [ 34.59749054  34.58828052  34.57559093 ...,  34.53213034  34.55857317\\n\",\n      \"   34.6258566 ]\\n\",\n      \" ..., \\n\",\n      \" [ 39.55704137  39.59838257  39.602544   ...,  39.60300783  39.63200396\\n\",\n      \"   39.69585152]\\n\",\n      \" [ 40.46611222  40.43535902  40.40883545 ...,  40.43070392  40.44180509\\n\",\n      \"   40.54478546]\\n\",\n      \" [ 41.35119597  41.342732    41.31906462 ...,  41.47767905  41.55588714\\n\",\n      \"   41.5559466 ]]\\n\",\n      \"Buffer:  4600\\n\",\n      \"Pred:  [[ 41.24501714  41.30563545  41.33906701 ...,  41.41231404  41.36247167\\n\",\n      \"   41.32137465]\\n\",\n      \" [ 41.55176282  41.61250172  41.6040215  ...,  41.5859052   41.4933257\\n\",\n      \"   41.49596777]\\n\",\n      \" [ 41.11082905  41.21096532  41.24008778 ...,  41.10885342  41.11014781\\n\",\n      \"   41.19066485]\\n\",\n      \" ..., \\n\",\n      \" [ 40.40333667  40.57757536  40.7444689  ...,  40.55767817  40.62361813\\n\",\n      \"   40.7688445 ]\\n\",\n      \" [ 39.63679228  39.85222014  39.7001448  ...,  39.82137182  39.90308844\\n\",\n      \"   39.89175773]\\n\",\n      \" [ 40.03398294  39.90566847  39.92936408 ...,  40.00273409  39.99056338\\n\",\n      \"   40.13290444]]\\n\",\n      \"Buffer:  4800\\n\",\n      \"Pred:  [[ 40.57613285  40.36745876  40.34832271 ...,  40.14127925  40.25699571\\n\",\n      \"   40.17561628]\\n\",\n      \" [ 39.98152946  40.00012052  39.84018882 ...,  39.76283388  39.68356018\\n\",\n      \"   39.62743014]\\n\",\n      \" [ 40.65448136  40.47656975  40.40428358 ...,  40.32405542  40.34608955\\n\",\n      \"   40.51020122]\\n\",\n      \" ..., \\n\",\n      \" [ 40.70973214  40.82156695  40.94997294 ...,  41.05915738  41.2009332\\n\",\n      \"   41.24048475]\\n\",\n      \" [ 40.74221266  40.91247665  40.94516366 ...,  41.11094752  41.12695732\\n\",\n      \"   41.2238754 ]\\n\",\n      \" [ 40.51848579  40.63794176  40.6930074  ...,  40.83603721  40.96158001\\n\",\n      \"   41.20000058]]\\n\",\n      \"Buffer:  5000\\n\",\n      \"Pred:  [[ 41.02840608  40.97742881  41.04879639 ...,  41.08703686  41.13259893\\n\",\n      \"   41.13751978]\\n\",\n      \" [ 41.06644308  41.14932577  41.14604797 ...,  41.28572476  41.31572252\\n\",\n      \"   41.31868877]\\n\",\n      \" [ 42.00121108  41.91105222  41.98860594 ...,  42.05340097  42.0514623\\n\",\n      \"   42.07459136]\\n\",\n      \" ..., \\n\",\n      \" [ 41.61889522  41.77265455  42.134165   ...,  42.26888054  42.27023834\\n\",\n      \"   42.27099558]\\n\",\n      \" [ 39.61382401  39.3572463   38.99373902 ...,  39.08954502  39.72855523\\n\",\n      \"   40.20378919]\\n\",\n      \" [ 39.26326568  38.77189241  38.68857487 ...,  38.98425831  39.33537682\\n\",\n      \"   39.83910962]]\\n\",\n      \"Buffer:  5200\\n\",\n      \"Pred:  [[ 40.47205982  40.6031967   40.7555591  ...,  41.30306999  41.58849567\\n\",\n      \"   42.20678238]\\n\",\n      \" [ 40.53496451  40.74019047  40.91134542 ...,  41.1356297   41.85741949\\n\",\n      \"   42.23975788]\\n\",\n      \" [ 40.68819248  40.89227875  40.86005788 ...,  41.29318408  41.69474886\\n\",\n      \"   41.93568032]\\n\",\n      \" ..., \\n\",\n      \" [ 32.58236996  32.68722674  32.94694616 ...,  33.68935864  34.40763451\\n\",\n      \"   35.0411307 ]\\n\",\n      \" [ 34.11827593  34.29691869  34.56631295 ...,  35.77380712  36.1406701\\n\",\n      \"   36.65944805]\\n\",\n      \" [ 32.53922298  32.93070035  33.1267649  ...,  33.88362425  34.34724461\\n\",\n      \"   35.05498163]]\\n\",\n      \"Buffer:  5400\\n\",\n      \"Pred:  [[ 31.52461716  31.57967856  31.70310795 ...,  31.60969549  31.97998058\\n\",\n      \"   31.76583509]\\n\",\n      \" [ 32.56237362  32.44398294  32.30184175 ...,  32.87763302  32.50008364\\n\",\n      \"   32.21124309]\\n\",\n      \" [ 32.08373777  32.0604223   32.18122015 ...,  32.3427488   31.88531891\\n\",\n      \"   32.15190584]\\n\",\n      \" ..., \\n\",\n      \" [ 36.47434384  36.56338542  36.61949077 ...,  36.48991746  36.31746724\\n\",\n      \"   36.40344402]\\n\",\n      \" [ 37.24605504  37.18514913  37.20037653 ...,  36.99259881  36.96397396\\n\",\n      \"   36.84186326]\\n\",\n      \" [ 37.03819783  37.07523111  37.0042887  ...,  36.83422073  36.62528101\\n\",\n      \"   36.64031558]]\\n\",\n      \"Buffer:  5600\\n\",\n      \"Pred:  [[ 37.15097768  37.16165774  37.0631008  ...,  36.92139965  36.90713708\\n\",\n      \"   36.99238524]\\n\",\n      \" [ 36.81621957  36.81704608  36.83068939 ...,  36.76175825  36.76190017\\n\",\n      \"   36.74666901]\\n\",\n      \" [ 37.09933134  37.1138151   37.12286448 ...,  37.17231345  37.17322168\\n\",\n      \"   37.11568705]\\n\",\n      \" ..., \\n\",\n      \" [ 25.7344187   26.06591327  26.15460221 ...,  27.08788596  27.12449494\\n\",\n      \"   27.39248972]\\n\",\n      \" [ 22.49560126  22.71537861  22.34032905 ...,  22.91827229  22.94172241\\n\",\n      \"   24.24507425]\\n\",\n      \" [ 24.54302106  24.12607841  24.37067691 ...,  24.36400232  25.51053396\\n\",\n      \"   26.15846606]]\\n\",\n      \"Buffer:  5800\\n\",\n      \"Pred:  [[ 24.79977904  24.69590721  24.0883611  ...,  24.91928808  25.20504994\\n\",\n      \"   25.25962951]\\n\",\n      \" [ 23.1419501   22.66726302  21.87925864 ...,  23.11620493  22.89603025\\n\",\n      \"   23.68080167]\\n\",\n      \" [ 23.12996329  22.22263254  23.34052642 ...,  23.00870146  23.76270941\\n\",\n      \"   23.85789826]\\n\",\n      \" ..., \\n\",\n      \" [ 35.2820164   35.36034423  35.48074954 ...,  35.78691612  35.82649512\\n\",\n      \"   35.96429514]\\n\",\n      \" [ 35.47454644  35.55712141  35.53895006 ...,  35.77111792  35.8272775\\n\",\n      \"   36.00105157]\\n\",\n      \" [ 35.59562223  35.77160935  35.9847767  ...,  36.14101777  36.22937931\\n\",\n      \"   36.35845682]]\\n\",\n      \"Buffer:  6000\\n\",\n      \"Pred:  [[ 34.87543571  35.05866248  34.96081266 ...,  34.91188916  34.8865196\\n\",\n      \"   35.09534966]\\n\",\n      \" [ 34.07850517  34.09411023  33.94862945 ...,  33.7652154   33.70499976\\n\",\n      \"   34.01118595]\\n\",\n      \" [ 33.74560074  33.59630762  33.55275587 ...,  33.25894686  33.44248384\\n\",\n      \"   33.64523254]\\n\",\n      \" ..., \\n\",\n      \" [ 34.37043957  34.49072721  34.46713889 ...,  34.61641291  34.6316781\\n\",\n      \"   34.65009482]\\n\",\n      \" [ 34.34755901  34.44125379  34.69034084 ...,  34.58201637  34.64234545\\n\",\n      \"   34.57663455]\\n\",\n      \" [ 34.57448406  34.80322892  34.60662199 ...,  34.71353755  34.54698945\\n\",\n      \"   34.75533398]]\\n\",\n      \"Buffer:  6200\\n\",\n      \"Pred:  [[ 34.48058576  34.46931947  34.39645689 ...,  34.56175966  34.60120682\\n\",\n      \"   34.6889119 ]\\n\",\n      \" [ 34.42459542  34.4041518   34.59273011 ...,  34.71655572  34.77569208\\n\",\n      \"   34.91001211]\\n\",\n      \" [ 34.02746584  34.17503955  34.19326864 ...,  34.41906863  34.49378041\\n\",\n      \"   34.54149122]\\n\",\n      \" ..., \\n\",\n      \" [ 34.26729796  34.33198393  34.52037656 ...,  34.26471212  34.32199879\\n\",\n      \"   34.43204531]\\n\",\n      \" [ 33.37651991  33.60677572  33.52148382 ...,  33.42863803  33.44812737\\n\",\n      \"   33.44797037]\\n\",\n      \" [ 33.77101123  33.70474743  33.57014533 ...,  33.57211048  33.6467882\\n\",\n      \"   33.75261216]]\\n\",\n      \"Buffer:  6400\\n\",\n      \"Pred:  [[ 33.53133289  33.43869191  33.37263046 ...,  33.32649401  33.31416629\\n\",\n      \"   33.19199006]\\n\",\n      \" [ 33.46584109  33.39713333  33.33327354 ...,  33.28221668  33.15383874\\n\",\n      \"   33.13431947]\\n\",\n      \" [ 34.41622601  34.29761196  34.4366854  ...,  34.39820455  34.52023716\\n\",\n      \"   34.3539505 ]\\n\",\n      \" ..., \\n\",\n      \" [ 34.78692903  34.73536166  34.73454473 ...,  34.35468426  34.27153208\\n\",\n      \"   34.18379174]\\n\",\n      \" [ 35.01790079  34.99299477  34.80046662 ...,  34.59019432  34.47643505\\n\",\n      \"   34.32671027]\\n\",\n      \" [ 34.93577164  34.68553218  34.54299772 ...,  34.42529695  34.26793524\\n\",\n      \"   34.20209156]]\\n\",\n      \"Buffer:  6600\\n\",\n      \"Pred:  [[ 34.97898179  34.98256211  35.07425527 ...,  35.19605749  35.29951325\\n\",\n      \"   35.34528396]\\n\",\n      \" [ 35.01624583  35.10178264  35.12680389 ...,  35.30594613  35.35298146\\n\",\n      \"   35.4299613 ]\\n\",\n      \" [ 34.93937399  34.9619017   35.07676871 ...,  35.17815547  35.28027676\\n\",\n      \"   35.31059197]\\n\",\n      \" ..., \\n\",\n      \" [ 44.10058135  43.8139945   43.50204997 ...,  42.79200923  42.46908938\\n\",\n      \"   42.18424781]\\n\",\n      \" [ 43.92034495  43.61468664  43.30103441 ...,  42.6139226   42.32034584\\n\",\n      \"   42.01517437]\\n\",\n      \" [ 44.03369297  43.71493941  43.41566069 ...,  42.70811157  42.40436291\\n\",\n      \"   42.15296897]]\\n\",\n      \"Buffer:  6800\\n\",\n      \"Pred:  [[ 44.26824904  44.22815477  44.2189972  ...,  44.12417068  44.16232578\\n\",\n      \"   44.12297489]\\n\",\n      \" [ 43.86504688  43.81346145  43.79542729 ...,  43.81453745  43.80092968\\n\",\n      \"   43.78132118]\\n\",\n      \" [ 44.17142766  44.10927042  44.07602426 ...,  44.01900881  44.03224618\\n\",\n      \"   44.05145594]\\n\",\n      \" ..., \\n\",\n      \" [ 34.95488639  35.16294448  35.49386909 ...,  35.56308703  35.46595545\\n\",\n      \"   35.52188355]\\n\",\n      \" [ 36.1446683   36.4019933   36.67338125 ...,  36.68118139  36.80819138\\n\",\n      \"   36.84463694]\\n\",\n      \" [ 35.82839891  35.92646934  36.05010142 ...,  36.31325315  36.35564094\\n\",\n      \"   36.41780309]]\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[array([[ 7.83601976,  7.84714155,  7.85292535, ...,  7.89987737,\\n\",\n       \"          7.91755521,  7.93865868],\\n\",\n       \"        [ 7.85539551,  7.86158008,  7.87498252, ...,  7.90506271,\\n\",\n       \"          7.91740818,  7.93852032],\\n\",\n       \"        [ 7.83170231,  7.84749588,  7.87738729, ...,  7.89285396,\\n\",\n       \"          7.91642424,  7.92424915],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.36738278,  6.39213824,  6.39270447, ...,  6.43798347,\\n\",\n       \"          6.45461204,  6.4751872 ],\\n\",\n       \"        [ 6.42016386,  6.417325  ,  6.42707883, ...,  6.47916005,\\n\",\n       \"          6.50267402,  6.51950021],\\n\",\n       \"        [ 6.28080118,  6.27092368,  6.28282955, ...,  6.30547753,\\n\",\n       \"          6.3252951 ,  6.3264697 ]]),\\n\",\n       \" array([[ 6.14075766,  6.11117589,  6.09574853, ...,  6.07217018,\\n\",\n       \"          6.07748552,  6.08070167],\\n\",\n       \"        [ 6.21540435,  6.17492322,  6.17149764, ...,  6.1453285 ,\\n\",\n       \"          6.13813657,  6.14081275],\\n\",\n       \"        [ 6.27753279,  6.27307459,  6.23843178, ...,  6.24830207,\\n\",\n       \"          6.24374508,  6.21901832],\\n\",\n       \"        ..., \\n\",\n       \"        [ 5.75919469,  5.78334022,  5.79923807, ...,  5.83008595,\\n\",\n       \"          5.859385  ,  5.87740631],\\n\",\n       \"        [ 5.76238715,  5.7892002 ,  5.81412139, ...,  5.85030748,\\n\",\n       \"          5.88508911,  5.88637507],\\n\",\n       \"        [ 5.78833298,  5.81875138,  5.83850427, ...,  5.88612816,\\n\",\n       \"          5.8986934 ,  5.90478152]]),\\n\",\n       \" array([[ 5.7641509 ,  5.79247187,  5.81926042, ...,  5.84616883,\\n\",\n       \"          5.86198088,  5.87727484],\\n\",\n       \"        [ 5.8513131 ,  5.86385014,  5.88638345, ...,  5.89063265,\\n\",\n       \"          5.90502758,  5.90804928],\\n\",\n       \"        [ 5.9113665 ,  5.92879268,  5.93253659, ...,  5.94752817,\\n\",\n       \"          5.95264971,  5.95534078],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.1998076 ,  6.19815249,  6.22826773, ...,  6.25852243,\\n\",\n       \"          6.2950688 ,  6.28322814],\\n\",\n       \"        [ 6.19140054,  6.19932943,  6.23777417, ...,  6.25145184,\\n\",\n       \"          6.25277943,  6.24492933],\\n\",\n       \"        [ 6.22481015,  6.25710477,  6.27123817, ...,  6.28618561,\\n\",\n       \"          6.29833129,  6.29616353]]),\\n\",\n       \" array([[ 6.1645113 ,  6.1747009 ,  6.17346569, ...,  6.14073882,\\n\",\n       \"          6.13655823,  6.15464913],\\n\",\n       \"        [ 6.23869668,  6.22906726,  6.21064429, ...,  6.19525349,\\n\",\n       \"          6.199533  ,  6.1829646 ],\\n\",\n       \"        [ 5.94298817,  5.92847236,  5.91129748, ...,  5.89322178,\\n\",\n       \"          5.86434585,  5.87953873],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.94246533,  8.87626646,  8.89060421, ...,  8.84848815,\\n\",\n       \"          8.85793555,  8.86792794],\\n\",\n       \"        [ 8.78322534,  8.79037462,  8.72943888, ...,  8.72055999,\\n\",\n       \"          8.7383812 ,  8.68878426],\\n\",\n       \"        [ 8.83433927,  8.76940226,  8.77364936, ...,  8.77248502,\\n\",\n       \"          8.72566135,  8.69839892]]),\\n\",\n       \" array([[ 8.67603806,  8.67084409,  8.65130791, ...,  8.67378925,\\n\",\n       \"          8.69676109,  8.69455006],\\n\",\n       \"        [ 8.82830315,  8.8205379 ,  8.86009166, ...,  8.87552595,\\n\",\n       \"          8.85568772,  8.84410872],\\n\",\n       \"        [ 8.84748948,  8.84911858,  8.81238761, ...,  8.78189801,\\n\",\n       \"          8.75265697,  8.72581647],\\n\",\n       \"        ..., \\n\",\n       \"        [ 7.71616361,  7.7100549 ,  7.68435219, ...,  7.6489673 ,\\n\",\n       \"          7.61926738,  7.60503466],\\n\",\n       \"        [ 7.59805829,  7.59515854,  7.53381661, ...,  7.5060898 ,\\n\",\n       \"          7.47964638,  7.49137924],\\n\",\n       \"        [ 7.54657369,  7.52483132,  7.53333146, ...,  7.50714863,\\n\",\n       \"          7.52033692,  7.5104685 ]]),\\n\",\n       \" array([[ 7.46215011,  7.4436282 ,  7.43918656, ...,  7.5010726 ,\\n\",\n       \"          7.48113362,  7.48813435],\\n\",\n       \"        [ 7.56216243,  7.57242677,  7.60962549, ...,  7.59408734,\\n\",\n       \"          7.58687173,  7.59213207],\\n\",\n       \"        [ 7.55189234,  7.58738691,  7.61589834, ...,  7.60049142,\\n\",\n       \"          7.60064947,  7.60278131],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.19883297,  6.22711546,  6.24523835, ...,  6.30446123,\\n\",\n       \"          6.33864273,  6.33903875],\\n\",\n       \"        [ 6.17836606,  6.19567673,  6.22059366, ...,  6.29335772,\\n\",\n       \"          6.30085317,  6.31700372],\\n\",\n       \"        [ 6.30048133,  6.33373495,  6.37895762, ...,  6.41007597,\\n\",\n       \"          6.40794933,  6.42844116]]),\\n\",\n       \" array([[ 6.30754289,  6.34315541,  6.37136507, ...,  6.34725709,\\n\",\n       \"          6.3533664 ,  6.36701006],\\n\",\n       \"        [ 6.2183139 ,  6.22645131,  6.20859811, ...,  6.19826357,\\n\",\n       \"          6.21393204,  6.22498325],\\n\",\n       \"        [ 6.13231736,  6.11064193,  6.06756449, ...,  6.10864178,\\n\",\n       \"          6.12762316,  6.12009367],\\n\",\n       \"        ..., \\n\",\n       \"        [ 4.93362234,  4.93814477,  4.93428253, ...,  4.96908178,\\n\",\n       \"          4.9916257 ,  5.0119479 ],\\n\",\n       \"        [ 4.94855637,  4.96672313,  4.9753907 , ...,  5.01327007,\\n\",\n       \"          5.04827391,  5.06702398],\\n\",\n       \"        [ 4.94109813,  4.95766805,  4.9861515 , ...,  5.00727657,\\n\",\n       \"          5.02994663,  5.03880748]]),\\n\",\n       \" array([[ 4.99871061,  5.02010571,  5.014281  , ...,  5.0026121 ,\\n\",\n       \"          4.99747618,  4.97557435],\\n\",\n       \"        [ 5.15365698,  5.15594044,  5.1491617 , ...,  5.09127283,\\n\",\n       \"          5.05670229,  5.06074197],\\n\",\n       \"        [ 5.15264849,  5.14912635,  5.12308927, ...,  5.05939273,\\n\",\n       \"          5.0643763 ,  5.04887009],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.73631505,  6.69817443,  6.67661297, ...,  6.63990072,\\n\",\n       \"          6.64029307,  6.62941594],\\n\",\n       \"        [ 6.80586543,  6.78280213,  6.77308604, ...,  6.73267206,\\n\",\n       \"          6.70165677,  6.68567721],\\n\",\n       \"        [ 6.87717059,  6.8713965 ,  6.85461032, ...,  6.80891943,\\n\",\n       \"          6.78659161,  6.7676666 ]]),\\n\",\n       \" array([[ 6.88960025,  6.895621  ,  6.91178743, ...,  6.90648271,\\n\",\n       \"          6.91037924,  6.91464528],\\n\",\n       \"        [ 6.92029213,  6.93896731,  6.93794831, ...,  6.94105214,\\n\",\n       \"          6.94581302,  6.93479959],\\n\",\n       \"        [ 6.94258489,  6.94132069,  6.93738101, ...,  6.95109387,\\n\",\n       \"          6.94439441,  6.96149157],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.63303575,  8.6153931 ,  8.62242329, ...,  8.60348853,\\n\",\n       \"          8.61375744,  8.62515753],\\n\",\n       \"        [ 8.65670167,  8.66375148,  8.66798893, ...,  8.65346248,\\n\",\n       \"          8.65856181,  8.64789495],\\n\",\n       \"        [ 8.7674598 ,  8.76709683,  8.7645547 , ...,  8.78059364,\\n\",\n       \"          8.7585914 ,  8.76297732]]),\\n\",\n       \" array([[  8.68953042,   8.68353244,   8.69167093, ...,   8.69226758,\\n\",\n       \"           8.69669531,   8.70359861],\\n\",\n       \"        [  8.66104825,   8.66338749,   8.68358337, ...,   8.67084048,\\n\",\n       \"           8.68664223,   8.67802482],\\n\",\n       \"        [  8.67468363,   8.69245015,   8.66828894, ...,   8.69130084,\\n\",\n       \"           8.67790535,   8.69542446],\\n\",\n       \"        ..., \\n\",\n       \"        [ 10.25132895,  10.26123566,  10.25052647, ...,  10.2702956 ,\\n\",\n       \"          10.28387785,  10.29072272],\\n\",\n       \"        [ 10.18370737,  10.17290369,  10.18125306, ...,  10.2112286 ,\\n\",\n       \"          10.21762469,  10.21706292],\\n\",\n       \"        [ 10.22958344,  10.23782323,  10.24337281, ...,  10.26467471,\\n\",\n       \"          10.25519154,  10.2341133 ]]),\\n\",\n       \" array([[ 10.22064293,  10.22413787,  10.24471743, ...,  10.27029812,\\n\",\n       \"          10.2744557 ,  10.28765738],\\n\",\n       \"        [ 10.26516025,  10.27459074,  10.29442757, ...,  10.31496257,\\n\",\n       \"          10.32870539,  10.33393516],\\n\",\n       \"        [ 10.12818121,  10.13767282,  10.16435904, ...,  10.23174691,\\n\",\n       \"          10.25429594,  10.27571162],\\n\",\n       \"        ..., \\n\",\n       \"        [ 11.64694204,  11.67793627,  11.71878894, ...,  11.72885817,\\n\",\n       \"          11.73598723,  11.74138426],\\n\",\n       \"        [ 11.50646666,  11.55801859,  11.60061623, ...,  11.59712143,\\n\",\n       \"          11.60710104,  11.62519194],\\n\",\n       \"        [ 11.66543188,  11.70375594,  11.72575794, ...,  11.7634877 ,\\n\",\n       \"          11.80012102,  11.80921948]]),\\n\",\n       \" array([[ 11.62959737,  11.64537291,  11.62913452, ...,  11.63915597,\\n\",\n       \"          11.63946331,  11.67432874],\\n\",\n       \"        [ 11.51306747,  11.4921517 ,  11.48731226, ...,  11.48843655,\\n\",\n       \"          11.5272199 ,  11.53575298],\\n\",\n       \"        [ 11.4459014 ,  11.44132033,  11.44303377, ...,  11.43963244,\\n\",\n       \"          11.4371997 ,  11.45553989],\\n\",\n       \"        ..., \\n\",\n       \"        [ 16.22239336,  16.21976356,  16.22826391, ...,  16.21574299,\\n\",\n       \"          16.22293648,  16.26595504],\\n\",\n       \"        [ 15.98826989,  16.00674066,  16.03692572, ...,  16.0496106 ,\\n\",\n       \"          16.10671921,  16.11635139],\\n\",\n       \"        [ 15.79752122,  15.88073774,  15.95919399, ...,  16.04615273,\\n\",\n       \"          16.04535607,  16.03367065]]),\\n\",\n       \" array([[ 16.04780654,  16.10427504,  16.15325971, ...,  16.21640137,\\n\",\n       \"          16.23310984,  16.24580039],\\n\",\n       \"        [ 15.93923871,  15.96865021,  16.01241045, ...,  16.04899501,\\n\",\n       \"          16.0097939 ,  16.01058251],\\n\",\n       \"        [ 15.95002904,  15.99504448,  16.00543129, ...,  16.08477758,\\n\",\n       \"          16.0724383 ,  16.01255977],\\n\",\n       \"        ..., \\n\",\n       \"        [ 20.43621626,  20.48574881,  20.53403285, ...,  20.5853136 ,\\n\",\n       \"          20.65182418,  20.70740506],\\n\",\n       \"        [ 21.01478432,  21.0377329 ,  21.06384251, ...,  21.11292127,\\n\",\n       \"          21.16689338,  21.25102393],\\n\",\n       \"        [ 20.80946572,  20.84214892,  20.83450899, ...,  20.87816108,\\n\",\n       \"          20.94758599,  20.97840243]]),\\n\",\n       \" array([[ 20.79530755,  20.70031722,  20.67570255, ...,  20.67175512,\\n\",\n       \"          20.75003016,  20.7424359 ],\\n\",\n       \"        [ 20.51491535,  20.51195086,  20.47751748, ...,  20.61619501,\\n\",\n       \"          20.61899275,  20.71100874],\\n\",\n       \"        [ 20.88903686,  20.83145557,  20.76382639, ...,  20.84093447,\\n\",\n       \"          20.95482155,  20.93470293],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.35898088,  21.44310834,  21.58442593, ...,  21.67728542,\\n\",\n       \"          21.63729079,  21.76718696],\\n\",\n       \"        [ 21.02670418,  21.22586046,  21.36227848, ...,  21.31522747,\\n\",\n       \"          21.4562707 ,  21.61980196],\\n\",\n       \"        [ 21.08453035,  21.20775213,  21.19865266, ...,  21.28921609,\\n\",\n       \"          21.44822081,  21.56667633]]),\\n\",\n       \" array([[ 20.44161666,  20.44133304,  20.50606671, ...,  20.78067392,\\n\",\n       \"          20.83525299,  20.88356921],\\n\",\n       \"        [ 20.47831642,  20.55669655,  20.6800365 , ...,  20.94345539,\\n\",\n       \"          21.0255306 ,  21.09250263],\\n\",\n       \"        [ 20.0543866 ,  20.24467179,  20.42056851, ...,  20.71879315,\\n\",\n       \"          20.80801567,  20.8139791 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.55444964,  25.73089496,  25.78688107, ...,  25.83001772,\\n\",\n       \"          25.87363941,  25.94209486],\\n\",\n       \"        [ 26.10683785,  26.13568262,  26.21882171, ...,  26.1706635 ,\\n\",\n       \"          26.17482513,  25.99067047],\\n\",\n       \"        [ 25.78641012,  25.93842086,  25.87267253, ...,  26.02785251,\\n\",\n       \"          25.8333293 ,  25.74114593]]),\\n\",\n       \" array([[ 26.09202122,  26.16659026,  26.28513376, ...,  26.27827853,\\n\",\n       \"          26.19880974,  26.29279004],\\n\",\n       \"        [ 27.09296713,  27.16525979,  27.07816223, ...,  26.79828223,\\n\",\n       \"          26.82462005,  26.80115994],\\n\",\n       \"        [ 27.37426618,  27.26991991,  27.08514753, ...,  26.99525355,\\n\",\n       \"          27.0364177 ,  27.06762629],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.74252888,  25.81395317,  25.96051853, ...,  26.19018399,\\n\",\n       \"          26.25012269,  26.22686022],\\n\",\n       \"        [ 24.28942298,  24.55436301,  24.86490981, ...,  25.19589939,\\n\",\n       \"          25.32405251,  25.35862108],\\n\",\n       \"        [ 24.10812922,  24.39599208,  24.70467848, ...,  25.0249339 ,\\n\",\n       \"          25.12917584,  25.13941702]]),\\n\",\n       \" array([[ 23.89936317,  24.16238987,  24.37814933, ...,  24.6867283 ,\\n\",\n       \"          24.73517262,  24.9000166 ],\\n\",\n       \"        [ 22.796028  ,  23.03957929,  23.36191281, ...,  23.95134918,\\n\",\n       \"          24.05807653,  24.32577573],\\n\",\n       \"        [ 23.98201714,  24.24346901,  24.60352667, ...,  24.83600538,\\n\",\n       \"          25.01300299,  25.28700399],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.88867191,  25.80319669,  25.80762619, ...,  25.73744858,\\n\",\n       \"          25.58444691,  25.6317368 ],\\n\",\n       \"        [ 25.74242634,  25.69379746,  25.73573117, ...,  25.64464014,\\n\",\n       \"          25.67333293,  25.64796163],\\n\",\n       \"        [ 25.3468584 ,  25.36760481,  25.38439543, ...,  25.45652486,\\n\",\n       \"          25.45199294,  25.37327864]]),\\n\",\n       \" array([[ 25.98449668,  25.98521208,  25.95242912, ...,  25.89368463,\\n\",\n       \"          25.88045388,  25.93171006],\\n\",\n       \"        [ 25.76105977,  25.70375977,  25.63967045, ...,  25.59240848,\\n\",\n       \"          25.66132277,  25.66463929],\\n\",\n       \"        [ 25.23810548,  25.19061044,  25.23695191, ...,  25.46131797,\\n\",\n       \"          25.38041014,  25.40377967],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.24824289,  26.17127915,  26.07623138, ...,  25.84710184,\\n\",\n       \"          25.78029758,  25.70586174],\\n\",\n       \"        [ 26.19759651,  26.09744315,  25.92235382, ...,  25.63588018,\\n\",\n       \"          25.63291115,  25.59553912],\\n\",\n       \"        [ 25.77531313,  25.60455853,  25.42752481, ...,  25.30530249,\\n\",\n       \"          25.33317719,  25.22147558]]),\\n\",\n       \" array([[ 25.40656908,  25.27074144,  25.21409378, ...,  25.28521185,\\n\",\n       \"          25.22632841,  25.16945681],\\n\",\n       \"        [ 25.18921491,  25.07334629,  25.05299874, ...,  24.94128607,\\n\",\n       \"          24.95502997,  24.95791613],\\n\",\n       \"        [ 24.81985555,  24.80298349,  24.7612829 , ...,  24.59692495,\\n\",\n       \"          24.58690609,  24.58263133],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.0389708 ,  25.93263093,  25.87256265, ...,  25.77298706,\\n\",\n       \"          25.6439993 ,  25.58368641],\\n\",\n       \"        [ 26.56849541,  26.50595118,  26.36715477, ...,  26.37166457,\\n\",\n       \"          26.3312083 ,  26.14700985],\\n\",\n       \"        [ 26.80613189,  26.67530444,  26.66849488, ...,  26.59946944,\\n\",\n       \"          26.42169587,  26.33018949]]),\\n\",\n       \" array([[ 26.06044987,  26.12046614,  26.05471894, ...,  25.93053422,\\n\",\n       \"          25.96502619,  25.96056563],\\n\",\n       \"        [ 26.03326405,  25.99975566,  25.8123115 , ...,  25.6606701 ,\\n\",\n       \"          25.76405528,  25.65340638],\\n\",\n       \"        [ 26.56229083,  26.42947167,  26.36848794, ...,  26.51685341,\\n\",\n       \"          26.46719925,  26.41071161],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.28992895,  21.33566945,  21.43008967, ...,  21.71406469,\\n\",\n       \"          21.85169081,  21.92897556],\\n\",\n       \"        [ 21.21583534,  21.37312981,  21.57666978, ...,  21.84861172,\\n\",\n       \"          21.88918311,  21.93881172],\\n\",\n       \"        [ 21.1126037 ,  21.34119817,  21.47466187, ...,  21.63830162,\\n\",\n       \"          21.80664827,  21.87502314]]),\\n\",\n       \" array([[ 21.24389337,  21.37252773,  21.35683562, ...,  21.48408902,\\n\",\n       \"          21.48832578,  21.4263668 ],\\n\",\n       \"        [ 21.22127677,  21.24046477,  21.34895607, ...,  21.41706179,\\n\",\n       \"          21.37656328,  21.35550317],\\n\",\n       \"        [ 21.43282338,  21.46888922,  21.493978  , ...,  21.51923313,\\n\",\n       \"          21.50631784,  21.53775008],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.79653366,  26.64113656,  26.49911428, ...,  26.25092122,\\n\",\n       \"          26.10219452,  25.9559183 ],\\n\",\n       \"        [ 26.50290012,  26.38396506,  26.21567803, ...,  26.05643976,\\n\",\n       \"          25.92729177,  25.75297956],\\n\",\n       \"        [ 26.49228551,  26.2948515 ,  26.14185587, ...,  25.91011466,\\n\",\n       \"          25.7620661 ,  25.60436813]]),\\n\",\n       \" array([[ 26.59862697,  26.53265571,  26.46607521, ...,  26.31185187,\\n\",\n       \"          26.22269463,  26.15406759],\\n\",\n       \"        [ 26.55732047,  26.49355051,  26.42777149, ...,  26.2624713 ,\\n\",\n       \"          26.21316348,  26.13021364],\\n\",\n       \"        [ 26.38850061,  26.32645169,  26.21572275, ...,  26.15394371,\\n\",\n       \"          26.11911926,  25.99641195],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.39713553,  34.08620781,  33.9011808 , ...,  33.34027792,\\n\",\n       \"          33.04665311,  32.89668644],\\n\",\n       \"        [ 33.98517109,  33.82119053,  33.5508494 , ...,  33.05718995,\\n\",\n       \"          32.86762085,  32.58866132],\\n\",\n       \"        [ 33.8906325 ,  33.64126562,  33.39516092, ...,  32.95667114,\\n\",\n       \"          32.6643352 ,  32.42929969]]),\\n\",\n       \" array([[ 34.41874727,  34.43546507,  34.39947704, ...,  34.34448666,\\n\",\n       \"          34.32896368,  34.34120397],\\n\",\n       \"        [ 34.46582211,  34.4089387 ,  34.43652649, ...,  34.3424298 ,\\n\",\n       \"          34.30309225,  34.3895445 ],\\n\",\n       \"        [ 34.59749054,  34.58828052,  34.57559093, ...,  34.53213034,\\n\",\n       \"          34.55857317,  34.6258566 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 39.55704137,  39.59838257,  39.602544  , ...,  39.60300783,\\n\",\n       \"          39.63200396,  39.69585152],\\n\",\n       \"        [ 40.46611222,  40.43535902,  40.40883545, ...,  40.43070392,\\n\",\n       \"          40.44180509,  40.54478546],\\n\",\n       \"        [ 41.35119597,  41.342732  ,  41.31906462, ...,  41.47767905,\\n\",\n       \"          41.55588714,  41.5559466 ]]),\\n\",\n       \" array([[ 41.24501714,  41.30563545,  41.33906701, ...,  41.41231404,\\n\",\n       \"          41.36247167,  41.32137465],\\n\",\n       \"        [ 41.55176282,  41.61250172,  41.6040215 , ...,  41.5859052 ,\\n\",\n       \"          41.4933257 ,  41.49596777],\\n\",\n       \"        [ 41.11082905,  41.21096532,  41.24008778, ...,  41.10885342,\\n\",\n       \"          41.11014781,  41.19066485],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.40333667,  40.57757536,  40.7444689 , ...,  40.55767817,\\n\",\n       \"          40.62361813,  40.7688445 ],\\n\",\n       \"        [ 39.63679228,  39.85222014,  39.7001448 , ...,  39.82137182,\\n\",\n       \"          39.90308844,  39.89175773],\\n\",\n       \"        [ 40.03398294,  39.90566847,  39.92936408, ...,  40.00273409,\\n\",\n       \"          39.99056338,  40.13290444]]),\\n\",\n       \" array([[ 40.57613285,  40.36745876,  40.34832271, ...,  40.14127925,\\n\",\n       \"          40.25699571,  40.17561628],\\n\",\n       \"        [ 39.98152946,  40.00012052,  39.84018882, ...,  39.76283388,\\n\",\n       \"          39.68356018,  39.62743014],\\n\",\n       \"        [ 40.65448136,  40.47656975,  40.40428358, ...,  40.32405542,\\n\",\n       \"          40.34608955,  40.51020122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.70973214,  40.82156695,  40.94997294, ...,  41.05915738,\\n\",\n       \"          41.2009332 ,  41.24048475],\\n\",\n       \"        [ 40.74221266,  40.91247665,  40.94516366, ...,  41.11094752,\\n\",\n       \"          41.12695732,  41.2238754 ],\\n\",\n       \"        [ 40.51848579,  40.63794176,  40.6930074 , ...,  40.83603721,\\n\",\n       \"          40.96158001,  41.20000058]]),\\n\",\n       \" array([[ 41.02840608,  40.97742881,  41.04879639, ...,  41.08703686,\\n\",\n       \"          41.13259893,  41.13751978],\\n\",\n       \"        [ 41.06644308,  41.14932577,  41.14604797, ...,  41.28572476,\\n\",\n       \"          41.31572252,  41.31868877],\\n\",\n       \"        [ 42.00121108,  41.91105222,  41.98860594, ...,  42.05340097,\\n\",\n       \"          42.0514623 ,  42.07459136],\\n\",\n       \"        ..., \\n\",\n       \"        [ 41.61889522,  41.77265455,  42.134165  , ...,  42.26888054,\\n\",\n       \"          42.27023834,  42.27099558],\\n\",\n       \"        [ 39.61382401,  39.3572463 ,  38.99373902, ...,  39.08954502,\\n\",\n       \"          39.72855523,  40.20378919],\\n\",\n       \"        [ 39.26326568,  38.77189241,  38.68857487, ...,  38.98425831,\\n\",\n       \"          39.33537682,  39.83910962]]),\\n\",\n       \" array([[ 40.47205982,  40.6031967 ,  40.7555591 , ...,  41.30306999,\\n\",\n       \"          41.58849567,  42.20678238],\\n\",\n       \"        [ 40.53496451,  40.74019047,  40.91134542, ...,  41.1356297 ,\\n\",\n       \"          41.85741949,  42.23975788],\\n\",\n       \"        [ 40.68819248,  40.89227875,  40.86005788, ...,  41.29318408,\\n\",\n       \"          41.69474886,  41.93568032],\\n\",\n       \"        ..., \\n\",\n       \"        [ 32.58236996,  32.68722674,  32.94694616, ...,  33.68935864,\\n\",\n       \"          34.40763451,  35.0411307 ],\\n\",\n       \"        [ 34.11827593,  34.29691869,  34.56631295, ...,  35.77380712,\\n\",\n       \"          36.1406701 ,  36.65944805],\\n\",\n       \"        [ 32.53922298,  32.93070035,  33.1267649 , ...,  33.88362425,\\n\",\n       \"          34.34724461,  35.05498163]]),\\n\",\n       \" array([[ 31.52461716,  31.57967856,  31.70310795, ...,  31.60969549,\\n\",\n       \"          31.97998058,  31.76583509],\\n\",\n       \"        [ 32.56237362,  32.44398294,  32.30184175, ...,  32.87763302,\\n\",\n       \"          32.50008364,  32.21124309],\\n\",\n       \"        [ 32.08373777,  32.0604223 ,  32.18122015, ...,  32.3427488 ,\\n\",\n       \"          31.88531891,  32.15190584],\\n\",\n       \"        ..., \\n\",\n       \"        [ 36.47434384,  36.56338542,  36.61949077, ...,  36.48991746,\\n\",\n       \"          36.31746724,  36.40344402],\\n\",\n       \"        [ 37.24605504,  37.18514913,  37.20037653, ...,  36.99259881,\\n\",\n       \"          36.96397396,  36.84186326],\\n\",\n       \"        [ 37.03819783,  37.07523111,  37.0042887 , ...,  36.83422073,\\n\",\n       \"          36.62528101,  36.64031558]]),\\n\",\n       \" array([[ 37.15097768,  37.16165774,  37.0631008 , ...,  36.92139965,\\n\",\n       \"          36.90713708,  36.99238524],\\n\",\n       \"        [ 36.81621957,  36.81704608,  36.83068939, ...,  36.76175825,\\n\",\n       \"          36.76190017,  36.74666901],\\n\",\n       \"        [ 37.09933134,  37.1138151 ,  37.12286448, ...,  37.17231345,\\n\",\n       \"          37.17322168,  37.11568705],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.7344187 ,  26.06591327,  26.15460221, ...,  27.08788596,\\n\",\n       \"          27.12449494,  27.39248972],\\n\",\n       \"        [ 22.49560126,  22.71537861,  22.34032905, ...,  22.91827229,\\n\",\n       \"          22.94172241,  24.24507425],\\n\",\n       \"        [ 24.54302106,  24.12607841,  24.37067691, ...,  24.36400232,\\n\",\n       \"          25.51053396,  26.15846606]]),\\n\",\n       \" array([[ 24.79977904,  24.69590721,  24.0883611 , ...,  24.91928808,\\n\",\n       \"          25.20504994,  25.25962951],\\n\",\n       \"        [ 23.1419501 ,  22.66726302,  21.87925864, ...,  23.11620493,\\n\",\n       \"          22.89603025,  23.68080167],\\n\",\n       \"        [ 23.12996329,  22.22263254,  23.34052642, ...,  23.00870146,\\n\",\n       \"          23.76270941,  23.85789826],\\n\",\n       \"        ..., \\n\",\n       \"        [ 35.2820164 ,  35.36034423,  35.48074954, ...,  35.78691612,\\n\",\n       \"          35.82649512,  35.96429514],\\n\",\n       \"        [ 35.47454644,  35.55712141,  35.53895006, ...,  35.77111792,\\n\",\n       \"          35.8272775 ,  36.00105157],\\n\",\n       \"        [ 35.59562223,  35.77160935,  35.9847767 , ...,  36.14101777,\\n\",\n       \"          36.22937931,  36.35845682]]),\\n\",\n       \" array([[ 34.87543571,  35.05866248,  34.96081266, ...,  34.91188916,\\n\",\n       \"          34.8865196 ,  35.09534966],\\n\",\n       \"        [ 34.07850517,  34.09411023,  33.94862945, ...,  33.7652154 ,\\n\",\n       \"          33.70499976,  34.01118595],\\n\",\n       \"        [ 33.74560074,  33.59630762,  33.55275587, ...,  33.25894686,\\n\",\n       \"          33.44248384,  33.64523254],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.37043957,  34.49072721,  34.46713889, ...,  34.61641291,\\n\",\n       \"          34.6316781 ,  34.65009482],\\n\",\n       \"        [ 34.34755901,  34.44125379,  34.69034084, ...,  34.58201637,\\n\",\n       \"          34.64234545,  34.57663455],\\n\",\n       \"        [ 34.57448406,  34.80322892,  34.60662199, ...,  34.71353755,\\n\",\n       \"          34.54698945,  34.75533398]]),\\n\",\n       \" array([[ 34.48058576,  34.46931947,  34.39645689, ...,  34.56175966,\\n\",\n       \"          34.60120682,  34.6889119 ],\\n\",\n       \"        [ 34.42459542,  34.4041518 ,  34.59273011, ...,  34.71655572,\\n\",\n       \"          34.77569208,  34.91001211],\\n\",\n       \"        [ 34.02746584,  34.17503955,  34.19326864, ...,  34.41906863,\\n\",\n       \"          34.49378041,  34.54149122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.26729796,  34.33198393,  34.52037656, ...,  34.26471212,\\n\",\n       \"          34.32199879,  34.43204531],\\n\",\n       \"        [ 33.37651991,  33.60677572,  33.52148382, ...,  33.42863803,\\n\",\n       \"          33.44812737,  33.44797037],\\n\",\n       \"        [ 33.77101123,  33.70474743,  33.57014533, ...,  33.57211048,\\n\",\n       \"          33.6467882 ,  33.75261216]]),\\n\",\n       \" array([[ 33.53133289,  33.43869191,  33.37263046, ...,  33.32649401,\\n\",\n       \"          33.31416629,  33.19199006],\\n\",\n       \"        [ 33.46584109,  33.39713333,  33.33327354, ...,  33.28221668,\\n\",\n       \"          33.15383874,  33.13431947],\\n\",\n       \"        [ 34.41622601,  34.29761196,  34.4366854 , ...,  34.39820455,\\n\",\n       \"          34.52023716,  34.3539505 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.78692903,  34.73536166,  34.73454473, ...,  34.35468426,\\n\",\n       \"          34.27153208,  34.18379174],\\n\",\n       \"        [ 35.01790079,  34.99299477,  34.80046662, ...,  34.59019432,\\n\",\n       \"          34.47643505,  34.32671027],\\n\",\n       \"        [ 34.93577164,  34.68553218,  34.54299772, ...,  34.42529695,\\n\",\n       \"          34.26793524,  34.20209156]]),\\n\",\n       \" array([[ 34.97898179,  34.98256211,  35.07425527, ...,  35.19605749,\\n\",\n       \"          35.29951325,  35.34528396],\\n\",\n       \"        [ 35.01624583,  35.10178264,  35.12680389, ...,  35.30594613,\\n\",\n       \"          35.35298146,  35.4299613 ],\\n\",\n       \"        [ 34.93937399,  34.9619017 ,  35.07676871, ...,  35.17815547,\\n\",\n       \"          35.28027676,  35.31059197],\\n\",\n       \"        ..., \\n\",\n       \"        [ 44.10058135,  43.8139945 ,  43.50204997, ...,  42.79200923,\\n\",\n       \"          42.46908938,  42.18424781],\\n\",\n       \"        [ 43.92034495,  43.61468664,  43.30103441, ...,  42.6139226 ,\\n\",\n       \"          42.32034584,  42.01517437],\\n\",\n       \"        [ 44.03369297,  43.71493941,  43.41566069, ...,  42.70811157,\\n\",\n       \"          42.40436291,  42.15296897]]),\\n\",\n       \" array([[ 44.26824904,  44.22815477,  44.2189972 , ...,  44.12417068,\\n\",\n       \"          44.16232578,  44.12297489],\\n\",\n       \"        [ 43.86504688,  43.81346145,  43.79542729, ...,  43.81453745,\\n\",\n       \"          43.80092968,  43.78132118],\\n\",\n       \"        [ 44.17142766,  44.10927042,  44.07602426, ...,  44.01900881,\\n\",\n       \"          44.03224618,  44.05145594],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.95488639,  35.16294448,  35.49386909, ...,  35.56308703,\\n\",\n       \"          35.46595545,  35.52188355],\\n\",\n       \"        [ 36.1446683 ,  36.4019933 ,  36.67338125, ...,  36.68118139,\\n\",\n       \"          36.80819138,  36.84463694],\\n\",\n       \"        [ 35.82839891,  35.92646934,  36.05010142, ...,  36.31325315,\\n\",\n       \"          36.35564094,  36.41780309]])]\"\n      ]\n     },\n     \"execution_count\": 51,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract predictions. \\n\",\n    \"# `execute_viz` function appends predictions to `predictions_800_off`.\\n\",\n    \"execute_viz(steps=35)\\n\",\n    \"predictions_800_off\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"7000\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[7.9386586814575164,\\n\",\n       \" 7.9385203217998654,\\n\",\n       \" 7.924249146106483,\\n\",\n       \" 7.9012922230048002,\\n\",\n       \" 7.9694966896901072,\\n\",\n       \" 7.9379066283830166,\\n\",\n       \" 7.9033436487609698,\\n\",\n       \" 7.9624823177768214,\\n\",\n       \" 7.9797023821236319,\\n\",\n       \" 8.0022559969116571,\\n\",\n       \" 8.0346843791736688,\\n\",\n       \" 8.0165273954102201,\\n\",\n       \" 8.0478567389874343,\\n\",\n       \" 8.0175318531137716,\\n\",\n       \" 8.1207363588667363,\\n\",\n       \" 8.3027967645395577,\\n\",\n       \" 8.3830578303821088,\\n\",\n       \" 8.433113998415509,\\n\",\n       \" 8.3680978432868649,\\n\",\n       \" 8.3471882088960587,\\n\",\n       \" 8.1889879868111279,\\n\",\n       \" 8.1863491608515524,\\n\",\n       \" 8.4241681316139623,\\n\",\n       \" 8.418357801473503,\\n\",\n       \" 8.5213388551832345,\\n\",\n       \" 8.3832348535517571,\\n\",\n       \" 8.1961078162144627,\\n\",\n       \" 8.0712254420379281,\\n\",\n       \" 7.8577649445467834,\\n\",\n       \" 7.8242291698881647,\\n\",\n       \" 7.8212444345901204,\\n\",\n       \" 7.7634359328571501,\\n\",\n       \" 7.9755668055243518,\\n\",\n       \" 8.0341178823289692,\\n\",\n       \" 7.8730729840682745,\\n\",\n       \" 7.8744687301826684,\\n\",\n       \" 8.053238381571342,\\n\",\n       \" 8.0217328098924536,\\n\",\n       \" 8.0288730932490946,\\n\",\n       \" 7.7596041420852018,\\n\",\n       \" 7.4272558470725887,\\n\",\n       \" 7.6045342781236531,\\n\",\n       \" 7.5541483821835058,\\n\",\n       \" 7.6921907134941465,\\n\",\n       \" 7.8355729543313348,\\n\",\n       \" 7.5862038765559605,\\n\",\n       \" 7.3265133334045185,\\n\",\n       \" 7.3144934353553213,\\n\",\n       \" 7.3500829043810105,\\n\",\n       \" 7.3510859878584105,\\n\",\n       \" 7.4282522099924249,\\n\",\n       \" 7.37924055474861,\\n\",\n       \" 7.4078716362153223,\\n\",\n       \" 7.6956865693848453,\\n\",\n       \" 7.7665983163343082,\\n\",\n       \" 7.7437631679078303,\\n\",\n       \" 7.9610193388681854,\\n\",\n       \" 8.0008118350990696,\\n\",\n       \" 7.9373151329248639,\\n\",\n       \" 8.0235718872491102,\\n\",\n       \" 7.9163579791227132,\\n\",\n       \" 7.8450888166196311,\\n\",\n       \" 7.7645800745267728,\\n\",\n       \" 7.8200451803263924,\\n\",\n       \" 7.8416342933699266,\\n\",\n       \" 7.8434909561987745,\\n\",\n       \" 7.8382321920669131,\\n\",\n       \" 7.8685651108740355,\\n\",\n       \" 7.9846856131927062,\\n\",\n       \" 8.0088802813229911,\\n\",\n       \" 7.865448180200195,\\n\",\n       \" 7.9267289179245122,\\n\",\n       \" 7.8755502361625265,\\n\",\n       \" 7.7186662517603013,\\n\",\n       \" 7.9199563662611236,\\n\",\n       \" 7.9782845980081945,\\n\",\n       \" 7.9338153744603783,\\n\",\n       \" 7.9077209067781506,\\n\",\n       \" 7.8805941466182876,\\n\",\n       \" 7.804253716325892,\\n\",\n       \" 7.8490373611580342,\\n\",\n       \" 7.8753824102238852,\\n\",\n       \" 7.8915503700812,\\n\",\n       \" 7.877443173859108,\\n\",\n       \" 7.7895429137186358,\\n\",\n       \" 7.7513428027436122,\\n\",\n       \" 7.7149487495816276,\\n\",\n       \" 7.5523444523503853,\\n\",\n       \" 7.4303808282737211,\\n\",\n       \" 7.0821673891687666,\\n\",\n       \" 5.9677691947169427,\\n\",\n       \" 5.1362911464119145,\\n\",\n       \" 5.5574575276275731,\\n\",\n       \" 5.2818650930534563,\\n\",\n       \" 5.4744499091450667,\\n\",\n       \" 5.3094567735870584,\\n\",\n       \" 5.0301794949373013,\\n\",\n       \" 5.1123900154976303,\\n\",\n       \" 5.4867000687863783,\\n\",\n       \" 5.2783798151050974,\\n\",\n       \" 5.5429067215920238,\\n\",\n       \" 5.2856207494813647,\\n\",\n       \" 5.2600922736577882,\\n\",\n       \" 5.3795144576904841,\\n\",\n       \" 5.3226781806849388,\\n\",\n       \" 5.3103028948361795,\\n\",\n       \" 5.3168439182747154,\\n\",\n       \" 5.3543485747309898,\\n\",\n       \" 5.3950525100208226,\\n\",\n       \" 5.345318857173547,\\n\",\n       \" 5.3198220678787616,\\n\",\n       \" 5.4133559584263899,\\n\",\n       \" 5.3843395565582757,\\n\",\n       \" 5.5139377070660638,\\n\",\n       \" 5.6091792949613897,\\n\",\n       \" 5.6306767189261206,\\n\",\n       \" 5.7172608253593893,\\n\",\n       \" 5.7317686562106136,\\n\",\n       \" 5.7259383971371589,\\n\",\n       \" 5.492856834747605,\\n\",\n       \" 5.4135359809230312,\\n\",\n       \" 5.362572896424024,\\n\",\n       \" 5.3979066269629259,\\n\",\n       \" 5.4939663284969846,\\n\",\n       \" 5.6319808805005911,\\n\",\n       \" 5.6411152173746011,\\n\",\n       \" 5.6758521237026303,\\n\",\n       \" 5.5963907615876654,\\n\",\n       \" 5.7466509186675312,\\n\",\n       \" 5.6527778014805667,\\n\",\n       \" 5.5911499582756194,\\n\",\n       \" 5.5687781331245487,\\n\",\n       \" 5.436830255690305,\\n\",\n       \" 5.4554965703535103,\\n\",\n       \" 5.7195278095458084,\\n\",\n       \" 5.7427309518459584,\\n\",\n       \" 5.9606798799275227,\\n\",\n       \" 5.9384989424349897,\\n\",\n       \" 5.7778385648473565,\\n\",\n       \" 5.6901466393148805,\\n\",\n       \" 5.9579184804955743,\\n\",\n       \" 5.8436553203737107,\\n\",\n       \" 6.1517305136993015,\\n\",\n       \" 6.1555230756912005,\\n\",\n       \" 6.1184355998723934,\\n\",\n       \" 6.0827708197957993,\\n\",\n       \" 5.8898273456745862,\\n\",\n       \" 5.8970123526576721,\\n\",\n       \" 5.8540476000295616,\\n\",\n       \" 5.8947781345973125,\\n\",\n       \" 5.8988450139051256,\\n\",\n       \" 5.9144672991265015,\\n\",\n       \" 5.8782232003546042,\\n\",\n       \" 5.751470819801737,\\n\",\n       \" 5.6138833941332598,\\n\",\n       \" 5.7077101710774851,\\n\",\n       \" 5.8340908464301124,\\n\",\n       \" 5.8308013171332744,\\n\",\n       \" 5.8327581835573215,\\n\",\n       \" 5.8519904841862331,\\n\",\n       \" 6.0306902932743567,\\n\",\n       \" 5.9651639045282563,\\n\",\n       \" 5.9024180741927683,\\n\",\n       \" 5.905254944675784,\\n\",\n       \" 5.8274018484276713,\\n\",\n       \" 5.8672542702992745,\\n\",\n       \" 5.7672014808651406,\\n\",\n       \" 5.6255380091922573,\\n\",\n       \" 5.6900808085978474,\\n\",\n       \" 5.7491740048308451,\\n\",\n       \" 5.7679135053569599,\\n\",\n       \" 5.7921074313959346,\\n\",\n       \" 5.7529437138169861,\\n\",\n       \" 5.7453901557846443,\\n\",\n       \" 5.7549205739837044,\\n\",\n       \" 5.6990868193754816,\\n\",\n       \" 5.8251170153492167,\\n\",\n       \" 5.8273091752505657,\\n\",\n       \" 5.7601002273888726,\\n\",\n       \" 5.8233125011725528,\\n\",\n       \" 5.7657222040117455,\\n\",\n       \" 5.6902374599790972,\\n\",\n       \" 5.7354608350877712,\\n\",\n       \" 5.8177104411454748,\\n\",\n       \" 5.7374285740025925,\\n\",\n       \" 5.7577836964541582,\\n\",\n       \" 5.9131196878942065,\\n\",\n       \" 6.0303952627288453,\\n\",\n       \" 6.0860790674585017,\\n\",\n       \" 6.523352100466882,\\n\",\n       \" 6.5176956991855022,\\n\",\n       \" 6.3933007815776115,\\n\",\n       \" 6.3835975284975151,\\n\",\n       \" 6.4078502003894933,\\n\",\n       \" 6.3637590570703271,\\n\",\n       \" 6.5949673261789989,\\n\",\n       \" 6.5455806185616092,\\n\",\n       \" 6.4751872040984262,\\n\",\n       \" 6.5195002081104771,\\n\",\n       \" 6.3264696997486274,\\n\",\n       \" 6.0807016653319117,\\n\",\n       \" 6.1408127499487541,\\n\",\n       \" 6.219018322737476,\\n\",\n       \" 6.1846771780336889,\\n\",\n       \" 6.1968487923542526,\\n\",\n       \" 6.1407414692183888,\\n\",\n       \" 6.1799911998396553,\\n\",\n       \" 6.2249280967765133,\\n\",\n       \" 6.2936809105776534,\\n\",\n       \" 6.4090332930535974,\\n\",\n       \" 6.6308038648546219,\\n\",\n       \" 6.5138903921171174,\\n\",\n       \" 6.5528890032476212,\\n\",\n       \" 6.4015883914550091,\\n\",\n       \" 6.4307525014847942,\\n\",\n       \" 6.6354753933126718,\\n\",\n       \" 6.6776841894164463,\\n\",\n       \" 6.6257053006111022,\\n\",\n       \" 6.5979277591120677,\\n\",\n       \" 6.5177020655583062,\\n\",\n       \" 6.4639621922853854,\\n\",\n       \" 6.5929430396185502,\\n\",\n       \" 6.563617827386925,\\n\",\n       \" 6.5303849680219948,\\n\",\n       \" 6.4995593769216953,\\n\",\n       \" 6.4649624362380536,\\n\",\n       \" 6.5278670522895528,\\n\",\n       \" 6.3057793819307069,\\n\",\n       \" 6.3585309273105324,\\n\",\n       \" 6.3898301080010222,\\n\",\n       \" 6.4109942891001142,\\n\",\n       \" 6.4160272080079075,\\n\",\n       \" 6.3290462648771761,\\n\",\n       \" 6.3437505325128685,\\n\",\n       \" 6.4353914645100412,\\n\",\n       \" 6.3846107235843457,\\n\",\n       \" 6.3345204796076109,\\n\",\n       \" 6.1894686224716153,\\n\",\n       \" 6.2157073895180872,\\n\",\n       \" 6.2486000973397662,\\n\",\n       \" 6.2368927411923671,\\n\",\n       \" 6.3432386601776685,\\n\",\n       \" 6.3379977975373869,\\n\",\n       \" 6.2523736617222125,\\n\",\n       \" 6.2063880601390755,\\n\",\n       \" 6.2004624044192527,\\n\",\n       \" 6.2274621198667726,\\n\",\n       \" 6.1435489361737572,\\n\",\n       \" 6.2171136176098889,\\n\",\n       \" 6.2762419621511194,\\n\",\n       \" 6.2082569735496369,\\n\",\n       \" 6.2434735901984277,\\n\",\n       \" 6.2285656669525213,\\n\",\n       \" 6.339001638826165,\\n\",\n       \" 6.2277719563607379,\\n\",\n       \" 6.2288520447248956,\\n\",\n       \" 6.2365459050280343,\\n\",\n       \" 6.0893816610840972,\\n\",\n       \" 6.0374599279207759,\\n\",\n       \" 6.0264675246684556,\\n\",\n       \" 6.1137591008762504,\\n\",\n       \" 6.0592710923379505,\\n\",\n       \" 5.9711306319655613,\\n\",\n       \" 5.7513733266823639,\\n\",\n       \" 5.5097994661055463,\\n\",\n       \" 5.6962746683908954,\\n\",\n       \" 5.6915570017391728,\\n\",\n       \" 5.6848440041287835,\\n\",\n       \" 5.6832244978989124,\\n\",\n       \" 5.750705474799763,\\n\",\n       \" 5.8113211743784543,\\n\",\n       \" 5.8016871915600143,\\n\",\n       \" 5.7972938306995045,\\n\",\n       \" 5.7972083706741921,\\n\",\n       \" 5.6453255228951784,\\n\",\n       \" 5.6749863348097422,\\n\",\n       \" 5.6996741266188975,\\n\",\n       \" 5.5675009534560509,\\n\",\n       \" 5.6021289487784047,\\n\",\n       \" 5.6022023704383761,\\n\",\n       \" 5.7929905942999023,\\n\",\n       \" 5.7600080508509617,\\n\",\n       \" 5.6803857091223806,\\n\",\n       \" 5.7001653286947382,\\n\",\n       \" 5.628053946210775,\\n\",\n       \" 5.7397504025018833,\\n\",\n       \" 5.7488611551852298,\\n\",\n       \" 5.7884776433347263,\\n\",\n       \" 5.7606480893760974,\\n\",\n       \" 5.7232441999062003,\\n\",\n       \" 5.7390025629080252,\\n\",\n       \" 5.6898914943350904,\\n\",\n       \" 5.5913404105092237,\\n\",\n       \" 5.6429359360509661,\\n\",\n       \" 5.6245308816441879,\\n\",\n       \" 5.521229202338322,\\n\",\n       \" 5.6702633627264429,\\n\",\n       \" 5.6416480607131669,\\n\",\n       \" 5.5986566920550347,\\n\",\n       \" 5.6172741720165718,\\n\",\n       \" 5.623086217458237,\\n\",\n       \" 5.6246064977859165,\\n\",\n       \" 5.6653931448466528,\\n\",\n       \" 5.4608227015679969,\\n\",\n       \" 5.3966586488185202,\\n\",\n       \" 5.4289511411185103,\\n\",\n       \" 5.2875078547393901,\\n\",\n       \" 5.2847054810112235,\\n\",\n       \" 5.3373680496133895,\\n\",\n       \" 5.2762810454534268,\\n\",\n       \" 5.2750734296384039,\\n\",\n       \" 5.1959823860369054,\\n\",\n       \" 5.2827342978803458,\\n\",\n       \" 5.4710139571842973,\\n\",\n       \" 5.3300835355799663,\\n\",\n       \" 5.2970530689830815,\\n\",\n       \" 5.2985848476817736,\\n\",\n       \" 5.3305227087546792,\\n\",\n       \" 5.3663885542906495,\\n\",\n       \" 5.3759541957048853,\\n\",\n       \" 5.4322736425101743,\\n\",\n       \" 5.4220898474720185,\\n\",\n       \" 5.3905230414398773,\\n\",\n       \" 5.4458845984162574,\\n\",\n       \" 5.4705876696812235,\\n\",\n       \" 5.3943082767618771,\\n\",\n       \" 5.4052406528858148,\\n\",\n       \" 5.4362040742190922,\\n\",\n       \" 5.4640939263392863,\\n\",\n       \" 5.4051135025701749,\\n\",\n       \" 5.4741070501629476,\\n\",\n       \" 5.3940804759505001,\\n\",\n       \" 5.2765852999039407,\\n\",\n       \" 5.2367939145239086,\\n\",\n       \" 5.3135569615141129,\\n\",\n       \" 5.3711115812887265,\\n\",\n       \" 5.3801967917752913,\\n\",\n       \" 5.3885632691395839,\\n\",\n       \" 5.3309693678326386,\\n\",\n       \" 5.2689932543645357,\\n\",\n       \" 5.3557540160890884,\\n\",\n       \" 5.5215502002634196,\\n\",\n       \" 5.6763469115788743,\\n\",\n       \" 5.6275036264298288,\\n\",\n       \" 5.5790831372201453,\\n\",\n       \" 5.5845116651871987,\\n\",\n       \" 5.5322635927423747,\\n\",\n       \" 5.4275658988016069,\\n\",\n       \" 5.55966343140968,\\n\",\n       \" 5.6129061682784309,\\n\",\n       \" 5.6316581658716416,\\n\",\n       \" 5.6462540778406192,\\n\",\n       \" 5.598136919296274,\\n\",\n       \" 5.6571348286246561,\\n\",\n       \" 5.6359001873908632,\\n\",\n       \" 5.7277202299609788,\\n\",\n       \" 5.6740846350932692,\\n\",\n       \" 5.6799922954066577,\\n\",\n       \" 5.7594643478485308,\\n\",\n       \" 5.7271271693549277,\\n\",\n       \" 5.7967246479761405,\\n\",\n       \" 5.6902957053480048,\\n\",\n       \" 5.7481933912333032,\\n\",\n       \" 5.776096557452461,\\n\",\n       \" 5.7617121849113948,\\n\",\n       \" 5.8393455241629351,\\n\",\n       \" 5.80851365580238,\\n\",\n       \" 5.7061651224700221,\\n\",\n       \" 5.7463001838894643,\\n\",\n       \" 5.8459095214973518,\\n\",\n       \" 5.8129708972445027,\\n\",\n       \" 5.7289537224283746,\\n\",\n       \" 5.7635394830243891,\\n\",\n       \" 5.7798753607785249,\\n\",\n       \" 5.760361358559452,\\n\",\n       \" 5.7352354078773384,\\n\",\n       \" 5.8116352347282767,\\n\",\n       \" 5.8429041999416764,\\n\",\n       \" 5.8151036523615378,\\n\",\n       \" 5.78702086082113,\\n\",\n       \" 5.8210950505819294,\\n\",\n       \" 5.8882420455009639,\\n\",\n       \" 5.8628804827773484,\\n\",\n       \" 6.0480230583435945,\\n\",\n       \" 6.0152743474266623,\\n\",\n       \" 6.0384255844887509,\\n\",\n       \" 6.0212276415691575,\\n\",\n       \" 5.9373441582168853,\\n\",\n       \" 5.9386898388109204,\\n\",\n       \" 5.7265774770612952,\\n\",\n       \" 5.8058124065141357,\\n\",\n       \" 5.8309416828753804,\\n\",\n       \" 5.806825128711198,\\n\",\n       \" 5.8609904639039865,\\n\",\n       \" 5.8103033501851673,\\n\",\n       \" 5.899075710547133,\\n\",\n       \" 5.8957817233608933,\\n\",\n       \" 5.8774063086352131,\\n\",\n       \" 5.8863750678935238,\\n\",\n       \" 5.9047815232695564,\\n\",\n       \" 5.8772748371652774,\\n\",\n       \" 5.9080492770719681,\\n\",\n       \" 5.9553407787211086,\\n\",\n       \" 5.9539213164617859,\\n\",\n       \" 5.9474931006010614,\\n\",\n       \" 5.8824304350302858,\\n\",\n       \" 5.9246357303227732,\\n\",\n       \" 5.9966512718277771,\\n\",\n       \" 6.1830447741650625,\\n\",\n       \" 6.1328495597379868,\\n\",\n       \" 6.1648144070294419,\\n\",\n       \" 6.0655478905435771,\\n\",\n       \" 6.1017832651817727,\\n\",\n       \" 6.1675802992967839,\\n\",\n       \" 6.31166827776266,\\n\",\n       \" 6.3916595515334285,\\n\",\n       \" 6.2929588458907384,\\n\",\n       \" 6.2468526458728455,\\n\",\n       \" 6.2573973153866271,\\n\",\n       \" 6.1080822368652887,\\n\",\n       \" 6.1801817058435908,\\n\",\n       \" 6.1874435542180333,\\n\",\n       \" 6.1350554316167294,\\n\",\n       \" 6.0669973296916986,\\n\",\n       \" 6.0475437364201925,\\n\",\n       \" 6.1625560989227237,\\n\",\n       \" 6.2144637250854933,\\n\",\n       \" 6.1360530433596248,\\n\",\n       \" 6.1616971499738726,\\n\",\n       \" 6.162973598717806,\\n\",\n       \" 6.0741678423814678,\\n\",\n       \" 6.0596716303603868,\\n\",\n       \" 6.0415228476100937,\\n\",\n       \" 6.0584859422238981,\\n\",\n       \" 6.0317058123404124,\\n\",\n       \" 5.9932926460257168,\\n\",\n       \" 6.0560413661011907,\\n\",\n       \" 6.0989702709130871,\\n\",\n       \" 6.2309670013660554,\\n\",\n       \" 6.2005731621493752,\\n\",\n       \" 6.165409758191255,\\n\",\n       \" 6.1311294067934936,\\n\",\n       \" 6.0906456841662697,\\n\",\n       \" 6.1555500785503412,\\n\",\n       \" 6.2323054704055867,\\n\",\n       \" 6.4881160956818604,\\n\",\n       \" 6.6342351373521016,\\n\",\n       \" 6.4570445412912933,\\n\",\n       \" 6.374866042053406,\\n\",\n       \" 6.4308433625467396,\\n\",\n       \" 6.3734370573236641,\\n\",\n       \" 6.403447253121584,\\n\",\n       \" 6.436265969918189,\\n\",\n       \" 6.3590009819059148,\\n\",\n       \" 6.3961207763580941,\\n\",\n       \" 6.1724201549414683,\\n\",\n       \" 6.2769197073061669,\\n\",\n       \" 6.2851321353926437,\\n\",\n       \" 6.3128169127219014,\\n\",\n       \" 6.3081045394587481,\\n\",\n       \" 6.1950091414851673,\\n\",\n       \" 6.1408556719668068,\\n\",\n       \" 6.0633621949316598,\\n\",\n       \" 6.0881970236622189,\\n\",\n       \" 6.1073369206643013,\\n\",\n       \" 5.9588693113440678,\\n\",\n       \" 6.1175907639469376,\\n\",\n       \" 6.1372956140145734,\\n\",\n       \" 6.2946030931079147,\\n\",\n       \" 6.3439360660854538,\\n\",\n       \" 6.2612379585117202,\\n\",\n       \" 6.2581080316719033,\\n\",\n       \" 6.2563896000018691,\\n\",\n       \" 6.2072595691211578,\\n\",\n       \" 6.3080575540291051,\\n\",\n       \" 6.3459910132352366,\\n\",\n       \" 6.3501889363780117,\\n\",\n       \" 6.3105526963978145,\\n\",\n       \" 6.2589070066815893,\\n\",\n       \" 6.2311725027310167,\\n\",\n       \" 6.2194414241635601,\\n\",\n       \" 6.2260806644232733,\\n\",\n       \" 6.064356694106241,\\n\",\n       \" 6.0569670539878011,\\n\",\n       \" 6.0360820200847431,\\n\",\n       \" 6.0306526347561622,\\n\",\n       \" 6.10963306558555,\\n\",\n       \" 6.1197242278900479,\\n\",\n       \" 6.0840258823582527,\\n\",\n       \" 6.0907413639358587,\\n\",\n       \" 6.1439408348711586,\\n\",\n       \" 6.1601605760088054,\\n\",\n       \" 6.0746815738915974,\\n\",\n       \" 5.8478758489596752,\\n\",\n       \" 5.9261799695037238,\\n\",\n       \" 5.9563496161725427,\\n\",\n       \" 5.9888011699820742,\\n\",\n       \" 5.9312195708763165,\\n\",\n       \" 5.9706724129626032,\\n\",\n       \" 5.9933024864740227,\\n\",\n       \" 5.9867673200914338,\\n\",\n       \" 5.8462362349739472,\\n\",\n       \" 5.9601537526648034,\\n\",\n       \" 5.9947582922473552,\\n\",\n       \" 6.003057420843751,\\n\",\n       \" 5.9846443000312544,\\n\",\n       \" 5.9730104266088659,\\n\",\n       \" 5.9523187593356379,\\n\",\n       \" 5.9463690122944595,\\n\",\n       \" 5.9744223995801935,\\n\",\n       \" 5.939786744728857,\\n\",\n       \" 5.9826215361874091,\\n\",\n       \" 5.939582759766612,\\n\",\n       \" 5.9888134963242665,\\n\",\n       \" 6.0360791469381807,\\n\",\n       \" 6.0211579926374652,\\n\",\n       \" 6.0288817551633125,\\n\",\n       \" 6.2414042550326423,\\n\",\n       \" 6.187163845104128,\\n\",\n       \" 6.0519093619819317,\\n\",\n       \" 6.0220627521113963,\\n\",\n       \" 6.1415191929752213,\\n\",\n       \" 6.2190798550543382,\\n\",\n       \" 6.1596585446123315,\\n\",\n       \" 6.3441677016418678,\\n\",\n       \" 6.3298115176501053,\\n\",\n       \" 6.4282979048325384,\\n\",\n       \" 6.424476408727922,\\n\",\n       \" 6.3926797855142894,\\n\",\n       \" 6.3964736095324044,\\n\",\n       \" 6.4309222704303508,\\n\",\n       \" 6.4470428619492104,\\n\",\n       \" 6.597800571524612,\\n\",\n       \" 6.5303882717602022,\\n\",\n       \" 6.5082277797125911,\\n\",\n       \" 6.4270857231766456,\\n\",\n       \" 6.4280481825694959,\\n\",\n       \" 6.4917677985204172,\\n\",\n       \" 6.5034166775764621,\\n\",\n       \" 6.5314044539772151,\\n\",\n       \" 6.4837296606382804,\\n\",\n       \" 6.454390809817399,\\n\",\n       \" 6.4916832355943601,\\n\",\n       \" 6.3007656633067493,\\n\",\n       \" 6.3505162371615906,\\n\",\n       \" 6.3777252483749614,\\n\",\n       \" 6.4000177307712267,\\n\",\n       \" 6.3744653862664533,\\n\",\n       \" 6.3526573477015882,\\n\",\n       \" 6.2204218426367976,\\n\",\n       \" 6.1601168553797816,\\n\",\n       \" 6.1357619573139441,\\n\",\n       \" 6.2557727237074658,\\n\",\n       \" 6.167742089596838,\\n\",\n       \" 6.2587492973828391,\\n\",\n       \" 6.1016104108795437,\\n\",\n       \" 6.1198442383635463,\\n\",\n       \" 6.1495833296504987,\\n\",\n       \" 6.2104622960501796,\\n\",\n       \" 6.3339111604633027,\\n\",\n       \" 6.2809282570745042,\\n\",\n       \" 6.2876242414388512,\\n\",\n       \" 6.2570788764030008,\\n\",\n       \" 6.2033487804901064,\\n\",\n       \" 6.2705460448924306,\\n\",\n       \" 6.2850656101178455,\\n\",\n       \" 6.2239789058183588,\\n\",\n       \" 6.3938717421479074,\\n\",\n       \" 6.5437888896406857,\\n\",\n       \" 6.4274379632568737,\\n\",\n       \" 6.4566503260158292,\\n\",\n       \" 6.5911292572436331,\\n\",\n       \" 6.5176506312491016,\\n\",\n       \" 6.4449942789804293,\\n\",\n       \" 6.5680941377072877,\\n\",\n       \" 6.4967225254631238,\\n\",\n       \" 6.5211041469949542,\\n\",\n       \" 6.5064621824467359,\\n\",\n       \" 6.480709131233116,\\n\",\n       \" 6.4566845587051755,\\n\",\n       \" 6.442262406589645,\\n\",\n       \" 6.4255759662780054,\\n\",\n       \" 6.2656812077390098,\\n\",\n       \" 6.3326998793779747,\\n\",\n       \" 6.3605331189005687,\\n\",\n       \" 6.4384627842288777,\\n\",\n       \" 6.4182529242340722,\\n\",\n       \" 6.3521926479634994,\\n\",\n       \" 6.3548838182060834,\\n\",\n       \" 6.2062493660098026,\\n\",\n       \" 6.1227534193402322,\\n\",\n       \" 6.1735780907244342,\\n\",\n       \" 6.257880580049517,\\n\",\n       \" 6.1715395829319775,\\n\",\n       \" 6.0964155135202915,\\n\",\n       \" 6.0253029706579264,\\n\",\n       \" 6.2279525671036495,\\n\",\n       \" 6.2832281365796092,\\n\",\n       \" 6.2449293342950511,\\n\",\n       \" 6.2961635274504477,\\n\",\n       \" 6.1546491347218293,\\n\",\n       \" 6.1829646029905909,\\n\",\n       \" 5.8795387296098784,\\n\",\n       \" 5.865635708643282,\\n\",\n       \" 5.9808970294014356,\\n\",\n       \" 6.1233726326465199,\\n\",\n       \" 6.1475733627792479,\\n\",\n       \" 6.1234137034614715,\\n\",\n       \" 6.1820172411545045,\\n\",\n       \" 6.110953603406112,\\n\",\n       \" 6.2301473140168921,\\n\",\n       \" 6.2909630759115895,\\n\",\n       \" 6.2296161049651513,\\n\",\n       \" 6.2549459330259936,\\n\",\n       \" 6.2373482726972096,\\n\",\n       \" 6.2483758660354063,\\n\",\n       \" 6.2136703788104803,\\n\",\n       \" 6.2104630252886199,\\n\",\n       \" 6.2273990415426388,\\n\",\n       \" 6.1087535952540319,\\n\",\n       \" 6.1529684320528553,\\n\",\n       \" 6.2322211056114236,\\n\",\n       \" 6.3655802441960807,\\n\",\n       \" 6.3948997516109243,\\n\",\n       \" 6.4151474712194867,\\n\",\n       \" 6.3925188418026853,\\n\",\n       \" 6.3981933492676948,\\n\",\n       \" 6.4473398997059395,\\n\",\n       \" 6.4744905381026641,\\n\",\n       \" 6.5274246800210474,\\n\",\n       \" 6.6117935320756445,\\n\",\n       \" 6.7194849132268351,\\n\",\n       \" 6.9065916735152806,\\n\",\n       \" 6.8569523133756771,\\n\",\n       \" 7.093649832044397,\\n\",\n       \" 7.1146614486597333,\\n\",\n       \" 6.959046564567581,\\n\",\n       \" 6.8971847300462166,\\n\",\n       \" 6.8718920640936894,\\n\",\n       \" 6.8892431482389771,\\n\",\n       \" 6.9093609232819713,\\n\",\n       \" 6.9342292846106615,\\n\",\n       \" 6.9050223003563289,\\n\",\n       \" 6.9568955928567116,\\n\",\n       \" 7.0621991213880539,\\n\",\n       \" 7.0144742262601563,\\n\",\n       \" 7.0902069086374846,\\n\",\n       \" 7.0928409263184173,\\n\",\n       \" 7.1213566373017265,\\n\",\n       \" 7.1094460551202339,\\n\",\n       \" 7.1264856050282752,\\n\",\n       \" 7.1652686399345962,\\n\",\n       \" 7.1338122136285271,\\n\",\n       \" 7.0767649887730579,\\n\",\n       \" 7.1709408285468967,\\n\",\n       \" 7.0153013499499597,\\n\",\n       \" 6.9989558882842946,\\n\",\n       \" 7.0219877913103499,\\n\",\n       \" 7.0231120950138726,\\n\",\n       \" 6.9636665248807326,\\n\",\n       \" 6.9282749508431589,\\n\",\n       \" 6.7439350370019371,\\n\",\n       \" 6.7192000359220172,\\n\",\n       \" 6.6714688249428402,\\n\",\n       \" 6.8086869327901827,\\n\",\n       \" 7.0141874165476148,\\n\",\n       \" 7.2015380502578346,\\n\",\n       \" 7.2104397327448781,\\n\",\n       \" 7.4097307244234658,\\n\",\n       \" 7.4994811937661714,\\n\",\n       \" 7.5383955652596217,\\n\",\n       \" 7.5257598243247159,\\n\",\n       \" 7.4643927526662219,\\n\",\n       \" 7.419925051358887,\\n\",\n       \" 7.4250818221390835,\\n\",\n       \" 7.3873811927391833,\\n\",\n       \" 7.2617188504588261,\\n\",\n       \" 7.3738386857080407,\\n\",\n       \" 7.4131889877389785,\\n\",\n       \" 7.6126550414636469,\\n\",\n       \" 7.5654094819681772,\\n\",\n       \" 7.5157908776454461,\\n\",\n       \" 7.4497562244839779,\\n\",\n       \" 7.493839352409922,\\n\",\n       \" 7.3213402218210568,\\n\",\n       \" 7.3789381935771532,\\n\",\n       \" 7.4106714634786703,\\n\",\n       \" 7.3807416312214471,\\n\",\n       \" 7.3334474425140224,\\n\",\n       \" 7.3750624522642534,\\n\",\n       \" 7.1372007727528706,\\n\",\n       \" 7.1606881584684707,\\n\",\n       \" 7.1803672350699816,\\n\",\n       \" 7.3255470613039817,\\n\",\n       \" 6.9943591433109242,\\n\",\n       \" 6.9732675095448213,\\n\",\n       \" 6.8783565835878377,\\n\",\n       \" 6.98031341771956,\\n\",\n       \" 7.0696330413615396,\\n\",\n       \" 7.1607723114095014,\\n\",\n       \" 7.0449926166276597,\\n\",\n       \" 7.0414901962793346,\\n\",\n       \" 6.9804239710971157,\\n\",\n       \" 6.9562096900860082,\\n\",\n       \" 7.0210273090914965,\\n\",\n       \" 7.09478413240039,\\n\",\n       \" 7.012461803934074,\\n\",\n       \" 7.0590005713322466,\\n\",\n       \" 7.0127664831919914,\\n\",\n       \" 6.9826575725121636,\\n\",\n       \" 6.7550987187868294,\\n\",\n       \" 6.8455421117176369,\\n\",\n       \" 6.8003112684943243,\\n\",\n       \" 6.8145724087410535,\\n\",\n       \" 6.7527017284933013,\\n\",\n       \" 6.7705005164856784,\\n\",\n       \" 6.7455740696794591,\\n\",\n       \" 6.7090450939173296,\\n\",\n       \" 6.8174593561024039,\\n\",\n       \" 6.7561050422959914,\\n\",\n       \" 6.7685896090459821,\\n\",\n       \" 6.7212441360700428,\\n\",\n       \" 6.708807593216064,\\n\",\n       \" 6.7271014922594778,\\n\",\n       \" 6.6292978617777898,\\n\",\n       \" 6.6781841107789504,\\n\",\n       \" 6.6371342050968041,\\n\",\n       \" 6.5761833234625202,\\n\",\n       \" 6.4605090722697485,\\n\",\n       \" 6.4744029638508964,\\n\",\n       \" 6.5284606295299801,\\n\",\n       \" 6.6373386089196691,\\n\",\n       \" 6.7138169997656982,\\n\",\n       \" 6.9934142385080982,\\n\",\n       \" 7.0033428700723244,\\n\",\n       \" 6.9731492025766002,\\n\",\n       \" 6.903985690267298,\\n\",\n       \" 6.7763511117355106,\\n\",\n       \" 6.9286200126673725,\\n\",\n       \" 7.1000447927499133,\\n\",\n       \" 7.09345535511933,\\n\",\n       \" 7.2090938424918161,\\n\",\n       \" 7.3875787563479705,\\n\",\n       \" 7.2690978663524817,\\n\",\n       \" 7.0616455045616044,\\n\",\n       \" 7.2840816049333386,\\n\",\n       \" 7.1494006615636714,\\n\",\n       \" 7.0909212815348575,\\n\",\n       \" 6.9756315987328001,\\n\",\n       \" 7.1271611782983575,\\n\",\n       \" 7.3403473742641054,\\n\",\n       \" 7.2331691094700741,\\n\",\n       \" 7.2989727139133107,\\n\",\n       \" 7.2774514255596436,\\n\",\n       \" 7.1840288370307857,\\n\",\n       \" 7.0735299963138605,\\n\",\n       \" 7.0574518530785344,\\n\",\n       \" 7.0548456751269599,\\n\",\n       \" 7.0500731962669914,\\n\",\n       \" 7.1972686558377195,\\n\",\n       \" 7.3031413984761011,\\n\",\n       \" 7.3132245486697238,\\n\",\n       \" 7.2868563605187724,\\n\",\n       \" 7.1813517379585132,\\n\",\n       \" 7.2056567321774807,\\n\",\n       \" 7.2221203604976587,\\n\",\n       \" 7.303063402287032,\\n\",\n       \" 7.249336357764383,\\n\",\n       \" 7.3215974293986239,\\n\",\n       \" 7.3465744795495835,\\n\",\n       \" 7.2623125996367914,\\n\",\n       \" 7.1832045239247577,\\n\",\n       \" 7.2110622174023407,\\n\",\n       \" 7.2747432344764427,\\n\",\n       \" 7.2988475355933025,\\n\",\n       \" 7.2356259413900874,\\n\",\n       \" 7.3840689407557019,\\n\",\n       \" 7.4877323004681422,\\n\",\n       \" 7.4430426064260899,\\n\",\n       \" 7.547895511610589,\\n\",\n       \" 7.853534332512754,\\n\",\n       \" 7.8830789750244366,\\n\",\n       \" 7.9047336433194486,\\n\",\n       \" 7.8181639151809526,\\n\",\n       \" 7.7530848964388044,\\n\",\n       \" 7.7092626693515918,\\n\",\n       \" 7.7095797684844971,\\n\",\n       \" 7.7309297661935092,\\n\",\n       \" 8.0600143476631736,\\n\",\n       \" 8.0258230337079368,\\n\",\n       \" 7.9327871394336968,\\n\",\n       \" 7.9057457729556697,\\n\",\n       \" 7.9818310553921803,\\n\",\n       \" 8.0143330004230258,\\n\",\n       \" 8.1754728516629527,\\n\",\n       \" 8.7407287580604791,\\n\",\n       \" 8.7995995090737971,\\n\",\n       \" 8.867927942283929,\\n\",\n       \" 8.6887842580518946,\\n\",\n       \" 8.6983989242566118,\\n\",\n       \" 8.6945500631580295,\\n\",\n       \" 8.8441087150870885,\\n\",\n       \" 8.7258164661630744,\\n\",\n       \" 8.8024823054114449,\\n\",\n       \" 8.7787939745095258,\\n\",\n       \" 9.1172342120167613,\\n\",\n       \" 9.2680542237316139,\\n\",\n       \" 9.1650955209006391,\\n\",\n       \" 9.1386373110298855,\\n\",\n       \" 9.1268413609690526,\\n\",\n       \" 9.1291268207320435,\\n\",\n       \" 8.6960030096486172,\\n\",\n       \" 8.4810024645889115,\\n\",\n       \" 8.706283715671649,\\n\",\n       \" 8.5742443320341302,\\n\",\n       \" 8.6031961396124572,\\n\",\n       \" 8.7541019859943603,\\n\",\n       \" 8.8981049343881047,\\n\",\n       \" 9.1199557942662679,\\n\",\n       \" 9.0634315212467769,\\n\",\n       \" 9.0170817804556229,\\n\",\n       \" 8.936251707707612,\\n\",\n       \" 8.8447979331690725,\\n\",\n       \" 8.8924510671958963,\\n\",\n       \" 8.7791685153324366,\\n\",\n       \" 8.8370720416319664,\\n\",\n       \" 8.9438054404963623,\\n\",\n       \" 9.0455691462537509,\\n\",\n       \" 8.9756613136340881,\\n\",\n       \" 8.9782988128879637,\\n\",\n       \" 8.7991923503918912,\\n\",\n       \" 8.8319758268649018,\\n\",\n       \" 8.5466183148245918,\\n\",\n       \" 8.4355524888700018,\\n\",\n       \" 8.3217873270650173,\\n\",\n       \" 8.2988388549950294,\\n\",\n       \" 8.3065803960319577,\\n\",\n       \" 8.4021592910978384,\\n\",\n       \" 8.5870749537099229,\\n\",\n       \" 8.6557881491832518,\\n\",\n       \" 9.0317099927321145,\\n\",\n       \" 9.3410479073250805,\\n\",\n       \" 9.257132790073296,\\n\",\n       \" 9.1141185430142784,\\n\",\n       \" 9.0238654242010554,\\n\",\n       \" 8.9053677378521812,\\n\",\n       \" 8.7573052001405713,\\n\",\n       \" 8.5919558075387883,\\n\",\n       \" 8.5357095650479451,\\n\",\n       \" 8.5705348340574652,\\n\",\n       \" 8.5261801217514801,\\n\",\n       \" 8.455678023573725,\\n\",\n       \" 8.5249425070290421,\\n\",\n       \" 8.5236222570150524,\\n\",\n       \" 8.503959955965918,\\n\",\n       \" 8.4779948267985503,\\n\",\n       \" 8.5056881023953892,\\n\",\n       \" 8.5034824896200227,\\n\",\n       \" 8.4185489627222019,\\n\",\n       \" 8.3965397334449214,\\n\",\n       \" 8.4227469652387406,\\n\",\n       \" 8.6334553104145435,\\n\",\n       \" 8.5475481715345403,\\n\",\n       \" 8.6156735357205285,\\n\",\n       \" 8.4874570101510827,\\n\",\n       \" 8.5989568750146859,\\n\",\n       \" 8.4999619685108208,\\n\",\n       \" 8.4278022041539309,\\n\",\n       \" 8.2926979585328304,\\n\",\n       \" 8.2191610967032283,\\n\",\n       \" 8.2553098502367348,\\n\",\n       \" 8.3580209656298372,\\n\",\n       \" 8.3849307979197505,\\n\",\n       \" 8.5128770984646316,\\n\",\n       \" 8.6936671450390151,\\n\",\n       \" 8.7351396771845877,\\n\",\n       \" 8.9359409027146697,\\n\",\n       \" 8.7476072646596776,\\n\",\n       \" 8.760362013563892,\\n\",\n       \" 8.7813559838988837,\\n\",\n       \" 8.7019480478778419,\\n\",\n       \" 8.5962504827029846,\\n\",\n       \" 8.3097775815425656,\\n\",\n       \" 8.314351872071196,\\n\",\n       \" 8.3332544217005697,\\n\",\n       \" 8.177403143787636,\\n\",\n       \" 8.0370736920569641,\\n\",\n       \" 7.9955316026275227,\\n\",\n       \" 8.1135286130677589,\\n\",\n       \" 8.0999295185881248,\\n\",\n       \" 8.1323977424668836,\\n\",\n       \" 8.353558473235843,\\n\",\n       \" 8.3627913457939798,\\n\",\n       \" 8.2982673496554327,\\n\",\n       \" 8.239889751083922,\\n\",\n       \" 8.2794388368821039,\\n\",\n       \" 8.3151318186046659,\\n\",\n       \" 8.2878949770880226,\\n\",\n       \" 8.3145224376038662,\\n\",\n       \" 8.3217347747334678,\\n\",\n       \" 8.361261606969169,\\n\",\n       \" 8.2482657385797076,\\n\",\n       \" 8.1191631477612169,\\n\",\n       \" 8.0100525958385624,\\n\",\n       \" 7.9554902189860819,\\n\",\n       \" 7.9742993581720665,\\n\",\n       \" 7.8767152934545601,\\n\",\n       \" 7.9164994418923085,\\n\",\n       \" 7.9365820129852329,\\n\",\n       \" 7.9045451847957189,\\n\",\n       \" 7.8760165254064036,\\n\",\n       \" 7.7042965921734918,\\n\",\n       \" 7.6322132401307998,\\n\",\n       \" 7.4676383587877524,\\n\",\n       \" 7.5858334540930628,\\n\",\n       \" 7.5291781811296907,\\n\",\n       \" 7.6096179559688855,\\n\",\n       \" 7.630509550688771,\\n\",\n       \" 7.6094201957988741,\\n\",\n       \" 7.6641815079352149,\\n\",\n       \" 7.6848412585378814,\\n\",\n       \" 7.8911170276009788,\\n\",\n       \" 7.8190718466675859,\\n\",\n       \" 7.8330305627793999,\\n\",\n       \" 7.9387218052772308,\\n\",\n       \" 8.1745324941517552,\\n\",\n       \" 8.384695869685924,\\n\",\n       \" 8.3652442732570798,\\n\",\n       \" 8.398681958037912,\\n\",\n       \" 8.2744982214506173,\\n\",\n       \" 8.1104570473939859,\\n\",\n       \" 8.0677158919087297,\\n\",\n       \" 7.9424607383238817,\\n\",\n       \" 8.0678176000176194,\\n\",\n       \" 8.0501612723240346,\\n\",\n       \" 8.1853794404798172,\\n\",\n       \" 8.2151225058013857,\\n\",\n       \" 8.246360084538626,\\n\",\n       \" 8.1941068591003763,\\n\",\n       \" 8.4321177951631796,\\n\",\n       \" 8.4877223086359805,\\n\",\n       \" 8.4042422357193338,\\n\",\n       \" 8.3366053381759251,\\n\",\n       \" 8.4219905782303037,\\n\",\n       \" 8.397206008853054,\\n\",\n       \" 8.3405830860297705,\\n\",\n       \" 8.3534836349673398,\\n\",\n       \" 8.3344084410325863,\\n\",\n       \" 8.3679514733665776,\\n\",\n       \" 8.2150060140943069,\\n\",\n       \" 8.2782100074905181,\\n\",\n       \" 8.0397544097686939,\\n\",\n       \" 7.8083451503724639,\\n\",\n       \" 7.7759904510853541,\\n\",\n       \" 7.7659556863017114,\\n\",\n       \" 7.8816910861271836,\\n\",\n       \" 7.8284873779591297,\\n\",\n       \" 7.7491053833361532,\\n\",\n       \" 7.7384166631877536,\\n\",\n       \" 7.7749151618182237,\\n\",\n       \" 7.6598817571314335,\\n\",\n       \" 7.7044720656557004,\\n\",\n       \" 7.802719627179008,\\n\",\n       \" 7.826875388505754,\\n\",\n       \" 7.8818001021853403,\\n\",\n       \" 7.8003511199652689,\\n\",\n       \" 7.857051034205834,\\n\",\n       \" 7.7864747767375251,\\n\",\n       \" 7.7862678309626165,\\n\",\n       \" 8.133128993505311,\\n\",\n       \" 8.2698183444256976,\\n\",\n       \" 8.4167558575348203,\\n\",\n       \" 8.383077049640633,\\n\",\n       \" 8.3904754222121767,\\n\",\n       \" 8.1992277975189083,\\n\",\n       \" 7.9908745958752458,\\n\",\n       \" 7.7943533392336741,\\n\",\n       \" 7.8640805782897685,\\n\",\n       \" 7.7894779972708088,\\n\",\n       \" 7.709607920105328,\\n\",\n       \" 7.8026737473801102,\\n\",\n       \" 7.777483277159015,\\n\",\n       \" 7.8719721434556789,\\n\",\n       \" 7.9582558942923693,\\n\",\n       \" 8.1224926189577289,\\n\",\n       \" 8.0170409399506521,\\n\",\n       \" 8.0704090637939032,\\n\",\n       \" 8.079237085478379,\\n\",\n       \" 7.8730172640258562,\\n\",\n       \" 7.958210582937153,\\n\",\n       \" 7.8145807161893641,\\n\",\n       \" 7.7035187304274677,\\n\",\n       \" 7.5795677889528887,\\n\",\n       \" 7.5396208640973876,\\n\",\n       \" 7.653805772717047,\\n\",\n       \" 7.3691106847887298,\\n\",\n       \" 7.5347701137935541,\\n\",\n       \" 7.6050346596434109,\\n\",\n       \" 7.4913792400688708,\\n\",\n       \" 7.5104684964167978,\\n\",\n       \" ...]\"\n      ]\n     },\n     \"execution_count\": 52,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Put all 7-days-ahead predictions into an array\\n\",\n    \"predictions_800_7thday = []\\n\",\n    \"for array in predictions_800_off:\\n\",\n    \"    for week_prediction in array:\\n\",\n    \"        predictions_800_7thday.append(week_prediction[6]) \\n\",\n    \"print(len(predictions_800_7thday))\\n\",\n    \"predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 53,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Prepare dataframe for visualisation\\n\",\n    \"# There are 7000 predictions\\n\",\n    \"bp_final_predictions = bp_ftse[800+6:806+7000]\\n\",\n    \"bp_final_predictions.loc[:,'7d Ahead Pred'] = predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x1198f63c8>\"\n      ]\n     },\n     \"execution_count\": 57,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAXcAAAEZCAYAAABsPmXUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8FVX2wL/zSl4agYSEEggdLkgRRBBEafZdXV1d2667\\nrr1jL6uuXde+P3tbxbr2tWxBLKBiA6RJvXQIhBJCCOl57838/phX8+a9vOSFJC+5389Hmbn3zp0z\\nk3lnzpx77rmaYRgoFAqFon1ha20BFAqFQtH8KOWuUCgU7RCl3BUKhaIdopS7QqFQtEOUclcoFIp2\\niFLuCoVC0Q5xtLYAjUUI0RfYBHwrpZxar24mcC6QK6Xc24g+/w28L6V8PUabKcDTUsqRFvJsAH7x\\nFWm+f5+UUs6MV4aG5BJCLAamSin3R2mbBXwkpTzKtx+zfVtECPEf4AYp5ZomHHsocIGU8jKLuq+B\\nPsA+TIPGCbwjpbzXoh5f/c/AZVLKmijnOwn4BDhLSvleIvLFixBiE3CalHJxlPrHgCuB/lLKohj9\\nlAPDgTzgZinlGU2U5wLAKaV8vpHHLQeukFJ+a1E3DLgXGAQYmH+T26WU3/t+ayuklJ2aIm8j5JsJ\\nHAPs9smQAqwHLpJS7rFo3+Tn9kCSdMrdRw0wRAhRIKUsBBBCpAOTMP8YB4pofVdJKQ/x7wgh8oEV\\nQoiFUsoVzXHi0P6jkAOMa0T7NoeU8sQEDh8B9IpSZwDXSyk/gsCLcLUQ4ksp5Y+++huklP/yHyCE\\neA+4B7gpSp+XAm8C1wANKvcG5EsYIYQL+CPwPnAV8JcYzQ0AKeUioEmK3ccRwPIEjg9DCCGAL4Fz\\npZRf+sqmA/8WQkwCqjiwv+9QHpdSPh4i26PAc8Dp9Rsm+NweMJJVuXuBd4FzgL/5yk7FtKSu8zcS\\nQlyM+aB7gF3AVVLKdUKInsBrQE9gK9At5JihwBOYytKOaYG/2hjhpJRFQoh1mC+gscAFQAawT0p5\\nlM/iuQzTyi/xySUbkEvH90UihPgL8CfADawDzgNeAdJ9Fvuhvmv2t/8rcJav/VrgSinlbiHEXOBH\\nzJdiH2CelPJPQgg78JSvvA7YCJwnpawKvU4hxATgIUzLpifwpZTyQl/dn4GbMX+Qc4GrpZROIUQ3\\n4AXftfUAtgBnSCn3+C1ToBNwv++8I3z9XyGl/EYIcQTwGKYFbmD+/RcCdwNZQoiXpZQXWPxZtJDt\\nzr5jiy3/gCZzgROsKoQQA4CpQF9gjRDiMCnlfF9dRsi9c2M+k8+Fyge8TshXYOhXYaz7E0NWgLMx\\nrcvHgS+EEHf7vzqEEEcCTwI65heJzeK8M4HlfoUWui+EuAy4BKjFNKwuAYYCvwGOFkJUSymfE0Lc\\nivk7tAGbgcullDt91vgrQBoggfQo13Az8IpfsQNIKecIIc4Gquv9DRy+az0K81mfD1wrpay0kldK\\nucZndD0NFBD8enuwgfvq5yvMZ93/BTUfGAncBvwd3xeVEOJ8TB3kAfYAf5ZSbhNCnAjc7jtvFXCj\\nlPIn3wvtZcCF+Yy+LKV8Lk6ZYpKsPncD8wdyTkjZuUDADeJ7498ATJFSjgHeBj72VT8L/Oj7cc3A\\nfFDxKbUPMD9Vx2H+gG8UQoxvjHBCiInAQMwHAOAgYLJPsU/GVMxHSCnHAo8AfovRUq6Qa0YI8Rvf\\n8YdJKUdhuqiuwFTwVVLKQ6SUekj784DjgLFSytHASswXiJ8BUsopmA/qdN8PfiKmS+dg333YCIyy\\nuNSrgL9KKSdifub/RggxxvdjfhCY7rvG/QSftbOAH6SUk6SUAzF/tH+06Hs88IjvC+QV4C5f+V3A\\nYz65LvCdYxtwB+bLyUqxAzwihFgshFiB+UL8Ukq53qqhECIbOBOYE6Wvi4H/+BTu25jWu597AJeU\\nUgBjgMOBARby1bdA/fvx3p/6XAq84XPZFGH+HhBCODG/LK71/S3mYirZ+ue1RAhhw1Rex0kpDwNe\\nxHx2PwY+Bf7uU+x/xHyGxvv+ZrMwlRbAW8ALvufvCcyXohWHAt/XL5RSzpZSbq5X/FdMg2KklPJg\\nTEPskWjy+o55A1N5jgMOA44RQvwu1vX77kEa5m8u9HlYLqUc7rsP/najMJ/7Y33X+ilwqxBiEPAA\\ncILvb3AJ8C9fvzcCn/pk+jVwZEPyxEuyKneklEsA3adMegOZUspVBC2044B3/b53KeVrQL4Qoh/m\\n2/5VX/kGgn+0IZhK+RUhxBLgGyAV80cai3Sf4lji8yfeD/xeSrndV/+LlLLSt/1r3zl+8J3jYaCL\\nT6FEkyuUozD98Pt97W6QUv7Nop2f44GZIb7jJzCVuP+r7d++fiowLb8czE9tjxBivhDiHuBfUsqf\\nLPr+M5Dt+5J4FlNpZGLe+9lSyh2+dk/5D5BSPgn8KIS4VgjxLOZLIdOi7y1SSv8n/2KfXGAqqmeE\\nEG8CY4FbY1x7KDf6XnwjgO5AfyHEzSH1fuW/FPO+f4tp7YYhhEgBzsc0LsBUGKcJIfwul6PxKTUp\\npVtKOc3KtxyNRtyfUJkOAUYD7/iKXgeu9m2PBOqklF/7+n8HKG+EPDrmPf9RCPEU5ov6ZYumJ2Iq\\nzEW+5/pKYLAQIgfTMHjD198PmAaGFTrx66Tjged98oH5jJ0QTV6f23YKcK9Pvp8wLfjRUfq/zv+b\\nxjTS9hD+rM2zOOYo4DPpG++QUj4ppbwc03/fA/jK199bmJb9IOAj4CYhxIeYXz0z4rz+BklWt4yf\\nNzCtmmLfNgQtEauHRMO8Zp3wz3SP7187UFrPf94Nc1BnYgw5wnzuFlSEbNsxLayAT1QIkS+lLPW5\\nXqzkol5ZwNoSQnQGusQ4d/37YMe8B/7zhH7uGoAmpSwTQozGtDqnA+8KIZ6QUj5Rr6/vgCXAZ5g/\\nqMN8/Xrqndf/A0QI8RCmhfYKphJ1En7NfiLkApBSviiE+BQ4FtNtcpcQYqTF8VHxXd87mArpIV/x\\njaE+9xicAWQDT/uUh4Z5fVcBtxD59+mN+RkeSuB6fKSEtI/3/oRyOaYLaJH5lY8D05A5HtMdWf94\\nr0UfUWXyueoOwnxx3Yz5xXRKvePtwENSyhd81+HEvE+GRd9WzzWYLsKJwP9CC31uxfXADyHFVs+1\\nM4q852Na3gATpZS1vn67Us/dE0KYz92CCouy+n/7VMyvFDvwlZTy7JC63sB2KeVyIcRgzBfAUcCd\\nQoiJUspNMc4dF8lqufsflDcxBzjOAP5Zr242cKYQIhcC7okS36f4Z5if1ggh+gDTfMdIoEYI8Qdf\\nXQGwAtNCjEeeePgcOFsI0cN3jssx/XnEkCv0HF8Cpwoh/NbcXcC1mA+Ww6L9bOA8n+UCpmXwjZTS\\nHU1AIcSvfTL9KKW8B9MSPLhemy7AIZgurI+B3piWiN13zqOEOYYAcGHIoccC/yelfAvTGjrGd0xc\\nCCG+Bw6RZmTTJZj+82zf9Tvj7MOJqdjnN9TWgsuAe6WU/aWUA6SU/X1lF/nu8ZfAuUIITZiDnB8A\\nk33y+RVmMdBHCJErhNAIV5SNuj++v8NZwK998gyQUvbBtA6vxfwK03yK3u/WszIGijFfKvh+M0f6\\ntrsKIbZi/naexPQb+110ofd8NnChEMIfyXIfphFTCizC9wz4vjKivYwf9fVxdMj1HY/5zC6t13Y2\\ncKkQwuFzxVwOfB5F3oOllOWY1voNIffte+DkKLI0hbmYYxDdffuXYhoPXwHH+vzrCCF+BSwDUoUQ\\nbxGMuLoCKMP8okiYZFXu/tH+ImAVsFZKua9e3ZeYvrc5PlfJHzF/0GB+Mg4XQqwEXsK0PvEpvJMx\\nH7BlmMr2NmlGVDQoTzxIKT/H/IN/4XMBnAX8NpZc9a5rFubYwg8+GbtjDursABYLIVb5PoX9Mr2M\\nqXAW+PodTXCsIprf93+YL7UVQoiFmNbUXfWuYx/mYOYSIcQCTAvpO2CQlHId5qDS5766oQSt13uA\\nx3z9foD5eTsoijxW3ATcI4RYhPmjuUtKuRXT6hvq+7y1wu92WYyp8DZj+kHjPa/fp3ow5qBcKK8D\\npZh+7rswrehlmErtP76X349mF+JDKeVqTF/wIkxrNDRssbH350/ASgvXz32YxsEQzJfHfb5rPwUz\\nxK8+T2Fa+6sxv4LnAkgpSzBDE+cIIX7G/Jv7xw1mATOEEDdLKV8C/gv85Pu9jcB02wH8HtOgWYb5\\nrK6yOL/fFXki5jjXUl8/NwIn+u5Z/evbian0V2IaNtc0IO8fgAlCiF8w/x5vSSnfthCloefB8ncj\\nzci4G4HZPvfLscClPtkvBt7xld8NnCSlrPbJ+ocQV9G/GuPGi4WmUv4qmhthjmv8yWf1I4T4LXCT\\nb+BV0UbwWfF/UX+X9knCPnchxC2YIVFOzEG1bzEHBXXMCQdXJHoORdKxDdMKXIH56b4P0++paCMI\\nIa7AtKL/2tqyKA4MCVnuwgybu05KebIw43tvwPTDPiqlnCeEeA5z9PiT5hFXoVAoFPGQqM/9OEy/\\nrD/m9T+Yg13+MKFZmCPWCoVCoWhBEnXL5GLObDwRc6LGp4S/MMoxoxkUCoVC0YIkqtxLgNVSSg+w\\nVghRgxkS56cTwWRMUTEMw9C0xkQTKhQKhYIYYdiJKvfvMGNQ/y7MvA0ZmLOwpkgpv8GcZBJtCndQ\\nOk2juDjuSXNtjry8Tkr+ViSZ5U9m2UHJ39rk5UVPkJmQcpdS/lcIcaQvllnDnMyxGfiHb6LIasxY\\nXYVCoVC0IAmHQkopb7EonppovwqFQqFoOsk6Q1WhUCgUMVDKXaFQKNohSrkrFApFO0Qpd4VCoWiH\\nKOWuUCgU7RCl3OPgrbde4+STj8ftjkyB/vHHH/L000+zd28Jjz/+kMXRQTZu3MBNN13D1VdfxkUX\\nncsrr7wIwJIli7jzzngXFFIoFIqGUco9Dj7//DOOPvo4vvxydtQ2OTldue66m6PWV1RUcPfdt3H1\\n1TfwxBPP8eKLr7Jx43o++cRc/EfN0FUoFM1JUiyz996c9SxcY7W+QNMZN7QbZ0wf1GC7JUsW0bt3\\nb0455TTuued2TjjhRJYtW8qTTz5GVlYWNpud8ePHsnPnDu6881ZeeGGmZT/z5n3N2LHj6NXLzM6g\\naRq3334PDoeD5cuXBdp9/vks3n//bVJSXPTuXcBNN91GUdF2HnjgbhwOB4ZhcOed95GX140XXniG\\nX35Ziq57OeOM3zNtmsrRplAoTJJCubcm//nPx5x44ikUFPTB6Uxh1aoVPP74gzzwwKP06tWbRx99\\nMNA2lvW9Z88e8vN7hZWlpqaG7e/fX8Yrr7zIq6++TWpqKk899Xc+/vhDNE3joINGcPnlM1i2bAkV\\nFRVs2LCeHTuKeOaZl6irq+OSS/7M+PETyMiIuZayQqHoICSFcj9j+qC4rOzmpry8nB9//IHS0n18\\n8MG7VFZW8uGH71FaWhqwwEeNOpjS0oa/Knr06MHatTKsbMeOInbv3hXYLyraTv/+AwNK/+CDx7Bw\\n4XxmzLiON998leuuu4pOnTK5+OLL2bhxPWvWrGbGjEsxDAOv18uOHTsYNGhwM94BhUKRrCifewxm\\nz/4vJ554Mo8//hSPPfYkL744k4UL55OamsqWLZsBWL3acjnICCZNOpIFC35k+/ZtAHg8Hp566u9s\\n2rQh0KZnz3w2b95IbW0NAEuXLqKgoA/ffvs1Bx88hieeeJapU4/irbdep2/f/owdeyhPPvk8Tz75\\nPNOnHxN44SgUCkVSWO6txX//+yl//es9gX2XK5WpU6eTk9OV++67g4yMTNLTM+jRIzfsuHfffYve\\nvfswadKRgbL09Axuu+0uHn74fgzDoKqqiiOOmMwpp/yOJUsWAdC5cxfOP/9irrzyEux2O7169eay\\ny2awe/cu7r//LpxOJ7quM2PGdQweLFi8+GeuuOIiqqurmTx5KmlpaS1zYxQKRZunrSyQbSR72s3F\\ni1fy0EP38fTTL7a2OI2mPaQ9TVb5k1l2UPK3Nnl5naIO9Cm3TDOwa9cu7rnndiZPntbaoigUCgWg\\n3DLNQvfu3XnppddbWwyFQqEIoCx3hUKhaIco5a5QKBTtEKXcFQqFoh2ilLtCoVC0Q5Ryj8KsWf/h\\nqqsuYcaMS7nkkvM46qhJVFZWhLX5+OMPmTnzJcvjrTJJXnXVJWzduqXZZLzkkvPYuXNnWNkDD9zN\\nueeezYwZlzJjxqVceeXFbN68qUn9n3zycc0hpkKhaAVUtEwUTjjhRE444UQAHn/8IU466eRG5W0J\\nzSTp76eluOKKqxk/fgIAP/30Ay+99Cz33/9IE3pSmSoVimQlKZT7v9b/hyW7lzdrn2O6jeTUQQ0r\\n3TVrVrF586ZAOt/6GSFHjBgZcYxVJkk/r7zyIqWle6mpqeGuu+6nZ8/8sOyOZ575B6ZOPYqlSxcz\\nc+ZLGIZBdXUVd955P717F/DCC8+wcOF88vK6UVZWZilz6MS0/fv3k56ewc6dO7jppmvo0iWbCRMm\\nMWHCRP7v/x4FIC+vK9dffyupqWk8/PD9bN68ifz8Xpb56xUKRXKQFMq9NXnjjZmcd95Fgf1oGSFD\\nqZ9JcvXqlQwbNhwwc8wcc8zxvPLKi8yd+xUDBgykqGh7WHbHceMOY9Omjdxxx7107ZrLG2/MZO7c\\nLxk3bgLLly/jH/94naqqSs4++1TL8z/33FO89dZraJqNvLw8Lr98BnV1dZSWljJz5j+x2+1ccsl5\\n3HrrnfTt249vvpnNm2++xpAhAre7jueff4Vdu3by9ddzmv+GKhSKFiEplPupg06My8pubioqKigs\\n3MqYMWMDZfUzQvoTgfmJlkny9tvvBkCIoYC5uEdp6V42blyPlGsisjvm5eXx978/Qnp6OsXFuxk1\\najSFhVsQYhhg5qrp33+gpdyXXz4j4Jbxs3PnDnr2zMdutwOwZcsmHnvMfDlpmkH37vmkpaUHXkLd\\nu/egW7fuCd0/hULReiSFcm8tli5dzNix48PKcnPz2Lp1M3369GP16lVkZWWF1fszSV5++QwAamtr\\nOOOMk9m3b5+vRbgf25/d8cYbb8UwDF577WXy83tx7bVX8N57n5CWlsb999+FYRj06zeAjz76AIDq\\n6upGD5SG5pvv06cft99+N926daewcB0bNxZit9v54ovZ/O53Z7FnTzHFxbti9KZQKNoySrnHYOvW\\nLRELbNx441+4995gRsj6yt0qk+SUKdP5978/slzMY9KkIyOyO6anp3Pccb/i8ssvIC0tnZycHPbs\\nKWbw4CEcdthELrzwT3Tt2pWcnJxGXU/o+a+//hbuvfcOvF4vLpeT66+/ld69C1iw4CcuueQ8unfv\\nQXZ24/pXKBRtB5UVshloB5nllPytRDLLDkr+1kZlhVQoFIoOhlLuCoVC0Q5J2OcuhFgE+AOuNwEP\\nAK8COrBCSnlFoudQKBTJh64b2GxqIlxrkZDlLoRwAUgpp/v+uwB4HLhVSjkFsAkhTm4GORUKRRLx\\n4TcbuPDhuZRV1rW2KB2WRC33g4EMIcRswA7cBhwipZznq58FHAN8kuB5FApFEvHfH80cSuu3lTFW\\n5LWyNB2TRH3uVcAjUsrjgMuAtwgP5C4HOid4DoVC0Y5YtXkvpeW1rS1GuydRy30tsB5ASrlOCFEC\\nHBJS3wnYZ3VgffLyOiUoSuui5G9dkln+ZJYdrOXXUqqwZe0lK+vQsPqSsmoefWcpKU47Hz7Y8rPO\\nrUj2+x+NRJX7+cBI4AohRD6QBXwuhJgipfwGOAGIK0FJkseaKvlbkWSWP5llh+jyu0b8gObwsLZ4\\nJIOLgxP9tuw029a5vW3iutvD/Y9Gosr9ZWCmEGIeZnTMn4ES4B9CCCewGvggwXMoFIokQ3N4AKjV\\nq8PK9bYxabJDkJByl1K6gXMsqqYm0q9CoWif1Lm9rS1Ch0FNYlIoFAeM//20leUbSwL7bo/eitJ0\\nLJRyVygUzcr67eGLyHyxsDCw7dENQLlmWgKl3BUKRbPy7bKiwLZryGJWhqx5UF1XQ9r42TgK1rSG\\naB0KpdwVCkWzUqWVhO07+65m594qAFaULzbLem5uabE6HEq5KxSKZmV9yhdh+/bsYiqrzfV407Qs\\nq0MUBwCl3BUKRcK4PTrrt5dhGAbZ3v4R9YZmRslsL65oadE6LEq5KxSKhHnzi9X87f1vmL9qF4YR\\nGRFT6TUnCtUfbFVYoxsGlTXuhPpQyl2hUATw6l5Ka+LKGBLGj3u/IXXUd/zju7k4nJH1ul/h21Sc\\nezy8P3c9V/3fvMCM3qaglLtCoQjw8sq3uP2HB9hZubtRx/kHSF2Dl5CSEpnD3e01lXrKgBUJy9gR\\nmL1kHfbum1m2oXF/h1CUclcoFAGWFZvKd/XuzU3uI8vWNaLMo3siyvZXqVzv0Ugd8T0pfddQ6F3V\\n5D6UclcoFAAUle8KbBfuabxrJoARqVbc3kjl/sv6kogyhYnmNP3te6ub/ndQyl2hUADwxeplgW1N\\nt3Ccx4FL74TXiPSre/TIsm+Wbm/SOToS28uVW0ahUCSIFqIOXPaUJvWR7s1j6+7IiJg63bREDa89\\n8O+Gov1NOkd9dpdW4fa0n4FajzcYbWTP2RWjZWyUclcoFADYNXtgO6Vpup2qWjdlenFE+ZJ9880N\\n3UxEq9m9aK7Kpp0khN37qrnlhZ947J2lCffVVrj4ka+bpZ9E87krFIp2go2gcq/1Ni3Gus5WgT2n\\nNKLcoZluHs0ZXF7P0X1rk84RyjxfHpu128yvBV03sNkio3WShVq3F7TmyZypLHeFQgGAQVCp1Hni\\nV+5GyAIchrPKsk2BaxAriwrDyhw9tjRSwkg27dgftn3hw3P5+3vLYhzRtnn3q3XYMsMHUY0mLnCi\\nlLtCoQBAJ+i3rvO641YqNZ6QkMYQy/yqYTM4NO1YALyGl93lCUTgRGFQr874Uwj/88u1AGH545ON\\njTv2o6XUhJX55wg0FqXcFQoFQFiUi1v3cOd7/+Oad15t8Lj91dWW5S5nCnabzde3TpW7xrJdItQZ\\nvhTCvSW6VodzwC9oacm3Jurmnfv5dlkR3bPTcXTfHFZXWVtrfVADKJ+7QqEATIXup8S9i5K8dQBU\\ne2pIc6RaHlPlruaenx+wrEt1pGDXTOW+YP9XdK3q0cwSwxbddME48zdRuN2GM7cIe/Yu4ORmP9eB\\n5J5Xfw5spwxOBfZj6DY0m06lu4ZsMhrdp7LcFQoFABt2BaNcirzrAtteixh1P6//9FnUOpfDid0W\\nHKQt8eyMaKPria3KVORZH9i2ZZj+d82e3GGRerWpyNMMMz1yVZ31l1FDKOWuUHRwnln4Fv9Y9AH7\\naqzdGdEGV726l2W7l0ft12m3Y9MiVUx6SE73XaXWA7ANYRgGn363Cb20e6DM3iUyBDPZcNht4Av2\\nqa0xN+auaVoKAqXcFYoOxlurP+DfG2YH9leVL2NJ2QJyc6xnpT639A1+KFrA55vnhg2yvrD0TUo8\\nO6KeJ8Vhx2GLVDGZ9s6B7aYa7huK9vPxd5vCB3PbAR6vjrPnJnPbbX71/OL5Ek8TBlWVclcoOhC6\\nofPDjgV8tuWriDq3bq0oi2oKeWvNB3yycRZ/+e5eqtymm2DlvpVRz+Pdl4vT4bC03HulDAjK00Tt\\n/u6cdWipFc0SK9/ahEclBcNRO6WmB7aXFG5odL9KuSsUHYjZaxdErXPTcFRGubuCxxc/B4DmTova\\n7pETZmDTNEvLvVwPhirurYmc8BQPpVVlpI76LrDvT2sAoNV2alKfrYXbE1TooWGQPToH3VcLS+Y3\\nul+l3BWKDsSGkvCJROtLgsm7apzxJanaUWkOjKZV9Y3aplOaGV1jt1TuwXj3qrqmhUd67OGDjKGD\\nqFoSqbWqGg+XPvZNYN/ZL+hfr9ODL9vNJY0fT0ieu6BQKBLimy0/sbpmYVjZP+dELp7h3ds9osyK\\n7l3Cw/P0qkiLWbNIBVBRE1RaNY2YCRtKVUpRjNrEInBakh9Xmi9KW6e9OArWgC1oxdd4gvcppTz6\\nizQaSrkrFB2E9zb8K6LMKm97dqZ1THt9NhmLAtt6ZRa29MhoG7tFmpdeGfmB7domDog6uhVGr2ym\\n3Cwtwdwl5peTa9gCczUrw7xh0wqO4IzhJwTa5fVs/EQmpdwVig5MVqdIFWALyQ4ZDzUrJlK78nDL\\nOk2L1O7H95vOYNcYAPZWNDEzpBbdOjeSxHL36jpFe+pdv+/FNCn/MA7KCw48r61pfNZLpdwVig7K\\neytmU5Mf7qapXXsItihqwb19IHq1GcFx2/f3B8pHDcjjHzdPszzGyufeOTWTyhrTYv9u36wmyY4j\\nljsnOZT73TN/jiizZ5kDzCk2J5qmYXM3fmaqn2ZJPyCE6Ab8DBwNeIFXMWN6Vkgpr2iOcygUiubl\\nm92R4ZAH9erOHm2P9QFeB7Y0c9LRvtrgghxnThyDTdNMl0I9i9rKck9NcVLm3QsO0FKa5pbR2oHl\\nvq24AsAyF47Tbs45MLTI5QnjJWHLXQjhAJ4H/FPNHgdulVJOAWxCiORK8qBQdGAOH96LMod17Lhh\\nsTaqd18udruvfH+3uM6R5nTiILgaSFNT2kYlhuJva9gyS0kd+X1EuX/hlB4VRzS97yYfGeRR4Dmg\\nCHPi7CFSynm+ulmY1rxCoUgCnPbo/vbRg7pGFuo27L6ImOx0M1rG77oB8HojBzedTluYcl++a11E\\nm1josV4GRuB/SYEt0zrOP8Np3kNXbfCFabUObcy+my4WCCH+DOyWUn5BICNCWJ/lQOf6xykUirZJ\\nLOVerkWu52kYdnKyzOianu7RePfnkLHrsEC9zcLnbtM0hvfqFdj/YXP0ma5WeDwxomF0J8mg3H9Y\\nsQM0L84+a2O2W72lFO++XADqGhlZlKjP/TxAF0IcAxwMvA7khdR3AuLK0J+Xl1yzyuqj5G9dkln+\\nlpLd0DU0m7Xiq5Vj0VzVDJnaD0L0TfWC40gbb+ahcaU4oZ5+ycvKDMh/2uSDWfRsBeeePSZQ1nNP\\nLmyrd0xeJ/484Td8+8nXACyv+pG8vD/FfR2zFq4ObN89/TrunPN4YN9upODV6hp1T1vj2Vm5ZTWu\\nUfOi1vtLVmGaAAAgAElEQVRlOmpcAfNKlwCQ0dlJbmb8siak3H1+dQCEEHOAS4FHhBCTpZTfAicA\\nc+Lpq7g4+RLs+8nL66Tkb0WSWf6WlD2aYgdwVnWntkxH83rx7C7A0a0Q0/sRHBCtro50CzhtzoD8\\nPbJcvHTTVOw2W6DMUZtB7brR2DLKcOabCbGsrjfee1BR7ealHz7B4UsN76msN2CrOzBstXH311rP\\nTkVlHbZc69m5XVOzAzKdekR/vv3Y/JqSm3djdA9X2bFeTAdisY4bgJeEEE5gNfDBATiHQqFoBMuK\\n1sesf/a6KcHIlm0jqdlVwMTBAzn/5hFcNdfM2d5J74FeVRQ2WclhC1ch9UMfUxw29NIeaDFDF+Pn\\n5f+uDFt7tVt6XmBRCwANLfR91GbJSIvu/rp53NWB7TSXA3TzHm/ZXcqQ7vnRDoug2ZS7lHJ6yO7U\\n5upXoVA0nqKKnbh1N32zCgB49tv/4YgRzBIasjjjtFG8PnsNp0wahE3T0GvSsaVWMSRjJEsW2bB3\\nLiFl4C+AabnHoqBbJidM6ENJZWeWsxKjzpXQdf2ybSupOea2y8g0s056nJDin8GpkQw+d3fmtqhi\\n+gdT/Ri6+cJ0pDTuutQkJoWiHXL/gsd5+OenAvuObkHHt3vrkJjHDu+fw0OXHk5uZzPr43Gd/kj1\\nz0dzzKEF4HHhLQlaj44YA7BgvjROnzqIIw7qR/WC46hZGpzsNCBtWKOuCSC1/5rAdo7Rz3eSkPMR\\nGWvfFtllWKfw7eKKjD8Z1NN8m31U+C57q8zVpn4sWsi87T/FPIdS7gpFO8arR0aWHC76N6qPU44c\\nyCs3HYvNIglYFXvj6mN4vxyOGlvATWePCZR1dwSTYf28K77p9aHjiUGXkKnMu9DLVO5JYLl7jcjJ\\nSZPyD+OeibdElO/FnHfgtdXy15/uQzd03lzzPu/IyFxBoSjlrlC0Y1bvKmTr/u1hZRlpzTfUlmKL\\nz82iaRp/OGYIQ/tmB8o6pQTdDzNX/jOufnK1foFt/+Lbfks9zehMda0OmkFpeeMTbTVEc062chjh\\nydmO6zudkweeELbmrJ/9nrKw/U3F8aX/VcpdoWhn1LqDg5cvL3ubD5YHA9Z6O4aQgqlU9dpUauVY\\nalZYJ/2yIs0V/mKoqGi6wjtm2OhGHxO6clOdYUabOB3mF0Vu5zRs6fvRNNhUVGZ5PJipdGs8NWwq\\ni38Vp7dWf8CVc29mZ2V8Oe8bwmWER7n8ZuDxEb52P3Wbhoftzy78PK5zKOWuULQzdpQFFVtdyl72\\nVwaV/RUTzmRc72HUbRjJ0Lpfo5flkRNrpLUeN5w1monDewQLjMZlkAwlPSUVQ29caEuoO6MIc2GL\\nXw84CoCjBo4LLNqxrcZacVd7arj+279y/bd38Oiip5F74lu+7ocd5gpWLy55p1HyRiP0Oib2HBez\\n7cg+PcP2V5ZFX5Q8lAMRCqlQKFqRyrrgKkV6TTrVRk3gl56V0omsXHj4rDPonJFC7fFenI74bbz+\\nPbO46KSDuML3MZDjGZiQrEZNJppFHngrdMOgsGoztkxfQVUXAI7tN43JvSeS6gi6OqKtB1taEz6n\\ncnPpNnK6xP9y27mr8QtVW+HF7OfSoZcxMj/2GMiEob1Yu6nx51CWu0LRziivDeYIt6VW0SszMjY6\\nu5MLm00jzeXAYW+8GqiVY6nbMIq89LyGG8fAaoEPKwzDwOPRsWUGv0om9zwysB2q2AF21+2Iq1+L\\npJUR6CGD0p7qhhcy0Q2D2rrYL4GqWnNMIMXesH2d5kxpsI0VSrkrFO2MJUXh+Ur21cWVAaRR6GV5\\neEvyOe/E4Q03jpOlu63dDY+8vYQLHprL9noLW2SmRh/MXVFpvaB0RVW4RZ/lyrJsF8ra3cEXhX+W\\nbTQ8Xp0LH5rLZY9/E1PBl2OmVfavNRuL+i+ueFHKXaFoZ9jrraRUqZux0e5tg5v9XJ0zE5uUFMpL\\nK95gY9mWiPLVW0rA5uHe18IXt6g/OzYe9pSHL6z907rYibsAPlkauahGNOb9EnwRlFbUsr+qjvMf\\nnMP5D85h1k9beOuLtVS5q7BlmH+TrDTrQdRQ0p1Nu8fK565QtDP8Cz34qXCaE5jOGjPFqnmTuOns\\nMVTXNn0hiWiU1e6PKHON/B5bWiXVP4dnD89yRa5SZMeJl+ipDrxGuDX9Q/HX/IFfxZRpU/Ua7HF6\\nRvbsCxnv0A1e/V9w0tX7X5uDt0ucwbDPDEfDyj3NqSx3haJDs6e6hCp3NR6vtdId0rN7s51raN9s\\nxgxJzN8eL7Y00x2TduiXgbJ891gm9I+caTsqbRIAg9NGWvZVVL3NshxMv75VLLtm90S0i4bLaceR\\nv4EUsYDVW/ewdP0etPQy0sZ/hpZaATYP1bpvXSNDs1ypqj6pKQ4MjyOQhiBelOWuULQDPLqHO398\\niFRbKn20gy3bdMlo2EpsaTzFvXDkBSdZufX4EozddtyZluXZzm5QDSmatbX7bfGXEWVr9q5jaM5g\\n/vL1w+joPDztL2H1DpeX0Hm+dR4PLqd1Th17ajXO3ubiI5+tWA52J6kjfgQgddR34Y3jTJOQkerk\\n1JzLeGf+fFzDFsR1DCjLXaFoF5TXmBN6avQaqjzWqWQz02In+WoN9MrwAc39dYml3/UvNuKxSLsQ\\njaeWvsS/Vn9JuVFCpRG5MpLurAjbn7M8PDZ+y85yyirNgdpyPfR4PSwXTiIcfWhBoy13pdwVinZA\\ntTs43X6btgwAw0iC3LfNnJ/Xr9y9UZak6+LMsSz/akf4rM+9+2v4eY31bNQNFTK4vXcrD6+6l1vn\\n384vRZtwhywrWFpZjZaz3aqLJjG8r8UyhzFQyl2haAdU1UXmUtE8zRfJcsCo55nonNJwaOIp+WdF\\nrXP64sY9hrVyz8RU7u7t0Sdf6YbO7f+Yz7Mf/8LsFZHhmW496IN/fOnTge0X1jxHrSfk72CLHes+\\nqeu0mPX1GTe0R9h+/QHm+iifu0LRDliwrjCizLV9HLX9zKXcUmubbzC1WalnuHdNy7ZuF8IxQw+J\\nWpfis9z1KJb7Nrdv0RJvdNW3s3I3+oAfSMsq5dMQ490wzElPndJN95ZuRLp+lpXPB5+73955T9Rz\\nPDTpLjJdjRsDiZjwpMdW38pyVyiSHMMwmLM0MpfKH4+YELBQ87XG505vCU4ZNaFZ+3P4FGC1URVR\\ntykkht6oix5eaNds2LMife/52lAAllR8R2nNPmotFqzWU4MzaENz6NensYodwBVvPKYPpdwViiTn\\ngofmRrg3vOVdGDMkj8smnErd8smcPuZI64NbmZ5Z4X5kvYG0ur1sQ2PW+63bYn1zWHlJdSmPLnom\\nsG+Lofl0CxH02lRStLTA/rZ9JWwvjXwBHEjqp4mon6GzPkq5KxTtgXphdV3TzRV9xgzO46WrT6RP\\n9+gLKbcmowaGK/dNReGTmOrHlNu12ArN5bCOCHpnbfjCFsP6Rnf/WM0TcG8ciT1ksZKqGg9vLf93\\nTFmicUyfqU06rv76tM9cOzlme6XcFYokJqD8tHD/7z575DT+tkh9a/Sjbe/xz/nBePDNe8L91vVT\\nK9QnmutiVYkM249luYdGvPg5/vB8du4NunpsaOzWYi86Hsr0guCXUzzjClY44kgyFopS7gpFErN8\\nY4m5kQTrhsaD5nDzfeWn1HnNyUxPfPZVeIMGwjtdjoYVoLc8Gy2G5vNYDMamu1LCliys8VqnFAao\\nXRe5CMlpg08KbNtinTwGzlhvJAuUclcokpg5i804as0RPrPTu6uvVfOk4X8rFwJQm10/sVds5Z7i\\niLTs6+dw9+zsG1yizwIry71PRp+w5QlLqysi2vh5+rwzYspoa+DrIxr2RqZmVspdoUhibL7cJCkD\\nVoSV3zjl960hTrNR7TYtY1t6dCVqhcMeqTifXvZyeIFup6erT9Q+PF4venV4UrIB3XP44/ipgf2v\\nisP97XZ3sH1qSvjXQ36GGZ8+ptsoAPp26h39AmLgtFhfNRZKuSsUSUpVjZthfbOxdQ5fMNmxfQwD\\nenZpJamaB62JM1ed9axbwzDYWbkrvJFuY8rwAVQvPBbnqhPRa8LDEndW7sJuD3dzpac6GZLbL7Dv\\nMcK/lLqVTjXP5w73+Q/pMpAbDr0SgPMOOpv7Dr+V/MzwyUjxEjo+4dkZ/eUUaN+ksygUilbnyv+b\\nBxikjV8UKPvtoF9z9PTmS+3bWtiiZUtsYGjBEeKW+XnXUmau/GdkI8NGTlYqL94wHVuKkwsfriBt\\nzNeB6k8LP4EoIeWpWgY1RviiIZ6dfTn/2EPZUd2THpm5YXVH950aGOS12+xkpzb9pRv6VeLeelCD\\n7ZXlrlAkIf4oGXvX8OXkju6T/IrdxFq5790fmWYhFIc9eNybq9+3bqTbfW1tdM9J58qTxlG76jD0\\n6oYnFo1KPyKibFCvLuTnZjC2YAi9ss30BlePuZhx3Q9haPagBvuMlxS7A09JD+o2DyO3c8M53pXl\\nrlAkIf/6diMA9uxdDbRMTvxumWxvP0rtmwPl3k6xrzfUdWHXbJbLdpw6OTyvzLC+2egV2Rg1mZAW\\nObO1dt0YmG5uF7sjZ532z4hU4EOyBzGkGRU7mAOq7g1mJM79NxzWYHtluSsUSch/fzTj2L1luQ20\\nTHLqpbkd2WNAzOahE41qvNZWfnpquE2b5nLwj5unRQ2z1Cs6B7a3VYRneXQXDuaUMeNiytRchF6b\\n0yIqqD7Kclcokgz/8nZaaiWaIxhvfceEG1tLpGbn632fcnzdaHTfMhlXj7yKzVXrOaog9qxMTdPw\\nlnfBllmGFhL7b+gaekUX7Fml5Fj4vW2aFjVF8kW/Di4C3sXWk2KCoZWXTT0mYiLWgcJht3HGtEH0\\nzotcXtCyfSInE0LYgJcAAejApUAt8Kpvf4WU8opEzqFQKIIsXbeHJz/8BTBIHTUvUP6HoafTPb1l\\nlr1rKb7Y/C26L3VvZ1cnjs2LL0WuM60Ovd6kLs1mUCfHgd1Np2HWyrFTupNqi/K+PYKpG34zbDIv\\nr1sd2E9NadkFUI4/rOEoGT+JvnJOAgwp5RHAX4EHgMeBW6WUUwCbEOLkBM+hUDSJWreXpev2xFzz\\nMplYsHqXT7ED9nBvcoqt/X2Eb91VEbDcU+zxK1HdEek3B8CwgccVES7ppzZ1h2V56DqnvbPCUyen\\nO9PqN28zJKTcpZSfABf7dvsCpcAhUkq/STELiJ1RXqE4AHi8Opc98QXPzPs3s+Zvbm1xmoXnP1kZ\\n2E4d/U1Ynb0dKneP7qUyxfRxp8SRViBeHA5rtZei10uuptsosA+jR1bQjZNab+3UrNS2ty6tn4Tv\\nmJRSF0K8CpwCnA4cE1JdDnS2Ok6hOJB8PG8TaYfMAWBeMfyK/q0sUTNhd6M5a9Hs4flPOrsaXsEo\\n2djiWRGIiIwnZ0y8RPuSsxvh4YW53sHccvR5YWX15chMbXvr0vppljsmpfyzEKIbsBAI/U7pBOyz\\nPiqcvLy2mZI0XpT8rUuX7Az2ldeSl20+ft9tWm5+SwJlrvVt+voaI1va2K8sy4f27kPn1Na5xgN1\\nb93lmYFFM3p07xzmHml0X9uDUTb9CnLIygjOUvLLX797l8MVcW3ekLwz7h39yG/DM4ETHVA9B+gt\\npXwQqAG8wM9CiClSym+AE4A58fRVXJzYquetSV5eJyV/K5KX14lbn5nHmq2lPHLZJLp2TsXdLbj2\\npeZwt9nra8y9t8WIaa8r1ygub/lrPJDPjlGbhunphT17GpdjJqKv8q48f/0U9lfVUVtVS3GVGSYZ\\nKr9X90JIhKEdp+W1uQsH4yxYx8Seh7b6cxXrxZrogOq/gDFCiG8w/eszgCuAu4UQ3wNO4IMEz6FQ\\nNMh6zyJSD/2clVtNBWi46k0R94a7MdweHY9F9r+2jGvwktYW4YCg11rPtnQ4m28g3KE5SXHaye0c\\nfQC0U0a4i8XltFaPnh0DqV5wHF0cbXuOQUKWu5SyCjjTompqIv0qFI3F2XsdAK/Pm0/R7jo0W7ji\\nrnG7yfTl5jAMg0se/RqAV26Z3qJyKiyIlqO9ixm9olcmPp5Q5274RXF4wcF8vCE4SanOYkWmIBq7\\nSqNE5bQR1AxVRbvCnrOTzxcWRpT7U8gCPPvpElwHf409dzvnPziH8x+ck5Thko52EiHjaSD3vCMl\\ncvGMWLh39IssNBpWdUf1CZ8gFc3Ff/XvRpHmcnDhiQ0n72pNlHJXtCsc3bahZezDsyc/rHx1SXDR\\nh6V7l2Fz1ZAyYDnOPqtxFKzh7+8tC8z8bIu889W6iLKLRvyR6QVHcuv4a1tBoubDu6tfzHpds8oQ\\n00jiUO4RKyRFWd3q4EG5PHPt5BabmdpU2rZ0CkUTSB3+E/Yuu8PKNpUH1xRN6RucYejosQVnz82s\\n3r+crxZFWvzx4vZ4uf6Z7/n0u01N7sOKlZv28tWibXy+sBDDE26pH9RVcNrgk+iV2bNZz9nmcERf\\n0s4SCzdPQV5TXDvJ9zUXSvv4rlN0WBbJYoZbjItqjnArfMP+DTH7SRm4nO11+RASD68bBs9+tILF\\na4s5clRPzvvVsKjH79pbTWl5LR9/t4nfHNF8MfWPvbvU3LC70RweDLeTQbm9+N2Q3zR5Lc72T6Ry\\nH9AzPuVes3ICqcN/ApJdtSvLXZHE7K+q5eXCR7n2P/c32Lakdk+DbYr1LWH7RcWVLF5rrnI07xfr\\nqel+NuwsJXXsFzgK1rBzb3MPtOmB+HbN6ea6sZfTp4lLtbVVvOXZzdeZhVbunRNf/6eNGxv4Qmp6\\nVH3bQCl3RdJSUrkfzWZgyyyL2saoc4XtL5K7o7SEHawJ2/fqBo4em3D03ICWUk15VR27o0RIvD53\\nMZrdi7PnZm598SdWb97biCuxRvcP8trb7lhAc1G3ejwAelUmlIaPl3jLujayt0i1PDg/vrDFY8cV\\nUCsPxbs/m3620Y08b9tCKXdF0lJRW9Ngm7pNw8P2n/lkWYPHlFXW8f3yHeytK8HZR+IsWEfq6G+4\\n+snvuOWFn/ji50jfvKNH0NfuyF/PI+8kHpO+Y48vVt+WXPH4jcVMYatR/fPR1K44nFun/ylQ594+\\n0MzmmAB1m4aH5UKPhcNuw6jsQt2aw+iU0nZnNceD8rkrkpZtJdEtdj8Zti747d7PNs8h7dAvGjzm\\n/td/Zk9ZDVpqBamjguVa2n6M6ize/nId+bkZDO+XE6hz5BUFtp2914NN57aXMrj/oglxX099Fq8t\\nxtFzA86CyEiZ9kSvvEy2FVeCbqqjdEfIRCNv41VU/x5ZhK6X5C0uwG6P38lyx58P5YuFhUwb06vR\\n525LKMtdkbR88O3aBttc85uJge1/b/yswfa6blDq3EDa+M+wdykOq3P2keCswZa1hye+/oiaOk/g\\nmPo48zdSkvc1Ve6m+9/zczPavWIHOOfYIYHtQ4bkke4K5n2x4eDu88c3qj8txC1TKw8BiNtyB+jX\\nI4uLThqOK6Xh1Y7aMspyVyQttoxwy927dQRkFmPPCeZg6ZWbiV6bhs1ltQxDJIW7K0gZYOalcfaR\\nYXX2ziWkjfk6sL9rXwV9u3WhstZ6OTd71l5unHcXR+UfxalDj4vr/KG4LdIjHN6zZZZ0a0kyUp1c\\nf+ZodMNg5IBw//rEYfkUdMtsVH9hCcZ88e22BJKOJSvKclckLSn9Voft33fK6Xh3B1eq8ezpSYrT\\nDnr8P+xHZ82Ou+2c1eb5t+6JPXj6VZF1JseGWF6yMmz/2kMu4/dDf9ekvto6w/vnRCh2gDSny6J1\\nI4hj8lJ7peNeuaLdkdsljdEFwRhz90bTYW7XIj+vtbqgNThj8C2Bbb3vgrjP17urGTtdtK9h339T\\nWLB6Z9j+oC79E0p7m4y47CkNN6pH6D0a0LMzE4Z3JyfLOjlZe0Ypd0VSsq+iNrAqvVHn4sLh5wJw\\n/rGjGbDnLKoXHIs/JE6zeMyP6XJGYHtwr9gx0GcPOc1yYO/Dtf+ltLwWNNP33kcbxc0jb23S9ViT\\n7NNoEsflaLxyr3YHo6gmHNSTi08aHqN1+0X53BVJydJ1e9BrMrBllnHHlOvokWYq6DSXg+vPOIS1\\nhfsoqzSnreupkZZ1TloWNfMn0cmVim16bGv4kO4H8/baDyPK7V32MHvVIuYsX49zAJRVeOiT13yL\\nN+TlOigDxuaM5/hBRzRbv8lEqqPxKx3tcqwMDKk6OvAsXqXcFUmJGf1gWrZOR6TbZUhBbCU7cUQP\\nistGMmlkjwbP5YqxOHO5UYpzwAoAypybrWWtadzsS6+us6+8DleamQ1xZO5B5Gc2LGd7JLUJPnfN\\nFvziaS+ZM5tCx71yRVJTpVfgyDVTAjjtjXuM02rzcdhtnDo5uPSaZ1cfHN23Wra3aTYMrz1i3VIA\\nkVfAUl/WAlcUPaR5Gvb3GoYR8BU///FKFq0tJmtIObigS1rjokXaE6lNcMuEYrN1XMu94165IqmR\\nlcGZpo0Nc7PywQ93TrZo6WuvaVEXjKisDFqJ03ofCRCRgldLiT2T9v43fuaCh+YGUg4v3rwFe7et\\nVHvN8M0uqR1XuaelJBYt05Etd6XcFUmJrFsY2Db0xj3Gqd6ciLLLThkRtp/uDneD+Bdqrs9/9rwV\\n2D6y92EAESl43SmluL3Rc5Jv2L4fgNc+W4NhGLgO+omUfqtwdDW/TFpr4evWxL2jH3pNOtmpia3C\\n5LAl90SkRFDKXZH09OsWf2Kpug2jyKsdEVHudIT/FBxG4y3GTq7o63Ou27cxap2tczEpQ+djc3i4\\n4KG5aCnh+ctTYvj82yuewqHU/nIkGamNd8t4SoIvZodyyygUbYPN+7dS2cgp+7ZGTC33luTjiMNH\\nP6LLwQBodRlx920PsRJTqsKt92eWvcz3RfMtj3OJRdizSlm4ezHOPqviPl/7R8PlbLzlbVQFv3SU\\nW0ahaAPsrSnlkZ+f5qZ5dzXY1vDNOo1n6VN30YCw/fFDu1m2q/nFDDd0Fw7m7PGHMz7zGG449DIA\\nzj3orIZPFILVMMDqkrWsLV3PqhIZWQmk9F2Do4f1oG5H4+Qj+jO8X3aTlrILXZO1I7tlOu5rTdHm\\n+KFwcWC7tGYf2anh4YxrC/eRn5tBZpoTvSwXe3YxedtPbLBfwx38tP/7lZPonGntcjFqMqlecByg\\nYbPZOHf8MYG6cd3H4NW9zFq1iBJbpIslHr+/ATyx5EUALh75J15c/jpXjb4y5jHnDD29wX7bIycn\\nspqVHlRrdnvHVe7Kcle0Ccpq9zOrMJjXpdoTHmHywdfrePSrD5nxrC9lr80MS7z5zDhS6obkF4mm\\n2MFc1R40Tp82MKJO0zQm5o+joG4Cnl19qNswMqw+s6ZvvQMsBQlsvbj8dQCeWfpsVHlGpB/GxPz2\\nlyisJXFapJ7oKCjLXdEmmLnyn2H7G/duD5u480Xxv3H22Ymzj+THjQNJSTHw6raw9LDR8Jb0RM/b\\nhnv7QJgevd3Bg3L5x83TYoZW/mr8YJa+sZ8aWzB6Rq/qxLkjT21QjqXFKwLbqXYXNd5adCIzP/5u\\n8G8YmXsQuWmRUT2Khgn103fkAVWl3BUtjmEYlNSU0jU1OzBxZ1tF+Bqlb69/l4m9R2O32dENA0fX\\nYBKtNze/jE3LAiM+q2xUvx78svLwuNo2FDPfKzeDZ66dzMai/Tz41Q5A48U/XhLRrqEh3hqvdZpg\\ngGkFHTPVQHNht2mBbySbcssoFC2DbuhcOfdm7vzxQRbvDk5EqvZE5lt/7peZVFS7ufChuZH9aF40\\nPb4f7iFD8poucBQG5Gfx99Mv4PlzLm7Wfg/LbHzed0U4oasudWQF15GvXdEKzFn/c2D7lRBXjFYT\\nOVll9d61rN9eiuugHyM7snnQjPg+PPV4QmqaQEaqM6qlb9fNlAOhg7nxYFM/yYQJfZmnujquc0I9\\nSYoWZXdZpWW5vbazZfn8wlXYMi3ypTtrsRGf5d4r14xVH9a3cQm8EiGnYgzuHf2pWT4prvb2bWPR\\nKzozKm/YAZas/fP7o4PL9rmcHVfFddzXmqJVWFO9KGz/4xXfccqII7BFeRQr3JVRn9J4LffBvbtw\\n2x/H0juv5XK02A0XnkIRd/u7TjkZWbiPUf07ZvbH5sTpsOEuHIzmrMPegQdUO+6VK1qckupSSty7\\nw8q+2G6GP3rsFea/u/qE1WdlRn9E7XFa7gADe3Vu0QWPQyfNGlGW+atZbg7yevbkk5OVysThSrE3\\nF54dA3FvHdao2cvtjYQsdyGEA3gF6AekAPcDq4BXAR1YIaW8IjERFe2FO378W2Shs5Y91XvRM4sB\\n8OwuwL1lGGnjTaW/3b0uan81rt1R61qbHjkZrNxcyuEjevDD4qNw9NyEUZeK5qjDWWBek1GdRfWi\\noyjItXZJKRSJkKjlfg6wR0o5GTgeeBp4HLhVSjkFsAkhTk7wHIp2zs59+4I7hkZoIGGxd1uwyp0S\\ntw+7tTl1ygDOnD6I3x89GHQHnu2D8RYXoNeY/n/Da35F3HT2RO44d3xriqpopySq3N8D/urbtgMe\\n4BAp5Txf2Szg6ATPoWjn7KsKxnxf/NvB0RsaWthapgcoCKZZSHM5OG58H9JTwzM66qXdcRcNoHaV\\nObN27LBuHdovrDhwJOSWkVJWAQghOgHvA7cBj4Y0KQfi+ubMy0vunNVK/tjsriwJ23dvH4iz1wYA\\n3t4yM1A+tFc/YAe1a8fgGrIk7BgtpRbcwbS6ekV2QO7kuf8anm1mNMcDl08iPdUZ8QJINtrivX/6\\nxmlAfLK1Rfmbg4SjZYQQBcC/gKellO8IIR4Oqe4E7LM+Mpzi4vJERWk18vI6Kfkb4Mo5twe26zaM\\nQi/PDij3UNyVcM/547nj1R8i6k7NvZDBf+7JfbPX4+y9nkM7H0FxcXmbv//3nD+eO15ZAMAxhxbw\\nxc+FAPTIMvPctGXZG6Kt3vt030SmhmRrq/LHS6wXU0Lfg0KI7sBs4CYp5Wu+4iVCCP+aZScA8ywP\\nVq9zb4AAABkkSURBVHRYxg4owKhLw7MzPDLGU9KT7E4uenfL5N7zwtMF3Dj6Go4aNYSCbpkc22c6\\nk/gz509Jjmn6+bkZDO7dmTOnD6JH1/TWFkfRQUjUcv8L0AX4qxDiDsy0d1cDTwkhnMBq4IMEz6Fo\\nZ0zsP4wThqdx91s1YfnLPdsGBfzP2Z3Cszf2zTYXv9A0jd9NHdRywjYDNpvGX84ZC8C3y4paWRpF\\nRyFRn/s1wDUWVVMT6VfRvjBCRj6rFx7LwInZZKY5GZyfw7aQduMHBhfVSKm3Ao/WyEWw2yqHDMnj\\nX99s4LQpkWmFFYrmRA3TKw44dV5PYPuZa6aSmWYOIF584qhAuV6VyW+PDC7Q4LDb8O61XjEpmclM\\nc/J/M47kyIPzW1sURTtHKXfFAaey1lx4w6hJJy0kkVNmSC52z85+5HUJX2C6bsPolhFQoWiHKOWu\\nOOCsLd0EQBd7uCUe6nrJdg+KcL30yjUjAfSKyIyRCoUiNkq5Kw44b6x909ywha86pGka7m2DqNs0\\nnNOnRQ6SXvDrYVQvPDYw4UehUMSPygqpaHYMwwhY4d9tCS56HTq71M9lE35LeqoD0ScyHW/PnAww\\nbBw+QiXUUigai1Luimbl0YXPsal8E1laN/427Qbe3vBOoM6uRT5uY2KskuRKsfPyzdPaTaSMQtGS\\nKLeMotnYU1XKpnLTv77f2I1X94bVp+iNn8CjFLtC0TSUclc0C+XVtdwx59mwshlf/yWw7d3bnXxG\\ntrRYCkWHRSl3RbPw6FcfoqVbLIfnY4TtWM6YEv/KRAqFIjGUz13RLJTYI5OAhXLlqcpqVyhaEmW5\\nKxKmxlOLzeGJWn+48/QWlEahUIBS7opm4MZv7sFrrw7sG57w/OS/PkRZ7QpFS6OUuyIh6jwedM0d\\nVla74nC8+7OpWTqZs3KvoUtGaitJp1B0XJTPXZEQpZVVYfsX9J3BQUf04LP5wzjh131x1cvuqFAo\\nWgal3BUJsWZP+EDqIQN7A3DKkQOsmisUihZCuWUUCbF+157Adr/aqa0niEKhCENZ7oom49G9LK75\\nAoCB9kO57oRftbJECoXCj7LcFU3mb3PeCGy7vdFDIRUKRcujlLuiyRS5Nwa2rzr8d60oiUKhqI9S\\n7oomMW/damwuc4Wl+w67i/TUlAaOUCgULYnyuSvipsZTg4EBup13CmcCYK/tTHZG47M9KhSKA4tS\\n7oq4uf7bOwCY1Pm4QJnXFT1ZmEKhaD2UW0YRF7fOeiGw/X3Z7MC2a3//1hBHoVA0gFLuipgs2rWM\\nXVXFlLkisz46vBk88puLW0EqhULREMoto4jK+ytn8/Wur6LWj+8yGbtNpRdQKNoiSrkromKl2Ifs\\nP42ddYUcfdAIjhoxtBWkUigU8aCUu8KSkkrrgdKrTzkMOKxlhVEoFI1G+dwVlry48OOIMse+vq0g\\niUKhaArKclcE2F1VzN0/PRJRbtSlMFw7nst/O6kVpFIoFE2hWZS7EOIw4EEp5TQhxEDgVUAHVkgp\\nr2iOcygOLK8v/ZT5e7+LKD897zIMTwpTDs5H07RWkEyhUDSFhN0yQogbgZcAl6/oceBWKeUUwCaE\\nODnRcygODG6Phxvm3MfMhR9ZKnaAySP6MW1ML2w2pdgVimSiOXzu64HfhuyPlVLO823PAo5uhnMo\\nDgDXznqMavYza+PnUdvYlLWuUCQlCSt3KeVHQGi+11BtUA50TvQcisTweHUWrNmBrhth5UZGSUTb\\n68RtuAsH4ynuxaX9b2opERUKRTNzIAZU9ZDtTsC+eA7Ky+t0AERpOdqy/He9+wmr+IxZmw7h6T9d\\nBMD9/343ot2k1DOZMLo3H466FgOwJ5Erpi3f/4ZIZtlByd9WORDKfbEQYrKU8lvgBGBOPAcVF5cf\\nAFGaTtGeCu789H3wpDB8dB2Xjz2HFLvTsm1eXqc2J38oq/gMgN2uxZzx7mU4DBeG2wUpYBjw+LSH\\nWb+5hOH9c9r0dUSjrd//WCSz7KDkb21ivZgOhHK/AXhJCOEEVgMfHIBzHHDeXzqPlH6rAVhXAY/P\\n/YDpfQ9n/ODkifUurd7Pbd/9Da1ehgCPVgsptQDcN+FOCrp3IlXNeFAo2hXNotyllFuAw33b64Cp\\nzdFva7LWNjdsv9C2hNcKlzBu0ENtPiTQ49W5+7/vsDdzaYRir09ORkbLCKVQKFqUNjGJ6bVFH7G8\\naB03HnYJNq1tm5DXvfQF2YO2sreynAkFIzlx6BHk0XZ8dj9vKOSlRR/iyC0KK0+v6kNV+lYA8vRB\\nFNvWM8xxRGuIqFAoWoA2odz/u94MxVu5czMjew5oZWlM9OoMbGmVEeV1g75kF0AGzNu7g5++WcBb\\n5/wteJyu89wPn9IjM4+TR03A0YJZE38p3MrMLU/jyA2Wdds7jd3GBm46/lxW7thM96zODOvRp8Vk\\nUigUrUObUO5+nl/9PKyGkweewLF9p7WaHBt2FQcU+ykDf8V32+ezpyYybBDA7dzH93INTyx9Iqx8\\n1V6QczZz69F/OKCy1nncvLlwLqePPpJnf34be0jgaVf3EO783QmB/amdRh5QWRQKRduhTfpAPtkw\\nq8XOtWlHGTf+80OK9wWt9JeXvh/YPqbvVO4+/GZuG39d1D7qK3Y/223Lmk9QC7y6l2u/vY1F1V9y\\ny493Yu8c/gK6aco5B/T8CoWi7dImlHvdpuERZeV1FS1y7kdW3U9Vj/nctfhu3F4P93z1MmXOzQAM\\nTDso0C4/swfnDj630f3f/s0j6IbecMNGUutxc/tXT1vWDWEyVw69hszU1GY/r0KhSA7ahHJ/8ZLz\\nA9uGbkaiFJZYu0Gai4q6Ki6ffRuhgS9Xf3kXuzQZ2D9/9Glhx4zpJQAY120sjxx5DxcOPT+s3lPS\\ng6Mzz+GZ6Q8Hykq9xVw19xbKa5vvZfXkF59z3be3sd++PaLOcLu4evqJDMvPb7bzKRSK5KNNKPdu\\n2emc1Pki6jaOIKt6EPD/7Z15nBXFtce/dxaWgRlAmEF00ADCwaAo8gBRQfYlGhWTuMcNjAhuLy8q\\nwscIRgUB/QQicScPRSMxUcwTXEBQAUGWoOJ2xF0QRdkdloGZ+/6oujN37vSd5TIXxsv5fj58mK7u\\nqv513apTVae7T8P2XXvKHVdUXHMz4EmLHieUubdMWiizsMx2o3oNy2xnpmUwrc9ELj/ufLIy69Hp\\niPaMPfkWirY1pbggm8lnjmBI147umvaVXY3ctuheAKYumMs1L9zB9p3lry+WcDjM3BVrWf9D6UsW\\nn27YhKbPL3Nc14al4Xsa7WtZabmGYaQ+teaG6qDObRnUuS0TFj7BjjDsLSoq2ffl9nVMXDkVgE51\\nBjDstIpjkX307TqeWjOXP5x2CTn1sygo3MX4RY/SoUkHFm99iQubj2Bb4fbSOJYxZFCHKX3urJLu\\n3KymPHn5WL78egvZ9UvdIDd0P5+bn32CzJZrAdibVsBbX36E8hppWTBl8TPcNiC+TzwcDjN+1mLW\\n5/0fc96F8/KGs3FTIfM3zCMjr+yxl3UdQO7yNsz+cAF9jrM4bYZh1CLjHiE9lA5h2FtUGossYtgB\\nVhe+wshX5zGt7z2B+R9eNYt3tq2CdLh16Vi6NOjHioL5EILFW78G4O/f/bXEsLfNFrocfiK6+RNW\\nbVoFUGXDHqFenQwOyynr326cXY+HLh3Gh+u+Z9rayQA8/un0kv0FoR8qLHPMrOfZlvdmyfY/Nj4I\\nUGLY84tPZF3a2zQtdN8xHdylNcf/rDn5ufZSkmEYtdC47ykshgzYvGMX18wZRyijkFBsSJdQmHlr\\nl9O/bdeSpI0/bmHa8qf5gc/LHLqiYD4VcWOXoQCc2rIzedqCZllNauQ6AEKhEM1zcgL3FRQHf6M0\\nQrRhD+K6HmfToM6FJW/LhkIhWuY1rDCPYRiHDrXC5x7N7j3Or75g879Jq19Qzi8eYfbX/2T2+68T\\nDoeZvvpZxi0fX86wV0a/3DPLbJ8pPTm5Zc0+C57TIJNdq3uVSQvtakRxZgEPr3qGcDhcLs9n326p\\nsMx2jY+hYd0GtT4MgmEYB49aN3Nv3LAeW8Llb24CTOszkX+tfpMFW9zHm+d9N4d5380pd9zRRV3p\\nnC+s2biWtUXLABjaZjhtc/NpWD+Te5Y+RJtGrRnSoWdyLwbIzEjn0d8P5urp31On1ftcln89M9Y5\\nN9M721Zw7cIVnN/uHHoc2b3EWN/7Qekbr3/pPYGi4iJufH0MR9b9GaNPHZF0zYZh/PSpdcZ9Pe8F\\npvfJPg+Arq3asCDOxHbvhlaclHMKw395AgB9jz0eOLfccaNOGV4jWqtKWijE1EsuZuOWXRx9eDbT\\n380j/bCNJftnfTybWR/P5u6TxzFqzsOkNXXpXZqcQloojbT0tDKPVxqGYVRGrTPuheHdJX9n7zuC\\nO/teS0Z6qcyWjZszscc4vtu6g3vXTC5JH3HsSDr0qb3heOvXzeDow12AsV6HncUiHi13zOhlt5cY\\ndoDLTrTPzxqGkRi1zuc+9uRbALji5xcyYcCNZQx7hAaZ9Wmdm8eQZkPpwnlcLzfToUXtNeyxXNCn\\nHUNyriO8tw7FPwZ/hXDE8cPMp24YRsLUupl7blbTKrsg+nWUJKtJHn0759P++1Ec3jSLN95ezzPf\\nzCCtwXYAWoTa0yG33UFWaBjGT5laZ9wPFUKhEPn+0cXeJ+XTqd1NNMmO81aVYRhGNal1bplDkVAo\\nZIbdMIwaxYy7YRhGCmLG3TAMIwUx424YhpGCmHE3DMNIQcy4G4ZhpCBm3A3DMFIQM+6GYRgpiBl3\\nwzCMFMSMu2EYRgpixt0wDCMFMeNuGIaRgiQlcJiIhIC/AicAu4FhqvpZMs5lGIZhlCdZM/dzgLqq\\negpwK3Bfks5jGIZhBJAs434a8BKAqr4F/FeSzmMYhmEEkCzjngNsi9reJyLm3zcMwzhAJOtjHduB\\n7KjtNFUtruD4UG5udgW7az+m/+DyU9b/U9YOpr+2kqzZ9BLgFwAicjKwJknnMQzDMAJI1sz9OaC/\\niCzx21ck6TyGYRhGAKFwOHywNRiGYRg1jN3kNAzDSEHMuBuGYaQgZtwNwzBSkCrdUBWRbsAEVe0t\\nIicBD+DCCrytqjf4Y/4HuBAoAu5W1edF5BZgEBAGmgDNVfWImLLrATOBPNwjlJep6iYRaQM8CGQC\\ne4ALVHVLgLZ04GngEVV9JSr9GOBZVe1YRf23ABfgns+fpKpzosoaAvxaVS8OOH88/ecAk4Gv/KG3\\nq+qimLx9gT8BhcBG4FJV3e33ZeGeOrrFa0pIv4isAz72p1yqqmNqUH83YAqwF5inqnf49D8DpwI7\\ngFFAKBH9ItLEa8sGNgFXqeoPVdEftX80cLyqXkgM8epfRC4HhuMmP5n+OuoAdwEfAP8LFAPvqepI\\nX9ZVwO98Xdzl9WcBT+Ha/h6vbUNN6ff7y7R/ERno6zwMpAM9gFW4fllV/Xeq6tz96b+J6vdpfwTO\\n8Fq24X7/Cuvf58sFFvvzFUalJ9J/ewCT/HleV9VbA/LGaz/34l7kLAL+oKpvBl17sql05i4iNwGP\\nAHV90kPA9ap6OrBdRC4SkUbA9UA3YCCuw6Oq96hqb1XtA6wDfhtwimuAd1W1J/AEcJtPfxgYo6q9\\ncEa+XYC21sDrxLwBKyKXAH8HmlWif5vXfxzOsHT1+u/wP3rEUN2FM1BBxNPfGbhJVfv4f4sC8t4P\\nnOWv8RNgWMy+YuA3ier3A+SqKA1lDHsN6H8QN+j2ALqJyAkicgbQTlW7eO3/SlQ/MBpY5LXdD4yv\\nhn5EZDDukdx4Tw2Uq3/fpq4GTsfFR9oN9MYZuftxoTRGe/1pInK2iDQHrgO6++PGi0gmcBWw0h/7\\nJG6grjH9Qe1fVV+O6nMbgOX+t6iO/gkikrmf/Tch/SLSCeipqt2AZ4GTfNlx9ft8A4CXgeYx50i0\\n/94HnOdDqHQTkRMC8ga1n45Ad6//UmBqnPMmnaq4ZT4BhkRt5/uQAuBmlqcBBcAXuBG2IW7EKkFE\\nzgU2q+qrAeWXhCoAXgT6+o6dB5wlIgtxjW55QN4GwFBgYUz6ZqBnFfS/iZvZHAu8pqp7VXUPsBbo\\nGHWN1wScO65+/3dn4EoReUNEJsd5Q7dX1Ew0A2dIIqugJcA7wPr90N8ZyBeRBSLygoiUGyAT1S8i\\n2UAdVf3CJ70M9Ad+7v/Gz+B24n6j6uo/wZf1oj820tYq09/P6zsGZ1z/GJAnQlD998PNdB/3uu9W\\n1SLcLHgfzthEBroX/TV3BRar6j5V3e71d1TVKTjDAnAUUG7luZ/647V/RCQfV68DfVK19UeVVZ3+\\nu7/6TwMiK/AHgW9FpGkF+vv5v4twbXdzzDmq238j5XVT1a9EpCHQCPgxIG9Q+1kP7BSRuj5fYUC+\\nA0Klxl1Vn8NVaoRP/ZIF4Je4HwjcyP4BsJLyo9UoYFycU0SHKtiBq5DDgA7AK6ra229fFqBtjaoq\\nMaOyqs5V1V1V1J+Fe8mqp4g08A3plMh1qeozcXRXpB9cA73Ozwga4pb5sfq/g5LO0wt43C/1jlHV\\nx/x1vbkf+r/BGac+uFnvzBrUn4NbxhKVNwdYDQwSkQw/M2tB6ay9OvqzfFln+WPPBupXQX+OiDTA\\nzaquxq1+AmdtQfUPNMMNOFcA5wKTReQI4BlgTExZkWvOpmy4jR/x9aiqYRF5FbgW9/5HTeoPbP+e\\n/wbuU9VtfiBOSL+nOv13f/WXlKeqO3FtrKL6j9Tzq+rctrG2oLr9N8fnK/ZuxzW4FdC6AP1B7Wcf\\nbqXyEa4PTa7k/EkjkZeYrgSmiEgGsAg3Wg0GDgeOxlXuKyKyRFVXisixwBb1IX+9q+BRXAXMpNSn\\nhv9/K2703aGqb/j0F3AvRTUAfu3zXhzrv0xUv6p+JCLTcCP4V8Ay4IegzFXUD/A3VY00mueBc0Vk\\nZKx+EbkR+BUwUFULReRK4Ci/YmkPdKLscr46+j/BDwyqukREWtSg/svxHSE6r6rOF5GuuNnY+7hZ\\ncPSMtTr6JwBTReQ1YA7wtR8wHqtEf3/c8nwWzlfcQkRuxq0wK6v/TbhVxE7cDOwLYB4wUVWfFpGJ\\nsdeMM0Dl6iKyoap9RUSAOd59UGP6CUBcyO0zgdEi0hLn3rg/Ef0J9t/90R8buuQwYAYwpQL90VT4\\n4k412n8k6GErEfkTcKuIfB+rP6D9XA1sUNX+IpIDLBGRZar6TUW6kkEixv0M4CJV3SIiU4G5uJF+\\nl6ruBRCRrUBjf3w/SpfWqOqnOB8m/tjGOL/cSv//InU3JVRETlXVJTgXy3uq+gAwrRpag2YM5fSL\\nSDMgW1V7+B/kZeC9oAKrot/veldEuvsftS/O9/1gtH4RGYMz3v28OwKNuukjIn/D3TvQBPWPx92I\\nnOR9hl/XsP49ItIK55IbCIwVkbb+PD28a2AGZZe01dE/GHhYVZf52dESb2Qqaz+zgdl+/+nA1aoa\\nMQoV1j9uGT9CROoAR+JmZL9S1Rf8/tUi0tNPPAYDC4AVwF0+T33coPyeiIwC1qnqTJxh21eT+ivg\\nOOBDXB98GRipqhHXR5X1++MT6b/7o38JcI+4m5KdgGOAX1SiP5p4vvUq6/fpb+D86VtxM/q6qjqN\\nytvPFkrbewFu8hvxbhxQEjHua4EFIlIALFTVlwBEZKWILMP5vhar6nx/fDvczCceDwAzRGQR7omC\\ni3z6MGCauLvpnwM3V1BGvNE6KD2e/mNFZLnXcJOqVvXV3Xj6hwLPichOnLvqkehMIpKH80euAl4S\\nkTAwS1Ufqin9IjIBmCnuJude3Gy7RvR7huOeBknDudBWiPM1jheREcAuYGRMnuroV5yrCtyyeCjl\\niae/QiqqfxF5DOcOa4m7Z/B7cfdBwsANwF/E3TD9EPin1zoV96RGCHfDr1BEpnttQ30dBYXhSEh/\\nDLHtRIDPcN9SaAzcJu4JlGrp92Ul2n8T0q+q//FlLcV5An6sTH+8sqpIPP2TgBdFZDfOLRP9sEPc\\n9oN7EORUcaFX0oAnVXVtNTXVCBZ+wDAMIwWxl5gMwzBSEDPuhmEYKYgZd8MwjBTEjLthGEYKYsbd\\nMAwjBTHjbhiGkYIk6zN7hlGrEZGjcdEy38c9210PeBcXcmFjBfkW+HAOhlGrMeNuHMqsV9WTIhsi\\ncjfupZie8bPQK9miDKMmMONuGKXcjotCeDwuBO5xuOikiosfcg+AiCxV1e4iMggXUCsD9xb1VRrw\\nzQHDOBiYz90wPD420ie4CJR71MXybouLUDlY/YdFvGFvhovdM0BVO+MiAE4MLtkwDjw2czeMsoRx\\noYY/9/Fx2uOCVzWM2g/uwzRHAQt9FMY0XJA2w6gVmHE3DI8PRiVAG+BO4M/AdFyM99hog+m4CIjn\\n+Lx1KBuq1jAOKuaWMQ5lSgy2n32Pw0UjbI2LEDkD923MnjhjDlAk7qtUbwHdfYhjcP76SQdKuGFU\\nhs3cjUOZFiLyH5yRT8O5Yy4C8oGnROQ3uDCwS4FWPs+/cZ8/7Iz78Mg/vLFfB1xyYOUbRnws5K9h\\nGEYKYm4ZwzCMFMSMu2EYRgpixt0wDCMFMeNuGIaRgphxNwzDSEHMuBuGYaQgZtwNwzBSEDPuhmEY\\nKcj/A8gycsG+fw1+AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c91208>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual adjusted close prices\\n\",\n    \"bp_final_predictions.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 55,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x119c77fd0>\"\n      ]\n     },\n     \"execution_count\": 55,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c59550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual prices\\n\",\n    \"# Only first 200 predictions\\n\",\n    \"bp_preds_200 = bp_final_predictions[:200]\\n\",\n    \"bp_preds_200.plot(y=['Adj. Close','7d Ahead Pred'], x='Date', y='Price (£)').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/3-methodology-results-conclusion-code-py2-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model but are nice for visualisations\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Oil Stocks\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"print \\\"Oil stocks in DF: \\\", oil_stocks_in_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract GAIA data\\n\",\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and GAIA data start intersecting \\n\",\n    \"# i.e. date = 1999-10-29\\n\",\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Read in FTSE100 data\\n\",\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"\\n\",\n    \"# Preview data\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sort FTSE100 data by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and FTSE data start intersecting \\n\",\n    \"# i.e. date = 1984-04-02\\n\",\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Adds FTSE data to BP dataframe, joining at dates\\n\",\n    \"\\n\",\n    \"# FTSE columns we want to copy to BP dataframe\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']    \\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the FTSE row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"bp_counter = 0\\n\",\n    \"ftse_counter = 0\\n\",\n    \"while ftse_counter < len(sorted_ftse100):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start + bp_counter, 'Date']\\n\",\n    \"    ftse_date = sorted_ftse100.loc[ftse_start - ftse_counter, 'Date']\\n\",\n    \"    if bp_date == ftse_date:\\n\",\n    \"        # Add FTSE data to BP row\\n\",\n    \"        for col in ftse_data_to_copy:\\n\",\n    \"            bp.loc[bp_ftse_start + bp_counter, 'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start - ftse_counter,'%s' % str(col)]\\n\",\n    \"        # FTSE counter + 1, BP counter + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    elif bp_date < ftse_date:\\n\",\n    \"        # Move to next BP row, same FTSE row and repeat\\n\",\n    \"        bp_counter += 1\\n\",\n    \"    elif bp_date > ftse_date:\\n\",\n    \"        # Move to next FTSE row, same BP row and repeat\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    else:\\n\",\n    \"        print \\\"Error: BP date is \\\", bp_date, \\\"; FTSE date is \\\", ftse_date\\n\",\n    \"        # FTSE row + 1, BP row + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1984-04-27\\n\",\n      \"1984-05-02\\n\",\n      \"1984-05-07\\n\",\n      \"1984-05-29\\n\",\n      \"1984-08-27\\n\",\n      \"1984-12-26\\n\",\n      \"1985-04-08\\n\",\n      \"1985-05-06\\n\",\n      \"1985-08-26\\n\",\n      \"1985-12-26\\n\",\n      \"1986-03-31\\n\",\n      \"1986-05-05\\n\",\n      \"1986-08-25\\n\",\n      \"1986-12-26\\n\",\n      \"1987-04-20\\n\",\n      \"1987-05-04\\n\",\n      \"1987-08-31\\n\",\n      \"1987-12-28\\n\",\n      \"1988-04-04\\n\",\n      \"1988-05-02\\n\",\n      \"1988-08-29\\n\",\n      \"1988-12-27\\n\",\n      \"1989-03-27\\n\",\n      \"1989-05-01\\n\",\n      \"1989-08-28\\n\",\n      \"1989-12-26\\n\",\n      \"1990-04-16\\n\",\n      \"1990-05-07\\n\",\n      \"1990-08-27\\n\",\n      \"1990-12-26\\n\",\n      \"1991-04-01\\n\",\n      \"1991-05-06\\n\",\n      \"1991-08-26\\n\",\n      \"1991-12-26\\n\",\n      \"1992-04-20\\n\",\n      \"1992-05-04\\n\",\n      \"1992-08-31\\n\",\n      \"1992-12-28\\n\",\n      \"1993-04-12\\n\",\n      \"1993-05-03\\n\",\n      \"1993-08-30\\n\",\n      \"1993-12-27\\n\",\n      \"1993-12-28\\n\",\n      \"1994-01-03\\n\",\n      \"1994-04-04\\n\",\n      \"1994-05-02\\n\",\n      \"1994-08-29\\n\",\n      \"1994-12-27\\n\",\n      \"1995-04-17\\n\",\n      \"1995-05-08\\n\",\n      \"1995-08-28\\n\",\n      \"1995-12-26\\n\",\n      \"1996-04-08\\n\",\n      \"1996-05-06\\n\",\n      \"1996-08-26\\n\",\n      \"1996-12-26\\n\",\n      \"1997-03-31\\n\",\n      \"1997-05-05\\n\",\n      \"1997-08-25\\n\",\n      \"1997-12-26\\n\",\n      \"1998-04-13\\n\",\n      \"1998-05-04\\n\",\n      \"1998-08-31\\n\",\n      \"1998-12-28\\n\",\n      \"1998-12-31\\n\",\n      \"1999-04-05\\n\",\n      \"1999-05-03\\n\",\n      \"1999-08-30\\n\",\n      \"1999-12-27\\n\",\n      \"1999-12-28\\n\",\n      \"1999-12-31\\n\",\n      \"2000-01-03\\n\",\n      \"2000-04-24\\n\",\n      \"2000-05-01\\n\",\n      \"2000-08-28\\n\",\n      \"2000-12-26\\n\",\n      \"2001-04-16\\n\",\n      \"2001-05-07\\n\",\n      \"2001-08-27\\n\",\n      \"2001-12-26\\n\",\n      \"2002-04-01\\n\",\n      \"2002-05-06\\n\",\n      \"2002-06-03\\n\",\n      \"2002-06-04\\n\",\n      \"2002-08-26\\n\",\n      \"2002-12-26\\n\",\n      \"2003-04-21\\n\",\n      \"2003-05-05\\n\",\n      \"2003-08-25\\n\",\n      \"2003-12-26\\n\",\n      \"2004-04-12\\n\",\n      \"2004-05-03\\n\",\n      \"2004-08-30\\n\",\n      \"2004-12-27\\n\",\n      \"2004-12-28\\n\",\n      \"2005-01-03\\n\",\n      \"2005-03-28\\n\",\n      \"2005-05-02\\n\",\n      \"2005-08-29\\n\",\n      \"2005-12-27\\n\",\n      \"2006-04-17\\n\",\n      \"2006-05-01\\n\",\n      \"2006-08-28\\n\",\n      \"2006-12-26\\n\",\n      \"2007-04-09\\n\",\n      \"2007-05-07\\n\",\n      \"2007-08-27\\n\",\n      \"2007-12-26\\n\",\n      \"2008-03-24\\n\",\n      \"2008-05-05\\n\",\n      \"2008-08-25\\n\",\n      \"2008-12-26\\n\",\n      \"2009-03-27\\n\",\n      \"2009-04-13\\n\",\n      \"2009-05-04\\n\",\n      \"2009-06-25\\n\",\n      \"2009-08-11\\n\",\n      \"2009-08-31\\n\",\n      \"2009-09-02\\n\",\n      \"2009-12-28\\n\",\n      \"2010-04-05\\n\",\n      \"2010-04-19\\n\",\n      \"2010-04-20\\n\",\n      \"2010-05-03\\n\",\n      \"2010-05-12\\n\",\n      \"2010-08-30\\n\",\n      \"2010-12-27\\n\",\n      \"2010-12-28\\n\",\n      \"2011-01-03\\n\",\n      \"2011-04-25\\n\",\n      \"2011-04-29\\n\",\n      \"2011-05-02\\n\",\n      \"2011-08-29\\n\",\n      \"2011-12-27\\n\",\n      \"2012-04-09\\n\",\n      \"2012-05-07\\n\",\n      \"2012-06-04\\n\",\n      \"2012-06-05\\n\",\n      \"2012-08-27\\n\",\n      \"2012-12-26\\n\",\n      \"2013-04-01\\n\",\n      \"2013-05-06\\n\",\n      \"2013-08-26\\n\",\n      \"2013-09-23\\n\",\n      \"2013-12-26\\n\",\n      \"2014-04-21\\n\",\n      \"2014-05-05\\n\",\n      \"2014-08-25\\n\",\n      \"2014-12-26\\n\",\n      \"2015-01-02\\n\",\n      \"2015-04-06\\n\",\n      \"2015-05-04\\n\",\n      \"2015-08-31\\n\",\n      \"2015-12-17\\n\",\n      \"2015-12-28\\n\",\n      \"2016-03-28\\n\",\n      \"2016-05-02\\n\",\n      \"2016-08-29\\n\",\n      \"NaNs:  158\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Count and display NaNs in FTSE data \\n\",\n    \"# i.e. dates where we have BP but not FTSE data\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print \\\"NaNs: \\\", nan_counter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Proxy remaining FTSE NaNs by taking the mean of the prices in the \\n\",\n    \"# two closest trading days where data is available \\n\",\n    \"# (one before, one after the day)\\n\",\n    \"ftse_data_to_average = ['Open', 'High', 'Low', 'Close']    \\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        if not (pd.isnull(bp.loc[bp_ftse_start+row-1, 'FTSE Date']) or pd.isnull(bp.loc[bp_ftse_start+row+1, 'FTSE Date'])):\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        else:\\n\",\n    \"            go_back = 0\\n\",\n    \"            go_forward = 0\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row-1-go_back, 'FTSE Date']):\\n\",\n    \"                go_back += 1\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row+1+go_forward, 'FTSE Date']):\\n\",\n    \"                go_forward += 1\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                    bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1-go_back,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1+go_forward,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"NaNs:  0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Check there are no more NaNs\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print \\\"NaNs: \\\", nan_counter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    print \\\"X.tail: \\\", X.tail()\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"X_train = []\\n\",\n    \"X_test = []\\n\",\n    \"y_train = []\\n\",\n    \"y_test = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"ImportError\",\n     \"evalue\": \"No module named multioutput\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mImportError\\u001b[0m                               Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-22-8a196c069a0b>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      1\\u001b[0m \\u001b[0;31m# Import MultiOutputRegressor to handle predicting multiple outputs\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 2\\u001b[0;31m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mmultioutput\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mMultiOutputRegressor\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      3\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      4\\u001b[0m \\u001b[0;31m# Import metrics\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mmetrics\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mmean_absolute_error\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mImportError\\u001b[0m: No module named multioutput\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2)) * 100\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print \\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred)\\n\",\n    \"    print \\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred)\\n\",\n    \"    print \\\"Explained Variance Score: \\\", explained_variance_score(test, pred)\\n\",\n    \"    print \\\"Mean Squared Error: \\\", mean_squared_error(test, pred)\\n\",\n    \"    print \\\"R2 score: \\\", r2_score(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"days = 7\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    # Lines below for debugging purposes\\n\",\n    \"#    print \\\"X_train.head(): \\\", X_train.head()\\n\",\n    \"#    print \\\"X_train.tail(): \\\", X_train.tail()\\n\",\n    \"#    print \\\"Pred: \\\", pred[:5]\\n\",\n    \"#    print \\\"Test: \\\", y_test[:5]\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print \\\"# Days used to predict: %s\\\" % str(days)\\n\",\n    \"    print \\\"\\\\n%s-day predictions\\\" % str(target_days) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"def execute(steps=8, buffer_step=1000, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test(days=days, periods=periods, buffer=buffer)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# svm.SVR() trial\\n\",\n    \"execute(model=svm.SVR(), steps=8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Linear Regression trial\\n\",\n    \"execute(steps=8)\\n\",\n    \"\\n\",\n    \"# R2 scores: [0.859, 0.791, 0.606, 0.936, 0.835, 0.871, 0.623, 0.936]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\",\n    \"\\n\",\n    \"No change in performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2 Feature Selection\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.1 Adding more of the same type of features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Considering more than 7 days' worth of prior data\\n\",\n    \"# 10 days' worth of prior data\\n\",\n    \"execute(steps=10, days=10, buffer_step = 700)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 14 days' worth of prior data\\n\",\n    \"execute(steps=15, days=14, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 21 days' worth of prior data\\n\",\n    \"execute(steps=15, days=21, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 30 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=30, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 100 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=100, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.2 Adding Oil Stock Prices (GAIA)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create dataframe with BP and GAIA data in overlapping date range\\n\",\n    \"# Date range: 1999-10-29 to 2014-09-30\\n\",\n    \"# `bp_gaia_start` etc defined in Feature Engineering section 1.2.2.2\\n\",\n    \"bp_gaia = bp.loc[bp_gaia_start:bp_gaia_start+bp_gaia_intersect_length-1]\\n\",\n    \"\\n\",\n    \"# Check it ends at the right date\\n\",\n    \"bp_gaia.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"len(bp_gaia)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add GAIA data.\\n\",\n    \"\\n\",\n    \"# Potential improvement: Generalise `prepare_train_test` function instead\\n\",\n    \"# of copy and pasting it and making a new function.\\n\",\n    \"def prepare_train_test_with_gaia(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_gaia):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days`: the number of days prior we consider (the prices of)\\n\",\n    \"    `periods`: the total number of datapoints used (training + test)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # GAIA cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('GAIA i-%s' % str(j))\\n\",\n    \"    columns.append('GAIA Adj. High')\\n\",\n    \"    columns.append('GAIA Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['GAIA i-%s' % str(days-j)] = df.iloc[buffer+i+j]['GAIA %s' % str(target)]\\n\",\n    \"        features.iloc[i]['GAIA Adj. High'] = max(df[buffer+i:buffer+i+days]['GAIA Adj. High'])\\n\",\n    \"        features.iloc[i]['GAIA Adj. Low'] = min(df[buffer+i:buffer+i+days]['GAIA Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_gaia(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + GAIA data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_gaia(days=days, periods=periods, buffer=buffer, df=bp_gaia)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 7 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 10 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(days=10, steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.3 TODO: Adding FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create df with BP and FTSE data\\n\",\n    \"bp_ftse = bp.loc[bp_ftse_start:]\\n\",\n    \"bp_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add FTSE data.\\n\",\n    \"def prepare_train_test_with_ftse(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_ftse, name='FTSE'):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # FTSE cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('%s i-%s' % (name, str(j)))\\n\",\n    \"    columns.append('%s High' % name)\\n\",\n    \"    columns.append('%s Low' % name)\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['%s i-%s' % (name, str(days-j))] = df.iloc[buffer+i+j]['%s %s' % (name, 'Close')]\\n\",\n    \"        features.iloc[i]['%s High' % name] = max(df[buffer+i:buffer+i+days]['%s High' % name])\\n\",\n    \"        features.iloc[i]['%s Low' % name] = min(df[buffer+i:buffer+i+days]['%s Low' % name])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_ftse(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 7 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=7, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Consider 10 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=10, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# We want an array with predictions for our model in a long date range.\\n\",\n    \"# We will consider the max error predictions, that is,\\n\",\n    \"# predictions of adjusted close prices 7 days ahead.\\n\",\n    \"\\n\",\n    \"# Initialise variable\\n\",\n    \"predictions_800_off = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predict(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Append predictions to `predictions_800_off`.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    print \\\"Pred: \\\", pred\\n\",\n    \"    predictions_800_off.append(pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Pared-down execute function that runs train-test cycles and \\n\",\n    \"# appends the predictions to `predictions_800_off` via the function `predict()`.\\n\",\n    \"def execute_viz(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        predict(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract predictions. \\n\",\n    \"# `execute_viz` function appends predictions to `predictions_800_off`.\\n\",\n    \"execute_viz(steps=35)\\n\",\n    \"predictions_800_off\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Put all 7-days-ahead predictions into an array\\n\",\n    \"predictions_800_7thday = []\\n\",\n    \"for array in predictions_800_off:\\n\",\n    \"    for week_prediction in array:\\n\",\n    \"        predictions_800_7thday.append(week_prediction[6]) \\n\",\n    \"print len(predictions_800_7thday)\\n\",\n    \"predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Prepare dataframe for visualisation\\n\",\n    \"# There are 7000 predictions\\n\",\n    \"bp_final_predictions = bp_ftse[800+6:806+7000]\\n\",\n    \"bp_final_predictions.loc[:,'7d Ahead Pred'] = predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Plotting predictions compared with actual adjusted close prices\\n\",\n    \"bp_final_predictions.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Plotting predictions compared with actual prices\\n\",\n    \"# Only first 200 predictions\\n\",\n    \"bp_preds_200 = bp_final_predictions[:200]\\n\",\n    \"bp_preds_200.plot(y=['Adj. Close','7d Ahead Pred'], x='Date', y='Price (£)').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/3-methodology-results-conclusion-code-py3-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model but are nice for visualisations\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Oil Stocks\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"print(\\\"Oil stocks in DF: \\\", oil_stocks_in_df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract GAIA data\\n\",\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and GAIA data start intersecting \\n\",\n    \"# i.e. date = 1999-10-29\\n\",\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Read in FTSE100 data\\n\",\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"\\n\",\n    \"# Preview data\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sort FTSE100 data by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and FTSE data start intersecting \\n\",\n    \"# i.e. date = 1984-04-02\\n\",\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Adds FTSE data to BP dataframe, joining at dates\\n\",\n    \"\\n\",\n    \"# FTSE columns we want to copy to BP dataframe\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']    \\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the FTSE row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"bp_counter = 0\\n\",\n    \"ftse_counter = 0\\n\",\n    \"while ftse_counter < len(sorted_ftse100):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start + bp_counter, 'Date']\\n\",\n    \"    ftse_date = sorted_ftse100.loc[ftse_start - ftse_counter, 'Date']\\n\",\n    \"    if bp_date == ftse_date:\\n\",\n    \"        # Add FTSE data to BP row\\n\",\n    \"        for col in ftse_data_to_copy:\\n\",\n    \"            bp.loc[bp_ftse_start + bp_counter, 'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start - ftse_counter,'%s' % str(col)]\\n\",\n    \"        # FTSE counter + 1, BP counter + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    elif bp_date < ftse_date:\\n\",\n    \"        # Move to next BP row, same FTSE row and repeat\\n\",\n    \"        bp_counter += 1\\n\",\n    \"    elif bp_date > ftse_date:\\n\",\n    \"        # Move to next FTSE row, same BP row and repeat\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    else:\\n\",\n    \"        print(\\\"Error: BP date is \\\", bp_date, \\\"; FTSE date is \\\", ftse_date)\\n\",\n    \"        # FTSE row + 1, BP row + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1984-04-27\\n\",\n      \"1984-05-02\\n\",\n      \"1984-05-07\\n\",\n      \"1984-05-29\\n\",\n      \"1984-08-27\\n\",\n      \"1984-12-26\\n\",\n      \"1985-04-08\\n\",\n      \"1985-05-06\\n\",\n      \"1985-08-26\\n\",\n      \"1985-12-26\\n\",\n      \"1986-03-31\\n\",\n      \"1986-05-05\\n\",\n      \"1986-08-25\\n\",\n      \"1986-12-26\\n\",\n      \"1987-04-20\\n\",\n      \"1987-05-04\\n\",\n      \"1987-08-31\\n\",\n      \"1987-12-28\\n\",\n      \"1988-04-04\\n\",\n      \"1988-05-02\\n\",\n      \"1988-08-29\\n\",\n      \"1988-12-27\\n\",\n      \"1989-03-27\\n\",\n      \"1989-05-01\\n\",\n      \"1989-08-28\\n\",\n      \"1989-12-26\\n\",\n      \"1990-04-16\\n\",\n      \"1990-05-07\\n\",\n      \"1990-08-27\\n\",\n      \"1990-12-26\\n\",\n      \"1991-04-01\\n\",\n      \"1991-05-06\\n\",\n      \"1991-08-26\\n\",\n      \"1991-12-26\\n\",\n      \"1992-04-20\\n\",\n      \"1992-05-04\\n\",\n      \"1992-08-31\\n\",\n      \"1992-12-28\\n\",\n      \"1993-04-12\\n\",\n      \"1993-05-03\\n\",\n      \"1993-08-30\\n\",\n      \"1993-12-27\\n\",\n      \"1993-12-28\\n\",\n      \"1994-01-03\\n\",\n      \"1994-04-04\\n\",\n      \"1994-05-02\\n\",\n      \"1994-08-29\\n\",\n      \"1994-12-27\\n\",\n      \"1995-04-17\\n\",\n      \"1995-05-08\\n\",\n      \"1995-08-28\\n\",\n      \"1995-12-26\\n\",\n      \"1996-04-08\\n\",\n      \"1996-05-06\\n\",\n      \"1996-08-26\\n\",\n      \"1996-12-26\\n\",\n      \"1997-03-31\\n\",\n      \"1997-05-05\\n\",\n      \"1997-08-25\\n\",\n      \"1997-12-26\\n\",\n      \"1998-04-13\\n\",\n      \"1998-05-04\\n\",\n      \"1998-08-31\\n\",\n      \"1998-12-28\\n\",\n      \"1998-12-31\\n\",\n      \"1999-04-05\\n\",\n      \"1999-05-03\\n\",\n      \"1999-08-30\\n\",\n      \"1999-12-27\\n\",\n      \"1999-12-28\\n\",\n      \"1999-12-31\\n\",\n      \"2000-01-03\\n\",\n      \"2000-04-24\\n\",\n      \"2000-05-01\\n\",\n      \"2000-08-28\\n\",\n      \"2000-12-26\\n\",\n      \"2001-04-16\\n\",\n      \"2001-05-07\\n\",\n      \"2001-08-27\\n\",\n      \"2001-12-26\\n\",\n      \"2002-04-01\\n\",\n      \"2002-05-06\\n\",\n      \"2002-06-03\\n\",\n      \"2002-06-04\\n\",\n      \"2002-08-26\\n\",\n      \"2002-12-26\\n\",\n      \"2003-04-21\\n\",\n      \"2003-05-05\\n\",\n      \"2003-08-25\\n\",\n      \"2003-12-26\\n\",\n      \"2004-04-12\\n\",\n      \"2004-05-03\\n\",\n      \"2004-08-30\\n\",\n      \"2004-12-27\\n\",\n      \"2004-12-28\\n\",\n      \"2005-01-03\\n\",\n      \"2005-03-28\\n\",\n      \"2005-05-02\\n\",\n      \"2005-08-29\\n\",\n      \"2005-12-27\\n\",\n      \"2006-04-17\\n\",\n      \"2006-05-01\\n\",\n      \"2006-08-28\\n\",\n      \"2006-12-26\\n\",\n      \"2007-04-09\\n\",\n      \"2007-05-07\\n\",\n      \"2007-08-27\\n\",\n      \"2007-12-26\\n\",\n      \"2008-03-24\\n\",\n      \"2008-05-05\\n\",\n      \"2008-08-25\\n\",\n      \"2008-12-26\\n\",\n      \"2009-03-27\\n\",\n      \"2009-04-13\\n\",\n      \"2009-05-04\\n\",\n      \"2009-06-25\\n\",\n      \"2009-08-11\\n\",\n      \"2009-08-31\\n\",\n      \"2009-09-02\\n\",\n      \"2009-12-28\\n\",\n      \"2010-04-05\\n\",\n      \"2010-04-19\\n\",\n      \"2010-04-20\\n\",\n      \"2010-05-03\\n\",\n      \"2010-05-12\\n\",\n      \"2010-08-30\\n\",\n      \"2010-12-27\\n\",\n      \"2010-12-28\\n\",\n      \"2011-01-03\\n\",\n      \"2011-04-25\\n\",\n      \"2011-04-29\\n\",\n      \"2011-05-02\\n\",\n      \"2011-08-29\\n\",\n      \"2011-12-27\\n\",\n      \"2012-04-09\\n\",\n      \"2012-05-07\\n\",\n      \"2012-06-04\\n\",\n      \"2012-06-05\\n\",\n      \"2012-08-27\\n\",\n      \"2012-12-26\\n\",\n      \"2013-04-01\\n\",\n      \"2013-05-06\\n\",\n      \"2013-08-26\\n\",\n      \"2013-09-23\\n\",\n      \"2013-12-26\\n\",\n      \"2014-04-21\\n\",\n      \"2014-05-05\\n\",\n      \"2014-08-25\\n\",\n      \"2014-12-26\\n\",\n      \"2015-01-02\\n\",\n      \"2015-04-06\\n\",\n      \"2015-05-04\\n\",\n      \"2015-08-31\\n\",\n      \"2015-12-17\\n\",\n      \"2015-12-28\\n\",\n      \"2016-03-28\\n\",\n      \"2016-05-02\\n\",\n      \"2016-08-29\\n\",\n      \"NaNs:  158\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Count and display NaNs in FTSE data \\n\",\n    \"# i.e. dates where we have BP but not FTSE data\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Proxy remaining FTSE NaNs by taking the mean of the prices in the \\n\",\n    \"# two closest trading days where data is available \\n\",\n    \"# (one before, one after the day)\\n\",\n    \"ftse_data_to_average = ['Open', 'High', 'Low', 'Close']    \\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        if not (pd.isnull(bp.loc[bp_ftse_start+row-1, 'FTSE Date']) or pd.isnull(bp.loc[bp_ftse_start+row+1, 'FTSE Date'])):\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        else:\\n\",\n    \"            go_back = 0\\n\",\n    \"            go_forward = 0\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row-1-go_back, 'FTSE Date']):\\n\",\n    \"                go_back += 1\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row+1+go_forward, 'FTSE Date']):\\n\",\n    \"                go_forward += 1\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                    bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1-go_back,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1+go_forward,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"NaNs:  0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Check there are no more NaNs\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    print(\\\"X.tail: \\\", X.tail())\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"X_train = []\\n\",\n    \"X_test = []\\n\",\n    \"y_train = []\\n\",\n    \"y_test = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2)) * 100\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print(\\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred))\\n\",\n    \"    print(\\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred))\\n\",\n    \"    print(\\\"Explained Variance Score: \\\", explained_variance_score(test, pred))\\n\",\n    \"    print(\\\"Mean Squared Error: \\\", mean_squared_error(test, pred))\\n\",\n    \"    print(\\\"R2 score: \\\", r2_score(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"days = 7\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    # Lines below for debugging purposes\\n\",\n    \"#    print(\\\"X_train.head(): \\\", X_train.head())\\n\",\n    \"#    print(\\\"X_train.tail(): \\\", X_train.tail())\\n\",\n    \"#    print(\\\"Pred: \\\", pred[:5])\\n\",\n    \"#    print(\\\"Test: \\\", y_test[:5])\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print(\\\"# Days used to predict: %s\\\" % str(days))\\n\",\n    \"    print(\\\"\\\\n%s-day predictions\\\" % str(target_days)) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"def execute(steps=8, buffer_step=1000, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test(days=days, periods=periods, buffer=buffer)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.35177309038\\n\",\n      \"Explained Variance Score:  -0.999897657081\\n\",\n      \"Mean Squared Error:  5.3988704324\\n\",\n      \"R2 score:  -1.79018260924\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0968047690639\\n\",\n      \"Explained Variance Score:  0.631705385589\\n\",\n      \"Mean Squared Error:  0.0157858151181\\n\",\n      \"R2 score:  0.624974281171\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.121813762853\\n\",\n      \"Explained Variance Score:  0.841217523638\\n\",\n      \"Mean Squared Error:  0.0294876156146\\n\",\n      \"R2 score:  0.833996914272\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.426327931115\\n\",\n      \"Explained Variance Score:  0.603248858424\\n\",\n      \"Mean Squared Error:  0.3014216695\\n\",\n      \"R2 score:  0.267021281001\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  2.78950172548\\n\",\n      \"Explained Variance Score:  -3.16904684367\\n\",\n      \"Mean Squared Error:  12.5284487756\\n\",\n      \"R2 score:  -9.15605753784\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794150514869\\n\",\n      \"Explained Variance Score:  0.596407090489\\n\",\n      \"Mean Squared Error:  1.14332478592\\n\",\n      \"R2 score:  0.597101359913\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  4.81075475134\\n\",\n      \"Explained Variance Score:  -1.96163694244\\n\",\n      \"Mean Squared Error:  33.132880399\\n\",\n      \"R2 score:  -8.55239322845\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.21013490927\\n\",\n      \"Explained Variance Score:  0.826791346825\\n\",\n      \"Mean Squared Error:  2.43831676478\\n\",\n      \"R2 score:  0.822383271832\\n\",\n      \"Errors:  [Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64, Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64, Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64, Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64, Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64, Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64, Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64, Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[28.167307082010478, 1.4463260128939317, 1.4015691053772388, 10.765715566952402, 24.41364846412203, 2.5976792674283566, 18.495640626302091, 2.5516641001831584], [28.524924281544262, 2.1150843700255639, 1.9904192071209452, 9.9777793095670795, 24.431344729424715, 3.367362298621531, 18.32452824442602, 2.9446157412542853], [28.966326367296624, 2.5023622771613652, 2.3109755963471068, 10.480972016930716, 24.620149855164474, 3.7850136112690573, 18.233121169601173, 3.1880683026068426], [29.085697436318398, 2.8063986750089587, 2.7077120693474366, 10.557942877986475, 24.986822088443628, 4.1801925531737281, 18.358886996507305, 3.4904393628985919], [29.562881417844032, 3.021868557170595, 3.0291535073135702, 10.431970367583759, 25.272566808380592, 4.6500648454107214, 18.479669548458453, 4.1392852048533699], [29.542482156287058, 3.1522506324077977, 3.4807177473584945, 10.593414589800933, 26.220902712818216, 5.0692206066914274, 18.598393316146357, 4.6759345302063018], [29.721120149448151, 3.3063521749028761, 4.1903047240177909, 11.1043790016977, 26.731233491624817, 5.4599845932349131, 18.818122838439312, 5.1515982900107735]]\\n\",\n      \"Mean daily error:  [11.229943778158709, 11.45950727274805, 11.76087364954717, 12.021761507460564, 12.323432532126887, 12.666664536464573, 13.060386907922041]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# svm.SVR() trial\\n\",\n    \"execute(model=svm.SVR(), steps=8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.238191228204\\n\",\n      \"Explained Variance Score:  0.936734586453\\n\",\n      \"Mean Squared Error:  0.124174009044\\n\",\n      \"R2 score:  0.935825805621\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0972692755964\\n\",\n      \"Explained Variance Score:  0.631714378075\\n\",\n      \"Mean Squared Error:  0.0158811529743\\n\",\n      \"R2 score:  0.622709326982\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107737269091\\n\",\n      \"Explained Variance Score:  0.871650317662\\n\",\n      \"Mean Squared Error:  0.0228261083752\\n\",\n      \"R2 score:  0.871498446163\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.181147312912\\n\",\n      \"Explained Variance Score:  0.875052508652\\n\",\n      \"Mean Squared Error:  0.0677040810751\\n\",\n      \"R2 score:  0.835361370336\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214491478056\\n\",\n      \"Explained Variance Score:  0.938634248613\\n\",\n      \"Mean Squared Error:  0.079359261295\\n\",\n      \"R2 score:  0.935668234886\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.800157764607\\n\",\n      \"Explained Variance Score:  0.613715850639\\n\",\n      \"Mean Squared Error:  1.11699089039\\n\",\n      \"R2 score:  0.606381217067\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.64399497304\\n\",\n      \"Explained Variance Score:  0.892268550448\\n\",\n      \"Mean Squared Error:  0.724194775999\\n\",\n      \"R2 score:  0.791210628505\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.05035951615\\n\",\n      \"Explained Variance Score:  0.867777620914\\n\",\n      \"Mean Squared Error:  1.93149720042\\n\",\n      \"R2 score:  0.859302032386\\n\",\n      \"Errors:  [Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64, Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64, Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64, Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64, Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64, Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64, Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64, Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3698570333111504, 1.4112606385290734, 1.3388596770845407, 1.9978731488987438, 1.0643274139994094, 2.1726600714614435, 1.2096456519754599, 1.7851545701577813], [3.5397290828630266, 2.0992094906568943, 1.8827346495576485, 2.9916658848423605, 1.5585063699310966, 3.1013013471389437, 1.8485430242142713, 2.3575578468241742], [4.4040805111224612, 2.4921560557064821, 2.1764572183007651, 3.8243303952515619, 1.9133366253171493, 3.7697615623429668, 2.3093446670878617, 2.8551593057497877], [5.1323698739556516, 2.7671208137147856, 2.5543948404668759, 4.5282824168670546, 2.2001438159343518, 4.2080025337986378, 2.6823554175829778, 3.1844563168900706], [5.7184126896356871, 2.9697212352907276, 2.8435756292022925, 5.2200020876609496, 2.4613047808963091, 4.6245858986274824, 3.0873673748688937, 3.7434820521423369], [6.3399233706097196, 3.1396242770876306, 3.0843584513004441, 5.8895164465804859, 2.661753553657308, 5.0196880611640164, 3.4767926237582256, 4.2266657488609063], [6.8622343672731771, 3.2855971145088323, 3.3444418914677345, 6.4172185016832541, 2.843053391214541, 5.462962469783192, 3.8883808398183208, 4.6139581254374233]]\\n\",\n      \"Mean daily error:  [1.6687047756772002, 2.4224059620035518, 2.9680782926098792, 3.4071407536513005, 3.8335564685405847, 4.2297903166273416, 4.5897308376483092]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Linear Regression trial\\n\",\n    \"execute(steps=8)\\n\",\n    \"\\n\",\n    \"# R2 scores: [0.859, 0.791, 0.606, 0.936, 0.835, 0.871, 0.623, 0.936]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\",\n    \"\\n\",\n    \"No change in performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2 Feature Selection\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.1 Adding more of the same type of features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-09  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-10  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"1979-10-11  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-12  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1979-10-09  7.67689  7.59882  7.72894   8.36703  7.28654  \\n\",\n      \"1979-10-10  7.69042  7.67689  7.59882   8.36703  7.28654  \\n\",\n      \"1979-10-11  7.67689  7.69042  7.67689   8.36703  7.55926  \\n\",\n      \"1979-10-12   7.9111  7.67689  7.69042   8.36703  7.53428  \\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689   8.36703  7.53428  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.245263403626\\n\",\n      \"Explained Variance Score:  0.934491328873\\n\",\n      \"Mean Squared Error:  0.129280801098\\n\",\n      \"R2 score:  0.933454012643\\n\",\n      \"Buffer:  700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-07-15  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104  5.80321   \\n\",\n      \"1982-07-16   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104   \\n\",\n      \"1982-07-17  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309   \\n\",\n      \"1982-07-18  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558   \\n\",\n      \"1982-07-19  5.15262  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1982-07-15  5.89377   5.9073  5.77718   5.95935  5.50446  \\n\",\n      \"1982-07-16  5.80321  5.89377   5.9073   5.95935  5.30876  \\n\",\n      \"1982-07-17  5.62104  5.80321  5.89377   5.95935  5.24423  \\n\",\n      \"1982-07-18  5.67309  5.62104  5.80321   5.89377  5.08809  \\n\",\n      \"1982-07-19  5.68558  5.67309  5.62104   5.82923  5.06102  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173300277596\\n\",\n      \"Explained Variance Score:  0.888815416717\\n\",\n      \"Mean Squared Error:  0.0490251778494\\n\",\n      \"R2 score:  0.883431428434\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-04-24  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   4.6967   \\n\",\n      \"1985-04-25  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   \\n\",\n      \"1985-04-26  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842   \\n\",\n      \"1985-04-27  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   \\n\",\n      \"1985-04-28  4.21578  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1985-04-24  4.72376   4.6967  4.72376   4.74874  4.50204  \\n\",\n      \"1985-04-25   4.6967  4.72376   4.6967   4.74874  4.44999  \\n\",\n      \"1985-04-26  4.71023   4.6967  4.72376   4.73625  4.35943  \\n\",\n      \"1985-04-27   4.6842  4.71023   4.6967   4.72376  4.26783  \\n\",\n      \"1985-04-28   4.6842   4.6842  4.71023   4.72376  4.21578  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.119108631048\\n\",\n      \"Explained Variance Score:  0.711899830922\\n\",\n      \"Mean Squared Error:  0.0289413179188\\n\",\n      \"R2 score:  0.708651146753\\n\",\n      \"Buffer:  2100\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-28  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682  6.23485   \\n\",\n      \"1988-01-29    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682   \\n\",\n      \"1988-01-30   6.2886    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   \\n\",\n      \"1988-01-31  6.34235   6.2886    6.194  6.10048  5.95321   6.0865  6.10048   \\n\",\n      \"1988-02-01   6.3015  6.34235   6.2886    6.194  6.10048  5.95321   6.0865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1988-01-28  6.31547  6.34235   6.2757   6.34235  5.93923  \\n\",\n      \"1988-01-29  6.23485  6.31547  6.34235   6.34235  5.93923  \\n\",\n      \"1988-01-30   6.1682  6.23485  6.31547   6.32945  5.93923  \\n\",\n      \"1988-01-31  6.11445   6.1682  6.23485   6.35525  5.93923  \\n\",\n      \"1988-02-01  6.10048  6.11445   6.1682    6.3961  5.93923  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0952769269966\\n\",\n      \"Explained Variance Score:  0.871507295966\\n\",\n      \"Mean Squared Error:  0.0159940255259\\n\",\n      \"R2 score:  0.870509426232\\n\",\n      \"Buffer:  2800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-11-07  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226  6.98862   \\n\",\n      \"1990-11-08  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226   \\n\",\n      \"1990-11-09  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702   \\n\",\n      \"1990-11-10   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862   \\n\",\n      \"1990-11-11  6.98862   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1990-11-07  6.91929  7.01658  6.86338   7.22567  6.80748  \\n\",\n      \"1990-11-08  6.98862  6.91929  7.01658   7.22567  6.80748  \\n\",\n      \"1990-11-09  7.21226  6.98862  6.91929   7.22567  6.80748  \\n\",\n      \"1990-11-10  7.08702  7.21226  6.98862   7.22567  6.80748  \\n\",\n      \"1990-11-11  6.98862  7.08702  7.21226   7.22567  6.80748  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.144183713669\\n\",\n      \"Explained Variance Score:  0.723639903735\\n\",\n      \"Mean Squared Error:  0.0348028136176\\n\",\n      \"R2 score:  0.713646708273\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-11  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-12  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"1993-08-13   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-14  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-15   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1993-08-11  9.36866  9.29831  9.29831    9.3998  9.00997  \\n\",\n      \"1993-08-12  9.21296  9.36866  9.29831   9.47131  9.00997  \\n\",\n      \"1993-08-13  9.11146  9.21296  9.36866   9.70198  9.00997  \\n\",\n      \"1993-08-14  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-15   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.175887097751\\n\",\n      \"Explained Variance Score:  0.887963498445\\n\",\n      \"Mean Squared Error:  0.0551035235759\\n\",\n      \"R2 score:  0.867615685704\\n\",\n      \"Buffer:  4200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1996-05-18  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776  19.2888   \\n\",\n      \"1996-05-19  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776   \\n\",\n      \"1996-05-20  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691   \\n\",\n      \"1996-05-21  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252   \\n\",\n      \"1996-05-22  20.0734  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1996-05-18  19.4235  19.6291  19.6008   19.7473  18.8327  \\n\",\n      \"1996-05-19  19.2888  19.4235  19.6291   19.9553  18.8327  \\n\",\n      \"1996-05-20  18.8776  19.2888  19.4235   20.3381  18.8327  \\n\",\n      \"1996-05-21  19.0691  18.8776  19.2888   20.6193  18.8327  \\n\",\n      \"1996-05-22  19.5252  19.0691  18.8776   20.6193  18.8327  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.338537070406\\n\",\n      \"Explained Variance Score:  0.880567104974\\n\",\n      \"Mean Squared Error:  0.199301427398\\n\",\n      \"R2 score:  0.878296105939\\n\",\n      \"Buffer:  4900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-02-25  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   25.869   \\n\",\n      \"1999-02-26  27.2306  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   \\n\",\n      \"1999-02-27   26.676  27.2306  26.8147  27.0771  26.1463  26.3344    27.29   \\n\",\n      \"1999-02-28  26.5934   26.676  27.2306  26.8147  27.0771  26.1463  26.3344   \\n\",\n      \"1999-03-01  27.0567  26.5934   26.676  27.2306  26.8147  27.0771  26.1463   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1999-02-25  25.6215   25.468  25.3739    27.384  24.8145  \\n\",\n      \"1999-02-26   25.869  25.6215   25.468    27.384  25.1907  \\n\",\n      \"1999-02-27  26.8889   25.869  25.6215    27.384  25.3096  \\n\",\n      \"1999-02-28    27.29  26.8889   25.869    27.384  25.4383  \\n\",\n      \"1999-03-01  26.3344    27.29  26.8889    27.384  26.0522  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.79987099583\\n\",\n      \"Explained Variance Score:  0.713699257351\\n\",\n      \"Mean Squared Error:  1.14286865075\\n\",\n      \"R2 score:  0.709731902283\\n\",\n      \"Buffer:  5600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-12-05  20.6998   20.841  21.0692  21.2803  21.3878  21.4792  20.6785   \\n\",\n      \"2001-12-06  21.3353  20.6998   20.841  21.0692  21.2803  21.3878  21.4792   \\n\",\n      \"2001-12-07  21.3679  21.3353  20.6998   20.841  21.0692  21.2803  21.3878   \\n\",\n      \"2001-12-08  21.3299  21.3679  21.3353  20.6998   20.841  21.0692  21.2803   \\n\",\n      \"2001-12-09  21.2375  21.3299  21.3679  21.3353  20.6998   20.841  21.0692   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2001-12-05  20.6677  20.8934  20.7161   21.5437  20.4119  \\n\",\n      \"2001-12-06  20.6785  20.6677  20.8934   21.5437  20.4119  \\n\",\n      \"2001-12-07  21.4792  20.6785  20.6677   21.5437  20.4119  \\n\",\n      \"2001-12-08  21.3878  21.4792  20.6785   21.5437  20.4119  \\n\",\n      \"2001-12-09  21.2803  21.3878  21.4792   21.5437  20.4119  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.841030573229\\n\",\n      \"Explained Variance Score:  0.823346393459\\n\",\n      \"Mean Squared Error:  1.23605771115\\n\",\n      \"R2 score:  0.721970087336\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2004-09-17  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684  39.3459   \\n\",\n      \"2004-09-18  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684   \\n\",\n      \"2004-09-19  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374   \\n\",\n      \"2004-09-20  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223   \\n\",\n      \"2004-09-21  39.8887  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2004-09-17  39.4294  40.4553  40.4672   41.3022  39.0358  \\n\",\n      \"2004-09-18  39.3459  39.4294  40.4553   41.3022  39.0358  \\n\",\n      \"2004-09-19  39.2684  39.3459  39.4294   41.3022  39.0358  \\n\",\n      \"2004-09-20  40.4374  39.2684  39.3459   41.3022  39.0358  \\n\",\n      \"2004-09-21  40.6223  40.4374  39.2684   41.3022  39.0358  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728558429454\\n\",\n      \"Explained Variance Score:  0.795888858571\\n\",\n      \"Mean Squared Error:  0.927322469233\\n\",\n      \"R2 score:  0.79156569031\\n\",\n      \"Errors:  [Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64, Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64, Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64, Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64, Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64, Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64, Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64, Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64, Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64, Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3633119350196083, 2.3656668815405815, 1.8068967673168335, 1.1618527298758623, 1.2445199687301822, 1.3663233859342694, 1.2306040140332253, 2.0991032810897887, 2.4324477531714686, 1.2507503445957771], [3.5547442825053919, 3.481529290249135, 2.5856310121744528, 1.6496590138637148, 1.809132425557288, 1.9964030368392935, 1.8720955368221319, 3.1280968433143097, 3.5227538429212828, 1.8321069037719084], [4.4479717498041955, 4.3049728599220547, 3.1680784232346348, 1.9720295214110184, 2.1910410000791423, 2.5121823913989516, 2.3170550743329108, 3.8585169441853613, 4.3728666842384767, 2.2386315167496664], [5.2227419733682234, 4.7215794009499099, 3.4891579548518452, 2.2414627141040615, 2.5055902203003813, 2.90970213520768, 2.6274277931002956, 4.376862471759261, 5.1061285474682583, 2.5932743630842392], [5.8260923948398808, 5.0598325984063965, 3.8226976530484578, 2.4088856925610633, 2.7730862599144057, 3.2157984690632953, 2.9342447416299611, 4.7079859138129168, 5.7969965267876038, 2.8488069806603251], [6.4375575079233638, 5.3681318110243605, 4.1111391646782698, 2.5862495537524421, 2.9855585838487566, 3.482818119821625, 3.2730794532705025, 4.9961485085103687, 6.418081003261106, 3.0338810314181326], [6.9698629698470569, 5.6450129168027123, 4.3105607363275551, 2.6921943572726881, 3.1522043963508404, 3.7153490809861225, 3.4874417668039328, 5.3341041131784843, 6.9664616392606362, 3.1588584581960775]]\\n\",\n      \"Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Considering more than 7 days' worth of prior data\\n\",\n    \"# 10 days' worth of prior data\\n\",\n    \"execute(steps=10, days=10, buffer_step = 700)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-14  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-15   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   \\n\",\n      \"1979-10-16  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452   \\n\",\n      \"1979-10-17  7.20847  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-14  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-15   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-16  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-17  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-13   8.36703  7.28654  \\n\",\n      \"1979-10-14   8.36703  7.28654  \\n\",\n      \"1979-10-15   8.36703  7.39063  \\n\",\n      \"1979-10-16   8.36703  7.18245  \\n\",\n      \"1979-10-17   8.36703  6.92221  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.248776074705\\n\",\n      \"Explained Variance Score:  0.932287153948\\n\",\n      \"Mean Squared Error:  0.131935951513\\n\",\n      \"R2 score:  0.931564117202\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-07  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-08  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-09  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929   \\n\",\n      \"1981-10-10  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327   \\n\",\n      \"1981-10-11  3.72134  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1981-10-07  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553  3.44757   \\n\",\n      \"1981-10-08  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553   \\n\",\n      \"1981-10-09  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464   \\n\",\n      \"1981-10-10  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918   \\n\",\n      \"1981-10-11  3.64327  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1981-10-07    4.0076   3.3185  \\n\",\n      \"1981-10-08    4.0076   3.3185  \\n\",\n      \"1981-10-09    4.0076   3.3185  \\n\",\n      \"1981-10-10    4.0076  3.48713  \\n\",\n      \"1981-10-11    4.0076  3.53918  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.139681061468\\n\",\n      \"Explained Variance Score:  0.695779905092\\n\",\n      \"Mean Squared Error:  0.0337119645641\\n\",\n      \"R2 score:  0.685613674393\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-30  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-01  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-02  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192   \\n\",\n      \"1983-10-03   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602   \\n\",\n      \"1983-10-04  4.35943   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1983-09-30  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-10-01  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-10-02  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-10-03  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-10-04  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-30   4.60613   4.3459  \\n\",\n      \"1983-10-01   4.60613   4.3459  \\n\",\n      \"1983-10-02   4.56762  4.26783  \\n\",\n      \"1983-10-03   4.56762  4.26783  \\n\",\n      \"1983-10-04   4.56762  4.26783  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0983383277787\\n\",\n      \"Explained Variance Score:  0.673001905538\\n\",\n      \"Mean Squared Error:  0.0159582555222\\n\",\n      \"R2 score:  0.663777302829\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-09-20  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809  5.14013   \\n\",\n      \"1985-09-21  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809   \\n\",\n      \"1985-09-22  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865   \\n\",\n      \"1985-09-23  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013   \\n\",\n      \"1985-09-24  5.11307  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1985-09-20  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262  5.20467   \\n\",\n      \"1985-09-21  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262   \\n\",\n      \"1985-09-22  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488   \\n\",\n      \"1985-09-23  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648   \\n\",\n      \"1985-09-24  5.14013  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1985-09-20   5.26921  4.89239  \\n\",\n      \"1985-09-21   5.26921  4.89239  \\n\",\n      \"1985-09-22   5.26921  4.89239  \\n\",\n      \"1985-09-23   5.26921  4.90488  \\n\",\n      \"1985-09-24   5.26921  4.91841  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.122285822087\\n\",\n      \"Explained Variance Score:  0.532878366341\\n\",\n      \"Mean Squared Error:  0.025722263709\\n\",\n      \"R2 score:  0.528611373486\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-10  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-11  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-12  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782   \\n\",\n      \"1987-09-13  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479   \\n\",\n      \"1987-09-14  5.78111  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1987-09-10  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-11  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-12  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-13  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-14   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-10   5.84824  5.62126  \\n\",\n      \"1987-09-11   5.84824  5.62126  \\n\",\n      \"1987-09-12   5.84824  5.62126  \\n\",\n      \"1987-09-13   5.84824  5.62126  \\n\",\n      \"1987-09-14   5.84824  5.62126  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107345237581\\n\",\n      \"Explained Variance Score:  0.872175783957\\n\",\n      \"Mean Squared Error:  0.0226157683537\\n\",\n      \"R2 score:  0.872187834621\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-02  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-03  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-04  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851   \\n\",\n      \"1989-09-05  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932   \\n\",\n      \"1989-09-06  8.74405  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1989-09-02  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123  8.56614   \\n\",\n      \"1989-09-03  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123   \\n\",\n      \"1989-09-04  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805   \\n\",\n      \"1989-09-05  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932   \\n\",\n      \"1989-09-06  8.57932  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1989-09-02   8.78578  8.35967  \\n\",\n      \"1989-09-03   8.78578  8.35967  \\n\",\n      \"1989-09-04   8.78578  8.35967  \\n\",\n      \"1989-09-05   8.78578  8.35967  \\n\",\n      \"1989-09-06   8.78578  8.35967  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.182993141917\\n\",\n      \"Explained Variance Score:  0.923373254714\\n\",\n      \"Mean Squared Error:  0.0633763394031\\n\",\n      \"R2 score:  0.913263877343\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-27  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121  5.01791   \\n\",\n      \"1991-08-28  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121   \\n\",\n      \"1991-08-29  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451   \\n\",\n      \"1991-08-30  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245   \\n\",\n      \"1991-08-31  4.97595  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1991-08-27  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-28  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-29  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-30  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-31  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-27   5.27306  4.69245  \\n\",\n      \"1991-08-28   5.24471  4.69245  \\n\",\n      \"1991-08-29   5.24471  4.69245  \\n\",\n      \"1991-08-30   5.15966  4.69245  \\n\",\n      \"1991-08-31   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.196205423468\\n\",\n      \"Explained Variance Score:  0.867530206283\\n\",\n      \"Mean Squared Error:  0.0757048791729\\n\",\n      \"R2 score:  0.806951047925\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-18   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-19  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-20  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   \\n\",\n      \"1993-08-21   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747   \\n\",\n      \"1993-08-22  9.34213   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1993-08-18   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831  9.29831   \\n\",\n      \"1993-08-19  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831   \\n\",\n      \"1993-08-20   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866   \\n\",\n      \"1993-08-21  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-22  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1993-08-18   9.83231  9.00997  \\n\",\n      \"1993-08-19   9.83231  9.00997  \\n\",\n      \"1993-08-20   9.83231  9.00997  \\n\",\n      \"1993-08-21   9.83231  9.00997  \\n\",\n      \"1993-08-22   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.174147642649\\n\",\n      \"Explained Variance Score:  0.892678602856\\n\",\n      \"Mean Squared Error:  0.0544705960063\\n\",\n      \"R2 score:  0.872851342431\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-09  15.2984  15.5612  15.4004   15.357  15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-10   15.005  15.2984  15.5612  15.4004   15.357  15.2538  15.1071   \\n\",\n      \"1995-08-11  15.0778   15.005  15.2984  15.5612  15.4004   15.357  15.2538   \\n\",\n      \"1995-08-12  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   15.357   \\n\",\n      \"1995-08-13  15.1071  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1995-08-09  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-08-10  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-08-11  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-12  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-13   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-08-09   15.5612  14.9311  \\n\",\n      \"1995-08-10   15.5612  14.9463  \\n\",\n      \"1995-08-11   15.5612  14.9463  \\n\",\n      \"1995-08-12   15.5612  14.9463  \\n\",\n      \"1995-08-13   15.5612  14.9463  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214711322421\\n\",\n      \"Explained Variance Score:  0.942826192476\\n\",\n      \"Mean Squared Error:  0.0808523509562\\n\",\n      \"R2 score:  0.937817635223\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-07-31  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-01  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-02  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928   \\n\",\n      \"1997-08-03  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197   \\n\",\n      \"1997-08-04  19.7879  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1997-07-31  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403  22.0346   \\n\",\n      \"1997-08-01  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403   \\n\",\n      \"1997-08-02  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387   \\n\",\n      \"1997-08-03  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358   \\n\",\n      \"1997-08-04  20.9197  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1997-07-31   22.1407  20.1788  \\n\",\n      \"1997-08-01   22.1407  19.8627  \\n\",\n      \"1997-08-02   21.5061  19.8627  \\n\",\n      \"1997-08-03   21.4771  19.8482  \\n\",\n      \"1997-08-04   21.4771  19.6528  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.575956001159\\n\",\n      \"Explained Variance Score:  0.632401065134\\n\",\n      \"Mean Squared Error:  0.536694556461\\n\",\n      \"R2 score:  0.635433823871\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-23  27.1893  26.8435   26.623  26.3423  26.5027  26.7533  26.9688   \\n\",\n      \"1999-07-24  27.6253  27.1893  26.8435   26.623  26.3423  26.5027  26.7533   \\n\",\n      \"1999-07-25  28.4122  27.6253  27.1893  26.8435   26.623  26.3423  26.5027   \\n\",\n      \"1999-07-26  27.3447  28.4122  27.6253  27.1893  26.8435   26.623  26.3423   \\n\",\n      \"1999-07-27    27.47  27.3447  28.4122  27.6253  27.1893  26.8435   26.623   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1999-07-23  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-24  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-25  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-26  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-27  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-23   27.3146   25.811  \\n\",\n      \"1999-07-24   28.1917   25.811  \\n\",\n      \"1999-07-25   28.7229   25.811  \\n\",\n      \"1999-07-26   28.7229  25.9664  \\n\",\n      \"1999-07-27   28.7229  25.9664  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834586135448\\n\",\n      \"Explained Variance Score:  0.552372347128\\n\",\n      \"Mean Squared Error:  1.19797116115\\n\",\n      \"R2 score:  0.541753682113\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-17  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   21.771   \\n\",\n      \"2001-07-18  21.2871  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-19  21.2339  21.2871  20.7074  19.9948   20.633  21.0584  21.1701   \\n\",\n      \"2001-07-20  22.2708  21.2339  21.2871  20.7074  19.9948   20.633  21.0584   \\n\",\n      \"2001-07-21  21.9624  22.2708  21.2339  21.2871  20.7074  19.9948   20.633   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2001-07-17  22.2762  21.2179  21.9784  22.0156  21.1488   21.085  21.7337   \\n\",\n      \"2001-07-18   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   21.085   \\n\",\n      \"2001-07-19  21.4998   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   \\n\",\n      \"2001-07-20  21.1701  21.4998   21.771  22.2762  21.2179  21.9784  22.0156   \\n\",\n      \"2001-07-21  21.0584  21.1701  21.4998   21.771  22.2762  21.2179  21.9784   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2001-07-17   22.6378  19.9417  \\n\",\n      \"2001-07-18   22.6378  19.9417  \\n\",\n      \"2001-07-19   22.6378  19.9417  \\n\",\n      \"2001-07-20   22.6378  19.9417  \\n\",\n      \"2001-07-21   22.6378  19.9417  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.676312438719\\n\",\n      \"Explained Variance Score:  0.79312466119\\n\",\n      \"Mean Squared Error:  0.850174654841\\n\",\n      \"R2 score:  0.78753038764\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-10  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-11  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-12   34.112  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937   \\n\",\n      \"2003-07-13  34.0719   34.112  33.9686  34.1522  33.5959  33.0052  33.3722   \\n\",\n      \"2003-07-14  33.6131  34.0719   34.112  33.9686  34.1522  33.5959  33.0052   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2003-07-10  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-11  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-12  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-13  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-14  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-10   34.3357  32.0187  \\n\",\n      \"2003-07-11   34.3357  32.5005  \\n\",\n      \"2003-07-12   34.3357  32.7585  \\n\",\n      \"2003-07-13   34.3357  32.7585  \\n\",\n      \"2003-07-14   34.3357  32.7585  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.633855324068\\n\",\n      \"Explained Variance Score:  0.893339521738\\n\",\n      \"Mean Squared Error:  0.718058387086\\n\",\n      \"R2 score:  0.80969350896\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-09  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-10  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-11  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449   \\n\",\n      \"2005-07-12  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571   \\n\",\n      \"2005-07-13  39.5982  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2005-07-09  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   39.867   \\n\",\n      \"2005-07-10  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   \\n\",\n      \"2005-07-11  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275   \\n\",\n      \"2005-07-12  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227   \\n\",\n      \"2005-07-13  39.7571  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2005-07-09   40.8933  38.9812  \\n\",\n      \"2005-07-10   40.8933  38.9812  \\n\",\n      \"2005-07-11   40.8933  38.8041  \\n\",\n      \"2005-07-12   40.6123  38.8041  \\n\",\n      \"2005-07-13   40.6123  38.8041  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.813134820175\\n\",\n      \"Explained Variance Score:  0.629454488747\\n\",\n      \"Mean Squared Error:  1.11504616982\\n\",\n      \"R2 score:  0.634165070736\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-06  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-07  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-08  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071   \\n\",\n      \"2007-07-09  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119   \\n\",\n      \"2007-07-10  33.2667  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2007-07-06  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-07-07  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-07-08  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-07-09  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-10  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-07-06   37.6275  32.8884  \\n\",\n      \"2007-07-07   37.6275  32.8884  \\n\",\n      \"2007-07-08   37.6275  32.0919  \\n\",\n      \"2007-07-09   37.6275  32.0919  \\n\",\n      \"2007-07-10   37.6275  32.0919  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.15665536203\\n\",\n      \"Explained Variance Score:  0.868995317818\\n\",\n      \"Mean Squared Error:  2.51929559765\\n\",\n      \"R2 score:  0.848349836178\\n\",\n      \"Errors:  [Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64, Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64, Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64, Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64, Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64, Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64, Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64, Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64, Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64, Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64, Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64, Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64, Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64, Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64, Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3428046878594335, 2.5494465554647414, 1.3954581010084075, 1.9338110474345769, 1.349031388428084, 1.3082501119097614, 2.0877971918382312, 1.362629656063173, 1.0672541331288881, 1.7560891545451207, 2.2842628093726178, 2.0416633481835507, 1.1975233764939945, 1.2541140107194724, 1.9979717114798277], [3.5258552334178641, 3.7320533743630255, 2.1034184642616141, 2.6897205756015548, 1.8969039843105724, 2.0506153412586832, 3.2171984334944406, 1.9827940259871397, 1.5688995987559236, 2.6367635568182766, 3.3068351824563802, 2.8945074594428291, 1.8249088288131119, 1.7898187399932406, 2.6622184489674865], [4.420877989036649, 4.7032147476522344, 2.5136196508353961, 3.0922152789031143, 2.1796658505265682, 2.6304796746940839, 4.1915655602523731, 2.4924344110851404, 1.9105828050113176, 3.2464940581864847, 4.0444675805083419, 3.4573108599535782, 2.2800119253617375, 2.1330178906407928, 3.2434631632331032], [5.2453007591988934, 5.3658643734648832, 2.7831224905377154, 3.416748711154967, 2.5549049030530955, 3.0746731020488789, 4.9524019488849751, 2.8907889072630373, 2.1787553036935075, 3.7318496940231114, 4.5205370675953178, 3.9785266649335007, 2.6882642728569226, 2.5139768692486597, 3.8987847995297504], [5.9123764917439461, 5.9343992865756627, 2.9779283268835495, 3.749884830258206, 2.8424480771173175, 3.4493099318044464, 5.6296725435585397, 3.1974315805691531, 2.4205889442104498, 4.1528377889957317, 4.8491578280113066, 4.4437933328538719, 3.0871274223490661, 2.8212984449238308, 4.5627499655632802], [6.5253540389538474, 6.411869704769062, 3.1595872490659578, 3.9820786600745923, 3.0589602014064852, 3.6925343353850728, 6.2161677524830603, 3.4512842358405149, 2.6052006922636068, 4.4255891500298041, 5.1504375410897554, 4.8667198046540632, 3.4479777609243358, 3.1141175250353417, 5.4764165109956515], [7.0484327153638269, 6.8859112718527289, 3.3214906751109079, 4.1319603443044786, 3.2919049518842676, 3.8961844607912113, 6.645652227769677, 3.680437333538447, 2.7931310314182922, 4.6362674911036841, 5.5220713093967051, 5.2196422824700353, 3.7666650074113814, 3.3699869165228575, 6.3198328863514632]]\\n\",\n      \"Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 14 days' worth of prior data\\n\",\n    \"execute(steps=15, days=14, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-24  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687  7.49473   \\n\",\n      \"1979-10-25  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687   \\n\",\n      \"1979-10-26  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   \\n\",\n      \"1979-10-27  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847   \\n\",\n      \"1979-10-28  7.39063  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1979-10-24  7.63838  7.58633  7.72894   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-25  7.49473  7.63838  7.58633   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-26   7.4687  7.49473  7.63838   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-27  7.20847   7.4687  7.49473   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-28  7.20847  7.20847   7.4687   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1979-10-24  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-10-25   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-10-26  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-10-27  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-10-28   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.47982  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.247178558128\\n\",\n      \"Explained Variance Score:  0.934716071877\\n\",\n      \"Mean Squared Error:  0.125104935048\\n\",\n      \"R2 score:  0.934194798936\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-16  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781  3.63078   \\n\",\n      \"1981-10-17  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781   \\n\",\n      \"1981-10-18   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134   \\n\",\n      \"1981-10-19  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134   \\n\",\n      \"1981-10-20  4.15125  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1981-10-16  3.60371  3.59122  3.68283   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-17  3.63078  3.60371  3.59122   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-18  3.70781  3.63078  3.60371   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-19  3.72134  3.70781  3.63078   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-20  3.72134  3.72134  3.70781   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1981-10-16  3.69532  3.53918  3.47464  3.39553  3.44757    4.0076   3.3185  \\n\",\n      \"1981-10-17  3.85146  3.69532  3.53918  3.47464  3.39553    4.0076   3.3185  \\n\",\n      \"1981-10-18  3.95555  3.85146  3.69532  3.53918  3.47464    4.0076   3.3185  \\n\",\n      \"1981-10-19  3.87748  3.95555  3.85146  3.69532  3.53918   4.07213  3.48713  \\n\",\n      \"1981-10-20  3.66929  3.87748  3.95555  3.85146  3.69532   4.20329  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.14560789487\\n\",\n      \"Explained Variance Score:  0.697986240547\\n\",\n      \"Mean Squared Error:  0.0357285529497\\n\",\n      \"R2 score:  0.693931872833\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-11  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385  4.38441   \\n\",\n      \"1983-10-12  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385   \\n\",\n      \"1983-10-13  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459   \\n\",\n      \"1983-10-14  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   \\n\",\n      \"1983-10-15  4.28032  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1983-10-11  4.44999  4.51557  4.55409   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-12  4.38441  4.44999  4.51557   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-13  4.29385  4.38441  4.44999   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-14   4.3459  4.29385  4.38441   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-15  4.35943   4.3459  4.29385   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1983-10-11  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.21578  \\n\",\n      \"1983-10-12  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.18976  \\n\",\n      \"1983-10-13  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.18976  \\n\",\n      \"1983-10-14  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.18976  \\n\",\n      \"1983-10-15  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.18976  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.100467856093\\n\",\n      \"Explained Variance Score:  0.707746188515\\n\",\n      \"Mean Squared Error:  0.0166816164165\\n\",\n      \"R2 score:  0.690365934271\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-01  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648  5.03604   \\n\",\n      \"1985-10-02  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648   \\n\",\n      \"1985-10-03  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693   \\n\",\n      \"1985-10-04  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307   \\n\",\n      \"1985-10-05  5.15262  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1985-10-01  5.10058  5.23069  5.25672   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-02  5.03604  5.10058  5.23069   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-03  4.99648  5.03604  5.10058   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-04  4.95693  4.99648  5.03604   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-05  5.11307  4.95693  4.99648   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1985-10-01  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-02  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-03  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-04  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-05  5.08809  5.14013  5.16512  5.15262  4.98399   5.26921  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.118704995917\\n\",\n      \"Explained Variance Score:  0.599720926078\\n\",\n      \"Mean Squared Error:  0.0233000629812\\n\",\n      \"R2 score:  0.596620827484\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-22  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725  5.79496   \\n\",\n      \"1987-09-23  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725   \\n\",\n      \"1987-09-24  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496   \\n\",\n      \"1987-09-25  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111   \\n\",\n      \"1987-09-26  5.90152  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1987-09-22  5.84824  5.79496  5.70118   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-09-23  5.79496  5.84824  5.79496   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-09-24  5.76725  5.79496  5.84824   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-25  5.79496  5.76725  5.79496   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-26  5.78111  5.79496  5.76725   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1987-09-22  5.66069  5.79496  5.72782  5.71397   5.6479   5.86103  5.62126  \\n\",\n      \"1987-09-23  5.70118  5.66069  5.79496  5.72782  5.71397   5.86103  5.62126  \\n\",\n      \"1987-09-24  5.72782  5.70118  5.66069  5.79496  5.72782   5.86103  5.62126  \\n\",\n      \"1987-09-25  5.67454  5.72782  5.70118  5.66069  5.79496   5.86103  5.62126  \\n\",\n      \"1987-09-26  5.74168  5.67454  5.72782  5.70118  5.66069   5.90152  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107246850816\\n\",\n      \"Explained Variance Score:  0.873418919146\\n\",\n      \"Mean Squared Error:  0.0223804852513\\n\",\n      \"R2 score:  0.873053045647\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-13  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441  8.51123   \\n\",\n      \"1989-09-14  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441   \\n\",\n      \"1989-09-15  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105   \\n\",\n      \"1989-09-16  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405   \\n\",\n      \"1989-09-17  8.66302  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1989-09-13  8.38823  8.38823   8.4695   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-14  8.51123  8.38823  8.38823   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-15  8.52441  8.51123  8.38823   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-16  8.62105  8.52441  8.51123   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-17  8.74405  8.62105  8.52441   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1989-09-13  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.35967  \\n\",\n      \"1989-09-14  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  8.35967  \\n\",\n      \"1989-09-15  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  8.35967  \\n\",\n      \"1989-09-16  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  8.35967  \\n\",\n      \"1989-09-17  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  8.35967  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183367476501\\n\",\n      \"Explained Variance Score:  0.923191778806\\n\",\n      \"Mean Squared Error:  0.062951655998\\n\",\n      \"R2 score:  0.914995737201\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-05  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595  4.96121   \\n\",\n      \"1991-09-06  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595   \\n\",\n      \"1991-09-07  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791   \\n\",\n      \"1991-09-08  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595   \\n\",\n      \"1991-09-09  4.86252  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1991-09-05  4.83307  4.79111  4.80585   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-06  4.96121  4.83307  4.79111   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-07  4.97595  4.96121  4.83307   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-08  5.01791  4.97595  4.96121   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-09  4.97595  5.01791  4.97595   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1991-09-05  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-06  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-07  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-08  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-09  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.179845135179\\n\",\n      \"Explained Variance Score:  0.878379857563\\n\",\n      \"Mean Squared Error:  0.0637005335646\\n\",\n      \"R2 score:  0.832463137105\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-27  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664  9.52898   \\n\",\n      \"1993-08-28  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664   \\n\",\n      \"1993-08-29  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998   \\n\",\n      \"1993-08-30  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   \\n\",\n      \"1993-08-31  9.35597  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1993-08-27   9.5728  9.77464   9.6743   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-28  9.52898   9.5728  9.77464   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-29  9.58664  9.52898   9.5728   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-30   9.3998  9.58664  9.52898   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-31  9.34213   9.3998  9.58664   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1993-08-27  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-28  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-29   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  9.00997  \\n\",\n      \"1993-08-30  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-31   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173480085165\\n\",\n      \"Explained Variance Score:  0.889783953988\\n\",\n      \"Mean Squared Error:  0.0542550164358\\n\",\n      \"R2 score:  0.87630032975\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-19  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   15.005   \\n\",\n      \"1995-08-20  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   \\n\",\n      \"1995-08-21  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071   \\n\",\n      \"1995-08-22  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071   \\n\",\n      \"1995-08-23  14.7703  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1995-08-19  15.2984  15.5612  15.4004   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-08-20   15.005  15.2984  15.5612   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-08-21  15.0778   15.005  15.2984   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-22  15.1071  15.0778   15.005   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-08-23  15.1071  15.1071  15.0778   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1995-08-19  15.1364  15.1071  15.3124  15.4298  15.2397   15.5612  14.6812  \\n\",\n      \"1995-08-20  15.4298  15.1364  15.1071  15.3124  15.4298   15.5612  14.6812  \\n\",\n      \"1995-08-21  15.4298  15.4298  15.1364  15.1071  15.3124   15.5612  14.6812  \\n\",\n      \"1995-08-22  15.3418  15.4298  15.4298  15.1364  15.1071   15.5612  14.6671  \\n\",\n      \"1995-08-23  15.1071  15.3418  15.4298  15.4298  15.1364   15.5612  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.21969484392\\n\",\n      \"Explained Variance Score:  0.941053178728\\n\",\n      \"Mean Squared Error:  0.0874448127494\\n\",\n      \"R2 score:  0.934717418017\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-09  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788  20.0003   \\n\",\n      \"1997-08-10  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788   \\n\",\n      \"1997-08-11  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689   \\n\",\n      \"1997-08-12  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879   \\n\",\n      \"1997-08-13   21.523  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1997-08-09  20.9486  21.4313  21.4023   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-10  20.0003  20.9486  21.4313   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-11  20.1788  20.0003  20.9486   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-12  19.9689  20.1788  20.0003   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-13  19.7879  19.9689  20.1788   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1997-08-09  20.8883  21.2358  20.7387  21.0403  22.0346   22.1407  19.6528  \\n\",\n      \"1997-08-10  21.2069  20.8883  21.2358  20.7387  21.0403   22.1407  19.6528  \\n\",\n      \"1997-08-11  20.9197  21.2069  20.8883  21.2358  20.7387   21.6267  19.6528  \\n\",\n      \"1997-08-12  20.5119  20.9197  21.2069  20.8883  21.2358   21.6267  19.6528  \\n\",\n      \"1997-08-13  20.6036  20.5119  20.9197  21.2069  20.8883   21.6267  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.587602123323\\n\",\n      \"Explained Variance Score:  0.597673117636\\n\",\n      \"Mean Squared Error:  0.562295173611\\n\",\n      \"R2 score:  0.599602671043\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-03  26.9086  26.5929  27.0039    27.47  27.3447  28.4122  27.6253   \\n\",\n      \"1999-08-04  27.3146  26.9086  26.5929  27.0039    27.47  27.3447  28.4122   \\n\",\n      \"1999-08-05  27.0339  27.3146  26.9086  26.5929  27.0039    27.47  27.3447   \\n\",\n      \"1999-08-06  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039    27.47   \\n\",\n      \"1999-08-07  26.0316  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1999-08-03  27.1893  26.8435   26.623   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-04  27.6253  27.1893  26.8435   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-05  28.4122  27.6253  27.1893   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-06  27.3447  28.4122  27.6253   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-07    27.47  27.3447  28.4122   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1999-08-03  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   25.811  \\n\",\n      \"1999-08-04  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   25.811  \\n\",\n      \"1999-08-05  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   25.811  \\n\",\n      \"1999-08-06  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  25.9664  \\n\",\n      \"1999-08-07  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  25.9363  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.80841683447\\n\",\n      \"Explained Variance Score:  0.55978076116\\n\",\n      \"Mean Squared Error:  1.12748077923\\n\",\n      \"R2 score:  0.551337857615\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-26  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339  21.2871   \\n\",\n      \"2001-07-27  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339   \\n\",\n      \"2001-07-28  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708   \\n\",\n      \"2001-07-29  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624   \\n\",\n      \"2001-07-30  21.3349  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2001-07-26  20.7074  19.9948   20.633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-07-27  21.2871  20.7074  19.9948   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-07-28  21.2339  21.2871  20.7074   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-07-29  22.2708  21.2339  21.2871   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-30  21.9624  22.2708  21.2339   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2001-07-26  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.9417  \\n\",\n      \"2001-07-27  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.9417  \\n\",\n      \"2001-07-28  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.9417  \\n\",\n      \"2001-07-29   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.9417  \\n\",\n      \"2001-07-30  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.9417  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.702921222006\\n\",\n      \"Explained Variance Score:  0.80646285415\\n\",\n      \"Mean Squared Error:  0.898869096996\\n\",\n      \"R2 score:  0.800649358483\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-19   33.831  33.5959  33.2632  33.6131  34.0719   34.112  33.9686   \\n\",\n      \"2003-07-20  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   34.112   \\n\",\n      \"2003-07-21  33.4926  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   \\n\",\n      \"2003-07-22   33.917  33.4926  33.5729   33.831  33.5959  33.2632  33.6131   \\n\",\n      \"2003-07-23  33.8826   33.917  33.4926  33.5729   33.831  33.5959  33.2632   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2003-07-19  34.1522  33.5959  33.0052   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-07-20  33.9686  34.1522  33.5959   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-07-21   34.112  33.9686  34.1522   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-22  34.0719   34.112  33.9686   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-23  33.6131  34.0719   34.112   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2003-07-19  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-07-20  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-07-21  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-07-22  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-07-23  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.607302274291\\n\",\n      \"Explained Variance Score:  0.912255975134\\n\",\n      \"Mean Squared Error:  0.641949670141\\n\",\n      \"R2 score:  0.841214975617\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-20  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263  39.9404   \\n\",\n      \"2005-07-21  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263   \\n\",\n      \"2005-07-22   39.751  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388   \\n\",\n      \"2005-07-23  40.3008   39.751  39.0118  39.4211  39.2928  39.5188  39.5982   \\n\",\n      \"2005-07-24  41.2538  40.3008   39.751  39.0118  39.4211  39.2928  39.5188   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2005-07-20  40.0625  40.1969  40.4413   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-07-21  39.9404  40.0625  40.1969   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-07-22  38.9263  39.9404  40.0625   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-23  39.7388  38.9263  39.9404   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-24  39.5982  39.7388  38.9263   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2005-07-20  40.0442  39.6227  40.2275  40.7162   39.867   40.8933  38.8041  \\n\",\n      \"2005-07-21  39.8304  40.0442  39.6227  40.2275  40.7162   40.8933  38.8041  \\n\",\n      \"2005-07-22  39.7082  39.8304  40.0442  39.6227  40.2275   40.8933  38.8041  \\n\",\n      \"2005-07-23  40.2947  39.7082  39.8304  40.0442  39.6227   40.6123  38.8041  \\n\",\n      \"2005-07-24  39.8304  40.2947  39.7082  39.8304  40.0442   41.3454  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834239650358\\n\",\n      \"Explained Variance Score:  0.583600781437\\n\",\n      \"Mean Squared Error:  1.16134570271\\n\",\n      \"R2 score:  0.585510921947\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-17  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162  36.2071   \\n\",\n      \"2007-07-18  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162   \\n\",\n      \"2007-07-19  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999   \\n\",\n      \"2007-07-20  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667   \\n\",\n      \"2007-07-21  26.9147  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2007-07-17  36.7314  35.5367  35.9084   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-18  36.2071  36.7314  35.5367   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-19  32.6162  36.2071  36.7314   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-20  33.2999  32.6162  36.2071   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-21  33.2667  33.2999  32.6162   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2007-07-17  36.3664   35.457  35.5035    34.78  36.1009   37.6275  28.4479  \\n\",\n      \"2007-07-18  34.4681  36.3664   35.457  35.5035    34.78   37.6275  28.4479  \\n\",\n      \"2007-07-19  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  28.3484  \\n\",\n      \"2007-07-20  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  26.5629  \\n\",\n      \"2007-07-21  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.2420603359\\n\",\n      \"Explained Variance Score:  0.882276409115\\n\",\n      \"Mean Squared Error:  2.85887227574\\n\",\n      \"R2 score:  0.862561522356\\n\",\n      \"Errors:  [Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64, Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64, Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64, Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64, Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64, Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64, Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64, Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64, Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64, Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64, Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64, Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64, Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64, Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64, Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.2932086903598066, 2.5745843677223665, 1.410938665851232, 1.8560341967801308, 1.3452118535491773, 1.2953543921120965, 2.0706240035799164, 1.3163805720674671, 1.0787215801674817, 1.7589705465567647, 2.2752138152167474, 2.0880627448808471, 1.1687399396644256, 1.2874672090863213, 2.3679740132036238], [3.5051253714594792, 3.7758939807647049, 2.1101590340760858, 2.5311938217644379, 1.8869590042388795, 2.0136643031598154, 3.0941050306484827, 1.9668400833290185, 1.5852576005774814, 2.6692218359360016, 3.2804625406152712, 3.0511678681477217, 1.7709780411099409, 1.8590066437215769, 3.2260112930119331], [4.3910769731836528, 4.73443172240734, 2.5163581244682867, 2.8921256793047787, 2.1712841603268145, 2.5715803374493698, 3.9478706366382608, 2.5025348594217718, 1.9241814438590694, 3.2905025186776364, 3.9550573049063185, 3.6441654215575263, 2.1770380803647402, 2.2190678049570254, 3.7581852465385679], [5.1361009877654604, 5.4151232904822937, 2.7996492546644527, 3.254525792271338, 2.552883694387567, 3.030218079266386, 4.6195946055962853, 2.8935016311120809, 2.2056247688212975, 3.7878186640966414, 4.3904674266100656, 4.1287784929628275, 2.544219187098574, 2.5895015720185302, 4.440659439319135], [5.7410212232012947, 6.0457890220500268, 3.0383136360900456, 3.5252188012037138, 2.826196220616342, 3.4278249217933108, 5.1806333088289245, 3.2002251370334793, 2.4562804221504946, 4.2112453125333271, 4.6795839169286628, 4.5588302590783849, 2.9100623154365133, 2.8787401524867353, 5.1795549205147617], [6.3168411174496839, 6.565847199104029, 3.2619156971270429, 3.7370190918129889, 3.0182882726444662, 3.7051905637636322, 5.6874360343827588, 3.4407560971972138, 2.6628209714516475, 4.5058494414038934, 4.9211912763832011, 5.0124273285269396, 3.2339526748757406, 3.1592652479164429, 5.8957221091782941], [6.8191565595888122, 7.0508931309669327, 3.4473160422940028, 3.964312202423975, 3.2338778357552651, 3.9255667936052023, 6.0096699233415531, 3.6545134565638175, 2.8840627731649513, 4.7448298869292778, 5.2894102436662802, 5.4030603118359393, 3.5305738678012406, 3.3828891687730129, 6.526988671729911]]\\n\",\n      \"Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 21 days' worth of prior data\\n\",\n    \"execute(steps=15, days=21, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-11-06  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063  7.09084   \\n\",\n      \"1979-11-07  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063   \\n\",\n      \"1979-11-08  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063   \\n\",\n      \"1979-11-09  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052   \\n\",\n      \"1979-11-10  6.55789  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1979-11-06  6.83061  6.87017  6.92221   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-11-07  7.09084  6.83061  6.87017   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-11-08  7.39063  7.09084  6.83061   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-11-09  7.39063  7.39063  7.09084   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-11-10  7.26052  7.39063  7.39063   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1979-11-06  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-11-07   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-11-08  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-11-09  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-11-10   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.46628  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.265589379571\\n\",\n      \"Explained Variance Score:  0.923826112353\\n\",\n      \"Mean Squared Error:  0.137645958828\\n\",\n      \"R2 score:  0.924053762052\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-29  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125  4.02009   \\n\",\n      \"1981-10-30  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125   \\n\",\n      \"1981-10-31  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623   \\n\",\n      \"1981-11-01  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783   \\n\",\n      \"1981-11-02  4.16374  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1981-10-29   3.9035  3.65576  3.70781   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-30  4.02009   3.9035  3.65576   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-31  4.15125  4.02009   3.9035   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-11-01  4.17623  4.15125  4.02009   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-11-02  4.26783  4.17623  4.15125   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1981-10-29  3.69532  3.53918  3.47464  3.39553  3.44757   4.30739   3.3185  \\n\",\n      \"1981-10-30  3.85146  3.69532  3.53918  3.47464  3.39553   4.30739   3.3185  \\n\",\n      \"1981-10-31  3.95555  3.85146  3.69532  3.53918  3.47464   4.30739   3.3185  \\n\",\n      \"1981-11-01  3.87748  3.95555  3.85146  3.69532  3.53918   4.30739  3.48713  \\n\",\n      \"1981-11-02  3.66929  3.87748  3.95555  3.85146  3.69532   4.30739  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.147636752695\\n\",\n      \"Explained Variance Score:  0.723234662854\\n\",\n      \"Mean Squared Error:  0.0364831332012\\n\",\n      \"R2 score:  0.711874870251\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-22  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032  4.28032   \\n\",\n      \"1983-10-23  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032   \\n\",\n      \"1983-10-24  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192   \\n\",\n      \"1983-10-25  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192   \\n\",\n      \"1983-10-26  4.31988  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1983-10-22  4.30739  4.25534  4.25534   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-23  4.28032  4.30739  4.25534   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-24  4.28032  4.28032  4.30739   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-25  4.37192  4.28032  4.28032   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-26  4.37192  4.37192  4.28032   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1983-10-22  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.13771  \\n\",\n      \"1983-10-23  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.13771  \\n\",\n      \"1983-10-24  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.12418  \\n\",\n      \"1983-10-25  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.12418  \\n\",\n      \"1983-10-26  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0982455236583\\n\",\n      \"Explained Variance Score:  0.738585897896\\n\",\n      \"Mean Squared Error:  0.0162113557319\\n\",\n      \"R2 score:  0.736956378599\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-12  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262  5.04853   \\n\",\n      \"1985-10-13  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262   \\n\",\n      \"1985-10-14  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423   \\n\",\n      \"1985-10-15  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467   \\n\",\n      \"1985-10-16  5.40037  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1985-10-12  4.99648  5.08809  5.15262   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-13  5.04853  4.99648  5.08809   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-14  5.15262  5.04853  4.99648   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-15  5.24423  5.15262  5.04853   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-16  5.20467  5.24423  5.15262   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1985-10-12  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-13  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-14  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-15  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-16  5.08809  5.14013  5.16512  5.15262  4.98399   5.43888  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.125644826003\\n\",\n      \"Explained Variance Score:  0.64103714916\\n\",\n      \"Mean Squared Error:  0.0279968462683\\n\",\n      \"R2 score:  0.621838958431\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-10-06  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152  5.83439   \\n\",\n      \"1987-10-07  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152   \\n\",\n      \"1987-10-08  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103   \\n\",\n      \"1987-10-09  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038   \\n\",\n      \"1987-10-10  5.71397  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1987-10-06  5.76725  5.76725  5.84824   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-10-07  5.83439  5.76725  5.76725   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-10-08  5.90152  5.83439  5.76725   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-10-09  5.86103  5.90152  5.83439   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-10-10  5.98038  5.86103  5.90152   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1987-10-06  5.66069  5.79496  5.72782  5.71397   5.6479   6.07416  5.62126  \\n\",\n      \"1987-10-07  5.70118  5.66069  5.79496  5.72782  5.71397   6.07416  5.62126  \\n\",\n      \"1987-10-08  5.72782  5.70118  5.66069  5.79496  5.72782   6.07416  5.62126  \\n\",\n      \"1987-10-09  5.67454  5.72782  5.70118  5.66069  5.79496   6.07416  5.62126  \\n\",\n      \"1987-10-10  5.74168  5.67454  5.72782  5.70118  5.66069   6.07416  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101127508153\\n\",\n      \"Explained Variance Score:  0.896285604892\\n\",\n      \"Mean Squared Error:  0.0175440030481\\n\",\n      \"R2 score:  0.895446126394\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-28  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302  8.73244   \\n\",\n      \"1989-09-29   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302   \\n\",\n      \"1989-09-30  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639   \\n\",\n      \"1989-10-01  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264   \\n\",\n      \"1989-10-02  8.29169  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1989-09-28  8.84263  8.81508  8.84263   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-29  8.73244  8.84263  8.81508   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-30  8.66302  8.73244  8.84263   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-10-01  8.52639  8.66302  8.73244   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-10-02  8.44264  8.52639  8.66302   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1989-09-28  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.20904  \\n\",\n      \"1989-09-29  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791   8.1264  \\n\",\n      \"1989-09-30  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791   8.1264  \\n\",\n      \"1989-10-01  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791   8.1264  \\n\",\n      \"1989-10-02  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791   8.1264  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.192674964535\\n\",\n      \"Explained Variance Score:  0.915662166478\\n\",\n      \"Mean Squared Error:  0.0693827817393\\n\",\n      \"R2 score:  0.904473158945\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-19   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252  4.86252   \\n\",\n      \"1991-09-20  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252   \\n\",\n      \"1991-09-21  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409   \\n\",\n      \"1991-09-22  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409   \\n\",\n      \"1991-09-23  4.96148  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1991-09-19  4.89096  4.91925  4.91925   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-20  4.86252  4.89096  4.91925   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-21  4.86252  4.86252  4.89096   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-22  4.83409  4.86252  4.86252   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-23  4.83409  4.83409  4.86252   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1991-09-19  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-20  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-21  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-22  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-23  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.169117487826\\n\",\n      \"Explained Variance Score:  0.885949963038\\n\",\n      \"Mean Squared Error:  0.0583397959215\\n\",\n      \"R2 score:  0.84902479478\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-09-09  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597  9.29831   \\n\",\n      \"1993-09-10  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597   \\n\",\n      \"1993-09-11  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827   \\n\",\n      \"1993-09-12  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272   \\n\",\n      \"1993-09-13  9.17272  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1993-09-09  9.25563  9.24064  9.35597   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-09-10  9.29831  9.25563  9.24064   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-09-11  9.35597  9.29831  9.25563   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-09-12  9.28827  9.35597  9.29831   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-09-13  9.17272  9.28827  9.35597   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1993-09-09  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-10  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-11   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.86881  \\n\",\n      \"1993-09-12  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.86881  \\n\",\n      \"1993-09-13   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.86881  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173953716023\\n\",\n      \"Explained Variance Score:  0.882699120583\\n\",\n      \"Mean Squared Error:  0.055246949342\\n\",\n      \"R2 score:  0.868280591863\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-09-01  15.5764  15.4744  15.3265  15.3265   15.005  14.7703  14.7844   \\n\",\n      \"1995-09-02  15.6127  15.5764  15.4744  15.3265  15.3265   15.005  14.7703   \\n\",\n      \"1995-09-03  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   15.005   \\n\",\n      \"1995-09-04  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   \\n\",\n      \"1995-09-05  16.2301  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1995-09-01  14.7551  14.7551  14.7551   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-09-02  14.7844  14.7551  14.7551   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-09-03  14.7703  14.7844  14.7551   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-09-04   15.005  14.7703  14.7844   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-09-05  15.3265   15.005  14.7703   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1995-09-01  15.1364  15.1071  15.3124  15.4298  15.2397   15.5764  14.6378  \\n\",\n      \"1995-09-02  15.4298  15.1364  15.1071  15.3124  15.4298   15.7738  14.6378  \\n\",\n      \"1995-09-03  15.4298  15.4298  15.1364  15.1071  15.3124   16.1125  14.6378  \\n\",\n      \"1995-09-04  15.3418  15.4298  15.4298  15.1364  15.1071   16.3183  14.6378  \\n\",\n      \"1995-09-05  15.1071  15.3418  15.4298  15.4298  15.1364   16.3183  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.239159740022\\n\",\n      \"Explained Variance Score:  0.944241221285\\n\",\n      \"Mean Squared Error:  0.101972988604\\n\",\n      \"R2 score:  0.93697372492\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-23  21.5519  21.8391  22.1552  22.1407  21.7933   21.523  21.3565   \\n\",\n      \"1997-08-24  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   21.523   \\n\",\n      \"1997-08-25  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   \\n\",\n      \"1997-08-26  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407   \\n\",\n      \"1997-08-27  22.3992  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1997-08-23  21.4771  21.0235  20.8594   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-24  21.3565  21.4771  21.0235   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-25   21.523  21.3565  21.4771   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-26  21.7933   21.523  21.3565   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-27  22.1407  21.7933   21.523   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1997-08-23  20.8883  21.2358  20.7387  21.0403  22.0346   22.1721  19.6528  \\n\",\n      \"1997-08-24  21.2069  20.8883  21.2358  20.7387  21.0403   22.1721  19.6528  \\n\",\n      \"1997-08-25  20.9197  21.2069  20.8883  21.2358  20.7387   22.1721  19.6528  \\n\",\n      \"1997-08-26  20.5119  20.9197  21.2069  20.8883  21.2358   22.1721  19.6528  \\n\",\n      \"1997-08-27  20.6036  20.5119  20.9197  21.2069  20.8883   22.3992  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601937849493\\n\",\n      \"Explained Variance Score:  0.588903471007\\n\",\n      \"Mean Squared Error:  0.583981651008\\n\",\n      \"R2 score:  0.583088547014\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-14  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316  26.7533   \\n\",\n      \"1999-08-15  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316   \\n\",\n      \"1999-08-16  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616   \\n\",\n      \"1999-08-17  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098   \\n\",\n      \"1999-08-18  24.6834  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1999-08-14  27.0339  27.3146  26.9086   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-15  26.7533  27.0339  27.3146   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-16  26.0316  26.7533  27.0339   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-17  26.0616  26.0316  26.7533   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-18  25.3098  26.0616  26.0316   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1999-08-14  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   24.964  \\n\",\n      \"1999-08-15  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   24.964  \\n\",\n      \"1999-08-16  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229  24.4027  \\n\",\n      \"1999-08-17  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  24.4027  \\n\",\n      \"1999-08-18  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  24.4027  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794397514735\\n\",\n      \"Explained Variance Score:  0.589058113891\\n\",\n      \"Mean Squared Error:  1.06170118828\\n\",\n      \"R2 score:  0.586860973735\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-08-08  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349  21.1594   \\n\",\n      \"2001-08-09  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349   \\n\",\n      \"2001-08-10  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786   \\n\",\n      \"2001-08-11  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588   \\n\",\n      \"2001-08-12  19.8885  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2001-08-08  21.2445  21.2658  22.3559   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-08-09  21.1594  21.2445  21.2658   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-08-10  21.3349  21.1594  21.2445   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-08-11  20.9786  21.3349  21.1594   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-08-12  19.5588  20.9786  21.3349   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2001-08-08  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.2769  \\n\",\n      \"2001-08-09  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.2769  \\n\",\n      \"2001-08-10  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.2769  \\n\",\n      \"2001-08-11   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.2769  \\n\",\n      \"2001-08-12  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.2769  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.716918405219\\n\",\n      \"Explained Variance Score:  0.831164391363\\n\",\n      \"Mean Squared Error:  0.921046477113\\n\",\n      \"R2 score:  0.8261118985\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-08-01  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   33.917   \\n\",\n      \"2003-08-02  33.4066  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   \\n\",\n      \"2003-08-03  33.5041  33.4066  33.0453  33.6303  33.7966   34.112  33.8195   \\n\",\n      \"2003-08-04  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   34.112   \\n\",\n      \"2003-08-05  33.9973  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2003-08-01  33.4926  33.5729   33.831   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-08-02   33.917  33.4926  33.5729   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-08-03  33.8826   33.917  33.4926   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-08-04  33.8195  33.8826   33.917   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-08-05   34.112  33.8195  33.8826   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2003-08-01  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-08-02  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-08-03  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-08-04  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-08-05  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.58624564363\\n\",\n      \"Explained Variance Score:  0.917058612472\\n\",\n      \"Mean Squared Error:  0.59587482901\\n\",\n      \"R2 score:  0.858798903078\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-08-02  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538  40.3008   \\n\",\n      \"2005-08-03  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538   \\n\",\n      \"2005-08-04  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943   \\n\",\n      \"2005-08-05  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551   \\n\",\n      \"2005-08-06  41.5776  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2005-08-02   39.751  39.0118  39.4211   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-08-03  40.3008   39.751  39.0118   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-08-04  41.2538  40.3008   39.751   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-08-05  41.3943  41.2538  40.3008   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-08-06  40.6551  41.3943  41.2538   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2005-08-02  40.0442  39.6227  40.2275  40.7162   39.867   41.7791  38.8041  \\n\",\n      \"2005-08-03  39.8304  40.0442  39.6227  40.2275  40.7162   41.8952  38.8041  \\n\",\n      \"2005-08-04  39.7082  39.8304  40.0442  39.6227  40.2275   42.3962  38.8041  \\n\",\n      \"2005-08-05  40.2947  39.7082  39.8304  40.0442  39.6227   42.4511  38.8041  \\n\",\n      \"2005-08-06  39.8304  40.2947  39.7082  39.8304  40.0442   42.4511  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.802958635558\\n\",\n      \"Explained Variance Score:  0.615314748251\\n\",\n      \"Mean Squared Error:  1.07455580184\\n\",\n      \"R2 score:  0.610929179905\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-28  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147  27.0143   \\n\",\n      \"2007-07-29  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147   \\n\",\n      \"2007-07-30   31.375  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639   \\n\",\n      \"2007-07-31  28.7068   31.375  33.8043  29.4037  29.4966  27.4523  31.0033   \\n\",\n      \"2007-08-01  29.9082  28.7068   31.375  33.8043  29.4037  29.4966  27.4523   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2007-07-28  29.6692  29.4834  30.2998   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-29  27.0143  29.6692  29.4834   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-30  26.9147  27.0143  29.6692   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-31  30.8639  26.9147  27.0143   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-08-01  31.0033  30.8639  26.9147   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2007-07-28  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-07-29  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-07-30  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-07-31  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-08-01  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.34141196406\\n\",\n      \"Explained Variance Score:  0.8823848576\\n\",\n      \"Mean Squared Error:  3.23643017946\\n\",\n      \"R2 score:  0.870276149629\\n\",\n      \"Errors:  [Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64, Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64, Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64, Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64, Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64, Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64, Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64, Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64, Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64, Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64, Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64, Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64, Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64, Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64, Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3547309468646977, 2.6843698878562434, 1.4073060638117993, 1.8257205265526617, 1.2571302541332623, 1.3070616670286337, 1.9988507624239815, 1.2774261200573758, 1.0972884438734316, 1.7713207964022895, 2.2515787402833238, 2.1936305240618905, 1.1322810611135845, 1.2781940755820749, 2.9218559619814704], [3.6177056160450944, 3.8529029980585308, 2.0996497849323741, 2.5200941777904116, 1.7425090853194207, 2.0767602945362782, 2.9825225833769546, 1.9238545410998846, 1.6284871067250986, 2.6941111554594688, 3.193383888830593, 3.1126222980274192, 1.7023257899660558, 1.8256993808103501, 3.9248097333153922], [4.5649082663487981, 4.919654734680905, 2.5310312168153977, 2.9836384156717788, 2.0110091568888309, 2.6672760574192766, 3.7613247626665651, 2.4870650021890679, 1.9946989514581441, 3.3683432902069392, 3.8294519687663078, 3.7373617983789833, 2.080606518150474, 2.14060014177976, 4.2051556740937093], [5.4024502775560101, 5.5403781813156501, 2.8324489798600148, 3.4016521599695979, 2.3200498153968843, 3.1868909037254345, 4.4188904926330173, 2.8895466676894839, 2.3126474095813565, 3.8741601379971553, 4.2175713308860896, 4.2133650475354072, 2.4493016707758857, 2.465324887372323, 4.9642444869322437], [6.0874752741145528, 6.1238292431129455, 3.0779955606900775, 3.7679999784167957, 2.5431262388706335, 3.5929183893538976, 5.033414123710652, 3.230316091173671, 2.5966357031707243, 4.2764916616348794, 4.5333785968485394, 4.6529261285101802, 2.7891901712253597, 2.7680731557270328, 5.6452968644470065], [6.7355277492693739, 6.5918510035213815, 3.2815416890282374, 4.0959675621588527, 2.742164531970531, 3.874977862896968, 5.5623865765175768, 3.461071665532764, 2.8417667456729157, 4.5564166688903143, 4.779192398380526, 5.086101610706165, 3.0854034250811742, 3.0325416694322258, 6.1485518594275472], [7.3347922060064086, 7.025247411581879, 3.453130554000138, 4.4229639877662024, 2.8911324077574512, 4.0773842621070342, 5.9115774229114351, 3.6835908281785965, 3.0577563801686329, 4.7911542187225136, 5.0594615569728996, 5.4556849461479642, 3.3659760913065653, 3.2410121186171836, 6.7994967443732222]]\\n\",\n      \"Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 30 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=30, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1980-02-14  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058  5.04853   \\n\",\n      \"1980-02-15  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058   \\n\",\n      \"1980-02-16  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251   \\n\",\n      \"1980-02-17  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058   \\n\",\n      \"1980-02-18  5.20467  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1980-02-14  5.03604  4.89239  4.91841   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1980-02-15  5.04853  5.03604  4.89239   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1980-02-16  5.10058  5.04853  5.03604   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1980-02-17  5.02251  5.10058  5.04853   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1980-02-18  5.10058  5.02251  5.10058   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1980-02-14  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703   4.6842  \\n\",\n      \"1980-02-15   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703   4.6842  \\n\",\n      \"1980-02-16  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703   4.6842  \\n\",\n      \"1980-02-17  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703   4.6842  \\n\",\n      \"1980-02-18   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703   4.6842  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.308123611359\\n\",\n      \"Explained Variance Score:  0.883196210344\\n\",\n      \"Mean Squared Error:  0.174895557318\\n\",\n      \"R2 score:  0.882761749111\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-02-06  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023  4.67171   \\n\",\n      \"1982-02-07  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023   \\n\",\n      \"1982-02-08  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376   \\n\",\n      \"1982-02-09  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874   \\n\",\n      \"1982-02-10  4.91841  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1982-02-06  4.74874  4.73625   4.7883   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1982-02-07  4.67171  4.74874  4.73625   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1982-02-08  4.71023  4.67171  4.74874   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1982-02-09  4.72376  4.71023  4.67171   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1982-02-10  4.74874  4.72376  4.71023   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1982-02-06  3.69532  3.53918  3.47464  3.39553  3.44757   4.85284   3.3185  \\n\",\n      \"1982-02-07  3.85146  3.69532  3.53918  3.47464  3.39553   4.85284   3.3185  \\n\",\n      \"1982-02-08  3.95555  3.85146  3.69532  3.53918  3.47464    4.8799   3.3185  \\n\",\n      \"1982-02-09  3.87748  3.95555  3.85146  3.69532  3.53918   4.94444  3.48713  \\n\",\n      \"1982-02-10  3.66929  3.87748  3.95555  3.85146  3.69532   4.94444  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.153771584056\\n\",\n      \"Explained Variance Score:  0.858967690029\\n\",\n      \"Mean Squared Error:  0.037657109341\\n\",\n      \"R2 score:  0.855415148739\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1984-02-01  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637  4.82785   \\n\",\n      \"1984-02-02  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637   \\n\",\n      \"1984-02-03   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488   \\n\",\n      \"1984-02-04   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637   \\n\",\n      \"1984-02-05  4.90488   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1984-02-01   4.7883   4.7883  4.84034   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1984-02-02  4.82785   4.7883   4.7883   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1984-02-03  4.86637  4.82785   4.7883   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1984-02-04  4.90488  4.86637  4.82785   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1984-02-05  4.86637  4.90488  4.86637   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1984-02-01  4.35943  4.39795  4.43646  4.58011  4.56762   5.02251  4.12418  \\n\",\n      \"1984-02-02  4.37192  4.35943  4.39795  4.43646  4.58011   5.02251  4.12418  \\n\",\n      \"1984-02-03  4.42397  4.37192  4.35943  4.39795  4.43646   5.02251  4.12418  \\n\",\n      \"1984-02-04  4.39795  4.42397  4.37192  4.35943  4.39795   5.02251  4.12418  \\n\",\n      \"1984-02-05  4.44999  4.39795  4.42397  4.37192  4.35943   5.02251  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101043295151\\n\",\n      \"Explained Variance Score:  0.769182909465\\n\",\n      \"Mean Squared Error:  0.0161008843587\\n\",\n      \"R2 score:  0.617638917329\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1986-01-22  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048  7.36443   \\n\",\n      \"1986-01-23  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048   \\n\",\n      \"1986-01-24  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685   \\n\",\n      \"1986-01-25  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322   \\n\",\n      \"1986-01-26  7.39064  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1986-01-22  7.36443  7.39064  7.48289   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1986-01-23  7.36443  7.36443  7.39064   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1986-01-24  7.43048  7.36443  7.36443   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1986-01-25  7.41685  7.43048  7.36443   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1986-01-26  7.40322  7.41685  7.43048   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1986-01-22  4.98399  4.99648  4.90488  5.15262  5.20467    7.5741  4.89239  \\n\",\n      \"1986-01-23  5.15262  4.98399  4.99648  4.90488  5.15262    7.5741  4.89239  \\n\",\n      \"1986-01-24  5.16512  5.15262  4.98399  4.99648  4.90488    7.5741  4.89239  \\n\",\n      \"1986-01-25  5.14013  5.16512  5.15262  4.98399  4.99648    7.5741  4.90488  \\n\",\n      \"1986-01-26  5.08809  5.14013  5.16512  5.15262  4.98399    7.5741  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.212433916939\\n\",\n      \"Explained Variance Score:  0.908541965433\\n\",\n      \"Mean Squared Error:  0.0861793881797\\n\",\n      \"R2 score:  0.881980679802\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-14   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695  6.44985   \\n\",\n      \"1988-01-15   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695   \\n\",\n      \"1988-01-16  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297   \\n\",\n      \"1988-01-17  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922   \\n\",\n      \"1988-01-18  6.23485  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1988-01-14  6.49069  6.42297  6.50359   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1988-01-15  6.44985  6.49069  6.42297   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1988-01-16  6.43695  6.44985  6.49069   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1988-01-17  6.42297  6.43695  6.44985   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1988-01-18  6.36922  6.42297  6.43695   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1988-01-14  5.66069  5.79496  5.72782  5.71397   5.6479   6.62399  5.62126  \\n\",\n      \"1988-01-15  5.70118  5.66069  5.79496  5.72782  5.71397   6.62399  5.62126  \\n\",\n      \"1988-01-16  5.72782  5.70118  5.66069  5.79496  5.72782   6.62399  5.62126  \\n\",\n      \"1988-01-17  5.67454  5.72782  5.70118  5.66069  5.79496   6.62399  5.62126  \\n\",\n      \"1988-01-18  5.74168  5.67454  5.72782  5.70118  5.66069   6.62399  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.104323850003\\n\",\n      \"Explained Variance Score:  0.850284924048\\n\",\n      \"Mean Squared Error:  0.0187007596422\\n\",\n      \"R2 score:  0.835576466493\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-01-05  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067  8.25312   \\n\",\n      \"1990-01-06  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067   \\n\",\n      \"1990-01-07  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131   \\n\",\n      \"1990-01-08  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131   \\n\",\n      \"1990-01-09  7.67357  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1990-01-05  8.30842  8.46105  8.41902   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1990-01-06  8.25312  8.30842  8.46105   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1990-01-07  8.06067  8.25312  8.30842   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1990-01-08  7.92131  8.06067  8.25312   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1990-01-09  7.92131  7.92131  8.06067   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1990-01-05  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  7.57546  \\n\",\n      \"1990-01-06  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  7.57546  \\n\",\n      \"1990-01-07  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  7.57546  \\n\",\n      \"1990-01-08  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  7.57546  \\n\",\n      \"1990-01-09  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  7.57546  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.210351894406\\n\",\n      \"Explained Variance Score:  0.741325230038\\n\",\n      \"Mean Squared Error:  0.0765172809939\\n\",\n      \"R2 score:  0.70389414274\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-12-31  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   5.7994   \\n\",\n      \"1992-01-01  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   \\n\",\n      \"1992-01-02  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241   \\n\",\n      \"1992-01-03  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759   \\n\",\n      \"1992-01-04  6.19833  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1991-12-31   5.7994  5.75608  5.71277   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1992-01-01   5.7994   5.7994  5.75608   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1992-01-02  5.82675   5.7994   5.7994   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1992-01-03  5.74241  5.82675   5.7994   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1992-01-04  5.72759  5.74241  5.82675   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1991-12-31  5.11657  5.15966  5.22997  5.21636  5.18801   5.87006  4.67712  \\n\",\n      \"1992-01-01  5.11657  5.11657  5.15966  5.22997  5.21636   5.95555  4.67712  \\n\",\n      \"1992-01-02  5.03265  5.11657  5.11657  5.15966  5.22997   6.14134  4.67712  \\n\",\n      \"1992-01-03  5.01791  5.03265  5.11657  5.11657  5.15966    6.1687  4.67712  \\n\",\n      \"1992-01-04  4.96121  5.01791  5.03265  5.11657  5.11657   6.22569  4.67712  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183122699785\\n\",\n      \"Explained Variance Score:  0.66511338143\\n\",\n      \"Mean Squared Error:  0.0658789640265\\n\",\n      \"R2 score:  0.599655687338\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-12-22  8.9178  9.06257  9.01972  8.94161  8.78214  8.83992  8.78214   \\n\",\n      \"1993-12-23  8.9178   8.9178  9.06257  9.01972  8.94161  8.78214  8.83992   \\n\",\n      \"1993-12-24  8.9178   8.9178   8.9178  9.06257  9.01972  8.94161  8.78214   \\n\",\n      \"1993-12-25  8.8599   8.9178   8.9178   8.9178  9.06257  9.01972  8.94161   \\n\",\n      \"1993-12-26   8.846   8.8599   8.9178   8.9178   8.9178  9.06257  9.01972   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1993-12-22  8.99938  9.09992  9.14267   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-12-23  8.78214  8.99938  9.09992   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-12-24  8.83992  8.78214  8.99938   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-12-25  8.78214  8.83992  8.78214   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-12-26  8.94161  8.78214  8.83992   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1993-12-22  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-23  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-24   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.65272  \\n\",\n      \"1993-12-25  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.65272  \\n\",\n      \"1993-12-26   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.65272  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.158445846768\\n\",\n      \"Explained Variance Score:  0.620247529876\\n\",\n      \"Mean Squared Error:  0.0465380189471\\n\",\n      \"R2 score:  0.60132021659\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-12-13  15.5329   15.356  15.5482  15.6354  15.5482  15.5329  15.4516   \\n\",\n      \"1995-12-14  15.6661  15.5329   15.356  15.5482  15.6354  15.5482  15.5329   \\n\",\n      \"1995-12-15  15.6072  15.6661  15.5329   15.356  15.5482  15.6354  15.5482   \\n\",\n      \"1995-12-16  15.5765  15.6072  15.6661  15.5329   15.356  15.5482  15.6354   \\n\",\n      \"1995-12-17  15.8276  15.5765  15.6072  15.6661  15.5329   15.356  15.5482   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1995-12-13  15.7456  15.7738  16.0396   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-12-14  15.4516  15.7456  15.7738   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-12-15  15.5329  15.4516  15.7456   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-12-16  15.5482  15.5329  15.4516   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-12-17  15.6354  15.5482  15.5329   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1995-12-13  15.1364  15.1071  15.3124  15.4298  15.2397   17.2886  14.6378  \\n\",\n      \"1995-12-14  15.4298  15.1364  15.1071  15.3124  15.4298   17.2886  14.6378  \\n\",\n      \"1995-12-15  15.4298  15.4298  15.1364  15.1071  15.3124   17.2886  14.6378  \\n\",\n      \"1995-12-16  15.3418  15.4298  15.4298  15.1364  15.1071   17.2886  14.6378  \\n\",\n      \"1995-12-17  15.1071  15.3418  15.4298  15.4298  15.1364   17.2886  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.287728749471\\n\",\n      \"Explained Variance Score:  0.938381959646\\n\",\n      \"Mean Squared Error:  0.147641443939\\n\",\n      \"R2 score:  0.93566576996\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-12-04  19.8712  19.7065   19.675  19.8276  19.9172  20.1278  20.2949   \\n\",\n      \"1997-12-05  19.9922  19.8712  19.7065   19.675  19.8276  19.9172  20.1278   \\n\",\n      \"1997-12-06  20.1908  19.9922  19.8712  19.7065   19.675  19.8276  19.9172   \\n\",\n      \"1997-12-07  20.5225  20.1908  19.9922  19.8712  19.7065   19.675  19.8276   \\n\",\n      \"1997-12-08  20.5831  20.5225  20.1908  19.9922  19.8712  19.7065   19.675   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1997-12-04   20.462  20.6121  21.1885   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-12-05  20.2949   20.462  20.6121   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-12-06  20.1278  20.2949   20.462   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-12-07  19.9172  20.1278  20.2949   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-12-08  19.8276  19.9172  20.1278   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1997-12-04  20.8883  21.2358  20.7387  21.0403  22.0346   23.0966  19.4643  \\n\",\n      \"1997-12-05  21.2069  20.8883  21.2358  20.7387  21.0403   23.0966  19.4643  \\n\",\n      \"1997-12-06  20.9197  21.2069  20.8883  21.2358  20.7387   23.0966  19.4643  \\n\",\n      \"1997-12-07  20.5119  20.9197  21.2069  20.8883  21.2358   23.0966  19.4643  \\n\",\n      \"1997-12-08  20.6036  20.5119  20.9197  21.2069  20.8883   23.0966  19.4643  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.597633444026\\n\",\n      \"Explained Variance Score:  0.503137515046\\n\",\n      \"Mean Squared Error:  0.589490186568\\n\",\n      \"R2 score:  0.482368816144\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-11-26   25.734  26.9904  26.8239  26.2284  26.1881  26.4959  26.6624   \\n\",\n      \"1999-11-27  25.7592   25.734  26.9904  26.8239  26.2284  26.1881  26.4959   \\n\",\n      \"1999-11-28  25.1537  25.7592   25.734  26.9904  26.8239  26.2284  26.1881   \\n\",\n      \"1999-11-29  25.0528  25.1537  25.7592   25.734  26.9904  26.8239  26.2284   \\n\",\n      \"1999-11-30  25.0023  25.0528  25.1537  25.7592   25.734  26.9904  26.8239   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1999-11-26  26.2385  26.1124  25.9862   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-11-27  26.6624  26.2385  26.1124   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-11-28  26.4959  26.6624  26.2385   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-11-29  26.1881  26.4959  26.6624   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-11-30  26.2284  26.1881  26.4959   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1999-11-26  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   22.767  \\n\",\n      \"1999-11-27  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   22.767  \\n\",\n      \"1999-11-28  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   22.767  \\n\",\n      \"1999-11-29  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229   22.767  \\n\",\n      \"1999-11-30  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229   22.767  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.701837927805\\n\",\n      \"Explained Variance Score:  0.61258560237\\n\",\n      \"Mean Squared Error:  0.807580404799\\n\",\n      \"R2 score:  0.6103741195\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-11-21  20.4474  20.2593  20.4743   20.399  20.2486  20.2432  20.8021   \\n\",\n      \"2001-11-22  20.7161  20.4474  20.2593  20.4743   20.399  20.2486  20.2432   \\n\",\n      \"2001-11-23  20.8934  20.7161  20.4474  20.2593  20.4743   20.399  20.2486   \\n\",\n      \"2001-11-24  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   20.399   \\n\",\n      \"2001-11-25  20.6785  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2001-11-21  20.8719  20.8558  20.9633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-11-22  20.8021  20.8719  20.8558   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-11-23  20.2432  20.8021  20.8719   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-11-24  20.2486  20.2432  20.8021   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-11-25   20.399  20.2486  20.2432   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2001-11-21  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  18.6311  \\n\",\n      \"2001-11-22  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  18.6311  \\n\",\n      \"2001-11-23  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  18.6311  \\n\",\n      \"2001-11-24   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  18.6311  \\n\",\n      \"2001-11-25  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  18.6311  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.901971504049\\n\",\n      \"Explained Variance Score:  0.812150385253\\n\",\n      \"Mean Squared Error:  1.39923634887\\n\",\n      \"R2 score:  0.736584033371\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-11-14   35.253  35.1028  35.1664  34.9411  35.0335  34.9527  34.4386   \\n\",\n      \"2003-11-15  35.2299   35.253  35.1028  35.1664  34.9411  35.0335  34.9527   \\n\",\n      \"2003-11-16  35.9115  35.2299   35.253  35.1028  35.1664  34.9411  35.0335   \\n\",\n      \"2003-11-17  35.9289  35.9115  35.2299   35.253  35.1028  35.1664  34.9411   \\n\",\n      \"2003-11-18  35.9577  35.9289  35.9115  35.2299   35.253  35.1028  35.1664   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2003-11-14  34.3577  34.7736  34.6003   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-11-15  34.4386  34.3577  34.7736   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-11-16  34.9527  34.4386  34.3577   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-11-17  35.0335  34.9527  34.4386   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-11-18  34.9411  35.0335  34.9527   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2003-11-14  32.7585  33.0338  33.3206  32.5234  32.3628   35.8711  32.0187  \\n\",\n      \"2003-11-15  33.0052  32.7585  33.0338  33.3206  32.5234   35.8711  32.5005  \\n\",\n      \"2003-11-16  33.1944  33.0052  32.7585  33.0338  33.3206   36.0733  32.6941  \\n\",\n      \"2003-11-17  33.5442  33.1944  33.0052  32.7585  33.0338    36.079  32.6941  \\n\",\n      \"2003-11-18  32.8962  33.5442  33.1944  33.0052  32.7585   36.1079  32.6941  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.570240576978\\n\",\n      \"Explained Variance Score:  0.883135670682\\n\",\n      \"Mean Squared Error:  0.543397166296\\n\",\n      \"R2 score:  0.840783709451\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-11-15  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119  39.2664   \\n\",\n      \"2005-11-16  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119   \\n\",\n      \"2005-11-17  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863   \\n\",\n      \"2005-11-18  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308   \\n\",\n      \"2005-11-19   38.755  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2005-11-15  39.2171  40.0858  40.1844   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-11-16  39.2664  39.2171  40.0858   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-11-17  38.7119  39.2664  39.2171   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-11-18  39.1863  38.7119  39.2664   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-11-19  39.1308  39.1863  38.7119   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2005-11-15  40.0442  39.6227  40.2275  40.7162   39.867   42.5812   37.763  \\n\",\n      \"2005-11-16  39.8304  40.0442  39.6227  40.2275  40.7162   42.5812   37.763  \\n\",\n      \"2005-11-17  39.7082  39.8304  40.0442  39.6227  40.2275   42.5812   37.763  \\n\",\n      \"2005-11-18  40.2947  39.7082  39.8304  40.0442  39.6227   42.5812   37.763  \\n\",\n      \"2005-11-19  39.8304  40.2947  39.7082  39.8304  40.0442   42.5812   37.763  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.805184356548\\n\",\n      \"Explained Variance Score:  0.654726098599\\n\",\n      \"Mean Squared Error:  1.0911864143\\n\",\n      \"R2 score:  0.607901692497\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-11-08  28.7308  29.4145  29.1505  28.9068   27.607  28.0538  28.4939   \\n\",\n      \"2007-11-09  28.7511  28.7308  29.4145  29.1505  28.9068   27.607  28.0538   \\n\",\n      \"2007-11-10  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   27.607   \\n\",\n      \"2007-11-11  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   \\n\",\n      \"2007-11-12  29.1031  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2007-11-08  27.9387  29.9291  29.4484   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-11-09  28.4939  27.9387  29.9291   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-11-10  28.0538  28.4939  27.9387   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-11-11   27.607  28.0538  28.4939   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-11-12  28.9068   27.607  28.0538   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2007-11-08  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-11-09  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-11-10  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-11-11  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-11-12  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.56779790378\\n\",\n      \"Explained Variance Score:  0.910623053074\\n\",\n      \"Mean Squared Error:  4.56773993183\\n\",\n      \"R2 score:  0.895897673607\\n\",\n      \"Errors:  [Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64, Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64, Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64, Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64, Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64, Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64, Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64, Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64, Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64, Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64, Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64, Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64, Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64, Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64, Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.6862566648548238, 2.8732187489270236, 1.3256064617379473, 2.1600519846869646, 1.2235156291439226, 1.305420663991631, 2.0685360603124372, 1.0875370689226691, 1.0580095307028299, 2.0217217081378305, 2.0537492673878845, 2.4976641398052424, 1.1175050339269137, 1.3645755070232506, 4.0144579037852735], [4.0592999976323814, 3.9678510989277207, 1.9701678416738304, 3.1636611153866219, 1.7692200297767153, 2.0939347787175921, 3.1255411549111267, 1.5935961405005887, 1.6621738433483118, 2.8422732907658617, 2.8428406166970612, 3.7016790635281951, 1.5881359065976202, 1.838708716353143, 5.2950310548423047], [5.2012518896016813, 4.8595851174817444, 2.4015165262481593, 3.9663184853702087, 2.0937319599079633, 2.725889802618255, 4.0256221884370413, 2.0881478237011293, 2.1198589394936009, 3.4394436515955458, 3.1903941017651203, 4.5898554829578231, 1.9260258581576921, 2.1713779643400297, 5.7435946634475581], [6.2376680609655004, 5.1906888229530841, 2.7333023116243766, 4.771870644055527, 2.3317264370474895, 3.2484164567711518, 4.8235413121812867, 2.44198402513774, 2.4877734757315642, 3.9035877213534098, 3.4596893962513113, 5.3691221960409514, 2.2172821574031762, 2.5155067947627172, 6.6214749061448526], [7.101348672465936, 5.5598705130212815, 2.9861408788558754, 5.5072501857210723, 2.6000741043961906, 3.7020463356701927, 5.5006034680471787, 2.7726485729779609, 2.8237001385613416, 4.2351005173762228, 3.7102018424167729, 6.1433467552325984, 2.4636478733847298, 2.8408545898388282, 7.3789947893347989], [7.9277550527409595, 5.7625298134685217, 3.2529086470869495, 6.1356457071558008, 2.8329554445052851, 4.0602549841923929, 6.1326462265073882, 3.0168250033454465, 3.1420826313227979, 4.5159739803948229, 3.93149884705644, 6.8548130816086976, 2.7183436027777019, 3.1374226069422688, 8.1094147478977305], [8.7018642223453728, 6.1191921810565226, 3.5381132656657028, 6.6786375127786863, 3.0316781856016899, 4.3423819076586243, 6.6589006154937413, 3.2298492480472585, 3.4452102937068454, 4.7210730604544686, 4.2033108503209542, 7.4993260970943192, 2.9790689586399646, 3.4016567175540446, 8.8936393091082984]]\\n\",\n      \"Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 100 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=100, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.2 Adding Oil Stock Prices (GAIA)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932616</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>45.82</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>45.36</td>\\n\",\n       \"      <td>45.51</td>\\n\",\n       \"      <td>6237900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>40.666021</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.95</td>\\n\",\n       \"      <td>6.645</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6676.08</td>\\n\",\n       \"      <td>6707.26</td>\\n\",\n       \"      <td>6651.98</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932617</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>44.96</td>\\n\",\n       \"      <td>44.99</td>\\n\",\n       \"      <td>43.89</td>\\n\",\n       \"      <td>44.06</td>\\n\",\n       \"      <td>15355000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.902756</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.700</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"      <td>6726.40</td>\\n\",\n       \"      <td>6621.48</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932618</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>43.94</td>\\n\",\n       \"      <td>44.55</td>\\n\",\n       \"      <td>43.81</td>\\n\",\n       \"      <td>44.36</td>\\n\",\n       \"      <td>7105500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>38.997489</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>6.74</td>\\n\",\n       \"      <td>6.630</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"      <td>6664.00</td>\\n\",\n       \"      <td>6615.12</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932619</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>44.25</td>\\n\",\n       \"      <td>44.72</td>\\n\",\n       \"      <td>44.14</td>\\n\",\n       \"      <td>44.54</td>\\n\",\n       \"      <td>4460900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.272619</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.570</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"      <td>6653.94</td>\\n\",\n       \"      <td>6608.66</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932620</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>44.04</td>\\n\",\n       \"      <td>44.22</td>\\n\",\n       \"      <td>43.80</td>\\n\",\n       \"      <td>43.95</td>\\n\",\n       \"      <td>6834500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.086241</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6.61</td>\\n\",\n       \"      <td>7.41</td>\\n\",\n       \"      <td>6.610</td>\\n\",\n       \"      <td>7.34</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"      <td>6658.91</td>\\n\",\n       \"      <td>6601.62</td>\\n\",\n       \"      <td>6622.72</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close      Volume  \\\\\\n\",\n       \"1932616     BP  2014-09-24  45.82  45.88  45.36  45.51   6237900.0   \\n\",\n       \"1932617     BP  2014-09-25  44.96  44.99  43.89  44.06  15355000.0   \\n\",\n       \"1932618     BP  2014-09-26  43.94  44.55  43.81  44.36   7105500.0   \\n\",\n       \"1932619     BP  2014-09-29  44.25  44.72  44.14  44.54   4460900.0   \\n\",\n       \"1932620     BP  2014-09-30  44.04  44.22  43.80  43.95   6834500.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open     ...       GAIA Date  \\\\\\n\",\n       \"1932616          0.0          1.0  40.666021     ...      2014-09-24   \\n\",\n       \"1932617          0.0          1.0  39.902756     ...      2014-09-25   \\n\",\n       \"1932618          0.0          1.0  38.997489     ...      2014-09-26   \\n\",\n       \"1932619          0.0          1.0  39.272619     ...      2014-09-29   \\n\",\n       \"1932620          0.0          1.0  39.086241     ...      2014-09-30   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Open  GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close  \\\\\\n\",\n       \"1932616            6.75            6.95          6.645             6.94   \\n\",\n       \"1932617            6.94            6.94          6.700             6.70   \\n\",\n       \"1932618            6.70            6.74          6.630             6.70   \\n\",\n       \"1932619            6.62            6.69          6.570             6.62   \\n\",\n       \"1932620            6.61            7.41          6.610             7.34   \\n\",\n       \"\\n\",\n       \"          FTSE Date  FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1932616  2014-09-24    6676.08    6707.26  6651.98     6706.27  \\n\",\n       \"1932617  2014-09-25    6706.27    6726.40  6621.48     6639.71  \\n\",\n       \"1932618  2014-09-26    6639.71    6664.00  6615.12     6649.39  \\n\",\n       \"1932619  2014-09-29    6649.39    6653.94  6608.66     6646.60  \\n\",\n       \"1932620  2014-09-30    6646.60    6658.91  6601.62     6622.72  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 35,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create dataframe with BP and GAIA data in overlapping date range\\n\",\n    \"# Date range: 1999-10-29 to 2014-09-30\\n\",\n    \"# `bp_gaia_start` etc defined in Feature Engineering section 1.2.2.2\\n\",\n    \"bp_gaia = bp.loc[bp_gaia_start:bp_gaia_start+bp_gaia_intersect_length-1]\\n\",\n    \"\\n\",\n    \"# Check it ends at the right date\\n\",\n    \"bp_gaia.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3753\"\n      ]\n     },\n     \"execution_count\": 36,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(bp_gaia)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add GAIA data.\\n\",\n    \"\\n\",\n    \"# Potential improvement: Generalise `prepare_train_test` function instead\\n\",\n    \"# of copy and pasting it and making a new function.\\n\",\n    \"def prepare_train_test_with_gaia(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_gaia):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days`: the number of days prior we consider (the prices of)\\n\",\n    \"    `periods`: the total number of datapoints used (training + test)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # GAIA cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('GAIA i-%s' % str(j))\\n\",\n    \"    columns.append('GAIA Adj. High')\\n\",\n    \"    columns.append('GAIA Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['GAIA i-%s' % str(days-j)] = df.iloc[buffer+i+j]['GAIA %s' % str(target)]\\n\",\n    \"        features.iloc[i]['GAIA Adj. High'] = max(df[buffer+i:buffer+i+days]['GAIA Adj. High'])\\n\",\n    \"        features.iloc[i]['GAIA Adj. Low'] = min(df[buffer+i:buffer+i+days]['GAIA Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_gaia(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + GAIA data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_gaia(days=days, periods=periods, buffer=buffer, df=bp_gaia)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.390417267381\\n\",\n      \"Explained Variance Score:  0.853744159868\\n\",\n      \"Mean Squared Error:  0.253189951823\\n\",\n      \"R2 score:  0.846876833577\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.640084309346\\n\",\n      \"Explained Variance Score:  0.937272372234\\n\",\n      \"Mean Squared Error:  0.720859692963\\n\",\n      \"R2 score:  0.86521356578\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559376996819\\n\",\n      \"Explained Variance Score:  0.848725761062\\n\",\n      \"Mean Squared Error:  0.504733717139\\n\",\n      \"R2 score:  0.836876888323\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.807669964064\\n\",\n      \"Explained Variance Score:  0.513947367438\\n\",\n      \"Mean Squared Error:  1.11918208013\\n\",\n      \"R2 score:  0.47656012379\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.784485223446\\n\",\n      \"Explained Variance Score:  0.611742357358\\n\",\n      \"Mean Squared Error:  1.08805000734\\n\",\n      \"R2 score:  0.59682736149\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.823528275858\\n\",\n      \"Explained Variance Score:  0.854979604454\\n\",\n      \"Mean Squared Error:  1.21173657923\\n\",\n      \"R2 score:  0.848280893753\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.08202656801\\n\",\n      \"Explained Variance Score:  0.785807434633\\n\",\n      \"Mean Squared Error:  2.18729500527\\n\",\n      \"R2 score:  0.771849063305\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.64293719873\\n\",\n      \"Explained Variance Score:  0.701929531055\\n\",\n      \"Mean Squared Error:  4.86875519644\\n\",\n      \"R2 score:  0.576854711057\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.09213527916\\n\",\n      \"Explained Variance Score:  0.877782414782\\n\",\n      \"Mean Squared Error:  1.85736866345\\n\",\n      \"R2 score:  0.823140444507\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.26399823305\\n\",\n      \"Explained Variance Score:  0.917408689638\\n\",\n      \"Mean Squared Error:  3.26079876466\\n\",\n      \"R2 score:  0.904206507456\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.949041466517\\n\",\n      \"Explained Variance Score:  0.760114297454\\n\",\n      \"Mean Squared Error:  1.50840397037\\n\",\n      \"R2 score:  0.751639652033\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.83600905218\\n\",\n      \"Explained Variance Score:  0.749597354718\\n\",\n      \"Mean Squared Error:  1.16224774383\\n\",\n      \"R2 score:  0.742591965811\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.557442173078\\n\",\n      \"Explained Variance Score:  0.46981043696\\n\",\n      \"Mean Squared Error:  0.522034902854\\n\",\n      \"R2 score:  0.465782842549\\n\",\n      \"Errors:  [Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64, Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64, Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64, Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64, Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64, Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64, Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64, Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64, Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64, Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64, Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64, Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64, Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3416274627176741, 1.2253222561285753, 1.0255495409576574, 1.266776829926521, 1.1982064351141712, 1.310712301821582, 1.7298817238551929, 3.8921754249906253, 1.6629575970691628, 3.0941354597945034, 2.0330820163702419, 1.7164225319161091, 1.1686884331757421], [1.7150760880207037, 1.8964172603677423, 1.4834673922912223, 1.8554594521723491, 1.6787503849419985, 1.8263483157031517, 2.3241398333250651, 5.2355080851844216, 2.3752099271864098, 4.4270718273765972, 2.9025947293955445, 2.4521487734937994, 1.5958526122466832], [2.0477430054053203, 2.3723857338154257, 1.7988798566364699, 2.2637800713580867, 2.0641570748232887, 2.1815157366804447, 2.8355986521448, 5.9932443782633227, 2.9633965226109846, 5.2083198103473851, 3.5852639670979616, 2.9819102400068132, 1.8925844623819319], [2.3097316999351953, 2.8071999746923053, 2.0500517838892773, 2.6324197507576557, 2.4726133505762671, 2.5425603577844873, 3.2307653588653578, 7.1525225718155419, 3.4134342032425726, 6.2465795890314988, 4.0172291702026053, 3.4643390217868517, 2.1742172950593774], [2.5975117870884237, 3.2335105558655264, 2.2739368989119333, 2.9489855905646274, 2.8044131318548891, 2.870944054320459, 3.7485731532447448, 8.3852639729218854, 3.8372768182949173, 7.2493788386688047, 4.3865708556257568, 3.7613389113197311, 2.3577017695179605], [2.7408301709503315, 3.6348871408243957, 2.4565607234069882, 3.2327235750256049, 3.1394000107197346, 3.1446997267702699, 4.354234736214309, 9.4347187346765544, 4.2807532074257058, 8.2875526190580011, 4.6089459172836937, 3.9769158354848391, 2.5282971175926079], [2.855423021053821, 4.0729371465412827, 2.6544296847203288, 3.4571876639216557, 3.4085147945800864, 3.3865251171130839, 4.7922194765634272, 10.64932394540064, 4.6834300530757496, 9.5173590389649085, 4.8463224597302119, 4.1659653260441791, 2.632187257416279]]\\n\",\n      \"Mean daily error:  [1.743502924141366, 2.4436957447465919, 2.9375984239670951, 3.4241280098183839, 3.8811851029384354, 4.2938861165717714, 4.701678845009666]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.411869432422\\n\",\n      \"Explained Variance Score:  0.860958167317\\n\",\n      \"Mean Squared Error:  0.278323948034\\n\",\n      \"R2 score:  0.821867759953\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.606986183256\\n\",\n      \"Explained Variance Score:  0.932648097155\\n\",\n      \"Mean Squared Error:  0.66024635669\\n\",\n      \"R2 score:  0.868677365951\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559944807019\\n\",\n      \"Explained Variance Score:  0.833869148805\\n\",\n      \"Mean Squared Error:  0.505571476681\\n\",\n      \"R2 score:  0.823962424354\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.821987533814\\n\",\n      \"Explained Variance Score:  0.46989388159\\n\",\n      \"Mean Squared Error:  1.15104795599\\n\",\n      \"R2 score:  0.430126472698\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.817292176686\\n\",\n      \"Explained Variance Score:  0.605237375421\\n\",\n      \"Mean Squared Error:  1.16563063035\\n\",\n      \"R2 score:  0.588600663963\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.855518357378\\n\",\n      \"Explained Variance Score:  0.855221593528\\n\",\n      \"Mean Squared Error:  1.28660241537\\n\",\n      \"R2 score:  0.84831538254\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.1189552901\\n\",\n      \"Explained Variance Score:  0.781265137134\\n\",\n      \"Mean Squared Error:  2.30617202977\\n\",\n      \"R2 score:  0.76007064928\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.74362867052\\n\",\n      \"Explained Variance Score:  0.676636001157\\n\",\n      \"Mean Squared Error:  5.47659375935\\n\",\n      \"R2 score:  0.50027082935\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.06057828555\\n\",\n      \"Explained Variance Score:  0.877606203974\\n\",\n      \"Mean Squared Error:  1.77876224515\\n\",\n      \"R2 score:  0.831199539803\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.28699529802\\n\",\n      \"Explained Variance Score:  0.905327333598\\n\",\n      \"Mean Squared Error:  3.46556542013\\n\",\n      \"R2 score:  0.892876435992\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.957755739612\\n\",\n      \"Explained Variance Score:  0.758091797889\\n\",\n      \"Mean Squared Error:  1.51735582203\\n\",\n      \"R2 score:  0.751963233546\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.828153458555\\n\",\n      \"Explained Variance Score:  0.748810119642\\n\",\n      \"Mean Squared Error:  1.15885573253\\n\",\n      \"R2 score:  0.739717381937\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.536701478378\\n\",\n      \"Explained Variance Score:  0.501934925031\\n\",\n      \"Mean Squared Error:  0.493473147419\\n\",\n      \"R2 score:  0.496826916953\\n\",\n      \"Errors:  [Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64, Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64, Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64, Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64, Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64, Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64, Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64, Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64, Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64, Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64, Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64, Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64, Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3231776216477114, 1.1980342560885635, 1.0337559381524328, 1.2807686653343162, 1.2456589674532657, 1.3280813790944388, 1.7103664889037826, 3.9654429549097601, 1.6030301361552719, 3.1262859191366834, 2.0575536901156961, 1.7625814480985875, 1.122261076440187], [1.6714227116632154, 1.7937529603665612, 1.4762654529955792, 1.8988415982605655, 1.7986447274603283, 1.8411983204181284, 2.3179232847517244, 5.5067122215563318, 2.2614338115669748, 4.5366470960465399, 2.9088991347268269, 2.509250623322357, 1.5543009007901478], [2.0030655887796156, 2.2380077065815658, 1.780142194025534, 2.3358307699453613, 2.1709139424992134, 2.2349182679689812, 2.9254723250608365, 6.3890225539288785, 2.8520975853223187, 5.3572107545469327, 3.6021525960354821, 3.0062242229108511, 1.8244880060908213], [2.2800381048939928, 2.6718769676440171, 2.0485058953109236, 2.7139945310843472, 2.5292649062139549, 2.6223432174672223, 3.3576365342598042, 7.6482257503288977, 3.3136212289590303, 6.4358480297866265, 4.0176389505663028, 3.4729158251810874, 2.1141046081849635], [2.6130558930393306, 3.0947438014593844, 2.2777450341905157, 2.9928587868727545, 2.8834172521302088, 2.9595736804925212, 3.922805774129059, 8.8953440466338662, 3.7744107155179223, 7.4638214002320096, 4.3930553757686583, 3.7290523761223286, 2.3044743756514912], [2.8253797825024778, 3.4910159576111015, 2.4592393810665074, 3.2417476593438641, 3.2341045345752168, 3.2340433613195385, 4.4995984413286916, 10.009035103965697, 4.1986423675716669, 8.5729105007004449, 4.632208728692107, 3.9248259983154372, 2.4578823506143306], [3.1181366825666315, 3.9477940431715237, 2.6568415237777345, 3.4724030082407742, 3.527884207580871, 3.495192276717217, 4.925807113061305, 11.437354010217145, 4.6016137595911006, 9.8966156891001624, 4.8838613016883965, 4.0961565153048944, 2.5430114038608864]]\\n\",\n      \"Mean daily error:  [1.7505383493485149, 2.4673302187634834, 2.9784266548997227, 3.4789241961447055, 3.9464891163261573, 4.3677410898159295, 4.8155901180675889]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(days=10, steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.3 Adding FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>46.00</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924932</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>46.12</td>\\n\",\n       \"      <td>46.50</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>148900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.800788</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924933</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>283800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.852835</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924934</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>166400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.036040</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924935</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>47.12</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>81500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.904882</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.50  46.00  209700.0          0.0   \\n\",\n       \"1924932     BP  1984-04-03  46.12  46.50  45.88  46.38  148900.0          0.0   \\n\",\n       \"1924933     BP  1984-04-04  46.62  48.00  46.62  48.00  283800.0          0.0   \\n\",\n       \"1924934     BP  1984-04-05  48.38  48.38  47.00  47.50  166400.0          0.0   \\n\",\n       \"1924935     BP  1984-04-06  47.12  47.50  47.00  47.50   81500.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open     ...      GAIA Date  GAIA Adj. Open  \\\\\\n\",\n       \"1924931          1.0   4.748742     ...            NaN             NaN   \\n\",\n       \"1924932          1.0   4.800788     ...            NaN             NaN   \\n\",\n       \"1924933          1.0   4.852835     ...            NaN             NaN   \\n\",\n       \"1924934          1.0   5.036040     ...            NaN             NaN   \\n\",\n       \"1924935          1.0   4.904882     ...            NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close   FTSE Date  \\\\\\n\",\n       \"1924931             NaN            NaN              NaN  1984-04-02   \\n\",\n       \"1924932             NaN            NaN              NaN  1984-04-03   \\n\",\n       \"1924933             NaN            NaN              NaN  1984-04-04   \\n\",\n       \"1924934             NaN            NaN              NaN  1984-04-05   \\n\",\n       \"1924935             NaN            NaN              NaN  1984-04-06   \\n\",\n       \"\\n\",\n       \"         FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1924931     1108.1     1108.1   1108.1      1108.1  \\n\",\n       \"1924932     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924933     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924934     1102.2     1102.2   1102.2      1102.2  \\n\",\n       \"1924935     1096.3     1096.3   1096.3      1096.3  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 41,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create df with BP and FTSE data\\n\",\n    \"bp_ftse = bp.loc[bp_ftse_start:]\\n\",\n    \"bp_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add FTSE data.\\n\",\n    \"def prepare_train_test_with_ftse(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_ftse, name='FTSE'):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # FTSE cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('%s i-%s' % (name, str(j)))\\n\",\n    \"    columns.append('%s High' % name)\\n\",\n    \"    columns.append('%s Low' % name)\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['%s i-%s' % (name, str(days-j))] = df.iloc[buffer+i+j]['%s %s' % (name, 'Close')]\\n\",\n    \"        features.iloc[i]['%s High' % name] = max(df[buffer+i:buffer+i+days]['%s High' % name])\\n\",\n    \"        features.iloc[i]['%s Low' % name] = min(df[buffer+i:buffer+i+days]['%s Low' % name])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_ftse(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.211015556424\\n\",\n      \"Explained Variance Score:  0.899000260643\\n\",\n      \"Mean Squared Error:  0.101319536893\\n\",\n      \"R2 score:  0.896790144908\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.103662027254\\n\",\n      \"Explained Variance Score:  0.810914496372\\n\",\n      \"Mean Squared Error:  0.0191496161364\\n\",\n      \"R2 score:  0.791651910968\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.16109328452\\n\",\n      \"Explained Variance Score:  0.509005999538\\n\",\n      \"Mean Squared Error:  0.0448450594299\\n\",\n      \"R2 score:  0.483113556059\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.134831719911\\n\",\n      \"Explained Variance Score:  0.940362863942\\n\",\n      \"Mean Squared Error:  0.0312949743422\\n\",\n      \"R2 score:  0.930443446072\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.138033710537\\n\",\n      \"Explained Variance Score:  0.808072775502\\n\",\n      \"Mean Squared Error:  0.0334602089163\\n\",\n      \"R2 score:  0.796224083528\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.283227004062\\n\",\n      \"Explained Variance Score:  0.94135464242\\n\",\n      \"Mean Squared Error:  0.148338070724\\n\",\n      \"R2 score:  0.940791765118\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.592720577547\\n\",\n      \"Explained Variance Score:  0.590618890488\\n\",\n      \"Mean Squared Error:  0.561331819027\\n\",\n      \"R2 score:  0.591291118732\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.806309397821\\n\",\n      \"Explained Variance Score:  0.691786541195\\n\",\n      \"Mean Squared Error:  1.15097371293\\n\",\n      \"R2 score:  0.680775196711\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.555161284679\\n\",\n      \"Explained Variance Score:  0.783418594845\\n\",\n      \"Mean Squared Error:  0.535944911988\\n\",\n      \"R2 score:  0.778980606844\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601145418071\\n\",\n      \"Explained Variance Score:  0.928081215955\\n\",\n      \"Mean Squared Error:  0.703987908082\\n\",\n      \"R2 score:  0.867484525348\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728988512466\\n\",\n      \"Explained Variance Score:  0.810817817708\\n\",\n      \"Mean Squared Error:  0.896347592801\\n\",\n      \"R2 score:  0.805988449328\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.922073321462\\n\",\n      \"Explained Variance Score:  0.85113491032\\n\",\n      \"Mean Squared Error:  1.46122600596\\n\",\n      \"R2 score:  0.850264942708\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17309132125\\n\",\n      \"Explained Variance Score:  0.799408239284\\n\",\n      \"Mean Squared Error:  2.27030564663\\n\",\n      \"R2 score:  0.796642650027\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.843137827511\\n\",\n      \"Explained Variance Score:  0.832739639424\\n\",\n      \"Mean Squared Error:  1.16152586731\\n\",\n      \"R2 score:  0.800540577102\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.631785589032\\n\",\n      \"Explained Variance Score:  0.609102226738\\n\",\n      \"Mean Squared Error:  0.685708026384\\n\",\n      \"R2 score:  0.61435314998\\n\",\n      \"Errors:  [Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64, Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64, Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64, Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64, Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64, Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64, Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64, Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64, Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64, Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64, Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64, Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64, Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64, Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64, Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1093203849638837, 1.0882498665812053, 1.1727221193362856, 1.412586577442704, 0.9378952735856545, 1.0300941063834617, 1.7405932434523412, 2.1849168154032079, 1.609139147394997, 1.1597121603824943, 1.2455832253947525, 1.3370203586317857, 2.8222226244345667, 1.5229049347204531, 1.4034412486597296], [3.137677932962208, 1.5142879962397864, 1.7868339361639278, 2.1822902059145175, 1.3950071506620265, 1.6581419571681995, 2.5994688610024981, 3.150312167798214, 2.2094784630369553, 1.8210669198683502, 1.7831545661313932, 1.9538476861974765, 3.8732839254645901, 2.2895125324881676, 1.9691207311038021], [3.9275897295520128, 1.8580481167789493, 2.2658084022672815, 2.6901289014995937, 1.767085268420445, 2.1449275152997287, 3.2412865657258387, 3.8620255289884353, 2.6511445367500901, 2.3681564296528759, 2.1178502784134459, 2.4027006524959704, 4.4847012689782151, 2.8754387124563219, 2.3383173887217694], [4.8109068581784316, 2.1202592771408266, 2.7240948901950901, 3.0806499448309483, 2.0219604798575306, 2.5452837022717545, 3.7324950514184696, 4.3328167447346981, 3.0359152242486602, 2.8815894798898607, 2.4314952470219375, 2.7936258809738246, 5.1413550904137146, 3.3644214225425011, 2.6694884382791546], [5.6093030750366921, 2.3865041173957149, 3.0906874855810553, 3.3625090179209156, 2.2210374912412818, 2.9087622099011363, 4.1787916887657, 4.7142020078698375, 3.307851012047319, 3.3951893092285954, 2.6908537577255762, 3.1376619968233004, 5.6210588492955305, 3.7242680240618635, 2.8336973969591983], [6.3945931299753953, 2.6514816004326791, 3.3716820089302235, 3.6483218764886902, 2.3863700872043565, 3.2013104222689206, 4.5022040533065981, 5.0931736226381776, 3.5136885049685351, 3.9347008139004784, 2.9018384802534278, 3.3989102445656725, 5.9285358715306176, 4.01961642402006, 2.9085703842103929], [7.2348796444965835, 2.8974138017887943, 3.5583384572569687, 3.9429838565291648, 2.5529337042005769, 3.4398540607220633, 4.7926283817650912, 5.5118415837853485, 3.7316462933370311, 4.4484836960925431, 3.0861939411336166, 3.64371401011475, 6.4010282408578716, 4.2815500163757605, 2.9131303105673707]]\\n\",\n      \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=7, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.215528703585\\n\",\n      \"Explained Variance Score:  0.89239332126\\n\",\n      \"Mean Squared Error:  0.106333053016\\n\",\n      \"R2 score:  0.889423358708\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.10544394771\\n\",\n      \"Explained Variance Score:  0.823015071932\\n\",\n      \"Mean Squared Error:  0.020152560856\\n\",\n      \"R2 score:  0.801681477257\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.159314434074\\n\",\n      \"Explained Variance Score:  0.516143726707\\n\",\n      \"Mean Squared Error:  0.0435129876798\\n\",\n      \"R2 score:  0.495386197593\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.136614189089\\n\",\n      \"Explained Variance Score:  0.939952177211\\n\",\n      \"Mean Squared Error:  0.0322690576029\\n\",\n      \"R2 score:  0.928442841529\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.140535916916\\n\",\n      \"Explained Variance Score:  0.809072502567\\n\",\n      \"Mean Squared Error:  0.0343899561873\\n\",\n      \"R2 score:  0.799698674935\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.280129258983\\n\",\n      \"Explained Variance Score:  0.941835339241\\n\",\n      \"Mean Squared Error:  0.143004453044\\n\",\n      \"R2 score:  0.941407871428\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.622769626763\\n\",\n      \"Explained Variance Score:  0.549268768233\\n\",\n      \"Mean Squared Error:  0.608912691972\\n\",\n      \"R2 score:  0.544265975032\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.822610971931\\n\",\n      \"Explained Variance Score:  0.667388346685\\n\",\n      \"Mean Squared Error:  1.20046660692\\n\",\n      \"R2 score:  0.65660643821\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.578147544172\\n\",\n      \"Explained Variance Score:  0.771641543361\\n\",\n      \"Mean Squared Error:  0.577674968314\\n\",\n      \"R2 score:  0.758137073698\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.62310658889\\n\",\n      \"Explained Variance Score:  0.935786377244\\n\",\n      \"Mean Squared Error:  0.733200459648\\n\",\n      \"R2 score:  0.866502386196\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.753820405372\\n\",\n      \"Explained Variance Score:  0.789718883382\\n\",\n      \"Mean Squared Error:  0.961684765187\\n\",\n      \"R2 score:  0.787036306482\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.923211659748\\n\",\n      \"Explained Variance Score:  0.849260130266\\n\",\n      \"Mean Squared Error:  1.4577408598\\n\",\n      \"R2 score:  0.849596798634\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17807639875\\n\",\n      \"Explained Variance Score:  0.811070055435\\n\",\n      \"Mean Squared Error:  2.27195431925\\n\",\n      \"R2 score:  0.80485970809\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.811337617748\\n\",\n      \"Explained Variance Score:  0.814434213769\\n\",\n      \"Mean Squared Error:  1.06810231014\\n\",\n      \"R2 score:  0.795783463702\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.621253472644\\n\",\n      \"Explained Variance Score:  0.584629646453\\n\",\n      \"Mean Squared Error:  0.678659874536\\n\",\n      \"R2 score:  0.590446476591\\n\",\n      \"Errors:  [Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64, Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64, Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64, Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64, Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64, Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64, Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64, Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64, Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64, Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64, Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64, Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64, Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64, Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64, Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1917071373549142, 1.0834175849417413, 1.1790388483576231, 1.4185720767250298, 0.96921873843174433, 1.0389149513076914, 1.7978906762316238, 2.2081130786782364, 1.626428265072178, 1.1688790011372792, 1.2442918199208317, 1.3543393912886921, 2.8279137985254801, 1.4834687450605335, 1.3679706504709863], [3.2551135884486477, 1.5219113117998229, 1.7845167567514877, 2.2058091975797436, 1.4079893663844747, 1.64581116515362, 2.7233218542675242, 3.1854362480671763, 2.2185746552549848, 1.8257198705930926, 1.7965291955873381, 1.9540303097844811, 3.7968068102836212, 2.1882198067251681, 1.9383968951517652], [4.1071642717896424, 1.899441698280516, 2.2520776093061308, 2.7079657528262455, 1.7743659001210701, 2.1122985914925523, 3.356193360147429, 3.977846700859939, 2.6167864392207312, 2.3844631650635484, 2.1738537747800573, 2.383788098908028, 4.3513351771356108, 2.7333448756427385, 2.3176337055862728], [4.9069274993299832, 2.1753970232525957, 2.6855930147788434, 3.0651327146777625, 2.0068103232086885, 2.4837707641410778, 3.878115561655151, 4.5680307683121617, 2.9908780138635374, 2.9145726033700368, 2.496350569513452, 2.7916378601993737, 5.0011359073546746, 3.1891975828644781, 2.6554416096311888], [5.684571865013738, 2.4463368567295891, 3.0361268916304378, 3.3729085591425267, 2.2222876725032874, 2.8291606439532142, 4.3457001749901645, 4.9489701760890119, 3.3523269094516883, 3.484220273558515, 2.7805684594518505, 3.1350021688093856, 5.5633024838786831, 3.5779675235638311, 2.8246714585341386], [6.5457674951850882, 2.6984515540580043, 3.2977446703014217, 3.7227666232643482, 2.4311370551028717, 3.1270319944324179, 4.6977181415685774, 5.2485644247119962, 3.7005685112433282, 4.0597642961603251, 3.0202781279834614, 3.4146913692062437, 5.9173890041333834, 3.8490686937976597, 2.9228497474023731], [7.4729519181537638, 2.9691887750983366, 3.4845684255477578, 4.0859302671068836, 2.6285168571962965, 3.3663785847193122, 5.0597293035706112, 5.539855260240377, 4.0349747441790287, 4.593526881685257, 3.2322257784365647, 3.6331538446606069, 6.4351103994170922, 4.0985222258397407, 2.8998887303961443]]\\n\",\n      \"Mean daily error:  [1.5306776509003057, 2.2298791354555303, 2.7432372747440339, 3.1872661210768669, 3.5736081411533376, 3.9102527805700995, 4.2356347997498514]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=10, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# We want an array with predictions for our model in a long date range.\\n\",\n    \"# We will consider the max error predictions, that is,\\n\",\n    \"# predictions of adjusted close prices 7 days ahead.\\n\",\n    \"\\n\",\n    \"# Initialise variable\\n\",\n    \"predictions_800_off = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predict(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Append predictions to `predictions_800_off`.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    print(\\\"Pred: \\\", pred)\\n\",\n    \"    predictions_800_off.append(pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Pared-down execute function that runs train-test cycles and \\n\",\n    \"# appends the predictions to `predictions_800_off` via the function `predict()`.\\n\",\n    \"def execute_viz(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        predict(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"Pred:  [[ 7.83601976  7.84714155  7.85292535 ...,  7.89987737  7.91755521\\n\",\n      \"   7.93865868]\\n\",\n      \" [ 7.85539551  7.86158008  7.87498252 ...,  7.90506271  7.91740818\\n\",\n      \"   7.93852032]\\n\",\n      \" [ 7.83170231  7.84749588  7.87738729 ...,  7.89285396  7.91642424\\n\",\n      \"   7.92424915]\\n\",\n      \" ..., \\n\",\n      \" [ 6.36738278  6.39213824  6.39270447 ...,  6.43798347  6.45461204\\n\",\n      \"   6.4751872 ]\\n\",\n      \" [ 6.42016386  6.417325    6.42707883 ...,  6.47916005  6.50267402\\n\",\n      \"   6.51950021]\\n\",\n      \" [ 6.28080118  6.27092368  6.28282955 ...,  6.30547753  6.3252951\\n\",\n      \"   6.3264697 ]]\\n\",\n      \"Buffer:  200\\n\",\n      \"Pred:  [[ 6.14075766  6.11117589  6.09574853 ...,  6.07217018  6.07748552\\n\",\n      \"   6.08070167]\\n\",\n      \" [ 6.21540435  6.17492322  6.17149764 ...,  6.1453285   6.13813657\\n\",\n      \"   6.14081275]\\n\",\n      \" [ 6.27753279  6.27307459  6.23843178 ...,  6.24830207  6.24374508\\n\",\n      \"   6.21901832]\\n\",\n      \" ..., \\n\",\n      \" [ 5.75919469  5.78334022  5.79923807 ...,  5.83008595  5.859385\\n\",\n      \"   5.87740631]\\n\",\n      \" [ 5.76238715  5.7892002   5.81412139 ...,  5.85030748  5.88508911\\n\",\n      \"   5.88637507]\\n\",\n      \" [ 5.78833298  5.81875138  5.83850427 ...,  5.88612816  5.8986934\\n\",\n      \"   5.90478152]]\\n\",\n      \"Buffer:  400\\n\",\n      \"Pred:  [[ 5.7641509   5.79247187  5.81926042 ...,  5.84616883  5.86198088\\n\",\n      \"   5.87727484]\\n\",\n      \" [ 5.8513131   5.86385014  5.88638345 ...,  5.89063265  5.90502758\\n\",\n      \"   5.90804928]\\n\",\n      \" [ 5.9113665   5.92879268  5.93253659 ...,  5.94752817  5.95264971\\n\",\n      \"   5.95534078]\\n\",\n      \" ..., \\n\",\n      \" [ 6.1998076   6.19815249  6.22826773 ...,  6.25852243  6.2950688\\n\",\n      \"   6.28322814]\\n\",\n      \" [ 6.19140054  6.19932943  6.23777417 ...,  6.25145184  6.25277943\\n\",\n      \"   6.24492933]\\n\",\n      \" [ 6.22481015  6.25710477  6.27123817 ...,  6.28618561  6.29833129\\n\",\n      \"   6.29616353]]\\n\",\n      \"Buffer:  600\\n\",\n      \"Pred:  [[ 6.1645113   6.1747009   6.17346569 ...,  6.14073882  6.13655823\\n\",\n      \"   6.15464913]\\n\",\n      \" [ 6.23869668  6.22906726  6.21064429 ...,  6.19525349  6.199533    6.1829646 ]\\n\",\n      \" [ 5.94298817  5.92847236  5.91129748 ...,  5.89322178  5.86434585\\n\",\n      \"   5.87953873]\\n\",\n      \" ..., \\n\",\n      \" [ 8.94246533  8.87626646  8.89060421 ...,  8.84848815  8.85793555\\n\",\n      \"   8.86792794]\\n\",\n      \" [ 8.78322534  8.79037462  8.72943888 ...,  8.72055999  8.7383812\\n\",\n      \"   8.68878426]\\n\",\n      \" [ 8.83433927  8.76940226  8.77364936 ...,  8.77248502  8.72566135\\n\",\n      \"   8.69839892]]\\n\",\n      \"Buffer:  800\\n\",\n      \"Pred:  [[ 8.67603806  8.67084409  8.65130791 ...,  8.67378925  8.69676109\\n\",\n      \"   8.69455006]\\n\",\n      \" [ 8.82830315  8.8205379   8.86009166 ...,  8.87552595  8.85568772\\n\",\n      \"   8.84410872]\\n\",\n      \" [ 8.84748948  8.84911858  8.81238761 ...,  8.78189801  8.75265697\\n\",\n      \"   8.72581647]\\n\",\n      \" ..., \\n\",\n      \" [ 7.71616361  7.7100549   7.68435219 ...,  7.6489673   7.61926738\\n\",\n      \"   7.60503466]\\n\",\n      \" [ 7.59805829  7.59515854  7.53381661 ...,  7.5060898   7.47964638\\n\",\n      \"   7.49137924]\\n\",\n      \" [ 7.54657369  7.52483132  7.53333146 ...,  7.50714863  7.52033692\\n\",\n      \"   7.5104685 ]]\\n\",\n      \"Buffer:  1000\\n\",\n      \"Pred:  [[ 7.46215011  7.4436282   7.43918656 ...,  7.5010726   7.48113362\\n\",\n      \"   7.48813435]\\n\",\n      \" [ 7.56216243  7.57242677  7.60962549 ...,  7.59408734  7.58687173\\n\",\n      \"   7.59213207]\\n\",\n      \" [ 7.55189234  7.58738691  7.61589834 ...,  7.60049142  7.60064947\\n\",\n      \"   7.60278131]\\n\",\n      \" ..., \\n\",\n      \" [ 6.19883297  6.22711546  6.24523835 ...,  6.30446123  6.33864273\\n\",\n      \"   6.33903875]\\n\",\n      \" [ 6.17836606  6.19567673  6.22059366 ...,  6.29335772  6.30085317\\n\",\n      \"   6.31700372]\\n\",\n      \" [ 6.30048133  6.33373495  6.37895762 ...,  6.41007597  6.40794933\\n\",\n      \"   6.42844116]]\\n\",\n      \"Buffer:  1200\\n\",\n      \"Pred:  [[ 6.30754289  6.34315541  6.37136507 ...,  6.34725709  6.3533664\\n\",\n      \"   6.36701006]\\n\",\n      \" [ 6.2183139   6.22645131  6.20859811 ...,  6.19826357  6.21393204\\n\",\n      \"   6.22498325]\\n\",\n      \" [ 6.13231736  6.11064193  6.06756449 ...,  6.10864178  6.12762316\\n\",\n      \"   6.12009367]\\n\",\n      \" ..., \\n\",\n      \" [ 4.93362234  4.93814477  4.93428253 ...,  4.96908178  4.9916257\\n\",\n      \"   5.0119479 ]\\n\",\n      \" [ 4.94855637  4.96672313  4.9753907  ...,  5.01327007  5.04827391\\n\",\n      \"   5.06702398]\\n\",\n      \" [ 4.94109813  4.95766805  4.9861515  ...,  5.00727657  5.02994663\\n\",\n      \"   5.03880748]]\\n\",\n      \"Buffer:  1400\\n\",\n      \"Pred:  [[ 4.99871061  5.02010571  5.014281   ...,  5.0026121   4.99747618\\n\",\n      \"   4.97557435]\\n\",\n      \" [ 5.15365698  5.15594044  5.1491617  ...,  5.09127283  5.05670229\\n\",\n      \"   5.06074197]\\n\",\n      \" [ 5.15264849  5.14912635  5.12308927 ...,  5.05939273  5.0643763\\n\",\n      \"   5.04887009]\\n\",\n      \" ..., \\n\",\n      \" [ 6.73631505  6.69817443  6.67661297 ...,  6.63990072  6.64029307\\n\",\n      \"   6.62941594]\\n\",\n      \" [ 6.80586543  6.78280213  6.77308604 ...,  6.73267206  6.70165677\\n\",\n      \"   6.68567721]\\n\",\n      \" [ 6.87717059  6.8713965   6.85461032 ...,  6.80891943  6.78659161\\n\",\n      \"   6.7676666 ]]\\n\",\n      \"Buffer:  1600\\n\",\n      \"Pred:  [[ 6.88960025  6.895621    6.91178743 ...,  6.90648271  6.91037924\\n\",\n      \"   6.91464528]\\n\",\n      \" [ 6.92029213  6.93896731  6.93794831 ...,  6.94105214  6.94581302\\n\",\n      \"   6.93479959]\\n\",\n      \" [ 6.94258489  6.94132069  6.93738101 ...,  6.95109387  6.94439441\\n\",\n      \"   6.96149157]\\n\",\n      \" ..., \\n\",\n      \" [ 8.63303575  8.6153931   8.62242329 ...,  8.60348853  8.61375744\\n\",\n      \"   8.62515753]\\n\",\n      \" [ 8.65670167  8.66375148  8.66798893 ...,  8.65346248  8.65856181\\n\",\n      \"   8.64789495]\\n\",\n      \" [ 8.7674598   8.76709683  8.7645547  ...,  8.78059364  8.7585914\\n\",\n      \"   8.76297732]]\\n\",\n      \"Buffer:  1800\\n\",\n      \"Pred:  [[  8.68953042   8.68353244   8.69167093 ...,   8.69226758   8.69669531\\n\",\n      \"    8.70359861]\\n\",\n      \" [  8.66104825   8.66338749   8.68358337 ...,   8.67084048   8.68664223\\n\",\n      \"    8.67802482]\\n\",\n      \" [  8.67468363   8.69245015   8.66828894 ...,   8.69130084   8.67790535\\n\",\n      \"    8.69542446]\\n\",\n      \" ..., \\n\",\n      \" [ 10.25132895  10.26123566  10.25052647 ...,  10.2702956   10.28387785\\n\",\n      \"   10.29072272]\\n\",\n      \" [ 10.18370737  10.17290369  10.18125306 ...,  10.2112286   10.21762469\\n\",\n      \"   10.21706292]\\n\",\n      \" [ 10.22958344  10.23782323  10.24337281 ...,  10.26467471  10.25519154\\n\",\n      \"   10.2341133 ]]\\n\",\n      \"Buffer:  2000\\n\",\n      \"Pred:  [[ 10.22064293  10.22413787  10.24471743 ...,  10.27029812  10.2744557\\n\",\n      \"   10.28765738]\\n\",\n      \" [ 10.26516025  10.27459074  10.29442757 ...,  10.31496257  10.32870539\\n\",\n      \"   10.33393516]\\n\",\n      \" [ 10.12818121  10.13767282  10.16435904 ...,  10.23174691  10.25429594\\n\",\n      \"   10.27571162]\\n\",\n      \" ..., \\n\",\n      \" [ 11.64694204  11.67793627  11.71878894 ...,  11.72885817  11.73598723\\n\",\n      \"   11.74138426]\\n\",\n      \" [ 11.50646666  11.55801859  11.60061623 ...,  11.59712143  11.60710104\\n\",\n      \"   11.62519194]\\n\",\n      \" [ 11.66543188  11.70375594  11.72575794 ...,  11.7634877   11.80012102\\n\",\n      \"   11.80921948]]\\n\",\n      \"Buffer:  2200\\n\",\n      \"Pred:  [[ 11.62959737  11.64537291  11.62913452 ...,  11.63915597  11.63946331\\n\",\n      \"   11.67432874]\\n\",\n      \" [ 11.51306747  11.4921517   11.48731226 ...,  11.48843655  11.5272199\\n\",\n      \"   11.53575298]\\n\",\n      \" [ 11.4459014   11.44132033  11.44303377 ...,  11.43963244  11.4371997\\n\",\n      \"   11.45553989]\\n\",\n      \" ..., \\n\",\n      \" [ 16.22239336  16.21976356  16.22826391 ...,  16.21574299  16.22293648\\n\",\n      \"   16.26595504]\\n\",\n      \" [ 15.98826989  16.00674066  16.03692572 ...,  16.0496106   16.10671921\\n\",\n      \"   16.11635139]\\n\",\n      \" [ 15.79752122  15.88073774  15.95919399 ...,  16.04615273  16.04535607\\n\",\n      \"   16.03367065]]\\n\",\n      \"Buffer:  2400\\n\",\n      \"Pred:  [[ 16.04780654  16.10427504  16.15325971 ...,  16.21640137  16.23310984\\n\",\n      \"   16.24580039]\\n\",\n      \" [ 15.93923871  15.96865021  16.01241045 ...,  16.04899501  16.0097939\\n\",\n      \"   16.01058251]\\n\",\n      \" [ 15.95002904  15.99504448  16.00543129 ...,  16.08477758  16.0724383\\n\",\n      \"   16.01255977]\\n\",\n      \" ..., \\n\",\n      \" [ 20.43621626  20.48574881  20.53403285 ...,  20.5853136   20.65182418\\n\",\n      \"   20.70740506]\\n\",\n      \" [ 21.01478432  21.0377329   21.06384251 ...,  21.11292127  21.16689338\\n\",\n      \"   21.25102393]\\n\",\n      \" [ 20.80946572  20.84214892  20.83450899 ...,  20.87816108  20.94758599\\n\",\n      \"   20.97840243]]\\n\",\n      \"Buffer:  2600\\n\",\n      \"Pred:  [[ 20.79530755  20.70031722  20.67570255 ...,  20.67175512  20.75003016\\n\",\n      \"   20.7424359 ]\\n\",\n      \" [ 20.51491535  20.51195086  20.47751748 ...,  20.61619501  20.61899275\\n\",\n      \"   20.71100874]\\n\",\n      \" [ 20.88903686  20.83145557  20.76382639 ...,  20.84093447  20.95482155\\n\",\n      \"   20.93470293]\\n\",\n      \" ..., \\n\",\n      \" [ 21.35898088  21.44310834  21.58442593 ...,  21.67728542  21.63729079\\n\",\n      \"   21.76718696]\\n\",\n      \" [ 21.02670418  21.22586046  21.36227848 ...,  21.31522747  21.4562707\\n\",\n      \"   21.61980196]\\n\",\n      \" [ 21.08453035  21.20775213  21.19865266 ...,  21.28921609  21.44822081\\n\",\n      \"   21.56667633]]\\n\",\n      \"Buffer:  2800\\n\",\n      \"Pred:  [[ 20.44161666  20.44133304  20.50606671 ...,  20.78067392  20.83525299\\n\",\n      \"   20.88356921]\\n\",\n      \" [ 20.47831642  20.55669655  20.6800365  ...,  20.94345539  21.0255306\\n\",\n      \"   21.09250263]\\n\",\n      \" [ 20.0543866   20.24467179  20.42056851 ...,  20.71879315  20.80801567\\n\",\n      \"   20.8139791 ]\\n\",\n      \" ..., \\n\",\n      \" [ 25.55444964  25.73089496  25.78688107 ...,  25.83001772  25.87363941\\n\",\n      \"   25.94209486]\\n\",\n      \" [ 26.10683785  26.13568262  26.21882171 ...,  26.1706635   26.17482513\\n\",\n      \"   25.99067047]\\n\",\n      \" [ 25.78641012  25.93842086  25.87267253 ...,  26.02785251  25.8333293\\n\",\n      \"   25.74114593]]\\n\",\n      \"Buffer:  3000\\n\",\n      \"Pred:  [[ 26.09202122  26.16659026  26.28513376 ...,  26.27827853  26.19880974\\n\",\n      \"   26.29279004]\\n\",\n      \" [ 27.09296713  27.16525979  27.07816223 ...,  26.79828223  26.82462005\\n\",\n      \"   26.80115994]\\n\",\n      \" [ 27.37426618  27.26991991  27.08514753 ...,  26.99525355  27.0364177\\n\",\n      \"   27.06762629]\\n\",\n      \" ..., \\n\",\n      \" [ 25.74252888  25.81395317  25.96051853 ...,  26.19018399  26.25012269\\n\",\n      \"   26.22686022]\\n\",\n      \" [ 24.28942298  24.55436301  24.86490981 ...,  25.19589939  25.32405251\\n\",\n      \"   25.35862108]\\n\",\n      \" [ 24.10812922  24.39599208  24.70467848 ...,  25.0249339   25.12917584\\n\",\n      \"   25.13941702]]\\n\",\n      \"Buffer:  3200\\n\",\n      \"Pred:  [[ 23.89936317  24.16238987  24.37814933 ...,  24.6867283   24.73517262\\n\",\n      \"   24.9000166 ]\\n\",\n      \" [ 22.796028    23.03957929  23.36191281 ...,  23.95134918  24.05807653\\n\",\n      \"   24.32577573]\\n\",\n      \" [ 23.98201714  24.24346901  24.60352667 ...,  24.83600538  25.01300299\\n\",\n      \"   25.28700399]\\n\",\n      \" ..., \\n\",\n      \" [ 25.88867191  25.80319669  25.80762619 ...,  25.73744858  25.58444691\\n\",\n      \"   25.6317368 ]\\n\",\n      \" [ 25.74242634  25.69379746  25.73573117 ...,  25.64464014  25.67333293\\n\",\n      \"   25.64796163]\\n\",\n      \" [ 25.3468584   25.36760481  25.38439543 ...,  25.45652486  25.45199294\\n\",\n      \"   25.37327864]]\\n\",\n      \"Buffer:  3400\\n\",\n      \"Pred:  [[ 25.98449668  25.98521208  25.95242912 ...,  25.89368463  25.88045388\\n\",\n      \"   25.93171006]\\n\",\n      \" [ 25.76105977  25.70375977  25.63967045 ...,  25.59240848  25.66132277\\n\",\n      \"   25.66463929]\\n\",\n      \" [ 25.23810548  25.19061044  25.23695191 ...,  25.46131797  25.38041014\\n\",\n      \"   25.40377967]\\n\",\n      \" ..., \\n\",\n      \" [ 26.24824289  26.17127915  26.07623138 ...,  25.84710184  25.78029758\\n\",\n      \"   25.70586174]\\n\",\n      \" [ 26.19759651  26.09744315  25.92235382 ...,  25.63588018  25.63291115\\n\",\n      \"   25.59553912]\\n\",\n      \" [ 25.77531313  25.60455853  25.42752481 ...,  25.30530249  25.33317719\\n\",\n      \"   25.22147558]]\\n\",\n      \"Buffer:  3600\\n\",\n      \"Pred:  [[ 25.40656908  25.27074144  25.21409378 ...,  25.28521185  25.22632841\\n\",\n      \"   25.16945681]\\n\",\n      \" [ 25.18921491  25.07334629  25.05299874 ...,  24.94128607  24.95502997\\n\",\n      \"   24.95791613]\\n\",\n      \" [ 24.81985555  24.80298349  24.7612829  ...,  24.59692495  24.58690609\\n\",\n      \"   24.58263133]\\n\",\n      \" ..., \\n\",\n      \" [ 26.0389708   25.93263093  25.87256265 ...,  25.77298706  25.6439993\\n\",\n      \"   25.58368641]\\n\",\n      \" [ 26.56849541  26.50595118  26.36715477 ...,  26.37166457  26.3312083\\n\",\n      \"   26.14700985]\\n\",\n      \" [ 26.80613189  26.67530444  26.66849488 ...,  26.59946944  26.42169587\\n\",\n      \"   26.33018949]]\\n\",\n      \"Buffer:  3800\\n\",\n      \"Pred:  [[ 26.06044987  26.12046614  26.05471894 ...,  25.93053422  25.96502619\\n\",\n      \"   25.96056563]\\n\",\n      \" [ 26.03326405  25.99975566  25.8123115  ...,  25.6606701   25.76405528\\n\",\n      \"   25.65340638]\\n\",\n      \" [ 26.56229083  26.42947167  26.36848794 ...,  26.51685341  26.46719925\\n\",\n      \"   26.41071161]\\n\",\n      \" ..., \\n\",\n      \" [ 21.28992895  21.33566945  21.43008967 ...,  21.71406469  21.85169081\\n\",\n      \"   21.92897556]\\n\",\n      \" [ 21.21583534  21.37312981  21.57666978 ...,  21.84861172  21.88918311\\n\",\n      \"   21.93881172]\\n\",\n      \" [ 21.1126037   21.34119817  21.47466187 ...,  21.63830162  21.80664827\\n\",\n      \"   21.87502314]]\\n\",\n      \"Buffer:  4000\\n\",\n      \"Pred:  [[ 21.24389337  21.37252773  21.35683562 ...,  21.48408902  21.48832578\\n\",\n      \"   21.4263668 ]\\n\",\n      \" [ 21.22127677  21.24046477  21.34895607 ...,  21.41706179  21.37656328\\n\",\n      \"   21.35550317]\\n\",\n      \" [ 21.43282338  21.46888922  21.493978   ...,  21.51923313  21.50631784\\n\",\n      \"   21.53775008]\\n\",\n      \" ..., \\n\",\n      \" [ 26.79653366  26.64113656  26.49911428 ...,  26.25092122  26.10219452\\n\",\n      \"   25.9559183 ]\\n\",\n      \" [ 26.50290012  26.38396506  26.21567803 ...,  26.05643976  25.92729177\\n\",\n      \"   25.75297956]\\n\",\n      \" [ 26.49228551  26.2948515   26.14185587 ...,  25.91011466  25.7620661\\n\",\n      \"   25.60436813]]\\n\",\n      \"Buffer:  4200\\n\",\n      \"Pred:  [[ 26.59862697  26.53265571  26.46607521 ...,  26.31185187  26.22269463\\n\",\n      \"   26.15406759]\\n\",\n      \" [ 26.55732047  26.49355051  26.42777149 ...,  26.2624713   26.21316348\\n\",\n      \"   26.13021364]\\n\",\n      \" [ 26.38850061  26.32645169  26.21572275 ...,  26.15394371  26.11911926\\n\",\n      \"   25.99641195]\\n\",\n      \" ..., \\n\",\n      \" [ 34.39713553  34.08620781  33.9011808  ...,  33.34027792  33.04665311\\n\",\n      \"   32.89668644]\\n\",\n      \" [ 33.98517109  33.82119053  33.5508494  ...,  33.05718995  32.86762085\\n\",\n      \"   32.58866132]\\n\",\n      \" [ 33.8906325   33.64126562  33.39516092 ...,  32.95667114  32.6643352\\n\",\n      \"   32.42929969]]\\n\",\n      \"Buffer:  4400\\n\",\n      \"Pred:  [[ 34.41874727  34.43546507  34.39947704 ...,  34.34448666  34.32896368\\n\",\n      \"   34.34120397]\\n\",\n      \" [ 34.46582211  34.4089387   34.43652649 ...,  34.3424298   34.30309225\\n\",\n      \"   34.3895445 ]\\n\",\n      \" [ 34.59749054  34.58828052  34.57559093 ...,  34.53213034  34.55857317\\n\",\n      \"   34.6258566 ]\\n\",\n      \" ..., \\n\",\n      \" [ 39.55704137  39.59838257  39.602544   ...,  39.60300783  39.63200396\\n\",\n      \"   39.69585152]\\n\",\n      \" [ 40.46611222  40.43535902  40.40883545 ...,  40.43070392  40.44180509\\n\",\n      \"   40.54478546]\\n\",\n      \" [ 41.35119597  41.342732    41.31906462 ...,  41.47767905  41.55588714\\n\",\n      \"   41.5559466 ]]\\n\",\n      \"Buffer:  4600\\n\",\n      \"Pred:  [[ 41.24501714  41.30563545  41.33906701 ...,  41.41231404  41.36247167\\n\",\n      \"   41.32137465]\\n\",\n      \" [ 41.55176282  41.61250172  41.6040215  ...,  41.5859052   41.4933257\\n\",\n      \"   41.49596777]\\n\",\n      \" [ 41.11082905  41.21096532  41.24008778 ...,  41.10885342  41.11014781\\n\",\n      \"   41.19066485]\\n\",\n      \" ..., \\n\",\n      \" [ 40.40333667  40.57757536  40.7444689  ...,  40.55767817  40.62361813\\n\",\n      \"   40.7688445 ]\\n\",\n      \" [ 39.63679228  39.85222014  39.7001448  ...,  39.82137182  39.90308844\\n\",\n      \"   39.89175773]\\n\",\n      \" [ 40.03398294  39.90566847  39.92936408 ...,  40.00273409  39.99056338\\n\",\n      \"   40.13290444]]\\n\",\n      \"Buffer:  4800\\n\",\n      \"Pred:  [[ 40.57613285  40.36745876  40.34832271 ...,  40.14127925  40.25699571\\n\",\n      \"   40.17561628]\\n\",\n      \" [ 39.98152946  40.00012052  39.84018882 ...,  39.76283388  39.68356018\\n\",\n      \"   39.62743014]\\n\",\n      \" [ 40.65448136  40.47656975  40.40428358 ...,  40.32405542  40.34608955\\n\",\n      \"   40.51020122]\\n\",\n      \" ..., \\n\",\n      \" [ 40.70973214  40.82156695  40.94997294 ...,  41.05915738  41.2009332\\n\",\n      \"   41.24048475]\\n\",\n      \" [ 40.74221266  40.91247665  40.94516366 ...,  41.11094752  41.12695732\\n\",\n      \"   41.2238754 ]\\n\",\n      \" [ 40.51848579  40.63794176  40.6930074  ...,  40.83603721  40.96158001\\n\",\n      \"   41.20000058]]\\n\",\n      \"Buffer:  5000\\n\",\n      \"Pred:  [[ 41.02840608  40.97742881  41.04879639 ...,  41.08703686  41.13259893\\n\",\n      \"   41.13751978]\\n\",\n      \" [ 41.06644308  41.14932577  41.14604797 ...,  41.28572476  41.31572252\\n\",\n      \"   41.31868877]\\n\",\n      \" [ 42.00121108  41.91105222  41.98860594 ...,  42.05340097  42.0514623\\n\",\n      \"   42.07459136]\\n\",\n      \" ..., \\n\",\n      \" [ 41.61889522  41.77265455  42.134165   ...,  42.26888054  42.27023834\\n\",\n      \"   42.27099558]\\n\",\n      \" [ 39.61382401  39.3572463   38.99373902 ...,  39.08954502  39.72855523\\n\",\n      \"   40.20378919]\\n\",\n      \" [ 39.26326568  38.77189241  38.68857487 ...,  38.98425831  39.33537682\\n\",\n      \"   39.83910962]]\\n\",\n      \"Buffer:  5200\\n\",\n      \"Pred:  [[ 40.47205982  40.6031967   40.7555591  ...,  41.30306999  41.58849567\\n\",\n      \"   42.20678238]\\n\",\n      \" [ 40.53496451  40.74019047  40.91134542 ...,  41.1356297   41.85741949\\n\",\n      \"   42.23975788]\\n\",\n      \" [ 40.68819248  40.89227875  40.86005788 ...,  41.29318408  41.69474886\\n\",\n      \"   41.93568032]\\n\",\n      \" ..., \\n\",\n      \" [ 32.58236996  32.68722674  32.94694616 ...,  33.68935864  34.40763451\\n\",\n      \"   35.0411307 ]\\n\",\n      \" [ 34.11827593  34.29691869  34.56631295 ...,  35.77380712  36.1406701\\n\",\n      \"   36.65944805]\\n\",\n      \" [ 32.53922298  32.93070035  33.1267649  ...,  33.88362425  34.34724461\\n\",\n      \"   35.05498163]]\\n\",\n      \"Buffer:  5400\\n\",\n      \"Pred:  [[ 31.52461716  31.57967856  31.70310795 ...,  31.60969549  31.97998058\\n\",\n      \"   31.76583509]\\n\",\n      \" [ 32.56237362  32.44398294  32.30184175 ...,  32.87763302  32.50008364\\n\",\n      \"   32.21124309]\\n\",\n      \" [ 32.08373777  32.0604223   32.18122015 ...,  32.3427488   31.88531891\\n\",\n      \"   32.15190584]\\n\",\n      \" ..., \\n\",\n      \" [ 36.47434384  36.56338542  36.61949077 ...,  36.48991746  36.31746724\\n\",\n      \"   36.40344402]\\n\",\n      \" [ 37.24605504  37.18514913  37.20037653 ...,  36.99259881  36.96397396\\n\",\n      \"   36.84186326]\\n\",\n      \" [ 37.03819783  37.07523111  37.0042887  ...,  36.83422073  36.62528101\\n\",\n      \"   36.64031558]]\\n\",\n      \"Buffer:  5600\\n\",\n      \"Pred:  [[ 37.15097768  37.16165774  37.0631008  ...,  36.92139965  36.90713708\\n\",\n      \"   36.99238524]\\n\",\n      \" [ 36.81621957  36.81704608  36.83068939 ...,  36.76175825  36.76190017\\n\",\n      \"   36.74666901]\\n\",\n      \" [ 37.09933134  37.1138151   37.12286448 ...,  37.17231345  37.17322168\\n\",\n      \"   37.11568705]\\n\",\n      \" ..., \\n\",\n      \" [ 25.7344187   26.06591327  26.15460221 ...,  27.08788596  27.12449494\\n\",\n      \"   27.39248972]\\n\",\n      \" [ 22.49560126  22.71537861  22.34032905 ...,  22.91827229  22.94172241\\n\",\n      \"   24.24507425]\\n\",\n      \" [ 24.54302106  24.12607841  24.37067691 ...,  24.36400232  25.51053396\\n\",\n      \"   26.15846606]]\\n\",\n      \"Buffer:  5800\\n\",\n      \"Pred:  [[ 24.79977904  24.69590721  24.0883611  ...,  24.91928808  25.20504994\\n\",\n      \"   25.25962951]\\n\",\n      \" [ 23.1419501   22.66726302  21.87925864 ...,  23.11620493  22.89603025\\n\",\n      \"   23.68080167]\\n\",\n      \" [ 23.12996329  22.22263254  23.34052642 ...,  23.00870146  23.76270941\\n\",\n      \"   23.85789826]\\n\",\n      \" ..., \\n\",\n      \" [ 35.2820164   35.36034423  35.48074954 ...,  35.78691612  35.82649512\\n\",\n      \"   35.96429514]\\n\",\n      \" [ 35.47454644  35.55712141  35.53895006 ...,  35.77111792  35.8272775\\n\",\n      \"   36.00105157]\\n\",\n      \" [ 35.59562223  35.77160935  35.9847767  ...,  36.14101777  36.22937931\\n\",\n      \"   36.35845682]]\\n\",\n      \"Buffer:  6000\\n\",\n      \"Pred:  [[ 34.87543571  35.05866248  34.96081266 ...,  34.91188916  34.8865196\\n\",\n      \"   35.09534966]\\n\",\n      \" [ 34.07850517  34.09411023  33.94862945 ...,  33.7652154   33.70499976\\n\",\n      \"   34.01118595]\\n\",\n      \" [ 33.74560074  33.59630762  33.55275587 ...,  33.25894686  33.44248384\\n\",\n      \"   33.64523254]\\n\",\n      \" ..., \\n\",\n      \" [ 34.37043957  34.49072721  34.46713889 ...,  34.61641291  34.6316781\\n\",\n      \"   34.65009482]\\n\",\n      \" [ 34.34755901  34.44125379  34.69034084 ...,  34.58201637  34.64234545\\n\",\n      \"   34.57663455]\\n\",\n      \" [ 34.57448406  34.80322892  34.60662199 ...,  34.71353755  34.54698945\\n\",\n      \"   34.75533398]]\\n\",\n      \"Buffer:  6200\\n\",\n      \"Pred:  [[ 34.48058576  34.46931947  34.39645689 ...,  34.56175966  34.60120682\\n\",\n      \"   34.6889119 ]\\n\",\n      \" [ 34.42459542  34.4041518   34.59273011 ...,  34.71655572  34.77569208\\n\",\n      \"   34.91001211]\\n\",\n      \" [ 34.02746584  34.17503955  34.19326864 ...,  34.41906863  34.49378041\\n\",\n      \"   34.54149122]\\n\",\n      \" ..., \\n\",\n      \" [ 34.26729796  34.33198393  34.52037656 ...,  34.26471212  34.32199879\\n\",\n      \"   34.43204531]\\n\",\n      \" [ 33.37651991  33.60677572  33.52148382 ...,  33.42863803  33.44812737\\n\",\n      \"   33.44797037]\\n\",\n      \" [ 33.77101123  33.70474743  33.57014533 ...,  33.57211048  33.6467882\\n\",\n      \"   33.75261216]]\\n\",\n      \"Buffer:  6400\\n\",\n      \"Pred:  [[ 33.53133289  33.43869191  33.37263046 ...,  33.32649401  33.31416629\\n\",\n      \"   33.19199006]\\n\",\n      \" [ 33.46584109  33.39713333  33.33327354 ...,  33.28221668  33.15383874\\n\",\n      \"   33.13431947]\\n\",\n      \" [ 34.41622601  34.29761196  34.4366854  ...,  34.39820455  34.52023716\\n\",\n      \"   34.3539505 ]\\n\",\n      \" ..., \\n\",\n      \" [ 34.78692903  34.73536166  34.73454473 ...,  34.35468426  34.27153208\\n\",\n      \"   34.18379174]\\n\",\n      \" [ 35.01790079  34.99299477  34.80046662 ...,  34.59019432  34.47643505\\n\",\n      \"   34.32671027]\\n\",\n      \" [ 34.93577164  34.68553218  34.54299772 ...,  34.42529695  34.26793524\\n\",\n      \"   34.20209156]]\\n\",\n      \"Buffer:  6600\\n\",\n      \"Pred:  [[ 34.97898179  34.98256211  35.07425527 ...,  35.19605749  35.29951325\\n\",\n      \"   35.34528396]\\n\",\n      \" [ 35.01624583  35.10178264  35.12680389 ...,  35.30594613  35.35298146\\n\",\n      \"   35.4299613 ]\\n\",\n      \" [ 34.93937399  34.9619017   35.07676871 ...,  35.17815547  35.28027676\\n\",\n      \"   35.31059197]\\n\",\n      \" ..., \\n\",\n      \" [ 44.10058135  43.8139945   43.50204997 ...,  42.79200923  42.46908938\\n\",\n      \"   42.18424781]\\n\",\n      \" [ 43.92034495  43.61468664  43.30103441 ...,  42.6139226   42.32034584\\n\",\n      \"   42.01517437]\\n\",\n      \" [ 44.03369297  43.71493941  43.41566069 ...,  42.70811157  42.40436291\\n\",\n      \"   42.15296897]]\\n\",\n      \"Buffer:  6800\\n\",\n      \"Pred:  [[ 44.26824904  44.22815477  44.2189972  ...,  44.12417068  44.16232578\\n\",\n      \"   44.12297489]\\n\",\n      \" [ 43.86504688  43.81346145  43.79542729 ...,  43.81453745  43.80092968\\n\",\n      \"   43.78132118]\\n\",\n      \" [ 44.17142766  44.10927042  44.07602426 ...,  44.01900881  44.03224618\\n\",\n      \"   44.05145594]\\n\",\n      \" ..., \\n\",\n      \" [ 34.95488639  35.16294448  35.49386909 ...,  35.56308703  35.46595545\\n\",\n      \"   35.52188355]\\n\",\n      \" [ 36.1446683   36.4019933   36.67338125 ...,  36.68118139  36.80819138\\n\",\n      \"   36.84463694]\\n\",\n      \" [ 35.82839891  35.92646934  36.05010142 ...,  36.31325315  36.35564094\\n\",\n      \"   36.41780309]]\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[array([[ 7.83601976,  7.84714155,  7.85292535, ...,  7.89987737,\\n\",\n       \"          7.91755521,  7.93865868],\\n\",\n       \"        [ 7.85539551,  7.86158008,  7.87498252, ...,  7.90506271,\\n\",\n       \"          7.91740818,  7.93852032],\\n\",\n       \"        [ 7.83170231,  7.84749588,  7.87738729, ...,  7.89285396,\\n\",\n       \"          7.91642424,  7.92424915],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.36738278,  6.39213824,  6.39270447, ...,  6.43798347,\\n\",\n       \"          6.45461204,  6.4751872 ],\\n\",\n       \"        [ 6.42016386,  6.417325  ,  6.42707883, ...,  6.47916005,\\n\",\n       \"          6.50267402,  6.51950021],\\n\",\n       \"        [ 6.28080118,  6.27092368,  6.28282955, ...,  6.30547753,\\n\",\n       \"          6.3252951 ,  6.3264697 ]]),\\n\",\n       \" array([[ 6.14075766,  6.11117589,  6.09574853, ...,  6.07217018,\\n\",\n       \"          6.07748552,  6.08070167],\\n\",\n       \"        [ 6.21540435,  6.17492322,  6.17149764, ...,  6.1453285 ,\\n\",\n       \"          6.13813657,  6.14081275],\\n\",\n       \"        [ 6.27753279,  6.27307459,  6.23843178, ...,  6.24830207,\\n\",\n       \"          6.24374508,  6.21901832],\\n\",\n       \"        ..., \\n\",\n       \"        [ 5.75919469,  5.78334022,  5.79923807, ...,  5.83008595,\\n\",\n       \"          5.859385  ,  5.87740631],\\n\",\n       \"        [ 5.76238715,  5.7892002 ,  5.81412139, ...,  5.85030748,\\n\",\n       \"          5.88508911,  5.88637507],\\n\",\n       \"        [ 5.78833298,  5.81875138,  5.83850427, ...,  5.88612816,\\n\",\n       \"          5.8986934 ,  5.90478152]]),\\n\",\n       \" array([[ 5.7641509 ,  5.79247187,  5.81926042, ...,  5.84616883,\\n\",\n       \"          5.86198088,  5.87727484],\\n\",\n       \"        [ 5.8513131 ,  5.86385014,  5.88638345, ...,  5.89063265,\\n\",\n       \"          5.90502758,  5.90804928],\\n\",\n       \"        [ 5.9113665 ,  5.92879268,  5.93253659, ...,  5.94752817,\\n\",\n       \"          5.95264971,  5.95534078],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.1998076 ,  6.19815249,  6.22826773, ...,  6.25852243,\\n\",\n       \"          6.2950688 ,  6.28322814],\\n\",\n       \"        [ 6.19140054,  6.19932943,  6.23777417, ...,  6.25145184,\\n\",\n       \"          6.25277943,  6.24492933],\\n\",\n       \"        [ 6.22481015,  6.25710477,  6.27123817, ...,  6.28618561,\\n\",\n       \"          6.29833129,  6.29616353]]),\\n\",\n       \" array([[ 6.1645113 ,  6.1747009 ,  6.17346569, ...,  6.14073882,\\n\",\n       \"          6.13655823,  6.15464913],\\n\",\n       \"        [ 6.23869668,  6.22906726,  6.21064429, ...,  6.19525349,\\n\",\n       \"          6.199533  ,  6.1829646 ],\\n\",\n       \"        [ 5.94298817,  5.92847236,  5.91129748, ...,  5.89322178,\\n\",\n       \"          5.86434585,  5.87953873],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.94246533,  8.87626646,  8.89060421, ...,  8.84848815,\\n\",\n       \"          8.85793555,  8.86792794],\\n\",\n       \"        [ 8.78322534,  8.79037462,  8.72943888, ...,  8.72055999,\\n\",\n       \"          8.7383812 ,  8.68878426],\\n\",\n       \"        [ 8.83433927,  8.76940226,  8.77364936, ...,  8.77248502,\\n\",\n       \"          8.72566135,  8.69839892]]),\\n\",\n       \" array([[ 8.67603806,  8.67084409,  8.65130791, ...,  8.67378925,\\n\",\n       \"          8.69676109,  8.69455006],\\n\",\n       \"        [ 8.82830315,  8.8205379 ,  8.86009166, ...,  8.87552595,\\n\",\n       \"          8.85568772,  8.84410872],\\n\",\n       \"        [ 8.84748948,  8.84911858,  8.81238761, ...,  8.78189801,\\n\",\n       \"          8.75265697,  8.72581647],\\n\",\n       \"        ..., \\n\",\n       \"        [ 7.71616361,  7.7100549 ,  7.68435219, ...,  7.6489673 ,\\n\",\n       \"          7.61926738,  7.60503466],\\n\",\n       \"        [ 7.59805829,  7.59515854,  7.53381661, ...,  7.5060898 ,\\n\",\n       \"          7.47964638,  7.49137924],\\n\",\n       \"        [ 7.54657369,  7.52483132,  7.53333146, ...,  7.50714863,\\n\",\n       \"          7.52033692,  7.5104685 ]]),\\n\",\n       \" array([[ 7.46215011,  7.4436282 ,  7.43918656, ...,  7.5010726 ,\\n\",\n       \"          7.48113362,  7.48813435],\\n\",\n       \"        [ 7.56216243,  7.57242677,  7.60962549, ...,  7.59408734,\\n\",\n       \"          7.58687173,  7.59213207],\\n\",\n       \"        [ 7.55189234,  7.58738691,  7.61589834, ...,  7.60049142,\\n\",\n       \"          7.60064947,  7.60278131],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.19883297,  6.22711546,  6.24523835, ...,  6.30446123,\\n\",\n       \"          6.33864273,  6.33903875],\\n\",\n       \"        [ 6.17836606,  6.19567673,  6.22059366, ...,  6.29335772,\\n\",\n       \"          6.30085317,  6.31700372],\\n\",\n       \"        [ 6.30048133,  6.33373495,  6.37895762, ...,  6.41007597,\\n\",\n       \"          6.40794933,  6.42844116]]),\\n\",\n       \" array([[ 6.30754289,  6.34315541,  6.37136507, ...,  6.34725709,\\n\",\n       \"          6.3533664 ,  6.36701006],\\n\",\n       \"        [ 6.2183139 ,  6.22645131,  6.20859811, ...,  6.19826357,\\n\",\n       \"          6.21393204,  6.22498325],\\n\",\n       \"        [ 6.13231736,  6.11064193,  6.06756449, ...,  6.10864178,\\n\",\n       \"          6.12762316,  6.12009367],\\n\",\n       \"        ..., \\n\",\n       \"        [ 4.93362234,  4.93814477,  4.93428253, ...,  4.96908178,\\n\",\n       \"          4.9916257 ,  5.0119479 ],\\n\",\n       \"        [ 4.94855637,  4.96672313,  4.9753907 , ...,  5.01327007,\\n\",\n       \"          5.04827391,  5.06702398],\\n\",\n       \"        [ 4.94109813,  4.95766805,  4.9861515 , ...,  5.00727657,\\n\",\n       \"          5.02994663,  5.03880748]]),\\n\",\n       \" array([[ 4.99871061,  5.02010571,  5.014281  , ...,  5.0026121 ,\\n\",\n       \"          4.99747618,  4.97557435],\\n\",\n       \"        [ 5.15365698,  5.15594044,  5.1491617 , ...,  5.09127283,\\n\",\n       \"          5.05670229,  5.06074197],\\n\",\n       \"        [ 5.15264849,  5.14912635,  5.12308927, ...,  5.05939273,\\n\",\n       \"          5.0643763 ,  5.04887009],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.73631505,  6.69817443,  6.67661297, ...,  6.63990072,\\n\",\n       \"          6.64029307,  6.62941594],\\n\",\n       \"        [ 6.80586543,  6.78280213,  6.77308604, ...,  6.73267206,\\n\",\n       \"          6.70165677,  6.68567721],\\n\",\n       \"        [ 6.87717059,  6.8713965 ,  6.85461032, ...,  6.80891943,\\n\",\n       \"          6.78659161,  6.7676666 ]]),\\n\",\n       \" array([[ 6.88960025,  6.895621  ,  6.91178743, ...,  6.90648271,\\n\",\n       \"          6.91037924,  6.91464528],\\n\",\n       \"        [ 6.92029213,  6.93896731,  6.93794831, ...,  6.94105214,\\n\",\n       \"          6.94581302,  6.93479959],\\n\",\n       \"        [ 6.94258489,  6.94132069,  6.93738101, ...,  6.95109387,\\n\",\n       \"          6.94439441,  6.96149157],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.63303575,  8.6153931 ,  8.62242329, ...,  8.60348853,\\n\",\n       \"          8.61375744,  8.62515753],\\n\",\n       \"        [ 8.65670167,  8.66375148,  8.66798893, ...,  8.65346248,\\n\",\n       \"          8.65856181,  8.64789495],\\n\",\n       \"        [ 8.7674598 ,  8.76709683,  8.7645547 , ...,  8.78059364,\\n\",\n       \"          8.7585914 ,  8.76297732]]),\\n\",\n       \" array([[  8.68953042,   8.68353244,   8.69167093, ...,   8.69226758,\\n\",\n       \"           8.69669531,   8.70359861],\\n\",\n       \"        [  8.66104825,   8.66338749,   8.68358337, ...,   8.67084048,\\n\",\n       \"           8.68664223,   8.67802482],\\n\",\n       \"        [  8.67468363,   8.69245015,   8.66828894, ...,   8.69130084,\\n\",\n       \"           8.67790535,   8.69542446],\\n\",\n       \"        ..., \\n\",\n       \"        [ 10.25132895,  10.26123566,  10.25052647, ...,  10.2702956 ,\\n\",\n       \"          10.28387785,  10.29072272],\\n\",\n       \"        [ 10.18370737,  10.17290369,  10.18125306, ...,  10.2112286 ,\\n\",\n       \"          10.21762469,  10.21706292],\\n\",\n       \"        [ 10.22958344,  10.23782323,  10.24337281, ...,  10.26467471,\\n\",\n       \"          10.25519154,  10.2341133 ]]),\\n\",\n       \" array([[ 10.22064293,  10.22413787,  10.24471743, ...,  10.27029812,\\n\",\n       \"          10.2744557 ,  10.28765738],\\n\",\n       \"        [ 10.26516025,  10.27459074,  10.29442757, ...,  10.31496257,\\n\",\n       \"          10.32870539,  10.33393516],\\n\",\n       \"        [ 10.12818121,  10.13767282,  10.16435904, ...,  10.23174691,\\n\",\n       \"          10.25429594,  10.27571162],\\n\",\n       \"        ..., \\n\",\n       \"        [ 11.64694204,  11.67793627,  11.71878894, ...,  11.72885817,\\n\",\n       \"          11.73598723,  11.74138426],\\n\",\n       \"        [ 11.50646666,  11.55801859,  11.60061623, ...,  11.59712143,\\n\",\n       \"          11.60710104,  11.62519194],\\n\",\n       \"        [ 11.66543188,  11.70375594,  11.72575794, ...,  11.7634877 ,\\n\",\n       \"          11.80012102,  11.80921948]]),\\n\",\n       \" array([[ 11.62959737,  11.64537291,  11.62913452, ...,  11.63915597,\\n\",\n       \"          11.63946331,  11.67432874],\\n\",\n       \"        [ 11.51306747,  11.4921517 ,  11.48731226, ...,  11.48843655,\\n\",\n       \"          11.5272199 ,  11.53575298],\\n\",\n       \"        [ 11.4459014 ,  11.44132033,  11.44303377, ...,  11.43963244,\\n\",\n       \"          11.4371997 ,  11.45553989],\\n\",\n       \"        ..., \\n\",\n       \"        [ 16.22239336,  16.21976356,  16.22826391, ...,  16.21574299,\\n\",\n       \"          16.22293648,  16.26595504],\\n\",\n       \"        [ 15.98826989,  16.00674066,  16.03692572, ...,  16.0496106 ,\\n\",\n       \"          16.10671921,  16.11635139],\\n\",\n       \"        [ 15.79752122,  15.88073774,  15.95919399, ...,  16.04615273,\\n\",\n       \"          16.04535607,  16.03367065]]),\\n\",\n       \" array([[ 16.04780654,  16.10427504,  16.15325971, ...,  16.21640137,\\n\",\n       \"          16.23310984,  16.24580039],\\n\",\n       \"        [ 15.93923871,  15.96865021,  16.01241045, ...,  16.04899501,\\n\",\n       \"          16.0097939 ,  16.01058251],\\n\",\n       \"        [ 15.95002904,  15.99504448,  16.00543129, ...,  16.08477758,\\n\",\n       \"          16.0724383 ,  16.01255977],\\n\",\n       \"        ..., \\n\",\n       \"        [ 20.43621626,  20.48574881,  20.53403285, ...,  20.5853136 ,\\n\",\n       \"          20.65182418,  20.70740506],\\n\",\n       \"        [ 21.01478432,  21.0377329 ,  21.06384251, ...,  21.11292127,\\n\",\n       \"          21.16689338,  21.25102393],\\n\",\n       \"        [ 20.80946572,  20.84214892,  20.83450899, ...,  20.87816108,\\n\",\n       \"          20.94758599,  20.97840243]]),\\n\",\n       \" array([[ 20.79530755,  20.70031722,  20.67570255, ...,  20.67175512,\\n\",\n       \"          20.75003016,  20.7424359 ],\\n\",\n       \"        [ 20.51491535,  20.51195086,  20.47751748, ...,  20.61619501,\\n\",\n       \"          20.61899275,  20.71100874],\\n\",\n       \"        [ 20.88903686,  20.83145557,  20.76382639, ...,  20.84093447,\\n\",\n       \"          20.95482155,  20.93470293],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.35898088,  21.44310834,  21.58442593, ...,  21.67728542,\\n\",\n       \"          21.63729079,  21.76718696],\\n\",\n       \"        [ 21.02670418,  21.22586046,  21.36227848, ...,  21.31522747,\\n\",\n       \"          21.4562707 ,  21.61980196],\\n\",\n       \"        [ 21.08453035,  21.20775213,  21.19865266, ...,  21.28921609,\\n\",\n       \"          21.44822081,  21.56667633]]),\\n\",\n       \" array([[ 20.44161666,  20.44133304,  20.50606671, ...,  20.78067392,\\n\",\n       \"          20.83525299,  20.88356921],\\n\",\n       \"        [ 20.47831642,  20.55669655,  20.6800365 , ...,  20.94345539,\\n\",\n       \"          21.0255306 ,  21.09250263],\\n\",\n       \"        [ 20.0543866 ,  20.24467179,  20.42056851, ...,  20.71879315,\\n\",\n       \"          20.80801567,  20.8139791 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.55444964,  25.73089496,  25.78688107, ...,  25.83001772,\\n\",\n       \"          25.87363941,  25.94209486],\\n\",\n       \"        [ 26.10683785,  26.13568262,  26.21882171, ...,  26.1706635 ,\\n\",\n       \"          26.17482513,  25.99067047],\\n\",\n       \"        [ 25.78641012,  25.93842086,  25.87267253, ...,  26.02785251,\\n\",\n       \"          25.8333293 ,  25.74114593]]),\\n\",\n       \" array([[ 26.09202122,  26.16659026,  26.28513376, ...,  26.27827853,\\n\",\n       \"          26.19880974,  26.29279004],\\n\",\n       \"        [ 27.09296713,  27.16525979,  27.07816223, ...,  26.79828223,\\n\",\n       \"          26.82462005,  26.80115994],\\n\",\n       \"        [ 27.37426618,  27.26991991,  27.08514753, ...,  26.99525355,\\n\",\n       \"          27.0364177 ,  27.06762629],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.74252888,  25.81395317,  25.96051853, ...,  26.19018399,\\n\",\n       \"          26.25012269,  26.22686022],\\n\",\n       \"        [ 24.28942298,  24.55436301,  24.86490981, ...,  25.19589939,\\n\",\n       \"          25.32405251,  25.35862108],\\n\",\n       \"        [ 24.10812922,  24.39599208,  24.70467848, ...,  25.0249339 ,\\n\",\n       \"          25.12917584,  25.13941702]]),\\n\",\n       \" array([[ 23.89936317,  24.16238987,  24.37814933, ...,  24.6867283 ,\\n\",\n       \"          24.73517262,  24.9000166 ],\\n\",\n       \"        [ 22.796028  ,  23.03957929,  23.36191281, ...,  23.95134918,\\n\",\n       \"          24.05807653,  24.32577573],\\n\",\n       \"        [ 23.98201714,  24.24346901,  24.60352667, ...,  24.83600538,\\n\",\n       \"          25.01300299,  25.28700399],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.88867191,  25.80319669,  25.80762619, ...,  25.73744858,\\n\",\n       \"          25.58444691,  25.6317368 ],\\n\",\n       \"        [ 25.74242634,  25.69379746,  25.73573117, ...,  25.64464014,\\n\",\n       \"          25.67333293,  25.64796163],\\n\",\n       \"        [ 25.3468584 ,  25.36760481,  25.38439543, ...,  25.45652486,\\n\",\n       \"          25.45199294,  25.37327864]]),\\n\",\n       \" array([[ 25.98449668,  25.98521208,  25.95242912, ...,  25.89368463,\\n\",\n       \"          25.88045388,  25.93171006],\\n\",\n       \"        [ 25.76105977,  25.70375977,  25.63967045, ...,  25.59240848,\\n\",\n       \"          25.66132277,  25.66463929],\\n\",\n       \"        [ 25.23810548,  25.19061044,  25.23695191, ...,  25.46131797,\\n\",\n       \"          25.38041014,  25.40377967],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.24824289,  26.17127915,  26.07623138, ...,  25.84710184,\\n\",\n       \"          25.78029758,  25.70586174],\\n\",\n       \"        [ 26.19759651,  26.09744315,  25.92235382, ...,  25.63588018,\\n\",\n       \"          25.63291115,  25.59553912],\\n\",\n       \"        [ 25.77531313,  25.60455853,  25.42752481, ...,  25.30530249,\\n\",\n       \"          25.33317719,  25.22147558]]),\\n\",\n       \" array([[ 25.40656908,  25.27074144,  25.21409378, ...,  25.28521185,\\n\",\n       \"          25.22632841,  25.16945681],\\n\",\n       \"        [ 25.18921491,  25.07334629,  25.05299874, ...,  24.94128607,\\n\",\n       \"          24.95502997,  24.95791613],\\n\",\n       \"        [ 24.81985555,  24.80298349,  24.7612829 , ...,  24.59692495,\\n\",\n       \"          24.58690609,  24.58263133],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.0389708 ,  25.93263093,  25.87256265, ...,  25.77298706,\\n\",\n       \"          25.6439993 ,  25.58368641],\\n\",\n       \"        [ 26.56849541,  26.50595118,  26.36715477, ...,  26.37166457,\\n\",\n       \"          26.3312083 ,  26.14700985],\\n\",\n       \"        [ 26.80613189,  26.67530444,  26.66849488, ...,  26.59946944,\\n\",\n       \"          26.42169587,  26.33018949]]),\\n\",\n       \" array([[ 26.06044987,  26.12046614,  26.05471894, ...,  25.93053422,\\n\",\n       \"          25.96502619,  25.96056563],\\n\",\n       \"        [ 26.03326405,  25.99975566,  25.8123115 , ...,  25.6606701 ,\\n\",\n       \"          25.76405528,  25.65340638],\\n\",\n       \"        [ 26.56229083,  26.42947167,  26.36848794, ...,  26.51685341,\\n\",\n       \"          26.46719925,  26.41071161],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.28992895,  21.33566945,  21.43008967, ...,  21.71406469,\\n\",\n       \"          21.85169081,  21.92897556],\\n\",\n       \"        [ 21.21583534,  21.37312981,  21.57666978, ...,  21.84861172,\\n\",\n       \"          21.88918311,  21.93881172],\\n\",\n       \"        [ 21.1126037 ,  21.34119817,  21.47466187, ...,  21.63830162,\\n\",\n       \"          21.80664827,  21.87502314]]),\\n\",\n       \" array([[ 21.24389337,  21.37252773,  21.35683562, ...,  21.48408902,\\n\",\n       \"          21.48832578,  21.4263668 ],\\n\",\n       \"        [ 21.22127677,  21.24046477,  21.34895607, ...,  21.41706179,\\n\",\n       \"          21.37656328,  21.35550317],\\n\",\n       \"        [ 21.43282338,  21.46888922,  21.493978  , ...,  21.51923313,\\n\",\n       \"          21.50631784,  21.53775008],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.79653366,  26.64113656,  26.49911428, ...,  26.25092122,\\n\",\n       \"          26.10219452,  25.9559183 ],\\n\",\n       \"        [ 26.50290012,  26.38396506,  26.21567803, ...,  26.05643976,\\n\",\n       \"          25.92729177,  25.75297956],\\n\",\n       \"        [ 26.49228551,  26.2948515 ,  26.14185587, ...,  25.91011466,\\n\",\n       \"          25.7620661 ,  25.60436813]]),\\n\",\n       \" array([[ 26.59862697,  26.53265571,  26.46607521, ...,  26.31185187,\\n\",\n       \"          26.22269463,  26.15406759],\\n\",\n       \"        [ 26.55732047,  26.49355051,  26.42777149, ...,  26.2624713 ,\\n\",\n       \"          26.21316348,  26.13021364],\\n\",\n       \"        [ 26.38850061,  26.32645169,  26.21572275, ...,  26.15394371,\\n\",\n       \"          26.11911926,  25.99641195],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.39713553,  34.08620781,  33.9011808 , ...,  33.34027792,\\n\",\n       \"          33.04665311,  32.89668644],\\n\",\n       \"        [ 33.98517109,  33.82119053,  33.5508494 , ...,  33.05718995,\\n\",\n       \"          32.86762085,  32.58866132],\\n\",\n       \"        [ 33.8906325 ,  33.64126562,  33.39516092, ...,  32.95667114,\\n\",\n       \"          32.6643352 ,  32.42929969]]),\\n\",\n       \" array([[ 34.41874727,  34.43546507,  34.39947704, ...,  34.34448666,\\n\",\n       \"          34.32896368,  34.34120397],\\n\",\n       \"        [ 34.46582211,  34.4089387 ,  34.43652649, ...,  34.3424298 ,\\n\",\n       \"          34.30309225,  34.3895445 ],\\n\",\n       \"        [ 34.59749054,  34.58828052,  34.57559093, ...,  34.53213034,\\n\",\n       \"          34.55857317,  34.6258566 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 39.55704137,  39.59838257,  39.602544  , ...,  39.60300783,\\n\",\n       \"          39.63200396,  39.69585152],\\n\",\n       \"        [ 40.46611222,  40.43535902,  40.40883545, ...,  40.43070392,\\n\",\n       \"          40.44180509,  40.54478546],\\n\",\n       \"        [ 41.35119597,  41.342732  ,  41.31906462, ...,  41.47767905,\\n\",\n       \"          41.55588714,  41.5559466 ]]),\\n\",\n       \" array([[ 41.24501714,  41.30563545,  41.33906701, ...,  41.41231404,\\n\",\n       \"          41.36247167,  41.32137465],\\n\",\n       \"        [ 41.55176282,  41.61250172,  41.6040215 , ...,  41.5859052 ,\\n\",\n       \"          41.4933257 ,  41.49596777],\\n\",\n       \"        [ 41.11082905,  41.21096532,  41.24008778, ...,  41.10885342,\\n\",\n       \"          41.11014781,  41.19066485],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.40333667,  40.57757536,  40.7444689 , ...,  40.55767817,\\n\",\n       \"          40.62361813,  40.7688445 ],\\n\",\n       \"        [ 39.63679228,  39.85222014,  39.7001448 , ...,  39.82137182,\\n\",\n       \"          39.90308844,  39.89175773],\\n\",\n       \"        [ 40.03398294,  39.90566847,  39.92936408, ...,  40.00273409,\\n\",\n       \"          39.99056338,  40.13290444]]),\\n\",\n       \" array([[ 40.57613285,  40.36745876,  40.34832271, ...,  40.14127925,\\n\",\n       \"          40.25699571,  40.17561628],\\n\",\n       \"        [ 39.98152946,  40.00012052,  39.84018882, ...,  39.76283388,\\n\",\n       \"          39.68356018,  39.62743014],\\n\",\n       \"        [ 40.65448136,  40.47656975,  40.40428358, ...,  40.32405542,\\n\",\n       \"          40.34608955,  40.51020122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.70973214,  40.82156695,  40.94997294, ...,  41.05915738,\\n\",\n       \"          41.2009332 ,  41.24048475],\\n\",\n       \"        [ 40.74221266,  40.91247665,  40.94516366, ...,  41.11094752,\\n\",\n       \"          41.12695732,  41.2238754 ],\\n\",\n       \"        [ 40.51848579,  40.63794176,  40.6930074 , ...,  40.83603721,\\n\",\n       \"          40.96158001,  41.20000058]]),\\n\",\n       \" array([[ 41.02840608,  40.97742881,  41.04879639, ...,  41.08703686,\\n\",\n       \"          41.13259893,  41.13751978],\\n\",\n       \"        [ 41.06644308,  41.14932577,  41.14604797, ...,  41.28572476,\\n\",\n       \"          41.31572252,  41.31868877],\\n\",\n       \"        [ 42.00121108,  41.91105222,  41.98860594, ...,  42.05340097,\\n\",\n       \"          42.0514623 ,  42.07459136],\\n\",\n       \"        ..., \\n\",\n       \"        [ 41.61889522,  41.77265455,  42.134165  , ...,  42.26888054,\\n\",\n       \"          42.27023834,  42.27099558],\\n\",\n       \"        [ 39.61382401,  39.3572463 ,  38.99373902, ...,  39.08954502,\\n\",\n       \"          39.72855523,  40.20378919],\\n\",\n       \"        [ 39.26326568,  38.77189241,  38.68857487, ...,  38.98425831,\\n\",\n       \"          39.33537682,  39.83910962]]),\\n\",\n       \" array([[ 40.47205982,  40.6031967 ,  40.7555591 , ...,  41.30306999,\\n\",\n       \"          41.58849567,  42.20678238],\\n\",\n       \"        [ 40.53496451,  40.74019047,  40.91134542, ...,  41.1356297 ,\\n\",\n       \"          41.85741949,  42.23975788],\\n\",\n       \"        [ 40.68819248,  40.89227875,  40.86005788, ...,  41.29318408,\\n\",\n       \"          41.69474886,  41.93568032],\\n\",\n       \"        ..., \\n\",\n       \"        [ 32.58236996,  32.68722674,  32.94694616, ...,  33.68935864,\\n\",\n       \"          34.40763451,  35.0411307 ],\\n\",\n       \"        [ 34.11827593,  34.29691869,  34.56631295, ...,  35.77380712,\\n\",\n       \"          36.1406701 ,  36.65944805],\\n\",\n       \"        [ 32.53922298,  32.93070035,  33.1267649 , ...,  33.88362425,\\n\",\n       \"          34.34724461,  35.05498163]]),\\n\",\n       \" array([[ 31.52461716,  31.57967856,  31.70310795, ...,  31.60969549,\\n\",\n       \"          31.97998058,  31.76583509],\\n\",\n       \"        [ 32.56237362,  32.44398294,  32.30184175, ...,  32.87763302,\\n\",\n       \"          32.50008364,  32.21124309],\\n\",\n       \"        [ 32.08373777,  32.0604223 ,  32.18122015, ...,  32.3427488 ,\\n\",\n       \"          31.88531891,  32.15190584],\\n\",\n       \"        ..., \\n\",\n       \"        [ 36.47434384,  36.56338542,  36.61949077, ...,  36.48991746,\\n\",\n       \"          36.31746724,  36.40344402],\\n\",\n       \"        [ 37.24605504,  37.18514913,  37.20037653, ...,  36.99259881,\\n\",\n       \"          36.96397396,  36.84186326],\\n\",\n       \"        [ 37.03819783,  37.07523111,  37.0042887 , ...,  36.83422073,\\n\",\n       \"          36.62528101,  36.64031558]]),\\n\",\n       \" array([[ 37.15097768,  37.16165774,  37.0631008 , ...,  36.92139965,\\n\",\n       \"          36.90713708,  36.99238524],\\n\",\n       \"        [ 36.81621957,  36.81704608,  36.83068939, ...,  36.76175825,\\n\",\n       \"          36.76190017,  36.74666901],\\n\",\n       \"        [ 37.09933134,  37.1138151 ,  37.12286448, ...,  37.17231345,\\n\",\n       \"          37.17322168,  37.11568705],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.7344187 ,  26.06591327,  26.15460221, ...,  27.08788596,\\n\",\n       \"          27.12449494,  27.39248972],\\n\",\n       \"        [ 22.49560126,  22.71537861,  22.34032905, ...,  22.91827229,\\n\",\n       \"          22.94172241,  24.24507425],\\n\",\n       \"        [ 24.54302106,  24.12607841,  24.37067691, ...,  24.36400232,\\n\",\n       \"          25.51053396,  26.15846606]]),\\n\",\n       \" array([[ 24.79977904,  24.69590721,  24.0883611 , ...,  24.91928808,\\n\",\n       \"          25.20504994,  25.25962951],\\n\",\n       \"        [ 23.1419501 ,  22.66726302,  21.87925864, ...,  23.11620493,\\n\",\n       \"          22.89603025,  23.68080167],\\n\",\n       \"        [ 23.12996329,  22.22263254,  23.34052642, ...,  23.00870146,\\n\",\n       \"          23.76270941,  23.85789826],\\n\",\n       \"        ..., \\n\",\n       \"        [ 35.2820164 ,  35.36034423,  35.48074954, ...,  35.78691612,\\n\",\n       \"          35.82649512,  35.96429514],\\n\",\n       \"        [ 35.47454644,  35.55712141,  35.53895006, ...,  35.77111792,\\n\",\n       \"          35.8272775 ,  36.00105157],\\n\",\n       \"        [ 35.59562223,  35.77160935,  35.9847767 , ...,  36.14101777,\\n\",\n       \"          36.22937931,  36.35845682]]),\\n\",\n       \" array([[ 34.87543571,  35.05866248,  34.96081266, ...,  34.91188916,\\n\",\n       \"          34.8865196 ,  35.09534966],\\n\",\n       \"        [ 34.07850517,  34.09411023,  33.94862945, ...,  33.7652154 ,\\n\",\n       \"          33.70499976,  34.01118595],\\n\",\n       \"        [ 33.74560074,  33.59630762,  33.55275587, ...,  33.25894686,\\n\",\n       \"          33.44248384,  33.64523254],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.37043957,  34.49072721,  34.46713889, ...,  34.61641291,\\n\",\n       \"          34.6316781 ,  34.65009482],\\n\",\n       \"        [ 34.34755901,  34.44125379,  34.69034084, ...,  34.58201637,\\n\",\n       \"          34.64234545,  34.57663455],\\n\",\n       \"        [ 34.57448406,  34.80322892,  34.60662199, ...,  34.71353755,\\n\",\n       \"          34.54698945,  34.75533398]]),\\n\",\n       \" array([[ 34.48058576,  34.46931947,  34.39645689, ...,  34.56175966,\\n\",\n       \"          34.60120682,  34.6889119 ],\\n\",\n       \"        [ 34.42459542,  34.4041518 ,  34.59273011, ...,  34.71655572,\\n\",\n       \"          34.77569208,  34.91001211],\\n\",\n       \"        [ 34.02746584,  34.17503955,  34.19326864, ...,  34.41906863,\\n\",\n       \"          34.49378041,  34.54149122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.26729796,  34.33198393,  34.52037656, ...,  34.26471212,\\n\",\n       \"          34.32199879,  34.43204531],\\n\",\n       \"        [ 33.37651991,  33.60677572,  33.52148382, ...,  33.42863803,\\n\",\n       \"          33.44812737,  33.44797037],\\n\",\n       \"        [ 33.77101123,  33.70474743,  33.57014533, ...,  33.57211048,\\n\",\n       \"          33.6467882 ,  33.75261216]]),\\n\",\n       \" array([[ 33.53133289,  33.43869191,  33.37263046, ...,  33.32649401,\\n\",\n       \"          33.31416629,  33.19199006],\\n\",\n       \"        [ 33.46584109,  33.39713333,  33.33327354, ...,  33.28221668,\\n\",\n       \"          33.15383874,  33.13431947],\\n\",\n       \"        [ 34.41622601,  34.29761196,  34.4366854 , ...,  34.39820455,\\n\",\n       \"          34.52023716,  34.3539505 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.78692903,  34.73536166,  34.73454473, ...,  34.35468426,\\n\",\n       \"          34.27153208,  34.18379174],\\n\",\n       \"        [ 35.01790079,  34.99299477,  34.80046662, ...,  34.59019432,\\n\",\n       \"          34.47643505,  34.32671027],\\n\",\n       \"        [ 34.93577164,  34.68553218,  34.54299772, ...,  34.42529695,\\n\",\n       \"          34.26793524,  34.20209156]]),\\n\",\n       \" array([[ 34.97898179,  34.98256211,  35.07425527, ...,  35.19605749,\\n\",\n       \"          35.29951325,  35.34528396],\\n\",\n       \"        [ 35.01624583,  35.10178264,  35.12680389, ...,  35.30594613,\\n\",\n       \"          35.35298146,  35.4299613 ],\\n\",\n       \"        [ 34.93937399,  34.9619017 ,  35.07676871, ...,  35.17815547,\\n\",\n       \"          35.28027676,  35.31059197],\\n\",\n       \"        ..., \\n\",\n       \"        [ 44.10058135,  43.8139945 ,  43.50204997, ...,  42.79200923,\\n\",\n       \"          42.46908938,  42.18424781],\\n\",\n       \"        [ 43.92034495,  43.61468664,  43.30103441, ...,  42.6139226 ,\\n\",\n       \"          42.32034584,  42.01517437],\\n\",\n       \"        [ 44.03369297,  43.71493941,  43.41566069, ...,  42.70811157,\\n\",\n       \"          42.40436291,  42.15296897]]),\\n\",\n       \" array([[ 44.26824904,  44.22815477,  44.2189972 , ...,  44.12417068,\\n\",\n       \"          44.16232578,  44.12297489],\\n\",\n       \"        [ 43.86504688,  43.81346145,  43.79542729, ...,  43.81453745,\\n\",\n       \"          43.80092968,  43.78132118],\\n\",\n       \"        [ 44.17142766,  44.10927042,  44.07602426, ...,  44.01900881,\\n\",\n       \"          44.03224618,  44.05145594],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.95488639,  35.16294448,  35.49386909, ...,  35.56308703,\\n\",\n       \"          35.46595545,  35.52188355],\\n\",\n       \"        [ 36.1446683 ,  36.4019933 ,  36.67338125, ...,  36.68118139,\\n\",\n       \"          36.80819138,  36.84463694],\\n\",\n       \"        [ 35.82839891,  35.92646934,  36.05010142, ...,  36.31325315,\\n\",\n       \"          36.35564094,  36.41780309]])]\"\n      ]\n     },\n     \"execution_count\": 51,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract predictions. \\n\",\n    \"# `execute_viz` function appends predictions to `predictions_800_off`.\\n\",\n    \"execute_viz(steps=35)\\n\",\n    \"predictions_800_off\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"7000\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[7.9386586814575164,\\n\",\n       \" 7.9385203217998654,\\n\",\n       \" 7.924249146106483,\\n\",\n       \" 7.9012922230048002,\\n\",\n       \" 7.9694966896901072,\\n\",\n       \" 7.9379066283830166,\\n\",\n       \" 7.9033436487609698,\\n\",\n       \" 7.9624823177768214,\\n\",\n       \" 7.9797023821236319,\\n\",\n       \" 8.0022559969116571,\\n\",\n       \" 8.0346843791736688,\\n\",\n       \" 8.0165273954102201,\\n\",\n       \" 8.0478567389874343,\\n\",\n       \" 8.0175318531137716,\\n\",\n       \" 8.1207363588667363,\\n\",\n       \" 8.3027967645395577,\\n\",\n       \" 8.3830578303821088,\\n\",\n       \" 8.433113998415509,\\n\",\n       \" 8.3680978432868649,\\n\",\n       \" 8.3471882088960587,\\n\",\n       \" 8.1889879868111279,\\n\",\n       \" 8.1863491608515524,\\n\",\n       \" 8.4241681316139623,\\n\",\n       \" 8.418357801473503,\\n\",\n       \" 8.5213388551832345,\\n\",\n       \" 8.3832348535517571,\\n\",\n       \" 8.1961078162144627,\\n\",\n       \" 8.0712254420379281,\\n\",\n       \" 7.8577649445467834,\\n\",\n       \" 7.8242291698881647,\\n\",\n       \" 7.8212444345901204,\\n\",\n       \" 7.7634359328571501,\\n\",\n       \" 7.9755668055243518,\\n\",\n       \" 8.0341178823289692,\\n\",\n       \" 7.8730729840682745,\\n\",\n       \" 7.8744687301826684,\\n\",\n       \" 8.053238381571342,\\n\",\n       \" 8.0217328098924536,\\n\",\n       \" 8.0288730932490946,\\n\",\n       \" 7.7596041420852018,\\n\",\n       \" 7.4272558470725887,\\n\",\n       \" 7.6045342781236531,\\n\",\n       \" 7.5541483821835058,\\n\",\n       \" 7.6921907134941465,\\n\",\n       \" 7.8355729543313348,\\n\",\n       \" 7.5862038765559605,\\n\",\n       \" 7.3265133334045185,\\n\",\n       \" 7.3144934353553213,\\n\",\n       \" 7.3500829043810105,\\n\",\n       \" 7.3510859878584105,\\n\",\n       \" 7.4282522099924249,\\n\",\n       \" 7.37924055474861,\\n\",\n       \" 7.4078716362153223,\\n\",\n       \" 7.6956865693848453,\\n\",\n       \" 7.7665983163343082,\\n\",\n       \" 7.7437631679078303,\\n\",\n       \" 7.9610193388681854,\\n\",\n       \" 8.0008118350990696,\\n\",\n       \" 7.9373151329248639,\\n\",\n       \" 8.0235718872491102,\\n\",\n       \" 7.9163579791227132,\\n\",\n       \" 7.8450888166196311,\\n\",\n       \" 7.7645800745267728,\\n\",\n       \" 7.8200451803263924,\\n\",\n       \" 7.8416342933699266,\\n\",\n       \" 7.8434909561987745,\\n\",\n       \" 7.8382321920669131,\\n\",\n       \" 7.8685651108740355,\\n\",\n       \" 7.9846856131927062,\\n\",\n       \" 8.0088802813229911,\\n\",\n       \" 7.865448180200195,\\n\",\n       \" 7.9267289179245122,\\n\",\n       \" 7.8755502361625265,\\n\",\n       \" 7.7186662517603013,\\n\",\n       \" 7.9199563662611236,\\n\",\n       \" 7.9782845980081945,\\n\",\n       \" 7.9338153744603783,\\n\",\n       \" 7.9077209067781506,\\n\",\n       \" 7.8805941466182876,\\n\",\n       \" 7.804253716325892,\\n\",\n       \" 7.8490373611580342,\\n\",\n       \" 7.8753824102238852,\\n\",\n       \" 7.8915503700812,\\n\",\n       \" 7.877443173859108,\\n\",\n       \" 7.7895429137186358,\\n\",\n       \" 7.7513428027436122,\\n\",\n       \" 7.7149487495816276,\\n\",\n       \" 7.5523444523503853,\\n\",\n       \" 7.4303808282737211,\\n\",\n       \" 7.0821673891687666,\\n\",\n       \" 5.9677691947169427,\\n\",\n       \" 5.1362911464119145,\\n\",\n       \" 5.5574575276275731,\\n\",\n       \" 5.2818650930534563,\\n\",\n       \" 5.4744499091450667,\\n\",\n       \" 5.3094567735870584,\\n\",\n       \" 5.0301794949373013,\\n\",\n       \" 5.1123900154976303,\\n\",\n       \" 5.4867000687863783,\\n\",\n       \" 5.2783798151050974,\\n\",\n       \" 5.5429067215920238,\\n\",\n       \" 5.2856207494813647,\\n\",\n       \" 5.2600922736577882,\\n\",\n       \" 5.3795144576904841,\\n\",\n       \" 5.3226781806849388,\\n\",\n       \" 5.3103028948361795,\\n\",\n       \" 5.3168439182747154,\\n\",\n       \" 5.3543485747309898,\\n\",\n       \" 5.3950525100208226,\\n\",\n       \" 5.345318857173547,\\n\",\n       \" 5.3198220678787616,\\n\",\n       \" 5.4133559584263899,\\n\",\n       \" 5.3843395565582757,\\n\",\n       \" 5.5139377070660638,\\n\",\n       \" 5.6091792949613897,\\n\",\n       \" 5.6306767189261206,\\n\",\n       \" 5.7172608253593893,\\n\",\n       \" 5.7317686562106136,\\n\",\n       \" 5.7259383971371589,\\n\",\n       \" 5.492856834747605,\\n\",\n       \" 5.4135359809230312,\\n\",\n       \" 5.362572896424024,\\n\",\n       \" 5.3979066269629259,\\n\",\n       \" 5.4939663284969846,\\n\",\n       \" 5.6319808805005911,\\n\",\n       \" 5.6411152173746011,\\n\",\n       \" 5.6758521237026303,\\n\",\n       \" 5.5963907615876654,\\n\",\n       \" 5.7466509186675312,\\n\",\n       \" 5.6527778014805667,\\n\",\n       \" 5.5911499582756194,\\n\",\n       \" 5.5687781331245487,\\n\",\n       \" 5.436830255690305,\\n\",\n       \" 5.4554965703535103,\\n\",\n       \" 5.7195278095458084,\\n\",\n       \" 5.7427309518459584,\\n\",\n       \" 5.9606798799275227,\\n\",\n       \" 5.9384989424349897,\\n\",\n       \" 5.7778385648473565,\\n\",\n       \" 5.6901466393148805,\\n\",\n       \" 5.9579184804955743,\\n\",\n       \" 5.8436553203737107,\\n\",\n       \" 6.1517305136993015,\\n\",\n       \" 6.1555230756912005,\\n\",\n       \" 6.1184355998723934,\\n\",\n       \" 6.0827708197957993,\\n\",\n       \" 5.8898273456745862,\\n\",\n       \" 5.8970123526576721,\\n\",\n       \" 5.8540476000295616,\\n\",\n       \" 5.8947781345973125,\\n\",\n       \" 5.8988450139051256,\\n\",\n       \" 5.9144672991265015,\\n\",\n       \" 5.8782232003546042,\\n\",\n       \" 5.751470819801737,\\n\",\n       \" 5.6138833941332598,\\n\",\n       \" 5.7077101710774851,\\n\",\n       \" 5.8340908464301124,\\n\",\n       \" 5.8308013171332744,\\n\",\n       \" 5.8327581835573215,\\n\",\n       \" 5.8519904841862331,\\n\",\n       \" 6.0306902932743567,\\n\",\n       \" 5.9651639045282563,\\n\",\n       \" 5.9024180741927683,\\n\",\n       \" 5.905254944675784,\\n\",\n       \" 5.8274018484276713,\\n\",\n       \" 5.8672542702992745,\\n\",\n       \" 5.7672014808651406,\\n\",\n       \" 5.6255380091922573,\\n\",\n       \" 5.6900808085978474,\\n\",\n       \" 5.7491740048308451,\\n\",\n       \" 5.7679135053569599,\\n\",\n       \" 5.7921074313959346,\\n\",\n       \" 5.7529437138169861,\\n\",\n       \" 5.7453901557846443,\\n\",\n       \" 5.7549205739837044,\\n\",\n       \" 5.6990868193754816,\\n\",\n       \" 5.8251170153492167,\\n\",\n       \" 5.8273091752505657,\\n\",\n       \" 5.7601002273888726,\\n\",\n       \" 5.8233125011725528,\\n\",\n       \" 5.7657222040117455,\\n\",\n       \" 5.6902374599790972,\\n\",\n       \" 5.7354608350877712,\\n\",\n       \" 5.8177104411454748,\\n\",\n       \" 5.7374285740025925,\\n\",\n       \" 5.7577836964541582,\\n\",\n       \" 5.9131196878942065,\\n\",\n       \" 6.0303952627288453,\\n\",\n       \" 6.0860790674585017,\\n\",\n       \" 6.523352100466882,\\n\",\n       \" 6.5176956991855022,\\n\",\n       \" 6.3933007815776115,\\n\",\n       \" 6.3835975284975151,\\n\",\n       \" 6.4078502003894933,\\n\",\n       \" 6.3637590570703271,\\n\",\n       \" 6.5949673261789989,\\n\",\n       \" 6.5455806185616092,\\n\",\n       \" 6.4751872040984262,\\n\",\n       \" 6.5195002081104771,\\n\",\n       \" 6.3264696997486274,\\n\",\n       \" 6.0807016653319117,\\n\",\n       \" 6.1408127499487541,\\n\",\n       \" 6.219018322737476,\\n\",\n       \" 6.1846771780336889,\\n\",\n       \" 6.1968487923542526,\\n\",\n       \" 6.1407414692183888,\\n\",\n       \" 6.1799911998396553,\\n\",\n       \" 6.2249280967765133,\\n\",\n       \" 6.2936809105776534,\\n\",\n       \" 6.4090332930535974,\\n\",\n       \" 6.6308038648546219,\\n\",\n       \" 6.5138903921171174,\\n\",\n       \" 6.5528890032476212,\\n\",\n       \" 6.4015883914550091,\\n\",\n       \" 6.4307525014847942,\\n\",\n       \" 6.6354753933126718,\\n\",\n       \" 6.6776841894164463,\\n\",\n       \" 6.6257053006111022,\\n\",\n       \" 6.5979277591120677,\\n\",\n       \" 6.5177020655583062,\\n\",\n       \" 6.4639621922853854,\\n\",\n       \" 6.5929430396185502,\\n\",\n       \" 6.563617827386925,\\n\",\n       \" 6.5303849680219948,\\n\",\n       \" 6.4995593769216953,\\n\",\n       \" 6.4649624362380536,\\n\",\n       \" 6.5278670522895528,\\n\",\n       \" 6.3057793819307069,\\n\",\n       \" 6.3585309273105324,\\n\",\n       \" 6.3898301080010222,\\n\",\n       \" 6.4109942891001142,\\n\",\n       \" 6.4160272080079075,\\n\",\n       \" 6.3290462648771761,\\n\",\n       \" 6.3437505325128685,\\n\",\n       \" 6.4353914645100412,\\n\",\n       \" 6.3846107235843457,\\n\",\n       \" 6.3345204796076109,\\n\",\n       \" 6.1894686224716153,\\n\",\n       \" 6.2157073895180872,\\n\",\n       \" 6.2486000973397662,\\n\",\n       \" 6.2368927411923671,\\n\",\n       \" 6.3432386601776685,\\n\",\n       \" 6.3379977975373869,\\n\",\n       \" 6.2523736617222125,\\n\",\n       \" 6.2063880601390755,\\n\",\n       \" 6.2004624044192527,\\n\",\n       \" 6.2274621198667726,\\n\",\n       \" 6.1435489361737572,\\n\",\n       \" 6.2171136176098889,\\n\",\n       \" 6.2762419621511194,\\n\",\n       \" 6.2082569735496369,\\n\",\n       \" 6.2434735901984277,\\n\",\n       \" 6.2285656669525213,\\n\",\n       \" 6.339001638826165,\\n\",\n       \" 6.2277719563607379,\\n\",\n       \" 6.2288520447248956,\\n\",\n       \" 6.2365459050280343,\\n\",\n       \" 6.0893816610840972,\\n\",\n       \" 6.0374599279207759,\\n\",\n       \" 6.0264675246684556,\\n\",\n       \" 6.1137591008762504,\\n\",\n       \" 6.0592710923379505,\\n\",\n       \" 5.9711306319655613,\\n\",\n       \" 5.7513733266823639,\\n\",\n       \" 5.5097994661055463,\\n\",\n       \" 5.6962746683908954,\\n\",\n       \" 5.6915570017391728,\\n\",\n       \" 5.6848440041287835,\\n\",\n       \" 5.6832244978989124,\\n\",\n       \" 5.750705474799763,\\n\",\n       \" 5.8113211743784543,\\n\",\n       \" 5.8016871915600143,\\n\",\n       \" 5.7972938306995045,\\n\",\n       \" 5.7972083706741921,\\n\",\n       \" 5.6453255228951784,\\n\",\n       \" 5.6749863348097422,\\n\",\n       \" 5.6996741266188975,\\n\",\n       \" 5.5675009534560509,\\n\",\n       \" 5.6021289487784047,\\n\",\n       \" 5.6022023704383761,\\n\",\n       \" 5.7929905942999023,\\n\",\n       \" 5.7600080508509617,\\n\",\n       \" 5.6803857091223806,\\n\",\n       \" 5.7001653286947382,\\n\",\n       \" 5.628053946210775,\\n\",\n       \" 5.7397504025018833,\\n\",\n       \" 5.7488611551852298,\\n\",\n       \" 5.7884776433347263,\\n\",\n       \" 5.7606480893760974,\\n\",\n       \" 5.7232441999062003,\\n\",\n       \" 5.7390025629080252,\\n\",\n       \" 5.6898914943350904,\\n\",\n       \" 5.5913404105092237,\\n\",\n       \" 5.6429359360509661,\\n\",\n       \" 5.6245308816441879,\\n\",\n       \" 5.521229202338322,\\n\",\n       \" 5.6702633627264429,\\n\",\n       \" 5.6416480607131669,\\n\",\n       \" 5.5986566920550347,\\n\",\n       \" 5.6172741720165718,\\n\",\n       \" 5.623086217458237,\\n\",\n       \" 5.6246064977859165,\\n\",\n       \" 5.6653931448466528,\\n\",\n       \" 5.4608227015679969,\\n\",\n       \" 5.3966586488185202,\\n\",\n       \" 5.4289511411185103,\\n\",\n       \" 5.2875078547393901,\\n\",\n       \" 5.2847054810112235,\\n\",\n       \" 5.3373680496133895,\\n\",\n       \" 5.2762810454534268,\\n\",\n       \" 5.2750734296384039,\\n\",\n       \" 5.1959823860369054,\\n\",\n       \" 5.2827342978803458,\\n\",\n       \" 5.4710139571842973,\\n\",\n       \" 5.3300835355799663,\\n\",\n       \" 5.2970530689830815,\\n\",\n       \" 5.2985848476817736,\\n\",\n       \" 5.3305227087546792,\\n\",\n       \" 5.3663885542906495,\\n\",\n       \" 5.3759541957048853,\\n\",\n       \" 5.4322736425101743,\\n\",\n       \" 5.4220898474720185,\\n\",\n       \" 5.3905230414398773,\\n\",\n       \" 5.4458845984162574,\\n\",\n       \" 5.4705876696812235,\\n\",\n       \" 5.3943082767618771,\\n\",\n       \" 5.4052406528858148,\\n\",\n       \" 5.4362040742190922,\\n\",\n       \" 5.4640939263392863,\\n\",\n       \" 5.4051135025701749,\\n\",\n       \" 5.4741070501629476,\\n\",\n       \" 5.3940804759505001,\\n\",\n       \" 5.2765852999039407,\\n\",\n       \" 5.2367939145239086,\\n\",\n       \" 5.3135569615141129,\\n\",\n       \" 5.3711115812887265,\\n\",\n       \" 5.3801967917752913,\\n\",\n       \" 5.3885632691395839,\\n\",\n       \" 5.3309693678326386,\\n\",\n       \" 5.2689932543645357,\\n\",\n       \" 5.3557540160890884,\\n\",\n       \" 5.5215502002634196,\\n\",\n       \" 5.6763469115788743,\\n\",\n       \" 5.6275036264298288,\\n\",\n       \" 5.5790831372201453,\\n\",\n       \" 5.5845116651871987,\\n\",\n       \" 5.5322635927423747,\\n\",\n       \" 5.4275658988016069,\\n\",\n       \" 5.55966343140968,\\n\",\n       \" 5.6129061682784309,\\n\",\n       \" 5.6316581658716416,\\n\",\n       \" 5.6462540778406192,\\n\",\n       \" 5.598136919296274,\\n\",\n       \" 5.6571348286246561,\\n\",\n       \" 5.6359001873908632,\\n\",\n       \" 5.7277202299609788,\\n\",\n       \" 5.6740846350932692,\\n\",\n       \" 5.6799922954066577,\\n\",\n       \" 5.7594643478485308,\\n\",\n       \" 5.7271271693549277,\\n\",\n       \" 5.7967246479761405,\\n\",\n       \" 5.6902957053480048,\\n\",\n       \" 5.7481933912333032,\\n\",\n       \" 5.776096557452461,\\n\",\n       \" 5.7617121849113948,\\n\",\n       \" 5.8393455241629351,\\n\",\n       \" 5.80851365580238,\\n\",\n       \" 5.7061651224700221,\\n\",\n       \" 5.7463001838894643,\\n\",\n       \" 5.8459095214973518,\\n\",\n       \" 5.8129708972445027,\\n\",\n       \" 5.7289537224283746,\\n\",\n       \" 5.7635394830243891,\\n\",\n       \" 5.7798753607785249,\\n\",\n       \" 5.760361358559452,\\n\",\n       \" 5.7352354078773384,\\n\",\n       \" 5.8116352347282767,\\n\",\n       \" 5.8429041999416764,\\n\",\n       \" 5.8151036523615378,\\n\",\n       \" 5.78702086082113,\\n\",\n       \" 5.8210950505819294,\\n\",\n       \" 5.8882420455009639,\\n\",\n       \" 5.8628804827773484,\\n\",\n       \" 6.0480230583435945,\\n\",\n       \" 6.0152743474266623,\\n\",\n       \" 6.0384255844887509,\\n\",\n       \" 6.0212276415691575,\\n\",\n       \" 5.9373441582168853,\\n\",\n       \" 5.9386898388109204,\\n\",\n       \" 5.7265774770612952,\\n\",\n       \" 5.8058124065141357,\\n\",\n       \" 5.8309416828753804,\\n\",\n       \" 5.806825128711198,\\n\",\n       \" 5.8609904639039865,\\n\",\n       \" 5.8103033501851673,\\n\",\n       \" 5.899075710547133,\\n\",\n       \" 5.8957817233608933,\\n\",\n       \" 5.8774063086352131,\\n\",\n       \" 5.8863750678935238,\\n\",\n       \" 5.9047815232695564,\\n\",\n       \" 5.8772748371652774,\\n\",\n       \" 5.9080492770719681,\\n\",\n       \" 5.9553407787211086,\\n\",\n       \" 5.9539213164617859,\\n\",\n       \" 5.9474931006010614,\\n\",\n       \" 5.8824304350302858,\\n\",\n       \" 5.9246357303227732,\\n\",\n       \" 5.9966512718277771,\\n\",\n       \" 6.1830447741650625,\\n\",\n       \" 6.1328495597379868,\\n\",\n       \" 6.1648144070294419,\\n\",\n       \" 6.0655478905435771,\\n\",\n       \" 6.1017832651817727,\\n\",\n       \" 6.1675802992967839,\\n\",\n       \" 6.31166827776266,\\n\",\n       \" 6.3916595515334285,\\n\",\n       \" 6.2929588458907384,\\n\",\n       \" 6.2468526458728455,\\n\",\n       \" 6.2573973153866271,\\n\",\n       \" 6.1080822368652887,\\n\",\n       \" 6.1801817058435908,\\n\",\n       \" 6.1874435542180333,\\n\",\n       \" 6.1350554316167294,\\n\",\n       \" 6.0669973296916986,\\n\",\n       \" 6.0475437364201925,\\n\",\n       \" 6.1625560989227237,\\n\",\n       \" 6.2144637250854933,\\n\",\n       \" 6.1360530433596248,\\n\",\n       \" 6.1616971499738726,\\n\",\n       \" 6.162973598717806,\\n\",\n       \" 6.0741678423814678,\\n\",\n       \" 6.0596716303603868,\\n\",\n       \" 6.0415228476100937,\\n\",\n       \" 6.0584859422238981,\\n\",\n       \" 6.0317058123404124,\\n\",\n       \" 5.9932926460257168,\\n\",\n       \" 6.0560413661011907,\\n\",\n       \" 6.0989702709130871,\\n\",\n       \" 6.2309670013660554,\\n\",\n       \" 6.2005731621493752,\\n\",\n       \" 6.165409758191255,\\n\",\n       \" 6.1311294067934936,\\n\",\n       \" 6.0906456841662697,\\n\",\n       \" 6.1555500785503412,\\n\",\n       \" 6.2323054704055867,\\n\",\n       \" 6.4881160956818604,\\n\",\n       \" 6.6342351373521016,\\n\",\n       \" 6.4570445412912933,\\n\",\n       \" 6.374866042053406,\\n\",\n       \" 6.4308433625467396,\\n\",\n       \" 6.3734370573236641,\\n\",\n       \" 6.403447253121584,\\n\",\n       \" 6.436265969918189,\\n\",\n       \" 6.3590009819059148,\\n\",\n       \" 6.3961207763580941,\\n\",\n       \" 6.1724201549414683,\\n\",\n       \" 6.2769197073061669,\\n\",\n       \" 6.2851321353926437,\\n\",\n       \" 6.3128169127219014,\\n\",\n       \" 6.3081045394587481,\\n\",\n       \" 6.1950091414851673,\\n\",\n       \" 6.1408556719668068,\\n\",\n       \" 6.0633621949316598,\\n\",\n       \" 6.0881970236622189,\\n\",\n       \" 6.1073369206643013,\\n\",\n       \" 5.9588693113440678,\\n\",\n       \" 6.1175907639469376,\\n\",\n       \" 6.1372956140145734,\\n\",\n       \" 6.2946030931079147,\\n\",\n       \" 6.3439360660854538,\\n\",\n       \" 6.2612379585117202,\\n\",\n       \" 6.2581080316719033,\\n\",\n       \" 6.2563896000018691,\\n\",\n       \" 6.2072595691211578,\\n\",\n       \" 6.3080575540291051,\\n\",\n       \" 6.3459910132352366,\\n\",\n       \" 6.3501889363780117,\\n\",\n       \" 6.3105526963978145,\\n\",\n       \" 6.2589070066815893,\\n\",\n       \" 6.2311725027310167,\\n\",\n       \" 6.2194414241635601,\\n\",\n       \" 6.2260806644232733,\\n\",\n       \" 6.064356694106241,\\n\",\n       \" 6.0569670539878011,\\n\",\n       \" 6.0360820200847431,\\n\",\n       \" 6.0306526347561622,\\n\",\n       \" 6.10963306558555,\\n\",\n       \" 6.1197242278900479,\\n\",\n       \" 6.0840258823582527,\\n\",\n       \" 6.0907413639358587,\\n\",\n       \" 6.1439408348711586,\\n\",\n       \" 6.1601605760088054,\\n\",\n       \" 6.0746815738915974,\\n\",\n       \" 5.8478758489596752,\\n\",\n       \" 5.9261799695037238,\\n\",\n       \" 5.9563496161725427,\\n\",\n       \" 5.9888011699820742,\\n\",\n       \" 5.9312195708763165,\\n\",\n       \" 5.9706724129626032,\\n\",\n       \" 5.9933024864740227,\\n\",\n       \" 5.9867673200914338,\\n\",\n       \" 5.8462362349739472,\\n\",\n       \" 5.9601537526648034,\\n\",\n       \" 5.9947582922473552,\\n\",\n       \" 6.003057420843751,\\n\",\n       \" 5.9846443000312544,\\n\",\n       \" 5.9730104266088659,\\n\",\n       \" 5.9523187593356379,\\n\",\n       \" 5.9463690122944595,\\n\",\n       \" 5.9744223995801935,\\n\",\n       \" 5.939786744728857,\\n\",\n       \" 5.9826215361874091,\\n\",\n       \" 5.939582759766612,\\n\",\n       \" 5.9888134963242665,\\n\",\n       \" 6.0360791469381807,\\n\",\n       \" 6.0211579926374652,\\n\",\n       \" 6.0288817551633125,\\n\",\n       \" 6.2414042550326423,\\n\",\n       \" 6.187163845104128,\\n\",\n       \" 6.0519093619819317,\\n\",\n       \" 6.0220627521113963,\\n\",\n       \" 6.1415191929752213,\\n\",\n       \" 6.2190798550543382,\\n\",\n       \" 6.1596585446123315,\\n\",\n       \" 6.3441677016418678,\\n\",\n       \" 6.3298115176501053,\\n\",\n       \" 6.4282979048325384,\\n\",\n       \" 6.424476408727922,\\n\",\n       \" 6.3926797855142894,\\n\",\n       \" 6.3964736095324044,\\n\",\n       \" 6.4309222704303508,\\n\",\n       \" 6.4470428619492104,\\n\",\n       \" 6.597800571524612,\\n\",\n       \" 6.5303882717602022,\\n\",\n       \" 6.5082277797125911,\\n\",\n       \" 6.4270857231766456,\\n\",\n       \" 6.4280481825694959,\\n\",\n       \" 6.4917677985204172,\\n\",\n       \" 6.5034166775764621,\\n\",\n       \" 6.5314044539772151,\\n\",\n       \" 6.4837296606382804,\\n\",\n       \" 6.454390809817399,\\n\",\n       \" 6.4916832355943601,\\n\",\n       \" 6.3007656633067493,\\n\",\n       \" 6.3505162371615906,\\n\",\n       \" 6.3777252483749614,\\n\",\n       \" 6.4000177307712267,\\n\",\n       \" 6.3744653862664533,\\n\",\n       \" 6.3526573477015882,\\n\",\n       \" 6.2204218426367976,\\n\",\n       \" 6.1601168553797816,\\n\",\n       \" 6.1357619573139441,\\n\",\n       \" 6.2557727237074658,\\n\",\n       \" 6.167742089596838,\\n\",\n       \" 6.2587492973828391,\\n\",\n       \" 6.1016104108795437,\\n\",\n       \" 6.1198442383635463,\\n\",\n       \" 6.1495833296504987,\\n\",\n       \" 6.2104622960501796,\\n\",\n       \" 6.3339111604633027,\\n\",\n       \" 6.2809282570745042,\\n\",\n       \" 6.2876242414388512,\\n\",\n       \" 6.2570788764030008,\\n\",\n       \" 6.2033487804901064,\\n\",\n       \" 6.2705460448924306,\\n\",\n       \" 6.2850656101178455,\\n\",\n       \" 6.2239789058183588,\\n\",\n       \" 6.3938717421479074,\\n\",\n       \" 6.5437888896406857,\\n\",\n       \" 6.4274379632568737,\\n\",\n       \" 6.4566503260158292,\\n\",\n       \" 6.5911292572436331,\\n\",\n       \" 6.5176506312491016,\\n\",\n       \" 6.4449942789804293,\\n\",\n       \" 6.5680941377072877,\\n\",\n       \" 6.4967225254631238,\\n\",\n       \" 6.5211041469949542,\\n\",\n       \" 6.5064621824467359,\\n\",\n       \" 6.480709131233116,\\n\",\n       \" 6.4566845587051755,\\n\",\n       \" 6.442262406589645,\\n\",\n       \" 6.4255759662780054,\\n\",\n       \" 6.2656812077390098,\\n\",\n       \" 6.3326998793779747,\\n\",\n       \" 6.3605331189005687,\\n\",\n       \" 6.4384627842288777,\\n\",\n       \" 6.4182529242340722,\\n\",\n       \" 6.3521926479634994,\\n\",\n       \" 6.3548838182060834,\\n\",\n       \" 6.2062493660098026,\\n\",\n       \" 6.1227534193402322,\\n\",\n       \" 6.1735780907244342,\\n\",\n       \" 6.257880580049517,\\n\",\n       \" 6.1715395829319775,\\n\",\n       \" 6.0964155135202915,\\n\",\n       \" 6.0253029706579264,\\n\",\n       \" 6.2279525671036495,\\n\",\n       \" 6.2832281365796092,\\n\",\n       \" 6.2449293342950511,\\n\",\n       \" 6.2961635274504477,\\n\",\n       \" 6.1546491347218293,\\n\",\n       \" 6.1829646029905909,\\n\",\n       \" 5.8795387296098784,\\n\",\n       \" 5.865635708643282,\\n\",\n       \" 5.9808970294014356,\\n\",\n       \" 6.1233726326465199,\\n\",\n       \" 6.1475733627792479,\\n\",\n       \" 6.1234137034614715,\\n\",\n       \" 6.1820172411545045,\\n\",\n       \" 6.110953603406112,\\n\",\n       \" 6.2301473140168921,\\n\",\n       \" 6.2909630759115895,\\n\",\n       \" 6.2296161049651513,\\n\",\n       \" 6.2549459330259936,\\n\",\n       \" 6.2373482726972096,\\n\",\n       \" 6.2483758660354063,\\n\",\n       \" 6.2136703788104803,\\n\",\n       \" 6.2104630252886199,\\n\",\n       \" 6.2273990415426388,\\n\",\n       \" 6.1087535952540319,\\n\",\n       \" 6.1529684320528553,\\n\",\n       \" 6.2322211056114236,\\n\",\n       \" 6.3655802441960807,\\n\",\n       \" 6.3948997516109243,\\n\",\n       \" 6.4151474712194867,\\n\",\n       \" 6.3925188418026853,\\n\",\n       \" 6.3981933492676948,\\n\",\n       \" 6.4473398997059395,\\n\",\n       \" 6.4744905381026641,\\n\",\n       \" 6.5274246800210474,\\n\",\n       \" 6.6117935320756445,\\n\",\n       \" 6.7194849132268351,\\n\",\n       \" 6.9065916735152806,\\n\",\n       \" 6.8569523133756771,\\n\",\n       \" 7.093649832044397,\\n\",\n       \" 7.1146614486597333,\\n\",\n       \" 6.959046564567581,\\n\",\n       \" 6.8971847300462166,\\n\",\n       \" 6.8718920640936894,\\n\",\n       \" 6.8892431482389771,\\n\",\n       \" 6.9093609232819713,\\n\",\n       \" 6.9342292846106615,\\n\",\n       \" 6.9050223003563289,\\n\",\n       \" 6.9568955928567116,\\n\",\n       \" 7.0621991213880539,\\n\",\n       \" 7.0144742262601563,\\n\",\n       \" 7.0902069086374846,\\n\",\n       \" 7.0928409263184173,\\n\",\n       \" 7.1213566373017265,\\n\",\n       \" 7.1094460551202339,\\n\",\n       \" 7.1264856050282752,\\n\",\n       \" 7.1652686399345962,\\n\",\n       \" 7.1338122136285271,\\n\",\n       \" 7.0767649887730579,\\n\",\n       \" 7.1709408285468967,\\n\",\n       \" 7.0153013499499597,\\n\",\n       \" 6.9989558882842946,\\n\",\n       \" 7.0219877913103499,\\n\",\n       \" 7.0231120950138726,\\n\",\n       \" 6.9636665248807326,\\n\",\n       \" 6.9282749508431589,\\n\",\n       \" 6.7439350370019371,\\n\",\n       \" 6.7192000359220172,\\n\",\n       \" 6.6714688249428402,\\n\",\n       \" 6.8086869327901827,\\n\",\n       \" 7.0141874165476148,\\n\",\n       \" 7.2015380502578346,\\n\",\n       \" 7.2104397327448781,\\n\",\n       \" 7.4097307244234658,\\n\",\n       \" 7.4994811937661714,\\n\",\n       \" 7.5383955652596217,\\n\",\n       \" 7.5257598243247159,\\n\",\n       \" 7.4643927526662219,\\n\",\n       \" 7.419925051358887,\\n\",\n       \" 7.4250818221390835,\\n\",\n       \" 7.3873811927391833,\\n\",\n       \" 7.2617188504588261,\\n\",\n       \" 7.3738386857080407,\\n\",\n       \" 7.4131889877389785,\\n\",\n       \" 7.6126550414636469,\\n\",\n       \" 7.5654094819681772,\\n\",\n       \" 7.5157908776454461,\\n\",\n       \" 7.4497562244839779,\\n\",\n       \" 7.493839352409922,\\n\",\n       \" 7.3213402218210568,\\n\",\n       \" 7.3789381935771532,\\n\",\n       \" 7.4106714634786703,\\n\",\n       \" 7.3807416312214471,\\n\",\n       \" 7.3334474425140224,\\n\",\n       \" 7.3750624522642534,\\n\",\n       \" 7.1372007727528706,\\n\",\n       \" 7.1606881584684707,\\n\",\n       \" 7.1803672350699816,\\n\",\n       \" 7.3255470613039817,\\n\",\n       \" 6.9943591433109242,\\n\",\n       \" 6.9732675095448213,\\n\",\n       \" 6.8783565835878377,\\n\",\n       \" 6.98031341771956,\\n\",\n       \" 7.0696330413615396,\\n\",\n       \" 7.1607723114095014,\\n\",\n       \" 7.0449926166276597,\\n\",\n       \" 7.0414901962793346,\\n\",\n       \" 6.9804239710971157,\\n\",\n       \" 6.9562096900860082,\\n\",\n       \" 7.0210273090914965,\\n\",\n       \" 7.09478413240039,\\n\",\n       \" 7.012461803934074,\\n\",\n       \" 7.0590005713322466,\\n\",\n       \" 7.0127664831919914,\\n\",\n       \" 6.9826575725121636,\\n\",\n       \" 6.7550987187868294,\\n\",\n       \" 6.8455421117176369,\\n\",\n       \" 6.8003112684943243,\\n\",\n       \" 6.8145724087410535,\\n\",\n       \" 6.7527017284933013,\\n\",\n       \" 6.7705005164856784,\\n\",\n       \" 6.7455740696794591,\\n\",\n       \" 6.7090450939173296,\\n\",\n       \" 6.8174593561024039,\\n\",\n       \" 6.7561050422959914,\\n\",\n       \" 6.7685896090459821,\\n\",\n       \" 6.7212441360700428,\\n\",\n       \" 6.708807593216064,\\n\",\n       \" 6.7271014922594778,\\n\",\n       \" 6.6292978617777898,\\n\",\n       \" 6.6781841107789504,\\n\",\n       \" 6.6371342050968041,\\n\",\n       \" 6.5761833234625202,\\n\",\n       \" 6.4605090722697485,\\n\",\n       \" 6.4744029638508964,\\n\",\n       \" 6.5284606295299801,\\n\",\n       \" 6.6373386089196691,\\n\",\n       \" 6.7138169997656982,\\n\",\n       \" 6.9934142385080982,\\n\",\n       \" 7.0033428700723244,\\n\",\n       \" 6.9731492025766002,\\n\",\n       \" 6.903985690267298,\\n\",\n       \" 6.7763511117355106,\\n\",\n       \" 6.9286200126673725,\\n\",\n       \" 7.1000447927499133,\\n\",\n       \" 7.09345535511933,\\n\",\n       \" 7.2090938424918161,\\n\",\n       \" 7.3875787563479705,\\n\",\n       \" 7.2690978663524817,\\n\",\n       \" 7.0616455045616044,\\n\",\n       \" 7.2840816049333386,\\n\",\n       \" 7.1494006615636714,\\n\",\n       \" 7.0909212815348575,\\n\",\n       \" 6.9756315987328001,\\n\",\n       \" 7.1271611782983575,\\n\",\n       \" 7.3403473742641054,\\n\",\n       \" 7.2331691094700741,\\n\",\n       \" 7.2989727139133107,\\n\",\n       \" 7.2774514255596436,\\n\",\n       \" 7.1840288370307857,\\n\",\n       \" 7.0735299963138605,\\n\",\n       \" 7.0574518530785344,\\n\",\n       \" 7.0548456751269599,\\n\",\n       \" 7.0500731962669914,\\n\",\n       \" 7.1972686558377195,\\n\",\n       \" 7.3031413984761011,\\n\",\n       \" 7.3132245486697238,\\n\",\n       \" 7.2868563605187724,\\n\",\n       \" 7.1813517379585132,\\n\",\n       \" 7.2056567321774807,\\n\",\n       \" 7.2221203604976587,\\n\",\n       \" 7.303063402287032,\\n\",\n       \" 7.249336357764383,\\n\",\n       \" 7.3215974293986239,\\n\",\n       \" 7.3465744795495835,\\n\",\n       \" 7.2623125996367914,\\n\",\n       \" 7.1832045239247577,\\n\",\n       \" 7.2110622174023407,\\n\",\n       \" 7.2747432344764427,\\n\",\n       \" 7.2988475355933025,\\n\",\n       \" 7.2356259413900874,\\n\",\n       \" 7.3840689407557019,\\n\",\n       \" 7.4877323004681422,\\n\",\n       \" 7.4430426064260899,\\n\",\n       \" 7.547895511610589,\\n\",\n       \" 7.853534332512754,\\n\",\n       \" 7.8830789750244366,\\n\",\n       \" 7.9047336433194486,\\n\",\n       \" 7.8181639151809526,\\n\",\n       \" 7.7530848964388044,\\n\",\n       \" 7.7092626693515918,\\n\",\n       \" 7.7095797684844971,\\n\",\n       \" 7.7309297661935092,\\n\",\n       \" 8.0600143476631736,\\n\",\n       \" 8.0258230337079368,\\n\",\n       \" 7.9327871394336968,\\n\",\n       \" 7.9057457729556697,\\n\",\n       \" 7.9818310553921803,\\n\",\n       \" 8.0143330004230258,\\n\",\n       \" 8.1754728516629527,\\n\",\n       \" 8.7407287580604791,\\n\",\n       \" 8.7995995090737971,\\n\",\n       \" 8.867927942283929,\\n\",\n       \" 8.6887842580518946,\\n\",\n       \" 8.6983989242566118,\\n\",\n       \" 8.6945500631580295,\\n\",\n       \" 8.8441087150870885,\\n\",\n       \" 8.7258164661630744,\\n\",\n       \" 8.8024823054114449,\\n\",\n       \" 8.7787939745095258,\\n\",\n       \" 9.1172342120167613,\\n\",\n       \" 9.2680542237316139,\\n\",\n       \" 9.1650955209006391,\\n\",\n       \" 9.1386373110298855,\\n\",\n       \" 9.1268413609690526,\\n\",\n       \" 9.1291268207320435,\\n\",\n       \" 8.6960030096486172,\\n\",\n       \" 8.4810024645889115,\\n\",\n       \" 8.706283715671649,\\n\",\n       \" 8.5742443320341302,\\n\",\n       \" 8.6031961396124572,\\n\",\n       \" 8.7541019859943603,\\n\",\n       \" 8.8981049343881047,\\n\",\n       \" 9.1199557942662679,\\n\",\n       \" 9.0634315212467769,\\n\",\n       \" 9.0170817804556229,\\n\",\n       \" 8.936251707707612,\\n\",\n       \" 8.8447979331690725,\\n\",\n       \" 8.8924510671958963,\\n\",\n       \" 8.7791685153324366,\\n\",\n       \" 8.8370720416319664,\\n\",\n       \" 8.9438054404963623,\\n\",\n       \" 9.0455691462537509,\\n\",\n       \" 8.9756613136340881,\\n\",\n       \" 8.9782988128879637,\\n\",\n       \" 8.7991923503918912,\\n\",\n       \" 8.8319758268649018,\\n\",\n       \" 8.5466183148245918,\\n\",\n       \" 8.4355524888700018,\\n\",\n       \" 8.3217873270650173,\\n\",\n       \" 8.2988388549950294,\\n\",\n       \" 8.3065803960319577,\\n\",\n       \" 8.4021592910978384,\\n\",\n       \" 8.5870749537099229,\\n\",\n       \" 8.6557881491832518,\\n\",\n       \" 9.0317099927321145,\\n\",\n       \" 9.3410479073250805,\\n\",\n       \" 9.257132790073296,\\n\",\n       \" 9.1141185430142784,\\n\",\n       \" 9.0238654242010554,\\n\",\n       \" 8.9053677378521812,\\n\",\n       \" 8.7573052001405713,\\n\",\n       \" 8.5919558075387883,\\n\",\n       \" 8.5357095650479451,\\n\",\n       \" 8.5705348340574652,\\n\",\n       \" 8.5261801217514801,\\n\",\n       \" 8.455678023573725,\\n\",\n       \" 8.5249425070290421,\\n\",\n       \" 8.5236222570150524,\\n\",\n       \" 8.503959955965918,\\n\",\n       \" 8.4779948267985503,\\n\",\n       \" 8.5056881023953892,\\n\",\n       \" 8.5034824896200227,\\n\",\n       \" 8.4185489627222019,\\n\",\n       \" 8.3965397334449214,\\n\",\n       \" 8.4227469652387406,\\n\",\n       \" 8.6334553104145435,\\n\",\n       \" 8.5475481715345403,\\n\",\n       \" 8.6156735357205285,\\n\",\n       \" 8.4874570101510827,\\n\",\n       \" 8.5989568750146859,\\n\",\n       \" 8.4999619685108208,\\n\",\n       \" 8.4278022041539309,\\n\",\n       \" 8.2926979585328304,\\n\",\n       \" 8.2191610967032283,\\n\",\n       \" 8.2553098502367348,\\n\",\n       \" 8.3580209656298372,\\n\",\n       \" 8.3849307979197505,\\n\",\n       \" 8.5128770984646316,\\n\",\n       \" 8.6936671450390151,\\n\",\n       \" 8.7351396771845877,\\n\",\n       \" 8.9359409027146697,\\n\",\n       \" 8.7476072646596776,\\n\",\n       \" 8.760362013563892,\\n\",\n       \" 8.7813559838988837,\\n\",\n       \" 8.7019480478778419,\\n\",\n       \" 8.5962504827029846,\\n\",\n       \" 8.3097775815425656,\\n\",\n       \" 8.314351872071196,\\n\",\n       \" 8.3332544217005697,\\n\",\n       \" 8.177403143787636,\\n\",\n       \" 8.0370736920569641,\\n\",\n       \" 7.9955316026275227,\\n\",\n       \" 8.1135286130677589,\\n\",\n       \" 8.0999295185881248,\\n\",\n       \" 8.1323977424668836,\\n\",\n       \" 8.353558473235843,\\n\",\n       \" 8.3627913457939798,\\n\",\n       \" 8.2982673496554327,\\n\",\n       \" 8.239889751083922,\\n\",\n       \" 8.2794388368821039,\\n\",\n       \" 8.3151318186046659,\\n\",\n       \" 8.2878949770880226,\\n\",\n       \" 8.3145224376038662,\\n\",\n       \" 8.3217347747334678,\\n\",\n       \" 8.361261606969169,\\n\",\n       \" 8.2482657385797076,\\n\",\n       \" 8.1191631477612169,\\n\",\n       \" 8.0100525958385624,\\n\",\n       \" 7.9554902189860819,\\n\",\n       \" 7.9742993581720665,\\n\",\n       \" 7.8767152934545601,\\n\",\n       \" 7.9164994418923085,\\n\",\n       \" 7.9365820129852329,\\n\",\n       \" 7.9045451847957189,\\n\",\n       \" 7.8760165254064036,\\n\",\n       \" 7.7042965921734918,\\n\",\n       \" 7.6322132401307998,\\n\",\n       \" 7.4676383587877524,\\n\",\n       \" 7.5858334540930628,\\n\",\n       \" 7.5291781811296907,\\n\",\n       \" 7.6096179559688855,\\n\",\n       \" 7.630509550688771,\\n\",\n       \" 7.6094201957988741,\\n\",\n       \" 7.6641815079352149,\\n\",\n       \" 7.6848412585378814,\\n\",\n       \" 7.8911170276009788,\\n\",\n       \" 7.8190718466675859,\\n\",\n       \" 7.8330305627793999,\\n\",\n       \" 7.9387218052772308,\\n\",\n       \" 8.1745324941517552,\\n\",\n       \" 8.384695869685924,\\n\",\n       \" 8.3652442732570798,\\n\",\n       \" 8.398681958037912,\\n\",\n       \" 8.2744982214506173,\\n\",\n       \" 8.1104570473939859,\\n\",\n       \" 8.0677158919087297,\\n\",\n       \" 7.9424607383238817,\\n\",\n       \" 8.0678176000176194,\\n\",\n       \" 8.0501612723240346,\\n\",\n       \" 8.1853794404798172,\\n\",\n       \" 8.2151225058013857,\\n\",\n       \" 8.246360084538626,\\n\",\n       \" 8.1941068591003763,\\n\",\n       \" 8.4321177951631796,\\n\",\n       \" 8.4877223086359805,\\n\",\n       \" 8.4042422357193338,\\n\",\n       \" 8.3366053381759251,\\n\",\n       \" 8.4219905782303037,\\n\",\n       \" 8.397206008853054,\\n\",\n       \" 8.3405830860297705,\\n\",\n       \" 8.3534836349673398,\\n\",\n       \" 8.3344084410325863,\\n\",\n       \" 8.3679514733665776,\\n\",\n       \" 8.2150060140943069,\\n\",\n       \" 8.2782100074905181,\\n\",\n       \" 8.0397544097686939,\\n\",\n       \" 7.8083451503724639,\\n\",\n       \" 7.7759904510853541,\\n\",\n       \" 7.7659556863017114,\\n\",\n       \" 7.8816910861271836,\\n\",\n       \" 7.8284873779591297,\\n\",\n       \" 7.7491053833361532,\\n\",\n       \" 7.7384166631877536,\\n\",\n       \" 7.7749151618182237,\\n\",\n       \" 7.6598817571314335,\\n\",\n       \" 7.7044720656557004,\\n\",\n       \" 7.802719627179008,\\n\",\n       \" 7.826875388505754,\\n\",\n       \" 7.8818001021853403,\\n\",\n       \" 7.8003511199652689,\\n\",\n       \" 7.857051034205834,\\n\",\n       \" 7.7864747767375251,\\n\",\n       \" 7.7862678309626165,\\n\",\n       \" 8.133128993505311,\\n\",\n       \" 8.2698183444256976,\\n\",\n       \" 8.4167558575348203,\\n\",\n       \" 8.383077049640633,\\n\",\n       \" 8.3904754222121767,\\n\",\n       \" 8.1992277975189083,\\n\",\n       \" 7.9908745958752458,\\n\",\n       \" 7.7943533392336741,\\n\",\n       \" 7.8640805782897685,\\n\",\n       \" 7.7894779972708088,\\n\",\n       \" 7.709607920105328,\\n\",\n       \" 7.8026737473801102,\\n\",\n       \" 7.777483277159015,\\n\",\n       \" 7.8719721434556789,\\n\",\n       \" 7.9582558942923693,\\n\",\n       \" 8.1224926189577289,\\n\",\n       \" 8.0170409399506521,\\n\",\n       \" 8.0704090637939032,\\n\",\n       \" 8.079237085478379,\\n\",\n       \" 7.8730172640258562,\\n\",\n       \" 7.958210582937153,\\n\",\n       \" 7.8145807161893641,\\n\",\n       \" 7.7035187304274677,\\n\",\n       \" 7.5795677889528887,\\n\",\n       \" 7.5396208640973876,\\n\",\n       \" 7.653805772717047,\\n\",\n       \" 7.3691106847887298,\\n\",\n       \" 7.5347701137935541,\\n\",\n       \" 7.6050346596434109,\\n\",\n       \" 7.4913792400688708,\\n\",\n       \" 7.5104684964167978,\\n\",\n       \" ...]\"\n      ]\n     },\n     \"execution_count\": 52,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Put all 7-days-ahead predictions into an array\\n\",\n    \"predictions_800_7thday = []\\n\",\n    \"for array in predictions_800_off:\\n\",\n    \"    for week_prediction in array:\\n\",\n    \"        predictions_800_7thday.append(week_prediction[6]) \\n\",\n    \"print(len(predictions_800_7thday))\\n\",\n    \"predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 53,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Prepare dataframe for visualisation\\n\",\n    \"# There are 7000 predictions\\n\",\n    \"bp_final_predictions = bp_ftse[800+6:806+7000]\\n\",\n    \"bp_final_predictions.loc[:,'7d Ahead Pred'] = predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x1198f63c8>\"\n      ]\n     },\n     \"execution_count\": 57,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nKcj/A8gycsG+fw1+AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c91208>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual adjusted close prices\\n\",\n    \"bp_final_predictions.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 55,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x119c77fd0>\"\n      ]\n     },\n     \"execution_count\": 55,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c59550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual prices\\n\",\n    \"# Only first 200 predictions\\n\",\n    \"bp_preds_200 = bp_final_predictions[:200]\\n\",\n    \"bp_preds_200.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/Discarded Notes-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Discarded Notes\\n\",\n    \"\\n\",\n    \"The conversations online talk about how rubbish algorithms like KNN are when KNN was the example using in the ML for Trading class.\\n\",\n    \"\\n\",\n    \"'Unless you model the **Implied Volatility** of the stock, you cannot predict price. The stock price is function a various factors which are mostly known except the Implied volatility. You can model the implied vol using algorithms like **SVM** but not KNN.'[Source: Anoop Vasant Kumar](https://www.quora.com/How-effective-is-the-k-Nearest-Neighbor-algorithm-for-stock-price-prediction).\\n\",\n    \"\\n\",\n    \"THe class also discusses **Reinforcement Learning**, but since your actions don't change the environment...I guess you can model your rewards to be the amount of profit you make. And then it would kind of make sense.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"'The only machine-learning algorithms that I have found to actually work in trading are linear algorithms such as various incarnations of regressions. Everything else tend to overfit to noise. Remember, unlike in fields such as image or speech recognition, financial time series has very low signal-to-noise ratio, and more problematically, probability distributions in finance are often non-stationary. You can read more about this subject in my book Quantitative Trading.' [Source: Ernest Chan, author of Algorithmic Trading](https://www.quora.com/How-can-I-get-started-applying-machine-learning-to-algorithmic-trading).\\n\",\n    \"\\n\",\n    \"- Logistic Regression\\n\",\n    \"- Random Forests (DTs)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"logistic regression (fastest) and random forests (most accurate usually). There are others, such as support vector machines, boosted decision trees,\\n\",\n    \"3-layer neural networks, but these don't offer as good accuracy as random forests (and often slower as \\n\",\n    \"well) or as much speed as logistic regression. In my opinion, the best choice would simply be\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/delete-checkpoint.ipynb",
    "content": "{\n \"cells\": [],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/lse-list-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# LSE list\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### For (1) Finding the stocks that are relevant to BP and (2) Finding out more about BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Contextual Information\\n\",\n    \"I also supplemented this information with a **list of Companies and Securities from the London Stock Exchange** (spreadsheet `list-of-all-securites-ex-debt` from [this page](http://www.londonstockexchange.com/statistics/companies-and-issuers/companies-and-issuers.htm). The spreadsheet includes the following attributes for all securities (excluding debt) that were listed on the LSE as of the end of August 2016:\\n\",\n    \"* Security Start Date, \\n\",\n    \"* Company Name, \\n\",\n    \"* Country of Incorporation, \\n\",\n    \"* LSE Market\\t(UK Main Market, International Main Market, AIM (Alternative Investment Market)...), \\n\",\n    \"* FCA Listing Category (Standard Shares, Standard Debt...) (FCA stands for Financial Conduct Authority), \\n\",\n    \"* ISIN (International Securities Identification Number), \\n\",\n    \"* Security Name (code, e.g. PELS'90' 20/11/17(WORLD BASKET P/WT)GBP1 for Barclays Bank PLC),\\n\",\n    \"* TIDM (stock symbol: Tradable Instrument Display Mnemonic), \\n\",\n    \"* Mkt Cap £m, \\t\\n\",\n    \"* Shares in Issue, \\n\",\n    \"* Industry, \\n\",\n    \"* Supersector, \\n\",\n    \"* Sector, \\n\",\n    \"* Subsector, \\n\",\n    \"* Group (a number, e.g. 8355 for banks), \\n\",\n    \"* MarketSegmentCode, \\n\",\n    \"* MarketSectorCode, and \\n\",\n    \"* Trading Currency (GBX, USD, EUR).\\n\",\n    \"\\n\",\n    \"Not every column of every row of this spreadsheet is filled. There are some blank cells.\\n\",\n    \"\\n\",\n    \"I converted the spreadsheet to a CSV and imported it below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2-Aug-06</td>\\n\",\n       \"      <td>1PM PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00BCDBXK43</td>\\n\",\n       \"      <td>ORD GBP0.1</td>\\n\",\n       \"      <td>OPM</td>\\n\",\n       \"      <td>33.884729</td>\\n\",\n       \"      <td>52,534,463.00</td>\\n\",\n       \"      <td>Financials</td>\\n\",\n       \"      <td>Financial Services</td>\\n\",\n       \"      <td>Financial Services</td>\\n\",\n       \"      <td>Specialty Finance</td>\\n\",\n       \"      <td>8775</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2-Feb-09</td>\\n\",\n       \"      <td>1SPATIAL PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00B09LQS34</td>\\n\",\n       \"      <td>ORD GBP0.01</td>\\n\",\n       \"      <td>SPA</td>\\n\",\n       \"      <td>32.293431</td>\\n\",\n       \"      <td>738,135,558.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Support Services</td>\\n\",\n       \"      <td>Business Support Services</td>\\n\",\n       \"      <td>2791</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>15-Apr-05</td>\\n\",\n       \"      <td>21ST CENTURY TECHNOLOGY PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB0008866310</td>\\n\",\n       \"      <td>ORD GBP0.065</td>\\n\",\n       \"      <td>C21</td>\\n\",\n       \"      <td>1.748245</td>\\n\",\n       \"      <td>93,239,755.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Support Services</td>\\n\",\n       \"      <td>Business Support Services</td>\\n\",\n       \"      <td>2791</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>23-Sep-05</td>\\n\",\n       \"      <td>32RED</td>\\n\",\n       \"      <td>GI</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GI000A0F56M0</td>\\n\",\n       \"      <td>ORD GBP0.002</td>\\n\",\n       \"      <td>TTR</td>\\n\",\n       \"      <td>108.901996</td>\\n\",\n       \"      <td>83,690,295.00</td>\\n\",\n       \"      <td>Consumer Services</td>\\n\",\n       \"      <td>Travel &amp; Leisure</td>\\n\",\n       \"      <td>Travel &amp; Leisure</td>\\n\",\n       \"      <td>Gambling</td>\\n\",\n       \"      <td>5752</td>\\n\",\n       \"      <td>AMSM</td>\\n\",\n       \"      <td>ASM6</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>21-Aug-15</td>\\n\",\n       \"      <td>365 AGILE GROUP PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00BYY8NN14</td>\\n\",\n       \"      <td>ORD GBP0.30</td>\\n\",\n       \"      <td>365</td>\\n\",\n       \"      <td>5.012229</td>\\n\",\n       \"      <td>18,914,073.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Electronic &amp; Electrical Equipment</td>\\n\",\n       \"      <td>Electrical Components &amp; Equipment</td>\\n\",\n       \"      <td>2733</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  Security Start Date                         Company Name  \\\\\\n\",\n       \"0            2-Aug-06  1PM PLC                               \\n\",\n       \"1            2-Feb-09  1SPATIAL PLC                          \\n\",\n       \"2           15-Apr-05  21ST CENTURY TECHNOLOGY PLC           \\n\",\n       \"3           23-Sep-05  32RED                                 \\n\",\n       \"4           21-Aug-15  365 AGILE GROUP PLC                   \\n\",\n       \"\\n\",\n       \"  Country of Incorporation LSE Market FCA Listing Category          ISIN  \\\\\\n\",\n       \"0                       GB        AIM                  NaN  GB00BCDBXK43   \\n\",\n       \"1                       GB        AIM                  NaN  GB00B09LQS34   \\n\",\n       \"2                       GB        AIM                  NaN  GB0008866310   \\n\",\n       \"3                       GI        AIM                  NaN  GI000A0F56M0   \\n\",\n       \"4                       GB        AIM                  NaN  GB00BYY8NN14   \\n\",\n       \"\\n\",\n       \"                              Security Name   TIDM  Mkt Cap £m  \\\\\\n\",\n       \"0  ORD GBP0.1                                OPM     33.884729   \\n\",\n       \"1  ORD GBP0.01                               SPA     32.293431   \\n\",\n       \"2  ORD GBP0.065                              C21      1.748245   \\n\",\n       \"3  ORD GBP0.002                              TTR    108.901996   \\n\",\n       \"4  ORD GBP0.30                               365      5.012229   \\n\",\n       \"\\n\",\n       \"  Shares in Issue           Industry                  Supersector  \\\\\\n\",\n       \"0   52,534,463.00         Financials           Financial Services   \\n\",\n       \"1  738,135,558.00        Industrials  Industrial Goods & Services   \\n\",\n       \"2   93,239,755.00        Industrials  Industrial Goods & Services   \\n\",\n       \"3   83,690,295.00  Consumer Services             Travel & Leisure   \\n\",\n       \"4   18,914,073.00        Industrials  Industrial Goods & Services   \\n\",\n       \"\\n\",\n       \"                              Sector                          Subsector  \\\\\\n\",\n       \"0                 Financial Services                  Specialty Finance   \\n\",\n       \"1                   Support Services          Business Support Services   \\n\",\n       \"2                   Support Services          Business Support Services   \\n\",\n       \"3                   Travel & Leisure                           Gambling   \\n\",\n       \"4  Electronic & Electrical Equipment  Electrical Components & Equipment   \\n\",\n       \"\\n\",\n       \"   Group MarketSegmentCode MarketSectorCode Trading Currency  \\n\",\n       \"0   8775              AIM              AIM               GBX  \\n\",\n       \"1   2791              AIM              AIM               GBX  \\n\",\n       \"2   2791              AIM              AIM               GBX  \\n\",\n       \"3   5752              AMSM             ASM6              GBX  \\n\",\n       \"4   2733              ASQ1             AMQ1              GBX  \"\n      ]\n     },\n     \"execution_count\": 2,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lse_list = pd.read_csv(\\\"list-of-all-securities-ex-debt.csv\\\")\\n\",\n    \"# Delete extra columns of NaNs\\n\",\n    \"for i in range(18,36):\\n\",\n    \"    del lse_list['Unnamed: %s' % str(i)]\\n\",\n    \"lse_list.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>368</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385474</td>\\n\",\n       \"      <td>9% CUM 2ND PRF GBP1</td>\\n\",\n       \"      <td>BP.B</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>5,473,414.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>369</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385250</td>\\n\",\n       \"      <td>8% CUM 1ST PRF GBP1</td>\\n\",\n       \"      <td>BP.A</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>7,232,838.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>370</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB0007980591</td>\\n\",\n       \"      <td>ORD USD0.25</td>\\n\",\n       \"      <td>BP.</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>18,758,751,584.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Security Start Date                         Company Name  \\\\\\n\",\n       \"368           20-Dec-54  BP                                    \\n\",\n       \"369           20-Dec-54  BP                                    \\n\",\n       \"370           20-Dec-54  BP                                    \\n\",\n       \"\\n\",\n       \"    Country of Incorporation      LSE Market  \\\\\\n\",\n       \"368                       GB  UK Main Market   \\n\",\n       \"369                       GB  UK Main Market   \\n\",\n       \"370                       GB  UK Main Market   \\n\",\n       \"\\n\",\n       \"                    FCA Listing Category          ISIN  \\\\\\n\",\n       \"368                      Standard Shares  GB0001385474   \\n\",\n       \"369                      Standard Shares  GB0001385250   \\n\",\n       \"370  Premium Equity Commercial Companies  GB0007980591   \\n\",\n       \"\\n\",\n       \"                                Security Name  TIDM    Mkt Cap £m  \\\\\\n\",\n       \"368  9% CUM 2ND PRF GBP1                       BP.B  80288.531993   \\n\",\n       \"369  8% CUM 1ST PRF GBP1                       BP.A  80288.531993   \\n\",\n       \"370  ORD USD0.25                               BP.   80288.531993   \\n\",\n       \"\\n\",\n       \"       Shares in Issue   Industry Supersector               Sector  \\\\\\n\",\n       \"368       5,473,414.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"369       7,232,838.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"370  18,758,751,584.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"\\n\",\n       \"                Subsector  Group MarketSegmentCode MarketSectorCode  \\\\\\n\",\n       \"368  Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"369  Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"370  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"\\n\",\n       \"    Trading Currency  \\n\",\n       \"368              GBX  \\n\",\n       \"369              GBX  \\n\",\n       \"370              GBX  \"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lse_list[368:371]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And let's look at all the stocks that are in that group:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Number of companies:  27\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>368</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385474</td>\\n\",\n       \"      <td>9% CUM 2ND PRF GBP1</td>\\n\",\n       \"      <td>BP.B</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>5,473,414.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>369</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385250</td>\\n\",\n       \"      <td>8% CUM 1ST PRF GBP1</td>\\n\",\n       \"      <td>BP.A</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>7,232,838.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>370</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB0007980591</td>\\n\",\n       \"      <td>ORD USD0.25</td>\\n\",\n       \"      <td>BP.</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>18,758,751,584.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>499</th>\\n\",\n       \"      <td>18-Oct-00</td>\\n\",\n       \"      <td>CHINA PETROLEUM &amp; CHEMICAL CORP</td>\\n\",\n       \"      <td>CN</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US16941R1086</td>\\n\",\n       \"      <td>ADS EACH REP 100'H'SHS CNY1</td>\\n\",\n       \"      <td>SNP</td>\\n\",\n       \"      <td>8820.761210</td>\\n\",\n       \"      <td>192,975,620.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLU</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>996</th>\\n\",\n       \"      <td>15-Nov-99</td>\\n\",\n       \"      <td>GAIL(INDIA)</td>\\n\",\n       \"      <td>IN</td>\\n\",\n       \"      <td>PSM</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US36268T1079</td>\\n\",\n       \"      <td>GDR EACH REP 6 ORD INR10 144A</td>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INPE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>997</th>\\n\",\n       \"      <td>15-Nov-99</td>\\n\",\n       \"      <td>GAIL(INDIA)</td>\\n\",\n       \"      <td>IN</td>\\n\",\n       \"      <td>PSM</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US36268T2069</td>\\n\",\n       \"      <td>GDR EACH REP 6 ORD INR10 REG'S'</td>\\n\",\n       \"      <td>GAID</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>25,833,333.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>IPHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1009</th>\\n\",\n       \"      <td>12-Jun-06</td>\\n\",\n       \"      <td>GAZPROM NEFT PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US36829G1076</td>\\n\",\n       \"      <td>LEVEL 1 ADR EACH REPR 5 ORD SHS</td>\\n\",\n       \"      <td>GAZ</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>20,348,882.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>INHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1010</th>\\n\",\n       \"      <td>28-Oct-96</td>\\n\",\n       \"      <td>GAZPROM OAO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US3682871088</td>\\n\",\n       \"      <td>ADS EACH REP 10 ORD REGD 144A</td>\\n\",\n       \"      <td>81JK</td>\\n\",\n       \"      <td>36475.696309</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1011</th>\\n\",\n       \"      <td>28-Oct-96</td>\\n\",\n       \"      <td>GAZPROM OAO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US3682872078</td>\\n\",\n       \"      <td>ADS EACH REPR 2 ORD SHS</td>\\n\",\n       \"      <td>OGZD</td>\\n\",\n       \"      <td>36475.696309</td>\\n\",\n       \"      <td>11,836,756,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1083</th>\\n\",\n       \"      <td>27-Oct-14</td>\\n\",\n       \"      <td>GREEN DRAGON GAS LTD</td>\\n\",\n       \"      <td>KY</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>KYG409381053</td>\\n\",\n       \"      <td>ORD USD0.0001 (DI)</td>\\n\",\n       \"      <td>GDG</td>\\n\",\n       \"      <td>359.348630</td>\\n\",\n       \"      <td>142,316,289.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSMU</td>\\n\",\n       \"      <td>SMEW</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1164</th>\\n\",\n       \"      <td>30-Jun-98</td>\\n\",\n       \"      <td>HELLENIC PETROLEUM SA</td>\\n\",\n       \"      <td>GR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US4233231046</td>\\n\",\n       \"      <td>GDS EACH REPR 1 ORD SH'144A'</td>\\n\",\n       \"      <td>98LQ</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1165</th>\\n\",\n       \"      <td>30-Jun-98</td>\\n\",\n       \"      <td>HELLENIC PETROLEUM SA</td>\\n\",\n       \"      <td>GR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US4233232036</td>\\n\",\n       \"      <td>GDS EACH REPR 1 ORD REG'S'</td>\\n\",\n       \"      <td>HLPD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>23,215,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1562</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US69343P2048</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD RUB0.025 SPON 144A</td>\\n\",\n       \"      <td>LKOE</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>3,450,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1563</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US69343P1057</td>\\n\",\n       \"      <td>ADR EACH REPR 1 ORD RUB0.025 SPON</td>\\n\",\n       \"      <td>LKOD</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>850,563,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1564</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>RU0009024277</td>\\n\",\n       \"      <td>RUB0.025</td>\\n\",\n       \"      <td>LKOH</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>850,563,255.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSX4</td>\\n\",\n       \"      <td>SXSN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1582</th>\\n\",\n       \"      <td>27-Sep-04</td>\\n\",\n       \"      <td>MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR</td>\\n\",\n       \"      <td>HU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US6084642023</td>\\n\",\n       \"      <td>ADR EACH REP 0.50 ORD SHS(REG'S')</td>\\n\",\n       \"      <td>MOLD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>INLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1601</th>\\n\",\n       \"      <td>2-Jun-95</td>\\n\",\n       \"      <td>MANDO MACHINERY CORP</td>\\n\",\n       \"      <td>KR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>USY576241019</td>\\n\",\n       \"      <td>GDR EACH REP 1/2 ORD</td>\\n\",\n       \"      <td>MNMD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>806,234.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1602</th>\\n\",\n       \"      <td>2-Jun-95</td>\\n\",\n       \"      <td>MANDO MACHINERY CORP</td>\\n\",\n       \"      <td>KR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US5626651096</td>\\n\",\n       \"      <td>GDR EACH REPR 1/2 SHARE(144A)</td>\\n\",\n       \"      <td>05IS</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2177</th>\\n\",\n       \"      <td>19-Jul-06</td>\\n\",\n       \"      <td>ROSNEFT OIL CO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US67812M1080</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD '144A'</td>\\n\",\n       \"      <td>40XT</td>\\n\",\n       \"      <td>38202.664097</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2178</th>\\n\",\n       \"      <td>19-Jul-06</td>\\n\",\n       \"      <td>ROSNEFT OIL CO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US67812M2070</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD 'REGS'</td>\\n\",\n       \"      <td>ROSN</td>\\n\",\n       \"      <td>38202.664097</td>\\n\",\n       \"      <td>9,597,430,705.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2204</th>\\n\",\n       \"      <td>20-Jul-05</td>\\n\",\n       \"      <td>ROYAL DUTCH SHELL</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB00B03MLX29</td>\\n\",\n       \"      <td>'A'ORD EUR0.07</td>\\n\",\n       \"      <td>RDSA</td>\\n\",\n       \"      <td>153220.715397</td>\\n\",\n       \"      <td>4,325,899,655.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2205</th>\\n\",\n       \"      <td>20-Jul-05</td>\\n\",\n       \"      <td>ROYAL DUTCH SHELL</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB00B03MM408</td>\\n\",\n       \"      <td>ORD EUR0.07 B</td>\\n\",\n       \"      <td>RDSB</td>\\n\",\n       \"      <td>153220.715397</td>\\n\",\n       \"      <td>3,745,486,731.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2222</th>\\n\",\n       \"      <td>8-Apr-11</td>\\n\",\n       \"      <td>SACOIL HLDGS LTD</td>\\n\",\n       \"      <td>ZA</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>ZAE000127460</td>\\n\",\n       \"      <td>NPV(DI)</td>\\n\",\n       \"      <td>SAC</td>\\n\",\n       \"      <td>30.352694</td>\\n\",\n       \"      <td>3,195,020,413.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2470</th>\\n\",\n       \"      <td>27-Sep-04</td>\\n\",\n       \"      <td>SURGUTNEFTEGAZ</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US8688612048</td>\\n\",\n       \"      <td>ADR EACH REPR 10 ORD</td>\\n\",\n       \"      <td>SGGD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>340,597,744.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>INHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2504</th>\\n\",\n       \"      <td>13-Dec-96</td>\\n\",\n       \"      <td>TATNEFT PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US8766292051</td>\\n\",\n       \"      <td>ADR EACH REP 6 ORD SHS REGS</td>\\n\",\n       \"      <td>ATAD</td>\\n\",\n       \"      <td>8160.571386</td>\\n\",\n       \"      <td>363,116,666.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2564</th>\\n\",\n       \"      <td>26-Sep-73</td>\\n\",\n       \"      <td>TOTAL SA</td>\\n\",\n       \"      <td>FR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>FR0000120271</td>\\n\",\n       \"      <td>EUR2.5</td>\\n\",\n       \"      <td>TTA</td>\\n\",\n       \"      <td>88787.079286</td>\\n\",\n       \"      <td>2,444,133,158.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSMU</td>\\n\",\n       \"      <td>SMEU</td>\\n\",\n       \"      <td>EUR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2797</th>\\n\",\n       \"      <td>18-Jun-14</td>\\n\",\n       \"      <td>ZOLTAV RESOURCES INC</td>\\n\",\n       \"      <td>KY</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>KYG9895N1198</td>\\n\",\n       \"      <td>ORD USD0.2 (DI)</td>\\n\",\n       \"      <td>ZOL</td>\\n\",\n       \"      <td>31.883712</td>\\n\",\n       \"      <td>141,705,386.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"     Security Start Date                         Company Name  \\\\\\n\",\n       \"368            20-Dec-54  BP                                    \\n\",\n       \"369            20-Dec-54  BP                                    \\n\",\n       \"370            20-Dec-54  BP                                    \\n\",\n       \"499            18-Oct-00  CHINA PETROLEUM & CHEMICAL CORP       \\n\",\n       \"996            15-Nov-99  GAIL(INDIA)                           \\n\",\n       \"997            15-Nov-99  GAIL(INDIA)                           \\n\",\n       \"1009           12-Jun-06  GAZPROM NEFT PJSC                     \\n\",\n       \"1010           28-Oct-96  GAZPROM OAO                           \\n\",\n       \"1011           28-Oct-96  GAZPROM OAO                           \\n\",\n       \"1083           27-Oct-14  GREEN DRAGON GAS LTD                  \\n\",\n       \"1164           30-Jun-98  HELLENIC PETROLEUM SA                 \\n\",\n       \"1165           30-Jun-98  HELLENIC PETROLEUM SA                 \\n\",\n       \"1562            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1563            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1564            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1582           27-Sep-04  MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR   \\n\",\n       \"1601            2-Jun-95  MANDO MACHINERY CORP                  \\n\",\n       \"1602            2-Jun-95  MANDO MACHINERY CORP                  \\n\",\n       \"2177           19-Jul-06  ROSNEFT OIL CO                        \\n\",\n       \"2178           19-Jul-06  ROSNEFT OIL CO                        \\n\",\n       \"2204           20-Jul-05  ROYAL DUTCH SHELL                     \\n\",\n       \"2205           20-Jul-05  ROYAL DUTCH SHELL                     \\n\",\n       \"2222            8-Apr-11  SACOIL HLDGS LTD                      \\n\",\n       \"2470           27-Sep-04  SURGUTNEFTEGAZ                        \\n\",\n       \"2504           13-Dec-96  TATNEFT PJSC                          \\n\",\n       \"2564           26-Sep-73  TOTAL SA                              \\n\",\n       \"2797           18-Jun-14  ZOLTAV RESOURCES INC                  \\n\",\n       \"\\n\",\n       \"     Country of Incorporation                 LSE Market  \\\\\\n\",\n       \"368                        GB             UK Main Market   \\n\",\n       \"369                        GB             UK Main Market   \\n\",\n       \"370                        GB             UK Main Market   \\n\",\n       \"499                        CN  International Main Market   \\n\",\n       \"996                        IN                        PSM   \\n\",\n       \"997                        IN                        PSM   \\n\",\n       \"1009                       RU               Trading Only   \\n\",\n       \"1010                       RU  International Main Market   \\n\",\n       \"1011                       RU  International Main Market   \\n\",\n       \"1083                       KY  International Main Market   \\n\",\n       \"1164                       GR  International Main Market   \\n\",\n       \"1165                       GR  International Main Market   \\n\",\n       \"1562                       RU  International Main Market   \\n\",\n       \"1563                       RU  International Main Market   \\n\",\n       \"1564                       RU  International Main Market   \\n\",\n       \"1582                       HU               Trading Only   \\n\",\n       \"1601                       KR  International Main Market   \\n\",\n       \"1602                       KR  International Main Market   \\n\",\n       \"2177                       RU  International Main Market   \\n\",\n       \"2178                       RU  International Main Market   \\n\",\n       \"2204                       GB             UK Main Market   \\n\",\n       \"2205                       GB             UK Main Market   \\n\",\n       \"2222                       ZA                        AIM   \\n\",\n       \"2470                       RU               Trading Only   \\n\",\n       \"2504                       RU  International Main Market   \\n\",\n       \"2564                       FR  International Main Market   \\n\",\n       \"2797                       KY                        AIM   \\n\",\n       \"\\n\",\n       \"                     FCA Listing Category          ISIN  \\\\\\n\",\n       \"368                       Standard Shares  GB0001385474   \\n\",\n       \"369                       Standard Shares  GB0001385250   \\n\",\n       \"370   Premium Equity Commercial Companies  GB0007980591   \\n\",\n       \"499                         Standard GDRs  US16941R1086   \\n\",\n       \"996                         Standard GDRs  US36268T1079   \\n\",\n       \"997                         Standard GDRs  US36268T2069   \\n\",\n       \"1009                                  NaN  US36829G1076   \\n\",\n       \"1010                        Standard GDRs  US3682871088   \\n\",\n       \"1011                        Standard GDRs  US3682872078   \\n\",\n       \"1083                      Standard Shares  KYG409381053   \\n\",\n       \"1164                        Standard GDRs  US4233231046   \\n\",\n       \"1165                        Standard GDRs  US4233232036   \\n\",\n       \"1562                        Standard GDRs  US69343P2048   \\n\",\n       \"1563                        Standard GDRs  US69343P1057   \\n\",\n       \"1564                      Standard Shares  RU0009024277   \\n\",\n       \"1582                                  NaN  US6084642023   \\n\",\n       \"1601                        Standard GDRs  USY576241019   \\n\",\n       \"1602                        Standard GDRs  US5626651096   \\n\",\n       \"2177                        Standard GDRs  US67812M1080   \\n\",\n       \"2178                        Standard GDRs  US67812M2070   \\n\",\n       \"2204  Premium Equity Commercial Companies  GB00B03MLX29   \\n\",\n       \"2205  Premium Equity Commercial Companies  GB00B03MM408   \\n\",\n       \"2222                                  NaN  ZAE000127460   \\n\",\n       \"2470                                  NaN  US8688612048   \\n\",\n       \"2504                        Standard GDRs  US8766292051   \\n\",\n       \"2564                      Standard Shares  FR0000120271   \\n\",\n       \"2797                                  NaN  KYG9895N1198   \\n\",\n       \"\\n\",\n       \"                                 Security Name   TIDM     Mkt Cap £m  \\\\\\n\",\n       \"368   9% CUM 2ND PRF GBP1                        BP.B   80288.531993   \\n\",\n       \"369   8% CUM 1ST PRF GBP1                        BP.A   80288.531993   \\n\",\n       \"370   ORD USD0.25                                BP.    80288.531993   \\n\",\n       \"499   ADS EACH REP 100'H'SHS CNY1                SNP     8820.761210   \\n\",\n       \"996   GDR EACH REP 6 ORD INR10 144A              GAIA       0.000000   \\n\",\n       \"997   GDR EACH REP 6 ORD INR10 REG'S'            GAID       0.000000   \\n\",\n       \"1009  LEVEL 1 ADR EACH REPR 5 ORD SHS            GAZ        0.000000   \\n\",\n       \"1010  ADS EACH REP 10 ORD REGD 144A              81JK   36475.696309   \\n\",\n       \"1011  ADS EACH REPR 2 ORD SHS                    OGZD   36475.696309   \\n\",\n       \"1083  ORD USD0.0001 (DI)                         GDG      359.348630   \\n\",\n       \"1164  GDS EACH REPR 1 ORD SH'144A'               98LQ       0.000000   \\n\",\n       \"1165  GDS EACH REPR 1 ORD REG'S'                 HLPD       0.000000   \\n\",\n       \"1562  GDR EACH REPR 1 ORD RUB0.025 SPON 144A     LKOE   58934.583841   \\n\",\n       \"1563  ADR EACH REPR 1 ORD RUB0.025 SPON          LKOD   58934.583841   \\n\",\n       \"1564  RUB0.025                                   LKOH   58934.583841   \\n\",\n       \"1582  ADR EACH REP 0.50 ORD SHS(REG'S')          MOLD       0.000000   \\n\",\n       \"1601  GDR EACH REP 1/2 ORD                       MNMD       0.000000   \\n\",\n       \"1602  GDR EACH REPR 1/2 SHARE(144A)              05IS       0.000000   \\n\",\n       \"2177  GDR EACH REPR 1 ORD '144A'                 40XT   38202.664097   \\n\",\n       \"2178  GDR EACH REPR 1 ORD 'REGS'                 ROSN   38202.664097   \\n\",\n       \"2204  'A'ORD EUR0.07                             RDSA  153220.715397   \\n\",\n       \"2205  ORD EUR0.07 B                              RDSB  153220.715397   \\n\",\n       \"2222  NPV(DI)                                   SAC        30.352694   \\n\",\n       \"2470  ADR EACH REPR 10 ORD                       SGGD       0.000000   \\n\",\n       \"2504  ADR EACH REP 6 ORD SHS REGS                ATAD    8160.571386   \\n\",\n       \"2564  EUR2.5                                     TTA    88787.079286   \\n\",\n       \"2797  ORD USD0.2 (DI)                           ZOL        31.883712   \\n\",\n       \"\\n\",\n       \"        Shares in Issue   Industry Supersector               Sector  \\\\\\n\",\n       \"368        5,473,414.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"369        7,232,838.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"370   18,758,751,584.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"499      192,975,620.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"996                0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"997       25,833,333.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1009      20,348,882.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1010               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1011  11,836,756,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1083     142,316,289.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1164               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1165      23,215,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1562       3,450,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1563     850,563,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1564     850,563,255.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1582               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1601         806,234.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1602               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2177               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2178   9,597,430,705.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2204   4,325,899,655.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2205   3,745,486,731.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2222   3,195,020,413.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2470     340,597,744.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2504     363,116,666.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2564   2,444,133,158.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2797     141,705,386.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"\\n\",\n       \"                 Subsector  Group MarketSegmentCode MarketSectorCode  \\\\\\n\",\n       \"368   Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"369   Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"370   Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"499   Integrated Oil & Gas    537              IOBU             LLLU   \\n\",\n       \"996   Integrated Oil & Gas    537              MISC             INPE   \\n\",\n       \"997   Integrated Oil & Gas    537              IOBE             IPHE   \\n\",\n       \"1009  Integrated Oil & Gas    537              IOBE             INHE   \\n\",\n       \"1010  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1011  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"1083  Integrated Oil & Gas    537              SSMU             SMEW   \\n\",\n       \"1164  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1165  Integrated Oil & Gas    537              IOBU             LLLN   \\n\",\n       \"1562  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1563  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"1564  Integrated Oil & Gas    537              SSX4             SXSN   \\n\",\n       \"1582  Integrated Oil & Gas    537              IOBU             INLN   \\n\",\n       \"1601  Integrated Oil & Gas    537              IOBU             LLLN   \\n\",\n       \"1602  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"2177  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"2178  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"2204  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"2205  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"2222  Integrated Oil & Gas    537              ASQ1             AMQ1   \\n\",\n       \"2470  Integrated Oil & Gas    537              IOBE             INHE   \\n\",\n       \"2504  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"2564  Integrated Oil & Gas    537              SSMU             SMEU   \\n\",\n       \"2797  Integrated Oil & Gas    537              ASQ1             AMQ1   \\n\",\n       \"\\n\",\n       \"     Trading Currency  \\n\",\n       \"368               GBX  \\n\",\n       \"369               GBX  \\n\",\n       \"370               GBX  \\n\",\n       \"499               USD  \\n\",\n       \"996               USD  \\n\",\n       \"997               USD  \\n\",\n       \"1009              USD  \\n\",\n       \"1010              USD  \\n\",\n       \"1011              USD  \\n\",\n       \"1083              GBX  \\n\",\n       \"1164              USD  \\n\",\n       \"1165              USD  \\n\",\n       \"1562              USD  \\n\",\n       \"1563              USD  \\n\",\n       \"1564              USD  \\n\",\n       \"1582              USD  \\n\",\n       \"1601              USD  \\n\",\n       \"1602              USD  \\n\",\n       \"2177              USD  \\n\",\n       \"2178              USD  \\n\",\n       \"2204              GBX  \\n\",\n       \"2205              GBX  \\n\",\n       \"2222              GBX  \\n\",\n       \"2470              USD  \\n\",\n       \"2504              USD  \\n\",\n       \"2564              EUR  \\n\",\n       \"2797              GBX  \"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"print(\\\"Number of companies: \\\", len(lse_list[lse_list['Group'] == 537]))\\n\",\n    \"lse_list[lse_list['Group'] == 537]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array(['BP                                 ',\\n\",\n       \"       'CHINA PETROLEUM & CHEMICAL CORP    ',\\n\",\n       \"       'GAIL(INDIA)                        ',\\n\",\n       \"       'GAZPROM NEFT PJSC                  ',\\n\",\n       \"       'GAZPROM OAO                        ',\\n\",\n       \"       'GREEN DRAGON GAS LTD               ',\\n\",\n       \"       'HELLENIC PETROLEUM SA              ',\\n\",\n       \"       'LUKOIL PJSC                        ',\\n\",\n       \"       'MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR',\\n\",\n       \"       'MANDO MACHINERY CORP               ',\\n\",\n       \"       'ROSNEFT OIL CO                     ',\\n\",\n       \"       'ROYAL DUTCH SHELL                  ',\\n\",\n       \"       'SACOIL HLDGS LTD                   ',\\n\",\n       \"       'SURGUTNEFTEGAZ                     ',\\n\",\n       \"       'TATNEFT PJSC                       ',\\n\",\n       \"       'TOTAL SA                           ',\\n\",\n       \"       'ZOLTAV RESOURCES INC               '], dtype=object)\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Print only company names\\n\",\n    \"lse_list[lse_list['Group'] == 537]['Company Name'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'df' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-6-c3e9646facf6>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mcompanies\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mdf\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m'Symbol'\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0munique\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      2\\u001b[0m \\u001b[0mcompanies\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'df' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"companies = df['Symbol'].unique()\\n\",\n    \"companies\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"OMG do I have to compile the freaking FTSE100 myself??\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>ticker</th>\\n\",\n       \"      <th>name</th>\\n\",\n       \"      <th>premium_code</th>\\n\",\n       \"      <th>free_code</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>ADN</td>\\n\",\n       \"      <td>Aberdeen Asset Management</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ADN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>ADM</td>\\n\",\n       \"      <td>Admiral Group</td>\\n\",\n       \"      <td>EOD/ADM</td>\\n\",\n       \"      <td>GOOG/LON_ADM</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>AGK</td>\\n\",\n       \"      <td>Aggreko</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_AGK</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>AMEC</td>\\n\",\n       \"      <td>AMEC</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_AMEC</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>AAL</td>\\n\",\n       \"      <td>Anglo American plc</td>\\n\",\n       \"      <td>EOD/AAL</td>\\n\",\n       \"      <td>GOOG/LON_AAL</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>ANTO</td>\\n\",\n       \"      <td>Antofagasta</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ANTO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>ARM</td>\\n\",\n       \"      <td>ARM Holdings</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ARM</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>ABF</td>\\n\",\n       \"      <td>Associated British Foods</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ABF</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>AZN</td>\\n\",\n       \"      <td>AstraZeneca</td>\\n\",\n       \"      <td>EOD/AZN</td>\\n\",\n       \"      <td>GOOG/LON_AZN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>AV</td>\\n\",\n       \"      <td>Aviva</td>\\n\",\n       \"      <td>EOD/AV</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>BAB</td>\\n\",\n       \"      <td>Babcock International</td>\\n\",\n       \"      <td>EOD/BAB</td>\\n\",\n       \"      <td>GOOG/LON_BAB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>11</th>\\n\",\n       \"      <td>BA</td>\\n\",\n       \"      <td>BAE Systems</td>\\n\",\n       \"      <td>EOD/BA</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>12</th>\\n\",\n       \"      <td>BARC</td>\\n\",\n       \"      <td>Barclays</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BARC</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13</th>\\n\",\n       \"      <td>BG</td>\\n\",\n       \"      <td>BG Group</td>\\n\",\n       \"      <td>EOD/BG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>14</th>\\n\",\n       \"      <td>BLT</td>\\n\",\n       \"      <td>BHP Billiton</td>\\n\",\n       \"      <td>EOD/BLT</td>\\n\",\n       \"      <td>GOOG/LON_BLT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>15</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>EOD/BP</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>16</th>\\n\",\n       \"      <td>BTI</td>\\n\",\n       \"      <td>British American Tobacco</td>\\n\",\n       \"      <td>EOD/BTI</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>17</th>\\n\",\n       \"      <td>BLND</td>\\n\",\n       \"      <td>British Land Co</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BLND</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>18</th>\\n\",\n       \"      <td>BSY</td>\\n\",\n       \"      <td>BSkyB</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BSY</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>19</th>\\n\",\n       \"      <td>BT_A</td>\\n\",\n       \"      <td>BT Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BT_A</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>20</th>\\n\",\n       \"      <td>BNZL</td>\\n\",\n       \"      <td>Bunzl</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BNZL</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>21</th>\\n\",\n       \"      <td>BRBY</td>\\n\",\n       \"      <td>Burberry Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BRBY</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>22</th>\\n\",\n       \"      <td>CPI</td>\\n\",\n       \"      <td>Capita</td>\\n\",\n       \"      <td>EOD/CPI</td>\\n\",\n       \"      <td>GOOG/LON_CPI</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>23</th>\\n\",\n       \"      <td>CUK</td>\\n\",\n       \"      <td>Carnival plc</td>\\n\",\n       \"      <td>EOD/CUK</td>\\n\",\n       \"      <td>GOOG/LON_CUK</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>24</th>\\n\",\n       \"      <td>CNA</td>\\n\",\n       \"      <td>Centrica</td>\\n\",\n       \"      <td>EOD/CNA</td>\\n\",\n       \"      <td>GOOG/LON_CNA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25</th>\\n\",\n       \"      <td>CCH</td>\\n\",\n       \"      <td>Coca-Cola HBC AG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>26</th>\\n\",\n       \"      <td>CPG</td>\\n\",\n       \"      <td>Compass Group</td>\\n\",\n       \"      <td>EOD/CPG</td>\\n\",\n       \"      <td>GOOG/LON_CPG</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>27</th>\\n\",\n       \"      <td>CRH</td>\\n\",\n       \"      <td>CRH plc</td>\\n\",\n       \"      <td>EOD/CRH</td>\\n\",\n       \"      <td>GOOG/LON_CRH</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>28</th>\\n\",\n       \"      <td>CRDA</td>\\n\",\n       \"      <td>Croda International</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_CRDA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>29</th>\\n\",\n       \"      <td>DGE</td>\\n\",\n       \"      <td>Diageo</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_DGE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>68</th>\\n\",\n       \"      <td>RIO</td>\\n\",\n       \"      <td>Rio Tinto Group</td>\\n\",\n       \"      <td>EOD/RIO</td>\\n\",\n       \"      <td>GOOG/LON_RIO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>69</th>\\n\",\n       \"      <td>RR</td>\\n\",\n       \"      <td>Rolls-Royce Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>70</th>\\n\",\n       \"      <td>RBS</td>\\n\",\n       \"      <td>Royal Bank of Scotland Group</td>\\n\",\n       \"      <td>EOD/RBS</td>\\n\",\n       \"      <td>GOOG/LON_RBS</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>71</th>\\n\",\n       \"      <td>RDSA</td>\\n\",\n       \"      <td>Royal Dutch Shell</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_RDSA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>72</th>\\n\",\n       \"      <td>RSA</td>\\n\",\n       \"      <td>RSA Insurance Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_RSA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>73</th>\\n\",\n       \"      <td>SAB</td>\\n\",\n       \"      <td>SABMiller</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SAB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>74</th>\\n\",\n       \"      <td>SGE</td>\\n\",\n       \"      <td>Sage Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SGE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>SDR</td>\\n\",\n       \"      <td>Schroders</td>\\n\",\n       \"      <td>EOD/SDR</td>\\n\",\n       \"      <td>GOOG/LON_SDR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>76</th>\\n\",\n       \"      <td>SRP</td>\\n\",\n       \"      <td>Serco</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SRP</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>77</th>\\n\",\n       \"      <td>SVT</td>\\n\",\n       \"      <td>Severn Trent</td>\\n\",\n       \"      <td>EOD/SVT</td>\\n\",\n       \"      <td>GOOG/LON_SVT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>78</th>\\n\",\n       \"      <td>SHPG</td>\\n\",\n       \"      <td>Shire plc</td>\\n\",\n       \"      <td>EOD/SHPG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>79</th>\\n\",\n       \"      <td>SNN</td>\\n\",\n       \"      <td>Smith &amp; Nephew</td>\\n\",\n       \"      <td>EOD/SNN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>80</th>\\n\",\n       \"      <td>SMIN</td>\\n\",\n       \"      <td>Smiths Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SMIN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>81</th>\\n\",\n       \"      <td>SSE</td>\\n\",\n       \"      <td>SSE plc</td>\\n\",\n       \"      <td>EOD/SSE</td>\\n\",\n       \"      <td>GOOG/LON_SSE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>82</th>\\n\",\n       \"      <td>STAN</td>\\n\",\n       \"      <td>Standard Chartered</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_STAN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>83</th>\\n\",\n       \"      <td>SL</td>\\n\",\n       \"      <td>Standard Life</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>84</th>\\n\",\n       \"      <td>TATE</td>\\n\",\n       \"      <td>Tate &amp; Lyle</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_TATE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>85</th>\\n\",\n       \"      <td>TSCO</td>\\n\",\n       \"      <td>Tesco</td>\\n\",\n       \"      <td>EOD/TSCO</td>\\n\",\n       \"      <td>GOOG/LON_TSCO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>86</th>\\n\",\n       \"      <td>TT</td>\\n\",\n       \"      <td>TUI Travel</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>87</th>\\n\",\n       \"      <td>TLW</td>\\n\",\n       \"      <td>Tullow Oil</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_TLW</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>88</th>\\n\",\n       \"      <td>ULVR</td>\\n\",\n       \"      <td>Unilever</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ULVR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>89</th>\\n\",\n       \"      <td>UU</td>\\n\",\n       \"      <td>United Utilities</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>90</th>\\n\",\n       \"      <td>VED</td>\\n\",\n       \"      <td>Vedanta Resources</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_VED</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>91</th>\\n\",\n       \"      <td>VOD</td>\\n\",\n       \"      <td>Vodafone Group</td>\\n\",\n       \"      <td>EOD/VOD</td>\\n\",\n       \"      <td>GOOG/LON_VOD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>92</th>\\n\",\n       \"      <td>WEIR</td>\\n\",\n       \"      <td>Weir Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WEIR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>93</th>\\n\",\n       \"      <td>WTB</td>\\n\",\n       \"      <td>Whitbread</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WTB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>94</th>\\n\",\n       \"      <td>WOS</td>\\n\",\n       \"      <td>Wolseley plc</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WOS</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>95</th>\\n\",\n       \"      <td>WG_</td>\\n\",\n       \"      <td>Wood Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WG_</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>96</th>\\n\",\n       \"      <td>WPP</td>\\n\",\n       \"      <td>WPP plc</td>\\n\",\n       \"      <td>EOD/WPP</td>\\n\",\n       \"      <td>GOOG/LON_WPP</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>97</th>\\n\",\n       \"      <td>XTA</td>\\n\",\n       \"      <td>Xstrata</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_XTA</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>98 rows × 4 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   ticker                          name premium_code      free_code\\n\",\n       \"0     ADN     Aberdeen Asset Management          NaN   GOOG/LON_ADN\\n\",\n       \"1     ADM                 Admiral Group      EOD/ADM   GOOG/LON_ADM\\n\",\n       \"2     AGK                       Aggreko          NaN   GOOG/LON_AGK\\n\",\n       \"3    AMEC                          AMEC          NaN  GOOG/LON_AMEC\\n\",\n       \"4     AAL            Anglo American plc      EOD/AAL   GOOG/LON_AAL\\n\",\n       \"5    ANTO                   Antofagasta          NaN  GOOG/LON_ANTO\\n\",\n       \"6     ARM                  ARM Holdings          NaN   GOOG/LON_ARM\\n\",\n       \"7     ABF      Associated British Foods          NaN   GOOG/LON_ABF\\n\",\n       \"8     AZN                   AstraZeneca      EOD/AZN   GOOG/LON_AZN\\n\",\n       \"9      AV                         Aviva       EOD/AV            NaN\\n\",\n       \"10    BAB         Babcock International      EOD/BAB   GOOG/LON_BAB\\n\",\n       \"11     BA                   BAE Systems       EOD/BA            NaN\\n\",\n       \"12   BARC                      Barclays          NaN  GOOG/LON_BARC\\n\",\n       \"13     BG                      BG Group       EOD/BG            NaN\\n\",\n       \"14    BLT                  BHP Billiton      EOD/BLT   GOOG/LON_BLT\\n\",\n       \"15     BP                            BP       EOD/BP            NaN\\n\",\n       \"16    BTI      British American Tobacco      EOD/BTI            NaN\\n\",\n       \"17   BLND               British Land Co          NaN  GOOG/LON_BLND\\n\",\n       \"18    BSY                         BSkyB          NaN   GOOG/LON_BSY\\n\",\n       \"19   BT_A                      BT Group          NaN  GOOG/LON_BT_A\\n\",\n       \"20   BNZL                         Bunzl          NaN  GOOG/LON_BNZL\\n\",\n       \"21   BRBY                Burberry Group          NaN  GOOG/LON_BRBY\\n\",\n       \"22    CPI                        Capita      EOD/CPI   GOOG/LON_CPI\\n\",\n       \"23    CUK                  Carnival plc      EOD/CUK   GOOG/LON_CUK\\n\",\n       \"24    CNA                      Centrica      EOD/CNA   GOOG/LON_CNA\\n\",\n       \"25    CCH              Coca-Cola HBC AG          NaN            NaN\\n\",\n       \"26    CPG                 Compass Group      EOD/CPG   GOOG/LON_CPG\\n\",\n       \"27    CRH                       CRH plc      EOD/CRH   GOOG/LON_CRH\\n\",\n       \"28   CRDA           Croda International          NaN  GOOG/LON_CRDA\\n\",\n       \"29    DGE                        Diageo          NaN   GOOG/LON_DGE\\n\",\n       \"..    ...                           ...          ...            ...\\n\",\n       \"68    RIO               Rio Tinto Group      EOD/RIO   GOOG/LON_RIO\\n\",\n       \"69     RR             Rolls-Royce Group          NaN            NaN\\n\",\n       \"70    RBS  Royal Bank of Scotland Group      EOD/RBS   GOOG/LON_RBS\\n\",\n       \"71   RDSA             Royal Dutch Shell          NaN  GOOG/LON_RDSA\\n\",\n       \"72    RSA           RSA Insurance Group          NaN   GOOG/LON_RSA\\n\",\n       \"73    SAB                     SABMiller          NaN   GOOG/LON_SAB\\n\",\n       \"74    SGE                    Sage Group          NaN   GOOG/LON_SGE\\n\",\n       \"75    SDR                     Schroders      EOD/SDR   GOOG/LON_SDR\\n\",\n       \"76    SRP                         Serco          NaN   GOOG/LON_SRP\\n\",\n       \"77    SVT                  Severn Trent      EOD/SVT   GOOG/LON_SVT\\n\",\n       \"78   SHPG                     Shire plc     EOD/SHPG            NaN\\n\",\n       \"79    SNN                Smith & Nephew      EOD/SNN            NaN\\n\",\n       \"80   SMIN                  Smiths Group          NaN  GOOG/LON_SMIN\\n\",\n       \"81    SSE                       SSE plc      EOD/SSE   GOOG/LON_SSE\\n\",\n       \"82   STAN            Standard Chartered          NaN  GOOG/LON_STAN\\n\",\n       \"83     SL                 Standard Life          NaN            NaN\\n\",\n       \"84   TATE                   Tate & Lyle          NaN  GOOG/LON_TATE\\n\",\n       \"85   TSCO                         Tesco     EOD/TSCO  GOOG/LON_TSCO\\n\",\n       \"86     TT                    TUI Travel          NaN            NaN\\n\",\n       \"87    TLW                    Tullow Oil          NaN   GOOG/LON_TLW\\n\",\n       \"88   ULVR                      Unilever          NaN  GOOG/LON_ULVR\\n\",\n       \"89     UU              United Utilities          NaN            NaN\\n\",\n       \"90    VED             Vedanta Resources          NaN   GOOG/LON_VED\\n\",\n       \"91    VOD                Vodafone Group      EOD/VOD   GOOG/LON_VOD\\n\",\n       \"92   WEIR                    Weir Group          NaN  GOOG/LON_WEIR\\n\",\n       \"93    WTB                     Whitbread          NaN   GOOG/LON_WTB\\n\",\n       \"94    WOS                  Wolseley plc          NaN   GOOG/LON_WOS\\n\",\n       \"95    WG_                    Wood Group          NaN   GOOG/LON_WG_\\n\",\n       \"96    WPP                       WPP plc      EOD/WPP   GOOG/LON_WPP\\n\",\n       \"97    XTA                       Xstrata          NaN   GOOG/LON_XTA\\n\",\n       \"\\n\",\n       \"[98 rows x 4 columns]\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-list.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Why are there only 98 rows?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'ADN'\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100 = ftse100_csv['ticker'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>Date</td>\\n\",\n       \"      <td>Open</td>\\n\",\n       \"      <td>High</td>\\n\",\n       \"      <td>Low</td>\\n\",\n       \"      <td>Close</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.7</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.3</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.7</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.6</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"      <td>6928.25</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"      <td>6894.6</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>2016-09-01</td>\\n\",\n       \"      <td>6781.51</td>\\n\",\n       \"      <td>6826.22</td>\\n\",\n       \"      <td>6723.21</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>2016-08-31</td>\\n\",\n       \"      <td>6820.79</td>\\n\",\n       \"      <td>6832.89</td>\\n\",\n       \"      <td>6779.54</td>\\n\",\n       \"      <td>6781.51</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>2016-08-30</td>\\n\",\n       \"      <td>6838.05</td>\\n\",\n       \"      <td>6851.83</td>\\n\",\n       \"      <td>6808.07</td>\\n\",\n       \"      <td>6820.79</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>2016-08-26</td>\\n\",\n       \"      <td>6816.9</td>\\n\",\n       \"      <td>6857.29</td>\\n\",\n       \"      <td>6798.82</td>\\n\",\n       \"      <td>6838.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>11</th>\\n\",\n       \"      <td>2016-08-25</td>\\n\",\n       \"      <td>6835.78</td>\\n\",\n       \"      <td>6836.22</td>\\n\",\n       \"      <td>6779.15</td>\\n\",\n       \"      <td>6816.9</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>12</th>\\n\",\n       \"      <td>2016-08-24</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"      <td>6825.22</td>\\n\",\n       \"      <td>6835.78</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13</th>\\n\",\n       \"      <td>2016-08-23</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"      <td>6885.39</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>14</th>\\n\",\n       \"      <td>2016-08-22</td>\\n\",\n       \"      <td>6858.95</td>\\n\",\n       \"      <td>6884.61</td>\\n\",\n       \"      <td>6812.07</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>15</th>\\n\",\n       \"      <td>2016-08-19</td>\\n\",\n       \"      <td>6868.96</td>\\n\",\n       \"      <td>6871.48</td>\\n\",\n       \"      <td>6840.94</td>\\n\",\n       \"      <td>6858.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>16</th>\\n\",\n       \"      <td>2016-08-18</td>\\n\",\n       \"      <td>6859.15</td>\\n\",\n       \"      <td>6893.35</td>\\n\",\n       \"      <td>6850.61</td>\\n\",\n       \"      <td>6868.96</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>17</th>\\n\",\n       \"      <td>2016-08-17</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"      <td>6920.76</td>\\n\",\n       \"      <td>6849.9</td>\\n\",\n       \"      <td>6859.15</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>18</th>\\n\",\n       \"      <td>2016-08-16</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>19</th>\\n\",\n       \"      <td>2016-08-15</td>\\n\",\n       \"      <td>6916.02</td>\\n\",\n       \"      <td>6955.34</td>\\n\",\n       \"      <td>6907.17</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>20</th>\\n\",\n       \"      <td>2016-08-12</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"      <td>6931.04</td>\\n\",\n       \"      <td>6896.04</td>\\n\",\n       \"      <td>6916.02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>21</th>\\n\",\n       \"      <td>2016-08-11</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"      <td>6812.73</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>22</th>\\n\",\n       \"      <td>2016-08-10</td>\\n\",\n       \"      <td>6851.3</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"      <td>6820.04</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>23</th>\\n\",\n       \"      <td>2016-08-09</td>\\n\",\n       \"      <td>6809.13</td>\\n\",\n       \"      <td>6863.1</td>\\n\",\n       \"      <td>6807.76</td>\\n\",\n       \"      <td>6851.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>24</th>\\n\",\n       \"      <td>2016-08-08</td>\\n\",\n       \"      <td>6793.47</td>\\n\",\n       \"      <td>6829.47</td>\\n\",\n       \"      <td>6781.47</td>\\n\",\n       \"      <td>6809.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25</th>\\n\",\n       \"      <td>2016-08-05</td>\\n\",\n       \"      <td>6740.16</td>\\n\",\n       \"      <td>6802.41</td>\\n\",\n       \"      <td>6738.57</td>\\n\",\n       \"      <td>6793.47</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>26</th>\\n\",\n       \"      <td>2016-08-04</td>\\n\",\n       \"      <td>6634.4</td>\\n\",\n       \"      <td>6749.67</td>\\n\",\n       \"      <td>6615.83</td>\\n\",\n       \"      <td>6740.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>27</th>\\n\",\n       \"      <td>2016-08-03</td>\\n\",\n       \"      <td>6645.4</td>\\n\",\n       \"      <td>6673.63</td>\\n\",\n       \"      <td>6621.42</td>\\n\",\n       \"      <td>6634.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>28</th>\\n\",\n       \"      <td>2016-08-02</td>\\n\",\n       \"      <td>6693.95</td>\\n\",\n       \"      <td>6694.14</td>\\n\",\n       \"      <td>6630.76</td>\\n\",\n       \"      <td>6645.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>29</th>\\n\",\n       \"      <td>2016-08-01</td>\\n\",\n       \"      <td>6724.43</td>\\n\",\n       \"      <td>6769.41</td>\\n\",\n       \"      <td>6678.45</td>\\n\",\n       \"      <td>6693.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>30</th>\\n\",\n       \"      <td>2016-07-29</td>\\n\",\n       \"      <td>6721.06</td>\\n\",\n       \"      <td>6740.47</td>\\n\",\n       \"      <td>6691.13</td>\\n\",\n       \"      <td>6724.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>31</th>\\n\",\n       \"      <td>2016-07-28</td>\\n\",\n       \"      <td>6750.43</td>\\n\",\n       \"      <td>6762.72</td>\\n\",\n       \"      <td>6718.9</td>\\n\",\n       \"      <td>6721.06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>32</th>\\n\",\n       \"      <td>2016-07-27</td>\\n\",\n       \"      <td>6724.03</td>\\n\",\n       \"      <td>6780.05</td>\\n\",\n       \"      <td>6723.71</td>\\n\",\n       \"      <td>6750.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>33</th>\\n\",\n       \"      <td>2016-07-26</td>\\n\",\n       \"      <td>6710.13</td>\\n\",\n       \"      <td>6744.8</td>\\n\",\n       \"      <td>6708.58</td>\\n\",\n       \"      <td>6724.03</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>34</th>\\n\",\n       \"      <td>2016-07-25</td>\\n\",\n       \"      <td>6730.48</td>\\n\",\n       \"      <td>6756.13</td>\\n\",\n       \"      <td>6691.03</td>\\n\",\n       \"      <td>6710.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>35</th>\\n\",\n       \"      <td>2016-07-22</td>\\n\",\n       \"      <td>6699.89</td>\\n\",\n       \"      <td>6735.94</td>\\n\",\n       \"      <td>6663.72</td>\\n\",\n       \"      <td>6730.48</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>36</th>\\n\",\n       \"      <td>2016-07-21</td>\\n\",\n       \"      <td>6728.99</td>\\n\",\n       \"      <td>6732.07</td>\\n\",\n       \"      <td>6694.52</td>\\n\",\n       \"      <td>6699.89</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>37</th>\\n\",\n       \"      <td>2016-07-20</td>\\n\",\n       \"      <td>6697.37</td>\\n\",\n       \"      <td>6736.57</td>\\n\",\n       \"      <td>6694.36</td>\\n\",\n       \"      <td>6728.99</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>38</th>\\n\",\n       \"      <td>2016-07-19</td>\\n\",\n       \"      <td>6695.42</td>\\n\",\n       \"      <td>6711.69</td>\\n\",\n       \"      <td>6660.87</td>\\n\",\n       \"      <td>6697.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>39</th>\\n\",\n       \"      <td>2016-07-18</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"      <td>6715.58</td>\\n\",\n       \"      <td>6653.67</td>\\n\",\n       \"      <td>6695.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>40</th>\\n\",\n       \"      <td>2016-07-15</td>\\n\",\n       \"      <td>6654.47</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"      <td>6616.51</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"          Date     Open     High      Low    Close\\n\",\n       \"0         Date     Open     High      Low    Close\\n\",\n       \"1   2016-09-09   6858.7  6862.38   6762.3  6776.95\\n\",\n       \"2   2016-09-08  6846.58  6889.64  6819.82   6858.7\\n\",\n       \"3   2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"4   2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"5   2016-09-05   6894.6  6910.66  6867.08  6879.42\\n\",\n       \"6   2016-09-02  6745.97  6928.25  6745.97   6894.6\\n\",\n       \"7   2016-09-01  6781.51  6826.22  6723.21  6745.97\\n\",\n       \"8   2016-08-31  6820.79  6832.89  6779.54  6781.51\\n\",\n       \"9   2016-08-30  6838.05  6851.83  6808.07  6820.79\\n\",\n       \"10  2016-08-26   6816.9  6857.29  6798.82  6838.05\\n\",\n       \"11  2016-08-25  6835.78  6836.22  6779.15   6816.9\\n\",\n       \"12  2016-08-24  6868.51  6868.51  6825.22  6835.78\\n\",\n       \"13  2016-08-23  6828.54  6885.39  6828.54  6868.51\\n\",\n       \"14  2016-08-22  6858.95  6884.61  6812.07  6828.54\\n\",\n       \"15  2016-08-19  6868.96  6871.48  6840.94  6858.95\\n\",\n       \"16  2016-08-18  6859.15  6893.35  6850.61  6868.96\\n\",\n       \"17  2016-08-17  6893.92  6920.76   6849.9  6859.15\\n\",\n       \"18  2016-08-16  6941.19  6941.19  6893.92  6893.92\\n\",\n       \"19  2016-08-15  6916.02  6955.34  6907.17  6941.19\\n\",\n       \"20  2016-08-12  6914.71  6931.04  6896.04  6916.02\\n\",\n       \"21  2016-08-11  6866.42  6914.71  6812.73  6914.71\\n\",\n       \"22  2016-08-10   6851.3  6866.42  6820.04  6866.42\\n\",\n       \"23  2016-08-09  6809.13   6863.1  6807.76   6851.3\\n\",\n       \"24  2016-08-08  6793.47  6829.47  6781.47  6809.13\\n\",\n       \"25  2016-08-05  6740.16  6802.41  6738.57  6793.47\\n\",\n       \"26  2016-08-04   6634.4  6749.67  6615.83  6740.16\\n\",\n       \"27  2016-08-03   6645.4  6673.63  6621.42   6634.4\\n\",\n       \"28  2016-08-02  6693.95  6694.14  6630.76   6645.4\\n\",\n       \"29  2016-08-01  6724.43  6769.41  6678.45  6693.95\\n\",\n       \"30  2016-07-29  6721.06  6740.47  6691.13  6724.43\\n\",\n       \"31  2016-07-28  6750.43  6762.72   6718.9  6721.06\\n\",\n       \"32  2016-07-27  6724.03  6780.05  6723.71  6750.43\\n\",\n       \"33  2016-07-26  6710.13   6744.8  6708.58  6724.03\\n\",\n       \"34  2016-07-25  6730.48  6756.13  6691.03  6710.13\\n\",\n       \"35  2016-07-22  6699.89  6735.94  6663.72  6730.48\\n\",\n       \"36  2016-07-21  6728.99  6732.07  6694.52  6699.89\\n\",\n       \"37  2016-07-20  6697.37  6736.57  6694.36  6728.99\\n\",\n       \"38  2016-07-19  6695.42  6711.69  6660.87  6697.37\\n\",\n       \"39  2016-07-18  6669.24  6715.58  6653.67  6695.42\\n\",\n       \"40  2016-07-15  6654.47  6669.24  6616.51  6669.24\"\n      ]\n     },\n     \"execution_count\": 18,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/p5.1-definition-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## I. Definition\\n\",\n    \"_(approx. 1-2 pages)_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Project Overview\\n\",\n    \"\\n\",\n    \"### Introduction\\n\",\n    \"People have used machine learning in trading for decades. People use all sorts of strategies. \\n\",\n    \"\\n\",\n    \"### Scope of this project\\n\",\n    \"We will investigate **using machine learning in trading equities**, specifically to **predict equity prices for a 7-day period**. Equities are stocks - shares of companies like Apple and Google that are publically listed on the stock exchange. That means any licensed stock broker can trade those stocks. By trading, we mean buying and selling these shares on the stock exchange.\\n\",\n    \"\\n\",\n    \"We will only tackle trading equities and not other more complex financial products because calculating returns for those products is more complex and equities are sufficiently interesting.\\n\",\n    \"\\n\",\n    \"### Why trading is an interesting domain for machine learning\\n\",\n    \"This is an interesting domain: \\n\",\n    \"1. Firstly, there are many non-engineered features. If we include only equities, we already have over 10,000 equities globally. That makes for at least 10,000 potential non-engineered features. \\n\",\n    \"\\n\",\n    \"2. Secondly, there are many datapoints. Even access to only daily trading information gives us 30 years * 365 days = over 10,000 datapoints. If we were to look at intraday figures, there's even more data: in January 2009, an average of 881,609 trades were made per day in equities on the London Stock Exchange [(Source: LSE Group)](http://www.lseg.com/media-centre/news/corporate-press-releases/185-million-electronic-equity-trades-across-london-stock-exchange-group-order-books-january).\\n\",\n    \"\\n\",\n    \"3. It is also interesting because research in machine learning and statistics has affected how markets behave. There is no strategy or algorithm that will solve this problem or remain forever 'optimal' - if a profitable strategy is found, it may be copied by other people and so be priced in or it may be fought against or taken advantage of. This is more relevant to high-frequency trading than daily trading but nonetheless has an impact. \\n\",\n    \"\\n\",\n    \"### Aim of this project\\n\",\n    \"\\n\",\n    \"The aim of this exploratory study is to get a feel for what types of features are involved in predicting stock prices and how different models perform in this setting. The challenges will be discussed in more detail in the Problem Statement.\\n\",\n    \"\\n\",\n    \"Predicting stock prices accurately is difficult: there are many factors that influence stock prices and a lot of noise.\\n\",\n    \"\\n\",\n    \"This exploratory study does not aim to produce a state-of-the-art, better-than-benchmark-buy-and-hold (transaction costs included) trading strategy - that is extremely difficult and is a challenge even for top trading firms. \\n\",\n    \"\\n\",\n    \"### Data used in this project\\n\",\n    \"\\n\",\n    \"There is one primary dataset for this project and one supplementary dataset.\\n\",\n    \"\\n\",\n    \"* The primary dataset is a CSV with all the daily stock prices from 1977 for stocks listed on the the London Stock Exchange. This dataset was downloaded from Quandl. \\n\",\n    \"* The supplementary dataset is a spreadsheet listing the stocks currently listed on the London Stock Exchange with information such as what each listed company's stock symbol is and which sector they belong to. This spreadsheet was downloaded from the London Stock Exchange website.\\n\",\n    \"\\n\",\n    \"The features and characteristics of the dataset will be discussed more thoroughly in Section II: Data Exploration.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Interesting but not important:\\n\",\n    \"\\n\",\n    \"For example, in May 2010 the US S&P 500 dropped 5-6% in value within minutes. This was suspected to be because of bots. This was called the Flash Crash. [People have theorised](https://en.wikipedia.org/wiki/2010_Flash_Crash#Early_theories) that the Flash Crash was exacerbated by high-frequency traders, although this seems to have been disproved. \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"# Problem Statement\\n\",\n    \"\\n\",\n    \"### Problem\\n\",\n    \"\\n\",\n    \"Build a stock price predictor that satifies:\\n\",\n    \"<table>\\n\",\n    \"<th>Category</th><th>Details</th>\\n\",\n    \"<tr><td>Input</td><td>Daily trade data over a `start_date - end_date`. Daily trade data consists of adjusted and unadjusted Open, High, Low, Close figures for a set of stocks S.</td></tr>\\n\",\n    \"<tr><td>Output</td><td><ul><li>Projected estimates of Adjusted Close prices for query dates for pre-chosen stock BP in S.</li><li>Results satisfy predicted stock value 7 days out is within +/- 5% of actual value, on average.</li></td></tr>\\n\",\n    \"<tr><td>Optional Output</td><td>Suggested trades</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Glossary:\\n\",\n    \"* **Adjusted prices** are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.\\n\",\n    \"* **BP** is the stock symbol for British Petroleum, an energy company.\\n\",\n    \"\\n\",\n    \"### Interesting characteristics of this problem\\n\",\n    \"There are a few interesting characteristics of this problem compared to previous projects in the Machine Learning Engineer Nanodegree.\\n\",\n    \"\\n\",\n    \"1. Predicting multiple outputs: We will predict the adjusted close prices for 7 days after the last input date.\\n\",\n    \"\\n\",\n    \"### Challenges\\n\",\n    \"1. The model has to be run for dates not within the training set for the model to be 'fair'. But given there may be big shifts in how people view the markets from year to year, it may be hard for the model to generalise from one year to the next.\\n\",\n    \"2. Energy companies' stock prices are volatile so they may be harder to predict.\\n\",\n    \"\\n\",\n    \"### Analysis of Problem\\n\",\n    \"\\n\",\n    \"This is a regression problem (as opposed to a classification problem) because we are predicting daily Adjusted Close prices for a stock. These prices are continuous.\\n\",\n    \"\\n\",\n    \"A related problem: If this were high-frequency trading and we were trying to predict the stock price in the next nanosecond we could tackle price prediction as a binary classificaiton problem (does the price go up or down?).\\n\",\n    \"\\n\",\n    \"It's not immediately obvious what kind of model will be best.\\n\",\n    \"\\n\",\n    \"Characteristic of problem: \\n\",\n    \"- Time-series data.\\n\",\n    \"- Noisy data\\n\",\n    \"- Datapoints (prices of different stocks) are not independent of each other -> Naive Bayes is not appropriate\\n\",\n    \"- Many features. (Daily open, high, low, adjusted close for many stocks)\\n\",\n    \"- Regression problem (continuous output).\\n\",\n    \"- Training cost or time: it is not critical to keep this lower than 12 hours because we are predicting daily prices based on stats from prior days' trading. \\n\",\n    \"- Prediction time: Again not critical to keep this low. Anything within an hour would do.\\n\",\n    \"\\n\",\n    \"### Strategy\\n\",\n    \"I intend to do the following:\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"1. Explore the data\\n\",\n    \"- Come up with a basic model with which I can predict the next day's prices and then the next 7 days' prices as a benchmark\\n\",\n    \"- Try adding different features and using different algorithms\\n\",\n    \"    - Features include x-day moving averages of BP stocks, stocks in the oil industry, and indices such as the FTSE 100. \\n\",\n    \"- Assess which model is best.\\n\",\n    \"\\n\",\n    \"### Expected Solution\\n\",\n    \"\\n\",\n    \"The solution will be 7 predicted prices for each day within 7 days after the last date in the input date range. We will then compare the (up to) 5  out of 7 predicted prices that land on trading days with the actual adjusted close prices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Wrong?\\n\",\n    \"\\n\",\n    \"```I expect the solution to correlate with other stocks in the same industry to some extent. Competitors should correlate with each other when there is industry-positive or industry-negative information, and not correlate positively with each other when there is firm-specific information.\\n\",\n    \"\\n\",\n    \"I expect it to correlate with but be more volatile than the FTSE indices.```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Metrics\\n\",\n    \"e.g. We will measure performance as the squared deviation between the stock's actual and predicted Adjusted Close prices.\\n\",\n    \"\\n\",\n    \"We will not consider transaction costs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Metrics\\n\",\n    \"In this section, you will need to clearly define the metrics or calculations you will use to measure performance of a model or result in your project. These calculations and metrics should be justified based on the characteristics of the problem and problem domain. Questions to ask yourself when writing this section:\\n\",\n    \"- _Are the metrics you’ve chosen to measure the performance of your models clearly discussed and defined?_\\n\",\n    \"- _Have you provided reasonable justification for the metrics chosen based on the problem and solution?_\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/p5.2-4-code-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Analysis, Methodology, Results\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 219,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# LSE daily data: Description and exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Data Used\\n\",\n    \"The data used is daily stock data for stocks on the London Stock Exchange (LSE). The date range for stock data varies depending on when the stock went public. The furthest date was **YEAR**. The most recent date in the dataset was 9 September 2016. The data was taken from Quandl.\\n\",\n    \"\\n\",\n    \"All the data is in one CSV, with each row being one datapoint. Unless otherwise indicated, the column values are all floats. Each row includes:\\n\",\n    \"* Stock symbol (string)\\n\",\n    \"* Date (YYYY-MM-DD) \\n\",\n    \"* Open (given to 2 decimal places)\\n\",\n    \"* High (to 2 d.p.)\\n\",\n    \"* Low (to 2 d.p.)\\n\",\n    \"* Close (to 2 d.p.)\\n\",\n    \"* Volume (to 1 d.p.)\\n\",\n    \"* Ex-Dividend (to 1 d.p.)\\n\",\n    \"* Split Ratio (to 1 d.p.)\\n\",\n    \"* Adjusted Open (to 6 d.p.)\\n\",\n    \"* Adjusted High (to 6 d.p.)\\n\",\n    \"* Adjusted Low (to 6 d.p.)\\n\",\n    \"* Adjusted Close (to 6 d.p.)\\n\",\n    \"* Adjusted Volume (to 1 d.p.)\\n\",\n    \"\\n\",\n    \"That means we have 12 features for each stock on every trading day since the year when the stock was tradable.\\n\",\n    \"\\n\",\n    \"**Data Preprocessing**\\n\",\n    \"On opening the CSV and sampling it with `df.head()`, I realised the CSV had no header. I added a header to the CSV:\\n\",\n    \"```python\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\\n\",\n    \"```\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Defining Characteristics about Stock Data\\n\",\n    \"1. Limit Down Circuit Breakers\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 220,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 221,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 222,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>1999-11-18</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>50.00</td>\\n\",\n       \"      <td>40.00</td>\\n\",\n       \"      <td>44.00</td>\\n\",\n       \"      <td>44739900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>43.471810</td>\\n\",\n       \"      <td>47.771219</td>\\n\",\n       \"      <td>38.216975</td>\\n\",\n       \"      <td>42.038673</td>\\n\",\n       \"      <td>44739900.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>1999-11-19</td>\\n\",\n       \"      <td>42.94</td>\\n\",\n       \"      <td>43.00</td>\\n\",\n       \"      <td>39.81</td>\\n\",\n       \"      <td>40.38</td>\\n\",\n       \"      <td>10897100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>41.025923</td>\\n\",\n       \"      <td>41.083249</td>\\n\",\n       \"      <td>38.035445</td>\\n\",\n       \"      <td>38.580037</td>\\n\",\n       \"      <td>10897100.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>1999-11-22</td>\\n\",\n       \"      <td>41.31</td>\\n\",\n       \"      <td>44.00</td>\\n\",\n       \"      <td>40.06</td>\\n\",\n       \"      <td>44.00</td>\\n\",\n       \"      <td>4705200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.468581</td>\\n\",\n       \"      <td>42.038673</td>\\n\",\n       \"      <td>38.274301</td>\\n\",\n       \"      <td>42.038673</td>\\n\",\n       \"      <td>4705200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>1999-11-23</td>\\n\",\n       \"      <td>42.50</td>\\n\",\n       \"      <td>43.63</td>\\n\",\n       \"      <td>40.25</td>\\n\",\n       \"      <td>40.25</td>\\n\",\n       \"      <td>4274400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>40.605536</td>\\n\",\n       \"      <td>41.685166</td>\\n\",\n       \"      <td>38.455832</td>\\n\",\n       \"      <td>38.455832</td>\\n\",\n       \"      <td>4274400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>A</td>\\n\",\n       \"      <td>1999-11-24</td>\\n\",\n       \"      <td>40.13</td>\\n\",\n       \"      <td>41.94</td>\\n\",\n       \"      <td>40.00</td>\\n\",\n       \"      <td>41.06</td>\\n\",\n       \"      <td>3464400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>38.341181</td>\\n\",\n       \"      <td>40.070499</td>\\n\",\n       \"      <td>38.216975</td>\\n\",\n       \"      <td>39.229725</td>\\n\",\n       \"      <td>3464400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  Symbol        Date   Open   High    Low  Close      Volume  Ex-Dividend  \\\\\\n\",\n       \"0      A  1999-11-18  45.50  50.00  40.00  44.00  44739900.0          0.0   \\n\",\n       \"1      A  1999-11-19  42.94  43.00  39.81  40.38  10897100.0          0.0   \\n\",\n       \"2      A  1999-11-22  41.31  44.00  40.06  44.00   4705200.0          0.0   \\n\",\n       \"3      A  1999-11-23  42.50  43.63  40.25  40.25   4274400.0          0.0   \\n\",\n       \"4      A  1999-11-24  40.13  41.94  40.00  41.06   3464400.0          0.0   \\n\",\n       \"\\n\",\n       \"   Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"0          1.0  43.471810  47.771219  38.216975   42.038673   44739900.0  \\n\",\n       \"1          1.0  41.025923  41.083249  38.035445   38.580037   10897100.0  \\n\",\n       \"2          1.0  39.468581  42.038673  38.274301   42.038673    4705200.0  \\n\",\n       \"3          1.0  40.605536  41.685166  38.455832   38.455832    4274400.0  \\n\",\n       \"4          1.0  38.341181  40.070499  38.216975   39.229725    3464400.0  \"\n      ]\n     },\n     \"execution_count\": 222,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 276,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"      <td>1.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"      <td>0.63</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"      <td>1.26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"      <td>1.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"      <td>0.63</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"      <td>1.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"      <td>2.87</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"      <td>2.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"      <td>0.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"      <td>0.38</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"      <td>0.62</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"      <td>1.63</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"      <td>1.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"      <td>2.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"      <td>3.00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"      <td>3.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"      <td>1.75</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"      <td>0.50</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"      <td>1.38</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"      <td>1.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"      <td>0.62</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"      <td>0.63</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0   \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0   \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0   \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0   \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0   \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0   \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0   \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0   \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0   \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0   \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0   \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0   \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0   \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0   \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0   \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0   \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0   \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0   \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0   \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0   \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0   \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0   \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0   \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0   \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0   \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0   \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0   \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0   \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0   \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0   \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0   \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0   \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0   \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0   \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0   \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0   \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0   \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0   \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0   \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0   \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0   \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0   \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0   \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0   \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0   \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0   \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0   \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0   \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0   \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  \\n\",\n       \"1923200             1.00  \\n\",\n       \"1923201             0.75  \\n\",\n       \"1923202             1.00  \\n\",\n       \"1923203             1.12  \\n\",\n       \"1923204             1.00  \\n\",\n       \"1923205             0.88  \\n\",\n       \"1923206             1.13  \\n\",\n       \"1923207             0.63  \\n\",\n       \"1923208             1.00  \\n\",\n       \"1923209             0.50  \\n\",\n       \"1923210             0.75  \\n\",\n       \"1923211             0.50  \\n\",\n       \"1923212             1.25  \\n\",\n       \"1923213             0.88  \\n\",\n       \"1923214             1.00  \\n\",\n       \"1923215             1.26  \\n\",\n       \"1923216             0.50  \\n\",\n       \"1923217             0.88  \\n\",\n       \"1923218             0.75  \\n\",\n       \"1923219             1.13  \\n\",\n       \"1923220             0.63  \\n\",\n       \"1923221             0.50  \\n\",\n       \"1923222             0.50  \\n\",\n       \"1923223             0.75  \\n\",\n       \"1923224             1.50  \\n\",\n       \"1923225             0.50  \\n\",\n       \"1923226             1.25  \\n\",\n       \"1923227             0.50  \\n\",\n       \"1923228             0.75  \\n\",\n       \"1923229             0.88  \\n\",\n       \"1923230             2.87  \\n\",\n       \"1923231             2.25  \\n\",\n       \"1923232             0.75  \\n\",\n       \"1923233             1.12  \\n\",\n       \"1923234             0.38  \\n\",\n       \"1923235             0.62  \\n\",\n       \"1923236             1.63  \\n\",\n       \"1923237             1.75  \\n\",\n       \"1923238             1.25  \\n\",\n       \"1923239             0.88  \\n\",\n       \"1923240             2.25  \\n\",\n       \"1923241             3.00  \\n\",\n       \"1923242             3.50  \\n\",\n       \"1923243             1.75  \\n\",\n       \"1923244             0.50  \\n\",\n       \"1923245             1.38  \\n\",\n       \"1923246             1.13  \\n\",\n       \"1923247             1.25  \\n\",\n       \"1923248             0.62  \\n\",\n       \"1923249             0.63  \"\n      ]\n     },\n     \"execution_count\": 276,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 223,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 223,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 224,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>1.180000e+01</td>\\n\",\n       \"      <td>1.200000e+01</td>\\n\",\n       \"      <td>1.156000e+01</td>\\n\",\n       \"      <td>1.180000e+01</td>\\n\",\n       \"      <td>3.420000e+04</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e+00</td>\\n\",\n       \"      <td>6.213272e+00</td>\\n\",\n       \"      <td>6.328367e+00</td>\\n\",\n       \"      <td>6.096837e+00</td>\\n\",\n       \"      <td>6.214642e+00</td>\\n\",\n       \"      <td>4.410000e+04</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>2.288000e+01</td>\\n\",\n       \"      <td>2.321000e+01</td>\\n\",\n       \"      <td>2.250000e+01</td>\\n\",\n       \"      <td>2.288000e+01</td>\\n\",\n       \"      <td>1.712000e+05</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e+00</td>\\n\",\n       \"      <td>1.355680e+01</td>\\n\",\n       \"      <td>1.378368e+01</td>\\n\",\n       \"      <td>1.332000e+01</td>\\n\",\n       \"      <td>1.355915e+01</td>\\n\",\n       \"      <td>2.230000e+05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>3.833000e+01</td>\\n\",\n       \"      <td>3.885000e+01</td>\\n\",\n       \"      <td>3.782000e+01</td>\\n\",\n       \"      <td>3.835000e+01</td>\\n\",\n       \"      <td>6.686000e+05</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e+00</td>\\n\",\n       \"      <td>2.689342e+01</td>\\n\",\n       \"      <td>2.730000e+01</td>\\n\",\n       \"      <td>2.646493e+01</td>\\n\",\n       \"      <td>2.689551e+01</td>\\n\",\n       \"      <td>8.800000e+05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%    1.180000e+01  1.200000e+01  1.156000e+01  1.180000e+01  3.420000e+04   \\n\",\n       \"50%    2.288000e+01  2.321000e+01  2.250000e+01  2.288000e+01  1.712000e+05   \\n\",\n       \"75%    3.833000e+01  3.885000e+01  3.782000e+01  3.835000e+01  6.686000e+05   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%    0.000000e+00  1.000000e+00  6.213272e+00  6.328367e+00  6.096837e+00   \\n\",\n       \"50%    0.000000e+00  1.000000e+00  1.355680e+01  1.378368e+01  1.332000e+01   \\n\",\n       \"75%    0.000000e+00  1.000000e+00  2.689342e+01  2.730000e+01  2.646493e+01   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%    6.214642e+00  4.410000e+04  \\n\",\n       \"50%    1.355915e+01  2.230000e+05  \\n\",\n       \"75%    2.689551e+01  8.800000e+05  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 224,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 245,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 281,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 243,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 284,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:461: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  s._data = s._data.setitem(indexer=pi, value=v)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"bp.loc[:,'Daily Variation'] = 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 239,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0  \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0  \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0  \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0  \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0  \"\n      ]\n     },\n     \"execution_count\": 239,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 277,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.000</td>\\n\",\n       \"      <td>0.000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.000</td>\\n\",\n       \"      <td>0.000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"                Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933105             BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106             BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107             BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108             BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"Daily Variation      0           0   0.00   0.000   0.000   0.00        0.0   \\n\",\n       \"\\n\",\n       \"                 Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  \\\\\\n\",\n       \"1933105                  0.0          1.0      34.55     34.760    34.380   \\n\",\n       \"1933106                  0.0          1.0      34.78     34.910    34.650   \\n\",\n       \"1933107                  0.0          1.0      34.89     35.175    34.660   \\n\",\n       \"1933108                  0.0          1.0      34.63     34.700    34.235   \\n\",\n       \"Daily Variation          0.0          0.0       0.00      0.000     0.000   \\n\",\n       \"\\n\",\n       \"                 Adj. Close  Adj. Volume  \\n\",\n       \"1933105               34.69    4090421.0  \\n\",\n       \"1933106               34.76    3902827.0  \\n\",\n       \"1933107               35.08    5161379.0  \\n\",\n       \"1933108               34.35    5434710.0  \\n\",\n       \"Daily Variation        0.00          0.0  \"\n      ]\n     },\n     \"execution_count\": 277,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 235,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>1.001100e+04</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>10011.000000</td>\\n\",\n       \"      <td>1.001100e+04</td>\\n\",\n       \"      <td>10011.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.422497</td>\\n\",\n       \"      <td>59.902238</td>\\n\",\n       \"      <td>58.937921</td>\\n\",\n       \"      <td>59.440199</td>\\n\",\n       \"      <td>2.815801e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000300</td>\\n\",\n       \"      <td>18.703498</td>\\n\",\n       \"      <td>18.853363</td>\\n\",\n       \"      <td>18.545724</td>\\n\",\n       \"      <td>18.705489</td>\\n\",\n       \"      <td>3.407934e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.596915</td>\\n\",\n       \"      <td>20.684520</td>\\n\",\n       \"      <td>20.520706</td>\\n\",\n       \"      <td>20.606038</td>\\n\",\n       \"      <td>7.216936e+06</td>\\n\",\n       \"      <td>0.048268</td>\\n\",\n       \"      <td>0.022347</td>\\n\",\n       \"      <td>14.128205</td>\\n\",\n       \"      <td>14.229328</td>\\n\",\n       \"      <td>14.012499</td>\\n\",\n       \"      <td>14.123141</td>\\n\",\n       \"      <td>7.531797e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.150000</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.760000</td>\\n\",\n       \"      <td>1.831000e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.424554</td>\\n\",\n       \"      <td>5.492372</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.440757</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.340000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.351000e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.150515</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.091847</td>\\n\",\n       \"      <td>1.903800e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.325000</td>\\n\",\n       \"      <td>69.790000</td>\\n\",\n       \"      <td>3.784450e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.848443</td>\\n\",\n       \"      <td>32.205948</td>\\n\",\n       \"      <td>31.523310</td>\\n\",\n       \"      <td>31.889386</td>\\n\",\n       \"      <td>4.051150e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10011.000000  10011.000000  10011.000000  10011.000000  1.001100e+04   \\n\",\n       \"mean      59.422497     59.902238     58.937921     59.440199  2.815801e+06   \\n\",\n       \"std       20.596915     20.684520     20.520706     20.606038  7.216936e+06   \\n\",\n       \"min        0.000000      0.000000      0.000000      0.000000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.150000     44.250000     44.760000  1.831000e+05   \\n\",\n       \"50%       53.940000     54.340000     53.500000     53.940000  6.351000e+05   \\n\",\n       \"75%       69.750000     70.230000     69.325000     69.790000  3.784450e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10011.000000  10011.000000  10011.000000  10011.000000  10011.000000   \\n\",\n       \"mean       0.004626      1.000300     18.703498     18.853363     18.545724   \\n\",\n       \"std        0.048268      0.022347     14.128205     14.229328     14.012499   \\n\",\n       \"min        0.000000      0.000000      0.000000      0.000000      0.000000   \\n\",\n       \"25%        0.000000      1.000000      5.424554      5.492372      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.150515     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.848443     32.205948     31.523310   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  \\n\",\n       \"count  10011.000000  1.001100e+04          10011.0  \\n\",\n       \"mean      18.705489  3.407934e+06              0.0  \\n\",\n       \"std       14.123141  7.531797e+06              0.0  \\n\",\n       \"min        0.000000  0.000000e+00              0.0  \\n\",\n       \"25%        5.440757  7.536000e+05              0.0  \\n\",\n       \"50%       15.091847  1.903800e+06              0.0  \\n\",\n       \"75%       31.889386  4.051150e+06              0.0  \\n\",\n       \"max       50.533702  2.408085e+08              0.0  \"\n      ]\n     },\n     \"execution_count\": 235,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 231,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:284: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = value\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:461: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  s._data = s._data.setitem(indexer=pi, value=v)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"bp.loc[:,'Daily Variation'] = bp.loc[:,'High'] - bp.loc[:,'Low']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 190,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  app.launch_new_instance()\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:4: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:5: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:6: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model\\n\",\n    \"bp['Daily Variation'] = bp['High'] - bp['Low']\\n\",\n    \"bp['Percentage Variation'] = bp['Daily Variation'] / bp['Open'] * 100\\n\",\n    \"bp['Adj. Daily Variation'] = bp['Adj. High'] - bp['Adj. Low']\\n\",\n    \"bp['Adj. Percentage Variation'] = bp['Adj. Daily Variation'] / bp['Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 191,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11cf64828>\"\n      ]\n     },\n     \"execution_count\": 191,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11d4d2470>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11e913ef0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"bp.plot(x='Date', y='Open')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It is extraordinary: the adjusted open and the open are radically different for BP, whereas with stock 'A' in the first few rows of the df, Adj. Open and Open had similar values. We are predicting the Adjusted Close - my guess is that the Adjusted figures will be more useful in predicting the adjusted price. The non-adjusted figures may be good for predicting momentum though.\\n\",\n    \"\\n\",\n    \"The stock price looks volatile. From the descriptive statistics, the mean daily percentage variation is 1.72% and the maximum daily percentage variation is 16.0%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 192,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11e65a940>\"\n      ]\n     },\n     \"execution_count\": 192,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11cd2fc50>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nGQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13ae572b0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bp.plot(x='Date', y='Percentage Variation')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Adjusted Percentage Variation and Percentage Variation look similar, however.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Engineering\\n\",\n    \"x-day running averages\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 217,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"IndexingError\",\n     \"evalue\": \"(slice(None, None, None), '30-day Moving Average')\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mTypeError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py\\u001b[0m in \\u001b[0;36m_get_setitem_indexer\\u001b[0;34m(self, key)\\u001b[0m\\n\\u001b[1;32m    117\\u001b[0m         \\u001b[0;32mtry\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 118\\u001b[0;31m             \\u001b[0;32mreturn\\u001b[0m \\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m_convert_to_indexer\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mkey\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mis_setter\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;32mTrue\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    119\\u001b[0m         \\u001b[0;32mexcept\\u001b[0m \\u001b[0mTypeError\\u001b[0m \\u001b[0;32mas\\u001b[0m \\u001b[0me\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py\\u001b[0m in \\u001b[0;36m_convert_to_indexer\\u001b[0;34m(self, obj, axis, is_setter)\\u001b[0m\\n\\u001b[1;32m   1199\\u001b[0m                 \\u001b[0;32melse\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m-> 1200\\u001b[0;31m                     \\u001b[0mlevel\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0;32mNone\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m   1201\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/indexes/base.py\\u001b[0m in \\u001b[0;36mget_indexer\\u001b[0;34m(self, target, method, limit, tolerance)\\u001b[0m\\n\\u001b[1;32m   2027\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m-> 2028\\u001b[0;31m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mget_indexer\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mtarget\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mmethod\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;32mNone\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mlimit\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;32mNone\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mtolerance\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;32mNone\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m   2029\\u001b[0m         \\\"\\\"\\\"\\n\",\n      \"\\u001b[0;32mpandas/index.pyx\\u001b[0m in \\u001b[0;36mpandas.index.IndexEngine.get_indexer (pandas/index.c:5888)\\u001b[0;34m()\\u001b[0m\\n\",\n      \"\\u001b[0;32mpandas/hashtable.pyx\\u001b[0m in \\u001b[0;36mpandas.hashtable.PyObjectHashTable.lookup (pandas/hashtable.c:13317)\\u001b[0;34m()\\u001b[0m\\n\",\n      \"\\u001b[0;31mTypeError\\u001b[0m: unhashable type: 'slice'\",\n      \"\\nDuring handling of the above exception, another exception occurred:\\n\",\n      \"\\u001b[0;31mIndexingError\\u001b[0m                             Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-217-05b1b2b920ef>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      7\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0mi\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mrange\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mmoving_average\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mlen\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mbp\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      8\\u001b[0m     \\u001b[0mm_average\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0msum\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mbp\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0miloc\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mi\\u001b[0m\\u001b[0;34m-\\u001b[0m\\u001b[0mmoving_average\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0mi\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m'Adj. Close'\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m/\\u001b[0m\\u001b[0mmoving_average\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 9\\u001b[0;31m     \\u001b[0mbp\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0miloc\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mi\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mloc\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;34m'%s-day Moving Average'\\u001b[0m \\u001b[0;34m%\\u001b[0m \\u001b[0mstr\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mmoving_average\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m]\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mm_average\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py\\u001b[0m in \\u001b[0;36m__setitem__\\u001b[0;34m(self, key, value)\\u001b[0m\\n\\u001b[1;32m    125\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    126\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0m__setitem__\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mkey\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mvalue\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 127\\u001b[0;31m         \\u001b[0;32mif\\u001b[0m \\u001b[0misinstance\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mkey\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mtuple\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    128\\u001b[0m             \\u001b[0mkey\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtuple\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mcom\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m_apply_if_callable\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mx\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mobj\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0mx\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mkey\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    129\\u001b[0m         \\u001b[0;32melse\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py\\u001b[0m in \\u001b[0;36m_get_setitem_indexer\\u001b[0;34m(self, key)\\u001b[0m\\n\\u001b[1;32m    122\\u001b[0m             \\u001b[0;32mif\\u001b[0m \\u001b[0;34m'cannot do'\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mstr\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0me\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    123\\u001b[0m                 \\u001b[0;32mraise\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 124\\u001b[0;31m             \\u001b[0;32mraise\\u001b[0m \\u001b[0mIndexingError\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mkey\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    125\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    126\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0m__setitem__\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mkey\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mvalue\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mIndexingError\\u001b[0m: (slice(None, None, None), '30-day Moving Average')\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# N-day running averages\\n\",\n    \"moving_average = 30\\n\",\n    \"\\n\",\n    \"# 3-day, 7-day, 10-day, 14-day moving averages.\\n\",\n    \"# Use a function\\n\",\n    \"\\n\",\n    \"for i in range(moving_average, len(bp)):\\n\",\n    \"    m_average = sum(bp.iloc[i-moving_average:i]['Adj. Close'])/moving_average\\n\",\n    \"    bp.iloc[i].loc[:,'%s-day Moving Average' % str(moving_average)] = m_average\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 216,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 216,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding the stocks that are relevant to BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Feat: FTSE 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I scraped data from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Raw cells because I've done this above.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model\\n\",\n    \"bp['Daily Variation'] = bp['High'] - bp['Low']\\n\",\n    \"bp['Percentage Variation'] = bp['Daily Variation'] / bp['Open'] * 100\\n\",\n    \"bp['Adj. Daily Variation'] = bp['Adj. High'] - bp['Adj. Low']\\n\",\n    \"bp['Adj. Percentage Variation'] = bp['Adj. Daily Variation'] / bp['Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 197,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"['i-1', 'i-2', 'i-3', 'i-4', 'i-5', 'i-6', 'i-7', 'Adj. High', 'Adj. Low']\\n\",\n      \"Start date:  1977-01-12\\n\",\n      \"                i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1977-01-12  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038  2.01993   \\n\",\n      \"1977-01-13  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038   \\n\",\n      \"1977-01-14  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   \\n\",\n      \"1977-01-15  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487   \\n\",\n      \"1977-01-16  1.95826  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1977-01-12   2.02982  1.93874  \\n\",\n      \"1977-01-13   2.02982  1.91272  \\n\",\n      \"1977-01-14    2.0038  1.91272  \\n\",\n      \"1977-01-15   1.98766  1.91272  \\n\",\n      \"1977-01-16   1.98766  1.91272  \\n\",\n      \"             Target\\n\",\n      \"1977-01-12  1.93223\\n\",\n      \"1977-01-13  1.97777\\n\",\n      \"1977-01-14  1.95175\\n\",\n      \"1977-01-15  1.95826\\n\",\n      \"1977-01-16  1.94863\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Initialise variables\\n\",\n    \"# Number of days prior that we consider\\n\",\n    \"days = 7\\n\",\n    \"# Number of train and test examples combined\\n\",\n    \"periods = 9000\\n\",\n    \"\\n\",\n    \"# Columns\\n\",\n    \"columns = []\\n\",\n    \"for j in range(1,days+1):\\n\",\n    \"    columns.append('i-%s' % str(j))\\n\",\n    \"columns.append('Adj. High')\\n\",\n    \"columns.append('Adj. Low')\\n\",\n    \"print(columns)\\n\",\n    \"\\n\",\n    \"# Index\\n\",\n    \"start_date = bp.iloc[days][\\\"Date\\\"]\\n\",\n    \"print(\\\"Start date: \\\", start_date)\\n\",\n    \"index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"# Create empty dataframes for features and prices\\n\",\n    \"features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"\\n\",\n    \"# Prepare test and training sets\\n\",\n    \"for i in range(periods):\\n\",\n    \"    prices.iloc[i]['Target'] = bp.iloc[i+days]['Adj. Close']\\n\",\n    \"    for j in range(days):\\n\",\n    \"        features.iloc[i]['i-%s' % str(7-j)] = bp.iloc[i+j]['Adj. Close']\\n\",\n    \"    features.iloc[i]['Adj. High'] = max(bp[i:i+days]['Adj. High'])\\n\",\n    \"    features.iloc[i]['Adj. Low'] = min(bp[i:i+days]['Adj. Low'])\\n\",\n    \"print(features.head())\\n\",\n    \"print(prices.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 202,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923104</th>\\n\",\n       \"      <td>1977-01-10</td>\\n\",\n       \"      <td>1.967886</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923105</th>\\n\",\n       \"      <td>1977-01-11</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923106</th>\\n\",\n       \"      <td>1977-01-12</td>\\n\",\n       \"      <td>1.932234</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923107</th>\\n\",\n       \"      <td>1977-01-13</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923108</th>\\n\",\n       \"      <td>1977-01-14</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923109</th>\\n\",\n       \"      <td>1977-01-17</td>\\n\",\n       \"      <td>1.958257</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923110</th>\\n\",\n       \"      <td>1977-01-18</td>\\n\",\n       \"      <td>1.948629</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923111</th>\\n\",\n       \"      <td>1977-01-19</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923112</th>\\n\",\n       \"      <td>1977-01-20</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923113</th>\\n\",\n       \"      <td>1977-01-21</td>\\n\",\n       \"      <td>1.967886</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923114</th>\\n\",\n       \"      <td>1977-01-24</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923115</th>\\n\",\n       \"      <td>1977-01-25</td>\\n\",\n       \"      <td>1.993909</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923116</th>\\n\",\n       \"      <td>1977-01-26</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923117</th>\\n\",\n       \"      <td>1977-01-27</td>\\n\",\n       \"      <td>2.000676</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923118</th>\\n\",\n       \"      <td>1977-01-28</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Date  Adj. Close\\n\",\n       \"1923099  1977-01-03    2.019933\\n\",\n       \"1923100  1977-01-04    2.003798\\n\",\n       \"1923101  1977-01-05    1.938740\\n\",\n       \"1923102  1977-01-06    1.954874\\n\",\n       \"1923103  1977-01-07    1.954874\\n\",\n       \"1923104  1977-01-10    1.967886\\n\",\n       \"1923105  1977-01-11    1.951752\\n\",\n       \"1923106  1977-01-12    1.932234\\n\",\n       \"1923107  1977-01-13    1.977775\\n\",\n       \"1923108  1977-01-14    1.951752\\n\",\n       \"1923109  1977-01-17    1.958257\\n\",\n       \"1923110  1977-01-18    1.948629\\n\",\n       \"1923111  1977-01-19    2.010304\\n\",\n       \"1923112  1977-01-20    1.977775\\n\",\n       \"1923113  1977-01-21    1.967886\\n\",\n       \"1923114  1977-01-24    1.990787\\n\",\n       \"1923115  1977-01-25    1.993909\\n\",\n       \"1923116  1977-01-26    2.003798\\n\",\n       \"1923117  1977-01-27    2.000676\\n\",\n       \"1923118  1977-01-28    2.003798\"\n      ]\n     },\n     \"execution_count\": 202,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.iloc[:20][['Date', 'Adj. Close']]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 203,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Day 0</th>\\n\",\n       \"      <th>Day 1</th>\\n\",\n       \"      <th>Day 2</th>\\n\",\n       \"      <th>Day 3</th>\\n\",\n       \"      <th>Day 4</th>\\n\",\n       \"      <th>Day 5</th>\\n\",\n       \"      <th>Day 6</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-12</th>\\n\",\n       \"      <td>1.93223</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-13</th>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-14</th>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-15</th>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-16</th>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-17</th>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-18</th>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-19</th>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-20</th>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-21</th>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-22</th>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-23</th>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-24</th>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-25</th>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-26</th>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-27</th>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-28</th>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-29</th>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-30</th>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-31</th>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-01</th>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-02</th>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-03</th>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-04</th>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-05</th>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-06</th>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-07</th>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-08</th>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-09</th>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"      <td>2.1438</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-10</th>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"      <td>2.1438</td>\\n\",\n       \"      <td>2.16306</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-04</th>\\n\",\n       \"      <td>31.7411</td>\\n\",\n       \"      <td>31.9399</td>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-05</th>\\n\",\n       \"      <td>31.9399</td>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-06</th>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-07</th>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-08</th>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-09</th>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-10</th>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-11</th>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-12</th>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-13</th>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-14</th>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-15</th>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-16</th>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-17</th>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-18</th>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-19</th>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-20</th>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-21</th>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-22</th>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-23</th>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-24</th>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-25</th>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-26</th>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-27</th>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-28</th>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-29</th>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-30</th>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-31</th>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-09-01</th>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"      <td>34.4913</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-09-02</th>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"      <td>34.4913</td>\\n\",\n       \"      <td>34.6683</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>9000 rows × 7 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"              Day 0    Day 1    Day 2    Day 3    Day 4    Day 5    Day 6\\n\",\n       \"1977-01-12  1.93223  1.97777  1.95175  1.95826  1.94863   2.0103  1.97777\\n\",\n       \"1977-01-13  1.97777  1.95175  1.95826  1.94863   2.0103  1.97777  1.96789\\n\",\n       \"1977-01-14  1.95175  1.95826  1.94863   2.0103  1.97777  1.96789  1.99079\\n\",\n       \"1977-01-15  1.95826  1.94863   2.0103  1.97777  1.96789  1.99079  1.99391\\n\",\n       \"1977-01-16  1.94863   2.0103  1.97777  1.96789  1.99079  1.99391   2.0038\\n\",\n       \"1977-01-17   2.0103  1.97777  1.96789  1.99079  1.99391   2.0038  2.00068\\n\",\n       \"1977-01-18  1.97777  1.96789  1.99079  1.99391   2.0038  2.00068   2.0038\\n\",\n       \"1977-01-19  1.96789  1.99079  1.99391   2.0038  2.00068   2.0038  1.99079\\n\",\n       \"1977-01-20  1.99079  1.99391   2.0038  2.00068   2.0038  1.99079  1.99729\\n\",\n       \"1977-01-21  1.99391   2.0038  2.00068   2.0038  1.99079  1.99729  1.99729\\n\",\n       \"1977-01-22   2.0038  2.00068   2.0038  1.99079  1.99729  1.99729  1.99391\\n\",\n       \"1977-01-23  2.00068   2.0038  1.99079  1.99729  1.99729  1.99391  2.00692\\n\",\n       \"1977-01-24   2.0038  1.99079  1.99729  1.99729  1.99391  2.00692  2.03633\\n\",\n       \"1977-01-25  1.99079  1.99729  1.99729  1.99391  2.00692  2.03633  2.10139\\n\",\n       \"1977-01-26  1.99729  1.99729  1.99391  2.00692  2.03633  2.10139  2.17295\\n\",\n       \"1977-01-27  1.99729  1.99391  2.00692  2.03633  2.10139  2.17295  2.19247\\n\",\n       \"1977-01-28  1.99391  2.00692  2.03633  2.10139  2.17295  2.19247  2.19247\\n\",\n       \"1977-01-29  2.00692  2.03633  2.10139  2.17295  2.19247  2.19247  2.17946\\n\",\n       \"1977-01-30  2.03633  2.10139  2.17295  2.19247  2.19247  2.17946  2.18596\\n\",\n       \"1977-01-31  2.10139  2.17295  2.19247  2.19247  2.17946  2.18596  2.16644\\n\",\n       \"1977-02-01  2.17295  2.19247  2.19247  2.17946  2.18596  2.16644  2.12741\\n\",\n       \"1977-02-02  2.19247  2.19247  2.17946  2.18596  2.16644  2.12741  2.12741\\n\",\n       \"1977-02-03  2.19247  2.17946  2.18596  2.16644  2.12741  2.12741   2.1144\\n\",\n       \"1977-02-04  2.17946  2.18596  2.16644  2.12741  2.12741   2.1144   2.1144\\n\",\n       \"1977-02-05  2.18596  2.16644  2.12741  2.12741   2.1144   2.1144  2.08837\\n\",\n       \"1977-02-06  2.16644  2.12741  2.12741   2.1144   2.1144  2.08837  2.09176\\n\",\n       \"1977-02-07  2.12741  2.12741   2.1144   2.1144  2.08837  2.09176  2.09488\\n\",\n       \"1977-02-08  2.12741   2.1144   2.1144  2.08837  2.09176  2.09488   2.1209\\n\",\n       \"1977-02-09   2.1144   2.1144  2.08837  2.09176  2.09488   2.1209   2.1438\\n\",\n       \"1977-02-10   2.1144  2.08837  2.09176  2.09488   2.1209   2.1438  2.16306\\n\",\n       \"...             ...      ...      ...      ...      ...      ...      ...\\n\",\n       \"2001-08-04  31.7411  31.9399  31.7808    32.64    32.99  33.8094  33.9844\\n\",\n       \"2001-08-05  31.9399  31.7808    32.64    32.99  33.8094  33.9844  33.9683\\n\",\n       \"2001-08-06  31.7808    32.64    32.99  33.8094  33.9844  33.9683  34.1131\\n\",\n       \"2001-08-07    32.64    32.99  33.8094  33.9844  33.9683  34.1131  33.8637\\n\",\n       \"2001-08-08    32.99  33.8094  33.9844  33.9683  34.1131  33.8637  33.9361\\n\",\n       \"2001-08-09  33.8094  33.9844  33.9683  34.1131  33.8637  33.9361  34.1453\\n\",\n       \"2001-08-10  33.9844  33.9683  34.1131  33.8637  33.9361  34.1453  34.3947\\n\",\n       \"2001-08-11  33.9683  34.1131  33.8637  33.9361  34.1453  34.3947  34.3706\\n\",\n       \"2001-08-12  34.1131  33.8637  33.9361  34.1453  34.3947  34.3706  34.3465\\n\",\n       \"2001-08-13  33.8637  33.9361  34.1453  34.3947  34.3706  34.3465  34.1131\\n\",\n       \"2001-08-14  33.9361  34.1453  34.3947  34.3706  34.3465  34.1131  34.3062\\n\",\n       \"2001-08-15  34.1453  34.3947  34.3706  34.3465  34.1131  34.3062  33.9925\\n\",\n       \"2001-08-16  34.3947  34.3706  34.3465  34.1131  34.3062  33.9925  33.9442\\n\",\n       \"2001-08-17  34.3706  34.3465  34.1131  34.3062  33.9925  33.9442  33.9522\\n\",\n       \"2001-08-18  34.3465  34.1131  34.3062  33.9925  33.9442  33.9522  33.9361\\n\",\n       \"2001-08-19  34.1131  34.3062  33.9925  33.9442  33.9522  33.9361  33.7672\\n\",\n       \"2001-08-20  34.3062  33.9925  33.9442  33.9522  33.9361  33.7672  33.7189\\n\",\n       \"2001-08-21  33.9925  33.9442  33.9522  33.9361  33.7672  33.7189  33.8396\\n\",\n       \"2001-08-22  33.9442  33.9522  33.9361  33.7672  33.7189  33.8396  33.4936\\n\",\n       \"2001-08-23  33.9522  33.9361  33.7672  33.7189  33.8396  33.4936  32.4719\\n\",\n       \"2001-08-24  33.9361  33.7672  33.7189  33.8396  33.4936  32.4719  33.1316\\n\",\n       \"2001-08-25  33.7672  33.7189  33.8396  33.4936  32.4719  33.1316   33.735\\n\",\n       \"2001-08-26  33.7189  33.8396  33.4936  32.4719  33.1316   33.735  33.8235\\n\",\n       \"2001-08-27  33.8396  33.4936  32.4719  33.1316   33.735  33.8235  34.2499\\n\",\n       \"2001-08-28  33.4936  32.4719  33.1316   33.735  33.8235  34.2499   34.258\\n\",\n       \"2001-08-29  32.4719  33.1316   33.735  33.8235  34.2499   34.258  35.0947\\n\",\n       \"2001-08-30  33.1316   33.735  33.8235  34.2499   34.258  35.0947  35.2878\\n\",\n       \"2001-08-31   33.735  33.8235  34.2499   34.258  35.0947  35.2878  34.8131\\n\",\n       \"2001-09-01  33.8235  34.2499   34.258  35.0947  35.2878  34.8131  34.4913\\n\",\n       \"2001-09-02  34.2499   34.258  35.0947  35.2878  34.8131  34.4913  34.6683\\n\",\n       \"\\n\",\n       \"[9000 rows x 7 columns]\"\n      ]\n     },\n     \"execution_count\": 203,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# N-day prices target\\n\",\n    \"\\n\",\n    \"# Initialise variables\\n\",\n    \"target_days = 7\\n\",\n    \"\\n\",\n    \"# Create target dataframe\\n\",\n    \"nday_columns = []\\n\",\n    \"for j in range(1,target_days+1):\\n\",\n    \"    nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"# Fill target dataframe\\n\",\n    \"for i in range(periods):\\n\",\n    \"    for j in range(target_days):\\n\",\n    \"        nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[i+days+j]['Adj. Close']\\n\",\n    \"nday_prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 206,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (X,y):  (7200, 9) (7200, 1)\\n\",\n      \"Test shapes (X,y):  (1800, 9) (1800, 1)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(train, prices, test_size=0.2, random_state=0)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape)\\n\",\n    \"print(\\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 207,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (Xnd,ynd):  (7200, 9) (7200, 7)\\n\",\n      \"Test shapes (Xnd,ynd):  (1800, 9) (1800, 7)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"\\n\",\n    \"Xnd_train, Xnd_test, ynd_train, ynd_test = train_test_split(train, nday_prices, test_size=0.2, random_state=0)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (Xnd,ynd): \\\", Xnd_train.shape, ynd_train.shape)\\n\",\n    \"print(\\\"Test shapes (Xnd,ynd): \\\", Xnd_test.shape, ynd_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 218,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"ImportError\",\n     \"evalue\": \"cannot import name 'parallel_helper'\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mImportError\\u001b[0m                               Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-218-79b0717949c0>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      4\\u001b[0m \\u001b[0;31m# clf = svm.SVR()\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 6\\u001b[0;31m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mmultioutput\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mMultiOutputRegressor\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      7\\u001b[0m \\u001b[0mclf\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mMultiOutputRegressor\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0msvm\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mSVR\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mrandom_state\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      8\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/multioutput.py\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m     21\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mbase\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mRegressorMixin\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mClassifierMixin\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     22\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mcheck_array\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mcheck_X_y\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 23\\u001b[0;31m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mfixes\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mparallel_helper\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     24\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mvalidation\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mcheck_is_fitted\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mhas_fit_parameter\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     25\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mexternals\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mjoblib\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mParallel\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mdelayed\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mImportError\\u001b[0m: cannot import name 'parallel_helper'\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Classifier\\n\",\n    \"\\n\",\n    \"from sklearn import svm\\n\",\n    \"# clf = svm.SVR()\\n\",\n    \"\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"clf = MultiOutputRegressor(svm.SVR(random_state=0))\\n\",\n    \"\\n\",\n    \"clf.fit(Xnd_train, ynd_train)\\n\",\n    \"pred = clf.predict(Xnd_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Metrics\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Metrics\\n\",\n    \"\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\\n\",\n    \"\\n\",\n    \"print(\\\"Mean Absolute Error: \\\", mean_absolute_error(y_test, pred))\\n\",\n    \"print(\\\"Explained Variance Score: \\\", explained_variance_score(y_test, pred))\\n\",\n    \"print(\\\"Mean Squared Error: \\\", mean_squared_error(y_test, pred))\\n\",\n    \"print(\\\"R2 score: \\\", r2_score(y_test, pred))\\n\",\n    \"print(\\\"Median Absolute Error: \\\", median_absolute_error(y_test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Issues\\n\",\n    \"If `train_test_split` shuffles, we may have seen some data in the test set before.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/p5.2-4-report-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis\\n\",\n    \"\\n\",\n    \"## Data Exploration\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Description of Primary Dataset\\n\",\n    \"The primary dataset used is daily stock data for stocks on the London Stock Exchange (LSE). The date range for stock data varies depending on when the stock went public. The furthest date was in the year 1954. The most recent date in the dataset was 9 September 2016. The data was taken from Quandl's free access database.\\n\",\n    \"\\n\",\n    \"All the data is in one comma-separated value file (CSV), with each row being one datapoint. There are over 14 million datapoints in the dataset. \\n\",\n    \"\\n\",\n    \"Each row has 14 columns. That means we have 14 features for each stock on every trading day since the year when the stock was tradable (from 1954 onwards). Unless otherwise indicated, the column values are all floats.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Column</th><th>Format or accuracy if float</th><th>Meaning</th>\\n\",\n    \"<tr><td>Stock symbol</td><td>string</td><td>How the stock is represented on the London Stock Exchange. E.g. GOOGLE's stock symbol is GOOGL.</td></tr>\\n\",\n    \"<tr><td>Date</td><td>YYYY-MM-DD</td><td></td></tr>\\n\",\n    \"<tr><td>Open</td><td>given to 2 decimal places (2 d.p.)</td><td>Price of stock when the market opened on that day in GBP £.</td></tr>\\n\",\n    \"<tr><td>High</td><td>2 d.p.</td><td>Maximum price of the stock during the trading day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Low</td><td>2 d.p.</td><td>Minimum price of the stock during the trading day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Close</td><td>2 d.p.</td><td>Price of stock when the market closed on that day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Volume</td><td>1 d.p.</td><td>The number of shares of that stock traded on that day.</td></tr>\\n\",\n    \"<tr><td>Ex-Dividend</td><td>1 d.p.</td><td>The value of the declared or upcoming dividend that will belong to the seller of the stock share rather than the buyer. Dividend is profits distributed to shareholders. If the upcoming dividend will be given to the buyer, Ex-Dividend = 0.</td></tr>\\n\",\n    \"<tr><td>Split Ratio</td><td>1 d.p.</td><td>A company may choose to split their stock. E.g. a 2.0 (2:1) split ratio means shareholders get two new shares for every share they hold. This halves the price to preserve the market capitalisation (total value) of the company.</td></tr>\\n\",\n    \"<tr><td>Adjusted Open</td><td>6 d.p.</td><td>Adjusted opening price (price of stock when the market opened on that day). Adjusted prices are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.</td></tr>\\n\",\n    \"<tr><td>Adjusted High</td><td>6 d.p.</td><td>See Adjusted Open and High.</td></tr>\\n\",\n    \"<tr><td>Adjusted Low</td><td>6 d.p.</td><td>See Adjusted Open and Low.</td></tr>\\n\",\n    \"<tr><td>Adjusted Close</td><td>6 d.p.</td><td>See Adjusted Open and Close.</td></tr>\\n\",\n    \"<tr><td>Adjusted Volume</td><td>1 d.p.</td><td>See Adjusted Open and  Volume.</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference: [Definition of Ex-Dividend (Investopedia)](http://www.investopedia.com/terms/e/ex-dividend.asp)\\n\",\n    \"\\n\",\n    \"#### Data sample\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>0</td><td>A</td><td>1999-11-18</td><td>45.50</td><td>50.00</td><td>40.00</td><td>44.00</td><td>44739900.0</td><td>0.0</td><td>1.0</td><td>43.471810</td><td>47.771219</td><td>38.216975</td><td>42.038673</td><td>44739900.0</td></tr>\\n\",\n    \"<tr><td>1</td><td>A</td><td>1999-11-19</td><td>42.94</td><td>43.00</td><td>39.81</td><td>40.38</td><td>10897100.0</td><td>0.0</td><td>1.0</td><td>41.025923</td><td>41.083249</td><td>38.035445</td><td>38.580037</td><td>10897100.0</td></tr>\\n\",\n    \"<tr><td>2</td><td>A</td><td>1999-11-22</td><td>41.31</td><td>44.00</td><td>40.06</td><td>44.00</td><td>4705200.0</td><td>0.0</td><td>1.0</td><td>39.468581</td><td>42.038673</td><td>38.274301</td><td>42.038673</td><td>4705200.0</td></tr>\\n\",\n    \"<tr><td>3</td><td>A</td><td>1999-11-23</td><td>42.50</td><td>43.63</td><td>40.25</td><td>40.25</td><td>4274400.0</td><td>0.0</td><td>1.0</td><td>40.605536</td><td>41.685166</td><td>38.455832</td><td>38.455832</td><td>4274400.0</td></tr>\\n\",\n    \"<tr><td>4</td><td>A</td><td>1999-11-24</td><td>40.13</td><td>41.94</td><td>40.00</td><td>41.06</td><td>3464400.0</td><td>0.0</td><td>1.0</td><td>38.341181</td><td>40.070499</td><td>38.216975</td><td>39.229725</td><td>3464400.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"*Obtained using `df.head()`*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Description of supplementary dataset (FTSE100)\\n\",\n    \"\\n\",\n    \"I wanted to add features that corresponded to the general market trend and thought the FTSE100 would be a good representation. The FTSE100 as a single index was not included in my primary dataset, so I obtained the data by scraping Google Finance with a python script (see `google-finance-scraper.py`).\\n\",\n    \"\\n\",\n    \"The supplementary dataset has Open, High, Low, Close data in the date range April 1, 1984 - September 9, 2016.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Defining Characteristics about Stock Data\\n\",\n    \"1. Limit Down Circuit Breakers\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dataset Statistics \\n\",\n    \"\\n\",\n    \"The summary statistics for the dataset are not too meaningful, but it gives us an idea of the **variance within the dataset**. The standard deviation of the adjusted close price is of magnitude 10^3 ($1000), and the standard deviation of adjusted volume is of magnitude 10^6 (1,000,000 shares). \\n\",\n    \"\\n\",\n    \"The summary statistics suggest that the data is **positively skewed**. \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>mean</td><td>7.092291e+01</td><td>7.188109e+01</td><td>7.047024e+01</td><td>7.120251e+01</td><td>1.182026e+06</td><td>1.982789e-03</td><td>1.000210e+00</td><td>7.518079e+01</td><td>7.633755e+01</td><td>7.451613e+01</td><td>7.544570e+01</td><td>1.402925e+06</td></tr>\\n\",\n    \"<tr><td>std</td><td>2.193723e+03</td><td>2.220224e+03</td><td>2.191789e+03</td><td>2.206792e+03</td><td>8.868551e+06</td><td>3.370723e-01</td><td>2.165061e-02</td><td>2.266636e+03</td><td>2.295340e+03</td><td>2.261718e+03</td><td>2.279264e+03</td><td>6.620816e+06</td></tr>\\n\",\n    \"<tr><td>min</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>1.000000e-02</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td></tr>\\n\",\n    \"<tr><td>max</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>6.674913e+09</td><td>9.625000e+02</td><td>5.000000e+01</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>2.304019e+09</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"I have checked the count is constant across all columns, i.e. that there are no missing values.\\n\",\n    \"\\n\",\n    \"### Interesting observations: Abnormalities in dataset\\n\",\n    \"The minimum Open, High, Low and Close are all zero. If a stock trades at a price of zero, it kind of doesn't exist. I will examine this in the Data Preprocessing section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### BP Statistics\\n\",\n    \"\\n\",\n    \"More meaningful than the summary statistics for all 3,000+ stocks is the summary statistics for one stock. Since one of the stocks we are hoping to predict is that of BP (British Petroleum), let's examine the corresponding summary statistics.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th><th>Daily Variation</th></tr>\\n\",\n    \"<tr><td>mean</td><td>59.428433</td><td>59.908222</td><td>58.943809</td><td>59.446137</td><td>2.816082e+06</td><td>0.004626</td><td>1.000400</td><td>18.705367</td><td>18.855246</td><td>18.547576</td><td>18.707358</td><td>3.408274e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>std</td><td>20.589378</td><td>20.676885</td><td>20.513272</td><td>20.598500</td><td>7.217241e+06</td><td>0.048270</td><td>0.019987</td><td>14.127674</td><td>14.228791</td><td>14.011973</td><td>14.122609</td><td>7.532096e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>min</td><td>27.250000</td><td>27.850000</td><td>26.500000</td><td>27.020000</td><td>0.000000e+00</td><td>0.000000</td><td>1.000000</td><td>1.522366</td><td>1.528872</td><td>1.503109</td><td>1.522366</td><td>0.000000e+00</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>25%</td><td>44.750000</td><td>45.162500</td><td>44.250000</td><td>44.770000</td><td>1.831500e+05</td><td>0.000000</td><td>1.000000</td><td>5.426399</td><td>5.493816</td><td>5.373302</td><td>5.442764</td><td>7.536000e+05</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>50%</td><td>53.940000</td><td>54.360000</td><td>53.500000</td><td>53.940000</td><td>6.371500e+05</td><td>0.000000</td><td>1.000000</td><td>15.077767</td><td>15.165769</td><td>15.033179</td><td>15.099474</td><td>1.904100e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>75%</td><td>69.750000</td><td>70.230000</td><td>69.327500</td><td>69.795000</td><td>3.784475e+06</td><td>0.000000</td><td>1.000000</td><td>31.849522</td><td>32.207689</td><td>31.524772</td><td>31.889513</td><td>4.051675e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>max</td><td>147.120000</td><td>147.380000</td><td>146.380000</td><td>146.500000</td><td>2.408085e+08</td><td>0.840000</td><td>2.000000</td><td>50.669004</td><td>50.988683</td><td>50.039144</td><td>50.533702</td><td>2.408085e+08</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"I have checked the count is 10010 across all columns, i.e. that there are no missing values.\\n\",\n    \"\\n\",\n    \"This is much better understood with a visualisation of the BP data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploratory Visualisations\\n\",\n    \"\\n\",\n    \"### Open and Adjusted Open Prices\\n\",\n    \"Let's first get an idea of the open and adjusted open prices. This is equivalent to visualising the the close and adjusted close prices - the variable we want to predict - shifted by one day.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/bp-open-prices.png\\\" />\\n\",\n    \"<img src=\\\"images/bp-adj-open-prices.png\\\" />\\n\",\n    \"\\n\",\n    \"*Prices are in GBP £.*\\n\",\n    \"\\n\",\n    \"#### Observations\\n\",\n    \"1. **Adjusted vs non-adjusted figures** It is extraordinary: the adjusted open and the open are radically different for BP, whereas with stock 'A' in the first few rows of the df, Adj. Open and Open had similar values. This makes sense because some stocks that have few corporate actions e.g. stocks that don't have stock splits or give out dividends will require little value adjustment.\\n\",\n    \"    - Since we are predicting the Adjusted Close, my guess is that the Adjusted figures (Open, High, Low, Volume) will be more useful in predicting the adjusted price. The non-adjusted figures (specifically Volume) may still useful in predicting momentum.\\n\",\n    \"\\n\",\n    \"2. **Trend** The non-adjusted prices do not show an upward trend. The adjusted open prices show somewhat of an upward trend but it has been too volatile in recent years to draw any conclusions.\\n\",\n    \"\\n\",\n    \"3. **Volatility** The stock price looks volatile, which is expected for an oil stock. From the descriptive statistics, the mean daily percentage variation is 1.72% and the maximum daily percentage variation is 16.0%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Volatility: Percentage Variation\\n\",\n    \"\\n\",\n    \"To examine the volatility of BP stock, I constructed the features Percentage Variation and Adj. Percentage Variation, where\\n\",\n    \"\\n\",\n    \"`Percentage Variation = (High - Low)/Open * 100`.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/bp-percentage-variation.png\\\" />\\n\",\n    \"<img src=\\\"images/bp-adj-percentage-variation.png\\\" />\\n\",\n    \"\\n\",\n    \"#### Observations\\n\",\n    \"The Adjusted Percentage Variation and Percentage Variation look similar. There does not seem to be marked trends. It is of note that the stocks are consistently volatile with typical percentage variation of 0-4% in recent years, punctuated with spikes of extremely volatile periods of up to 16% variation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Algorithms and techniques\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Algorithm\\n\",\n    \"\\n\",\n    \"I intend to use **linear regression**. \\n\",\n    \"\\n\",\n    \"#### Algorithm Description\\n\",\n    \"\\n\",\n    \"Linear Regression is a way of modelling data by observing data and constructing an equation that minimises error. This regression is linear because the equation takes the form\\n\",\n    \"$$\\\\hat y = \\\\sum \\\\beta_i x_i$$\\n\",\n    \"\\n\",\n    \"where $y$ is what we want to predict (stock prices) and $x_i$s are features such as the date. The hat on top of $y$ indicates it is an estimate.\\n\",\n    \"\\n\",\n    \"That is, this regression is linear because the $x_i$s all have degree 1.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"#### Algorithm Justification\\n\",\n    \"1. I am using a **linear algorithm** because the the **signal-to-noise ratio in trading is low** and more complicated models seem like they would overfit.\\n\",\n    \"2. A linear regression is appropriate because this is a **regression problem** - that is, the output are continuous. \\n\",\n    \"    - Note that *regression* in linear regression does not mean the same thing as *regression* in a regression problem.\\n\",\n    \"\\n\",\n    \"#### Algorithm Parameters\\n\",\n    \"There are only four parameters for `LinearRegression`:\\n\",\n    \"- `fit_intercept` is set to True by default; setting it to false assumes the data is centered and will not produce better results.\\n\",\n    \"- `normalize` normalizes the regressors X before regression. It is set to `False` by default.\\n\",\n    \"- `copy_X` alters whether or not X may be overwritten, which does not affect the result.\\n\",\n    \"- `n_jobs` can provide a speedup if the problem is large and you ask the algorithm to use more CPUs, but it will not change error measures.\\n\",\n    \"\\n\",\n    \"Within these, there is only one parameter that it may be useful to adjust (`normalize`) to improve the error of the result.\\n\",\n    \"\\n\",\n    \"### Techniques\\n\",\n    \"\\n\",\n    \"1. **Time-series train-test split**\\n\",\n    \"    - We will train our model on what we'll call the **training set**, a subset of the data that we have.\\n\",\n    \"    - To make sure our model generalises, we need to test it on some data it has not seen before and evaluate how well it does predicting on that data. \\n\",\n    \"    - To do this, we need to set aside data for testing our model - the **test set**.\\n\",\n    \"    - Because our data is time series data (there is some ordering to it and the ordering influences prices), we cannot shuffle the data.\\n\",\n    \"    - If the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\\n\",\n    \"    - So we cannot use sklearn's `train_test_split` function which automatically shuffles the data. Instead, I will write my own function.\\n\",\n    \"2. **Time-series cross-validation**\\n\",\n    \"    - But testing on only one test set and training on only one training set isn't robust enough. What if the test or training sets we choose have special characteristics that aren't common to other datasets?\\n\",\n    \"    - To make our evaluation more robust so we choose the best model, it's better if we can run multiple train-test cycles. \\n\",\n    \"    - To do this, I wrote the function `execute()`. \\n\",\n    \"   \\n\",\n    \"\\n\",\n    \"#### TODO: Add detail.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Benchmark\\n\",\n    \"\\n\",\n    \"The benchmark given in the project outline was +/- 5% of the stock price 7 days out. That seems reasonable to start.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## III. Methodology\\n\",\n    \"_(approx. 3-5 pages)_\\n\",\n    \"\\n\",\n    \"### Data Preprocessing\\n\",\n    \"In this section, all of your preprocessing steps will need to be clearly documented, if any were necessary. From the previous section, any of the abnormalities or characteristics that you identified about the dataset will be addressed and corrected here. Questions to ask yourself when writing this section:\\n\",\n    \"- _If the algorithms chosen require preprocessing steps like feature selection or feature transformations, have they been properly documented?_\\n\",\n    \"- _Based on the **Data Exploration** section, if there were abnormalities or characteristics that needed to be addressed, have they been properly corrected?_\\n\",\n    \"- _If no preprocessing is needed, has it been made clear why?_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology\\n\",\n    \"\\n\",\n    \"## Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Minor edits\\n\",\n    \"1. On opening the CSV and sampling it with `df.head()`, I realised the CSV had no header. I added a header to the CSV:\\n\",\n    \"```python\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\\n\",\n    \"```\\n\",\n    \"where `header_names` was an slightly edited header I'd obtained from downloading the data for an individual stock from Quandl.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Examining Abnormalities\\n\",\n    \"\\n\",\n    \"I noted above that there were datapoints with opening price, high, low and closing price of 0.0. Were these mistakes? On investigating the data, it is plausble these were not mistakes.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>1047193</td><td>ARWR</td><td>2002-10-11</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>65000.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>100.000000</td></tr>\\n\",\n    \"<tr><td>1047194</td><td>ARWR</td><td>2002-10-14</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>0.000000</td></tr>\\n\",\n    \"<tr><td>7608936</td><td>LFVN</td><td>2003-02-21</td><td>0.0</td><td>0.01</td><td>0.0</td><td>0.01</td><td>27200.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>4.76</td><td>0.0</td><td>4.760000</td><td>57.142857</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I've included three examples in the table above. The third example shows that the figures may not actually be zero but may be zero to one or two decimal places: the open and low prices were 0.0, but the high and close prices were 0.01.\\n\",\n    \"\\n\",\n    \"I assembled a list of stocks where the open or close was equal to 0 and will examine individual stocks on the list if they end up as features I'd like to use in my model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1. Daily and Percentage Variation\\n\",\n    \"\\n\",\n    \"Reasoning: This is an indicator of how volatile prices have been. If the daily variation has been higher recently, that may mean there is a lot of uncertainty and that we can expect more fluctuations or that we shouldn't take big one-day changes too seriously when considering long-term predictions. \\n\",\n    \"\\n\",\n    \"I calculated the daily absolute and percentage variation (adjusted and unadjusted) for the entire data frame.\\n\",\n    \"\\n\",\n    \"### 2. Prices of related stocks (Oil stocks)\\n\",\n    \"\\n\",\n    \"Reasoning: BP's stock price is affected by how people feel about oil in general. Thus prices of oil stocks may correlate positively or negatively (if they are direct competitors) with BP's prices.\\n\",\n    \"\\n\",\n    \"I obtained a list of oil companies listed on the LSE by searching for stocks with the same group code (537 for oil) in `list-of-all-securities-ex-debt.csv`.\\n\",\n    \"\\n\",\n    \"Unfortunately there was only one other oil stock on my list that I found in this database (`GAIA`), so instead of creating an aggregated dataframe, I only included `GAIA`'s data in my additional set of features.\\n\",\n    \"\\n\",\n    \"Improvement for future studies: Collect data from another data source to come up with a more informative feature.\\n\",\n    \"\\n\",\n    \"#### Adding GAIA Features\\n\",\n    \"The GAIA trading dates started on 1999-10-29 whereas the BP trading dates started much earlier, so that cut out a large portion of the dataset. Data had to be taken out because it did not make sense to create proxy values for 20+ years' of volatile price data.\\n\",\n    \"\\n\",\n    \"**Complications** There was also a discrepancy in the trading dates. We have data for BP and GAIA on every trading day from 1999-10-29 to 2014-10-02, but beyond that the data for GAIA is incomplete. There was no information on GAIA trading on the second, fourth or fifth of October 2014 (whereas there was for BP). Thus our dataset is pared down even further to a size of 3754 as opposed to 10010 for BP. This is a huge cut.\\n\",\n    \"\\n\",\n    \"### 3. Prices of FTSE100\\n\",\n    \"\\n\",\n    \"Reasoning: Stock prices are also affected by how people feel about the market in general. The FTSE100 is fairly representative of the performance of the market in general, so including it as a feature can help us account for that aspect.\\n\",\n    \"\\n\",\n    \"**Complications** There were 158 dates for which we had BP trading data but not FTSE trading data. (This is unexpected because the FTSE should have values on all trading days. The discrepancy is likely due to problems with the data source. This is unexpected because the data source for FTSE prices was Google Finance, which should be reliable.) \\n\",\n    \"\\n\",\n    \"But because there were only 158 NaNs and they were spread thinly over 8000 datapoints, it made it impossible to truncate a large section with no NaNs that would be large enough to do multiple rounds of meaningful training and testing on. \\n\",\n    \"\\n\",\n    \"I thus proxied the missing prices by taking the means of the the FTSE prices from the trading day before and the trading day after. If those were also NaNs, I moved either one day forward or one day backward. (See `# Proxy remaining NaNs` in 1.2.2.3.) Since the FTSE does not usually fluctuate wildly, I considered the mean to be a reasonable proxy.\\n\",\n    \"\\n\",\n    \"As with prices of oil stocks, an improvement would be to consult another data source to fill in the gaps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Initial implementation\\n\",\n    \"I initially implemented the Linear Regression algorithm with the following basic features:\\n\",\n    \"* Adjusted Close prices on each of the 7 days prior to the first prediction date\\n\",\n    \"* Max Adjusted High and Min Adjusted Low for that 7-day period prior to the first prediction date.\\n\",\n    \"\\n\",\n    \"### Process:\\n\",\n    \"1. Construct dataframe `X` containing initial features and dataframe `y` with 'Adjusted Close' prices.\\n\",\n    \"    - This required some setting up to extract the relevant features from the dataset and put them in an appropriately formatted dataframe. This is in the first half of `prepare_train_test()` function in part 2.1 of `III. Methodology - Code.ipynb`.\\n\",\n    \"    - The `y` target `nday_prices` had prices for the next `n` days.\\n\",\n    \"2. Split `X` and `y` into training and test datasets.\\n\",\n    \"    - I wrote my own function to do this (initially in `train_test_split_noshuffle` before I absorbed it into `prepare_train_test()`) instead of using sklearn's `train_test_split`. This was because sklearn's function automatically shuffles the data. Shuffling the data is okay and desired for situations in which data is not ordered, but is not okay for time-series data. \\n\",\n    \"    - If the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\\n\",\n    \"3. Train model on training data.\\n\",\n    \"    - Because there were multiple outputs to predict in `nday_prices` (the model had to forecast prices for each of the 7 trading days after the last date it was given), I wrapped `MultiOutputRegressor` from sklearn's `multioutput` module around my classifier.\\n\",\n    \"    - This is in the first half of the function `classify_and_metrics` in `2.2 Classifier` in `III. Methodology - Code.ipynb`.\\n\",\n    \"4. Ask model to predict prices on test features.\\n\",\n    \"5. Print metrics\\n\",\n    \"    - I included this in `classify_and_metrics()` using my helper functions `rmsp()` (root mean squared percentage error) and `print_metrics()`. See Section `2.2 Classifier` in `III. Methodology - Code.ipynb`.\\n\",\n    \"\\n\",\n    \"#### Refactoring\\n\",\n    \"I refactored the code so that I could run a full (1) train-test split, (2) train classifier, (3) test classifier and print metrics cycle using only one line. To do this, I wrapped all the functions those processes with the `execute()` function.\\n\",\n    \"\\n\",\n    \"### Initial Results\\n\",\n    \"The results are shown below. I also tried using an SVM regression for comparison. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Linear Regression\\n\",\n    \"<table>\\n\",\n    \"<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Mean R2 score: 0.807. Ranged from 0.606 to 0.936.\\n\",\n    \"\\n\",\n    \"#### SVM.SVR\\n\",\n    \"<table>\\n\",\n    \"<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\\n\",\n    \"<tr><td>1</td><td>11.230</td></tr>\\n\",\n    \"<tr><td>2</td><td>11.460</td></tr>\\n\",\n    \"<tr><td>3</td><td>11.761</td></tr>\\n\",\n    \"<tr><td>4</td><td>12.022</td></tr>\\n\",\n    \"<tr><td>5</td><td>12.323</td></tr>\\n\",\n    \"<tr><td>6</td><td>12.667</td></tr>\\n\",\n    \"<tr><td>7</td><td>13.060</td></tr>\\n\",\n    \"</table>\\n\",\n    \"Mean R2 score: -2.044. Ranged from -9.156 to 0.822.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Linear Regression did surprisingly well, with a mean R2 score above 0.807 overall for 7-day predictions and a mean RMS percentage error of under 5% for forecasts 7 days away. \\n\",\n    \"\\n\",\n    \"The SVM regression did horribly - it had a negative mean R2 score (-2.044) and negative median R2 score, which means it was worse than guessing randomly. It had a mean RMS percentage error of over 24% for all number-of-days ahead predicted.\\n\",\n    \"\\n\",\n    \"It is impressive that the Linear Regression model did so well with such basic features.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# TODO: Insert plot of predictions vs actual prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Refinement\\n\",\n    \"\\n\",\n    \"### 1. Adjusting parameters\\n\",\n    \"\\n\",\n    \"As discussed in Analysis: Algorithm Parameters, there is only one parameter that it may be useful to adjust (`normalize`).\\n\",\n    \"\\n\",\n    \"I ran the algorithm with `normalize=True` to see if it produced better results. The metrics returned were exactly the same as when, by default, `normalize=False`.\\n\",\n    \"\\n\",\n    \"### 2. Add features (Feature Selection)\\n\",\n    \"\\n\",\n    \"I then experimented with adding the features I'd engineered earlier. (See *Data Preprocessing: Feature Engineering* for more details on how these features came about.)\\n\",\n    \"\\n\",\n    \"#### 2.1 Adding more of the same type of features:\\n\",\n    \"\\n\",\n    \"In the first implementation, I only used prices from the 7 days running up to the first prediction day. I then tried using prices from 10, 14, 21 and 30 days running up to the first prediction day. \\n\",\n    \"\\n\",\n    \"Reasoning: If we have more data, it makes sense to use it if we are confident it will give us better results.\\n\",\n    \"\\n\",\n    \"To do this, I changed the value of the parameter `days` in the function `execute`, which trains and tests the classifier and prints metrics. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"#### Mean Daily Error across 15 trials\\n\",\n    \"<table>\\n\",\n    \"<th>Day to predict</th><th>7d (used)</th><th>10d</th><th>14d</th><th>21d</th><th>30d</th><th>100d</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.732</td><td>1.729</td><td>1.746</td><td>1.784</td><td>1.924</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.543</td><td>2.526</td><td>2.555</td><td>2.593</td><td>2.768</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>3.138</td><td>3.103</td><td>3.113</td><td>3.152</td><td>3.370</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.579</td><td>3.586</td><td>3.586</td><td>3.633</td><td>3.890</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.939</td><td>4.002</td><td>3.991</td><td>4.048</td><td>4.355</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>4.269</td><td>4.372</td><td>4.342</td><td>4.392</td><td>4.769</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.543</td><td>4.702</td><td>4.658</td><td>4.705</td><td>5.163</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that mean RMS percentage error is slightly smaller in one instance (using 10d instead of 7d to predict precisely 7 days ahead),but otherwise that mean RMS percentage error is greater as the number of days of data given increases.\\n\",\n    \"\\n\",\n    \"This is because more days' of data in this case means more features (e.g. for 100 days' of data we have 102 features). This increases the risk of overfitting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2.2 Adding GAIA (Oil Stock) Prices\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"There were far fewer datapoints to work with because because of date inconsistencies (3753 datapoints vs 10010 for the BP-only model), so I decreased the step length (the difference between start dates) between consecutive trials to 200 from 500. This does not affect individual trial performance, but reduces the variety of data used for trials. We should bear this in mind when comparing performance of adding GAIA prices as features and not adding GAIA prices as features. \\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Day to predict</th><th>7d (no GAIA)</th><th>7d (GAIA)</th><th>10d (no GAIA)</th><th>10d (GAIA)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.744</td><td>1.732</td><td>1.751</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.444</td><td>2.543</td><td>2.467</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>2.938</td><td>3.138</td><td>2.978</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.424</td><td>3.579</td><td>3.479</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.881</td><td>3.939</td><td>3.946</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>4.294</td><td>4.269</td><td>4.368</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.702</td><td>4.543</td><td>4.816</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"*Trial information: (1) Not GAIA: Mean over 15 trials, buffer step = 500. \\n\",\n    \"(2) GAIA: Mean over 13 trials, buffer step = 200. 1000 periods used (800 to train, 200 to test) per trial*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When considering 7 days' worth of data, adding GAIA features produces predictions with a similar mean RMS percentage error. The mean error is higher for 6 out of 7 days-ahead (the exception being 3 days ahead).\\n\",\n    \"\\n\",\n    \"When considering 10 days' worth of data, adding GAIA features performs slightly better for 2-4 days-ahead (0.08%, 0.16%, 0.1% improved) and slightly worse for all other days-ahead (0.02%, 0.01%, 0.1%, 0.27% worse). But these mean RMS percentage errors are all larger than the 7-day no-GAIA mean RMS percentage errors.\\n\",\n    \"\\n\",\n    \"**Action**: I conclude that adding GAIA features in this way does not reliably produce better results, likely because additional features increase the risk of overfitting.\\n\",\n    \"\\n\",\n    \"**Interpretation**: It makes sense because BP prices would not correlate perfectly in one direction or the other with GAIA prices: oil companies' stock prices incorporate sentiment about oil but companies are also often in different regions and compete against each other, muddying correlations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2.3 Adding related features: FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The timespan used for no-FTSE and with-FTSE trials was similar (since we had over 8000 FTSE datapoints), so we can compare the two more readily than we could compare the no-GAIA and with-GAIA figures.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"    <th>Day to predict</th><th>7d (no FTSE)</th><th>7d (FTSE)</th><th>10d (no FTSE)</th><th>10d (FTSE)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.518</td><td>1.732</td><td>1.531</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.222</td><td>2.543</td><td>2.230</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>2.733</td><td>3.138</td><td>2.743</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.179</td><td>3.579</td><td>3.187</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.545</td><td>3.939</td><td>3.574</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>3.857</td><td>4.269</td><td>3.910</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.162</td><td>4.543</td><td>4.236</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"*Trial information: (1) Not FTSE: Mean over 15 trials, buffer step = 500. \\n\",\n    \"(2) FTSE: Mean over 15 trials, buffer step = 450. 1000 periods used (800 to train, 200 to test) per trial*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally something that performs better than the initial model!\\n\",\n    \"\\n\",\n    \"Adding FTSE features makes the model perform better than not adding FTSE features when considering 7 days' or 10 days' worth of data. Using 7 days' worth of data is better than using 10 days' worth of data (reduces overfitting), but it's worth noting that adding FTSE features and using 10 days' worth of data is better than using 7 days' of data but not including FTSE data. \\n\",\n    \"\\n\",\n    \"This is a significant improvement. Note that the percentage error reduction increases the further away the prediction is (0.4% reduction for 6-7 days ahead vs 0.15% reduction for 1 day ahead).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Improvement (Implementation): Generalise functions `prepare_train_test_with_ftse()` so I don't have to write a function for each dataframe join.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# IV. Results\\n\",\n    \"\\n\",\n    \"## Model Evaluation and Validation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Model Choice\\n\",\n    \"\\n\",\n    \"The final model is \\n\",\n    \"- Features:\\n\",\n    \"    - BP Adjusted Close, max BP Adjusted High, min BP Adjusted Low\\n\",\n    \"    - FTSE Close, max FTSE High and min FTSE Low \\n\",\n    \"for 7 days prior to the first prediction date.\\n\",\n    \"- Classifier:\\n\",\n    \"    - Default Linear Regression\\n\",\n    \"\\n\",\n    \"This model had the **lowest mean root mean squared percentage error** across over 10 trials (across timespans of around 30 years) out of all the models I tried.\\n\",\n    \"\\n\",\n    \"Insight: Most of the improvements I tried to make only made the model worse. This goes to show that added complexity doesn't necessarily make a model better, especially when that complexity contains much noise.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Generalisability\\n\",\n    \"When we evaluated the model in the previous section, each iteration of the model was run on 13-15 training and test sets. We then looked at the mean daily root mean squared percentage error. This **variation of input data** is to ensure that the model can generalise well and does not only perform well on one set of data.\\n\",\n    \"\\n\",\n    \"There are two types of metrics we need to look at: mean performance and variance of performance. Both are encapsulated in mean daily RMS percentage error because (1) it measures the performance (error) and (2) it penalises larger errors more because we sum the squared percentage errors before taking the square root. Additionally, by observation, the error of our chosen model does not vary significantly from trial to trial.\\n\",\n    \"\\n\",\n    \"#### Performance Metrics\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"    <th>Day to predict</th><th>Mean root mean squared percentage error across 15 trials</th>\\n\",\n    \"<tr><td>1</td><td>1.518</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.222</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.733</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.179</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.545</td></tr>\\n\",\n    \"<tr><td>6</td><td>3.857</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.162</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Justification (Comparison with expectations)\\n\",\n    \"\\n\",\n    \"Overall, this model aligns with solution expectations and on average performs slightly better than the benchmark of predicting within +/- 5% of the stock's adjusted closing price 7 days after the last training date. The model has mean performance of 4.162% error predicting adjusted closing price 7 days ahead. \\n\",\n    \"\\n\",\n    \"The solution gives a reasonably accurate predictions but it **is not significant enough** to reliably give advice on trades because a 5% error is significant in trading. There are also transaction costs with every trade, which would cut into profits.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/.ipynb_checkpoints/p5.5-conclusion-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# V. Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## V. Conclusion\\n\",\n    \"_(approx. 1-2 pages)_\\n\",\n    \"\\n\",\n    \"### Free-Form Visualization\\n\",\n    \"In this section, you will need to provide some form of visualization that emphasizes an important quality about the project. It is much more free-form, but should reasonably support a significant result or characteristic about the problem that you want to discuss. Questions to ask yourself when writing this section:\\n\",\n    \"- _Have you visualized a relevant or important quality about the problem, dataset, input data, or results?_\\n\",\n    \"- _Is the visualization thoroughly analyzed and discussed?_\\n\",\n    \"- _If a plot is provided, are the axes, title, and datum clearly defined?_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"## Free-Form Visualisation\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import matplotlib.pyplot as plt\\n\",\n    \"\\n\",\n    \"# Visualisation 1: Plotting predictions against actual prices\\n\",\n    \"# Plot predictions\\n\",\n    \"\\\"Model Predictions against BP Actual Adjusted Close Prices\\\"\\n\",\n    \"\\n\",\n    \"# Plot actual adjusted close prices\\n\",\n    \"bp.plot('Adjusted Close')\\n\",\n    \"\\n\",\n    \"# Visualisation 2: Plotting error for each day on different axes against \\n\",\n    \"# adjusted close prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualisation 1: Plotting predictions compared with actual prices\\n\",\n    \"\\n\",\n    \"This graph visualises the 7th-day predictions compared with the actual adjusted close prices.\\n\",\n    \"By 7th-day predictions, I am referring to the price predicted for e.g. Sept 7 if we are given training data up till Aug 30th. The purpose is to see how predictions vary with actual prices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualisation 2: Plotting error for each day compared with percentage variation\\n\",\n    \"\\n\",\n    \"This graph visualises the 7th-day predictions compared with day-on-day percentage variation. The purpose is to see if predictions are less accurte when day-on-day percentage variation is greater.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Reflection\\n\",\n    \"\\n\",\n    \"### Summary\\n\",\n    \"\\n\",\n    \"In this project, we predicted BP's stock price. Initially we used a linear regression only on BP stock prices from the past 7 days, which produced impressive results, with 7-day predictions having a root mean squared percentage error of 5.4%.\\n\",\n    \"\\n\",\n    \"We then WHAT DID I DO LOL\\n\",\n    \"\\n\",\n    \"### Interesting Aspects of the Project\\n\",\n    \"1. I scraped FTSE data from Google Finance. \\n\",\n    \"\\n\",\n    \"### Difficult Aspects of the Project\\n\",\n    \"1. It was hard **selecting the algorithm** to use for this problem. \\n\",\n    \"    - It seemed as though any regression algorithm could work - and there are so many of them! I dealt with this by (1) first implementing an SVM regression to get the code to implement the algorithm down on the page so things would feel more concrete. Then I (2) chose the simplest algorithm that seemed to fit the problem and tried that.\\n\",\n    \"    - I was also conflicted as to whether or not I should use reinforcement learning. On the one hand there are profits that can act as rewards, but on the other hand trading would not impact the environment.\\n\",\n    \"2. **Putting different features together** in a dataframe took effort. \\n\",\n    \"    - Pandas `.iloc` kept throwing errors at me. \\n\",\n    \"    - Different stocks or indices had data for different dates (e.g. some had data for 1984-04-20, some didn't). I had to find these differences and decide what to do with missing data. \\n\",\n    \"3. There were **many possible features**. \\n\",\n    \"    - The project just got longer and longer and I hadn't even looked through half of the features I wanted to investigate or tried different algorithms. I decided to test out only a few features in this exploratory study and leave the rest for another study.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improvements\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Improvement</th><th>Expected Change</th>\\n\",\n    \"<tr><td>1. Try a wider selection of features.\\n\",\n    \"    - Stocks from other stock markets (e.g. NYSE)\\n\",\n    \"    - Company-specific figures such as P/E ratios</td><td>More accurate model</td></tr>\\n\",\n    \"<tr><td>2. Obtain and combine data from different data sources to minimise missing data\\n\",\n    \"    - e.g. FTSE100 prices because they must exist somewhere.</td><td>Increase number of datapoints with accurate data and so improve predictive range and capabilities</td></tr>\\n\",\n    \"<tr><td>3. Add measure of confidence for predictions (Probabilities)</td><td>Better idea of how reliable each prediction is so we can then recommend trades for high-confidence, postive-profit predictions.</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"### Things to Explore\\n\",\n    \"1. Try more algorithms (different classes).\\n\",\n    \"    - Different types of regressions\\n\",\n    \"    - Reinforcement Learning\\n\",\n    \"    - Deep Learning, Ensembles</td><td>Generically \\n\",\n    \"\\n\",\n    \"2. It would also be interesting to try this as a binary classification problem (predicting whether the price would go up or down) as opposed to predicting the exact price.\\n\",\n    \"\\n\",\n    \"### A Better Solution?\\n\",\n    \"Given the openness of this problem and the large universe it is contained in, I am confident that better solutions exist. That is a beautiful characteristic of this problem - than many things (even things which are beyond the scope of financial figures and stock prices, such as Wikipedia page views) can be used as features or proxies for stock prices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Before submitting, ask yourself. . .**\\n\",\n    \"\\n\",\n    \"- Does the project report you’ve written follow a well-organized structure similar to that of the project template?\\n\",\n    \"- Is each section (particularly **Analysis** and **Methodology**) written in a clear, concise and specific fashion? Are there any ambiguous terms or phrases that need clarification?\\n\",\n    \"- Would the intended audience of your project be able to understand your analysis, methods, and results?\\n\",\n    \"- Have you properly proof-read your project report to assure there are minimal grammatical and spelling mistakes?\\n\",\n    \"- Are all the resources used for this project correctly cited and referenced?\\n\",\n    \"- Is the code that implements your solution easily readable and properly commented?\\n\",\n    \"- Does the code execute without error and produce results similar to those reported?\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/2-analysis-code-py2.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis - Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSE daily data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# The data has no header, so I'm going to add one.\\n\",\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Quick feature engineering for exploratory purposes\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.964413</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"      <td>0.307670</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.678325</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"      <td>0.325529</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.510000</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"      <td>0.077029</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.760000</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"      <td>0.195696</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>1.170000</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"      <td>0.447294</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>12.120000</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"      <td>4.081110</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"count  10010.000000  1.001000e+04     10010.000000          10010.000000   \\n\",\n       \"mean      18.707358  3.408274e+06         0.964413              1.720268   \\n\",\n       \"std       14.122609  7.532096e+06         0.678325              1.208542   \\n\",\n       \"min        1.522366  0.000000e+00         0.000000              0.000000   \\n\",\n       \"25%        5.442764  7.536000e+05         0.510000              0.948126   \\n\",\n       \"50%       15.099474  1.904100e+06         0.760000              1.398110   \\n\",\n       \"75%       31.889513  4.051675e+06         1.170000              2.122197   \\n\",\n       \"max       50.533702  2.408085e+08        12.120000             16.048292   \\n\",\n       \"\\n\",\n       \"       Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"count          10010.000000               10010.000000  \\n\",\n       \"mean               0.307670                   1.720268  \\n\",\n       \"std                0.325529                   1.208542  \\n\",\n       \"min                0.000000                   0.000000  \\n\",\n       \"25%                0.077029                   0.948126  \\n\",\n       \"50%                0.195696                   1.398110  \\n\",\n       \"75%                0.447294                   2.122197  \\n\",\n       \"max                4.081110                  16.048292  \"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x117e00090>\"\n      ]\n     },\n     \"execution_count\": 15,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x114d5b710>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nmjRpQteuXbnxxhvZvHlzRUSuNZhyMQyjWrJo0SKmTJlCnTp1ePnll3N2nz/84Q88+uijjB07lrVr\\n1/Laa6/x9ttvM3CgRbBKhikXwzCqJWPGjOHggw9m2LBh/POf/4zLW7VqFaeccgotWrSgb9++LFiw\\nIC6/Tp06fPPNNynv8fXXX/Pwww8zfvx4DjroIOrUqUPPnj157rnneP311ykpKQHg/PPP5/e//z39\\n+/enefPmHHnkkSxevHh7OXPnzqV///60bt2anj178uyzz27PO//887n88ss56aSTaN68OQcffDAL\\nF1b/hWpNuRiGUS0ZM2YMQ4YM4ZxzzmHSpEmsXLlye96ll15K48aNKS0t5bHHHuPxxx+PuzZoIkvG\\n22+/TefOnenTp09ceqdOnejbty9vvvnm9rTx48czYsQIfvzxR3r37s3gwYMB2LBhA/3792fIkCH8\\n8MMPPPXUU1x66aXMnTt3+7VPP/00N998M6tXr6Z79+7cdNNNGddHoWHKxTCMCiGSnU9FmDJlCosX\\nL2bgwIHsv//+7LrrrowfPx6AsrIynn/+eW699VYaNmxIr169GDp0aNz16U4O/eGHH2jfvn1kXvv2\\n7fnhhx+2H5944okccsgh1KtXj9tvv51p06bx3Xff8corr7DLLrtw3nnnISL07t2b008/Pa73ctpp\\np9GnTx/q1KnD4MGDmTlzZqZVUnCYcjEMo0KoZudTEcaMGUP//v1p2dKtnD5o0CBGjx4NwMqVK9m2\\nbRudOnXafn6XLl0qdJ82bdqwbNmyyLxly5bRpk2b7cedO3fevt+kSRNatmzJ999/z6JFi5g2bRqt\\nWrWiVatWtGzZkvHjx1NaWrr9/Hbt2m3fb9y4MevWrauQvIWExRYzDKNasWnTJp555hnKysq29yo2\\nb97M6tWrmTNnDr169aKoqIglS5bQo4dbszA4/pEJRx11FJdddhnTp0/ngAMO2J6+ZMkSpk2bxogR\\nI+LSfNatW8dPP/1Ehw4d6Ny5M8XFxUyaNKlCMlRXrOdiGEa14oUXXqCoqIgvv/ySWbNmMWvWLL78\\n8ksOPfRQxowZQ506dTjttNMYOXIkGzdu5Isvvtjeq8mU3XbbjUsuuYTBgwfz4YcfUlZWxueff84Z\\nZ5xB//79OfLII7efO3HiRKZOncrmzZv5n//5H/r27UvHjh056aSTmD9/PmPHjmXr1q1s2bKF6dOn\\n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\\nQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10ca9f190>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11b16e350>\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nuugiOnXqRNeuXbn11lvr3Q4ePJj999+fq6++mi233JJ+/foB8Pjjj7P99tvTunVrdtxxRyZOdEey\\nf/vtt5x88slsvfXWbLvttjz44IP14ffr14/TTjuN3r1707p1a3baaSc+/fRTAM4991zmzZvHMccc\\nQ+vWrRkwYAAAp556Kh07dqRdu3ZUV1czbdq0ev+WLVvGMcccQ5s2bdhnn3249dZbOeCAA+rtZ8yY\\nweGHH84WW2zBdtttxwsvvBAYL/vuuy+dO3fmpZeix9zX1dUxdOjQ+hbNJ598wm9+8xvatWtH586d\\nufLKK9m4MXrUeFVVFQ8//DC9evWiV69e9WazZ88G4M0332T33XenTZs2dO/evT4eAQ466CAA2rZt\\nS+vWrfn4448ZPHhwzLuMHTuWvffem3bt2rHPPvvwv//9r97u4IMP5q9//Sv7778/rVu35sgjj2TZ\\nsmXBicAwDEexd/IM2NlTg0hkXir06NFD33vvPVVVnTdvnu6www7ap08fVVU9/vjj9bLLLtO1a9fq\\n999/r/vss48+9thjqqr65JNPapMmTfShhx7S2tpaXbdunT7//PPapUsXnTBhgqqqzpo1S+fNm6d1\\ndXW6xx57aP/+/XXjxo06Z84c3XbbbXXkyJGqqtq3b1/ddNNNdcSIEVpXV6c33XST7rvvvjEyjho1\\nKkbuQYMG6Y8//qjr16/Xq666Snfdddd6u9NOO03POOMMXbdunU6bNk27du2qBxxwgKqq/vjjj9q1\\na1cdPHiw1tXV6cSJE3WrrbbS6dOnB8bP7bffrr/97W/r70eMGKFbb721bty4UVVVJ0yYoB9//LHW\\n1dXp3Llzdfvtt9cHHnig3r2I6OGHH67Lly/XdevWqapqVVWVzpo1S1VV33//fZ06daqqqk6ZMkU7\\ndOigr732mqqqfv3111pVVaV1dXX1/j355JP177Js2TJt166dPvPMM1pbW6vDhg3Tdu3a6bJly1RV\\ntbq6Wn/+85/rV199pevWrdPq6mq96aabAt+z1NOpUbl4aa/oZXjkV3QBGgiUg3KBcH7Z0KNHD23V\\nqpW2a9dOe/TooX/4wx903bp1unjxYm3evHl9gaiqOmzYMD344INV1RVy3bt3j/HriCOO0H/84x8N\\nwvj4448buL3zzjv1ggsuUFWnXA477LB6u2nTpmnLli1jZIwowCCWL1+uIqIrV67U2tpabdq0qc6c\\nObPe/pZbbqkvkJ977jk98MADY56/9NJL9W9/+1ug3/PmzdNmzZrpwoULVVX1rLPO0j//+c8JZbn/\\n/vv1xBNPrL8XEa2pqYlxIyL1yiWeP//5z3r11VeralS51NbW1tv7lcvTTz+t++yzT8zzv/71r3Xw\\n4MGq6pTL7bffXm/38MMP61FHHRUYrikXo1iUmnIpm+1f0kGL3KX+2muvcfDBB8eYzZ07lw0bNtCx\\nY0cgqsy7detW76Zr164xz8yfP59tt922gf9z585l4cKFtG/fvt6vuro6DjzwwHo3HTp0qL9u2bIl\\n69ato66ujqqqhj2gdXV1/OUvf+HFF19kyZIliAgiwpIlS1izZg21tbV06dIlUM65c+fy0UcfxchS\\nW1vLOeecExg3Xbt25YADDmDIkCFcccUVvPrqq4wZM6befubMmVx99dWMHz+etWvXsnHjRvbYY48Y\\nP/yyxPPxxx9z0003MXXqVNavX8/69es55ZRTErr3880339C9e/cYs+7du7Nw4cL6+/h4Xb16dVp+\\nG0ZjxcZcQkQDtFvXrl1p0aIFS5cuZdmyZSxfvpwVK1YwefLkejci0uCZWbNmBfrVs2dPli1bVu/X\\nDz/8wPDhw9OSLz6coUOHMnz4cEaNGsWKFSv4+uuv65XfVlttRZMmTViwYEG9+/nz58fIUl1dHSPL\\nypUreeihhxKG37t3b5566ileeuklevbsya677lpvd9lll7Hddtsxa9YsVqxYwe23394gPuPl93PW\\nWWdx/PHHs3DhQlasWMGll15a/3yy5wA6derUYErzvHnz6Ny5c9LnDMNIjCmXPNOhQwcOP/xwrrrq\\nKlatWoWqMnv2bD744IOEz1x00UUMGDCgfjB+1qxZzJ8/n7333ptWrVpx9913s27dOmpra/n8888Z\\nP358Qr/8BXSHDh3qB8DBTeVt3rw57dq148cff+Smm26qL4irqqo48cQT6du3L2vXrmXGjBk89dRT\\n9c/+7ne/48svv2TIkCFs3LiRDRs2MH78eGbMmJFQlpNOOol58+bRp0+fBlOTV61aRevWrWnZsiUz\\nZszgkUceSehPEKtXr6Zdu3Y0bdqUcePGMXTo0Hq7rbbaiqqqqkCFDXD00Uczc+ZMnn32WWpra3nu\\nueeYPn06xxxzTEYyGIYRJS/KRUQGishiEZkcZ36liEwXkSki8vd8hF0sktWOn3rqKdavX8/2229P\\n+/btOeWUU1i0aFFC9yeffDI333wzZ555Jq1bt+aEE05g2bJlVFVV8Z///IeJEyeyzTbbsPXWW3Px\\nxRezcuXKtOS68cYbue2222jfvj333nsvvXv3plu3bnTu3Jkdd9yR3/zmNzHPPvjgg6xYsYKOHTvS\\nu3dvzjzzTJo3bw7A5ptvzsiRI3n22Wfp1KkTnTp14sYbb2T9+vUJZWnZsiUnnXQS33zzDWeddVaM\\n3YABA3jmmWdo3bo1l156KaeffnrC9wgye/jhh7n11ltp06YN/fv357TTTqu323TTTbn55pvZb7/9\\naN++PePGjYvxp3379vznP/9hwIABbLnllgwYMIA33niDdu3aJQzbMIzk5GVXZBHZH1gNPKWqO3tm\\n1cBfgKNVdaOIbKmqSwKe1SCZbJ1C8bnxxhtZvHgxgwYNKrYoJYulU6NYNIpdkVV1DLA8zvgy4O+q\\nutFz00CxGKXFF198wZQpUwAYN24cAwcO5MQTTyyyVIZhlAOFHHPpBRwoIh+JyGgR2bOAYRtZsGrV\\nKk488UQ233xzzjjjDK677jobhzAqgiOOKP7s0kqnkFORmwDtVHVfEdkLeB7oGeSwb9++9dfV1dV2\\nTnaR2HPPPZk5c2axxTCM0Bk5EurqYJNNii1J9tTU1FBTU1NsMRKSt5MoRaQ7MNw35vImcJeqvu/d\\nfwXso6pL456zMRejbLF0Wh6IwMaN5a1c4mkUYy4e4v0ivAocAiAivYCm8YrFMAzDqAzy0i0mIkOB\\namALEZkH9AGeAAaJyBTgJ+DcfIRtGIZhFJ+8KBdVPTOBVfDeIGnQvXt3W29glDzx28gYRmMlb2Mu\\n2ZJozMUwDCMsbMwl/9j2L4ZhGEbomHIxDMMwQseUi2EYhhE6plwMwzCM0DHlYhiGYYSOKRfDMAwj\\ndEy5GIbRKLEVD/nFlIthGIYROqZcjJJk5ky4//5iS2EYRraYcjFKkn/8A666qthSGIaRLaZcDMMw\\njNAx5WIYBWbxYrjllmJLYdg+uPnFlIthFJjXX4fbby+2FIaRX0y5GIZhGKFjysUwDMMInbwoFxEZ\\nKCKLRWRygN01IlInIu3zEbZhGIZRfPLVchkEHBFvKCJdgMOAuXkK1zAMwygB8qJcVHUMsDzA6j7g\\nunyEaRiGYZQOBRtzEZFjgfmqOqVQYRqGYRjFoUkhAhGRTYG/4LrE6o0Tue/bt2/9dXV1NdXV1fkS\\nzTCMRkq5b1xZU1NDTU1NscVIiGieYlhEugPDVXVnEdkReBdYg1MqXYCFwN6q+l3cc5ovmYzy4cor\\n4Z//LP8CIIjHH4dLLqnMdysXRGDDBmhSkOp1YRARVLVklobmM2rF+6GqU4EO9RYic4DdVTVoXMYw\\nKhpTKkZjIF9TkYcCY4FeIjJPRM6Pc6Ik6RYzDMMwypu8tFxU9cwU9j3zEa5hGIZRGtgKfcMwDCN0\\nTLkYhmEYoWPKxShJbNDbSIcnn4SNGzN7xtJWYTDlYhhG2XL++fD558WWwgjClIthFBg7pMpoDJhy\\nKVPOPhsmN9hz2jAaH6asSxNTLmXKM8/AK68UW4r8UckFhvX5G40BUy6GYZQ1lVwRKWdMuRiG0Six\\nFmR+MeViGEZZYy2X0sSUSxljNS/DMEoVUy6GYRhG6JhyMQzDMELHlIthGGWNjbmUJqZcDMMwjNAx\\n5WIYBcYmYoSLtVxKk3ydRDlQRBaLyGSf2d0iMl1EJorISyLSOh9hG4ZhGMUnXy2XQcARcWYjgR1U\\ndVdgJnBTnsI2DKMRYS2X0iQvykVVxwDL48zeVdU67/YjoEs+wjYMw0iGdUsWhmKNuVwAvFWksCsG\\nyySGYS2XUqVJoQMUkZuBDao6NJGbvn371l9XV1dTXV2df8GMkqKSFacVhkYY1NTUUFNTU2wxElJQ\\n5SIi5wFHA4ckc+dXLoZhGPmg3Csw8RXvfv36FU+YAPLZLSbez92IHAlcBxyrqj/lMVzDMAJ48EFo\\n27bYUoSPtQRLk3xNRR4KjAV6icg8ETkfeBDYHHhHRD4VkYfzEXZjotxrXkZhGTsWfvih2FIYjYW8\\ndIup6pkBxoPyEZZhGI2b9euLLYERhK3QL2OsO6A8KVaLs1Jbuo89VmwJjCBMuRiGUdZs2JDdc2vW\\nhCuHEYspF6MksVZZ+FRqnGb7Xq+9Fq4cRiwFX+di5Ma4cbDllu66Urs5jPxg6cUoJKZcyox99oGd\\ndy62FIZhGMmxbjHDaCRUareYUZqYcjGMRkKldotlqzRN2eYXUy6GYTRKKlXZlgqmXMoQyxSGEWXm\\nzGJLYARhysUwCkyxKgeV2g307rvFlsAIwpRLGVKphYSRX6zF67B4KAymXAyjAMyfDwsWuGurHBiN\\nAVvnUsZYDax82H57aNoUli0rngym1IxCYsqlDGkMSqXS3nH1aqgqcj9BpcWpUdpYt5hhGIYROvk6\\nLGygiCwWkck+s3YiMlJEvhCRt0WkTT7CbgxY90Z5Yi0HozGRr5bLIOCIOLMbgXdV9ZfAKOCmPIVt\\nGIZhFJm8KBdVHQMsjzM+DhjsXQ8Gjs9H2IZRqliLs7Sw75FfCjnmsrWqLgZQ1UXA1gUMu6Kw7pXy\\nJPLd7PsZjYFiDuhbFjMMo2iYks8vhZyKvFhEfqaqi0WkA/BdIod9+/atv66urqa6ujr/0pUR1pw3\\nDKOmpoaamppii5GQfCoX8X4RXgfOA+4CegMJDxn1KxcjMVbzKi+sUlBalPv3iK949+vXr3jCBJCv\\nqchDgbFALxGZJyLnA38HDhORL4BDvXvDCKTcM34QVhkoLex75Je8tFxU9cwEVr/NR3ilxtSpbh+p\\nI4/Mj/+WKQzD8kGpY9u/5IFzzoGJEy3xG4bReLHtX8qQSJeRKS+jMWPpv7Qx5WIYRqPClFJhMOVS\\nxlTioHdjwL5bOJiSKG1MuZQhlqnKG/t+RmPAlEseKFTN1AopozGTa/q3FmR+sdliIXLbbXDggfkP\\nxzKFYRiljimXEPnrX+Hoo+G7hBvbGOlirTIjFZZGShvrFssDCxcWWwKjFLHCsLTo3bvYElQ2plzK\\nENu63TAs/Zc6plxCxsZDDMMwTLkYRsEodsWj0mr6lfY+lYYpFx/Tp0PTpvDNN/Dii8WWJjGRQqrY\\nhZWRGVYYhovFZ2ljysXH1KmwcSPcfjucckqxpUlNrpnrwQedQjUKS7EKRauMGIXElEsG/PAD3HVX\\ncjeFyMDxhdOxx8Ls2Zn788c/woAB4chklD6VVtOvtPepNCpKufz73/Dll/nzf8QIuPHG/PmfLcOH\\nw+jR2T1rGdQwjHxQcOUiIleJyFQRmSwiz4hIs7D8vvhiuPPO3P0pxwK3HGU2CkuldYtZmi9tCqpc\\nRKQTcCWwu6rujNsh4PRCypCMVJkvncRciAwc5nkulkEbD/atHRYPhaEY279sAmwmInVAS+CbIshQ\\ncViGMRob2ab5ZqH1lRjJKGjLRVW/Ae4B5gELgRWq+m6YYYTRcij1gjpM+VasCM+vMKm0Lhw/lfxu\\nhhGh0N1ibYHjgO5AJ2BzETmzkDKESW0tbNhQbClyY8aMYktgFIpKU2qlXgls7BS6W+y3wGxVXQYg\\nIi8DvwGG+h317du3/rq6uprq6uq0A8glA/3+95n50bs31NTAggXZhxkW2Wa0SitwjMRYYVxZ1NTU\\nUFNTU2wxElJo5TIP2FdEWgA/AYcCn8Q78iuXfDJsGJx2GlR57belS91/qkz4ww/Qpg188knDHZD9\\n3/r55+FW1xy3AAAgAElEQVS3v4X27UMTGQhWCNkWHFbgFB6L83Bo7PEYX/Hu169f8YQJoNBjLuOA\\nF4HPgEmAAI+FGUYmNfEzz3RbvYTJqlXR69NOg0cfDdf/xsawYcWWoHi0aRPuDgrWSjUKScHXuahq\\nP1XdTlV3VtXeqlrUUYtcaj/FqjmFGW6p1/7OLNsRudQ89hj873+J7VeuhMmTwwuv1L91IpYsSd1a\\nD7uSaORORa3Qz4agDFcuhXe5FhbpUMnvFuHSS1Pv+PDFF4WRpZTx9wYkotwn1lQiplwyKMTi3c6c\\nGa4s2TB+vPu3MZfKpE+fYktQuvjTrnX5lR4Vp1wyTWR1dfmRI0I+Cm//O+61V2w4a9a4PdYMwzCK\\nScUpl0zJpvAv5dr+W2+5PdYMo1JIVGEs5XxoVKByybTlUo4JNCJzOcpuGEbjoOKUS6bku1us1DEF\\nVVxsrCB7Xnopel3O8Th0KHTrVmwpwqfilEsh9hYrlYTsl8OUhNHYmDo1el0qeTIbRo+G+fOLLUX4\\nVJxyyZR8F8r5HtDPNRxTSoXH4txoDDQ65RLfDZZuRr/zztJb0GeFVPlj39CoVBqdctlkE7ebcYSg\\nMZfHAjakGTEiu/DyUXgk87OcuwcqgR9/LLYEjRNT0qVHxSmXQswWK8WEbDPIis/s2bD55qndWQUg\\nM9KJr6oyLskqNT2U8ScJh3QL40pNAKaMwuOHHzJ/plLTVaGxeCw9GqVy8Reo5TwV2f8epiSMdLng\\ngmJLEA6mUEqbilMu+eoWyzYhL16c3XPJyFSW+++HdevCl8OIpVwU/KBBxZYgHMolvhsrFadcMiWb\\nBBpUuCcayE1nR9dMyVTmq65yB5uF4VehsFqpkQmlmo4bMxWhXJ54AlasyO7ZbBKlf7YZuAOdEg3k\\n+v2//Xa391dYBC2itELZMIxSoODKRUTaiMgLIjJdRD4XkX1y9fPCC+G559J37y/wd9st8/C22CL2\\nftmy9MK65Rbo3z/z8NLx2ygfMv1uzzyTmd/xlZ/GwOuvF1sCI55itFweAN5U1e2AXYAQD3JN3jLI\\n1xqESy5J3+3YsfmRIVWBZYqofDn77PTd9ukDzZrlT5ZikE5r/PLL8y+HkRkFVS4i0ho4QFUHAajq\\nRlVdGWYYc+cmtttpp+z9TZbAp01LbDdkCPznP9mHm6kslaJEKuU9Cs1nn5X3DEijcih0y2UbYImI\\nDBKRT0XkMRHZNOxA/Bva+ZkzJ9h87VpYvjxsKaKEPTunXI5hNkqXfKZ3IzMqdZy0SRHC2x24QlXH\\ni8j9wI1AzGGuffv2rb+urq6muro6o0Auuww+/DB992ecAa+9ltxNLgkgqACvrYVvv4UuXRrarV8P\\ns2bBdtul768pCSMT9tkHvvyy2FLkRmNP8zU1NdTU1BRbjIQUWrksAOarqnfyOy8CN8Q78iuXQpCo\\nRRMWQZlg4EC49NJYu3XroEULePBBuPba8KZJJ5IhmblRGMKutabbZVpOW7xXas0+V+Ir3v369Sue\\nMAEUtFtMVRcD80Wkl2d0KJBkxCITv4Ovgzj8cFi0KHr/7bdhSJAZS5c2vN/U6yBcvTpz/0xJFJ9y\\n+gaVKOuiRfDOO/Duu/mVx0iPQrdcAP4IPCMiTYHZwPmFFqCmBjp2jN6nKszHjcstvHQyx5o10etU\\nNbVsznOxc8iNSm8B+PO0peviU/CpyKo6SVX3UtVdVfVEVc1iu7+G5CvjbNjg+qfD9H/9+oZmfuWS\\nijAzTqUXOI2N999PbFeuBW6x0ui6dTBsWHHCrgTKfoV+ZNZLvge34/38xS+y9+viixuavf129v6l\\nQ7kWLEZmrAx1Yn8w774Lv/99/sMpNm+9VXoHBJYTZa9cwl5DEk+k1jRqVKz5V1+l70d8wZ7rLJ0p\\nU3J73michNUCePxxePTRcPwqZRYuLLYE5U3ZK5cWLdx/Lhln7dpwZElEvHL56KPgrrEI2byLtUyM\\nVPjTyE8/FU+OsHjggfz6v8km7n/8+Ma5pU6ulL1yKdcxA/9stWxJ1RW4ejVs3JjY3ig+s2ZVRkGf\\nT4qVxyPh7rUXvPxy/sOpNCpGuVx3Xfh+q+avUE6WoNJNbMkGbwFatYLrr09fJqPwzJ8Pd95ZbCky\\no1ILw3iK0dIbMCD1HoiZTP4pJhWjXPznpoSlEMKqrQTJEzGLNLezkXn8+NRuyn0Vtp+334Zbby22\\nFOGTzfHI2fDCC4UJp1IohhK97joYMya5m802g5kzCyNPLpSschk9OtqlUywuuij/YUQW2OaakOOV\\nyGGHuf/IJoaVUNv8+9/DPbKgGJxf8FVdycmmkKqEtBRhzBh49tnU7kqtWznb86sKSckql0MOSb3f\\nVzLmzMl95X1YHzDR3mIQXEvJJvM+/njsfWSVciScE07IbuV/KVHC2yilJPJNn3wysV0x6NUrf0dR\\nlAMXX+z2FkxFqSmXclDwJatcIL2twxNFcs+ecMAB4cqTLW+80dAsXhmERXx8ROJw+fL876HW2Mm2\\nACp2wVVpW/SXQ8GbK+XwjiWtXNLJdMkiOYzz68PK+IXqDrnllth7/xTKpk0bui+HRFoJ+NPRFVcU\\nT45yJJ9pNFm3YNAx4kb6lLRySYdk+2yVUoII6g5JxT33ZP5c/MFlo0dHr6sCvnYpxZGfxqT0/O+6\\ncaO779GjaOI0KpKtXynlNBiRTRUmTiyuLIkoK+VyzTVu7CBdvv8+9XTdVBSqP9pfyEcSzrXX5meK\\ndSmzfj188EHpKr1sSbegiswcS3aiathkWoiWcqEL+ZGvkOkxHfkfesj9v/MO7LZbfuXJlrJSLkOH\\nwquvpnbnH7jO8JyxBvTundvz6VLshWKlwrBhcNBBxZYiN0q1JpmIUksDuRLW+xRKoWQj7xNPuP9S\\nXoBb8splw4bki4aCPkwYYy0Rhg8Pz69EPPJI7H2+Mns5FCLFnn4eBpGa5GefufSbCYWsIWfbfVwO\\n6SgMGst75ouSVi6qcMkl0KZNYjfZnG1Salx+eWGUWDlQSRl6991h0KBiS5GYcssnq1blNoM0FSec\\nEN1lPZ5SjatSzi8lrVwAPv88WptNNyKDEsI994QnUz5IdHrekiXhhZGPhHjGGcmnOIvAhAnhh1su\\npNNtUawCohQnviSjdWv45z/z5/+rr8LkycF2yTaaDZtSVhiZUHDlIiJVIvKpiLyeq1/NmwePwQRl\\nlmuvzTW0wlHIxJVpt008zz4LI0cmd/P117mFUenkchbRxRfDUUdlF25kZmGpKxd/fijWRIdlywoX\\nbibf48EH8ydHrhSj5fInYFpKV2mwfn10YMtPpS0KyycLFhRbgljKudaWrFDIVwH+8sswYkR2z0am\\n4bZp42ZWVgqFmi129NGF2eNr0SK48MJgu1QVu2JSUOUiIl2Ao4F/5zOcclYuv/wlPP10fvwu1kSB\\nQtaMr74aDj+8cOF99lnufhRCoQZNyfd/l0wqGWHLO3hww/VZuZCLfInSapD5W281PEQwDOLlHz06\\nuBId5LaUKHTL5T7gOiDt4iabgqnUm/nJ+PLLcDNaY+Oll9zc/0Kx++7F3QI93cIl6OTUUskn552X\\n2W7XtbWF7abKhNrazE6pTcTee0dPwixlBZKMJoUKSET+H7BYVSeKSDWQMMr69u0LuC3CV66sBqqB\\n9DeijM805bCDaCEISqTduuU/3EwKsVwzUjG+dbL3y1fBUFubPNyNG6GJL3cHuc22hV/Mwk4E7r03\\nf+cU+d8tnfeMj9chQ5yyzDXNf/KJWy/VuXPi52pqalCtAcArMkuKQrZc9gOOFZHZwDDgYBF5Ksih\\nUy59OfnkvrRqVZ1xQPGZpl27jL2oSIIScbJp3rmy5ZaZP5NrwbVyZW7PZ0OqsZbFi8MP86yz3I7G\\niejXL7UfQXK/8w4ceWT2chWCVGfbhzWzyx8/6SriXNLf888Hhx+0bRNAdXU1VVV9gb71FfJSomDK\\nRVX/oqrdVLUncDowSlXPTf5MtmFl91xjJFKY77or/O1vufkRz9Klye3jGTDA1frS5fHHCztFNBvm\\nzYMOHdJ3n27afe655FPA05mhFxTWyy+7Q9nywSef5F55UM1vyymXmXu5ctppwbIket/f/760x5dL\\nfp1LNphySU18HE2alL9CJd3vkWn4l1wSzoB6riR7v3T2psulsMzH4HW++OKL7J7zv+M334QjSyJm\\nzw6e3FCKZcqjjxZbguQURbmo6vuqemwqd9lmnFLW5vkk1+mkxcxAI0YkXkha6RQi3lONuSSajZRv\\nGdLBP46WzqmRuXDhhbDvvu7aL2+fPvkN10/88eqRcjAfM9PySUm3XFQTZ4pkK9crcQBfNfXZ2kcc\\nkdw+6HwK/4rkQiqXFStiu3VeeqlwYefChAn5rz2nIqwTRf3fO5OV79lW+tJNX999B3/6U/R+/Phw\\nwk+X778PXqyZTrhhyPavf7n/+G6xUl7TEkRJK5dEnH8+bLVVsaUoLAsWpD5ZM7JdeyJSJfyPPspM\\npnT9DeLSS91pobn4UQz23BOOOy79Pe2+/DK1n+kcShUZv7rySmjVKrWf8+allq3QLdV0w3vnHfjH\\nP3ILK9E2Lumwfr07T6fUusLuuqvYEmRGySuXoEGtfDeNS5F0uvpmz07fv2JnnGSHNJUCkyYlHhSP\\ntIwjBX6yuHzvvXDkWbLEtZjiWxiJWvAffJD6nI9SVS4RIruFxyvydCoiu+ySWVjxrSNIT95C7OLt\\nf9+TTsp/eGFR8solaMC21GcI5YNyqdmnS6LplZmSr3jZddfEe3ZFZPcXLCL57dpbujT5mocg/OfK\\nBMVTqa9zSdQNnEn4P/3kvmWERO+8114NzTbbrKFZ/KSEK69MX5ZMCapYx4/HlDIlrVzWri22BKVD\\nGBk6m2mWqrnvnxQUVqraqP+Zn35yNfFCk6h1lehb3H13/mTJ5phsP0HfYP783Pz0M2NG6h6FdNNc\\nJH4TxXMmeeGHH1wrdMwY91wmZz1tu21Ds1/9Kv3n0yXV+5RrxbKklUspn7JWaIqVwMaPT75YD/Iv\\n25NPpnc6ZdiL/xIVhvl83/vuCzZ//PHwwzr77PD8uv56d/xCMiLx+eabDe2C4jSi3HOJ7002cf+p\\nxiuN8Clp5VLscYFS4qnAvQwyI1HL5eabg90vW5b+ljvx3HBDcvtMamvxe63ttlvwUQH5WqcTT9g7\\nSfvfNZFyyZZCjG0tXJhe6zaS5p55Jj1/wzgSIKJcsqHY5U+qRZSlTsH2FsuEsWOLLUHpkUgBZMPk\\nybEDnnfcEezuF79IvkFgsim5qbqIUmWYhx6KXsfPHJo4saHCeeON5P6FSfxU4HS6/ZKRzTYjQfz+\\n9w3NmjSJHXtJxpw56Z3vE/9uBx8crFymTIGddoreJzucLLJXWjrxlu7ElbvvbjhOle13KSblqlxK\\nsuXyv/8VW4LSIpNZYOmQqpYZmT7rVywzZ7oNA/1k26qB7GYA+fEP0gL87nex90OGZC5TPIUqXO65\\nx2398dZb2fsxa1biFdu77preu/TsCQMHpheWn0Rjozvv7E6SjZBMubz6anT7oVSypttdfsMNDbv+\\nMvmmuUwc6ts3/ZlkydL+jz9mv7NBsSlJ5VJux6/mm/79w/EnEp/+DB/EL3/ZcHPAf/4Trrkm1izV\\nwGt8uLm6yYRzzsndj0Kmv+efd91F2Ya5xx7hyhNh7tyGyiN+Fley739syn04osS3sERcfMS32nNZ\\nTJjJqaj+hZzpEomLfv2y38Xdb37TTfnbATrflKRyKfU1EIVm0KBw/UtnK4v4WleyQu/CC93K9WzI\\ntQDPtcsgslYliLBbjKmoq8s+7ed6XHUievSAG290rdlELd5ks878ckW+tX9WWbLFqJMmuf3j4heE\\n5vKumexanMmRyiLh7ZwQQTX92W1hhx0GJalcbryx2BJUJpkU5OlM/c1lYWvk2chakmL0K69endmx\\nAIm2FQqrhTNsWPbP5rNCtmwZbL+9++VCNvH075DPrL3ggvTdJpoM0LJl7H2k+7iYSyfuuad4YSei\\nJJVLhAceKLYElUUm4xC33x5snm0LJZ6IMhk9OvY+UwYPht69s3s20xrwMcfE3i9alF24+SDVOEQu\\nCvDVV12rKt0xhG+/jdb6M1lb9eqr6bnLhUxOiUy0ndLatbG7XW+xRW4yJSPdfFGKm/WW5GyxCLku\\n3jNiyWRgMD5RRwqvPfcMN/Pn2mLxzyqLZ+VKaN06N//9xO8TFuk2K4exwREjsn929Wpo2jR9Zfzr\\nX0eVi4iLp3Snia9dm78uvjDZfPOGZq+/nl16TvRMJukq3RmBhaSkWy5GuORy9Opjj6V2A65wCNqn\\nKdWz+Sigg2pzb7+d3hkrEfwzhr77LtbuxBOzk6sYvPZabs83CaiGijScEg6xNX5VN8vw8ssbzjIL\\nolWr4CnV5cBFF8XOsMy14pRJN+nrr+cWVj4w5dKIyKQAT2fvr6DMc999DfdpioR7//1wyy0Nn/3i\\ni+QD62Fy5JGZHbLUvLn7T6aQSnEwNWwSpYdUs6/WroXly911OuMCtbWFabl065Yff2+9NTy/yuUY\\nikQUVLmISBcRGSUin4vIFBH5YyHDb+w891z6GTfTWtfo0a6QTdT3f9ttcNVV0bEcv/+/+hW8+GJm\\n4eVCIiU7erQbwwmaJRTUDRJhzz3DkauUiSjXqVNjzePjUjU2jS1dCkOHNvTvp59yb03lQrkuTCwn\\nCt1y2Qhcrao7AL8GrhCRPGwFZyQichBRKtLJfDNmRK8nTHAr6RM9V4zJGWPGBE89/emn4NlVl18O\\n553npt9mQnx3WaUQtCO5f8U9NIzfgQPT63bs1AmOPz572XLlppuKF3Y8ycYNy5mCKhdVXaSqE73r\\n1cB0IMONxI1c+GOabcV0lMvpp8fe33wzfPppev6luwAzF445JnbWW2QF+M03w2WXRcNeuhQ+/hjW\\nrMmfLOXI7rundnPmmbH36U4aSbatUCE49dTihp8u//1vsSXInqLNFhORHsCuwMfFksFITLJCP7Jy\\nOojhw3P3P0z8g/rvvhu99s+uOeoo+OSTwshTLmR7TsnTT4crR74o5gy/hQvdLMZ0ThRN5yTTUqUo\\nykVENgdeBP7ktWDi6Ou7rvZ+RiEJ6zAvaLgh4X77BZ+VkQ+GD4fDDnMLID/8MGr+ySfR7TlMsTQk\\n/sTLdFm8OFw50uHVVzPvYiumcunSBU44IYyDv2q8X2lScOUiIk1wiuVpVU0wpNe3gBIZfiIL2YL6\\n2/1kOqPHr1zGjo0uZst3C+aLL1xGDuryynXFuWEko2tXp8Rqa92vWbPogt/IOF1u3YPVxFa8++Xi\\nWegUYyryE8A0VbX19yXICSek5y7V5pd+NmwozLqWROS6NYrNLKo82rUrTDhPP+3W7TRv7vZKi5zL\\nFBlLiexQUYkUeiryfsBZwCEi8pmIfCoiIZ8faBSCTJTD1KkN3X//fbjyJKMcVtAb2ZPN9w2z2zcZ\\n554bHd+LPyaikHIUg0LPFvuvqm6iqruq6m6quruq5rAxhVEOJKv5F3OzP6P8mTw5qlziD5UrdebM\\nKbYE+aWC9aaRT667Ln23yWaXFQI7wqFy6d49mrYOPLC4siQiUdrv2bO8Z4OlwpSLR/wBSEZy3nsv\\nfbcTJhS2GyweUy6VS1VVeR8uWMnHi5hy8Qh7r6FMTuCrdPzrS4z0efnl8lk3UiyK3SpOh7COqSg3\\nTLkE8I9/wN13Z/5cpPVz3XXF3TfJqAxatICOHYstRekT33I57rjiyWJEMeXi4Z+aeOWVmY0pRNhv\\nP/e/1VaJ3SQ6gMgwggh7GvSxx1ZeqzqiVCJn9zz/fPFkKRSJTkUtJUy5eCTb9TZTIgVC0AFJlTz1\\n0AifsJXLa69Fjz2oFCJKZdtt3aLEZs3CD+PQQ8P3MxfatCm2BKmxoi5D3ngjej1yZLCbnXd2/5EW\\nzB/+ELVLdC63YcQTtmLp1Mn977VX6Y9TpEuTJnDEEdFzZTJZHJlJl2OhtiuqJEy5pKBPn9iz0o8+\\n2p04B27PqkmTYlsjqnD44bF+PPhgdBv3fCiXgQNTn6FulB8i4aaXffcNz69is/feLq81b+7iqXv3\\nzP0IOkUzEfffn7n/+SLdXTSKTaNVLq+80tBsw4aGfZlt28LPfhZr5q9R7rwzbLFFcBj+WtTs2e7s\\ni0RN9ksvTS1zMpJ1Bfz857n5bRQHETeO1zmkQyniFVXbtuH4mwkvvJD9s0cfHb2O9A7kQrrvP3Uq\\nbLpp7uHlSqT19OST7v/jEt9PvtEqly5d4JFH4JBDovv7NGmSvC/zF79w/xdc4M4DiZCo+6JHj2iL\\nQiS9LbbzwZVXlk9tx3BsvbXbWHOTTWDBgnD8jK8EhaW0MmH+/OyfHTgwep1qNX7QeGcQkWOsE7F0\\nKeywQ3p+5Urk+yRSnG++6f4jXZqloPCSUZHK5ZJLEttFTmJUdRvKvfceVFen9vOaa+D66931vvvC\\nww9H7ZL1jSdqUTRtClOmuOvp0xP7kUkC8p8AePvtrrW03Xaw//4wc2b6/hiF44orgs0XL3YVoAgd\\nOiT2Y7fdYu8fewzOOKOhu/hxlvfec1uQ+M3zdbZ8hEMOcfkuwoUXpvdcq1YuDq65xt2nyhfxXdOJ\\nOOUU93/WWVGzSF5s0wbat0/87Lp16YWRLs8/Dx995I4DD6JXL/cf+V69esGtt4YrQ6ioakn9AHXR\\nl/3vkUdU//Qnd/3QQ1HzhQtVVd31Rx9pSkD1vvtSu7vmGtUTTkjtLsKXX6rOnet+4Mx+//uonP36\\nRa9btox9tzPOaPi+AwfGyhzxM/5dgn633JJbXBfi17Vr7H18nJTjb4893P8f/uD+Tzop8bdTVX3j\\nDZfGli9X/eIL1UWLXHoG1XffjfV75Mjgb37JJYnT5MknOzdvvJHd+yRLYzNnRq+nTo26bdJEdcOG\\n1H5/8onq6tXuuQ0botepWL++oV/9+8fG8ZVXuvtzznH/332X2L+5c1XnzFE98EDVZ5+Nfefzz889\\nTcSTKI6XL0/kDlUtfhke+RVdgAYCkb5y+de/oglj40bVH35Q/fZb1draaKHpj3z/x5g0qeHHjAdU\\n778/tbtsmT8/Ktdll0Xl7NMnen3UUbHv3Lt3w3h44olYmdNJqH53a9ZknyEK8evevaHMxZYp1W/a\\nNFeBidx//bXqBReorlihOmuWe4fXXlNdvNjZ33GH+//pp8zSUFWVK/D8YU+e7Ozq6lRvuCFqfvHF\\nif355hvVmhp3PW9erH+//KXqhx+qnnde8LtWVQV/k+OOi36vpUvd9bx57v7001WHD499rkMH1R13\\nDE6jubBkSWK/1qxRnT1b9dxzswvL7+9hh+WWZuLp1091p50apvtVq2LdPfWUq7CackklEMmVS7Nm\\n7v/UU6ORPWFCww8zZkz0g/TsGfvx5s5t6D4IyK9yUXWJQjVWudxxh+qoUarTpztFefLJqt26qTZv\\nrjpxYtTd3//u/v2K8tBDVTt1Cn6XRAl63brcMkWYv/gMumGDK4wnTnS13n/9K/H7LF+u+uijscq5\\nUL9DDlEVcdeLF0fjfZddYtNeEFdc4Qo4/3OZEpFj5cpY80gF7IUXogV7usya5Wrk8eF8+KHq009H\\nw/zwQ2d3wAGxcbJ2bfR7qapOmZJc/rVrXSXxiivc/euvuwI2DBIV4BEuvzz1dwpit92iz/kVOai2\\nbRucVrbZJnFejGfCBGe37bbuftmyZO+Iqha/DI/8ii5AA4HilMt99zX8AOCas5Hr8eODIztivtde\\n2SUcUH3ggcyfywa/crn77uRuIwo2E5IpF1XXzC+2YgGnHCMtlbPPTv0+kYJojz1i7U89NXEYkcpG\\n0O/ee9OT8/TTo9eHHKL61VfO7De/iZVj6lTVNm0y+1bZMGGCax3FU1en+uOP4YXzxRfR62uuUR07\\nNnq/dq1rJRx0UObp8+mnnayqrkKVaQsuFU884VpniVi5MrnyS4fbbotNI0uXRsNs3jxqPny4a8X6\\n3V5xRbCf48enH5eNXrkARwIzgC+BGwLs6yM80rcYpFwiimP4cJcYk7FkieuCypRiKZd7703uNlfl\\ncuCBsfEZwT/+svvuDQvUwYOj19OmuVZCfIEckQ1U99svvYI68uvf39XgV61yGTMZP/zgvqtqtFDy\\nM2BA4nAefND919U1tFNV/ctfUss6bFhwHBqq33/vxlkaG6tXO2W7dm2w3Zw5qptvHjWLpMNkaeiT\\nT9JPY41aueBmp30FdAeaAhOBX8W50enTXSETYdo0N4CZqsAJm0Iql88+U73+etWdd3bXqqqjR48O\\ndPvee6ojRmTmv79g3LgxOFH7a14nnhirKCIKJXI9f74bOPYr+ni+/NJ1Nxx/vHP30EPuO0b8eOUV\\n9x+pxSUjUVykIjJxomNH181YXe262iKFX0RJPPqoU0h+Ispz7lzXJz9oUGy83X236p57ZiVWTmQb\\nF5VIucfFzTcnT/sff2zKJV3lsi/wlu/+xvjWCyVUFSykcgmiT58+ofkV1PqLj+r//c91IS5ZEu1K\\nue8+NxvtrLPc4OcDD6jec49TUN9/H1VWyZg0ybkbPdrV6iJh//e/7n/IEDemlIww4yJdHnmkYRyN\\nGpV+Zs8XxYiLUqXc42LjRpevEhGZFJIOpaZcmuRxlnMQnQH/MqoFwN4FlqFR8tNPbh3M8uXu3unx\\nWPbdF8aNizX785/d/wUXuP8//jFqt+WWwf7Es9NObn3RQQe5NQSzZrlT+MBtrfOzn8WuMygV9tqr\\n4cLDgw9O750NIx022ST5mp1yTmuFVi5lR2TH1XKnWTP3y2Rjv7AQid3eJqJYoOHWOqXEHnvAkiXF\\nlsJozLRoUWwJske0gKpRRPYF+qrqkd79jbim3F0+N2Wsqw3DMIqHqoa8l3b2FFq5bAJ8ARwKfAuM\\nA85Q1ekFE8IwDMPIOwXtFlPVWhH5AzASN3NsoCkWwzCMyqOgLRfDMAyjkZBqOhkwEFgMTPaZ7QyM\\nBfrTOaoAAAqUSURBVCYBrwGbe+ZnAp8Bn3r/tZ7bzePMvwfuTRDe7sBk3CLL+33mBwATgA3AiUnk\\nbQY8C8wE/gd088y7ec9/CkwBLs10al2GcdEEeNJ7l8+BGwP8e93vV4B9f2AesDLOPN24uMoLeyLw\\nDtDVZ3eXFw+TgVPzHBdNgSe8sD4DDvLMNwX+A0z3ZLkji7gI/N5ZxMVUz/7+TOLBe74LMMp7fgrw\\nR8+8Ha6V/gXwNtDG98xNnszTgcNTpf8M8kk34F3vG4wCOhUyPkKOizO8d5wIvAm0z1NcJMxPuDIs\\nUm69mq94ANp77lcB/4jzqynwqPfMNOCEDOOhq+f3p15cHpVFmujqyTvNSxuB+SzGvzQiaX9gV2IL\\nkXHA/t71ecDfAp7bEZiZwM/xwH4J7D4G9vKu3wSO8CWUHXEFdrIC9TLgYe/6NOBZ3wdq6l23BOYA\\nHTLMOGnHhZcxhnrXm3rhdfM9dwIwhOTKZW/gZzQsUNONi4OAFt71731xcbSXUMSLi3F4iiBPcXE5\\nrgsUYCtgvC9eDvKumwAfRL53BnER+L0ziItfAx9614JTjgdmGBcdgF29681xhcCvcIX09Z75DcDf\\nvevtcYVVE6AHbmFxpBchMP1nkE+eB872rquBpwoZH2HFBbAJrvLSznN3F/DXPMVFwvwUn97yGA8t\\ngd8Al9BQufTFV8aSWMkmiodH8SrTwHbAnEzShHc/GjjEJ2uLVHGQ8jwXVR0DLI8z/oVnDq5mcFLA\\no2fgapQxiEgvYCtV/W+AXQeglap+4hk9BRzvyTFPVacCmkLk44DB3vWLuMkDqOoGVd3gmW+KS8AZ\\nkWFcKLCZN4mhJfATsBJARDbD1RL6pwhvnKouDjBPKy5U9X1VjZw68RFunRG4DP2BOtbgajtHJvMr\\nwO904uJEX3ijvOe+B1aIyJ6qulZV3/fMN+JqVl0IIFFckOB7BzyfKC4UaCEiLXDpogmuUEsbVV2k\\nqhO969W4GniXONkG46Vl4Fhcxt2oql/jau17J0v/flK42x5XEKCqNZ4MQTLnJT7Cigui+bOViAjQ\\nGvgmPryQ4iJZfspq9lWm8aCqa1R1LK6ciOcC4E6f38saCJk8HhQXfwBtgYUJZA5MEyKyHbCJqkby\\n8Bqfu4Rke1jY5yJyrHd9KsEFwmnAsATmzyXwtzNuYWWEBUQTfbrUL9RU1VpcQdYeQES6iMgkYC5w\\nl6ouytDvIBLFxYvAGtysuK+BAaoaOUT5NmAAsDaE8NPlQuAt73oScKSIbCoiWwIH45q9uRIfFxE/\\nJwHHisgmIrINsEd8eCLSFjgGeC/DMBN+7yTUx4WqfgTU4L7TQuBtVf0iQxnqEZEeuBbdR8DPIgrR\\nS2tbx8vssdAzSzf9J3M3EU+pi8iJwOYikmp1U17iI5e48Cobl+O6lBbgaty+syjrCTsu4mkuIuNF\\nZKyIBCqnVKQZD4mejZyN219EJojIcyKyVYDTZPHQFzhHRObjuqGvTENsf3nRC/hBRF7yZLjLU/hJ\\nyVa5XABcISKfAJsB6/2WIrI38KOqTgt49nSClU6+qI8EVV2gqrsAPwfOS/CRMiVRXOwDbMQ1j3sC\\n14pIDxHZBdhWVV/3ZMv7vHQRORtXoP8fgKq+g0s4Y4FnvP/aEIJKFBdP4AqNT4B7gf/6w/Nad0Nx\\n/cRf5yhD0viMjwsR2RbXXdEJlxkPFZH9sgpYZHNcpeJPXm01viacqtUdBtcB1SIyATeWsJAk3zZf\\n8ZFrXIhIE1yX5y6q2hmnZP6SoRgZxUUCuqvqnsBZwP1e5ShtQkgTTXAV1jGqugdOQd2TiQy4XqRB\\nqtoV+H+47vhkMsekCU+G/YGrgb2AbXHd3knJSrmo6peqeoSq7oXr+poV5yRQgYjIzrjm1WfefZWI\\nfCYin4pIX9zH99dou5CgCefzs3/ED8+o3g+v0God34z0agxTcQkuJ5LExRnACFWt87qC/gvsievT\\n3kNEZgMfAr1EZFRAXGRMQFwgIr/FDZge4+sWRFXvUNXdVPUIXDr4Mpsw/SSKC1WtVdWrVXV3VT0B\\nN6jpD+8x4AtVfdCTOZO4WEDA984gLk4APvK66NbglO6vM313rzB8EXhaVV/zjBeLyM88+w7Ad555\\nonQeaJ5JPlHVb1X1JK8gusUzW1nI+AgpLnZ1otdXNp4Hfp2vuEiEqn7r/c/Bteh2S/pA9vGQKPyl\\nuIr6K57RC8Bu4ki37LwQF3+RlmkLEdkygzSxAJioqnNVtQ54FTd5IDma3uBUD2CK734r778K1294\\nns9OPGF6BPhzJ9AnRVgfEe1zfRM4Ms5+EHBSkucvJzrAezrRgcrORAer2uEG2HZI5/0zjIve3v31\\nRAexN8PNwtgxzq/uJBnQ97lblcA8VVzshhsg3TbOvApvUBA3w2syUJWHuDjPu98UaOldHwbU+J7p\\nD7yQQZir4u4Dv3cGcXEqbvbOJrhJH+8C/y+LuHiKuBmQuMHbG7zroEHsZsA2xA7oJ03/qfIJsIXP\\nr/64HTEKGh9hxAXQEVc4buG5+xvwf/mIi0T5CTc+0cy73hJvUD4f8eCz7w08GGc2FDjYuz4PeC7N\\neIgM6L9BtFzaDliQYZqo8r5R5Fs8AVyW8v3TiKChuIG0n3BTQc8H/uhF9Azipo/iZhyMTeDXV0Cv\\nFOHtgWsCzwQe8JnvieubXYWbyjwlwfPNcVp6phfZPTzz3+L6/j/D9cVemEmGyTQucArleVwLaSpw\\ndYB/SZWLlxDn47rX5uHNlskgLt7B9Z3HTKX04uhzT66xwE55jovuntnnuIKrq2feGajzzCNT1S/I\\nMC4Cv3cGcVEF/IvoFMvAAixFXOyH626Z6HuPI3HTS9/14mQk0Nb3zE24/BA//TYw/WeQT07CtQpn\\n4FqETQsZHyHHxSWeHBNxU9vb5SkuAvMTrsUWmT4/CV8lOk/xMAdYgpv4Mw9PkeFms71PdIpwlwzj\\nYTtgjPf8p8ChmaQJz+5QLw4m4ZRLk1RxYIsoDcMwjNDJdkDfMAzDMBJiysUwDMMIHVMuhmEYRuiY\\ncjEMwzBCx5SLYRiGETqmXAzDMIzQMeViNHpEpNZb6TzVW7F8daq9k0Sku4icUSgZDaPcMOViGG57\\njd1VdUfcDgJHAX1SPLMN7vwiwzACMOViGD5UdQluZfgfoL6F8oG3M+54EdnXc3onsL/X4vmTt+fV\\n3SLysYhMFJGLi/UOhlEK2Ap9o9EjIitVtXWc2TLgl7gtQepUdb2I/BwYpqp7ichBwDWqeqzn/mLc\\n3mp3iEgz3EalJ6vq3MK+jWGUBk2KLYBhlCiRMZdmwD9FZFfcXlG/SOD+cGAnETnFu2/tuTXlYjRK\\nTLkYRhwi0hPYqKrfi0gfYJGq7uxt6Z/ogDcBrlR3Vo5hNHpszMUwfAeMeQfIPQI86Bm1we0UC3Au\\nbit6cN1lrXx+vA1c7p3hgYj8QkQ2zafQhlHKWMvFMNzhSZ/iusA2AE+p6n2e3cPASyJyLjAC+NEz\\nnwzUichnwJOq+oC442w/9aYxf0f0DHPDaHTYgL5hGIYROtYtZhiGYYSOKRfDMAwjdEy5GIZhGKFj\\nysUwDMMIHVMuhmEYRuiYcjEMwzBCx5SLYRiGETqmXAzDMIzQ+f/JPxsmS+bJzgAAAABJRU5ErkJg\\ngg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x114d57e50>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nRESLTSbDMIxiR0TQIhrQL5kt93feeWfmzMl2t3vDKB86d+7M7NmzCy2GYQRSMi0XTysXQCLDKE4s\\nTxh+iq3lYmMuhmEYRuiYcjEMwzBCx5SLYRiGETqmXArEoEGDOOKII2rvW7RoYYOzRcq8efNo2bJl\\nxuMbd999NxdfbGuGjYaFKZeQqayspG3btmzcuDGpW5G6sbdVq1ax8847pxRGRUUFLVq0oGXLlnTq\\n1Inrr7++6AZ2KyoqmDlzZt7DPeGEE6iqqqpn/vrrr7PddttRU1OTtp+dOnVi5cqVUd8rHqNGjaJT\\np05RZrfccguPP/542uEaRiljyiVE5syZw+jRo6moqGDYsGE5C0dEmDhxIitXruT9999n6NChPPHE\\nE2n7s3nz5hxI50ilIM4Fffr0YciQ+oeCDhkyhF69elFRkV6STzeOVLVg724YxYQplxAZPHgwhxxy\\nCOeffz5PP/10lN2yZcs4+eSTadWqFQcffDAzZsyIsk+npu/fqK5r164cccQRTJ48GYCFCxdy+umn\\ns80227Drrrvy8MMP1z7Xv39/zjjjDHr16kXr1q0ZNGgQNTU13HXXXey22260atWKAw44gAUL3Dlu\\n33zzDcceeyzt2rWjW7duvPTSS7V+XXDBBVx55ZX8+te/pmXLlhxyyCHMmuUO5DzqqKNQVbp3707L\\nli156aWXWLFiBSeddBLbbLMN7dq146STTuLbb7+t9W/27NkcddRRtGrVimOPPZYrr7ySXr161dp/\\n+umnHHbYYbRp04Z9992XUaNGBcbNqaeeytKlSxk9enSt2YoVK/jPf/5D7969AXjzzTfp0aMHrVq1\\nonPnzvTv37/W7Zw5c6ioqOCpp56ic+fOHHPMMbVmkVbP008/zR577EHLli3Zbbfdalsla9as4cQT\\nT+Tbb7+tbVkuWrSI/v37R73LsGHD+NnPfkbbtm05+uij+eabb2rtdtllF+677z723ntv2rRpQ8+e\\nPdmwYUPyRGEYxUahd/IM2NlTg4hnXkzstttu+uijj+oXX3yhTZo00e+++67W7qyzztKzzjpL165d\\nq5MnT9YddthBjzjiiFr7iooKnTFjRkrhiEit26+++ko7duyoAwcO1JqaGt1vv/30jjvu0E2bNums\\nWbN011131REjRqiqalVVlTZt2lSHDRumqqrr1q3TAQMGaPfu3XX69Omqqjpx4kRdtmyZ/vjjj9qp\\nUycdNGiQ1tTU6Pjx47V9+/Y6ZcoUVVU9//zztX379jp27FjdvHmznnvuudqzZ88oGWfOnFl7v3Tp\\nUn3llVd03bp1unr1aj3zzDP11FNPrbU/5JBD9MYbb9SNGzfq6NGjtWXLltqrVy9VVZ0/f762a9dO\\n3377bVVVfe+997Rdu3a6ZMmSwPi56KKL9KKLLqq9f/TRR3XfffetvR81apROnjxZVVUnTZqkHTt2\\n1Ndff11VVWfPnq0ion369NE1a9bounXrdPbs2VpRUaGbN29WVdU333xTZ82apaqqH374oW611VY6\\nbtw4VVWtrq7WTp06RclTVVVV+y5Tp07VrbfeWt9//33dtGmTDhgwQHfbbTfduHGjqqruvPPOetBB\\nB+miRYt0+fLl2q1bN33ssccC37MU8oSRP7z0UPAyPPIruAD1BMpCuUA4v0z46KOPtGnTprps2TJV\\nVe3WrZs+8MADqqq6efNmbdKkiU6bNq3W/R//+Mco5eJXGMkQEW3VqpW2bdtWd9ttN/3zn/+sqqqf\\nffaZdu7cOcrt3XffrX379lVVV8gdddRRUfa77767Dh8+vF4YL7zwgh555JFRZpdcconefvvtquqU\\ni78Af/PNN7Vbt24pv8+4ceO0bdu2qqo6Z84cbdKkia5du7bW/rzzzqstkO+55x7t3bt31PPHHXec\\nDh48ONDv0aNHa+vWrXX9+vWqqnrYYYfVfosgfv/73+t1112nqlqrSGbPnl1rH6tcYjn11FP1oYce\\nUtXkyuUvf/mLnnXWWbV2NTU1usMOO+ioUaNU1SmXoUOH1trfeOONetlllwWGa8rF8FNsyqVktn9J\\nBS3gmPbgwYM59thjadOmDQA9e/Zk0KBBXHPNNXz//fds3ryZHXfcsdZ9586d+eijjzIOb9y4ceyy\\nyy5RZnPmzGHBggW0bdsWcBWHmpoajjzyyFo3sYPN8+bNo0uXLvX8nzNnDp9++mmUX5s3b67tWgLo\\n2LFj7fVWW23F6tWr48q7du1afv/73/POO++wYsUKVJXVq1ejqixcuJC2bdvSrFmzKDnnz59fK8uL\\nL77I8OHDa2XZtGkTRx99dGBYhx12GB06dOC1115j//33Z8yYMbz66qu19p9//jk333wzkydPZsOG\\nDWzYsIEzzjgjyg//t4rlrbfe4vbbb2fatGnU1NSwdu1aunfvHte9n2+//ZbOnTvX3osInTp1qu2K\\nBNh2221rr7faaisWLlyYkt+GUUyUlXIpFOvWrePFF1+kpqaG7bbbDoANGzawYsUKJk2axJ577knj\\nxo2ZN28eXbt2BWDu3LlZhakBmrRTp0506dKFqVOnxn0udrB5p512YsaMGeyxxx71/KqsrOSdd97J\\nSs4I9913H9OnT2fMmDF06NCBCRMm0KNHD1SV7bbbjmXLlrFu3bpaBTNv3rxaWTt16kTv3r157LHH\\nUg6vV69eDBo0iG+++YbjjjuODh061Nqdc845XH311bzzzjs0adKEa6+9lqVLl0Y9H29QfsOGDZx+\\n+ukMGTKEU045hYqKCk477bTa75FsMH/77bevHR+LMG/evITKzDBKERvQD4FXX32Vxo0bM2XKFCZM\\nmMCECROYMmUKhx9+OIMHD64tgKqqqli7di1ff/01gwYNCl2OAw88kBYtWjBgwADWrVvH5s2b+eqr\\nrxg7dmzcZy688EJuu+02/ve//wEwadIkli9fzq9//WumTZvGkCFD2LRpExs3bmTs2LEJFZefjh07\\nRk1QWLVqFVtuuSUtW7Zk2bJlUdOFd9ppJ/bff3+qqqrYuHEjn3zySW0rBeC8885j+PDhjBgxgpqa\\nGtatW8eoUaOiJgTE0rt3b9577z3+9a9/0adPnyi71atX06ZNG5o0acLnn3/O0KFDo+yDFHfELNLS\\nad++PRUVFbz11luMGDGi1t22227L0qVLWblyZaBcZ555Jm+88QYjR45k06ZN3HvvvTRr1oxDDjkk\\n7rsYRimSE+UiIk+KyGIRmRhjfpWITBGRSSLy11yEXQgGDx5M37592WGHHdhmm21qf1deeSXPPvss\\nNTU1/P3vf2fVqlVst9129O3bl759+8b17+677+ZXv/pVXPt4teOKigr+85//MH78eHbZZRe22WYb\\nLrroorgFHcB1113HmWeeybHHHkurVq343e9+x9q1a2nevDkjRozg+eefZ/vtt2f77bfn5ptvZv36\\n9SnFSVVVFb1796Zt27a8/PLLXHvttaxZs4b27dtz6KGHcuKJJ0a5f/bZZ/n4449p3749f/7znzn7\\n7LPZYostANdF9frrr3PXXXfRoUMHOnfuzL333ptwzUrnzp059NBDWbNmDSeffHKU3T//+U9uu+02\\nWrVqxR133MFZZ50VZR8UvxGz5s2b89BDD3HGGWfQtm1bnn/+eU455ZRad7vvvjs9e/akS5cutG3b\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x10cabe1d0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Percentage Variation\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/2-analysis-code-py2.ipynb.bak",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis - Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSE daily data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# The data has no header, so I'm going to add one.\\n\",\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Quick feature engineering for exploratory purposes\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.964413</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"      <td>0.307670</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.678325</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"      <td>0.325529</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.510000</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"      <td>0.077029</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.760000</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"      <td>0.195696</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>1.170000</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"      <td>0.447294</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>12.120000</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"      <td>4.081110</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"count  10010.000000  1.001000e+04     10010.000000          10010.000000   \\n\",\n       \"mean      18.707358  3.408274e+06         0.964413              1.720268   \\n\",\n       \"std       14.122609  7.532096e+06         0.678325              1.208542   \\n\",\n       \"min        1.522366  0.000000e+00         0.000000              0.000000   \\n\",\n       \"25%        5.442764  7.536000e+05         0.510000              0.948126   \\n\",\n       \"50%       15.099474  1.904100e+06         0.760000              1.398110   \\n\",\n       \"75%       31.889513  4.051675e+06         1.170000              2.122197   \\n\",\n       \"max       50.533702  2.408085e+08        12.120000             16.048292   \\n\",\n       \"\\n\",\n       \"       Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"count          10010.000000               10010.000000  \\n\",\n       \"mean               0.307670                   1.720268  \\n\",\n       \"std                0.325529                   1.208542  \\n\",\n       \"min                0.000000                   0.000000  \\n\",\n       \"25%                0.077029                   0.948126  \\n\",\n       \"50%                0.195696                   1.398110  \\n\",\n       \"75%                0.447294                   2.122197  \\n\",\n       \"max                4.081110                  16.048292  \"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x10b865588>\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329b0f0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nyww8ifgAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1057eb4e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11d80db70>\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11a11a748>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nWjvRWwMHAmcBB2EJke7+XsjLyw068PS02hXita8WMXb4uW7X9iypESrNmjVyuzdmwjK/6ajysjEs\\nJycz6DR6+tnKy8tl8vyNVFZWMeDI2grZ+OlrwOHgjLxct7JokpvlM47MzHS3Zz3LMKdxls9yrUt5\\nxwJn+uI9nU5at25CTnZG9e8tBaXVf3vLQzD58nwm0Due9/eVuQ+gnnhvdq02Eu+0bNGYvNaNfd4P\\nqn6k4KZ25LXOJTU1PoRKotRvX0RLgOwA/hSRCmCZMWafMaa1iGz39UJ+fvCeb32N1DzDePubRTX3\\ntgc3yegMw9uxt3v2BK+xeAqg/Pwinh0zG4BDD2wOwOYdJWzIL6Fv9za89tkfAJzRv7NbPoqLS/FF\\nWVmF27Oe+S8pKfVZrnUp71iQn19EXl5u3KfTyfbtxTTKqmlOu3fXzMt5y0Mw+XJ9Jpiy8LxfWlbb\\nJJYo5elk585i0h2+l8IHkx9PUZG/vShu3KCE+z1iLYCiZcKaApwOYIzZH8jBEiox4+UvFtbtBS8y\\nKtJ17sE3ZzLyq0UU+BES/ifRI5seJXLESf+U9IyZIFz99ES+m7E2+Je03USMqAgQEfkWmGeM+R34\\nGrhZRBLmsy1evZP3vl8aVhh1yWykJ0+daB+mJDvOlY6f/bIyxilpmETNG6+I3BetsKPN8I/ne72+\\nZefekMNUtyJKfRNJd+dl5ZWkpaWQlpqQW8eC5uspq9mYX8zN5x8W66QkBAnpzn3rTu/7PqKNt5Ve\\nwfLcR96FEgTQVsJQIxJG5UsCkt2ceOPwX2mRm8XwW46LdVLqTK1Nnjjw1bC+tjcMVzkccTNPEs8k\\n93Aiprj3KLESeooSKXYV+Zmri2vqLgh2FKjFIBhUgESJiI1Iw9mJrjRokqF6uGbB72ITP4SiSLzx\\nzWKK6rDqsqGiAiSB8ewfyiuq+OH3dTX3k6EHSRjqVtY6J1Z3dhSGKEBCeGfVpkK+UW8SAVEB4oHn\\n5qtEYtLcDUnnYK6isiopBeE73/0Z9TjKK/QUQm8EW53KorQ60pW5y/K59cXfyN/te4FOQXEpv87f\\n6HVvWqxRAeLBF79GxnOuv0+93U9lqUUdhk9bdoW+Sixeuf65X/j3f2fHOhkB8fe9vZ0JU7wnOEeA\\n4TDmB4l6HAlBHM+Fv/71Ikr2VfDr/E0+nxn+8Xze+174/c+t9Ziy4IgbAbJuaxEvfPIHhSWxtTv+\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329bc18>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Percentage Variation\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/2-analysis-code-py3.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis - Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSE daily data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# The data has no header, so I'm going to add one.\\n\",\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Quick feature engineering for exploratory purposes\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"      <td>0.590</td>\\n\",\n       \"      <td>1.722628</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"      <td>0.380</td>\\n\",\n       \"      <td>1.099855</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"      <td>0.260</td>\\n\",\n       \"      <td>0.747556</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"      <td>0.515</td>\\n\",\n       \"      <td>1.476068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"      <td>0.465</td>\\n\",\n       \"      <td>1.342766</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1933104    6896283.0            0.590              1.722628   \\n\",\n       \"1933105    4090421.0            0.380              1.099855   \\n\",\n       \"1933106    3902827.0            0.260              0.747556   \\n\",\n       \"1933107    5161379.0            0.515              1.476068   \\n\",\n       \"1933108    5434710.0            0.465              1.342766   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1933104                 0.590                   1.722628  \\n\",\n       \"1933105                 0.380                   1.099855  \\n\",\n       \"1933106                 0.260                   0.747556  \\n\",\n       \"1933107                 0.515                   1.476068  \\n\",\n       \"1933108                 0.465                   1.342766  \"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.964413</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"      <td>0.307670</td>\\n\",\n       \"      <td>1.720268</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.678325</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"      <td>0.325529</td>\\n\",\n       \"      <td>1.208542</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.510000</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"      <td>0.077029</td>\\n\",\n       \"      <td>0.948126</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.760000</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"      <td>0.195696</td>\\n\",\n       \"      <td>1.398110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>1.170000</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"      <td>0.447294</td>\\n\",\n       \"      <td>2.122197</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>12.120000</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"      <td>4.081110</td>\\n\",\n       \"      <td>16.048292</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"count  10010.000000  1.001000e+04     10010.000000          10010.000000   \\n\",\n       \"mean      18.707358  3.408274e+06         0.964413              1.720268   \\n\",\n       \"std       14.122609  7.532096e+06         0.678325              1.208542   \\n\",\n       \"min        1.522366  0.000000e+00         0.000000              0.000000   \\n\",\n       \"25%        5.442764  7.536000e+05         0.510000              0.948126   \\n\",\n       \"50%       15.099474  1.904100e+06         0.760000              1.398110   \\n\",\n       \"75%       31.889513  4.051675e+06         1.170000              2.122197   \\n\",\n       \"max       50.533702  2.408085e+08        12.120000             16.048292   \\n\",\n       \"\\n\",\n       \"       Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"count          10010.000000               10010.000000  \\n\",\n       \"mean               0.307670                   1.720268  \\n\",\n       \"std                0.325529                   1.208542  \\n\",\n       \"min                0.000000                   0.000000  \\n\",\n       \"25%                0.077029                   0.948126  \\n\",\n       \"50%                0.195696                   1.398110  \\n\",\n       \"75%                0.447294                   2.122197  \\n\",\n       \"max                4.081110                  16.048292  \"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x10b865588>\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329b0f0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nyww8ifgAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x1057eb4e0>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11d80db70>\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11a11a748>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nWjvRWwMHAmcBB2EJke7+XsjLyw068PS02hXita8WMXb4uW7X9iypESrNmjVyuzdmwjK/6ajysjEs\\nJycz6DR6+tnKy8tl8vyNVFZWMeDI2grZ+OlrwOHgjLxct7JokpvlM47MzHS3Zz3LMKdxls9yrUt5\\nxwJn+uI9nU5at25CTnZG9e8tBaXVf3vLQzD58nwm0Due9/eVuQ+gnnhvdq02Eu+0bNGYvNaNfd4P\\nqn6k4KZ25LXOJTU1PoRKotRvX0RLgOwA/hSRCmCZMWafMaa1iGz39UJ+fvCeb32N1DzDePubRTX3\\ntgc3yegMw9uxt3v2BK+xeAqg/Pwinh0zG4BDD2wOwOYdJWzIL6Fv9za89tkfAJzRv7NbPoqLS/FF\\nWVmF27Oe+S8pKfVZrnUp71iQn19EXl5u3KfTyfbtxTTKqmlOu3fXzMt5y0Mw+XJ9Jpiy8LxfWlbb\\nJJYo5elk585i0h2+l8IHkx9PUZG/vShu3KCE+z1iLYCiZcKaApwOYIzZH8jBEiox4+UvFtbtBS8y\\nKtJ17sE3ZzLyq0UU+BES/ifRI5seJXLESf+U9IyZIFz99ES+m7E2+Je03USMqAgQEfkWmGeM+R34\\nGrhZRBLmsy1evZP3vl8aVhh1yWykJ0+daB+mJDvOlY6f/bIyxilpmETNG6+I3BetsKPN8I/ne72+\\nZefekMNUtyJKfRNJd+dl5ZWkpaWQlpqQW8eC5uspq9mYX8zN5x8W66QkBAnpzn3rTu/7PqKNt5Ve\\nwfLcR96FEgTQVsJQIxJG5UsCkt2ceOPwX2mRm8XwW46LdVLqTK1Nnjjw1bC+tjcMVzkccTNPEs8k\\n93Aiprj3KLESeooSKXYV+Zmri2vqLgh2FKjFIBhUgESJiI1Iw9mJrjRokqF6uGbB72ITP4SiSLzx\\nzWKK6rDqsqGiAiSB8ewfyiuq+OH3dTX3k6EHSRjqVtY6J1Z3dhSGKEBCeGfVpkK+UW8SAVEB4oHn\\n5qtEYtLcDUnnYK6isiopBeE73/0Z9TjKK/QUQm8EW53KorQ60pW5y/K59cXfyN/te4FOQXEpv87f\\n6HVvWqxRAeLBF79GxnOuv0+93U9lqUUdhk9bdoW+Sixeuf65X/j3f2fHOhkB8fe9vZ0JU7wnOEeA\\n4TDmB4l6HAlBHM+Fv/71Ikr2VfDr/E0+nxn+8Xze+174/c+t9Ziy4IgbAbJuaxEvfPIHhSWxtTv+\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x13329bc18>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Percentage Variation\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/3-methodology-results-conclusion-code-py2.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model but are nice for visualisations\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Oil Stocks\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"print \\\"Oil stocks in DF: \\\", oil_stocks_in_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract GAIA data\\n\",\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and GAIA data start intersecting \\n\",\n    \"# i.e. date = 1999-10-29\\n\",\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Read in FTSE100 data\\n\",\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"\\n\",\n    \"# Preview data\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sort FTSE100 data by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and FTSE data start intersecting \\n\",\n    \"# i.e. date = 1984-04-02\\n\",\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Adds FTSE data to BP dataframe, joining at dates\\n\",\n    \"\\n\",\n    \"# FTSE columns we want to copy to BP dataframe\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']    \\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the FTSE row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"bp_counter = 0\\n\",\n    \"ftse_counter = 0\\n\",\n    \"while ftse_counter < len(sorted_ftse100):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start + bp_counter, 'Date']\\n\",\n    \"    ftse_date = sorted_ftse100.loc[ftse_start - ftse_counter, 'Date']\\n\",\n    \"    if bp_date == ftse_date:\\n\",\n    \"        # Add FTSE data to BP row\\n\",\n    \"        for col in ftse_data_to_copy:\\n\",\n    \"            bp.loc[bp_ftse_start + bp_counter, 'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start - ftse_counter,'%s' % str(col)]\\n\",\n    \"        # FTSE counter + 1, BP counter + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    elif bp_date < ftse_date:\\n\",\n    \"        # Move to next BP row, same FTSE row and repeat\\n\",\n    \"        bp_counter += 1\\n\",\n    \"    elif bp_date > ftse_date:\\n\",\n    \"        # Move to next FTSE row, same BP row and repeat\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    else:\\n\",\n    \"        print \\\"Error: BP date is \\\", bp_date, \\\"; FTSE date is \\\", ftse_date\\n\",\n    \"        # FTSE row + 1, BP row + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1984-04-27\\n\",\n      \"1984-05-02\\n\",\n      \"1984-05-07\\n\",\n      \"1984-05-29\\n\",\n      \"1984-08-27\\n\",\n      \"1984-12-26\\n\",\n      \"1985-04-08\\n\",\n      \"1985-05-06\\n\",\n      \"1985-08-26\\n\",\n      \"1985-12-26\\n\",\n      \"1986-03-31\\n\",\n      \"1986-05-05\\n\",\n      \"1986-08-25\\n\",\n      \"1986-12-26\\n\",\n      \"1987-04-20\\n\",\n      \"1987-05-04\\n\",\n      \"1987-08-31\\n\",\n      \"1987-12-28\\n\",\n      \"1988-04-04\\n\",\n      \"1988-05-02\\n\",\n      \"1988-08-29\\n\",\n      \"1988-12-27\\n\",\n      \"1989-03-27\\n\",\n      \"1989-05-01\\n\",\n      \"1989-08-28\\n\",\n      \"1989-12-26\\n\",\n      \"1990-04-16\\n\",\n      \"1990-05-07\\n\",\n      \"1990-08-27\\n\",\n      \"1990-12-26\\n\",\n      \"1991-04-01\\n\",\n      \"1991-05-06\\n\",\n      \"1991-08-26\\n\",\n      \"1991-12-26\\n\",\n      \"1992-04-20\\n\",\n      \"1992-05-04\\n\",\n      \"1992-08-31\\n\",\n      \"1992-12-28\\n\",\n      \"1993-04-12\\n\",\n      \"1993-05-03\\n\",\n      \"1993-08-30\\n\",\n      \"1993-12-27\\n\",\n      \"1993-12-28\\n\",\n      \"1994-01-03\\n\",\n      \"1994-04-04\\n\",\n      \"1994-05-02\\n\",\n      \"1994-08-29\\n\",\n      \"1994-12-27\\n\",\n      \"1995-04-17\\n\",\n      \"1995-05-08\\n\",\n      \"1995-08-28\\n\",\n      \"1995-12-26\\n\",\n      \"1996-04-08\\n\",\n      \"1996-05-06\\n\",\n      \"1996-08-26\\n\",\n      \"1996-12-26\\n\",\n      \"1997-03-31\\n\",\n      \"1997-05-05\\n\",\n      \"1997-08-25\\n\",\n      \"1997-12-26\\n\",\n      \"1998-04-13\\n\",\n      \"1998-05-04\\n\",\n      \"1998-08-31\\n\",\n      \"1998-12-28\\n\",\n      \"1998-12-31\\n\",\n      \"1999-04-05\\n\",\n      \"1999-05-03\\n\",\n      \"1999-08-30\\n\",\n      \"1999-12-27\\n\",\n      \"1999-12-28\\n\",\n      \"1999-12-31\\n\",\n      \"2000-01-03\\n\",\n      \"2000-04-24\\n\",\n      \"2000-05-01\\n\",\n      \"2000-08-28\\n\",\n      \"2000-12-26\\n\",\n      \"2001-04-16\\n\",\n      \"2001-05-07\\n\",\n      \"2001-08-27\\n\",\n      \"2001-12-26\\n\",\n      \"2002-04-01\\n\",\n      \"2002-05-06\\n\",\n      \"2002-06-03\\n\",\n      \"2002-06-04\\n\",\n      \"2002-08-26\\n\",\n      \"2002-12-26\\n\",\n      \"2003-04-21\\n\",\n      \"2003-05-05\\n\",\n      \"2003-08-25\\n\",\n      \"2003-12-26\\n\",\n      \"2004-04-12\\n\",\n      \"2004-05-03\\n\",\n      \"2004-08-30\\n\",\n      \"2004-12-27\\n\",\n      \"2004-12-28\\n\",\n      \"2005-01-03\\n\",\n      \"2005-03-28\\n\",\n      \"2005-05-02\\n\",\n      \"2005-08-29\\n\",\n      \"2005-12-27\\n\",\n      \"2006-04-17\\n\",\n      \"2006-05-01\\n\",\n      \"2006-08-28\\n\",\n      \"2006-12-26\\n\",\n      \"2007-04-09\\n\",\n      \"2007-05-07\\n\",\n      \"2007-08-27\\n\",\n      \"2007-12-26\\n\",\n      \"2008-03-24\\n\",\n      \"2008-05-05\\n\",\n      \"2008-08-25\\n\",\n      \"2008-12-26\\n\",\n      \"2009-03-27\\n\",\n      \"2009-04-13\\n\",\n      \"2009-05-04\\n\",\n      \"2009-06-25\\n\",\n      \"2009-08-11\\n\",\n      \"2009-08-31\\n\",\n      \"2009-09-02\\n\",\n      \"2009-12-28\\n\",\n      \"2010-04-05\\n\",\n      \"2010-04-19\\n\",\n      \"2010-04-20\\n\",\n      \"2010-05-03\\n\",\n      \"2010-05-12\\n\",\n      \"2010-08-30\\n\",\n      \"2010-12-27\\n\",\n      \"2010-12-28\\n\",\n      \"2011-01-03\\n\",\n      \"2011-04-25\\n\",\n      \"2011-04-29\\n\",\n      \"2011-05-02\\n\",\n      \"2011-08-29\\n\",\n      \"2011-12-27\\n\",\n      \"2012-04-09\\n\",\n      \"2012-05-07\\n\",\n      \"2012-06-04\\n\",\n      \"2012-06-05\\n\",\n      \"2012-08-27\\n\",\n      \"2012-12-26\\n\",\n      \"2013-04-01\\n\",\n      \"2013-05-06\\n\",\n      \"2013-08-26\\n\",\n      \"2013-09-23\\n\",\n      \"2013-12-26\\n\",\n      \"2014-04-21\\n\",\n      \"2014-05-05\\n\",\n      \"2014-08-25\\n\",\n      \"2014-12-26\\n\",\n      \"2015-01-02\\n\",\n      \"2015-04-06\\n\",\n      \"2015-05-04\\n\",\n      \"2015-08-31\\n\",\n      \"2015-12-17\\n\",\n      \"2015-12-28\\n\",\n      \"2016-03-28\\n\",\n      \"2016-05-02\\n\",\n      \"2016-08-29\\n\",\n      \"NaNs:  158\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Count and display NaNs in FTSE data \\n\",\n    \"# i.e. dates where we have BP but not FTSE data\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print \\\"NaNs: \\\", nan_counter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Proxy remaining FTSE NaNs by taking the mean of the prices in the \\n\",\n    \"# two closest trading days where data is available \\n\",\n    \"# (one before, one after the day)\\n\",\n    \"ftse_data_to_average = ['Open', 'High', 'Low', 'Close']    \\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        if not (pd.isnull(bp.loc[bp_ftse_start+row-1, 'FTSE Date']) or pd.isnull(bp.loc[bp_ftse_start+row+1, 'FTSE Date'])):\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        else:\\n\",\n    \"            go_back = 0\\n\",\n    \"            go_forward = 0\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row-1-go_back, 'FTSE Date']):\\n\",\n    \"                go_back += 1\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row+1+go_forward, 'FTSE Date']):\\n\",\n    \"                go_forward += 1\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                    bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1-go_back,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1+go_forward,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"NaNs:  0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Check there are no more NaNs\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print \\\"NaNs: \\\", nan_counter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    print \\\"X.tail: \\\", X.tail()\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"X_train = []\\n\",\n    \"X_test = []\\n\",\n    \"y_train = []\\n\",\n    \"y_test = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2)) * 100\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print \\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred)\\n\",\n    \"    print \\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred)\\n\",\n    \"    print \\\"Explained Variance Score: \\\", explained_variance_score(test, pred)\\n\",\n    \"    print \\\"Mean Squared Error: \\\", mean_squared_error(test, pred)\\n\",\n    \"    print \\\"R2 score: \\\", r2_score(test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"days = 7\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    # Lines below for debugging purposes\\n\",\n    \"#    print \\\"X_train.head(): \\\", X_train.head()\\n\",\n    \"#    print \\\"X_train.tail(): \\\", X_train.tail()\\n\",\n    \"#    print \\\"Pred: \\\", pred[:5]\\n\",\n    \"#    print \\\"Test: \\\", y_test[:5]\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print \\\"# Days used to predict: %s\\\" % str(days)\\n\",\n    \"    print \\\"\\\\n%s-day predictions\\\" % str(target_days) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"def execute(steps=8, buffer_step=1000, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test(days=days, periods=periods, buffer=buffer)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.35177309038\\n\",\n      \"Explained Variance Score:  -0.999897657081\\n\",\n      \"Mean Squared Error:  5.3988704324\\n\",\n      \"R2 score:  -1.79018260924\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0968047690639\\n\",\n      \"Explained Variance Score:  0.631705385589\\n\",\n      \"Mean Squared Error:  0.0157858151181\\n\",\n      \"R2 score:  0.624974281171\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.121813762853\\n\",\n      \"Explained Variance Score:  0.841217523638\\n\",\n      \"Mean Squared Error:  0.0294876156146\\n\",\n      \"R2 score:  0.833996914272\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.426327931115\\n\",\n      \"Explained Variance Score:  0.603248858424\\n\",\n      \"Mean Squared Error:  0.3014216695\\n\",\n      \"R2 score:  0.267021281001\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  2.78950172548\\n\",\n      \"Explained Variance Score:  -3.16904684367\\n\",\n      \"Mean Squared Error:  12.5284487756\\n\",\n      \"R2 score:  -9.15605753784\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794150514869\\n\",\n      \"Explained Variance Score:  0.596407090489\\n\",\n      \"Mean Squared Error:  1.14332478592\\n\",\n      \"R2 score:  0.597101359913\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  4.81075475134\\n\",\n      \"Explained Variance Score:  -1.96163694244\\n\",\n      \"Mean Squared Error:  33.132880399\\n\",\n      \"R2 score:  -8.55239322845\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.21013490927\\n\",\n      \"Explained Variance Score:  0.826791346825\\n\",\n      \"Mean Squared Error:  2.43831676478\\n\",\n      \"R2 score:  0.822383271832\\n\",\n      \"Errors:  [Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64, Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64, Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64, Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64, Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64, Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64, Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64, Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[28.167307082010478, 1.4463260128939317, 1.4015691053772388, 10.765715566952402, 24.41364846412203, 2.5976792674283566, 18.495640626302091, 2.5516641001831584], [28.524924281544262, 2.1150843700255639, 1.9904192071209452, 9.9777793095670795, 24.431344729424715, 3.367362298621531, 18.32452824442602, 2.9446157412542853], [28.966326367296624, 2.5023622771613652, 2.3109755963471068, 10.480972016930716, 24.620149855164474, 3.7850136112690573, 18.233121169601173, 3.1880683026068426], [29.085697436318398, 2.8063986750089587, 2.7077120693474366, 10.557942877986475, 24.986822088443628, 4.1801925531737281, 18.358886996507305, 3.4904393628985919], [29.562881417844032, 3.021868557170595, 3.0291535073135702, 10.431970367583759, 25.272566808380592, 4.6500648454107214, 18.479669548458453, 4.1392852048533699], [29.542482156287058, 3.1522506324077977, 3.4807177473584945, 10.593414589800933, 26.220902712818216, 5.0692206066914274, 18.598393316146357, 4.6759345302063018], [29.721120149448151, 3.3063521749028761, 4.1903047240177909, 11.1043790016977, 26.731233491624817, 5.4599845932349131, 18.818122838439312, 5.1515982900107735]]\\n\",\n      \"Mean daily error:  [11.229943778158709, 11.45950727274805, 11.76087364954717, 12.021761507460564, 12.323432532126887, 12.666664536464573, 13.060386907922041]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# svm.SVR() trial\\n\",\n    \"execute(model=svm.SVR(), steps=8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.238191228204\\n\",\n      \"Explained Variance Score:  0.936734586453\\n\",\n      \"Mean Squared Error:  0.124174009044\\n\",\n      \"R2 score:  0.935825805621\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0972692755964\\n\",\n      \"Explained Variance Score:  0.631714378075\\n\",\n      \"Mean Squared Error:  0.0158811529743\\n\",\n      \"R2 score:  0.622709326982\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107737269091\\n\",\n      \"Explained Variance Score:  0.871650317662\\n\",\n      \"Mean Squared Error:  0.0228261083752\\n\",\n      \"R2 score:  0.871498446163\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.181147312912\\n\",\n      \"Explained Variance Score:  0.875052508652\\n\",\n      \"Mean Squared Error:  0.0677040810751\\n\",\n      \"R2 score:  0.835361370336\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214491478056\\n\",\n      \"Explained Variance Score:  0.938634248613\\n\",\n      \"Mean Squared Error:  0.079359261295\\n\",\n      \"R2 score:  0.935668234886\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.800157764607\\n\",\n      \"Explained Variance Score:  0.613715850639\\n\",\n      \"Mean Squared Error:  1.11699089039\\n\",\n      \"R2 score:  0.606381217067\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.64399497304\\n\",\n      \"Explained Variance Score:  0.892268550448\\n\",\n      \"Mean Squared Error:  0.724194775999\\n\",\n      \"R2 score:  0.791210628505\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.05035951615\\n\",\n      \"Explained Variance Score:  0.867777620914\\n\",\n      \"Mean Squared Error:  1.93149720042\\n\",\n      \"R2 score:  0.859302032386\\n\",\n      \"Errors:  [Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64, Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64, Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64, Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64, Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64, Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64, Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64, Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3698570333111504, 1.4112606385290734, 1.3388596770845407, 1.9978731488987438, 1.0643274139994094, 2.1726600714614435, 1.2096456519754599, 1.7851545701577813], [3.5397290828630266, 2.0992094906568943, 1.8827346495576485, 2.9916658848423605, 1.5585063699310966, 3.1013013471389437, 1.8485430242142713, 2.3575578468241742], [4.4040805111224612, 2.4921560557064821, 2.1764572183007651, 3.8243303952515619, 1.9133366253171493, 3.7697615623429668, 2.3093446670878617, 2.8551593057497877], [5.1323698739556516, 2.7671208137147856, 2.5543948404668759, 4.5282824168670546, 2.2001438159343518, 4.2080025337986378, 2.6823554175829778, 3.1844563168900706], [5.7184126896356871, 2.9697212352907276, 2.8435756292022925, 5.2200020876609496, 2.4613047808963091, 4.6245858986274824, 3.0873673748688937, 3.7434820521423369], [6.3399233706097196, 3.1396242770876306, 3.0843584513004441, 5.8895164465804859, 2.661753553657308, 5.0196880611640164, 3.4767926237582256, 4.2266657488609063], [6.8622343672731771, 3.2855971145088323, 3.3444418914677345, 6.4172185016832541, 2.843053391214541, 5.462962469783192, 3.8883808398183208, 4.6139581254374233]]\\n\",\n      \"Mean daily error:  [1.6687047756772002, 2.4224059620035518, 2.9680782926098792, 3.4071407536513005, 3.8335564685405847, 4.2297903166273416, 4.5897308376483092]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Linear Regression trial\\n\",\n    \"execute(steps=8)\\n\",\n    \"\\n\",\n    \"# R2 scores: [0.859, 0.791, 0.606, 0.936, 0.835, 0.871, 0.623, 0.936]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\",\n    \"\\n\",\n    \"No change in performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2 Feature Selection\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.1 Adding more of the same type of features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-09  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-10  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"1979-10-11  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-12  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1979-10-09  7.67689  7.59882  7.72894   8.36703  7.28654  \\n\",\n      \"1979-10-10  7.69042  7.67689  7.59882   8.36703  7.28654  \\n\",\n      \"1979-10-11  7.67689  7.69042  7.67689   8.36703  7.55926  \\n\",\n      \"1979-10-12   7.9111  7.67689  7.69042   8.36703  7.53428  \\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689   8.36703  7.53428  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.245263403626\\n\",\n      \"Explained Variance Score:  0.934491328873\\n\",\n      \"Mean Squared Error:  0.129280801098\\n\",\n      \"R2 score:  0.933454012643\\n\",\n      \"Buffer:  700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-07-15  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104  5.80321   \\n\",\n      \"1982-07-16   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104   \\n\",\n      \"1982-07-17  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309   \\n\",\n      \"1982-07-18  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558   \\n\",\n      \"1982-07-19  5.15262  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1982-07-15  5.89377   5.9073  5.77718   5.95935  5.50446  \\n\",\n      \"1982-07-16  5.80321  5.89377   5.9073   5.95935  5.30876  \\n\",\n      \"1982-07-17  5.62104  5.80321  5.89377   5.95935  5.24423  \\n\",\n      \"1982-07-18  5.67309  5.62104  5.80321   5.89377  5.08809  \\n\",\n      \"1982-07-19  5.68558  5.67309  5.62104   5.82923  5.06102  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173300277596\\n\",\n      \"Explained Variance Score:  0.888815416717\\n\",\n      \"Mean Squared Error:  0.0490251778494\\n\",\n      \"R2 score:  0.883431428434\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-04-24  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   4.6967   \\n\",\n      \"1985-04-25  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   \\n\",\n      \"1985-04-26  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842   \\n\",\n      \"1985-04-27  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   \\n\",\n      \"1985-04-28  4.21578  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1985-04-24  4.72376   4.6967  4.72376   4.74874  4.50204  \\n\",\n      \"1985-04-25   4.6967  4.72376   4.6967   4.74874  4.44999  \\n\",\n      \"1985-04-26  4.71023   4.6967  4.72376   4.73625  4.35943  \\n\",\n      \"1985-04-27   4.6842  4.71023   4.6967   4.72376  4.26783  \\n\",\n      \"1985-04-28   4.6842   4.6842  4.71023   4.72376  4.21578  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.119108631048\\n\",\n      \"Explained Variance Score:  0.711899830922\\n\",\n      \"Mean Squared Error:  0.0289413179188\\n\",\n      \"R2 score:  0.708651146753\\n\",\n      \"Buffer:  2100\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-28  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682  6.23485   \\n\",\n      \"1988-01-29    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682   \\n\",\n      \"1988-01-30   6.2886    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   \\n\",\n      \"1988-01-31  6.34235   6.2886    6.194  6.10048  5.95321   6.0865  6.10048   \\n\",\n      \"1988-02-01   6.3015  6.34235   6.2886    6.194  6.10048  5.95321   6.0865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1988-01-28  6.31547  6.34235   6.2757   6.34235  5.93923  \\n\",\n      \"1988-01-29  6.23485  6.31547  6.34235   6.34235  5.93923  \\n\",\n      \"1988-01-30   6.1682  6.23485  6.31547   6.32945  5.93923  \\n\",\n      \"1988-01-31  6.11445   6.1682  6.23485   6.35525  5.93923  \\n\",\n      \"1988-02-01  6.10048  6.11445   6.1682    6.3961  5.93923  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0952769269966\\n\",\n      \"Explained Variance Score:  0.871507295966\\n\",\n      \"Mean Squared Error:  0.0159940255259\\n\",\n      \"R2 score:  0.870509426232\\n\",\n      \"Buffer:  2800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-11-07  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226  6.98862   \\n\",\n      \"1990-11-08  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226   \\n\",\n      \"1990-11-09  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702   \\n\",\n      \"1990-11-10   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862   \\n\",\n      \"1990-11-11  6.98862   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1990-11-07  6.91929  7.01658  6.86338   7.22567  6.80748  \\n\",\n      \"1990-11-08  6.98862  6.91929  7.01658   7.22567  6.80748  \\n\",\n      \"1990-11-09  7.21226  6.98862  6.91929   7.22567  6.80748  \\n\",\n      \"1990-11-10  7.08702  7.21226  6.98862   7.22567  6.80748  \\n\",\n      \"1990-11-11  6.98862  7.08702  7.21226   7.22567  6.80748  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.144183713669\\n\",\n      \"Explained Variance Score:  0.723639903735\\n\",\n      \"Mean Squared Error:  0.0348028136176\\n\",\n      \"R2 score:  0.713646708273\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-11  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-12  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"1993-08-13   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-14  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-15   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1993-08-11  9.36866  9.29831  9.29831    9.3998  9.00997  \\n\",\n      \"1993-08-12  9.21296  9.36866  9.29831   9.47131  9.00997  \\n\",\n      \"1993-08-13  9.11146  9.21296  9.36866   9.70198  9.00997  \\n\",\n      \"1993-08-14  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-15   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.175887097751\\n\",\n      \"Explained Variance Score:  0.887963498445\\n\",\n      \"Mean Squared Error:  0.0551035235759\\n\",\n      \"R2 score:  0.867615685704\\n\",\n      \"Buffer:  4200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1996-05-18  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776  19.2888   \\n\",\n      \"1996-05-19  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776   \\n\",\n      \"1996-05-20  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691   \\n\",\n      \"1996-05-21  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252   \\n\",\n      \"1996-05-22  20.0734  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1996-05-18  19.4235  19.6291  19.6008   19.7473  18.8327  \\n\",\n      \"1996-05-19  19.2888  19.4235  19.6291   19.9553  18.8327  \\n\",\n      \"1996-05-20  18.8776  19.2888  19.4235   20.3381  18.8327  \\n\",\n      \"1996-05-21  19.0691  18.8776  19.2888   20.6193  18.8327  \\n\",\n      \"1996-05-22  19.5252  19.0691  18.8776   20.6193  18.8327  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.338537070406\\n\",\n      \"Explained Variance Score:  0.880567104974\\n\",\n      \"Mean Squared Error:  0.199301427398\\n\",\n      \"R2 score:  0.878296105939\\n\",\n      \"Buffer:  4900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-02-25  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   25.869   \\n\",\n      \"1999-02-26  27.2306  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   \\n\",\n      \"1999-02-27   26.676  27.2306  26.8147  27.0771  26.1463  26.3344    27.29   \\n\",\n      \"1999-02-28  26.5934   26.676  27.2306  26.8147  27.0771  26.1463  26.3344   \\n\",\n      \"1999-03-01  27.0567  26.5934   26.676  27.2306  26.8147  27.0771  26.1463   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1999-02-25  25.6215   25.468  25.3739    27.384  24.8145  \\n\",\n      \"1999-02-26   25.869  25.6215   25.468    27.384  25.1907  \\n\",\n      \"1999-02-27  26.8889   25.869  25.6215    27.384  25.3096  \\n\",\n      \"1999-02-28    27.29  26.8889   25.869    27.384  25.4383  \\n\",\n      \"1999-03-01  26.3344    27.29  26.8889    27.384  26.0522  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.79987099583\\n\",\n      \"Explained Variance Score:  0.713699257351\\n\",\n      \"Mean Squared Error:  1.14286865075\\n\",\n      \"R2 score:  0.709731902283\\n\",\n      \"Buffer:  5600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-12-05  20.6998   20.841  21.0692  21.2803  21.3878  21.4792  20.6785   \\n\",\n      \"2001-12-06  21.3353  20.6998   20.841  21.0692  21.2803  21.3878  21.4792   \\n\",\n      \"2001-12-07  21.3679  21.3353  20.6998   20.841  21.0692  21.2803  21.3878   \\n\",\n      \"2001-12-08  21.3299  21.3679  21.3353  20.6998   20.841  21.0692  21.2803   \\n\",\n      \"2001-12-09  21.2375  21.3299  21.3679  21.3353  20.6998   20.841  21.0692   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2001-12-05  20.6677  20.8934  20.7161   21.5437  20.4119  \\n\",\n      \"2001-12-06  20.6785  20.6677  20.8934   21.5437  20.4119  \\n\",\n      \"2001-12-07  21.4792  20.6785  20.6677   21.5437  20.4119  \\n\",\n      \"2001-12-08  21.3878  21.4792  20.6785   21.5437  20.4119  \\n\",\n      \"2001-12-09  21.2803  21.3878  21.4792   21.5437  20.4119  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.841030573229\\n\",\n      \"Explained Variance Score:  0.823346393459\\n\",\n      \"Mean Squared Error:  1.23605771115\\n\",\n      \"R2 score:  0.721970087336\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2004-09-17  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684  39.3459   \\n\",\n      \"2004-09-18  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684   \\n\",\n      \"2004-09-19  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374   \\n\",\n      \"2004-09-20  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223   \\n\",\n      \"2004-09-21  39.8887  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2004-09-17  39.4294  40.4553  40.4672   41.3022  39.0358  \\n\",\n      \"2004-09-18  39.3459  39.4294  40.4553   41.3022  39.0358  \\n\",\n      \"2004-09-19  39.2684  39.3459  39.4294   41.3022  39.0358  \\n\",\n      \"2004-09-20  40.4374  39.2684  39.3459   41.3022  39.0358  \\n\",\n      \"2004-09-21  40.6223  40.4374  39.2684   41.3022  39.0358  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728558429454\\n\",\n      \"Explained Variance Score:  0.795888858571\\n\",\n      \"Mean Squared Error:  0.927322469233\\n\",\n      \"R2 score:  0.79156569031\\n\",\n      \"Errors:  [Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64, Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64, Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64, Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64, Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64, Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64, Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64, Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64, Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64, Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3633119350196083, 2.3656668815405815, 1.8068967673168335, 1.1618527298758623, 1.2445199687301822, 1.3663233859342694, 1.2306040140332253, 2.0991032810897887, 2.4324477531714686, 1.2507503445957771], [3.5547442825053919, 3.481529290249135, 2.5856310121744528, 1.6496590138637148, 1.809132425557288, 1.9964030368392935, 1.8720955368221319, 3.1280968433143097, 3.5227538429212828, 1.8321069037719084], [4.4479717498041955, 4.3049728599220547, 3.1680784232346348, 1.9720295214110184, 2.1910410000791423, 2.5121823913989516, 2.3170550743329108, 3.8585169441853613, 4.3728666842384767, 2.2386315167496664], [5.2227419733682234, 4.7215794009499099, 3.4891579548518452, 2.2414627141040615, 2.5055902203003813, 2.90970213520768, 2.6274277931002956, 4.376862471759261, 5.1061285474682583, 2.5932743630842392], [5.8260923948398808, 5.0598325984063965, 3.8226976530484578, 2.4088856925610633, 2.7730862599144057, 3.2157984690632953, 2.9342447416299611, 4.7079859138129168, 5.7969965267876038, 2.8488069806603251], [6.4375575079233638, 5.3681318110243605, 4.1111391646782698, 2.5862495537524421, 2.9855585838487566, 3.482818119821625, 3.2730794532705025, 4.9961485085103687, 6.418081003261106, 3.0338810314181326], [6.9698629698470569, 5.6450129168027123, 4.3105607363275551, 2.6921943572726881, 3.1522043963508404, 3.7153490809861225, 3.4874417668039328, 5.3341041131784843, 6.9664616392606362, 3.1588584581960775]]\\n\",\n      \"Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Considering more than 7 days' worth of prior data\\n\",\n    \"# 10 days' worth of prior data\\n\",\n    \"execute(steps=10, days=10, buffer_step = 700)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-14  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-15   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   \\n\",\n      \"1979-10-16  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452   \\n\",\n      \"1979-10-17  7.20847  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-14  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-15   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-16  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-17  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-13   8.36703  7.28654  \\n\",\n      \"1979-10-14   8.36703  7.28654  \\n\",\n      \"1979-10-15   8.36703  7.39063  \\n\",\n      \"1979-10-16   8.36703  7.18245  \\n\",\n      \"1979-10-17   8.36703  6.92221  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.248776074705\\n\",\n      \"Explained Variance Score:  0.932287153948\\n\",\n      \"Mean Squared Error:  0.131935951513\\n\",\n      \"R2 score:  0.931564117202\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-07  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-08  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-09  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929   \\n\",\n      \"1981-10-10  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327   \\n\",\n      \"1981-10-11  3.72134  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1981-10-07  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553  3.44757   \\n\",\n      \"1981-10-08  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553   \\n\",\n      \"1981-10-09  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464   \\n\",\n      \"1981-10-10  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918   \\n\",\n      \"1981-10-11  3.64327  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1981-10-07    4.0076   3.3185  \\n\",\n      \"1981-10-08    4.0076   3.3185  \\n\",\n      \"1981-10-09    4.0076   3.3185  \\n\",\n      \"1981-10-10    4.0076  3.48713  \\n\",\n      \"1981-10-11    4.0076  3.53918  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.139681061468\\n\",\n      \"Explained Variance Score:  0.695779905092\\n\",\n      \"Mean Squared Error:  0.0337119645641\\n\",\n      \"R2 score:  0.685613674393\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-30  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-01  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-02  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192   \\n\",\n      \"1983-10-03   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602   \\n\",\n      \"1983-10-04  4.35943   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1983-09-30  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-10-01  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-10-02  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-10-03  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-10-04  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-30   4.60613   4.3459  \\n\",\n      \"1983-10-01   4.60613   4.3459  \\n\",\n      \"1983-10-02   4.56762  4.26783  \\n\",\n      \"1983-10-03   4.56762  4.26783  \\n\",\n      \"1983-10-04   4.56762  4.26783  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0983383277787\\n\",\n      \"Explained Variance Score:  0.673001905538\\n\",\n      \"Mean Squared Error:  0.0159582555222\\n\",\n      \"R2 score:  0.663777302829\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-09-20  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809  5.14013   \\n\",\n      \"1985-09-21  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809   \\n\",\n      \"1985-09-22  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865   \\n\",\n      \"1985-09-23  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013   \\n\",\n      \"1985-09-24  5.11307  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1985-09-20  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262  5.20467   \\n\",\n      \"1985-09-21  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262   \\n\",\n      \"1985-09-22  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488   \\n\",\n      \"1985-09-23  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648   \\n\",\n      \"1985-09-24  5.14013  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1985-09-20   5.26921  4.89239  \\n\",\n      \"1985-09-21   5.26921  4.89239  \\n\",\n      \"1985-09-22   5.26921  4.89239  \\n\",\n      \"1985-09-23   5.26921  4.90488  \\n\",\n      \"1985-09-24   5.26921  4.91841  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.122285822087\\n\",\n      \"Explained Variance Score:  0.532878366341\\n\",\n      \"Mean Squared Error:  0.025722263709\\n\",\n      \"R2 score:  0.528611373486\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-10  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-11  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-12  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782   \\n\",\n      \"1987-09-13  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479   \\n\",\n      \"1987-09-14  5.78111  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1987-09-10  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-11  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-12  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-13  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-14   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-10   5.84824  5.62126  \\n\",\n      \"1987-09-11   5.84824  5.62126  \\n\",\n      \"1987-09-12   5.84824  5.62126  \\n\",\n      \"1987-09-13   5.84824  5.62126  \\n\",\n      \"1987-09-14   5.84824  5.62126  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107345237581\\n\",\n      \"Explained Variance Score:  0.872175783957\\n\",\n      \"Mean Squared Error:  0.0226157683537\\n\",\n      \"R2 score:  0.872187834621\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-02  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-03  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-04  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851   \\n\",\n      \"1989-09-05  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932   \\n\",\n      \"1989-09-06  8.74405  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1989-09-02  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123  8.56614   \\n\",\n      \"1989-09-03  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123   \\n\",\n      \"1989-09-04  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805   \\n\",\n      \"1989-09-05  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932   \\n\",\n      \"1989-09-06  8.57932  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1989-09-02   8.78578  8.35967  \\n\",\n      \"1989-09-03   8.78578  8.35967  \\n\",\n      \"1989-09-04   8.78578  8.35967  \\n\",\n      \"1989-09-05   8.78578  8.35967  \\n\",\n      \"1989-09-06   8.78578  8.35967  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.182993141917\\n\",\n      \"Explained Variance Score:  0.923373254714\\n\",\n      \"Mean Squared Error:  0.0633763394031\\n\",\n      \"R2 score:  0.913263877343\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-27  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121  5.01791   \\n\",\n      \"1991-08-28  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121   \\n\",\n      \"1991-08-29  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451   \\n\",\n      \"1991-08-30  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245   \\n\",\n      \"1991-08-31  4.97595  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1991-08-27  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-28  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-29  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-30  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-31  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-27   5.27306  4.69245  \\n\",\n      \"1991-08-28   5.24471  4.69245  \\n\",\n      \"1991-08-29   5.24471  4.69245  \\n\",\n      \"1991-08-30   5.15966  4.69245  \\n\",\n      \"1991-08-31   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.196205423468\\n\",\n      \"Explained Variance Score:  0.867530206283\\n\",\n      \"Mean Squared Error:  0.0757048791729\\n\",\n      \"R2 score:  0.806951047925\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-18   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-19  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-20  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   \\n\",\n      \"1993-08-21   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747   \\n\",\n      \"1993-08-22  9.34213   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1993-08-18   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831  9.29831   \\n\",\n      \"1993-08-19  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831   \\n\",\n      \"1993-08-20   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866   \\n\",\n      \"1993-08-21  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-22  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1993-08-18   9.83231  9.00997  \\n\",\n      \"1993-08-19   9.83231  9.00997  \\n\",\n      \"1993-08-20   9.83231  9.00997  \\n\",\n      \"1993-08-21   9.83231  9.00997  \\n\",\n      \"1993-08-22   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.174147642649\\n\",\n      \"Explained Variance Score:  0.892678602856\\n\",\n      \"Mean Squared Error:  0.0544705960063\\n\",\n      \"R2 score:  0.872851342431\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-09  15.2984  15.5612  15.4004   15.357  15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-10   15.005  15.2984  15.5612  15.4004   15.357  15.2538  15.1071   \\n\",\n      \"1995-08-11  15.0778   15.005  15.2984  15.5612  15.4004   15.357  15.2538   \\n\",\n      \"1995-08-12  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   15.357   \\n\",\n      \"1995-08-13  15.1071  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1995-08-09  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-08-10  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-08-11  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-12  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-13   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-08-09   15.5612  14.9311  \\n\",\n      \"1995-08-10   15.5612  14.9463  \\n\",\n      \"1995-08-11   15.5612  14.9463  \\n\",\n      \"1995-08-12   15.5612  14.9463  \\n\",\n      \"1995-08-13   15.5612  14.9463  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214711322421\\n\",\n      \"Explained Variance Score:  0.942826192476\\n\",\n      \"Mean Squared Error:  0.0808523509562\\n\",\n      \"R2 score:  0.937817635223\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-07-31  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-01  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-02  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928   \\n\",\n      \"1997-08-03  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197   \\n\",\n      \"1997-08-04  19.7879  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1997-07-31  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403  22.0346   \\n\",\n      \"1997-08-01  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403   \\n\",\n      \"1997-08-02  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387   \\n\",\n      \"1997-08-03  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358   \\n\",\n      \"1997-08-04  20.9197  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1997-07-31   22.1407  20.1788  \\n\",\n      \"1997-08-01   22.1407  19.8627  \\n\",\n      \"1997-08-02   21.5061  19.8627  \\n\",\n      \"1997-08-03   21.4771  19.8482  \\n\",\n      \"1997-08-04   21.4771  19.6528  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.575956001159\\n\",\n      \"Explained Variance Score:  0.632401065134\\n\",\n      \"Mean Squared Error:  0.536694556461\\n\",\n      \"R2 score:  0.635433823871\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-23  27.1893  26.8435   26.623  26.3423  26.5027  26.7533  26.9688   \\n\",\n      \"1999-07-24  27.6253  27.1893  26.8435   26.623  26.3423  26.5027  26.7533   \\n\",\n      \"1999-07-25  28.4122  27.6253  27.1893  26.8435   26.623  26.3423  26.5027   \\n\",\n      \"1999-07-26  27.3447  28.4122  27.6253  27.1893  26.8435   26.623  26.3423   \\n\",\n      \"1999-07-27    27.47  27.3447  28.4122  27.6253  27.1893  26.8435   26.623   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1999-07-23  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-24  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-25  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-26  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-27  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-23   27.3146   25.811  \\n\",\n      \"1999-07-24   28.1917   25.811  \\n\",\n      \"1999-07-25   28.7229   25.811  \\n\",\n      \"1999-07-26   28.7229  25.9664  \\n\",\n      \"1999-07-27   28.7229  25.9664  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834586135448\\n\",\n      \"Explained Variance Score:  0.552372347128\\n\",\n      \"Mean Squared Error:  1.19797116115\\n\",\n      \"R2 score:  0.541753682113\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-17  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   21.771   \\n\",\n      \"2001-07-18  21.2871  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-19  21.2339  21.2871  20.7074  19.9948   20.633  21.0584  21.1701   \\n\",\n      \"2001-07-20  22.2708  21.2339  21.2871  20.7074  19.9948   20.633  21.0584   \\n\",\n      \"2001-07-21  21.9624  22.2708  21.2339  21.2871  20.7074  19.9948   20.633   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2001-07-17  22.2762  21.2179  21.9784  22.0156  21.1488   21.085  21.7337   \\n\",\n      \"2001-07-18   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   21.085   \\n\",\n      \"2001-07-19  21.4998   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   \\n\",\n      \"2001-07-20  21.1701  21.4998   21.771  22.2762  21.2179  21.9784  22.0156   \\n\",\n      \"2001-07-21  21.0584  21.1701  21.4998   21.771  22.2762  21.2179  21.9784   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2001-07-17   22.6378  19.9417  \\n\",\n      \"2001-07-18   22.6378  19.9417  \\n\",\n      \"2001-07-19   22.6378  19.9417  \\n\",\n      \"2001-07-20   22.6378  19.9417  \\n\",\n      \"2001-07-21   22.6378  19.9417  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.676312438719\\n\",\n      \"Explained Variance Score:  0.79312466119\\n\",\n      \"Mean Squared Error:  0.850174654841\\n\",\n      \"R2 score:  0.78753038764\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-10  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-11  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-12   34.112  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937   \\n\",\n      \"2003-07-13  34.0719   34.112  33.9686  34.1522  33.5959  33.0052  33.3722   \\n\",\n      \"2003-07-14  33.6131  34.0719   34.112  33.9686  34.1522  33.5959  33.0052   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2003-07-10  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-11  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-12  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-13  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-14  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-10   34.3357  32.0187  \\n\",\n      \"2003-07-11   34.3357  32.5005  \\n\",\n      \"2003-07-12   34.3357  32.7585  \\n\",\n      \"2003-07-13   34.3357  32.7585  \\n\",\n      \"2003-07-14   34.3357  32.7585  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.633855324068\\n\",\n      \"Explained Variance Score:  0.893339521738\\n\",\n      \"Mean Squared Error:  0.718058387086\\n\",\n      \"R2 score:  0.80969350896\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-09  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-10  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-11  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449   \\n\",\n      \"2005-07-12  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571   \\n\",\n      \"2005-07-13  39.5982  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2005-07-09  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   39.867   \\n\",\n      \"2005-07-10  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   \\n\",\n      \"2005-07-11  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275   \\n\",\n      \"2005-07-12  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227   \\n\",\n      \"2005-07-13  39.7571  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2005-07-09   40.8933  38.9812  \\n\",\n      \"2005-07-10   40.8933  38.9812  \\n\",\n      \"2005-07-11   40.8933  38.8041  \\n\",\n      \"2005-07-12   40.6123  38.8041  \\n\",\n      \"2005-07-13   40.6123  38.8041  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.813134820175\\n\",\n      \"Explained Variance Score:  0.629454488747\\n\",\n      \"Mean Squared Error:  1.11504616982\\n\",\n      \"R2 score:  0.634165070736\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-06  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-07  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-08  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071   \\n\",\n      \"2007-07-09  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119   \\n\",\n      \"2007-07-10  33.2667  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2007-07-06  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-07-07  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-07-08  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-07-09  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-10  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-07-06   37.6275  32.8884  \\n\",\n      \"2007-07-07   37.6275  32.8884  \\n\",\n      \"2007-07-08   37.6275  32.0919  \\n\",\n      \"2007-07-09   37.6275  32.0919  \\n\",\n      \"2007-07-10   37.6275  32.0919  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.15665536203\\n\",\n      \"Explained Variance Score:  0.868995317818\\n\",\n      \"Mean Squared Error:  2.51929559765\\n\",\n      \"R2 score:  0.848349836178\\n\",\n      \"Errors:  [Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64, Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64, Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64, Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64, Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64, Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64, Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64, Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64, Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64, Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64, Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64, Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64, Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64, Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64, Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3428046878594335, 2.5494465554647414, 1.3954581010084075, 1.9338110474345769, 1.349031388428084, 1.3082501119097614, 2.0877971918382312, 1.362629656063173, 1.0672541331288881, 1.7560891545451207, 2.2842628093726178, 2.0416633481835507, 1.1975233764939945, 1.2541140107194724, 1.9979717114798277], [3.5258552334178641, 3.7320533743630255, 2.1034184642616141, 2.6897205756015548, 1.8969039843105724, 2.0506153412586832, 3.2171984334944406, 1.9827940259871397, 1.5688995987559236, 2.6367635568182766, 3.3068351824563802, 2.8945074594428291, 1.8249088288131119, 1.7898187399932406, 2.6622184489674865], [4.420877989036649, 4.7032147476522344, 2.5136196508353961, 3.0922152789031143, 2.1796658505265682, 2.6304796746940839, 4.1915655602523731, 2.4924344110851404, 1.9105828050113176, 3.2464940581864847, 4.0444675805083419, 3.4573108599535782, 2.2800119253617375, 2.1330178906407928, 3.2434631632331032], [5.2453007591988934, 5.3658643734648832, 2.7831224905377154, 3.416748711154967, 2.5549049030530955, 3.0746731020488789, 4.9524019488849751, 2.8907889072630373, 2.1787553036935075, 3.7318496940231114, 4.5205370675953178, 3.9785266649335007, 2.6882642728569226, 2.5139768692486597, 3.8987847995297504], [5.9123764917439461, 5.9343992865756627, 2.9779283268835495, 3.749884830258206, 2.8424480771173175, 3.4493099318044464, 5.6296725435585397, 3.1974315805691531, 2.4205889442104498, 4.1528377889957317, 4.8491578280113066, 4.4437933328538719, 3.0871274223490661, 2.8212984449238308, 4.5627499655632802], [6.5253540389538474, 6.411869704769062, 3.1595872490659578, 3.9820786600745923, 3.0589602014064852, 3.6925343353850728, 6.2161677524830603, 3.4512842358405149, 2.6052006922636068, 4.4255891500298041, 5.1504375410897554, 4.8667198046540632, 3.4479777609243358, 3.1141175250353417, 5.4764165109956515], [7.0484327153638269, 6.8859112718527289, 3.3214906751109079, 4.1319603443044786, 3.2919049518842676, 3.8961844607912113, 6.645652227769677, 3.680437333538447, 2.7931310314182922, 4.6362674911036841, 5.5220713093967051, 5.2196422824700353, 3.7666650074113814, 3.3699869165228575, 6.3198328863514632]]\\n\",\n      \"Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 14 days' worth of prior data\\n\",\n    \"execute(steps=15, days=14, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-24  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687  7.49473   \\n\",\n      \"1979-10-25  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687   \\n\",\n      \"1979-10-26  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   \\n\",\n      \"1979-10-27  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847   \\n\",\n      \"1979-10-28  7.39063  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1979-10-24  7.63838  7.58633  7.72894   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-25  7.49473  7.63838  7.58633   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-26   7.4687  7.49473  7.63838   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-27  7.20847   7.4687  7.49473   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-28  7.20847  7.20847   7.4687   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1979-10-24  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-10-25   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-10-26  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-10-27  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-10-28   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.47982  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.247178558128\\n\",\n      \"Explained Variance Score:  0.934716071877\\n\",\n      \"Mean Squared Error:  0.125104935048\\n\",\n      \"R2 score:  0.934194798936\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-16  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781  3.63078   \\n\",\n      \"1981-10-17  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781   \\n\",\n      \"1981-10-18   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134   \\n\",\n      \"1981-10-19  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134   \\n\",\n      \"1981-10-20  4.15125  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1981-10-16  3.60371  3.59122  3.68283   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-17  3.63078  3.60371  3.59122   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-18  3.70781  3.63078  3.60371   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-19  3.72134  3.70781  3.63078   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-20  3.72134  3.72134  3.70781   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1981-10-16  3.69532  3.53918  3.47464  3.39553  3.44757    4.0076   3.3185  \\n\",\n      \"1981-10-17  3.85146  3.69532  3.53918  3.47464  3.39553    4.0076   3.3185  \\n\",\n      \"1981-10-18  3.95555  3.85146  3.69532  3.53918  3.47464    4.0076   3.3185  \\n\",\n      \"1981-10-19  3.87748  3.95555  3.85146  3.69532  3.53918   4.07213  3.48713  \\n\",\n      \"1981-10-20  3.66929  3.87748  3.95555  3.85146  3.69532   4.20329  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.14560789487\\n\",\n      \"Explained Variance Score:  0.697986240547\\n\",\n      \"Mean Squared Error:  0.0357285529497\\n\",\n      \"R2 score:  0.693931872833\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-11  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385  4.38441   \\n\",\n      \"1983-10-12  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385   \\n\",\n      \"1983-10-13  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459   \\n\",\n      \"1983-10-14  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   \\n\",\n      \"1983-10-15  4.28032  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1983-10-11  4.44999  4.51557  4.55409   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-12  4.38441  4.44999  4.51557   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-13  4.29385  4.38441  4.44999   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-14   4.3459  4.29385  4.38441   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-15  4.35943   4.3459  4.29385   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1983-10-11  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.21578  \\n\",\n      \"1983-10-12  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.18976  \\n\",\n      \"1983-10-13  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.18976  \\n\",\n      \"1983-10-14  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.18976  \\n\",\n      \"1983-10-15  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.18976  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.100467856093\\n\",\n      \"Explained Variance Score:  0.707746188515\\n\",\n      \"Mean Squared Error:  0.0166816164165\\n\",\n      \"R2 score:  0.690365934271\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-01  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648  5.03604   \\n\",\n      \"1985-10-02  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648   \\n\",\n      \"1985-10-03  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693   \\n\",\n      \"1985-10-04  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307   \\n\",\n      \"1985-10-05  5.15262  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1985-10-01  5.10058  5.23069  5.25672   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-02  5.03604  5.10058  5.23069   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-03  4.99648  5.03604  5.10058   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-04  4.95693  4.99648  5.03604   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-05  5.11307  4.95693  4.99648   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1985-10-01  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-02  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-03  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-04  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-05  5.08809  5.14013  5.16512  5.15262  4.98399   5.26921  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.118704995917\\n\",\n      \"Explained Variance Score:  0.599720926078\\n\",\n      \"Mean Squared Error:  0.0233000629812\\n\",\n      \"R2 score:  0.596620827484\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-22  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725  5.79496   \\n\",\n      \"1987-09-23  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725   \\n\",\n      \"1987-09-24  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496   \\n\",\n      \"1987-09-25  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111   \\n\",\n      \"1987-09-26  5.90152  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1987-09-22  5.84824  5.79496  5.70118   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-09-23  5.79496  5.84824  5.79496   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-09-24  5.76725  5.79496  5.84824   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-25  5.79496  5.76725  5.79496   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-26  5.78111  5.79496  5.76725   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1987-09-22  5.66069  5.79496  5.72782  5.71397   5.6479   5.86103  5.62126  \\n\",\n      \"1987-09-23  5.70118  5.66069  5.79496  5.72782  5.71397   5.86103  5.62126  \\n\",\n      \"1987-09-24  5.72782  5.70118  5.66069  5.79496  5.72782   5.86103  5.62126  \\n\",\n      \"1987-09-25  5.67454  5.72782  5.70118  5.66069  5.79496   5.86103  5.62126  \\n\",\n      \"1987-09-26  5.74168  5.67454  5.72782  5.70118  5.66069   5.90152  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107246850816\\n\",\n      \"Explained Variance Score:  0.873418919146\\n\",\n      \"Mean Squared Error:  0.0223804852513\\n\",\n      \"R2 score:  0.873053045647\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-13  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441  8.51123   \\n\",\n      \"1989-09-14  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441   \\n\",\n      \"1989-09-15  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105   \\n\",\n      \"1989-09-16  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405   \\n\",\n      \"1989-09-17  8.66302  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1989-09-13  8.38823  8.38823   8.4695   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-14  8.51123  8.38823  8.38823   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-15  8.52441  8.51123  8.38823   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-16  8.62105  8.52441  8.51123   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-17  8.74405  8.62105  8.52441   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1989-09-13  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.35967  \\n\",\n      \"1989-09-14  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  8.35967  \\n\",\n      \"1989-09-15  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  8.35967  \\n\",\n      \"1989-09-16  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  8.35967  \\n\",\n      \"1989-09-17  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  8.35967  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183367476501\\n\",\n      \"Explained Variance Score:  0.923191778806\\n\",\n      \"Mean Squared Error:  0.062951655998\\n\",\n      \"R2 score:  0.914995737201\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-05  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595  4.96121   \\n\",\n      \"1991-09-06  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595   \\n\",\n      \"1991-09-07  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791   \\n\",\n      \"1991-09-08  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595   \\n\",\n      \"1991-09-09  4.86252  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1991-09-05  4.83307  4.79111  4.80585   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-06  4.96121  4.83307  4.79111   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-07  4.97595  4.96121  4.83307   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-08  5.01791  4.97595  4.96121   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-09  4.97595  5.01791  4.97595   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1991-09-05  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-06  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-07  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-08  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-09  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.179845135179\\n\",\n      \"Explained Variance Score:  0.878379857563\\n\",\n      \"Mean Squared Error:  0.0637005335646\\n\",\n      \"R2 score:  0.832463137105\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-27  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664  9.52898   \\n\",\n      \"1993-08-28  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664   \\n\",\n      \"1993-08-29  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998   \\n\",\n      \"1993-08-30  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   \\n\",\n      \"1993-08-31  9.35597  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1993-08-27   9.5728  9.77464   9.6743   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-28  9.52898   9.5728  9.77464   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-29  9.58664  9.52898   9.5728   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-30   9.3998  9.58664  9.52898   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-31  9.34213   9.3998  9.58664   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1993-08-27  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-28  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-29   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  9.00997  \\n\",\n      \"1993-08-30  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-31   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173480085165\\n\",\n      \"Explained Variance Score:  0.889783953988\\n\",\n      \"Mean Squared Error:  0.0542550164358\\n\",\n      \"R2 score:  0.87630032975\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-19  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   15.005   \\n\",\n      \"1995-08-20  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   \\n\",\n      \"1995-08-21  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071   \\n\",\n      \"1995-08-22  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071   \\n\",\n      \"1995-08-23  14.7703  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1995-08-19  15.2984  15.5612  15.4004   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-08-20   15.005  15.2984  15.5612   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-08-21  15.0778   15.005  15.2984   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-22  15.1071  15.0778   15.005   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-08-23  15.1071  15.1071  15.0778   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1995-08-19  15.1364  15.1071  15.3124  15.4298  15.2397   15.5612  14.6812  \\n\",\n      \"1995-08-20  15.4298  15.1364  15.1071  15.3124  15.4298   15.5612  14.6812  \\n\",\n      \"1995-08-21  15.4298  15.4298  15.1364  15.1071  15.3124   15.5612  14.6812  \\n\",\n      \"1995-08-22  15.3418  15.4298  15.4298  15.1364  15.1071   15.5612  14.6671  \\n\",\n      \"1995-08-23  15.1071  15.3418  15.4298  15.4298  15.1364   15.5612  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.21969484392\\n\",\n      \"Explained Variance Score:  0.941053178728\\n\",\n      \"Mean Squared Error:  0.0874448127494\\n\",\n      \"R2 score:  0.934717418017\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-09  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788  20.0003   \\n\",\n      \"1997-08-10  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788   \\n\",\n      \"1997-08-11  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689   \\n\",\n      \"1997-08-12  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879   \\n\",\n      \"1997-08-13   21.523  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1997-08-09  20.9486  21.4313  21.4023   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-10  20.0003  20.9486  21.4313   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-11  20.1788  20.0003  20.9486   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-12  19.9689  20.1788  20.0003   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-13  19.7879  19.9689  20.1788   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1997-08-09  20.8883  21.2358  20.7387  21.0403  22.0346   22.1407  19.6528  \\n\",\n      \"1997-08-10  21.2069  20.8883  21.2358  20.7387  21.0403   22.1407  19.6528  \\n\",\n      \"1997-08-11  20.9197  21.2069  20.8883  21.2358  20.7387   21.6267  19.6528  \\n\",\n      \"1997-08-12  20.5119  20.9197  21.2069  20.8883  21.2358   21.6267  19.6528  \\n\",\n      \"1997-08-13  20.6036  20.5119  20.9197  21.2069  20.8883   21.6267  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.587602123323\\n\",\n      \"Explained Variance Score:  0.597673117636\\n\",\n      \"Mean Squared Error:  0.562295173611\\n\",\n      \"R2 score:  0.599602671043\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-03  26.9086  26.5929  27.0039    27.47  27.3447  28.4122  27.6253   \\n\",\n      \"1999-08-04  27.3146  26.9086  26.5929  27.0039    27.47  27.3447  28.4122   \\n\",\n      \"1999-08-05  27.0339  27.3146  26.9086  26.5929  27.0039    27.47  27.3447   \\n\",\n      \"1999-08-06  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039    27.47   \\n\",\n      \"1999-08-07  26.0316  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1999-08-03  27.1893  26.8435   26.623   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-04  27.6253  27.1893  26.8435   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-05  28.4122  27.6253  27.1893   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-06  27.3447  28.4122  27.6253   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-07    27.47  27.3447  28.4122   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1999-08-03  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   25.811  \\n\",\n      \"1999-08-04  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   25.811  \\n\",\n      \"1999-08-05  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   25.811  \\n\",\n      \"1999-08-06  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  25.9664  \\n\",\n      \"1999-08-07  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  25.9363  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.80841683447\\n\",\n      \"Explained Variance Score:  0.55978076116\\n\",\n      \"Mean Squared Error:  1.12748077923\\n\",\n      \"R2 score:  0.551337857615\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-26  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339  21.2871   \\n\",\n      \"2001-07-27  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339   \\n\",\n      \"2001-07-28  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708   \\n\",\n      \"2001-07-29  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624   \\n\",\n      \"2001-07-30  21.3349  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2001-07-26  20.7074  19.9948   20.633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-07-27  21.2871  20.7074  19.9948   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-07-28  21.2339  21.2871  20.7074   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-07-29  22.2708  21.2339  21.2871   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-30  21.9624  22.2708  21.2339   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2001-07-26  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.9417  \\n\",\n      \"2001-07-27  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.9417  \\n\",\n      \"2001-07-28  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.9417  \\n\",\n      \"2001-07-29   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.9417  \\n\",\n      \"2001-07-30  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.9417  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.702921222006\\n\",\n      \"Explained Variance Score:  0.80646285415\\n\",\n      \"Mean Squared Error:  0.898869096996\\n\",\n      \"R2 score:  0.800649358483\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-19   33.831  33.5959  33.2632  33.6131  34.0719   34.112  33.9686   \\n\",\n      \"2003-07-20  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   34.112   \\n\",\n      \"2003-07-21  33.4926  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   \\n\",\n      \"2003-07-22   33.917  33.4926  33.5729   33.831  33.5959  33.2632  33.6131   \\n\",\n      \"2003-07-23  33.8826   33.917  33.4926  33.5729   33.831  33.5959  33.2632   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2003-07-19  34.1522  33.5959  33.0052   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-07-20  33.9686  34.1522  33.5959   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-07-21   34.112  33.9686  34.1522   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-22  34.0719   34.112  33.9686   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-23  33.6131  34.0719   34.112   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2003-07-19  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-07-20  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-07-21  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-07-22  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-07-23  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.607302274291\\n\",\n      \"Explained Variance Score:  0.912255975134\\n\",\n      \"Mean Squared Error:  0.641949670141\\n\",\n      \"R2 score:  0.841214975617\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-20  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263  39.9404   \\n\",\n      \"2005-07-21  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263   \\n\",\n      \"2005-07-22   39.751  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388   \\n\",\n      \"2005-07-23  40.3008   39.751  39.0118  39.4211  39.2928  39.5188  39.5982   \\n\",\n      \"2005-07-24  41.2538  40.3008   39.751  39.0118  39.4211  39.2928  39.5188   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2005-07-20  40.0625  40.1969  40.4413   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-07-21  39.9404  40.0625  40.1969   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-07-22  38.9263  39.9404  40.0625   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-23  39.7388  38.9263  39.9404   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-24  39.5982  39.7388  38.9263   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2005-07-20  40.0442  39.6227  40.2275  40.7162   39.867   40.8933  38.8041  \\n\",\n      \"2005-07-21  39.8304  40.0442  39.6227  40.2275  40.7162   40.8933  38.8041  \\n\",\n      \"2005-07-22  39.7082  39.8304  40.0442  39.6227  40.2275   40.8933  38.8041  \\n\",\n      \"2005-07-23  40.2947  39.7082  39.8304  40.0442  39.6227   40.6123  38.8041  \\n\",\n      \"2005-07-24  39.8304  40.2947  39.7082  39.8304  40.0442   41.3454  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834239650358\\n\",\n      \"Explained Variance Score:  0.583600781437\\n\",\n      \"Mean Squared Error:  1.16134570271\\n\",\n      \"R2 score:  0.585510921947\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-17  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162  36.2071   \\n\",\n      \"2007-07-18  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162   \\n\",\n      \"2007-07-19  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999   \\n\",\n      \"2007-07-20  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667   \\n\",\n      \"2007-07-21  26.9147  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2007-07-17  36.7314  35.5367  35.9084   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-18  36.2071  36.7314  35.5367   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-19  32.6162  36.2071  36.7314   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-20  33.2999  32.6162  36.2071   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-21  33.2667  33.2999  32.6162   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2007-07-17  36.3664   35.457  35.5035    34.78  36.1009   37.6275  28.4479  \\n\",\n      \"2007-07-18  34.4681  36.3664   35.457  35.5035    34.78   37.6275  28.4479  \\n\",\n      \"2007-07-19  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  28.3484  \\n\",\n      \"2007-07-20  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  26.5629  \\n\",\n      \"2007-07-21  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.2420603359\\n\",\n      \"Explained Variance Score:  0.882276409115\\n\",\n      \"Mean Squared Error:  2.85887227574\\n\",\n      \"R2 score:  0.862561522356\\n\",\n      \"Errors:  [Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64, Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64, Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64, Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64, Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64, Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64, Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64, Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64, Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64, Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64, Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64, Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64, Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64, Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64, Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.2932086903598066, 2.5745843677223665, 1.410938665851232, 1.8560341967801308, 1.3452118535491773, 1.2953543921120965, 2.0706240035799164, 1.3163805720674671, 1.0787215801674817, 1.7589705465567647, 2.2752138152167474, 2.0880627448808471, 1.1687399396644256, 1.2874672090863213, 2.3679740132036238], [3.5051253714594792, 3.7758939807647049, 2.1101590340760858, 2.5311938217644379, 1.8869590042388795, 2.0136643031598154, 3.0941050306484827, 1.9668400833290185, 1.5852576005774814, 2.6692218359360016, 3.2804625406152712, 3.0511678681477217, 1.7709780411099409, 1.8590066437215769, 3.2260112930119331], [4.3910769731836528, 4.73443172240734, 2.5163581244682867, 2.8921256793047787, 2.1712841603268145, 2.5715803374493698, 3.9478706366382608, 2.5025348594217718, 1.9241814438590694, 3.2905025186776364, 3.9550573049063185, 3.6441654215575263, 2.1770380803647402, 2.2190678049570254, 3.7581852465385679], [5.1361009877654604, 5.4151232904822937, 2.7996492546644527, 3.254525792271338, 2.552883694387567, 3.030218079266386, 4.6195946055962853, 2.8935016311120809, 2.2056247688212975, 3.7878186640966414, 4.3904674266100656, 4.1287784929628275, 2.544219187098574, 2.5895015720185302, 4.440659439319135], [5.7410212232012947, 6.0457890220500268, 3.0383136360900456, 3.5252188012037138, 2.826196220616342, 3.4278249217933108, 5.1806333088289245, 3.2002251370334793, 2.4562804221504946, 4.2112453125333271, 4.6795839169286628, 4.5588302590783849, 2.9100623154365133, 2.8787401524867353, 5.1795549205147617], [6.3168411174496839, 6.565847199104029, 3.2619156971270429, 3.7370190918129889, 3.0182882726444662, 3.7051905637636322, 5.6874360343827588, 3.4407560971972138, 2.6628209714516475, 4.5058494414038934, 4.9211912763832011, 5.0124273285269396, 3.2339526748757406, 3.1592652479164429, 5.8957221091782941], [6.8191565595888122, 7.0508931309669327, 3.4473160422940028, 3.964312202423975, 3.2338778357552651, 3.9255667936052023, 6.0096699233415531, 3.6545134565638175, 2.8840627731649513, 4.7448298869292778, 5.2894102436662802, 5.4030603118359393, 3.5305738678012406, 3.3828891687730129, 6.526988671729911]]\\n\",\n      \"Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 21 days' worth of prior data\\n\",\n    \"execute(steps=15, days=21, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-11-06  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063  7.09084   \\n\",\n      \"1979-11-07  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063   \\n\",\n      \"1979-11-08  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063   \\n\",\n      \"1979-11-09  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052   \\n\",\n      \"1979-11-10  6.55789  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1979-11-06  6.83061  6.87017  6.92221   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-11-07  7.09084  6.83061  6.87017   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-11-08  7.39063  7.09084  6.83061   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-11-09  7.39063  7.39063  7.09084   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-11-10  7.26052  7.39063  7.39063   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1979-11-06  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-11-07   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-11-08  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-11-09  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-11-10   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.46628  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.265589379571\\n\",\n      \"Explained Variance Score:  0.923826112353\\n\",\n      \"Mean Squared Error:  0.137645958828\\n\",\n      \"R2 score:  0.924053762052\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-29  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125  4.02009   \\n\",\n      \"1981-10-30  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125   \\n\",\n      \"1981-10-31  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623   \\n\",\n      \"1981-11-01  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783   \\n\",\n      \"1981-11-02  4.16374  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1981-10-29   3.9035  3.65576  3.70781   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-30  4.02009   3.9035  3.65576   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-31  4.15125  4.02009   3.9035   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-11-01  4.17623  4.15125  4.02009   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-11-02  4.26783  4.17623  4.15125   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1981-10-29  3.69532  3.53918  3.47464  3.39553  3.44757   4.30739   3.3185  \\n\",\n      \"1981-10-30  3.85146  3.69532  3.53918  3.47464  3.39553   4.30739   3.3185  \\n\",\n      \"1981-10-31  3.95555  3.85146  3.69532  3.53918  3.47464   4.30739   3.3185  \\n\",\n      \"1981-11-01  3.87748  3.95555  3.85146  3.69532  3.53918   4.30739  3.48713  \\n\",\n      \"1981-11-02  3.66929  3.87748  3.95555  3.85146  3.69532   4.30739  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.147636752695\\n\",\n      \"Explained Variance Score:  0.723234662854\\n\",\n      \"Mean Squared Error:  0.0364831332012\\n\",\n      \"R2 score:  0.711874870251\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-22  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032  4.28032   \\n\",\n      \"1983-10-23  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032   \\n\",\n      \"1983-10-24  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192   \\n\",\n      \"1983-10-25  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192   \\n\",\n      \"1983-10-26  4.31988  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1983-10-22  4.30739  4.25534  4.25534   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-23  4.28032  4.30739  4.25534   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-24  4.28032  4.28032  4.30739   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-25  4.37192  4.28032  4.28032   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-26  4.37192  4.37192  4.28032   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1983-10-22  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.13771  \\n\",\n      \"1983-10-23  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.13771  \\n\",\n      \"1983-10-24  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.12418  \\n\",\n      \"1983-10-25  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.12418  \\n\",\n      \"1983-10-26  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0982455236583\\n\",\n      \"Explained Variance Score:  0.738585897896\\n\",\n      \"Mean Squared Error:  0.0162113557319\\n\",\n      \"R2 score:  0.736956378599\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-12  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262  5.04853   \\n\",\n      \"1985-10-13  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262   \\n\",\n      \"1985-10-14  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423   \\n\",\n      \"1985-10-15  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467   \\n\",\n      \"1985-10-16  5.40037  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1985-10-12  4.99648  5.08809  5.15262   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-13  5.04853  4.99648  5.08809   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-14  5.15262  5.04853  4.99648   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-15  5.24423  5.15262  5.04853   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-16  5.20467  5.24423  5.15262   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1985-10-12  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-13  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-14  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-15  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-16  5.08809  5.14013  5.16512  5.15262  4.98399   5.43888  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.125644826003\\n\",\n      \"Explained Variance Score:  0.64103714916\\n\",\n      \"Mean Squared Error:  0.0279968462683\\n\",\n      \"R2 score:  0.621838958431\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-10-06  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152  5.83439   \\n\",\n      \"1987-10-07  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152   \\n\",\n      \"1987-10-08  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103   \\n\",\n      \"1987-10-09  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038   \\n\",\n      \"1987-10-10  5.71397  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1987-10-06  5.76725  5.76725  5.84824   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-10-07  5.83439  5.76725  5.76725   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-10-08  5.90152  5.83439  5.76725   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-10-09  5.86103  5.90152  5.83439   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-10-10  5.98038  5.86103  5.90152   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1987-10-06  5.66069  5.79496  5.72782  5.71397   5.6479   6.07416  5.62126  \\n\",\n      \"1987-10-07  5.70118  5.66069  5.79496  5.72782  5.71397   6.07416  5.62126  \\n\",\n      \"1987-10-08  5.72782  5.70118  5.66069  5.79496  5.72782   6.07416  5.62126  \\n\",\n      \"1987-10-09  5.67454  5.72782  5.70118  5.66069  5.79496   6.07416  5.62126  \\n\",\n      \"1987-10-10  5.74168  5.67454  5.72782  5.70118  5.66069   6.07416  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101127508153\\n\",\n      \"Explained Variance Score:  0.896285604892\\n\",\n      \"Mean Squared Error:  0.0175440030481\\n\",\n      \"R2 score:  0.895446126394\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-28  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302  8.73244   \\n\",\n      \"1989-09-29   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302   \\n\",\n      \"1989-09-30  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639   \\n\",\n      \"1989-10-01  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264   \\n\",\n      \"1989-10-02  8.29169  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1989-09-28  8.84263  8.81508  8.84263   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-29  8.73244  8.84263  8.81508   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-30  8.66302  8.73244  8.84263   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-10-01  8.52639  8.66302  8.73244   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-10-02  8.44264  8.52639  8.66302   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1989-09-28  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.20904  \\n\",\n      \"1989-09-29  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791   8.1264  \\n\",\n      \"1989-09-30  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791   8.1264  \\n\",\n      \"1989-10-01  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791   8.1264  \\n\",\n      \"1989-10-02  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791   8.1264  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.192674964535\\n\",\n      \"Explained Variance Score:  0.915662166478\\n\",\n      \"Mean Squared Error:  0.0693827817393\\n\",\n      \"R2 score:  0.904473158945\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-19   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252  4.86252   \\n\",\n      \"1991-09-20  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252   \\n\",\n      \"1991-09-21  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409   \\n\",\n      \"1991-09-22  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409   \\n\",\n      \"1991-09-23  4.96148  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1991-09-19  4.89096  4.91925  4.91925   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-20  4.86252  4.89096  4.91925   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-21  4.86252  4.86252  4.89096   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-22  4.83409  4.86252  4.86252   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-23  4.83409  4.83409  4.86252   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1991-09-19  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-20  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-21  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-22  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-23  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.169117487826\\n\",\n      \"Explained Variance Score:  0.885949963038\\n\",\n      \"Mean Squared Error:  0.0583397959215\\n\",\n      \"R2 score:  0.84902479478\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-09-09  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597  9.29831   \\n\",\n      \"1993-09-10  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597   \\n\",\n      \"1993-09-11  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827   \\n\",\n      \"1993-09-12  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272   \\n\",\n      \"1993-09-13  9.17272  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1993-09-09  9.25563  9.24064  9.35597   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-09-10  9.29831  9.25563  9.24064   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-09-11  9.35597  9.29831  9.25563   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-09-12  9.28827  9.35597  9.29831   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-09-13  9.17272  9.28827  9.35597   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1993-09-09  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-10  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-11   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.86881  \\n\",\n      \"1993-09-12  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.86881  \\n\",\n      \"1993-09-13   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.86881  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173953716023\\n\",\n      \"Explained Variance Score:  0.882699120583\\n\",\n      \"Mean Squared Error:  0.055246949342\\n\",\n      \"R2 score:  0.868280591863\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-09-01  15.5764  15.4744  15.3265  15.3265   15.005  14.7703  14.7844   \\n\",\n      \"1995-09-02  15.6127  15.5764  15.4744  15.3265  15.3265   15.005  14.7703   \\n\",\n      \"1995-09-03  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   15.005   \\n\",\n      \"1995-09-04  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   \\n\",\n      \"1995-09-05  16.2301  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1995-09-01  14.7551  14.7551  14.7551   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-09-02  14.7844  14.7551  14.7551   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-09-03  14.7703  14.7844  14.7551   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-09-04   15.005  14.7703  14.7844   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-09-05  15.3265   15.005  14.7703   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1995-09-01  15.1364  15.1071  15.3124  15.4298  15.2397   15.5764  14.6378  \\n\",\n      \"1995-09-02  15.4298  15.1364  15.1071  15.3124  15.4298   15.7738  14.6378  \\n\",\n      \"1995-09-03  15.4298  15.4298  15.1364  15.1071  15.3124   16.1125  14.6378  \\n\",\n      \"1995-09-04  15.3418  15.4298  15.4298  15.1364  15.1071   16.3183  14.6378  \\n\",\n      \"1995-09-05  15.1071  15.3418  15.4298  15.4298  15.1364   16.3183  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.239159740022\\n\",\n      \"Explained Variance Score:  0.944241221285\\n\",\n      \"Mean Squared Error:  0.101972988604\\n\",\n      \"R2 score:  0.93697372492\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-23  21.5519  21.8391  22.1552  22.1407  21.7933   21.523  21.3565   \\n\",\n      \"1997-08-24  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   21.523   \\n\",\n      \"1997-08-25  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   \\n\",\n      \"1997-08-26  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407   \\n\",\n      \"1997-08-27  22.3992  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1997-08-23  21.4771  21.0235  20.8594   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-24  21.3565  21.4771  21.0235   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-25   21.523  21.3565  21.4771   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-26  21.7933   21.523  21.3565   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-27  22.1407  21.7933   21.523   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1997-08-23  20.8883  21.2358  20.7387  21.0403  22.0346   22.1721  19.6528  \\n\",\n      \"1997-08-24  21.2069  20.8883  21.2358  20.7387  21.0403   22.1721  19.6528  \\n\",\n      \"1997-08-25  20.9197  21.2069  20.8883  21.2358  20.7387   22.1721  19.6528  \\n\",\n      \"1997-08-26  20.5119  20.9197  21.2069  20.8883  21.2358   22.1721  19.6528  \\n\",\n      \"1997-08-27  20.6036  20.5119  20.9197  21.2069  20.8883   22.3992  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601937849493\\n\",\n      \"Explained Variance Score:  0.588903471007\\n\",\n      \"Mean Squared Error:  0.583981651008\\n\",\n      \"R2 score:  0.583088547014\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-14  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316  26.7533   \\n\",\n      \"1999-08-15  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316   \\n\",\n      \"1999-08-16  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616   \\n\",\n      \"1999-08-17  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098   \\n\",\n      \"1999-08-18  24.6834  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1999-08-14  27.0339  27.3146  26.9086   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-15  26.7533  27.0339  27.3146   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-16  26.0316  26.7533  27.0339   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-17  26.0616  26.0316  26.7533   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-18  25.3098  26.0616  26.0316   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1999-08-14  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   24.964  \\n\",\n      \"1999-08-15  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   24.964  \\n\",\n      \"1999-08-16  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229  24.4027  \\n\",\n      \"1999-08-17  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  24.4027  \\n\",\n      \"1999-08-18  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  24.4027  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794397514735\\n\",\n      \"Explained Variance Score:  0.589058113891\\n\",\n      \"Mean Squared Error:  1.06170118828\\n\",\n      \"R2 score:  0.586860973735\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-08-08  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349  21.1594   \\n\",\n      \"2001-08-09  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349   \\n\",\n      \"2001-08-10  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786   \\n\",\n      \"2001-08-11  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588   \\n\",\n      \"2001-08-12  19.8885  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2001-08-08  21.2445  21.2658  22.3559   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-08-09  21.1594  21.2445  21.2658   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-08-10  21.3349  21.1594  21.2445   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-08-11  20.9786  21.3349  21.1594   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-08-12  19.5588  20.9786  21.3349   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2001-08-08  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.2769  \\n\",\n      \"2001-08-09  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.2769  \\n\",\n      \"2001-08-10  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.2769  \\n\",\n      \"2001-08-11   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.2769  \\n\",\n      \"2001-08-12  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.2769  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.716918405219\\n\",\n      \"Explained Variance Score:  0.831164391363\\n\",\n      \"Mean Squared Error:  0.921046477113\\n\",\n      \"R2 score:  0.8261118985\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-08-01  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   33.917   \\n\",\n      \"2003-08-02  33.4066  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   \\n\",\n      \"2003-08-03  33.5041  33.4066  33.0453  33.6303  33.7966   34.112  33.8195   \\n\",\n      \"2003-08-04  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   34.112   \\n\",\n      \"2003-08-05  33.9973  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2003-08-01  33.4926  33.5729   33.831   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-08-02   33.917  33.4926  33.5729   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-08-03  33.8826   33.917  33.4926   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-08-04  33.8195  33.8826   33.917   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-08-05   34.112  33.8195  33.8826   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2003-08-01  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-08-02  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-08-03  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-08-04  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-08-05  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.58624564363\\n\",\n      \"Explained Variance Score:  0.917058612472\\n\",\n      \"Mean Squared Error:  0.59587482901\\n\",\n      \"R2 score:  0.858798903078\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-08-02  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538  40.3008   \\n\",\n      \"2005-08-03  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538   \\n\",\n      \"2005-08-04  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943   \\n\",\n      \"2005-08-05  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551   \\n\",\n      \"2005-08-06  41.5776  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2005-08-02   39.751  39.0118  39.4211   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-08-03  40.3008   39.751  39.0118   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-08-04  41.2538  40.3008   39.751   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-08-05  41.3943  41.2538  40.3008   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-08-06  40.6551  41.3943  41.2538   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2005-08-02  40.0442  39.6227  40.2275  40.7162   39.867   41.7791  38.8041  \\n\",\n      \"2005-08-03  39.8304  40.0442  39.6227  40.2275  40.7162   41.8952  38.8041  \\n\",\n      \"2005-08-04  39.7082  39.8304  40.0442  39.6227  40.2275   42.3962  38.8041  \\n\",\n      \"2005-08-05  40.2947  39.7082  39.8304  40.0442  39.6227   42.4511  38.8041  \\n\",\n      \"2005-08-06  39.8304  40.2947  39.7082  39.8304  40.0442   42.4511  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.802958635558\\n\",\n      \"Explained Variance Score:  0.615314748251\\n\",\n      \"Mean Squared Error:  1.07455580184\\n\",\n      \"R2 score:  0.610929179905\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-28  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147  27.0143   \\n\",\n      \"2007-07-29  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147   \\n\",\n      \"2007-07-30   31.375  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639   \\n\",\n      \"2007-07-31  28.7068   31.375  33.8043  29.4037  29.4966  27.4523  31.0033   \\n\",\n      \"2007-08-01  29.9082  28.7068   31.375  33.8043  29.4037  29.4966  27.4523   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2007-07-28  29.6692  29.4834  30.2998   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-29  27.0143  29.6692  29.4834   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-30  26.9147  27.0143  29.6692   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-31  30.8639  26.9147  27.0143   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-08-01  31.0033  30.8639  26.9147   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2007-07-28  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-07-29  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-07-30  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-07-31  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-08-01  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.34141196406\\n\",\n      \"Explained Variance Score:  0.8823848576\\n\",\n      \"Mean Squared Error:  3.23643017946\\n\",\n      \"R2 score:  0.870276149629\\n\",\n      \"Errors:  [Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64, Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64, Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64, Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64, Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64, Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64, Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64, Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64, Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64, Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64, Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64, Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64, Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64, Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64, Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3547309468646977, 2.6843698878562434, 1.4073060638117993, 1.8257205265526617, 1.2571302541332623, 1.3070616670286337, 1.9988507624239815, 1.2774261200573758, 1.0972884438734316, 1.7713207964022895, 2.2515787402833238, 2.1936305240618905, 1.1322810611135845, 1.2781940755820749, 2.9218559619814704], [3.6177056160450944, 3.8529029980585308, 2.0996497849323741, 2.5200941777904116, 1.7425090853194207, 2.0767602945362782, 2.9825225833769546, 1.9238545410998846, 1.6284871067250986, 2.6941111554594688, 3.193383888830593, 3.1126222980274192, 1.7023257899660558, 1.8256993808103501, 3.9248097333153922], [4.5649082663487981, 4.919654734680905, 2.5310312168153977, 2.9836384156717788, 2.0110091568888309, 2.6672760574192766, 3.7613247626665651, 2.4870650021890679, 1.9946989514581441, 3.3683432902069392, 3.8294519687663078, 3.7373617983789833, 2.080606518150474, 2.14060014177976, 4.2051556740937093], [5.4024502775560101, 5.5403781813156501, 2.8324489798600148, 3.4016521599695979, 2.3200498153968843, 3.1868909037254345, 4.4188904926330173, 2.8895466676894839, 2.3126474095813565, 3.8741601379971553, 4.2175713308860896, 4.2133650475354072, 2.4493016707758857, 2.465324887372323, 4.9642444869322437], [6.0874752741145528, 6.1238292431129455, 3.0779955606900775, 3.7679999784167957, 2.5431262388706335, 3.5929183893538976, 5.033414123710652, 3.230316091173671, 2.5966357031707243, 4.2764916616348794, 4.5333785968485394, 4.6529261285101802, 2.7891901712253597, 2.7680731557270328, 5.6452968644470065], [6.7355277492693739, 6.5918510035213815, 3.2815416890282374, 4.0959675621588527, 2.742164531970531, 3.874977862896968, 5.5623865765175768, 3.461071665532764, 2.8417667456729157, 4.5564166688903143, 4.779192398380526, 5.086101610706165, 3.0854034250811742, 3.0325416694322258, 6.1485518594275472], [7.3347922060064086, 7.025247411581879, 3.453130554000138, 4.4229639877662024, 2.8911324077574512, 4.0773842621070342, 5.9115774229114351, 3.6835908281785965, 3.0577563801686329, 4.7911542187225136, 5.0594615569728996, 5.4556849461479642, 3.3659760913065653, 3.2410121186171836, 6.7994967443732222]]\\n\",\n      \"Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 30 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=30, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1980-02-14  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058  5.04853   \\n\",\n      \"1980-02-15  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058   \\n\",\n      \"1980-02-16  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251   \\n\",\n      \"1980-02-17  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058   \\n\",\n      \"1980-02-18  5.20467  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1980-02-14  5.03604  4.89239  4.91841   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1980-02-15  5.04853  5.03604  4.89239   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1980-02-16  5.10058  5.04853  5.03604   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1980-02-17  5.02251  5.10058  5.04853   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1980-02-18  5.10058  5.02251  5.10058   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1980-02-14  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703   4.6842  \\n\",\n      \"1980-02-15   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703   4.6842  \\n\",\n      \"1980-02-16  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703   4.6842  \\n\",\n      \"1980-02-17  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703   4.6842  \\n\",\n      \"1980-02-18   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703   4.6842  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.308123611359\\n\",\n      \"Explained Variance Score:  0.883196210344\\n\",\n      \"Mean Squared Error:  0.174895557318\\n\",\n      \"R2 score:  0.882761749111\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-02-06  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023  4.67171   \\n\",\n      \"1982-02-07  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023   \\n\",\n      \"1982-02-08  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376   \\n\",\n      \"1982-02-09  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874   \\n\",\n      \"1982-02-10  4.91841  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1982-02-06  4.74874  4.73625   4.7883   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1982-02-07  4.67171  4.74874  4.73625   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1982-02-08  4.71023  4.67171  4.74874   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1982-02-09  4.72376  4.71023  4.67171   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1982-02-10  4.74874  4.72376  4.71023   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1982-02-06  3.69532  3.53918  3.47464  3.39553  3.44757   4.85284   3.3185  \\n\",\n      \"1982-02-07  3.85146  3.69532  3.53918  3.47464  3.39553   4.85284   3.3185  \\n\",\n      \"1982-02-08  3.95555  3.85146  3.69532  3.53918  3.47464    4.8799   3.3185  \\n\",\n      \"1982-02-09  3.87748  3.95555  3.85146  3.69532  3.53918   4.94444  3.48713  \\n\",\n      \"1982-02-10  3.66929  3.87748  3.95555  3.85146  3.69532   4.94444  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.153771584056\\n\",\n      \"Explained Variance Score:  0.858967690029\\n\",\n      \"Mean Squared Error:  0.037657109341\\n\",\n      \"R2 score:  0.855415148739\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1984-02-01  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637  4.82785   \\n\",\n      \"1984-02-02  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637   \\n\",\n      \"1984-02-03   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488   \\n\",\n      \"1984-02-04   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637   \\n\",\n      \"1984-02-05  4.90488   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1984-02-01   4.7883   4.7883  4.84034   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1984-02-02  4.82785   4.7883   4.7883   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1984-02-03  4.86637  4.82785   4.7883   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1984-02-04  4.90488  4.86637  4.82785   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1984-02-05  4.86637  4.90488  4.86637   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1984-02-01  4.35943  4.39795  4.43646  4.58011  4.56762   5.02251  4.12418  \\n\",\n      \"1984-02-02  4.37192  4.35943  4.39795  4.43646  4.58011   5.02251  4.12418  \\n\",\n      \"1984-02-03  4.42397  4.37192  4.35943  4.39795  4.43646   5.02251  4.12418  \\n\",\n      \"1984-02-04  4.39795  4.42397  4.37192  4.35943  4.39795   5.02251  4.12418  \\n\",\n      \"1984-02-05  4.44999  4.39795  4.42397  4.37192  4.35943   5.02251  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101043295151\\n\",\n      \"Explained Variance Score:  0.769182909465\\n\",\n      \"Mean Squared Error:  0.0161008843587\\n\",\n      \"R2 score:  0.617638917329\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1986-01-22  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048  7.36443   \\n\",\n      \"1986-01-23  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048   \\n\",\n      \"1986-01-24  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685   \\n\",\n      \"1986-01-25  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322   \\n\",\n      \"1986-01-26  7.39064  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1986-01-22  7.36443  7.39064  7.48289   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1986-01-23  7.36443  7.36443  7.39064   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1986-01-24  7.43048  7.36443  7.36443   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1986-01-25  7.41685  7.43048  7.36443   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1986-01-26  7.40322  7.41685  7.43048   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1986-01-22  4.98399  4.99648  4.90488  5.15262  5.20467    7.5741  4.89239  \\n\",\n      \"1986-01-23  5.15262  4.98399  4.99648  4.90488  5.15262    7.5741  4.89239  \\n\",\n      \"1986-01-24  5.16512  5.15262  4.98399  4.99648  4.90488    7.5741  4.89239  \\n\",\n      \"1986-01-25  5.14013  5.16512  5.15262  4.98399  4.99648    7.5741  4.90488  \\n\",\n      \"1986-01-26  5.08809  5.14013  5.16512  5.15262  4.98399    7.5741  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.212433916939\\n\",\n      \"Explained Variance Score:  0.908541965433\\n\",\n      \"Mean Squared Error:  0.0861793881797\\n\",\n      \"R2 score:  0.881980679802\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-14   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695  6.44985   \\n\",\n      \"1988-01-15   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695   \\n\",\n      \"1988-01-16  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297   \\n\",\n      \"1988-01-17  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922   \\n\",\n      \"1988-01-18  6.23485  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1988-01-14  6.49069  6.42297  6.50359   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1988-01-15  6.44985  6.49069  6.42297   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1988-01-16  6.43695  6.44985  6.49069   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1988-01-17  6.42297  6.43695  6.44985   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1988-01-18  6.36922  6.42297  6.43695   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1988-01-14  5.66069  5.79496  5.72782  5.71397   5.6479   6.62399  5.62126  \\n\",\n      \"1988-01-15  5.70118  5.66069  5.79496  5.72782  5.71397   6.62399  5.62126  \\n\",\n      \"1988-01-16  5.72782  5.70118  5.66069  5.79496  5.72782   6.62399  5.62126  \\n\",\n      \"1988-01-17  5.67454  5.72782  5.70118  5.66069  5.79496   6.62399  5.62126  \\n\",\n      \"1988-01-18  5.74168  5.67454  5.72782  5.70118  5.66069   6.62399  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.104323850003\\n\",\n      \"Explained Variance Score:  0.850284924048\\n\",\n      \"Mean Squared Error:  0.0187007596422\\n\",\n      \"R2 score:  0.835576466493\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-01-05  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067  8.25312   \\n\",\n      \"1990-01-06  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067   \\n\",\n      \"1990-01-07  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131   \\n\",\n      \"1990-01-08  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131   \\n\",\n      \"1990-01-09  7.67357  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1990-01-05  8.30842  8.46105  8.41902   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1990-01-06  8.25312  8.30842  8.46105   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1990-01-07  8.06067  8.25312  8.30842   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1990-01-08  7.92131  8.06067  8.25312   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1990-01-09  7.92131  7.92131  8.06067   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1990-01-05  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  7.57546  \\n\",\n      \"1990-01-06  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  7.57546  \\n\",\n      \"1990-01-07  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  7.57546  \\n\",\n      \"1990-01-08  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  7.57546  \\n\",\n      \"1990-01-09  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  7.57546  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.210351894406\\n\",\n      \"Explained Variance Score:  0.741325230038\\n\",\n      \"Mean Squared Error:  0.0765172809939\\n\",\n      \"R2 score:  0.70389414274\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-12-31  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   5.7994   \\n\",\n      \"1992-01-01  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   \\n\",\n      \"1992-01-02  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241   \\n\",\n      \"1992-01-03  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759   \\n\",\n      \"1992-01-04  6.19833  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1991-12-31   5.7994  5.75608  5.71277   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1992-01-01   5.7994   5.7994  5.75608   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1992-01-02  5.82675   5.7994   5.7994   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1992-01-03  5.74241  5.82675   5.7994   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1992-01-04  5.72759  5.74241  5.82675   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1991-12-31  5.11657  5.15966  5.22997  5.21636  5.18801   5.87006  4.67712  \\n\",\n      \"1992-01-01  5.11657  5.11657  5.15966  5.22997  5.21636   5.95555  4.67712  \\n\",\n      \"1992-01-02  5.03265  5.11657  5.11657  5.15966  5.22997   6.14134  4.67712  \\n\",\n      \"1992-01-03  5.01791  5.03265  5.11657  5.11657  5.15966    6.1687  4.67712  \\n\",\n      \"1992-01-04  4.96121  5.01791  5.03265  5.11657  5.11657   6.22569  4.67712  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183122699785\\n\",\n      \"Explained Variance Score:  0.66511338143\\n\",\n      \"Mean Squared Error:  0.0658789640265\\n\",\n      \"R2 score:  0.599655687338\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-12-22  8.9178  9.06257  9.01972  8.94161  8.78214  8.83992  8.78214   \\n\",\n      \"1993-12-23  8.9178   8.9178  9.06257  9.01972  8.94161  8.78214  8.83992   \\n\",\n      \"1993-12-24  8.9178   8.9178   8.9178  9.06257  9.01972  8.94161  8.78214   \\n\",\n      \"1993-12-25  8.8599   8.9178   8.9178   8.9178  9.06257  9.01972  8.94161   \\n\",\n      \"1993-12-26   8.846   8.8599   8.9178   8.9178   8.9178  9.06257  9.01972   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1993-12-22  8.99938  9.09992  9.14267   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-12-23  8.78214  8.99938  9.09992   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-12-24  8.83992  8.78214  8.99938   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-12-25  8.78214  8.83992  8.78214   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-12-26  8.94161  8.78214  8.83992   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1993-12-22  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-23  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-24   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.65272  \\n\",\n      \"1993-12-25  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.65272  \\n\",\n      \"1993-12-26   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.65272  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.158445846768\\n\",\n      \"Explained Variance Score:  0.620247529876\\n\",\n      \"Mean Squared Error:  0.0465380189471\\n\",\n      \"R2 score:  0.60132021659\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-12-13  15.5329   15.356  15.5482  15.6354  15.5482  15.5329  15.4516   \\n\",\n      \"1995-12-14  15.6661  15.5329   15.356  15.5482  15.6354  15.5482  15.5329   \\n\",\n      \"1995-12-15  15.6072  15.6661  15.5329   15.356  15.5482  15.6354  15.5482   \\n\",\n      \"1995-12-16  15.5765  15.6072  15.6661  15.5329   15.356  15.5482  15.6354   \\n\",\n      \"1995-12-17  15.8276  15.5765  15.6072  15.6661  15.5329   15.356  15.5482   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1995-12-13  15.7456  15.7738  16.0396   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-12-14  15.4516  15.7456  15.7738   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-12-15  15.5329  15.4516  15.7456   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-12-16  15.5482  15.5329  15.4516   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-12-17  15.6354  15.5482  15.5329   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1995-12-13  15.1364  15.1071  15.3124  15.4298  15.2397   17.2886  14.6378  \\n\",\n      \"1995-12-14  15.4298  15.1364  15.1071  15.3124  15.4298   17.2886  14.6378  \\n\",\n      \"1995-12-15  15.4298  15.4298  15.1364  15.1071  15.3124   17.2886  14.6378  \\n\",\n      \"1995-12-16  15.3418  15.4298  15.4298  15.1364  15.1071   17.2886  14.6378  \\n\",\n      \"1995-12-17  15.1071  15.3418  15.4298  15.4298  15.1364   17.2886  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.287728749471\\n\",\n      \"Explained Variance Score:  0.938381959646\\n\",\n      \"Mean Squared Error:  0.147641443939\\n\",\n      \"R2 score:  0.93566576996\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-12-04  19.8712  19.7065   19.675  19.8276  19.9172  20.1278  20.2949   \\n\",\n      \"1997-12-05  19.9922  19.8712  19.7065   19.675  19.8276  19.9172  20.1278   \\n\",\n      \"1997-12-06  20.1908  19.9922  19.8712  19.7065   19.675  19.8276  19.9172   \\n\",\n      \"1997-12-07  20.5225  20.1908  19.9922  19.8712  19.7065   19.675  19.8276   \\n\",\n      \"1997-12-08  20.5831  20.5225  20.1908  19.9922  19.8712  19.7065   19.675   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1997-12-04   20.462  20.6121  21.1885   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-12-05  20.2949   20.462  20.6121   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-12-06  20.1278  20.2949   20.462   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-12-07  19.9172  20.1278  20.2949   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-12-08  19.8276  19.9172  20.1278   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1997-12-04  20.8883  21.2358  20.7387  21.0403  22.0346   23.0966  19.4643  \\n\",\n      \"1997-12-05  21.2069  20.8883  21.2358  20.7387  21.0403   23.0966  19.4643  \\n\",\n      \"1997-12-06  20.9197  21.2069  20.8883  21.2358  20.7387   23.0966  19.4643  \\n\",\n      \"1997-12-07  20.5119  20.9197  21.2069  20.8883  21.2358   23.0966  19.4643  \\n\",\n      \"1997-12-08  20.6036  20.5119  20.9197  21.2069  20.8883   23.0966  19.4643  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.597633444026\\n\",\n      \"Explained Variance Score:  0.503137515046\\n\",\n      \"Mean Squared Error:  0.589490186568\\n\",\n      \"R2 score:  0.482368816144\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-11-26   25.734  26.9904  26.8239  26.2284  26.1881  26.4959  26.6624   \\n\",\n      \"1999-11-27  25.7592   25.734  26.9904  26.8239  26.2284  26.1881  26.4959   \\n\",\n      \"1999-11-28  25.1537  25.7592   25.734  26.9904  26.8239  26.2284  26.1881   \\n\",\n      \"1999-11-29  25.0528  25.1537  25.7592   25.734  26.9904  26.8239  26.2284   \\n\",\n      \"1999-11-30  25.0023  25.0528  25.1537  25.7592   25.734  26.9904  26.8239   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1999-11-26  26.2385  26.1124  25.9862   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-11-27  26.6624  26.2385  26.1124   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-11-28  26.4959  26.6624  26.2385   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-11-29  26.1881  26.4959  26.6624   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-11-30  26.2284  26.1881  26.4959   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1999-11-26  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   22.767  \\n\",\n      \"1999-11-27  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   22.767  \\n\",\n      \"1999-11-28  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   22.767  \\n\",\n      \"1999-11-29  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229   22.767  \\n\",\n      \"1999-11-30  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229   22.767  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.701837927805\\n\",\n      \"Explained Variance Score:  0.61258560237\\n\",\n      \"Mean Squared Error:  0.807580404799\\n\",\n      \"R2 score:  0.6103741195\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-11-21  20.4474  20.2593  20.4743   20.399  20.2486  20.2432  20.8021   \\n\",\n      \"2001-11-22  20.7161  20.4474  20.2593  20.4743   20.399  20.2486  20.2432   \\n\",\n      \"2001-11-23  20.8934  20.7161  20.4474  20.2593  20.4743   20.399  20.2486   \\n\",\n      \"2001-11-24  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   20.399   \\n\",\n      \"2001-11-25  20.6785  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2001-11-21  20.8719  20.8558  20.9633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-11-22  20.8021  20.8719  20.8558   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-11-23  20.2432  20.8021  20.8719   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-11-24  20.2486  20.2432  20.8021   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-11-25   20.399  20.2486  20.2432   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2001-11-21  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  18.6311  \\n\",\n      \"2001-11-22  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  18.6311  \\n\",\n      \"2001-11-23  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  18.6311  \\n\",\n      \"2001-11-24   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  18.6311  \\n\",\n      \"2001-11-25  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  18.6311  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.901971504049\\n\",\n      \"Explained Variance Score:  0.812150385253\\n\",\n      \"Mean Squared Error:  1.39923634887\\n\",\n      \"R2 score:  0.736584033371\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-11-14   35.253  35.1028  35.1664  34.9411  35.0335  34.9527  34.4386   \\n\",\n      \"2003-11-15  35.2299   35.253  35.1028  35.1664  34.9411  35.0335  34.9527   \\n\",\n      \"2003-11-16  35.9115  35.2299   35.253  35.1028  35.1664  34.9411  35.0335   \\n\",\n      \"2003-11-17  35.9289  35.9115  35.2299   35.253  35.1028  35.1664  34.9411   \\n\",\n      \"2003-11-18  35.9577  35.9289  35.9115  35.2299   35.253  35.1028  35.1664   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2003-11-14  34.3577  34.7736  34.6003   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-11-15  34.4386  34.3577  34.7736   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-11-16  34.9527  34.4386  34.3577   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-11-17  35.0335  34.9527  34.4386   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-11-18  34.9411  35.0335  34.9527   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2003-11-14  32.7585  33.0338  33.3206  32.5234  32.3628   35.8711  32.0187  \\n\",\n      \"2003-11-15  33.0052  32.7585  33.0338  33.3206  32.5234   35.8711  32.5005  \\n\",\n      \"2003-11-16  33.1944  33.0052  32.7585  33.0338  33.3206   36.0733  32.6941  \\n\",\n      \"2003-11-17  33.5442  33.1944  33.0052  32.7585  33.0338    36.079  32.6941  \\n\",\n      \"2003-11-18  32.8962  33.5442  33.1944  33.0052  32.7585   36.1079  32.6941  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.570240576978\\n\",\n      \"Explained Variance Score:  0.883135670682\\n\",\n      \"Mean Squared Error:  0.543397166296\\n\",\n      \"R2 score:  0.840783709451\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-11-15  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119  39.2664   \\n\",\n      \"2005-11-16  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119   \\n\",\n      \"2005-11-17  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863   \\n\",\n      \"2005-11-18  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308   \\n\",\n      \"2005-11-19   38.755  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2005-11-15  39.2171  40.0858  40.1844   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-11-16  39.2664  39.2171  40.0858   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-11-17  38.7119  39.2664  39.2171   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-11-18  39.1863  38.7119  39.2664   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-11-19  39.1308  39.1863  38.7119   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2005-11-15  40.0442  39.6227  40.2275  40.7162   39.867   42.5812   37.763  \\n\",\n      \"2005-11-16  39.8304  40.0442  39.6227  40.2275  40.7162   42.5812   37.763  \\n\",\n      \"2005-11-17  39.7082  39.8304  40.0442  39.6227  40.2275   42.5812   37.763  \\n\",\n      \"2005-11-18  40.2947  39.7082  39.8304  40.0442  39.6227   42.5812   37.763  \\n\",\n      \"2005-11-19  39.8304  40.2947  39.7082  39.8304  40.0442   42.5812   37.763  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.805184356548\\n\",\n      \"Explained Variance Score:  0.654726098599\\n\",\n      \"Mean Squared Error:  1.0911864143\\n\",\n      \"R2 score:  0.607901692497\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-11-08  28.7308  29.4145  29.1505  28.9068   27.607  28.0538  28.4939   \\n\",\n      \"2007-11-09  28.7511  28.7308  29.4145  29.1505  28.9068   27.607  28.0538   \\n\",\n      \"2007-11-10  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   27.607   \\n\",\n      \"2007-11-11  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   \\n\",\n      \"2007-11-12  29.1031  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2007-11-08  27.9387  29.9291  29.4484   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-11-09  28.4939  27.9387  29.9291   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-11-10  28.0538  28.4939  27.9387   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-11-11   27.607  28.0538  28.4939   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-11-12  28.9068   27.607  28.0538   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2007-11-08  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-11-09  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-11-10  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-11-11  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-11-12  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.56779790378\\n\",\n      \"Explained Variance Score:  0.910623053074\\n\",\n      \"Mean Squared Error:  4.56773993183\\n\",\n      \"R2 score:  0.895897673607\\n\",\n      \"Errors:  [Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64, Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64, Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64, Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64, Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64, Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64, Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64, Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64, Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64, Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64, Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64, Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64, Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64, Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64, Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.6862566648548238, 2.8732187489270236, 1.3256064617379473, 2.1600519846869646, 1.2235156291439226, 1.305420663991631, 2.0685360603124372, 1.0875370689226691, 1.0580095307028299, 2.0217217081378305, 2.0537492673878845, 2.4976641398052424, 1.1175050339269137, 1.3645755070232506, 4.0144579037852735], [4.0592999976323814, 3.9678510989277207, 1.9701678416738304, 3.1636611153866219, 1.7692200297767153, 2.0939347787175921, 3.1255411549111267, 1.5935961405005887, 1.6621738433483118, 2.8422732907658617, 2.8428406166970612, 3.7016790635281951, 1.5881359065976202, 1.838708716353143, 5.2950310548423047], [5.2012518896016813, 4.8595851174817444, 2.4015165262481593, 3.9663184853702087, 2.0937319599079633, 2.725889802618255, 4.0256221884370413, 2.0881478237011293, 2.1198589394936009, 3.4394436515955458, 3.1903941017651203, 4.5898554829578231, 1.9260258581576921, 2.1713779643400297, 5.7435946634475581], [6.2376680609655004, 5.1906888229530841, 2.7333023116243766, 4.771870644055527, 2.3317264370474895, 3.2484164567711518, 4.8235413121812867, 2.44198402513774, 2.4877734757315642, 3.9035877213534098, 3.4596893962513113, 5.3691221960409514, 2.2172821574031762, 2.5155067947627172, 6.6214749061448526], [7.101348672465936, 5.5598705130212815, 2.9861408788558754, 5.5072501857210723, 2.6000741043961906, 3.7020463356701927, 5.5006034680471787, 2.7726485729779609, 2.8237001385613416, 4.2351005173762228, 3.7102018424167729, 6.1433467552325984, 2.4636478733847298, 2.8408545898388282, 7.3789947893347989], [7.9277550527409595, 5.7625298134685217, 3.2529086470869495, 6.1356457071558008, 2.8329554445052851, 4.0602549841923929, 6.1326462265073882, 3.0168250033454465, 3.1420826313227979, 4.5159739803948229, 3.93149884705644, 6.8548130816086976, 2.7183436027777019, 3.1374226069422688, 8.1094147478977305], [8.7018642223453728, 6.1191921810565226, 3.5381132656657028, 6.6786375127786863, 3.0316781856016899, 4.3423819076586243, 6.6589006154937413, 3.2298492480472585, 3.4452102937068454, 4.7210730604544686, 4.2033108503209542, 7.4993260970943192, 2.9790689586399646, 3.4016567175540446, 8.8936393091082984]]\\n\",\n      \"Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 100 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=100, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.2 Adding Oil Stock Prices (GAIA)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932616</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>45.82</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>45.36</td>\\n\",\n       \"      <td>45.51</td>\\n\",\n       \"      <td>6237900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>40.666021</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.95</td>\\n\",\n       \"      <td>6.645</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6676.08</td>\\n\",\n       \"      <td>6707.26</td>\\n\",\n       \"      <td>6651.98</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932617</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>44.96</td>\\n\",\n       \"      <td>44.99</td>\\n\",\n       \"      <td>43.89</td>\\n\",\n       \"      <td>44.06</td>\\n\",\n       \"      <td>15355000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.902756</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.700</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"      <td>6726.40</td>\\n\",\n       \"      <td>6621.48</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932618</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>43.94</td>\\n\",\n       \"      <td>44.55</td>\\n\",\n       \"      <td>43.81</td>\\n\",\n       \"      <td>44.36</td>\\n\",\n       \"      <td>7105500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>38.997489</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>6.74</td>\\n\",\n       \"      <td>6.630</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"      <td>6664.00</td>\\n\",\n       \"      <td>6615.12</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932619</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>44.25</td>\\n\",\n       \"      <td>44.72</td>\\n\",\n       \"      <td>44.14</td>\\n\",\n       \"      <td>44.54</td>\\n\",\n       \"      <td>4460900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.272619</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.570</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"      <td>6653.94</td>\\n\",\n       \"      <td>6608.66</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932620</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>44.04</td>\\n\",\n       \"      <td>44.22</td>\\n\",\n       \"      <td>43.80</td>\\n\",\n       \"      <td>43.95</td>\\n\",\n       \"      <td>6834500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.086241</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6.61</td>\\n\",\n       \"      <td>7.41</td>\\n\",\n       \"      <td>6.610</td>\\n\",\n       \"      <td>7.34</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"      <td>6658.91</td>\\n\",\n       \"      <td>6601.62</td>\\n\",\n       \"      <td>6622.72</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close      Volume  \\\\\\n\",\n       \"1932616     BP  2014-09-24  45.82  45.88  45.36  45.51   6237900.0   \\n\",\n       \"1932617     BP  2014-09-25  44.96  44.99  43.89  44.06  15355000.0   \\n\",\n       \"1932618     BP  2014-09-26  43.94  44.55  43.81  44.36   7105500.0   \\n\",\n       \"1932619     BP  2014-09-29  44.25  44.72  44.14  44.54   4460900.0   \\n\",\n       \"1932620     BP  2014-09-30  44.04  44.22  43.80  43.95   6834500.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open     ...       GAIA Date  \\\\\\n\",\n       \"1932616          0.0          1.0  40.666021     ...      2014-09-24   \\n\",\n       \"1932617          0.0          1.0  39.902756     ...      2014-09-25   \\n\",\n       \"1932618          0.0          1.0  38.997489     ...      2014-09-26   \\n\",\n       \"1932619          0.0          1.0  39.272619     ...      2014-09-29   \\n\",\n       \"1932620          0.0          1.0  39.086241     ...      2014-09-30   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Open  GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close  \\\\\\n\",\n       \"1932616            6.75            6.95          6.645             6.94   \\n\",\n       \"1932617            6.94            6.94          6.700             6.70   \\n\",\n       \"1932618            6.70            6.74          6.630             6.70   \\n\",\n       \"1932619            6.62            6.69          6.570             6.62   \\n\",\n       \"1932620            6.61            7.41          6.610             7.34   \\n\",\n       \"\\n\",\n       \"          FTSE Date  FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1932616  2014-09-24    6676.08    6707.26  6651.98     6706.27  \\n\",\n       \"1932617  2014-09-25    6706.27    6726.40  6621.48     6639.71  \\n\",\n       \"1932618  2014-09-26    6639.71    6664.00  6615.12     6649.39  \\n\",\n       \"1932619  2014-09-29    6649.39    6653.94  6608.66     6646.60  \\n\",\n       \"1932620  2014-09-30    6646.60    6658.91  6601.62     6622.72  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 34,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create dataframe with BP and GAIA data in overlapping date range\\n\",\n    \"# Date range: 1999-10-29 to 2014-09-30\\n\",\n    \"# `bp_gaia_start` etc defined in Feature Engineering section 1.2.2.2\\n\",\n    \"bp_gaia = bp.loc[bp_gaia_start:bp_gaia_start+bp_gaia_intersect_length-1]\\n\",\n    \"\\n\",\n    \"# Check it ends at the right date\\n\",\n    \"bp_gaia.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3753\"\n      ]\n     },\n     \"execution_count\": 35,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(bp_gaia)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add GAIA data.\\n\",\n    \"\\n\",\n    \"# Potential improvement: Generalise `prepare_train_test` function instead\\n\",\n    \"# of copy and pasting it and making a new function.\\n\",\n    \"def prepare_train_test_with_gaia(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_gaia):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days`: the number of days prior we consider (the prices of)\\n\",\n    \"    `periods`: the total number of datapoints used (training + test)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # GAIA cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('GAIA i-%s' % str(j))\\n\",\n    \"    columns.append('GAIA Adj. High')\\n\",\n    \"    columns.append('GAIA Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['GAIA i-%s' % str(days-j)] = df.iloc[buffer+i+j]['GAIA %s' % str(target)]\\n\",\n    \"        features.iloc[i]['GAIA Adj. High'] = max(df[buffer+i:buffer+i+days]['GAIA Adj. High'])\\n\",\n    \"        features.iloc[i]['GAIA Adj. Low'] = min(df[buffer+i:buffer+i+days]['GAIA Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_gaia(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + GAIA data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_gaia(days=days, periods=periods, buffer=buffer, df=bp_gaia)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.390417267381\\n\",\n      \"Explained Variance Score:  0.853744159868\\n\",\n      \"Mean Squared Error:  0.253189951823\\n\",\n      \"R2 score:  0.846876833577\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.640084309346\\n\",\n      \"Explained Variance Score:  0.937272372234\\n\",\n      \"Mean Squared Error:  0.720859692963\\n\",\n      \"R2 score:  0.86521356578\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559376996819\\n\",\n      \"Explained Variance Score:  0.848725761062\\n\",\n      \"Mean Squared Error:  0.504733717139\\n\",\n      \"R2 score:  0.836876888323\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.807669964064\\n\",\n      \"Explained Variance Score:  0.513947367438\\n\",\n      \"Mean Squared Error:  1.11918208013\\n\",\n      \"R2 score:  0.47656012379\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.784485223446\\n\",\n      \"Explained Variance Score:  0.611742357358\\n\",\n      \"Mean Squared Error:  1.08805000734\\n\",\n      \"R2 score:  0.59682736149\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.823528275858\\n\",\n      \"Explained Variance Score:  0.854979604454\\n\",\n      \"Mean Squared Error:  1.21173657923\\n\",\n      \"R2 score:  0.848280893753\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.08202656801\\n\",\n      \"Explained Variance Score:  0.785807434633\\n\",\n      \"Mean Squared Error:  2.18729500527\\n\",\n      \"R2 score:  0.771849063305\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.64293719873\\n\",\n      \"Explained Variance Score:  0.701929531055\\n\",\n      \"Mean Squared Error:  4.86875519644\\n\",\n      \"R2 score:  0.576854711057\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.09213527916\\n\",\n      \"Explained Variance Score:  0.877782414782\\n\",\n      \"Mean Squared Error:  1.85736866345\\n\",\n      \"R2 score:  0.823140444507\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.26399823305\\n\",\n      \"Explained Variance Score:  0.917408689638\\n\",\n      \"Mean Squared Error:  3.26079876466\\n\",\n      \"R2 score:  0.904206507456\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.949041466517\\n\",\n      \"Explained Variance Score:  0.760114297454\\n\",\n      \"Mean Squared Error:  1.50840397037\\n\",\n      \"R2 score:  0.751639652033\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.83600905218\\n\",\n      \"Explained Variance Score:  0.749597354718\\n\",\n      \"Mean Squared Error:  1.16224774383\\n\",\n      \"R2 score:  0.742591965811\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.557442173078\\n\",\n      \"Explained Variance Score:  0.46981043696\\n\",\n      \"Mean Squared Error:  0.522034902854\\n\",\n      \"R2 score:  0.465782842549\\n\",\n      \"Errors:  [Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64, Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64, Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64, Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64, Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64, Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64, Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64, Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64, Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64, Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64, Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64, Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64, Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3416274627176741, 1.2253222561285753, 1.0255495409576574, 1.266776829926521, 1.1982064351141712, 1.310712301821582, 1.7298817238551929, 3.8921754249906253, 1.6629575970691628, 3.0941354597945034, 2.0330820163702419, 1.7164225319161091, 1.1686884331757421], [1.7150760880207037, 1.8964172603677423, 1.4834673922912223, 1.8554594521723491, 1.6787503849419985, 1.8263483157031517, 2.3241398333250651, 5.2355080851844216, 2.3752099271864098, 4.4270718273765972, 2.9025947293955445, 2.4521487734937994, 1.5958526122466832], [2.0477430054053203, 2.3723857338154257, 1.7988798566364699, 2.2637800713580867, 2.0641570748232887, 2.1815157366804447, 2.8355986521448, 5.9932443782633227, 2.9633965226109846, 5.2083198103473851, 3.5852639670979616, 2.9819102400068132, 1.8925844623819319], [2.3097316999351953, 2.8071999746923053, 2.0500517838892773, 2.6324197507576557, 2.4726133505762671, 2.5425603577844873, 3.2307653588653578, 7.1525225718155419, 3.4134342032425726, 6.2465795890314988, 4.0172291702026053, 3.4643390217868517, 2.1742172950593774], [2.5975117870884237, 3.2335105558655264, 2.2739368989119333, 2.9489855905646274, 2.8044131318548891, 2.870944054320459, 3.7485731532447448, 8.3852639729218854, 3.8372768182949173, 7.2493788386688047, 4.3865708556257568, 3.7613389113197311, 2.3577017695179605], [2.7408301709503315, 3.6348871408243957, 2.4565607234069882, 3.2327235750256049, 3.1394000107197346, 3.1446997267702699, 4.354234736214309, 9.4347187346765544, 4.2807532074257058, 8.2875526190580011, 4.6089459172836937, 3.9769158354848391, 2.5282971175926079], [2.855423021053821, 4.0729371465412827, 2.6544296847203288, 3.4571876639216557, 3.4085147945800864, 3.3865251171130839, 4.7922194765634272, 10.64932394540064, 4.6834300530757496, 9.5173590389649085, 4.8463224597302119, 4.1659653260441791, 2.632187257416279]]\\n\",\n      \"Mean daily error:  [1.743502924141366, 2.4436957447465919, 2.9375984239670951, 3.4241280098183839, 3.8811851029384354, 4.2938861165717714, 4.701678845009666]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.411869432422\\n\",\n      \"Explained Variance Score:  0.860958167317\\n\",\n      \"Mean Squared Error:  0.278323948034\\n\",\n      \"R2 score:  0.821867759953\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.606986183256\\n\",\n      \"Explained Variance Score:  0.932648097155\\n\",\n      \"Mean Squared Error:  0.66024635669\\n\",\n      \"R2 score:  0.868677365951\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559944807019\\n\",\n      \"Explained Variance Score:  0.833869148805\\n\",\n      \"Mean Squared Error:  0.505571476681\\n\",\n      \"R2 score:  0.823962424354\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.821987533814\\n\",\n      \"Explained Variance Score:  0.46989388159\\n\",\n      \"Mean Squared Error:  1.15104795599\\n\",\n      \"R2 score:  0.430126472698\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.817292176686\\n\",\n      \"Explained Variance Score:  0.605237375421\\n\",\n      \"Mean Squared Error:  1.16563063035\\n\",\n      \"R2 score:  0.588600663963\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.855518357378\\n\",\n      \"Explained Variance Score:  0.855221593528\\n\",\n      \"Mean Squared Error:  1.28660241537\\n\",\n      \"R2 score:  0.84831538254\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.1189552901\\n\",\n      \"Explained Variance Score:  0.781265137134\\n\",\n      \"Mean Squared Error:  2.30617202977\\n\",\n      \"R2 score:  0.76007064928\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.74362867052\\n\",\n      \"Explained Variance Score:  0.676636001157\\n\",\n      \"Mean Squared Error:  5.47659375935\\n\",\n      \"R2 score:  0.50027082935\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.06057828555\\n\",\n      \"Explained Variance Score:  0.877606203974\\n\",\n      \"Mean Squared Error:  1.77876224515\\n\",\n      \"R2 score:  0.831199539803\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.28699529802\\n\",\n      \"Explained Variance Score:  0.905327333598\\n\",\n      \"Mean Squared Error:  3.46556542013\\n\",\n      \"R2 score:  0.892876435992\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.957755739612\\n\",\n      \"Explained Variance Score:  0.758091797889\\n\",\n      \"Mean Squared Error:  1.51735582203\\n\",\n      \"R2 score:  0.751963233546\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.828153458555\\n\",\n      \"Explained Variance Score:  0.748810119642\\n\",\n      \"Mean Squared Error:  1.15885573253\\n\",\n      \"R2 score:  0.739717381937\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.536701478378\\n\",\n      \"Explained Variance Score:  0.501934925031\\n\",\n      \"Mean Squared Error:  0.493473147419\\n\",\n      \"R2 score:  0.496826916953\\n\",\n      \"Errors:  [Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64, Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64, Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64, Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64, Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64, Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64, Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64, Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64, Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64, Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64, Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64, Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64, Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3231776216477114, 1.1980342560885635, 1.0337559381524328, 1.2807686653343162, 1.2456589674532657, 1.3280813790944388, 1.7103664889037826, 3.9654429549097601, 1.6030301361552719, 3.1262859191366834, 2.0575536901156961, 1.7625814480985875, 1.122261076440187], [1.6714227116632154, 1.7937529603665612, 1.4762654529955792, 1.8988415982605655, 1.7986447274603283, 1.8411983204181284, 2.3179232847517244, 5.5067122215563318, 2.2614338115669748, 4.5366470960465399, 2.9088991347268269, 2.509250623322357, 1.5543009007901478], [2.0030655887796156, 2.2380077065815658, 1.780142194025534, 2.3358307699453613, 2.1709139424992134, 2.2349182679689812, 2.9254723250608365, 6.3890225539288785, 2.8520975853223187, 5.3572107545469327, 3.6021525960354821, 3.0062242229108511, 1.8244880060908213], [2.2800381048939928, 2.6718769676440171, 2.0485058953109236, 2.7139945310843472, 2.5292649062139549, 2.6223432174672223, 3.3576365342598042, 7.6482257503288977, 3.3136212289590303, 6.4358480297866265, 4.0176389505663028, 3.4729158251810874, 2.1141046081849635], [2.6130558930393306, 3.0947438014593844, 2.2777450341905157, 2.9928587868727545, 2.8834172521302088, 2.9595736804925212, 3.922805774129059, 8.8953440466338662, 3.7744107155179223, 7.4638214002320096, 4.3930553757686583, 3.7290523761223286, 2.3044743756514912], [2.8253797825024778, 3.4910159576111015, 2.4592393810665074, 3.2417476593438641, 3.2341045345752168, 3.2340433613195385, 4.4995984413286916, 10.009035103965697, 4.1986423675716669, 8.5729105007004449, 4.632208728692107, 3.9248259983154372, 2.4578823506143306], [3.1181366825666315, 3.9477940431715237, 2.6568415237777345, 3.4724030082407742, 3.527884207580871, 3.495192276717217, 4.925807113061305, 11.437354010217145, 4.6016137595911006, 9.8966156891001624, 4.8838613016883965, 4.0961565153048944, 2.5430114038608864]]\\n\",\n      \"Mean daily error:  [1.7505383493485149, 2.4673302187634834, 2.9784266548997227, 3.4789241961447055, 3.9464891163261573, 4.3677410898159295, 4.8155901180675889]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(days=10, steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.3 Adding FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>46.00</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924932</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>46.12</td>\\n\",\n       \"      <td>46.50</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>148900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.800788</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924933</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>283800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.852835</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924934</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>166400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.036040</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924935</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>47.12</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>81500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.904882</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.50  46.00  209700.0          0.0   \\n\",\n       \"1924932     BP  1984-04-03  46.12  46.50  45.88  46.38  148900.0          0.0   \\n\",\n       \"1924933     BP  1984-04-04  46.62  48.00  46.62  48.00  283800.0          0.0   \\n\",\n       \"1924934     BP  1984-04-05  48.38  48.38  47.00  47.50  166400.0          0.0   \\n\",\n       \"1924935     BP  1984-04-06  47.12  47.50  47.00  47.50   81500.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open     ...      GAIA Date  GAIA Adj. Open  \\\\\\n\",\n       \"1924931          1.0   4.748742     ...            NaN             NaN   \\n\",\n       \"1924932          1.0   4.800788     ...            NaN             NaN   \\n\",\n       \"1924933          1.0   4.852835     ...            NaN             NaN   \\n\",\n       \"1924934          1.0   5.036040     ...            NaN             NaN   \\n\",\n       \"1924935          1.0   4.904882     ...            NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close   FTSE Date  \\\\\\n\",\n       \"1924931             NaN            NaN              NaN  1984-04-02   \\n\",\n       \"1924932             NaN            NaN              NaN  1984-04-03   \\n\",\n       \"1924933             NaN            NaN              NaN  1984-04-04   \\n\",\n       \"1924934             NaN            NaN              NaN  1984-04-05   \\n\",\n       \"1924935             NaN            NaN              NaN  1984-04-06   \\n\",\n       \"\\n\",\n       \"         FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1924931     1108.1     1108.1   1108.1      1108.1  \\n\",\n       \"1924932     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924933     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924934     1102.2     1102.2   1102.2      1102.2  \\n\",\n       \"1924935     1096.3     1096.3   1096.3      1096.3  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 40,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create df with BP and FTSE data\\n\",\n    \"bp_ftse = bp.loc[bp_ftse_start:]\\n\",\n    \"bp_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add FTSE data.\\n\",\n    \"def prepare_train_test_with_ftse(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_ftse, name='FTSE'):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # FTSE cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('%s i-%s' % (name, str(j)))\\n\",\n    \"    columns.append('%s High' % name)\\n\",\n    \"    columns.append('%s Low' % name)\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['%s i-%s' % (name, str(days-j))] = df.iloc[buffer+i+j]['%s %s' % (name, 'Close')]\\n\",\n    \"        features.iloc[i]['%s High' % name] = max(df[buffer+i:buffer+i+days]['%s High' % name])\\n\",\n    \"        features.iloc[i]['%s Low' % name] = min(df[buffer+i:buffer+i+days]['%s Low' % name])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_ftse(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print \\\"Errors: \\\", errors\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print \\\"Daily error: \\\", daily_error\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print \\\"Mean daily error: \\\", average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 43,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.211015556424\\n\",\n      \"Explained Variance Score:  0.899000260643\\n\",\n      \"Mean Squared Error:  0.101319536893\\n\",\n      \"R2 score:  0.896790144908\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.103662027254\\n\",\n      \"Explained Variance Score:  0.810914496372\\n\",\n      \"Mean Squared Error:  0.0191496161364\\n\",\n      \"R2 score:  0.791651910968\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.16109328452\\n\",\n      \"Explained Variance Score:  0.509005999538\\n\",\n      \"Mean Squared Error:  0.0448450594299\\n\",\n      \"R2 score:  0.483113556059\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.134831719911\\n\",\n      \"Explained Variance Score:  0.940362863942\\n\",\n      \"Mean Squared Error:  0.0312949743422\\n\",\n      \"R2 score:  0.930443446072\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.138033710537\\n\",\n      \"Explained Variance Score:  0.808072775502\\n\",\n      \"Mean Squared Error:  0.0334602089163\\n\",\n      \"R2 score:  0.796224083528\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.283227004062\\n\",\n      \"Explained Variance Score:  0.94135464242\\n\",\n      \"Mean Squared Error:  0.148338070724\\n\",\n      \"R2 score:  0.940791765118\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.592720577547\\n\",\n      \"Explained Variance Score:  0.590618890488\\n\",\n      \"Mean Squared Error:  0.561331819027\\n\",\n      \"R2 score:  0.591291118732\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.806309397821\\n\",\n      \"Explained Variance Score:  0.691786541195\\n\",\n      \"Mean Squared Error:  1.15097371293\\n\",\n      \"R2 score:  0.680775196711\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.555161284679\\n\",\n      \"Explained Variance Score:  0.783418594845\\n\",\n      \"Mean Squared Error:  0.535944911988\\n\",\n      \"R2 score:  0.778980606844\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601145418071\\n\",\n      \"Explained Variance Score:  0.928081215955\\n\",\n      \"Mean Squared Error:  0.703987908082\\n\",\n      \"R2 score:  0.867484525348\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728988512466\\n\",\n      \"Explained Variance Score:  0.810817817708\\n\",\n      \"Mean Squared Error:  0.896347592801\\n\",\n      \"R2 score:  0.805988449328\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.922073321462\\n\",\n      \"Explained Variance Score:  0.85113491032\\n\",\n      \"Mean Squared Error:  1.46122600596\\n\",\n      \"R2 score:  0.850264942708\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17309132125\\n\",\n      \"Explained Variance Score:  0.799408239284\\n\",\n      \"Mean Squared Error:  2.27030564663\\n\",\n      \"R2 score:  0.796642650027\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.843137827511\\n\",\n      \"Explained Variance Score:  0.832739639424\\n\",\n      \"Mean Squared Error:  1.16152586731\\n\",\n      \"R2 score:  0.800540577102\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.631785589032\\n\",\n      \"Explained Variance Score:  0.609102226738\\n\",\n      \"Mean Squared Error:  0.685708026384\\n\",\n      \"R2 score:  0.61435314998\\n\",\n      \"Errors:  [Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64, Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64, Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64, Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64, Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64, Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64, Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64, Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64, Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64, Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64, Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64, Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64, Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64, Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64, Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1093203849638837, 1.0882498665812053, 1.1727221193362856, 1.412586577442704, 0.9378952735856545, 1.0300941063834617, 1.7405932434523412, 2.1849168154032079, 1.609139147394997, 1.1597121603824943, 1.2455832253947525, 1.3370203586317857, 2.8222226244345667, 1.5229049347204531, 1.4034412486597296], [3.137677932962208, 1.5142879962397864, 1.7868339361639278, 2.1822902059145175, 1.3950071506620265, 1.6581419571681995, 2.5994688610024981, 3.150312167798214, 2.2094784630369553, 1.8210669198683502, 1.7831545661313932, 1.9538476861974765, 3.8732839254645901, 2.2895125324881676, 1.9691207311038021], [3.9275897295520128, 1.8580481167789493, 2.2658084022672815, 2.6901289014995937, 1.767085268420445, 2.1449275152997287, 3.2412865657258387, 3.8620255289884353, 2.6511445367500901, 2.3681564296528759, 2.1178502784134459, 2.4027006524959704, 4.4847012689782151, 2.8754387124563219, 2.3383173887217694], [4.8109068581784316, 2.1202592771408266, 2.7240948901950901, 3.0806499448309483, 2.0219604798575306, 2.5452837022717545, 3.7324950514184696, 4.3328167447346981, 3.0359152242486602, 2.8815894798898607, 2.4314952470219375, 2.7936258809738246, 5.1413550904137146, 3.3644214225425011, 2.6694884382791546], [5.6093030750366921, 2.3865041173957149, 3.0906874855810553, 3.3625090179209156, 2.2210374912412818, 2.9087622099011363, 4.1787916887657, 4.7142020078698375, 3.307851012047319, 3.3951893092285954, 2.6908537577255762, 3.1376619968233004, 5.6210588492955305, 3.7242680240618635, 2.8336973969591983], [6.3945931299753953, 2.6514816004326791, 3.3716820089302235, 3.6483218764886902, 2.3863700872043565, 3.2013104222689206, 4.5022040533065981, 5.0931736226381776, 3.5136885049685351, 3.9347008139004784, 2.9018384802534278, 3.3989102445656725, 5.9285358715306176, 4.01961642402006, 2.9085703842103929], [7.2348796444965835, 2.8974138017887943, 3.5583384572569687, 3.9429838565291648, 2.5529337042005769, 3.4398540607220633, 4.7926283817650912, 5.5118415837853485, 3.7316462933370311, 4.4484836960925431, 3.0861939411336166, 3.64371401011475, 6.4010282408578716, 4.2815500163757605, 2.9131303105673707]]\\n\",\n      \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=7, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 44,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.215528703585\\n\",\n      \"Explained Variance Score:  0.89239332126\\n\",\n      \"Mean Squared Error:  0.106333053016\\n\",\n      \"R2 score:  0.889423358708\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.10544394771\\n\",\n      \"Explained Variance Score:  0.823015071932\\n\",\n      \"Mean Squared Error:  0.020152560856\\n\",\n      \"R2 score:  0.801681477257\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.159314434074\\n\",\n      \"Explained Variance Score:  0.516143726707\\n\",\n      \"Mean Squared Error:  0.0435129876798\\n\",\n      \"R2 score:  0.495386197593\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.136614189089\\n\",\n      \"Explained Variance Score:  0.939952177211\\n\",\n      \"Mean Squared Error:  0.0322690576029\\n\",\n      \"R2 score:  0.928442841529\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.140535916916\\n\",\n      \"Explained Variance Score:  0.809072502567\\n\",\n      \"Mean Squared Error:  0.0343899561873\\n\",\n      \"R2 score:  0.799698674935\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.280129258983\\n\",\n      \"Explained Variance Score:  0.941835339241\\n\",\n      \"Mean Squared Error:  0.143004453044\\n\",\n      \"R2 score:  0.941407871428\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.622769626763\\n\",\n      \"Explained Variance Score:  0.549268768233\\n\",\n      \"Mean Squared Error:  0.608912691972\\n\",\n      \"R2 score:  0.544265975032\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.822610971931\\n\",\n      \"Explained Variance Score:  0.667388346685\\n\",\n      \"Mean Squared Error:  1.20046660692\\n\",\n      \"R2 score:  0.65660643821\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.578147544172\\n\",\n      \"Explained Variance Score:  0.771641543361\\n\",\n      \"Mean Squared Error:  0.577674968314\\n\",\n      \"R2 score:  0.758137073698\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.62310658889\\n\",\n      \"Explained Variance Score:  0.935786377244\\n\",\n      \"Mean Squared Error:  0.733200459648\\n\",\n      \"R2 score:  0.866502386196\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.753820405372\\n\",\n      \"Explained Variance Score:  0.789718883382\\n\",\n      \"Mean Squared Error:  0.961684765187\\n\",\n      \"R2 score:  0.787036306482\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.923211659748\\n\",\n      \"Explained Variance Score:  0.849260130266\\n\",\n      \"Mean Squared Error:  1.4577408598\\n\",\n      \"R2 score:  0.849596798634\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17807639875\\n\",\n      \"Explained Variance Score:  0.811070055435\\n\",\n      \"Mean Squared Error:  2.27195431925\\n\",\n      \"R2 score:  0.80485970809\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.811337617748\\n\",\n      \"Explained Variance Score:  0.814434213769\\n\",\n      \"Mean Squared Error:  1.06810231014\\n\",\n      \"R2 score:  0.795783463702\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.621253472644\\n\",\n      \"Explained Variance Score:  0.584629646453\\n\",\n      \"Mean Squared Error:  0.678659874536\\n\",\n      \"R2 score:  0.590446476591\\n\",\n      \"Errors:  [Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64, Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64, Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64, Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64, Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64, Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64, Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64, Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64, Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64, Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64, Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64, Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64, Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64, Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64, Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1917071373549142, 1.0834175849417413, 1.1790388483576231, 1.4185720767250298, 0.96921873843174433, 1.0389149513076914, 1.7978906762316238, 2.2081130786782364, 1.626428265072178, 1.1688790011372792, 1.2442918199208317, 1.3543393912886921, 2.8279137985254801, 1.4834687450605335, 1.3679706504709863], [3.2551135884486477, 1.5219113117998229, 1.7845167567514877, 2.2058091975797436, 1.4079893663844747, 1.64581116515362, 2.7233218542675242, 3.1854362480671763, 2.2185746552549848, 1.8257198705930926, 1.7965291955873381, 1.9540303097844811, 3.7968068102836212, 2.1882198067251681, 1.9383968951517652], [4.1071642717896424, 1.899441698280516, 2.2520776093061308, 2.7079657528262455, 1.7743659001210701, 2.1122985914925523, 3.356193360147429, 3.977846700859939, 2.6167864392207312, 2.3844631650635484, 2.1738537747800573, 2.383788098908028, 4.3513351771356108, 2.7333448756427385, 2.3176337055862728], [4.9069274993299832, 2.1753970232525957, 2.6855930147788434, 3.0651327146777625, 2.0068103232086885, 2.4837707641410778, 3.878115561655151, 4.5680307683121617, 2.9908780138635374, 2.9145726033700368, 2.496350569513452, 2.7916378601993737, 5.0011359073546746, 3.1891975828644781, 2.6554416096311888], [5.684571865013738, 2.4463368567295891, 3.0361268916304378, 3.3729085591425267, 2.2222876725032874, 2.8291606439532142, 4.3457001749901645, 4.9489701760890119, 3.3523269094516883, 3.484220273558515, 2.7805684594518505, 3.1350021688093856, 5.5633024838786831, 3.5779675235638311, 2.8246714585341386], [6.5457674951850882, 2.6984515540580043, 3.2977446703014217, 3.7227666232643482, 2.4311370551028717, 3.1270319944324179, 4.6977181415685774, 5.2485644247119962, 3.7005685112433282, 4.0597642961603251, 3.0202781279834614, 3.4146913692062437, 5.9173890041333834, 3.8490686937976597, 2.9228497474023731], [7.4729519181537638, 2.9691887750983366, 3.4845684255477578, 4.0859302671068836, 2.6285168571962965, 3.3663785847193122, 5.0597293035706112, 5.539855260240377, 4.0349747441790287, 4.593526881685257, 3.2322257784365647, 3.6331538446606069, 6.4351103994170922, 4.0985222258397407, 2.8998887303961443]]\\n\",\n      \"Mean daily error:  [1.5306776509003057, 2.2298791354555303, 2.7432372747440339, 3.1872661210768669, 3.5736081411533376, 3.9102527805700995, 4.2356347997498514]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/envs/python2.7/lib/python2.7/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=10, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# We want an array with predictions for our model in a long date range.\\n\",\n    \"# We will consider the max error predictions, that is,\\n\",\n    \"# predictions of adjusted close prices 7 days ahead.\\n\",\n    \"\\n\",\n    \"# Initialise variable\\n\",\n    \"predictions_800_off = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predict(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Append predictions to `predictions_800_off`.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    print \\\"Pred: \\\", pred\\n\",\n    \"    predictions_800_off.append(pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Pared-down execute function that runs train-test cycles and \\n\",\n    \"# appends the predictions to `predictions_800_off` via the function `predict()`.\\n\",\n    \"def execute_viz(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print \\\"Buffer: \\\", buffer\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        predict(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"Pred:  [[ 7.83601976  7.84714155  7.85292535 ...,  7.89987737  7.91755521\\n\",\n      \"   7.93865868]\\n\",\n      \" [ 7.85539551  7.86158008  7.87498252 ...,  7.90506271  7.91740818\\n\",\n      \"   7.93852032]\\n\",\n      \" [ 7.83170231  7.84749588  7.87738729 ...,  7.89285396  7.91642424\\n\",\n      \"   7.92424915]\\n\",\n      \" ..., \\n\",\n      \" [ 6.36738278  6.39213824  6.39270447 ...,  6.43798347  6.45461204\\n\",\n      \"   6.4751872 ]\\n\",\n      \" [ 6.42016386  6.417325    6.42707883 ...,  6.47916005  6.50267402\\n\",\n      \"   6.51950021]\\n\",\n      \" [ 6.28080118  6.27092368  6.28282955 ...,  6.30547753  6.3252951\\n\",\n      \"   6.3264697 ]]\\n\",\n      \"Buffer:  200\\n\",\n      \"Pred:  [[ 6.14075766  6.11117589  6.09574853 ...,  6.07217018  6.07748552\\n\",\n      \"   6.08070167]\\n\",\n      \" [ 6.21540435  6.17492322  6.17149764 ...,  6.1453285   6.13813657\\n\",\n      \"   6.14081275]\\n\",\n      \" [ 6.27753279  6.27307459  6.23843178 ...,  6.24830207  6.24374508\\n\",\n      \"   6.21901832]\\n\",\n      \" ..., \\n\",\n      \" [ 5.75919469  5.78334022  5.79923807 ...,  5.83008595  5.859385\\n\",\n      \"   5.87740631]\\n\",\n      \" [ 5.76238715  5.7892002   5.81412139 ...,  5.85030748  5.88508911\\n\",\n      \"   5.88637507]\\n\",\n      \" [ 5.78833298  5.81875138  5.83850427 ...,  5.88612816  5.8986934\\n\",\n      \"   5.90478152]]\\n\",\n      \"Buffer:  400\\n\",\n      \"Pred:  [[ 5.7641509   5.79247187  5.81926042 ...,  5.84616883  5.86198088\\n\",\n      \"   5.87727484]\\n\",\n      \" [ 5.8513131   5.86385014  5.88638345 ...,  5.89063265  5.90502758\\n\",\n      \"   5.90804928]\\n\",\n      \" [ 5.9113665   5.92879268  5.93253659 ...,  5.94752817  5.95264971\\n\",\n      \"   5.95534078]\\n\",\n      \" ..., \\n\",\n      \" [ 6.1998076   6.19815249  6.22826773 ...,  6.25852243  6.2950688\\n\",\n      \"   6.28322814]\\n\",\n      \" [ 6.19140054  6.19932943  6.23777417 ...,  6.25145184  6.25277943\\n\",\n      \"   6.24492933]\\n\",\n      \" [ 6.22481015  6.25710477  6.27123817 ...,  6.28618561  6.29833129\\n\",\n      \"   6.29616353]]\\n\",\n      \"Buffer:  600\\n\",\n      \"Pred:  [[ 6.1645113   6.1747009   6.17346569 ...,  6.14073882  6.13655823\\n\",\n      \"   6.15464913]\\n\",\n      \" [ 6.23869668  6.22906726  6.21064429 ...,  6.19525349  6.199533    6.1829646 ]\\n\",\n      \" [ 5.94298817  5.92847236  5.91129748 ...,  5.89322178  5.86434585\\n\",\n      \"   5.87953873]\\n\",\n      \" ..., \\n\",\n      \" [ 8.94246533  8.87626646  8.89060421 ...,  8.84848815  8.85793555\\n\",\n      \"   8.86792794]\\n\",\n      \" [ 8.78322534  8.79037462  8.72943888 ...,  8.72055999  8.7383812\\n\",\n      \"   8.68878426]\\n\",\n      \" [ 8.83433927  8.76940226  8.77364936 ...,  8.77248502  8.72566135\\n\",\n      \"   8.69839892]]\\n\",\n      \"Buffer:  800\\n\",\n      \"Pred:  [[ 8.67603806  8.67084409  8.65130791 ...,  8.67378925  8.69676109\\n\",\n      \"   8.69455006]\\n\",\n      \" [ 8.82830315  8.8205379   8.86009166 ...,  8.87552595  8.85568772\\n\",\n      \"   8.84410872]\\n\",\n      \" [ 8.84748948  8.84911858  8.81238761 ...,  8.78189801  8.75265697\\n\",\n      \"   8.72581647]\\n\",\n      \" ..., \\n\",\n      \" [ 7.71616361  7.7100549   7.68435219 ...,  7.6489673   7.61926738\\n\",\n      \"   7.60503466]\\n\",\n      \" [ 7.59805829  7.59515854  7.53381661 ...,  7.5060898   7.47964638\\n\",\n      \"   7.49137924]\\n\",\n      \" [ 7.54657369  7.52483132  7.53333146 ...,  7.50714863  7.52033692\\n\",\n      \"   7.5104685 ]]\\n\",\n      \"Buffer:  1000\\n\",\n      \"Pred:  [[ 7.46215011  7.4436282   7.43918656 ...,  7.5010726   7.48113362\\n\",\n      \"   7.48813435]\\n\",\n      \" [ 7.56216243  7.57242677  7.60962549 ...,  7.59408734  7.58687173\\n\",\n      \"   7.59213207]\\n\",\n      \" [ 7.55189234  7.58738691  7.61589834 ...,  7.60049142  7.60064947\\n\",\n      \"   7.60278131]\\n\",\n      \" ..., \\n\",\n      \" [ 6.19883297  6.22711546  6.24523835 ...,  6.30446123  6.33864273\\n\",\n      \"   6.33903875]\\n\",\n      \" [ 6.17836606  6.19567673  6.22059366 ...,  6.29335772  6.30085317\\n\",\n      \"   6.31700372]\\n\",\n      \" [ 6.30048133  6.33373495  6.37895762 ...,  6.41007597  6.40794933\\n\",\n      \"   6.42844116]]\\n\",\n      \"Buffer:  1200\\n\",\n      \"Pred:  [[ 6.30754289  6.34315541  6.37136507 ...,  6.34725709  6.3533664\\n\",\n      \"   6.36701006]\\n\",\n      \" [ 6.2183139   6.22645131  6.20859811 ...,  6.19826357  6.21393204\\n\",\n      \"   6.22498325]\\n\",\n      \" [ 6.13231736  6.11064193  6.06756449 ...,  6.10864178  6.12762316\\n\",\n      \"   6.12009367]\\n\",\n      \" ..., \\n\",\n      \" [ 4.93362234  4.93814477  4.93428253 ...,  4.96908178  4.9916257\\n\",\n      \"   5.0119479 ]\\n\",\n      \" [ 4.94855637  4.96672313  4.9753907  ...,  5.01327007  5.04827391\\n\",\n      \"   5.06702398]\\n\",\n      \" [ 4.94109813  4.95766805  4.9861515  ...,  5.00727657  5.02994663\\n\",\n      \"   5.03880748]]\\n\",\n      \"Buffer:  1400\\n\",\n      \"Pred:  [[ 4.99871061  5.02010571  5.014281   ...,  5.0026121   4.99747618\\n\",\n      \"   4.97557435]\\n\",\n      \" [ 5.15365698  5.15594044  5.1491617  ...,  5.09127283  5.05670229\\n\",\n      \"   5.06074197]\\n\",\n      \" [ 5.15264849  5.14912635  5.12308927 ...,  5.05939273  5.0643763\\n\",\n      \"   5.04887009]\\n\",\n      \" ..., \\n\",\n      \" [ 6.73631505  6.69817443  6.67661297 ...,  6.63990072  6.64029307\\n\",\n      \"   6.62941594]\\n\",\n      \" [ 6.80586543  6.78280213  6.77308604 ...,  6.73267206  6.70165677\\n\",\n      \"   6.68567721]\\n\",\n      \" [ 6.87717059  6.8713965   6.85461032 ...,  6.80891943  6.78659161\\n\",\n      \"   6.7676666 ]]\\n\",\n      \"Buffer:  1600\\n\",\n      \"Pred:  [[ 6.88960025  6.895621    6.91178743 ...,  6.90648271  6.91037924\\n\",\n      \"   6.91464528]\\n\",\n      \" [ 6.92029213  6.93896731  6.93794831 ...,  6.94105214  6.94581302\\n\",\n      \"   6.93479959]\\n\",\n      \" [ 6.94258489  6.94132069  6.93738101 ...,  6.95109387  6.94439441\\n\",\n      \"   6.96149157]\\n\",\n      \" ..., \\n\",\n      \" [ 8.63303575  8.6153931   8.62242329 ...,  8.60348853  8.61375744\\n\",\n      \"   8.62515753]\\n\",\n      \" [ 8.65670167  8.66375148  8.66798893 ...,  8.65346248  8.65856181\\n\",\n      \"   8.64789495]\\n\",\n      \" [ 8.7674598   8.76709683  8.7645547  ...,  8.78059364  8.7585914\\n\",\n      \"   8.76297732]]\\n\",\n      \"Buffer:  1800\\n\",\n      \"Pred:  [[  8.68953042   8.68353244   8.69167093 ...,   8.69226758   8.69669531\\n\",\n      \"    8.70359861]\\n\",\n      \" [  8.66104825   8.66338749   8.68358337 ...,   8.67084048   8.68664223\\n\",\n      \"    8.67802482]\\n\",\n      \" [  8.67468363   8.69245015   8.66828894 ...,   8.69130084   8.67790535\\n\",\n      \"    8.69542446]\\n\",\n      \" ..., \\n\",\n      \" [ 10.25132895  10.26123566  10.25052647 ...,  10.2702956   10.28387785\\n\",\n      \"   10.29072272]\\n\",\n      \" [ 10.18370737  10.17290369  10.18125306 ...,  10.2112286   10.21762469\\n\",\n      \"   10.21706292]\\n\",\n      \" [ 10.22958344  10.23782323  10.24337281 ...,  10.26467471  10.25519154\\n\",\n      \"   10.2341133 ]]\\n\",\n      \"Buffer:  2000\\n\",\n      \"Pred:  [[ 10.22064293  10.22413787  10.24471743 ...,  10.27029812  10.2744557\\n\",\n      \"   10.28765738]\\n\",\n      \" [ 10.26516025  10.27459074  10.29442757 ...,  10.31496257  10.32870539\\n\",\n      \"   10.33393516]\\n\",\n      \" [ 10.12818121  10.13767282  10.16435904 ...,  10.23174691  10.25429594\\n\",\n      \"   10.27571162]\\n\",\n      \" ..., \\n\",\n      \" [ 11.64694204  11.67793627  11.71878894 ...,  11.72885817  11.73598723\\n\",\n      \"   11.74138426]\\n\",\n      \" [ 11.50646666  11.55801859  11.60061623 ...,  11.59712143  11.60710104\\n\",\n      \"   11.62519194]\\n\",\n      \" [ 11.66543188  11.70375594  11.72575794 ...,  11.7634877   11.80012102\\n\",\n      \"   11.80921948]]\\n\",\n      \"Buffer:  2200\\n\",\n      \"Pred:  [[ 11.62959737  11.64537291  11.62913452 ...,  11.63915597  11.63946331\\n\",\n      \"   11.67432874]\\n\",\n      \" [ 11.51306747  11.4921517   11.48731226 ...,  11.48843655  11.5272199\\n\",\n      \"   11.53575298]\\n\",\n      \" [ 11.4459014   11.44132033  11.44303377 ...,  11.43963244  11.4371997\\n\",\n      \"   11.45553989]\\n\",\n      \" ..., \\n\",\n      \" [ 16.22239336  16.21976356  16.22826391 ...,  16.21574299  16.22293648\\n\",\n      \"   16.26595504]\\n\",\n      \" [ 15.98826989  16.00674066  16.03692572 ...,  16.0496106   16.10671921\\n\",\n      \"   16.11635139]\\n\",\n      \" [ 15.79752122  15.88073774  15.95919399 ...,  16.04615273  16.04535607\\n\",\n      \"   16.03367065]]\\n\",\n      \"Buffer:  2400\\n\",\n      \"Pred:  [[ 16.04780654  16.10427504  16.15325971 ...,  16.21640137  16.23310984\\n\",\n      \"   16.24580039]\\n\",\n      \" [ 15.93923871  15.96865021  16.01241045 ...,  16.04899501  16.0097939\\n\",\n      \"   16.01058251]\\n\",\n      \" [ 15.95002904  15.99504448  16.00543129 ...,  16.08477758  16.0724383\\n\",\n      \"   16.01255977]\\n\",\n      \" ..., \\n\",\n      \" [ 20.43621626  20.48574881  20.53403285 ...,  20.5853136   20.65182418\\n\",\n      \"   20.70740506]\\n\",\n      \" [ 21.01478432  21.0377329   21.06384251 ...,  21.11292127  21.16689338\\n\",\n      \"   21.25102393]\\n\",\n      \" [ 20.80946572  20.84214892  20.83450899 ...,  20.87816108  20.94758599\\n\",\n      \"   20.97840243]]\\n\",\n      \"Buffer:  2600\\n\",\n      \"Pred:  [[ 20.79530755  20.70031722  20.67570255 ...,  20.67175512  20.75003016\\n\",\n      \"   20.7424359 ]\\n\",\n      \" [ 20.51491535  20.51195086  20.47751748 ...,  20.61619501  20.61899275\\n\",\n      \"   20.71100874]\\n\",\n      \" [ 20.88903686  20.83145557  20.76382639 ...,  20.84093447  20.95482155\\n\",\n      \"   20.93470293]\\n\",\n      \" ..., \\n\",\n      \" [ 21.35898088  21.44310834  21.58442593 ...,  21.67728542  21.63729079\\n\",\n      \"   21.76718696]\\n\",\n      \" [ 21.02670418  21.22586046  21.36227848 ...,  21.31522747  21.4562707\\n\",\n      \"   21.61980196]\\n\",\n      \" [ 21.08453035  21.20775213  21.19865266 ...,  21.28921609  21.44822081\\n\",\n      \"   21.56667633]]\\n\",\n      \"Buffer:  2800\\n\",\n      \"Pred:  [[ 20.44161666  20.44133304  20.50606671 ...,  20.78067392  20.83525299\\n\",\n      \"   20.88356921]\\n\",\n      \" [ 20.47831642  20.55669655  20.6800365  ...,  20.94345539  21.0255306\\n\",\n      \"   21.09250263]\\n\",\n      \" [ 20.0543866   20.24467179  20.42056851 ...,  20.71879315  20.80801567\\n\",\n      \"   20.8139791 ]\\n\",\n      \" ..., \\n\",\n      \" [ 25.55444964  25.73089496  25.78688107 ...,  25.83001772  25.87363941\\n\",\n      \"   25.94209486]\\n\",\n      \" [ 26.10683785  26.13568262  26.21882171 ...,  26.1706635   26.17482513\\n\",\n      \"   25.99067047]\\n\",\n      \" [ 25.78641012  25.93842086  25.87267253 ...,  26.02785251  25.8333293\\n\",\n      \"   25.74114593]]\\n\",\n      \"Buffer:  3000\\n\",\n      \"Pred:  [[ 26.09202122  26.16659026  26.28513376 ...,  26.27827853  26.19880974\\n\",\n      \"   26.29279004]\\n\",\n      \" [ 27.09296713  27.16525979  27.07816223 ...,  26.79828223  26.82462005\\n\",\n      \"   26.80115994]\\n\",\n      \" [ 27.37426618  27.26991991  27.08514753 ...,  26.99525355  27.0364177\\n\",\n      \"   27.06762629]\\n\",\n      \" ..., \\n\",\n      \" [ 25.74252888  25.81395317  25.96051853 ...,  26.19018399  26.25012269\\n\",\n      \"   26.22686022]\\n\",\n      \" [ 24.28942298  24.55436301  24.86490981 ...,  25.19589939  25.32405251\\n\",\n      \"   25.35862108]\\n\",\n      \" [ 24.10812922  24.39599208  24.70467848 ...,  25.0249339   25.12917584\\n\",\n      \"   25.13941702]]\\n\",\n      \"Buffer:  3200\\n\",\n      \"Pred:  [[ 23.89936317  24.16238987  24.37814933 ...,  24.6867283   24.73517262\\n\",\n      \"   24.9000166 ]\\n\",\n      \" [ 22.796028    23.03957929  23.36191281 ...,  23.95134918  24.05807653\\n\",\n      \"   24.32577573]\\n\",\n      \" [ 23.98201714  24.24346901  24.60352667 ...,  24.83600538  25.01300299\\n\",\n      \"   25.28700399]\\n\",\n      \" ..., \\n\",\n      \" [ 25.88867191  25.80319669  25.80762619 ...,  25.73744858  25.58444691\\n\",\n      \"   25.6317368 ]\\n\",\n      \" [ 25.74242634  25.69379746  25.73573117 ...,  25.64464014  25.67333293\\n\",\n      \"   25.64796163]\\n\",\n      \" [ 25.3468584   25.36760481  25.38439543 ...,  25.45652486  25.45199294\\n\",\n      \"   25.37327864]]\\n\",\n      \"Buffer:  3400\\n\",\n      \"Pred:  [[ 25.98449668  25.98521208  25.95242912 ...,  25.89368463  25.88045388\\n\",\n      \"   25.93171006]\\n\",\n      \" [ 25.76105977  25.70375977  25.63967045 ...,  25.59240848  25.66132277\\n\",\n      \"   25.66463929]\\n\",\n      \" [ 25.23810548  25.19061044  25.23695191 ...,  25.46131797  25.38041014\\n\",\n      \"   25.40377967]\\n\",\n      \" ..., \\n\",\n      \" [ 26.24824289  26.17127915  26.07623138 ...,  25.84710184  25.78029758\\n\",\n      \"   25.70586174]\\n\",\n      \" [ 26.19759651  26.09744315  25.92235382 ...,  25.63588018  25.63291115\\n\",\n      \"   25.59553912]\\n\",\n      \" [ 25.77531313  25.60455853  25.42752481 ...,  25.30530249  25.33317719\\n\",\n      \"   25.22147558]]\\n\",\n      \"Buffer:  3600\\n\",\n      \"Pred:  [[ 25.40656908  25.27074144  25.21409378 ...,  25.28521185  25.22632841\\n\",\n      \"   25.16945681]\\n\",\n      \" [ 25.18921491  25.07334629  25.05299874 ...,  24.94128607  24.95502997\\n\",\n      \"   24.95791613]\\n\",\n      \" [ 24.81985555  24.80298349  24.7612829  ...,  24.59692495  24.58690609\\n\",\n      \"   24.58263133]\\n\",\n      \" ..., \\n\",\n      \" [ 26.0389708   25.93263093  25.87256265 ...,  25.77298706  25.6439993\\n\",\n      \"   25.58368641]\\n\",\n      \" [ 26.56849541  26.50595118  26.36715477 ...,  26.37166457  26.3312083\\n\",\n      \"   26.14700985]\\n\",\n      \" [ 26.80613189  26.67530444  26.66849488 ...,  26.59946944  26.42169587\\n\",\n      \"   26.33018949]]\\n\",\n      \"Buffer:  3800\\n\",\n      \"Pred:  [[ 26.06044987  26.12046614  26.05471894 ...,  25.93053422  25.96502619\\n\",\n      \"   25.96056563]\\n\",\n      \" [ 26.03326405  25.99975566  25.8123115  ...,  25.6606701   25.76405528\\n\",\n      \"   25.65340638]\\n\",\n      \" [ 26.56229083  26.42947167  26.36848794 ...,  26.51685341  26.46719925\\n\",\n      \"   26.41071161]\\n\",\n      \" ..., \\n\",\n      \" [ 21.28992895  21.33566945  21.43008967 ...,  21.71406469  21.85169081\\n\",\n      \"   21.92897556]\\n\",\n      \" [ 21.21583534  21.37312981  21.57666978 ...,  21.84861172  21.88918311\\n\",\n      \"   21.93881172]\\n\",\n      \" [ 21.1126037   21.34119817  21.47466187 ...,  21.63830162  21.80664827\\n\",\n      \"   21.87502314]]\\n\",\n      \"Buffer:  4000\\n\",\n      \"Pred:  [[ 21.24389337  21.37252773  21.35683562 ...,  21.48408902  21.48832578\\n\",\n      \"   21.4263668 ]\\n\",\n      \" [ 21.22127677  21.24046477  21.34895607 ...,  21.41706179  21.37656328\\n\",\n      \"   21.35550317]\\n\",\n      \" [ 21.43282338  21.46888922  21.493978   ...,  21.51923313  21.50631784\\n\",\n      \"   21.53775008]\\n\",\n      \" ..., \\n\",\n      \" [ 26.79653366  26.64113656  26.49911428 ...,  26.25092122  26.10219452\\n\",\n      \"   25.9559183 ]\\n\",\n      \" [ 26.50290012  26.38396506  26.21567803 ...,  26.05643976  25.92729177\\n\",\n      \"   25.75297956]\\n\",\n      \" [ 26.49228551  26.2948515   26.14185587 ...,  25.91011466  25.7620661\\n\",\n      \"   25.60436813]]\\n\",\n      \"Buffer:  4200\\n\",\n      \"Pred:  [[ 26.59862697  26.53265571  26.46607521 ...,  26.31185187  26.22269463\\n\",\n      \"   26.15406759]\\n\",\n      \" [ 26.55732047  26.49355051  26.42777149 ...,  26.2624713   26.21316348\\n\",\n      \"   26.13021364]\\n\",\n      \" [ 26.38850061  26.32645169  26.21572275 ...,  26.15394371  26.11911926\\n\",\n      \"   25.99641195]\\n\",\n      \" ..., \\n\",\n      \" [ 34.39713553  34.08620781  33.9011808  ...,  33.34027792  33.04665311\\n\",\n      \"   32.89668644]\\n\",\n      \" [ 33.98517109  33.82119053  33.5508494  ...,  33.05718995  32.86762085\\n\",\n      \"   32.58866132]\\n\",\n      \" [ 33.8906325   33.64126562  33.39516092 ...,  32.95667114  32.6643352\\n\",\n      \"   32.42929969]]\\n\",\n      \"Buffer:  4400\\n\",\n      \"Pred:  [[ 34.41874727  34.43546507  34.39947704 ...,  34.34448666  34.32896368\\n\",\n      \"   34.34120397]\\n\",\n      \" [ 34.46582211  34.4089387   34.43652649 ...,  34.3424298   34.30309225\\n\",\n      \"   34.3895445 ]\\n\",\n      \" [ 34.59749054  34.58828052  34.57559093 ...,  34.53213034  34.55857317\\n\",\n      \"   34.6258566 ]\\n\",\n      \" ..., \\n\",\n      \" [ 39.55704137  39.59838257  39.602544   ...,  39.60300783  39.63200396\\n\",\n      \"   39.69585152]\\n\",\n      \" [ 40.46611222  40.43535902  40.40883545 ...,  40.43070392  40.44180509\\n\",\n      \"   40.54478546]\\n\",\n      \" [ 41.35119597  41.342732    41.31906462 ...,  41.47767905  41.55588714\\n\",\n      \"   41.5559466 ]]\\n\",\n      \"Buffer:  4600\\n\",\n      \"Pred:  [[ 41.24501714  41.30563545  41.33906701 ...,  41.41231404  41.36247167\\n\",\n      \"   41.32137465]\\n\",\n      \" [ 41.55176282  41.61250172  41.6040215  ...,  41.5859052   41.4933257\\n\",\n      \"   41.49596777]\\n\",\n      \" [ 41.11082905  41.21096532  41.24008778 ...,  41.10885342  41.11014781\\n\",\n      \"   41.19066485]\\n\",\n      \" ..., \\n\",\n      \" [ 40.40333667  40.57757536  40.7444689  ...,  40.55767817  40.62361813\\n\",\n      \"   40.7688445 ]\\n\",\n      \" [ 39.63679228  39.85222014  39.7001448  ...,  39.82137182  39.90308844\\n\",\n      \"   39.89175773]\\n\",\n      \" [ 40.03398294  39.90566847  39.92936408 ...,  40.00273409  39.99056338\\n\",\n      \"   40.13290444]]\\n\",\n      \"Buffer:  4800\\n\",\n      \"Pred:  [[ 40.57613285  40.36745876  40.34832271 ...,  40.14127925  40.25699571\\n\",\n      \"   40.17561628]\\n\",\n      \" [ 39.98152946  40.00012052  39.84018882 ...,  39.76283388  39.68356018\\n\",\n      \"   39.62743014]\\n\",\n      \" [ 40.65448136  40.47656975  40.40428358 ...,  40.32405542  40.34608955\\n\",\n      \"   40.51020122]\\n\",\n      \" ..., \\n\",\n      \" [ 40.70973214  40.82156695  40.94997294 ...,  41.05915738  41.2009332\\n\",\n      \"   41.24048475]\\n\",\n      \" [ 40.74221266  40.91247665  40.94516366 ...,  41.11094752  41.12695732\\n\",\n      \"   41.2238754 ]\\n\",\n      \" [ 40.51848579  40.63794176  40.6930074  ...,  40.83603721  40.96158001\\n\",\n      \"   41.20000058]]\\n\",\n      \"Buffer:  5000\\n\",\n      \"Pred:  [[ 41.02840608  40.97742881  41.04879639 ...,  41.08703686  41.13259893\\n\",\n      \"   41.13751978]\\n\",\n      \" [ 41.06644308  41.14932577  41.14604797 ...,  41.28572476  41.31572252\\n\",\n      \"   41.31868877]\\n\",\n      \" [ 42.00121108  41.91105222  41.98860594 ...,  42.05340097  42.0514623\\n\",\n      \"   42.07459136]\\n\",\n      \" ..., \\n\",\n      \" [ 41.61889522  41.77265455  42.134165   ...,  42.26888054  42.27023834\\n\",\n      \"   42.27099558]\\n\",\n      \" [ 39.61382401  39.3572463   38.99373902 ...,  39.08954502  39.72855523\\n\",\n      \"   40.20378919]\\n\",\n      \" [ 39.26326568  38.77189241  38.68857487 ...,  38.98425831  39.33537682\\n\",\n      \"   39.83910962]]\\n\",\n      \"Buffer:  5200\\n\",\n      \"Pred:  [[ 40.47205982  40.6031967   40.7555591  ...,  41.30306999  41.58849567\\n\",\n      \"   42.20678238]\\n\",\n      \" [ 40.53496451  40.74019047  40.91134542 ...,  41.1356297   41.85741949\\n\",\n      \"   42.23975788]\\n\",\n      \" [ 40.68819248  40.89227875  40.86005788 ...,  41.29318408  41.69474886\\n\",\n      \"   41.93568032]\\n\",\n      \" ..., \\n\",\n      \" [ 32.58236996  32.68722674  32.94694616 ...,  33.68935864  34.40763451\\n\",\n      \"   35.0411307 ]\\n\",\n      \" [ 34.11827593  34.29691869  34.56631295 ...,  35.77380712  36.1406701\\n\",\n      \"   36.65944805]\\n\",\n      \" [ 32.53922298  32.93070035  33.1267649  ...,  33.88362425  34.34724461\\n\",\n      \"   35.05498163]]\\n\",\n      \"Buffer:  5400\\n\",\n      \"Pred:  [[ 31.52461716  31.57967856  31.70310795 ...,  31.60969549  31.97998058\\n\",\n      \"   31.76583509]\\n\",\n      \" [ 32.56237362  32.44398294  32.30184175 ...,  32.87763302  32.50008364\\n\",\n      \"   32.21124309]\\n\",\n      \" [ 32.08373777  32.0604223   32.18122015 ...,  32.3427488   31.88531891\\n\",\n      \"   32.15190584]\\n\",\n      \" ..., \\n\",\n      \" [ 36.47434384  36.56338542  36.61949077 ...,  36.48991746  36.31746724\\n\",\n      \"   36.40344402]\\n\",\n      \" [ 37.24605504  37.18514913  37.20037653 ...,  36.99259881  36.96397396\\n\",\n      \"   36.84186326]\\n\",\n      \" [ 37.03819783  37.07523111  37.0042887  ...,  36.83422073  36.62528101\\n\",\n      \"   36.64031558]]\\n\",\n      \"Buffer:  5600\\n\",\n      \"Pred:  [[ 37.15097768  37.16165774  37.0631008  ...,  36.92139965  36.90713708\\n\",\n      \"   36.99238524]\\n\",\n      \" [ 36.81621957  36.81704608  36.83068939 ...,  36.76175825  36.76190017\\n\",\n      \"   36.74666901]\\n\",\n      \" [ 37.09933134  37.1138151   37.12286448 ...,  37.17231345  37.17322168\\n\",\n      \"   37.11568705]\\n\",\n      \" ..., \\n\",\n      \" [ 25.7344187   26.06591327  26.15460221 ...,  27.08788596  27.12449494\\n\",\n      \"   27.39248972]\\n\",\n      \" [ 22.49560126  22.71537861  22.34032905 ...,  22.91827229  22.94172241\\n\",\n      \"   24.24507425]\\n\",\n      \" [ 24.54302106  24.12607841  24.37067691 ...,  24.36400232  25.51053396\\n\",\n      \"   26.15846606]]\\n\",\n      \"Buffer:  5800\\n\",\n      \"Pred:  [[ 24.79977904  24.69590721  24.0883611  ...,  24.91928808  25.20504994\\n\",\n      \"   25.25962951]\\n\",\n      \" [ 23.1419501   22.66726302  21.87925864 ...,  23.11620493  22.89603025\\n\",\n      \"   23.68080167]\\n\",\n      \" [ 23.12996329  22.22263254  23.34052642 ...,  23.00870146  23.76270941\\n\",\n      \"   23.85789826]\\n\",\n      \" ..., \\n\",\n      \" [ 35.2820164   35.36034423  35.48074954 ...,  35.78691612  35.82649512\\n\",\n      \"   35.96429514]\\n\",\n      \" [ 35.47454644  35.55712141  35.53895006 ...,  35.77111792  35.8272775\\n\",\n      \"   36.00105157]\\n\",\n      \" [ 35.59562223  35.77160935  35.9847767  ...,  36.14101777  36.22937931\\n\",\n      \"   36.35845682]]\\n\",\n      \"Buffer:  6000\\n\",\n      \"Pred:  [[ 34.87543571  35.05866248  34.96081266 ...,  34.91188916  34.8865196\\n\",\n      \"   35.09534966]\\n\",\n      \" [ 34.07850517  34.09411023  33.94862945 ...,  33.7652154   33.70499976\\n\",\n      \"   34.01118595]\\n\",\n      \" [ 33.74560074  33.59630762  33.55275587 ...,  33.25894686  33.44248384\\n\",\n      \"   33.64523254]\\n\",\n      \" ..., \\n\",\n      \" [ 34.37043957  34.49072721  34.46713889 ...,  34.61641291  34.6316781\\n\",\n      \"   34.65009482]\\n\",\n      \" [ 34.34755901  34.44125379  34.69034084 ...,  34.58201637  34.64234545\\n\",\n      \"   34.57663455]\\n\",\n      \" [ 34.57448406  34.80322892  34.60662199 ...,  34.71353755  34.54698945\\n\",\n      \"   34.75533398]]\\n\",\n      \"Buffer:  6200\\n\",\n      \"Pred:  [[ 34.48058576  34.46931947  34.39645689 ...,  34.56175966  34.60120682\\n\",\n      \"   34.6889119 ]\\n\",\n      \" [ 34.42459542  34.4041518   34.59273011 ...,  34.71655572  34.77569208\\n\",\n      \"   34.91001211]\\n\",\n      \" [ 34.02746584  34.17503955  34.19326864 ...,  34.41906863  34.49378041\\n\",\n      \"   34.54149122]\\n\",\n      \" ..., \\n\",\n      \" [ 34.26729796  34.33198393  34.52037656 ...,  34.26471212  34.32199879\\n\",\n      \"   34.43204531]\\n\",\n      \" [ 33.37651991  33.60677572  33.52148382 ...,  33.42863803  33.44812737\\n\",\n      \"   33.44797037]\\n\",\n      \" [ 33.77101123  33.70474743  33.57014533 ...,  33.57211048  33.6467882\\n\",\n      \"   33.75261216]]\\n\",\n      \"Buffer:  6400\\n\",\n      \"Pred:  [[ 33.53133289  33.43869191  33.37263046 ...,  33.32649401  33.31416629\\n\",\n      \"   33.19199006]\\n\",\n      \" [ 33.46584109  33.39713333  33.33327354 ...,  33.28221668  33.15383874\\n\",\n      \"   33.13431947]\\n\",\n      \" [ 34.41622601  34.29761196  34.4366854  ...,  34.39820455  34.52023716\\n\",\n      \"   34.3539505 ]\\n\",\n      \" ..., \\n\",\n      \" [ 34.78692903  34.73536166  34.73454473 ...,  34.35468426  34.27153208\\n\",\n      \"   34.18379174]\\n\",\n      \" [ 35.01790079  34.99299477  34.80046662 ...,  34.59019432  34.47643505\\n\",\n      \"   34.32671027]\\n\",\n      \" [ 34.93577164  34.68553218  34.54299772 ...,  34.42529695  34.26793524\\n\",\n      \"   34.20209156]]\\n\",\n      \"Buffer:  6600\\n\",\n      \"Pred:  [[ 34.97898179  34.98256211  35.07425527 ...,  35.19605749  35.29951325\\n\",\n      \"   35.34528396]\\n\",\n      \" [ 35.01624583  35.10178264  35.12680389 ...,  35.30594613  35.35298146\\n\",\n      \"   35.4299613 ]\\n\",\n      \" [ 34.93937399  34.9619017   35.07676871 ...,  35.17815547  35.28027676\\n\",\n      \"   35.31059197]\\n\",\n      \" ..., \\n\",\n      \" [ 44.10058135  43.8139945   43.50204997 ...,  42.79200923  42.46908938\\n\",\n      \"   42.18424781]\\n\",\n      \" [ 43.92034495  43.61468664  43.30103441 ...,  42.6139226   42.32034584\\n\",\n      \"   42.01517437]\\n\",\n      \" [ 44.03369297  43.71493941  43.41566069 ...,  42.70811157  42.40436291\\n\",\n      \"   42.15296897]]\\n\",\n      \"Buffer:  6800\\n\",\n      \"Pred:  [[ 44.26824904  44.22815477  44.2189972  ...,  44.12417068  44.16232578\\n\",\n      \"   44.12297489]\\n\",\n      \" [ 43.86504688  43.81346145  43.79542729 ...,  43.81453745  43.80092968\\n\",\n      \"   43.78132118]\\n\",\n      \" [ 44.17142766  44.10927042  44.07602426 ...,  44.01900881  44.03224618\\n\",\n      \"   44.05145594]\\n\",\n      \" ..., \\n\",\n      \" [ 34.95488639  35.16294448  35.49386909 ...,  35.56308703  35.46595545\\n\",\n      \"   35.52188355]\\n\",\n      \" [ 36.1446683   36.4019933   36.67338125 ...,  36.68118139  36.80819138\\n\",\n      \"   36.84463694]\\n\",\n      \" [ 35.82839891  35.92646934  36.05010142 ...,  36.31325315  36.35564094\\n\",\n      \"   36.41780309]]\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[array([[ 7.83601976,  7.84714155,  7.85292535, ...,  7.89987737,\\n\",\n       \"          7.91755521,  7.93865868],\\n\",\n       \"        [ 7.85539551,  7.86158008,  7.87498252, ...,  7.90506271,\\n\",\n       \"          7.91740818,  7.93852032],\\n\",\n       \"        [ 7.83170231,  7.84749588,  7.87738729, ...,  7.89285396,\\n\",\n       \"          7.91642424,  7.92424915],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.36738278,  6.39213824,  6.39270447, ...,  6.43798347,\\n\",\n       \"          6.45461204,  6.4751872 ],\\n\",\n       \"        [ 6.42016386,  6.417325  ,  6.42707883, ...,  6.47916005,\\n\",\n       \"          6.50267402,  6.51950021],\\n\",\n       \"        [ 6.28080118,  6.27092368,  6.28282955, ...,  6.30547753,\\n\",\n       \"          6.3252951 ,  6.3264697 ]]),\\n\",\n       \" array([[ 6.14075766,  6.11117589,  6.09574853, ...,  6.07217018,\\n\",\n       \"          6.07748552,  6.08070167],\\n\",\n       \"        [ 6.21540435,  6.17492322,  6.17149764, ...,  6.1453285 ,\\n\",\n       \"          6.13813657,  6.14081275],\\n\",\n       \"        [ 6.27753279,  6.27307459,  6.23843178, ...,  6.24830207,\\n\",\n       \"          6.24374508,  6.21901832],\\n\",\n       \"        ..., \\n\",\n       \"        [ 5.75919469,  5.78334022,  5.79923807, ...,  5.83008595,\\n\",\n       \"          5.859385  ,  5.87740631],\\n\",\n       \"        [ 5.76238715,  5.7892002 ,  5.81412139, ...,  5.85030748,\\n\",\n       \"          5.88508911,  5.88637507],\\n\",\n       \"        [ 5.78833298,  5.81875138,  5.83850427, ...,  5.88612816,\\n\",\n       \"          5.8986934 ,  5.90478152]]),\\n\",\n       \" array([[ 5.7641509 ,  5.79247187,  5.81926042, ...,  5.84616883,\\n\",\n       \"          5.86198088,  5.87727484],\\n\",\n       \"        [ 5.8513131 ,  5.86385014,  5.88638345, ...,  5.89063265,\\n\",\n       \"          5.90502758,  5.90804928],\\n\",\n       \"        [ 5.9113665 ,  5.92879268,  5.93253659, ...,  5.94752817,\\n\",\n       \"          5.95264971,  5.95534078],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.1998076 ,  6.19815249,  6.22826773, ...,  6.25852243,\\n\",\n       \"          6.2950688 ,  6.28322814],\\n\",\n       \"        [ 6.19140054,  6.19932943,  6.23777417, ...,  6.25145184,\\n\",\n       \"          6.25277943,  6.24492933],\\n\",\n       \"        [ 6.22481015,  6.25710477,  6.27123817, ...,  6.28618561,\\n\",\n       \"          6.29833129,  6.29616353]]),\\n\",\n       \" array([[ 6.1645113 ,  6.1747009 ,  6.17346569, ...,  6.14073882,\\n\",\n       \"          6.13655823,  6.15464913],\\n\",\n       \"        [ 6.23869668,  6.22906726,  6.21064429, ...,  6.19525349,\\n\",\n       \"          6.199533  ,  6.1829646 ],\\n\",\n       \"        [ 5.94298817,  5.92847236,  5.91129748, ...,  5.89322178,\\n\",\n       \"          5.86434585,  5.87953873],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.94246533,  8.87626646,  8.89060421, ...,  8.84848815,\\n\",\n       \"          8.85793555,  8.86792794],\\n\",\n       \"        [ 8.78322534,  8.79037462,  8.72943888, ...,  8.72055999,\\n\",\n       \"          8.7383812 ,  8.68878426],\\n\",\n       \"        [ 8.83433927,  8.76940226,  8.77364936, ...,  8.77248502,\\n\",\n       \"          8.72566135,  8.69839892]]),\\n\",\n       \" array([[ 8.67603806,  8.67084409,  8.65130791, ...,  8.67378925,\\n\",\n       \"          8.69676109,  8.69455006],\\n\",\n       \"        [ 8.82830315,  8.8205379 ,  8.86009166, ...,  8.87552595,\\n\",\n       \"          8.85568772,  8.84410872],\\n\",\n       \"        [ 8.84748948,  8.84911858,  8.81238761, ...,  8.78189801,\\n\",\n       \"          8.75265697,  8.72581647],\\n\",\n       \"        ..., \\n\",\n       \"        [ 7.71616361,  7.7100549 ,  7.68435219, ...,  7.6489673 ,\\n\",\n       \"          7.61926738,  7.60503466],\\n\",\n       \"        [ 7.59805829,  7.59515854,  7.53381661, ...,  7.5060898 ,\\n\",\n       \"          7.47964638,  7.49137924],\\n\",\n       \"        [ 7.54657369,  7.52483132,  7.53333146, ...,  7.50714863,\\n\",\n       \"          7.52033692,  7.5104685 ]]),\\n\",\n       \" array([[ 7.46215011,  7.4436282 ,  7.43918656, ...,  7.5010726 ,\\n\",\n       \"          7.48113362,  7.48813435],\\n\",\n       \"        [ 7.56216243,  7.57242677,  7.60962549, ...,  7.59408734,\\n\",\n       \"          7.58687173,  7.59213207],\\n\",\n       \"        [ 7.55189234,  7.58738691,  7.61589834, ...,  7.60049142,\\n\",\n       \"          7.60064947,  7.60278131],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.19883297,  6.22711546,  6.24523835, ...,  6.30446123,\\n\",\n       \"          6.33864273,  6.33903875],\\n\",\n       \"        [ 6.17836606,  6.19567673,  6.22059366, ...,  6.29335772,\\n\",\n       \"          6.30085317,  6.31700372],\\n\",\n       \"        [ 6.30048133,  6.33373495,  6.37895762, ...,  6.41007597,\\n\",\n       \"          6.40794933,  6.42844116]]),\\n\",\n       \" array([[ 6.30754289,  6.34315541,  6.37136507, ...,  6.34725709,\\n\",\n       \"          6.3533664 ,  6.36701006],\\n\",\n       \"        [ 6.2183139 ,  6.22645131,  6.20859811, ...,  6.19826357,\\n\",\n       \"          6.21393204,  6.22498325],\\n\",\n       \"        [ 6.13231736,  6.11064193,  6.06756449, ...,  6.10864178,\\n\",\n       \"          6.12762316,  6.12009367],\\n\",\n       \"        ..., \\n\",\n       \"        [ 4.93362234,  4.93814477,  4.93428253, ...,  4.96908178,\\n\",\n       \"          4.9916257 ,  5.0119479 ],\\n\",\n       \"        [ 4.94855637,  4.96672313,  4.9753907 , ...,  5.01327007,\\n\",\n       \"          5.04827391,  5.06702398],\\n\",\n       \"        [ 4.94109813,  4.95766805,  4.9861515 , ...,  5.00727657,\\n\",\n       \"          5.02994663,  5.03880748]]),\\n\",\n       \" array([[ 4.99871061,  5.02010571,  5.014281  , ...,  5.0026121 ,\\n\",\n       \"          4.99747618,  4.97557435],\\n\",\n       \"        [ 5.15365698,  5.15594044,  5.1491617 , ...,  5.09127283,\\n\",\n       \"          5.05670229,  5.06074197],\\n\",\n       \"        [ 5.15264849,  5.14912635,  5.12308927, ...,  5.05939273,\\n\",\n       \"          5.0643763 ,  5.04887009],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.73631505,  6.69817443,  6.67661297, ...,  6.63990072,\\n\",\n       \"          6.64029307,  6.62941594],\\n\",\n       \"        [ 6.80586543,  6.78280213,  6.77308604, ...,  6.73267206,\\n\",\n       \"          6.70165677,  6.68567721],\\n\",\n       \"        [ 6.87717059,  6.8713965 ,  6.85461032, ...,  6.80891943,\\n\",\n       \"          6.78659161,  6.7676666 ]]),\\n\",\n       \" array([[ 6.88960025,  6.895621  ,  6.91178743, ...,  6.90648271,\\n\",\n       \"          6.91037924,  6.91464528],\\n\",\n       \"        [ 6.92029213,  6.93896731,  6.93794831, ...,  6.94105214,\\n\",\n       \"          6.94581302,  6.93479959],\\n\",\n       \"        [ 6.94258489,  6.94132069,  6.93738101, ...,  6.95109387,\\n\",\n       \"          6.94439441,  6.96149157],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.63303575,  8.6153931 ,  8.62242329, ...,  8.60348853,\\n\",\n       \"          8.61375744,  8.62515753],\\n\",\n       \"        [ 8.65670167,  8.66375148,  8.66798893, ...,  8.65346248,\\n\",\n       \"          8.65856181,  8.64789495],\\n\",\n       \"        [ 8.7674598 ,  8.76709683,  8.7645547 , ...,  8.78059364,\\n\",\n       \"          8.7585914 ,  8.76297732]]),\\n\",\n       \" array([[  8.68953042,   8.68353244,   8.69167093, ...,   8.69226758,\\n\",\n       \"           8.69669531,   8.70359861],\\n\",\n       \"        [  8.66104825,   8.66338749,   8.68358337, ...,   8.67084048,\\n\",\n       \"           8.68664223,   8.67802482],\\n\",\n       \"        [  8.67468363,   8.69245015,   8.66828894, ...,   8.69130084,\\n\",\n       \"           8.67790535,   8.69542446],\\n\",\n       \"        ..., \\n\",\n       \"        [ 10.25132895,  10.26123566,  10.25052647, ...,  10.2702956 ,\\n\",\n       \"          10.28387785,  10.29072272],\\n\",\n       \"        [ 10.18370737,  10.17290369,  10.18125306, ...,  10.2112286 ,\\n\",\n       \"          10.21762469,  10.21706292],\\n\",\n       \"        [ 10.22958344,  10.23782323,  10.24337281, ...,  10.26467471,\\n\",\n       \"          10.25519154,  10.2341133 ]]),\\n\",\n       \" array([[ 10.22064293,  10.22413787,  10.24471743, ...,  10.27029812,\\n\",\n       \"          10.2744557 ,  10.28765738],\\n\",\n       \"        [ 10.26516025,  10.27459074,  10.29442757, ...,  10.31496257,\\n\",\n       \"          10.32870539,  10.33393516],\\n\",\n       \"        [ 10.12818121,  10.13767282,  10.16435904, ...,  10.23174691,\\n\",\n       \"          10.25429594,  10.27571162],\\n\",\n       \"        ..., \\n\",\n       \"        [ 11.64694204,  11.67793627,  11.71878894, ...,  11.72885817,\\n\",\n       \"          11.73598723,  11.74138426],\\n\",\n       \"        [ 11.50646666,  11.55801859,  11.60061623, ...,  11.59712143,\\n\",\n       \"          11.60710104,  11.62519194],\\n\",\n       \"        [ 11.66543188,  11.70375594,  11.72575794, ...,  11.7634877 ,\\n\",\n       \"          11.80012102,  11.80921948]]),\\n\",\n       \" array([[ 11.62959737,  11.64537291,  11.62913452, ...,  11.63915597,\\n\",\n       \"          11.63946331,  11.67432874],\\n\",\n       \"        [ 11.51306747,  11.4921517 ,  11.48731226, ...,  11.48843655,\\n\",\n       \"          11.5272199 ,  11.53575298],\\n\",\n       \"        [ 11.4459014 ,  11.44132033,  11.44303377, ...,  11.43963244,\\n\",\n       \"          11.4371997 ,  11.45553989],\\n\",\n       \"        ..., \\n\",\n       \"        [ 16.22239336,  16.21976356,  16.22826391, ...,  16.21574299,\\n\",\n       \"          16.22293648,  16.26595504],\\n\",\n       \"        [ 15.98826989,  16.00674066,  16.03692572, ...,  16.0496106 ,\\n\",\n       \"          16.10671921,  16.11635139],\\n\",\n       \"        [ 15.79752122,  15.88073774,  15.95919399, ...,  16.04615273,\\n\",\n       \"          16.04535607,  16.03367065]]),\\n\",\n       \" array([[ 16.04780654,  16.10427504,  16.15325971, ...,  16.21640137,\\n\",\n       \"          16.23310984,  16.24580039],\\n\",\n       \"        [ 15.93923871,  15.96865021,  16.01241045, ...,  16.04899501,\\n\",\n       \"          16.0097939 ,  16.01058251],\\n\",\n       \"        [ 15.95002904,  15.99504448,  16.00543129, ...,  16.08477758,\\n\",\n       \"          16.0724383 ,  16.01255977],\\n\",\n       \"        ..., \\n\",\n       \"        [ 20.43621626,  20.48574881,  20.53403285, ...,  20.5853136 ,\\n\",\n       \"          20.65182418,  20.70740506],\\n\",\n       \"        [ 21.01478432,  21.0377329 ,  21.06384251, ...,  21.11292127,\\n\",\n       \"          21.16689338,  21.25102393],\\n\",\n       \"        [ 20.80946572,  20.84214892,  20.83450899, ...,  20.87816108,\\n\",\n       \"          20.94758599,  20.97840243]]),\\n\",\n       \" array([[ 20.79530755,  20.70031722,  20.67570255, ...,  20.67175512,\\n\",\n       \"          20.75003016,  20.7424359 ],\\n\",\n       \"        [ 20.51491535,  20.51195086,  20.47751748, ...,  20.61619501,\\n\",\n       \"          20.61899275,  20.71100874],\\n\",\n       \"        [ 20.88903686,  20.83145557,  20.76382639, ...,  20.84093447,\\n\",\n       \"          20.95482155,  20.93470293],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.35898088,  21.44310834,  21.58442593, ...,  21.67728542,\\n\",\n       \"          21.63729079,  21.76718696],\\n\",\n       \"        [ 21.02670418,  21.22586046,  21.36227848, ...,  21.31522747,\\n\",\n       \"          21.4562707 ,  21.61980196],\\n\",\n       \"        [ 21.08453035,  21.20775213,  21.19865266, ...,  21.28921609,\\n\",\n       \"          21.44822081,  21.56667633]]),\\n\",\n       \" array([[ 20.44161666,  20.44133304,  20.50606671, ...,  20.78067392,\\n\",\n       \"          20.83525299,  20.88356921],\\n\",\n       \"        [ 20.47831642,  20.55669655,  20.6800365 , ...,  20.94345539,\\n\",\n       \"          21.0255306 ,  21.09250263],\\n\",\n       \"        [ 20.0543866 ,  20.24467179,  20.42056851, ...,  20.71879315,\\n\",\n       \"          20.80801567,  20.8139791 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.55444964,  25.73089496,  25.78688107, ...,  25.83001772,\\n\",\n       \"          25.87363941,  25.94209486],\\n\",\n       \"        [ 26.10683785,  26.13568262,  26.21882171, ...,  26.1706635 ,\\n\",\n       \"          26.17482513,  25.99067047],\\n\",\n       \"        [ 25.78641012,  25.93842086,  25.87267253, ...,  26.02785251,\\n\",\n       \"          25.8333293 ,  25.74114593]]),\\n\",\n       \" array([[ 26.09202122,  26.16659026,  26.28513376, ...,  26.27827853,\\n\",\n       \"          26.19880974,  26.29279004],\\n\",\n       \"        [ 27.09296713,  27.16525979,  27.07816223, ...,  26.79828223,\\n\",\n       \"          26.82462005,  26.80115994],\\n\",\n       \"        [ 27.37426618,  27.26991991,  27.08514753, ...,  26.99525355,\\n\",\n       \"          27.0364177 ,  27.06762629],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.74252888,  25.81395317,  25.96051853, ...,  26.19018399,\\n\",\n       \"          26.25012269,  26.22686022],\\n\",\n       \"        [ 24.28942298,  24.55436301,  24.86490981, ...,  25.19589939,\\n\",\n       \"          25.32405251,  25.35862108],\\n\",\n       \"        [ 24.10812922,  24.39599208,  24.70467848, ...,  25.0249339 ,\\n\",\n       \"          25.12917584,  25.13941702]]),\\n\",\n       \" array([[ 23.89936317,  24.16238987,  24.37814933, ...,  24.6867283 ,\\n\",\n       \"          24.73517262,  24.9000166 ],\\n\",\n       \"        [ 22.796028  ,  23.03957929,  23.36191281, ...,  23.95134918,\\n\",\n       \"          24.05807653,  24.32577573],\\n\",\n       \"        [ 23.98201714,  24.24346901,  24.60352667, ...,  24.83600538,\\n\",\n       \"          25.01300299,  25.28700399],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.88867191,  25.80319669,  25.80762619, ...,  25.73744858,\\n\",\n       \"          25.58444691,  25.6317368 ],\\n\",\n       \"        [ 25.74242634,  25.69379746,  25.73573117, ...,  25.64464014,\\n\",\n       \"          25.67333293,  25.64796163],\\n\",\n       \"        [ 25.3468584 ,  25.36760481,  25.38439543, ...,  25.45652486,\\n\",\n       \"          25.45199294,  25.37327864]]),\\n\",\n       \" array([[ 25.98449668,  25.98521208,  25.95242912, ...,  25.89368463,\\n\",\n       \"          25.88045388,  25.93171006],\\n\",\n       \"        [ 25.76105977,  25.70375977,  25.63967045, ...,  25.59240848,\\n\",\n       \"          25.66132277,  25.66463929],\\n\",\n       \"        [ 25.23810548,  25.19061044,  25.23695191, ...,  25.46131797,\\n\",\n       \"          25.38041014,  25.40377967],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.24824289,  26.17127915,  26.07623138, ...,  25.84710184,\\n\",\n       \"          25.78029758,  25.70586174],\\n\",\n       \"        [ 26.19759651,  26.09744315,  25.92235382, ...,  25.63588018,\\n\",\n       \"          25.63291115,  25.59553912],\\n\",\n       \"        [ 25.77531313,  25.60455853,  25.42752481, ...,  25.30530249,\\n\",\n       \"          25.33317719,  25.22147558]]),\\n\",\n       \" array([[ 25.40656908,  25.27074144,  25.21409378, ...,  25.28521185,\\n\",\n       \"          25.22632841,  25.16945681],\\n\",\n       \"        [ 25.18921491,  25.07334629,  25.05299874, ...,  24.94128607,\\n\",\n       \"          24.95502997,  24.95791613],\\n\",\n       \"        [ 24.81985555,  24.80298349,  24.7612829 , ...,  24.59692495,\\n\",\n       \"          24.58690609,  24.58263133],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.0389708 ,  25.93263093,  25.87256265, ...,  25.77298706,\\n\",\n       \"          25.6439993 ,  25.58368641],\\n\",\n       \"        [ 26.56849541,  26.50595118,  26.36715477, ...,  26.37166457,\\n\",\n       \"          26.3312083 ,  26.14700985],\\n\",\n       \"        [ 26.80613189,  26.67530444,  26.66849488, ...,  26.59946944,\\n\",\n       \"          26.42169587,  26.33018949]]),\\n\",\n       \" array([[ 26.06044987,  26.12046614,  26.05471894, ...,  25.93053422,\\n\",\n       \"          25.96502619,  25.96056563],\\n\",\n       \"        [ 26.03326405,  25.99975566,  25.8123115 , ...,  25.6606701 ,\\n\",\n       \"          25.76405528,  25.65340638],\\n\",\n       \"        [ 26.56229083,  26.42947167,  26.36848794, ...,  26.51685341,\\n\",\n       \"          26.46719925,  26.41071161],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.28992895,  21.33566945,  21.43008967, ...,  21.71406469,\\n\",\n       \"          21.85169081,  21.92897556],\\n\",\n       \"        [ 21.21583534,  21.37312981,  21.57666978, ...,  21.84861172,\\n\",\n       \"          21.88918311,  21.93881172],\\n\",\n       \"        [ 21.1126037 ,  21.34119817,  21.47466187, ...,  21.63830162,\\n\",\n       \"          21.80664827,  21.87502314]]),\\n\",\n       \" array([[ 21.24389337,  21.37252773,  21.35683562, ...,  21.48408902,\\n\",\n       \"          21.48832578,  21.4263668 ],\\n\",\n       \"        [ 21.22127677,  21.24046477,  21.34895607, ...,  21.41706179,\\n\",\n       \"          21.37656328,  21.35550317],\\n\",\n       \"        [ 21.43282338,  21.46888922,  21.493978  , ...,  21.51923313,\\n\",\n       \"          21.50631784,  21.53775008],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.79653366,  26.64113656,  26.49911428, ...,  26.25092122,\\n\",\n       \"          26.10219452,  25.9559183 ],\\n\",\n       \"        [ 26.50290012,  26.38396506,  26.21567803, ...,  26.05643976,\\n\",\n       \"          25.92729177,  25.75297956],\\n\",\n       \"        [ 26.49228551,  26.2948515 ,  26.14185587, ...,  25.91011466,\\n\",\n       \"          25.7620661 ,  25.60436813]]),\\n\",\n       \" array([[ 26.59862697,  26.53265571,  26.46607521, ...,  26.31185187,\\n\",\n       \"          26.22269463,  26.15406759],\\n\",\n       \"        [ 26.55732047,  26.49355051,  26.42777149, ...,  26.2624713 ,\\n\",\n       \"          26.21316348,  26.13021364],\\n\",\n       \"        [ 26.38850061,  26.32645169,  26.21572275, ...,  26.15394371,\\n\",\n       \"          26.11911926,  25.99641195],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.39713553,  34.08620781,  33.9011808 , ...,  33.34027792,\\n\",\n       \"          33.04665311,  32.89668644],\\n\",\n       \"        [ 33.98517109,  33.82119053,  33.5508494 , ...,  33.05718995,\\n\",\n       \"          32.86762085,  32.58866132],\\n\",\n       \"        [ 33.8906325 ,  33.64126562,  33.39516092, ...,  32.95667114,\\n\",\n       \"          32.6643352 ,  32.42929969]]),\\n\",\n       \" array([[ 34.41874727,  34.43546507,  34.39947704, ...,  34.34448666,\\n\",\n       \"          34.32896368,  34.34120397],\\n\",\n       \"        [ 34.46582211,  34.4089387 ,  34.43652649, ...,  34.3424298 ,\\n\",\n       \"          34.30309225,  34.3895445 ],\\n\",\n       \"        [ 34.59749054,  34.58828052,  34.57559093, ...,  34.53213034,\\n\",\n       \"          34.55857317,  34.6258566 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 39.55704137,  39.59838257,  39.602544  , ...,  39.60300783,\\n\",\n       \"          39.63200396,  39.69585152],\\n\",\n       \"        [ 40.46611222,  40.43535902,  40.40883545, ...,  40.43070392,\\n\",\n       \"          40.44180509,  40.54478546],\\n\",\n       \"        [ 41.35119597,  41.342732  ,  41.31906462, ...,  41.47767905,\\n\",\n       \"          41.55588714,  41.5559466 ]]),\\n\",\n       \" array([[ 41.24501714,  41.30563545,  41.33906701, ...,  41.41231404,\\n\",\n       \"          41.36247167,  41.32137465],\\n\",\n       \"        [ 41.55176282,  41.61250172,  41.6040215 , ...,  41.5859052 ,\\n\",\n       \"          41.4933257 ,  41.49596777],\\n\",\n       \"        [ 41.11082905,  41.21096532,  41.24008778, ...,  41.10885342,\\n\",\n       \"          41.11014781,  41.19066485],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.40333667,  40.57757536,  40.7444689 , ...,  40.55767817,\\n\",\n       \"          40.62361813,  40.7688445 ],\\n\",\n       \"        [ 39.63679228,  39.85222014,  39.7001448 , ...,  39.82137182,\\n\",\n       \"          39.90308844,  39.89175773],\\n\",\n       \"        [ 40.03398294,  39.90566847,  39.92936408, ...,  40.00273409,\\n\",\n       \"          39.99056338,  40.13290444]]),\\n\",\n       \" array([[ 40.57613285,  40.36745876,  40.34832271, ...,  40.14127925,\\n\",\n       \"          40.25699571,  40.17561628],\\n\",\n       \"        [ 39.98152946,  40.00012052,  39.84018882, ...,  39.76283388,\\n\",\n       \"          39.68356018,  39.62743014],\\n\",\n       \"        [ 40.65448136,  40.47656975,  40.40428358, ...,  40.32405542,\\n\",\n       \"          40.34608955,  40.51020122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.70973214,  40.82156695,  40.94997294, ...,  41.05915738,\\n\",\n       \"          41.2009332 ,  41.24048475],\\n\",\n       \"        [ 40.74221266,  40.91247665,  40.94516366, ...,  41.11094752,\\n\",\n       \"          41.12695732,  41.2238754 ],\\n\",\n       \"        [ 40.51848579,  40.63794176,  40.6930074 , ...,  40.83603721,\\n\",\n       \"          40.96158001,  41.20000058]]),\\n\",\n       \" array([[ 41.02840608,  40.97742881,  41.04879639, ...,  41.08703686,\\n\",\n       \"          41.13259893,  41.13751978],\\n\",\n       \"        [ 41.06644308,  41.14932577,  41.14604797, ...,  41.28572476,\\n\",\n       \"          41.31572252,  41.31868877],\\n\",\n       \"        [ 42.00121108,  41.91105222,  41.98860594, ...,  42.05340097,\\n\",\n       \"          42.0514623 ,  42.07459136],\\n\",\n       \"        ..., \\n\",\n       \"        [ 41.61889522,  41.77265455,  42.134165  , ...,  42.26888054,\\n\",\n       \"          42.27023834,  42.27099558],\\n\",\n       \"        [ 39.61382401,  39.3572463 ,  38.99373902, ...,  39.08954502,\\n\",\n       \"          39.72855523,  40.20378919],\\n\",\n       \"        [ 39.26326568,  38.77189241,  38.68857487, ...,  38.98425831,\\n\",\n       \"          39.33537682,  39.83910962]]),\\n\",\n       \" array([[ 40.47205982,  40.6031967 ,  40.7555591 , ...,  41.30306999,\\n\",\n       \"          41.58849567,  42.20678238],\\n\",\n       \"        [ 40.53496451,  40.74019047,  40.91134542, ...,  41.1356297 ,\\n\",\n       \"          41.85741949,  42.23975788],\\n\",\n       \"        [ 40.68819248,  40.89227875,  40.86005788, ...,  41.29318408,\\n\",\n       \"          41.69474886,  41.93568032],\\n\",\n       \"        ..., \\n\",\n       \"        [ 32.58236996,  32.68722674,  32.94694616, ...,  33.68935864,\\n\",\n       \"          34.40763451,  35.0411307 ],\\n\",\n       \"        [ 34.11827593,  34.29691869,  34.56631295, ...,  35.77380712,\\n\",\n       \"          36.1406701 ,  36.65944805],\\n\",\n       \"        [ 32.53922298,  32.93070035,  33.1267649 , ...,  33.88362425,\\n\",\n       \"          34.34724461,  35.05498163]]),\\n\",\n       \" array([[ 31.52461716,  31.57967856,  31.70310795, ...,  31.60969549,\\n\",\n       \"          31.97998058,  31.76583509],\\n\",\n       \"        [ 32.56237362,  32.44398294,  32.30184175, ...,  32.87763302,\\n\",\n       \"          32.50008364,  32.21124309],\\n\",\n       \"        [ 32.08373777,  32.0604223 ,  32.18122015, ...,  32.3427488 ,\\n\",\n       \"          31.88531891,  32.15190584],\\n\",\n       \"        ..., \\n\",\n       \"        [ 36.47434384,  36.56338542,  36.61949077, ...,  36.48991746,\\n\",\n       \"          36.31746724,  36.40344402],\\n\",\n       \"        [ 37.24605504,  37.18514913,  37.20037653, ...,  36.99259881,\\n\",\n       \"          36.96397396,  36.84186326],\\n\",\n       \"        [ 37.03819783,  37.07523111,  37.0042887 , ...,  36.83422073,\\n\",\n       \"          36.62528101,  36.64031558]]),\\n\",\n       \" array([[ 37.15097768,  37.16165774,  37.0631008 , ...,  36.92139965,\\n\",\n       \"          36.90713708,  36.99238524],\\n\",\n       \"        [ 36.81621957,  36.81704608,  36.83068939, ...,  36.76175825,\\n\",\n       \"          36.76190017,  36.74666901],\\n\",\n       \"        [ 37.09933134,  37.1138151 ,  37.12286448, ...,  37.17231345,\\n\",\n       \"          37.17322168,  37.11568705],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.7344187 ,  26.06591327,  26.15460221, ...,  27.08788596,\\n\",\n       \"          27.12449494,  27.39248972],\\n\",\n       \"        [ 22.49560126,  22.71537861,  22.34032905, ...,  22.91827229,\\n\",\n       \"          22.94172241,  24.24507425],\\n\",\n       \"        [ 24.54302106,  24.12607841,  24.37067691, ...,  24.36400232,\\n\",\n       \"          25.51053396,  26.15846606]]),\\n\",\n       \" array([[ 24.79977904,  24.69590721,  24.0883611 , ...,  24.91928808,\\n\",\n       \"          25.20504994,  25.25962951],\\n\",\n       \"        [ 23.1419501 ,  22.66726302,  21.87925864, ...,  23.11620493,\\n\",\n       \"          22.89603025,  23.68080167],\\n\",\n       \"        [ 23.12996329,  22.22263254,  23.34052642, ...,  23.00870146,\\n\",\n       \"          23.76270941,  23.85789826],\\n\",\n       \"        ..., \\n\",\n       \"        [ 35.2820164 ,  35.36034423,  35.48074954, ...,  35.78691612,\\n\",\n       \"          35.82649512,  35.96429514],\\n\",\n       \"        [ 35.47454644,  35.55712141,  35.53895006, ...,  35.77111792,\\n\",\n       \"          35.8272775 ,  36.00105157],\\n\",\n       \"        [ 35.59562223,  35.77160935,  35.9847767 , ...,  36.14101777,\\n\",\n       \"          36.22937931,  36.35845682]]),\\n\",\n       \" array([[ 34.87543571,  35.05866248,  34.96081266, ...,  34.91188916,\\n\",\n       \"          34.8865196 ,  35.09534966],\\n\",\n       \"        [ 34.07850517,  34.09411023,  33.94862945, ...,  33.7652154 ,\\n\",\n       \"          33.70499976,  34.01118595],\\n\",\n       \"        [ 33.74560074,  33.59630762,  33.55275587, ...,  33.25894686,\\n\",\n       \"          33.44248384,  33.64523254],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.37043957,  34.49072721,  34.46713889, ...,  34.61641291,\\n\",\n       \"          34.6316781 ,  34.65009482],\\n\",\n       \"        [ 34.34755901,  34.44125379,  34.69034084, ...,  34.58201637,\\n\",\n       \"          34.64234545,  34.57663455],\\n\",\n       \"        [ 34.57448406,  34.80322892,  34.60662199, ...,  34.71353755,\\n\",\n       \"          34.54698945,  34.75533398]]),\\n\",\n       \" array([[ 34.48058576,  34.46931947,  34.39645689, ...,  34.56175966,\\n\",\n       \"          34.60120682,  34.6889119 ],\\n\",\n       \"        [ 34.42459542,  34.4041518 ,  34.59273011, ...,  34.71655572,\\n\",\n       \"          34.77569208,  34.91001211],\\n\",\n       \"        [ 34.02746584,  34.17503955,  34.19326864, ...,  34.41906863,\\n\",\n       \"          34.49378041,  34.54149122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.26729796,  34.33198393,  34.52037656, ...,  34.26471212,\\n\",\n       \"          34.32199879,  34.43204531],\\n\",\n       \"        [ 33.37651991,  33.60677572,  33.52148382, ...,  33.42863803,\\n\",\n       \"          33.44812737,  33.44797037],\\n\",\n       \"        [ 33.77101123,  33.70474743,  33.57014533, ...,  33.57211048,\\n\",\n       \"          33.6467882 ,  33.75261216]]),\\n\",\n       \" array([[ 33.53133289,  33.43869191,  33.37263046, ...,  33.32649401,\\n\",\n       \"          33.31416629,  33.19199006],\\n\",\n       \"        [ 33.46584109,  33.39713333,  33.33327354, ...,  33.28221668,\\n\",\n       \"          33.15383874,  33.13431947],\\n\",\n       \"        [ 34.41622601,  34.29761196,  34.4366854 , ...,  34.39820455,\\n\",\n       \"          34.52023716,  34.3539505 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.78692903,  34.73536166,  34.73454473, ...,  34.35468426,\\n\",\n       \"          34.27153208,  34.18379174],\\n\",\n       \"        [ 35.01790079,  34.99299477,  34.80046662, ...,  34.59019432,\\n\",\n       \"          34.47643505,  34.32671027],\\n\",\n       \"        [ 34.93577164,  34.68553218,  34.54299772, ...,  34.42529695,\\n\",\n       \"          34.26793524,  34.20209156]]),\\n\",\n       \" array([[ 34.97898179,  34.98256211,  35.07425527, ...,  35.19605749,\\n\",\n       \"          35.29951325,  35.34528396],\\n\",\n       \"        [ 35.01624583,  35.10178264,  35.12680389, ...,  35.30594613,\\n\",\n       \"          35.35298146,  35.4299613 ],\\n\",\n       \"        [ 34.93937399,  34.9619017 ,  35.07676871, ...,  35.17815547,\\n\",\n       \"          35.28027676,  35.31059197],\\n\",\n       \"        ..., \\n\",\n       \"        [ 44.10058135,  43.8139945 ,  43.50204997, ...,  42.79200923,\\n\",\n       \"          42.46908938,  42.18424781],\\n\",\n       \"        [ 43.92034495,  43.61468664,  43.30103441, ...,  42.6139226 ,\\n\",\n       \"          42.32034584,  42.01517437],\\n\",\n       \"        [ 44.03369297,  43.71493941,  43.41566069, ...,  42.70811157,\\n\",\n       \"          42.40436291,  42.15296897]]),\\n\",\n       \" array([[ 44.26824904,  44.22815477,  44.2189972 , ...,  44.12417068,\\n\",\n       \"          44.16232578,  44.12297489],\\n\",\n       \"        [ 43.86504688,  43.81346145,  43.79542729, ...,  43.81453745,\\n\",\n       \"          43.80092968,  43.78132118],\\n\",\n       \"        [ 44.17142766,  44.10927042,  44.07602426, ...,  44.01900881,\\n\",\n       \"          44.03224618,  44.05145594],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.95488639,  35.16294448,  35.49386909, ...,  35.56308703,\\n\",\n       \"          35.46595545,  35.52188355],\\n\",\n       \"        [ 36.1446683 ,  36.4019933 ,  36.67338125, ...,  36.68118139,\\n\",\n       \"          36.80819138,  36.84463694],\\n\",\n       \"        [ 35.82839891,  35.92646934,  36.05010142, ...,  36.31325315,\\n\",\n       \"          36.35564094,  36.41780309]])]\"\n      ]\n     },\n     \"execution_count\": 48,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract predictions. \\n\",\n    \"# `execute_viz` function appends predictions to `predictions_800_off`.\\n\",\n    \"execute_viz(steps=35)\\n\",\n    \"predictions_800_off\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"7000\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[7.9386586814575164,\\n\",\n       \" 7.9385203217998654,\\n\",\n       \" 7.924249146106483,\\n\",\n       \" 7.9012922230048002,\\n\",\n       \" 7.9694966896901072,\\n\",\n       \" 7.9379066283830166,\\n\",\n       \" 7.9033436487609698,\\n\",\n       \" 7.9624823177768214,\\n\",\n       \" 7.9797023821236319,\\n\",\n       \" 8.0022559969116571,\\n\",\n       \" 8.0346843791736688,\\n\",\n       \" 8.0165273954102201,\\n\",\n       \" 8.0478567389874343,\\n\",\n       \" 8.0175318531137716,\\n\",\n       \" 8.1207363588667363,\\n\",\n       \" 8.3027967645395577,\\n\",\n       \" 8.3830578303821088,\\n\",\n       \" 8.433113998415509,\\n\",\n       \" 8.3680978432868649,\\n\",\n       \" 8.3471882088960587,\\n\",\n       \" 8.1889879868111279,\\n\",\n       \" 8.1863491608515524,\\n\",\n       \" 8.4241681316139623,\\n\",\n       \" 8.418357801473503,\\n\",\n       \" 8.5213388551832345,\\n\",\n       \" 8.3832348535517571,\\n\",\n       \" 8.1961078162144627,\\n\",\n       \" 8.0712254420379281,\\n\",\n       \" 7.8577649445467834,\\n\",\n       \" 7.8242291698881647,\\n\",\n       \" 7.8212444345901204,\\n\",\n       \" 7.7634359328571501,\\n\",\n       \" 7.9755668055243518,\\n\",\n       \" 8.0341178823289692,\\n\",\n       \" 7.8730729840682745,\\n\",\n       \" 7.8744687301826684,\\n\",\n       \" 8.053238381571342,\\n\",\n       \" 8.0217328098924536,\\n\",\n       \" 8.0288730932490946,\\n\",\n       \" 7.7596041420852018,\\n\",\n       \" 7.4272558470725887,\\n\",\n       \" 7.6045342781236531,\\n\",\n       \" 7.5541483821835058,\\n\",\n       \" 7.6921907134941465,\\n\",\n       \" 7.8355729543313348,\\n\",\n       \" 7.5862038765559605,\\n\",\n       \" 7.3265133334045185,\\n\",\n       \" 7.3144934353553213,\\n\",\n       \" 7.3500829043810105,\\n\",\n       \" 7.3510859878584105,\\n\",\n       \" 7.4282522099924249,\\n\",\n       \" 7.37924055474861,\\n\",\n       \" 7.4078716362153223,\\n\",\n       \" 7.6956865693848453,\\n\",\n       \" 7.7665983163343082,\\n\",\n       \" 7.7437631679078303,\\n\",\n       \" 7.9610193388681854,\\n\",\n       \" 8.0008118350990696,\\n\",\n       \" 7.9373151329248639,\\n\",\n       \" 8.0235718872491102,\\n\",\n       \" 7.9163579791227132,\\n\",\n       \" 7.8450888166196311,\\n\",\n       \" 7.7645800745267728,\\n\",\n       \" 7.8200451803263924,\\n\",\n       \" 7.8416342933699266,\\n\",\n       \" 7.8434909561987745,\\n\",\n       \" 7.8382321920669131,\\n\",\n       \" 7.8685651108740355,\\n\",\n       \" 7.9846856131927062,\\n\",\n       \" 8.0088802813229911,\\n\",\n       \" 7.865448180200195,\\n\",\n       \" 7.9267289179245122,\\n\",\n       \" 7.8755502361625265,\\n\",\n       \" 7.7186662517603013,\\n\",\n       \" 7.9199563662611236,\\n\",\n       \" 7.9782845980081945,\\n\",\n       \" 7.9338153744603783,\\n\",\n       \" 7.9077209067781506,\\n\",\n       \" 7.8805941466182876,\\n\",\n       \" 7.804253716325892,\\n\",\n       \" 7.8490373611580342,\\n\",\n       \" 7.8753824102238852,\\n\",\n       \" 7.8915503700812,\\n\",\n       \" 7.877443173859108,\\n\",\n       \" 7.7895429137186358,\\n\",\n       \" 7.7513428027436122,\\n\",\n       \" 7.7149487495816276,\\n\",\n       \" 7.5523444523503853,\\n\",\n       \" 7.4303808282737211,\\n\",\n       \" 7.0821673891687666,\\n\",\n       \" 5.9677691947169427,\\n\",\n       \" 5.1362911464119145,\\n\",\n       \" 5.5574575276275731,\\n\",\n       \" 5.2818650930534563,\\n\",\n       \" 5.4744499091450667,\\n\",\n       \" 5.3094567735870584,\\n\",\n       \" 5.0301794949373013,\\n\",\n       \" 5.1123900154976303,\\n\",\n       \" 5.4867000687863783,\\n\",\n       \" 5.2783798151050974,\\n\",\n       \" 5.5429067215920238,\\n\",\n       \" 5.2856207494813647,\\n\",\n       \" 5.2600922736577882,\\n\",\n       \" 5.3795144576904841,\\n\",\n       \" 5.3226781806849388,\\n\",\n       \" 5.3103028948361795,\\n\",\n       \" 5.3168439182747154,\\n\",\n       \" 5.3543485747309898,\\n\",\n       \" 5.3950525100208226,\\n\",\n       \" 5.345318857173547,\\n\",\n       \" 5.3198220678787616,\\n\",\n       \" 5.4133559584263899,\\n\",\n       \" 5.3843395565582757,\\n\",\n       \" 5.5139377070660638,\\n\",\n       \" 5.6091792949613897,\\n\",\n       \" 5.6306767189261206,\\n\",\n       \" 5.7172608253593893,\\n\",\n       \" 5.7317686562106136,\\n\",\n       \" 5.7259383971371589,\\n\",\n       \" 5.492856834747605,\\n\",\n       \" 5.4135359809230312,\\n\",\n       \" 5.362572896424024,\\n\",\n       \" 5.3979066269629259,\\n\",\n       \" 5.4939663284969846,\\n\",\n       \" 5.6319808805005911,\\n\",\n       \" 5.6411152173746011,\\n\",\n       \" 5.6758521237026303,\\n\",\n       \" 5.5963907615876654,\\n\",\n       \" 5.7466509186675312,\\n\",\n       \" 5.6527778014805667,\\n\",\n       \" 5.5911499582756194,\\n\",\n       \" 5.5687781331245487,\\n\",\n       \" 5.436830255690305,\\n\",\n       \" 5.4554965703535103,\\n\",\n       \" 5.7195278095458084,\\n\",\n       \" 5.7427309518459584,\\n\",\n       \" 5.9606798799275227,\\n\",\n       \" 5.9384989424349897,\\n\",\n       \" 5.7778385648473565,\\n\",\n       \" 5.6901466393148805,\\n\",\n       \" 5.9579184804955743,\\n\",\n       \" 5.8436553203737107,\\n\",\n       \" 6.1517305136993015,\\n\",\n       \" 6.1555230756912005,\\n\",\n       \" 6.1184355998723934,\\n\",\n       \" 6.0827708197957993,\\n\",\n       \" 5.8898273456745862,\\n\",\n       \" 5.8970123526576721,\\n\",\n       \" 5.8540476000295616,\\n\",\n       \" 5.8947781345973125,\\n\",\n       \" 5.8988450139051256,\\n\",\n       \" 5.9144672991265015,\\n\",\n       \" 5.8782232003546042,\\n\",\n       \" 5.751470819801737,\\n\",\n       \" 5.6138833941332598,\\n\",\n       \" 5.7077101710774851,\\n\",\n       \" 5.8340908464301124,\\n\",\n       \" 5.8308013171332744,\\n\",\n       \" 5.8327581835573215,\\n\",\n       \" 5.8519904841862331,\\n\",\n       \" 6.0306902932743567,\\n\",\n       \" 5.9651639045282563,\\n\",\n       \" 5.9024180741927683,\\n\",\n       \" 5.905254944675784,\\n\",\n       \" 5.8274018484276713,\\n\",\n       \" 5.8672542702992745,\\n\",\n       \" 5.7672014808651406,\\n\",\n       \" 5.6255380091922573,\\n\",\n       \" 5.6900808085978474,\\n\",\n       \" 5.7491740048308451,\\n\",\n       \" 5.7679135053569599,\\n\",\n       \" 5.7921074313959346,\\n\",\n       \" 5.7529437138169861,\\n\",\n       \" 5.7453901557846443,\\n\",\n       \" 5.7549205739837044,\\n\",\n       \" 5.6990868193754816,\\n\",\n       \" 5.8251170153492167,\\n\",\n       \" 5.8273091752505657,\\n\",\n       \" 5.7601002273888726,\\n\",\n       \" 5.8233125011725528,\\n\",\n       \" 5.7657222040117455,\\n\",\n       \" 5.6902374599790972,\\n\",\n       \" 5.7354608350877712,\\n\",\n       \" 5.8177104411454748,\\n\",\n       \" 5.7374285740025925,\\n\",\n       \" 5.7577836964541582,\\n\",\n       \" 5.9131196878942065,\\n\",\n       \" 6.0303952627288453,\\n\",\n       \" 6.0860790674585017,\\n\",\n       \" 6.523352100466882,\\n\",\n       \" 6.5176956991855022,\\n\",\n       \" 6.3933007815776115,\\n\",\n       \" 6.3835975284975151,\\n\",\n       \" 6.4078502003894933,\\n\",\n       \" 6.3637590570703271,\\n\",\n       \" 6.5949673261789989,\\n\",\n       \" 6.5455806185616092,\\n\",\n       \" 6.4751872040984262,\\n\",\n       \" 6.5195002081104771,\\n\",\n       \" 6.3264696997486274,\\n\",\n       \" 6.0807016653319117,\\n\",\n       \" 6.1408127499487541,\\n\",\n       \" 6.219018322737476,\\n\",\n       \" 6.1846771780336889,\\n\",\n       \" 6.1968487923542526,\\n\",\n       \" 6.1407414692183888,\\n\",\n       \" 6.1799911998396553,\\n\",\n       \" 6.2249280967765133,\\n\",\n       \" 6.2936809105776534,\\n\",\n       \" 6.4090332930535974,\\n\",\n       \" 6.6308038648546219,\\n\",\n       \" 6.5138903921171174,\\n\",\n       \" 6.5528890032476212,\\n\",\n       \" 6.4015883914550091,\\n\",\n       \" 6.4307525014847942,\\n\",\n       \" 6.6354753933126718,\\n\",\n       \" 6.6776841894164463,\\n\",\n       \" 6.6257053006111022,\\n\",\n       \" 6.5979277591120677,\\n\",\n       \" 6.5177020655583062,\\n\",\n       \" 6.4639621922853854,\\n\",\n       \" 6.5929430396185502,\\n\",\n       \" 6.563617827386925,\\n\",\n       \" 6.5303849680219948,\\n\",\n       \" 6.4995593769216953,\\n\",\n       \" 6.4649624362380536,\\n\",\n       \" 6.5278670522895528,\\n\",\n       \" 6.3057793819307069,\\n\",\n       \" 6.3585309273105324,\\n\",\n       \" 6.3898301080010222,\\n\",\n       \" 6.4109942891001142,\\n\",\n       \" 6.4160272080079075,\\n\",\n       \" 6.3290462648771761,\\n\",\n       \" 6.3437505325128685,\\n\",\n       \" 6.4353914645100412,\\n\",\n       \" 6.3846107235843457,\\n\",\n       \" 6.3345204796076109,\\n\",\n       \" 6.1894686224716153,\\n\",\n       \" 6.2157073895180872,\\n\",\n       \" 6.2486000973397662,\\n\",\n       \" 6.2368927411923671,\\n\",\n       \" 6.3432386601776685,\\n\",\n       \" 6.3379977975373869,\\n\",\n       \" 6.2523736617222125,\\n\",\n       \" 6.2063880601390755,\\n\",\n       \" 6.2004624044192527,\\n\",\n       \" 6.2274621198667726,\\n\",\n       \" 6.1435489361737572,\\n\",\n       \" 6.2171136176098889,\\n\",\n       \" 6.2762419621511194,\\n\",\n       \" 6.2082569735496369,\\n\",\n       \" 6.2434735901984277,\\n\",\n       \" 6.2285656669525213,\\n\",\n       \" 6.339001638826165,\\n\",\n       \" 6.2277719563607379,\\n\",\n       \" 6.2288520447248956,\\n\",\n       \" 6.2365459050280343,\\n\",\n       \" 6.0893816610840972,\\n\",\n       \" 6.0374599279207759,\\n\",\n       \" 6.0264675246684556,\\n\",\n       \" 6.1137591008762504,\\n\",\n       \" 6.0592710923379505,\\n\",\n       \" 5.9711306319655613,\\n\",\n       \" 5.7513733266823639,\\n\",\n       \" 5.5097994661055463,\\n\",\n       \" 5.6962746683908954,\\n\",\n       \" 5.6915570017391728,\\n\",\n       \" 5.6848440041287835,\\n\",\n       \" 5.6832244978989124,\\n\",\n       \" 5.750705474799763,\\n\",\n       \" 5.8113211743784543,\\n\",\n       \" 5.8016871915600143,\\n\",\n       \" 5.7972938306995045,\\n\",\n       \" 5.7972083706741921,\\n\",\n       \" 5.6453255228951784,\\n\",\n       \" 5.6749863348097422,\\n\",\n       \" 5.6996741266188975,\\n\",\n       \" 5.5675009534560509,\\n\",\n       \" 5.6021289487784047,\\n\",\n       \" 5.6022023704383761,\\n\",\n       \" 5.7929905942999023,\\n\",\n       \" 5.7600080508509617,\\n\",\n       \" 5.6803857091223806,\\n\",\n       \" 5.7001653286947382,\\n\",\n       \" 5.628053946210775,\\n\",\n       \" 5.7397504025018833,\\n\",\n       \" 5.7488611551852298,\\n\",\n       \" 5.7884776433347263,\\n\",\n       \" 5.7606480893760974,\\n\",\n       \" 5.7232441999062003,\\n\",\n       \" 5.7390025629080252,\\n\",\n       \" 5.6898914943350904,\\n\",\n       \" 5.5913404105092237,\\n\",\n       \" 5.6429359360509661,\\n\",\n       \" 5.6245308816441879,\\n\",\n       \" 5.521229202338322,\\n\",\n       \" 5.6702633627264429,\\n\",\n       \" 5.6416480607131669,\\n\",\n       \" 5.5986566920550347,\\n\",\n       \" 5.6172741720165718,\\n\",\n       \" 5.623086217458237,\\n\",\n       \" 5.6246064977859165,\\n\",\n       \" 5.6653931448466528,\\n\",\n       \" 5.4608227015679969,\\n\",\n       \" 5.3966586488185202,\\n\",\n       \" 5.4289511411185103,\\n\",\n       \" 5.2875078547393901,\\n\",\n       \" 5.2847054810112235,\\n\",\n       \" 5.3373680496133895,\\n\",\n       \" 5.2762810454534268,\\n\",\n       \" 5.2750734296384039,\\n\",\n       \" 5.1959823860369054,\\n\",\n       \" 5.2827342978803458,\\n\",\n       \" 5.4710139571842973,\\n\",\n       \" 5.3300835355799663,\\n\",\n       \" 5.2970530689830815,\\n\",\n       \" 5.2985848476817736,\\n\",\n       \" 5.3305227087546792,\\n\",\n       \" 5.3663885542906495,\\n\",\n       \" 5.3759541957048853,\\n\",\n       \" 5.4322736425101743,\\n\",\n       \" 5.4220898474720185,\\n\",\n       \" 5.3905230414398773,\\n\",\n       \" 5.4458845984162574,\\n\",\n       \" 5.4705876696812235,\\n\",\n       \" 5.3943082767618771,\\n\",\n       \" 5.4052406528858148,\\n\",\n       \" 5.4362040742190922,\\n\",\n       \" 5.4640939263392863,\\n\",\n       \" 5.4051135025701749,\\n\",\n       \" 5.4741070501629476,\\n\",\n       \" 5.3940804759505001,\\n\",\n       \" 5.2765852999039407,\\n\",\n       \" 5.2367939145239086,\\n\",\n       \" 5.3135569615141129,\\n\",\n       \" 5.3711115812887265,\\n\",\n       \" 5.3801967917752913,\\n\",\n       \" 5.3885632691395839,\\n\",\n       \" 5.3309693678326386,\\n\",\n       \" 5.2689932543645357,\\n\",\n       \" 5.3557540160890884,\\n\",\n       \" 5.5215502002634196,\\n\",\n       \" 5.6763469115788743,\\n\",\n       \" 5.6275036264298288,\\n\",\n       \" 5.5790831372201453,\\n\",\n       \" 5.5845116651871987,\\n\",\n       \" 5.5322635927423747,\\n\",\n       \" 5.4275658988016069,\\n\",\n       \" 5.55966343140968,\\n\",\n       \" 5.6129061682784309,\\n\",\n       \" 5.6316581658716416,\\n\",\n       \" 5.6462540778406192,\\n\",\n       \" 5.598136919296274,\\n\",\n       \" 5.6571348286246561,\\n\",\n       \" 5.6359001873908632,\\n\",\n       \" 5.7277202299609788,\\n\",\n       \" 5.6740846350932692,\\n\",\n       \" 5.6799922954066577,\\n\",\n       \" 5.7594643478485308,\\n\",\n       \" 5.7271271693549277,\\n\",\n       \" 5.7967246479761405,\\n\",\n       \" 5.6902957053480048,\\n\",\n       \" 5.7481933912333032,\\n\",\n       \" 5.776096557452461,\\n\",\n       \" 5.7617121849113948,\\n\",\n       \" 5.8393455241629351,\\n\",\n       \" 5.80851365580238,\\n\",\n       \" 5.7061651224700221,\\n\",\n       \" 5.7463001838894643,\\n\",\n       \" 5.8459095214973518,\\n\",\n       \" 5.8129708972445027,\\n\",\n       \" 5.7289537224283746,\\n\",\n       \" 5.7635394830243891,\\n\",\n       \" 5.7798753607785249,\\n\",\n       \" 5.760361358559452,\\n\",\n       \" 5.7352354078773384,\\n\",\n       \" 5.8116352347282767,\\n\",\n       \" 5.8429041999416764,\\n\",\n       \" 5.8151036523615378,\\n\",\n       \" 5.78702086082113,\\n\",\n       \" 5.8210950505819294,\\n\",\n       \" 5.8882420455009639,\\n\",\n       \" 5.8628804827773484,\\n\",\n       \" 6.0480230583435945,\\n\",\n       \" 6.0152743474266623,\\n\",\n       \" 6.0384255844887509,\\n\",\n       \" 6.0212276415691575,\\n\",\n       \" 5.9373441582168853,\\n\",\n       \" 5.9386898388109204,\\n\",\n       \" 5.7265774770612952,\\n\",\n       \" 5.8058124065141357,\\n\",\n       \" 5.8309416828753804,\\n\",\n       \" 5.806825128711198,\\n\",\n       \" 5.8609904639039865,\\n\",\n       \" 5.8103033501851673,\\n\",\n       \" 5.899075710547133,\\n\",\n       \" 5.8957817233608933,\\n\",\n       \" 5.8774063086352131,\\n\",\n       \" 5.8863750678935238,\\n\",\n       \" 5.9047815232695564,\\n\",\n       \" 5.8772748371652774,\\n\",\n       \" 5.9080492770719681,\\n\",\n       \" 5.9553407787211086,\\n\",\n       \" 5.9539213164617859,\\n\",\n       \" 5.9474931006010614,\\n\",\n       \" 5.8824304350302858,\\n\",\n       \" 5.9246357303227732,\\n\",\n       \" 5.9966512718277771,\\n\",\n       \" 6.1830447741650625,\\n\",\n       \" 6.1328495597379868,\\n\",\n       \" 6.1648144070294419,\\n\",\n       \" 6.0655478905435771,\\n\",\n       \" 6.1017832651817727,\\n\",\n       \" 6.1675802992967839,\\n\",\n       \" 6.31166827776266,\\n\",\n       \" 6.3916595515334285,\\n\",\n       \" 6.2929588458907384,\\n\",\n       \" 6.2468526458728455,\\n\",\n       \" 6.2573973153866271,\\n\",\n       \" 6.1080822368652887,\\n\",\n       \" 6.1801817058435908,\\n\",\n       \" 6.1874435542180333,\\n\",\n       \" 6.1350554316167294,\\n\",\n       \" 6.0669973296916986,\\n\",\n       \" 6.0475437364201925,\\n\",\n       \" 6.1625560989227237,\\n\",\n       \" 6.2144637250854933,\\n\",\n       \" 6.1360530433596248,\\n\",\n       \" 6.1616971499738726,\\n\",\n       \" 6.162973598717806,\\n\",\n       \" 6.0741678423814678,\\n\",\n       \" 6.0596716303603868,\\n\",\n       \" 6.0415228476100937,\\n\",\n       \" 6.0584859422238981,\\n\",\n       \" 6.0317058123404124,\\n\",\n       \" 5.9932926460257168,\\n\",\n       \" 6.0560413661011907,\\n\",\n       \" 6.0989702709130871,\\n\",\n       \" 6.2309670013660554,\\n\",\n       \" 6.2005731621493752,\\n\",\n       \" 6.165409758191255,\\n\",\n       \" 6.1311294067934936,\\n\",\n       \" 6.0906456841662697,\\n\",\n       \" 6.1555500785503412,\\n\",\n       \" 6.2323054704055867,\\n\",\n       \" 6.4881160956818604,\\n\",\n       \" 6.6342351373521016,\\n\",\n       \" 6.4570445412912933,\\n\",\n       \" 6.374866042053406,\\n\",\n       \" 6.4308433625467396,\\n\",\n       \" 6.3734370573236641,\\n\",\n       \" 6.403447253121584,\\n\",\n       \" 6.436265969918189,\\n\",\n       \" 6.3590009819059148,\\n\",\n       \" 6.3961207763580941,\\n\",\n       \" 6.1724201549414683,\\n\",\n       \" 6.2769197073061669,\\n\",\n       \" 6.2851321353926437,\\n\",\n       \" 6.3128169127219014,\\n\",\n       \" 6.3081045394587481,\\n\",\n       \" 6.1950091414851673,\\n\",\n       \" 6.1408556719668068,\\n\",\n       \" 6.0633621949316598,\\n\",\n       \" 6.0881970236622189,\\n\",\n       \" 6.1073369206643013,\\n\",\n       \" 5.9588693113440678,\\n\",\n       \" 6.1175907639469376,\\n\",\n       \" 6.1372956140145734,\\n\",\n       \" 6.2946030931079147,\\n\",\n       \" 6.3439360660854538,\\n\",\n       \" 6.2612379585117202,\\n\",\n       \" 6.2581080316719033,\\n\",\n       \" 6.2563896000018691,\\n\",\n       \" 6.2072595691211578,\\n\",\n       \" 6.3080575540291051,\\n\",\n       \" 6.3459910132352366,\\n\",\n       \" 6.3501889363780117,\\n\",\n       \" 6.3105526963978145,\\n\",\n       \" 6.2589070066815893,\\n\",\n       \" 6.2311725027310167,\\n\",\n       \" 6.2194414241635601,\\n\",\n       \" 6.2260806644232733,\\n\",\n       \" 6.064356694106241,\\n\",\n       \" 6.0569670539878011,\\n\",\n       \" 6.0360820200847431,\\n\",\n       \" 6.0306526347561622,\\n\",\n       \" 6.10963306558555,\\n\",\n       \" 6.1197242278900479,\\n\",\n       \" 6.0840258823582527,\\n\",\n       \" 6.0907413639358587,\\n\",\n       \" 6.1439408348711586,\\n\",\n       \" 6.1601605760088054,\\n\",\n       \" 6.0746815738915974,\\n\",\n       \" 5.8478758489596752,\\n\",\n       \" 5.9261799695037238,\\n\",\n       \" 5.9563496161725427,\\n\",\n       \" 5.9888011699820742,\\n\",\n       \" 5.9312195708763165,\\n\",\n       \" 5.9706724129626032,\\n\",\n       \" 5.9933024864740227,\\n\",\n       \" 5.9867673200914338,\\n\",\n       \" 5.8462362349739472,\\n\",\n       \" 5.9601537526648034,\\n\",\n       \" 5.9947582922473552,\\n\",\n       \" 6.003057420843751,\\n\",\n       \" 5.9846443000312544,\\n\",\n       \" 5.9730104266088659,\\n\",\n       \" 5.9523187593356379,\\n\",\n       \" 5.9463690122944595,\\n\",\n       \" 5.9744223995801935,\\n\",\n       \" 5.939786744728857,\\n\",\n       \" 5.9826215361874091,\\n\",\n       \" 5.939582759766612,\\n\",\n       \" 5.9888134963242665,\\n\",\n       \" 6.0360791469381807,\\n\",\n       \" 6.0211579926374652,\\n\",\n       \" 6.0288817551633125,\\n\",\n       \" 6.2414042550326423,\\n\",\n       \" 6.187163845104128,\\n\",\n       \" 6.0519093619819317,\\n\",\n       \" 6.0220627521113963,\\n\",\n       \" 6.1415191929752213,\\n\",\n       \" 6.2190798550543382,\\n\",\n       \" 6.1596585446123315,\\n\",\n       \" 6.3441677016418678,\\n\",\n       \" 6.3298115176501053,\\n\",\n       \" 6.4282979048325384,\\n\",\n       \" 6.424476408727922,\\n\",\n       \" 6.3926797855142894,\\n\",\n       \" 6.3964736095324044,\\n\",\n       \" 6.4309222704303508,\\n\",\n       \" 6.4470428619492104,\\n\",\n       \" 6.597800571524612,\\n\",\n       \" 6.5303882717602022,\\n\",\n       \" 6.5082277797125911,\\n\",\n       \" 6.4270857231766456,\\n\",\n       \" 6.4280481825694959,\\n\",\n       \" 6.4917677985204172,\\n\",\n       \" 6.5034166775764621,\\n\",\n       \" 6.5314044539772151,\\n\",\n       \" 6.4837296606382804,\\n\",\n       \" 6.454390809817399,\\n\",\n       \" 6.4916832355943601,\\n\",\n       \" 6.3007656633067493,\\n\",\n       \" 6.3505162371615906,\\n\",\n       \" 6.3777252483749614,\\n\",\n       \" 6.4000177307712267,\\n\",\n       \" 6.3744653862664533,\\n\",\n       \" 6.3526573477015882,\\n\",\n       \" 6.2204218426367976,\\n\",\n       \" 6.1601168553797816,\\n\",\n       \" 6.1357619573139441,\\n\",\n       \" 6.2557727237074658,\\n\",\n       \" 6.167742089596838,\\n\",\n       \" 6.2587492973828391,\\n\",\n       \" 6.1016104108795437,\\n\",\n       \" 6.1198442383635463,\\n\",\n       \" 6.1495833296504987,\\n\",\n       \" 6.2104622960501796,\\n\",\n       \" 6.3339111604633027,\\n\",\n       \" 6.2809282570745042,\\n\",\n       \" 6.2876242414388512,\\n\",\n       \" 6.2570788764030008,\\n\",\n       \" 6.2033487804901064,\\n\",\n       \" 6.2705460448924306,\\n\",\n       \" 6.2850656101178455,\\n\",\n       \" 6.2239789058183588,\\n\",\n       \" 6.3938717421479074,\\n\",\n       \" 6.5437888896406857,\\n\",\n       \" 6.4274379632568737,\\n\",\n       \" 6.4566503260158292,\\n\",\n       \" 6.5911292572436331,\\n\",\n       \" 6.5176506312491016,\\n\",\n       \" 6.4449942789804293,\\n\",\n       \" 6.5680941377072877,\\n\",\n       \" 6.4967225254631238,\\n\",\n       \" 6.5211041469949542,\\n\",\n       \" 6.5064621824467359,\\n\",\n       \" 6.480709131233116,\\n\",\n       \" 6.4566845587051755,\\n\",\n       \" 6.442262406589645,\\n\",\n       \" 6.4255759662780054,\\n\",\n       \" 6.2656812077390098,\\n\",\n       \" 6.3326998793779747,\\n\",\n       \" 6.3605331189005687,\\n\",\n       \" 6.4384627842288777,\\n\",\n       \" 6.4182529242340722,\\n\",\n       \" 6.3521926479634994,\\n\",\n       \" 6.3548838182060834,\\n\",\n       \" 6.2062493660098026,\\n\",\n       \" 6.1227534193402322,\\n\",\n       \" 6.1735780907244342,\\n\",\n       \" 6.257880580049517,\\n\",\n       \" 6.1715395829319775,\\n\",\n       \" 6.0964155135202915,\\n\",\n       \" 6.0253029706579264,\\n\",\n       \" 6.2279525671036495,\\n\",\n       \" 6.2832281365796092,\\n\",\n       \" 6.2449293342950511,\\n\",\n       \" 6.2961635274504477,\\n\",\n       \" 6.1546491347218293,\\n\",\n       \" 6.1829646029905909,\\n\",\n       \" 5.8795387296098784,\\n\",\n       \" 5.865635708643282,\\n\",\n       \" 5.9808970294014356,\\n\",\n       \" 6.1233726326465199,\\n\",\n       \" 6.1475733627792479,\\n\",\n       \" 6.1234137034614715,\\n\",\n       \" 6.1820172411545045,\\n\",\n       \" 6.110953603406112,\\n\",\n       \" 6.2301473140168921,\\n\",\n       \" 6.2909630759115895,\\n\",\n       \" 6.2296161049651513,\\n\",\n       \" 6.2549459330259936,\\n\",\n       \" 6.2373482726972096,\\n\",\n       \" 6.2483758660354063,\\n\",\n       \" 6.2136703788104803,\\n\",\n       \" 6.2104630252886199,\\n\",\n       \" 6.2273990415426388,\\n\",\n       \" 6.1087535952540319,\\n\",\n       \" 6.1529684320528553,\\n\",\n       \" 6.2322211056114236,\\n\",\n       \" 6.3655802441960807,\\n\",\n       \" 6.3948997516109243,\\n\",\n       \" 6.4151474712194867,\\n\",\n       \" 6.3925188418026853,\\n\",\n       \" 6.3981933492676948,\\n\",\n       \" 6.4473398997059395,\\n\",\n       \" 6.4744905381026641,\\n\",\n       \" 6.5274246800210474,\\n\",\n       \" 6.6117935320756445,\\n\",\n       \" 6.7194849132268351,\\n\",\n       \" 6.9065916735152806,\\n\",\n       \" 6.8569523133756771,\\n\",\n       \" 7.093649832044397,\\n\",\n       \" 7.1146614486597333,\\n\",\n       \" 6.959046564567581,\\n\",\n       \" 6.8971847300462166,\\n\",\n       \" 6.8718920640936894,\\n\",\n       \" 6.8892431482389771,\\n\",\n       \" 6.9093609232819713,\\n\",\n       \" 6.9342292846106615,\\n\",\n       \" 6.9050223003563289,\\n\",\n       \" 6.9568955928567116,\\n\",\n       \" 7.0621991213880539,\\n\",\n       \" 7.0144742262601563,\\n\",\n       \" 7.0902069086374846,\\n\",\n       \" 7.0928409263184173,\\n\",\n       \" 7.1213566373017265,\\n\",\n       \" 7.1094460551202339,\\n\",\n       \" 7.1264856050282752,\\n\",\n       \" 7.1652686399345962,\\n\",\n       \" 7.1338122136285271,\\n\",\n       \" 7.0767649887730579,\\n\",\n       \" 7.1709408285468967,\\n\",\n       \" 7.0153013499499597,\\n\",\n       \" 6.9989558882842946,\\n\",\n       \" 7.0219877913103499,\\n\",\n       \" 7.0231120950138726,\\n\",\n       \" 6.9636665248807326,\\n\",\n       \" 6.9282749508431589,\\n\",\n       \" 6.7439350370019371,\\n\",\n       \" 6.7192000359220172,\\n\",\n       \" 6.6714688249428402,\\n\",\n       \" 6.8086869327901827,\\n\",\n       \" 7.0141874165476148,\\n\",\n       \" 7.2015380502578346,\\n\",\n       \" 7.2104397327448781,\\n\",\n       \" 7.4097307244234658,\\n\",\n       \" 7.4994811937661714,\\n\",\n       \" 7.5383955652596217,\\n\",\n       \" 7.5257598243247159,\\n\",\n       \" 7.4643927526662219,\\n\",\n       \" 7.419925051358887,\\n\",\n       \" 7.4250818221390835,\\n\",\n       \" 7.3873811927391833,\\n\",\n       \" 7.2617188504588261,\\n\",\n       \" 7.3738386857080407,\\n\",\n       \" 7.4131889877389785,\\n\",\n       \" 7.6126550414636469,\\n\",\n       \" 7.5654094819681772,\\n\",\n       \" 7.5157908776454461,\\n\",\n       \" 7.4497562244839779,\\n\",\n       \" 7.493839352409922,\\n\",\n       \" 7.3213402218210568,\\n\",\n       \" 7.3789381935771532,\\n\",\n       \" 7.4106714634786703,\\n\",\n       \" 7.3807416312214471,\\n\",\n       \" 7.3334474425140224,\\n\",\n       \" 7.3750624522642534,\\n\",\n       \" 7.1372007727528706,\\n\",\n       \" 7.1606881584684707,\\n\",\n       \" 7.1803672350699816,\\n\",\n       \" 7.3255470613039817,\\n\",\n       \" 6.9943591433109242,\\n\",\n       \" 6.9732675095448213,\\n\",\n       \" 6.8783565835878377,\\n\",\n       \" 6.98031341771956,\\n\",\n       \" 7.0696330413615396,\\n\",\n       \" 7.1607723114095014,\\n\",\n       \" 7.0449926166276597,\\n\",\n       \" 7.0414901962793346,\\n\",\n       \" 6.9804239710971157,\\n\",\n       \" 6.9562096900860082,\\n\",\n       \" 7.0210273090914965,\\n\",\n       \" 7.09478413240039,\\n\",\n       \" 7.012461803934074,\\n\",\n       \" 7.0590005713322466,\\n\",\n       \" 7.0127664831919914,\\n\",\n       \" 6.9826575725121636,\\n\",\n       \" 6.7550987187868294,\\n\",\n       \" 6.8455421117176369,\\n\",\n       \" 6.8003112684943243,\\n\",\n       \" 6.8145724087410535,\\n\",\n       \" 6.7527017284933013,\\n\",\n       \" 6.7705005164856784,\\n\",\n       \" 6.7455740696794591,\\n\",\n       \" 6.7090450939173296,\\n\",\n       \" 6.8174593561024039,\\n\",\n       \" 6.7561050422959914,\\n\",\n       \" 6.7685896090459821,\\n\",\n       \" 6.7212441360700428,\\n\",\n       \" 6.708807593216064,\\n\",\n       \" 6.7271014922594778,\\n\",\n       \" 6.6292978617777898,\\n\",\n       \" 6.6781841107789504,\\n\",\n       \" 6.6371342050968041,\\n\",\n       \" 6.5761833234625202,\\n\",\n       \" 6.4605090722697485,\\n\",\n       \" 6.4744029638508964,\\n\",\n       \" 6.5284606295299801,\\n\",\n       \" 6.6373386089196691,\\n\",\n       \" 6.7138169997656982,\\n\",\n       \" 6.9934142385080982,\\n\",\n       \" 7.0033428700723244,\\n\",\n       \" 6.9731492025766002,\\n\",\n       \" 6.903985690267298,\\n\",\n       \" 6.7763511117355106,\\n\",\n       \" 6.9286200126673725,\\n\",\n       \" 7.1000447927499133,\\n\",\n       \" 7.09345535511933,\\n\",\n       \" 7.2090938424918161,\\n\",\n       \" 7.3875787563479705,\\n\",\n       \" 7.2690978663524817,\\n\",\n       \" 7.0616455045616044,\\n\",\n       \" 7.2840816049333386,\\n\",\n       \" 7.1494006615636714,\\n\",\n       \" 7.0909212815348575,\\n\",\n       \" 6.9756315987328001,\\n\",\n       \" 7.1271611782983575,\\n\",\n       \" 7.3403473742641054,\\n\",\n       \" 7.2331691094700741,\\n\",\n       \" 7.2989727139133107,\\n\",\n       \" 7.2774514255596436,\\n\",\n       \" 7.1840288370307857,\\n\",\n       \" 7.0735299963138605,\\n\",\n       \" 7.0574518530785344,\\n\",\n       \" 7.0548456751269599,\\n\",\n       \" 7.0500731962669914,\\n\",\n       \" 7.1972686558377195,\\n\",\n       \" 7.3031413984761011,\\n\",\n       \" 7.3132245486697238,\\n\",\n       \" 7.2868563605187724,\\n\",\n       \" 7.1813517379585132,\\n\",\n       \" 7.2056567321774807,\\n\",\n       \" 7.2221203604976587,\\n\",\n       \" 7.303063402287032,\\n\",\n       \" 7.249336357764383,\\n\",\n       \" 7.3215974293986239,\\n\",\n       \" 7.3465744795495835,\\n\",\n       \" 7.2623125996367914,\\n\",\n       \" 7.1832045239247577,\\n\",\n       \" 7.2110622174023407,\\n\",\n       \" 7.2747432344764427,\\n\",\n       \" 7.2988475355933025,\\n\",\n       \" 7.2356259413900874,\\n\",\n       \" 7.3840689407557019,\\n\",\n       \" 7.4877323004681422,\\n\",\n       \" 7.4430426064260899,\\n\",\n       \" 7.547895511610589,\\n\",\n       \" 7.853534332512754,\\n\",\n       \" 7.8830789750244366,\\n\",\n       \" 7.9047336433194486,\\n\",\n       \" 7.8181639151809526,\\n\",\n       \" 7.7530848964388044,\\n\",\n       \" 7.7092626693515918,\\n\",\n       \" 7.7095797684844971,\\n\",\n       \" 7.7309297661935092,\\n\",\n       \" 8.0600143476631736,\\n\",\n       \" 8.0258230337079368,\\n\",\n       \" 7.9327871394336968,\\n\",\n       \" 7.9057457729556697,\\n\",\n       \" 7.9818310553921803,\\n\",\n       \" 8.0143330004230258,\\n\",\n       \" 8.1754728516629527,\\n\",\n       \" 8.7407287580604791,\\n\",\n       \" 8.7995995090737971,\\n\",\n       \" 8.867927942283929,\\n\",\n       \" 8.6887842580518946,\\n\",\n       \" 8.6983989242566118,\\n\",\n       \" 8.6945500631580295,\\n\",\n       \" 8.8441087150870885,\\n\",\n       \" 8.7258164661630744,\\n\",\n       \" 8.8024823054114449,\\n\",\n       \" 8.7787939745095258,\\n\",\n       \" 9.1172342120167613,\\n\",\n       \" 9.2680542237316139,\\n\",\n       \" 9.1650955209006391,\\n\",\n       \" 9.1386373110298855,\\n\",\n       \" 9.1268413609690526,\\n\",\n       \" 9.1291268207320435,\\n\",\n       \" 8.6960030096486172,\\n\",\n       \" 8.4810024645889115,\\n\",\n       \" 8.706283715671649,\\n\",\n       \" 8.5742443320341302,\\n\",\n       \" 8.6031961396124572,\\n\",\n       \" 8.7541019859943603,\\n\",\n       \" 8.8981049343881047,\\n\",\n       \" 9.1199557942662679,\\n\",\n       \" 9.0634315212467769,\\n\",\n       \" 9.0170817804556229,\\n\",\n       \" 8.936251707707612,\\n\",\n       \" 8.8447979331690725,\\n\",\n       \" 8.8924510671958963,\\n\",\n       \" 8.7791685153324366,\\n\",\n       \" 8.8370720416319664,\\n\",\n       \" 8.9438054404963623,\\n\",\n       \" 9.0455691462537509,\\n\",\n       \" 8.9756613136340881,\\n\",\n       \" 8.9782988128879637,\\n\",\n       \" 8.7991923503918912,\\n\",\n       \" 8.8319758268649018,\\n\",\n       \" 8.5466183148245918,\\n\",\n       \" 8.4355524888700018,\\n\",\n       \" 8.3217873270650173,\\n\",\n       \" 8.2988388549950294,\\n\",\n       \" 8.3065803960319577,\\n\",\n       \" 8.4021592910978384,\\n\",\n       \" 8.5870749537099229,\\n\",\n       \" 8.6557881491832518,\\n\",\n       \" 9.0317099927321145,\\n\",\n       \" 9.3410479073250805,\\n\",\n       \" 9.257132790073296,\\n\",\n       \" 9.1141185430142784,\\n\",\n       \" 9.0238654242010554,\\n\",\n       \" 8.9053677378521812,\\n\",\n       \" 8.7573052001405713,\\n\",\n       \" 8.5919558075387883,\\n\",\n       \" 8.5357095650479451,\\n\",\n       \" 8.5705348340574652,\\n\",\n       \" 8.5261801217514801,\\n\",\n       \" 8.455678023573725,\\n\",\n       \" 8.5249425070290421,\\n\",\n       \" 8.5236222570150524,\\n\",\n       \" 8.503959955965918,\\n\",\n       \" 8.4779948267985503,\\n\",\n       \" 8.5056881023953892,\\n\",\n       \" 8.5034824896200227,\\n\",\n       \" 8.4185489627222019,\\n\",\n       \" 8.3965397334449214,\\n\",\n       \" 8.4227469652387406,\\n\",\n       \" 8.6334553104145435,\\n\",\n       \" 8.5475481715345403,\\n\",\n       \" 8.6156735357205285,\\n\",\n       \" 8.4874570101510827,\\n\",\n       \" 8.5989568750146859,\\n\",\n       \" 8.4999619685108208,\\n\",\n       \" 8.4278022041539309,\\n\",\n       \" 8.2926979585328304,\\n\",\n       \" 8.2191610967032283,\\n\",\n       \" 8.2553098502367348,\\n\",\n       \" 8.3580209656298372,\\n\",\n       \" 8.3849307979197505,\\n\",\n       \" 8.5128770984646316,\\n\",\n       \" 8.6936671450390151,\\n\",\n       \" 8.7351396771845877,\\n\",\n       \" 8.9359409027146697,\\n\",\n       \" 8.7476072646596776,\\n\",\n       \" 8.760362013563892,\\n\",\n       \" 8.7813559838988837,\\n\",\n       \" 8.7019480478778419,\\n\",\n       \" 8.5962504827029846,\\n\",\n       \" 8.3097775815425656,\\n\",\n       \" 8.314351872071196,\\n\",\n       \" 8.3332544217005697,\\n\",\n       \" 8.177403143787636,\\n\",\n       \" 8.0370736920569641,\\n\",\n       \" 7.9955316026275227,\\n\",\n       \" 8.1135286130677589,\\n\",\n       \" 8.0999295185881248,\\n\",\n       \" 8.1323977424668836,\\n\",\n       \" 8.353558473235843,\\n\",\n       \" 8.3627913457939798,\\n\",\n       \" 8.2982673496554327,\\n\",\n       \" 8.239889751083922,\\n\",\n       \" 8.2794388368821039,\\n\",\n       \" 8.3151318186046659,\\n\",\n       \" 8.2878949770880226,\\n\",\n       \" 8.3145224376038662,\\n\",\n       \" 8.3217347747334678,\\n\",\n       \" 8.361261606969169,\\n\",\n       \" 8.2482657385797076,\\n\",\n       \" 8.1191631477612169,\\n\",\n       \" 8.0100525958385624,\\n\",\n       \" 7.9554902189860819,\\n\",\n       \" 7.9742993581720665,\\n\",\n       \" 7.8767152934545601,\\n\",\n       \" 7.9164994418923085,\\n\",\n       \" 7.9365820129852329,\\n\",\n       \" 7.9045451847957189,\\n\",\n       \" 7.8760165254064036,\\n\",\n       \" 7.7042965921734918,\\n\",\n       \" 7.6322132401307998,\\n\",\n       \" 7.4676383587877524,\\n\",\n       \" 7.5858334540930628,\\n\",\n       \" 7.5291781811296907,\\n\",\n       \" 7.6096179559688855,\\n\",\n       \" 7.630509550688771,\\n\",\n       \" 7.6094201957988741,\\n\",\n       \" 7.6641815079352149,\\n\",\n       \" 7.6848412585378814,\\n\",\n       \" 7.8911170276009788,\\n\",\n       \" 7.8190718466675859,\\n\",\n       \" 7.8330305627793999,\\n\",\n       \" 7.9387218052772308,\\n\",\n       \" 8.1745324941517552,\\n\",\n       \" 8.384695869685924,\\n\",\n       \" 8.3652442732570798,\\n\",\n       \" 8.398681958037912,\\n\",\n       \" 8.2744982214506173,\\n\",\n       \" 8.1104570473939859,\\n\",\n       \" 8.0677158919087297,\\n\",\n       \" 7.9424607383238817,\\n\",\n       \" 8.0678176000176194,\\n\",\n       \" 8.0501612723240346,\\n\",\n       \" 8.1853794404798172,\\n\",\n       \" 8.2151225058013857,\\n\",\n       \" 8.246360084538626,\\n\",\n       \" 8.1941068591003763,\\n\",\n       \" 8.4321177951631796,\\n\",\n       \" 8.4877223086359805,\\n\",\n       \" 8.4042422357193338,\\n\",\n       \" 8.3366053381759251,\\n\",\n       \" 8.4219905782303037,\\n\",\n       \" 8.397206008853054,\\n\",\n       \" 8.3405830860297705,\\n\",\n       \" 8.3534836349673398,\\n\",\n       \" 8.3344084410325863,\\n\",\n       \" 8.3679514733665776,\\n\",\n       \" 8.2150060140943069,\\n\",\n       \" 8.2782100074905181,\\n\",\n       \" 8.0397544097686939,\\n\",\n       \" 7.8083451503724639,\\n\",\n       \" 7.7759904510853541,\\n\",\n       \" 7.7659556863017114,\\n\",\n       \" 7.8816910861271836,\\n\",\n       \" 7.8284873779591297,\\n\",\n       \" 7.7491053833361532,\\n\",\n       \" 7.7384166631877536,\\n\",\n       \" 7.7749151618182237,\\n\",\n       \" 7.6598817571314335,\\n\",\n       \" 7.7044720656557004,\\n\",\n       \" 7.802719627179008,\\n\",\n       \" 7.826875388505754,\\n\",\n       \" 7.8818001021853403,\\n\",\n       \" 7.8003511199652689,\\n\",\n       \" 7.857051034205834,\\n\",\n       \" 7.7864747767375251,\\n\",\n       \" 7.7862678309626165,\\n\",\n       \" 8.133128993505311,\\n\",\n       \" 8.2698183444256976,\\n\",\n       \" 8.4167558575348203,\\n\",\n       \" 8.383077049640633,\\n\",\n       \" 8.3904754222121767,\\n\",\n       \" 8.1992277975189083,\\n\",\n       \" 7.9908745958752458,\\n\",\n       \" 7.7943533392336741,\\n\",\n       \" 7.8640805782897685,\\n\",\n       \" 7.7894779972708088,\\n\",\n       \" 7.709607920105328,\\n\",\n       \" 7.8026737473801102,\\n\",\n       \" 7.777483277159015,\\n\",\n       \" 7.8719721434556789,\\n\",\n       \" 7.9582558942923693,\\n\",\n       \" 8.1224926189577289,\\n\",\n       \" 8.0170409399506521,\\n\",\n       \" 8.0704090637939032,\\n\",\n       \" 8.079237085478379,\\n\",\n       \" 7.8730172640258562,\\n\",\n       \" 7.958210582937153,\\n\",\n       \" 7.8145807161893641,\\n\",\n       \" 7.7035187304274677,\\n\",\n       \" 7.5795677889528887,\\n\",\n       \" 7.5396208640973876,\\n\",\n       \" 7.653805772717047,\\n\",\n       \" 7.3691106847887298,\\n\",\n       \" 7.5347701137935541,\\n\",\n       \" 7.6050346596434109,\\n\",\n       \" 7.4913792400688708,\\n\",\n       \" 7.5104684964167978,\\n\",\n       \" ...]\"\n      ]\n     },\n     \"execution_count\": 49,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Put all 7-days-ahead predictions into an array\\n\",\n    \"predictions_800_7thday = []\\n\",\n    \"for array in predictions_800_off:\\n\",\n    \"    for week_prediction in array:\\n\",\n    \"        predictions_800_7thday.append(week_prediction[6]) \\n\",\n    \"print len(predictions_800_7thday)\\n\",\n    \"predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Prepare dataframe for visualisation\\n\",\n    \"# There are 7000 predictions\\n\",\n    \"bp_final_predictions = bp_ftse[800+6:806+7000]\\n\",\n    \"bp_final_predictions.loc[:,'7d Ahead Pred'] = predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x11eb3c8d0>\"\n      ]\n     },\n     \"execution_count\": 51,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nKcj/A8gycsG+fw1+AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11eb40a10>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual adjusted close prices\\n\",\n    \"bp_final_predictions.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 53,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x11cbfde10>\"\n      ]\n     },\n     \"execution_count\": 53,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11cc39550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual prices\\n\",\n    \"# Only first 200 predictions\\n\",\n    \"bp_preds_200 = bp_final_predictions[:200]\\n\",\n    \"bp_preds_200.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"anaconda-cloud\": {},\n  \"kernelspec\": {\n   \"display_name\": \"Python [python2.7]\",\n   \"language\": \"python\",\n   \"name\": \"Python [python2.7]\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/3-methodology-results-conclusion-code-py3.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model but are nice for visualisations\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Oil Stocks\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"print(\\\"Oil stocks in DF: \\\", oil_stocks_in_df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract GAIA data\\n\",\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and GAIA data start intersecting \\n\",\n    \"# i.e. date = 1999-10-29\\n\",\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Read in FTSE100 data\\n\",\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"\\n\",\n    \"# Preview data\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sort FTSE100 data by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Check index of row where BP and FTSE data start intersecting \\n\",\n    \"# i.e. date = 1984-04-02\\n\",\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Adds FTSE data to BP dataframe, joining at dates\\n\",\n    \"\\n\",\n    \"# FTSE columns we want to copy to BP dataframe\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']    \\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the FTSE row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"bp_counter = 0\\n\",\n    \"ftse_counter = 0\\n\",\n    \"while ftse_counter < len(sorted_ftse100):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start + bp_counter, 'Date']\\n\",\n    \"    ftse_date = sorted_ftse100.loc[ftse_start - ftse_counter, 'Date']\\n\",\n    \"    if bp_date == ftse_date:\\n\",\n    \"        # Add FTSE data to BP row\\n\",\n    \"        for col in ftse_data_to_copy:\\n\",\n    \"            bp.loc[bp_ftse_start + bp_counter, 'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start - ftse_counter,'%s' % str(col)]\\n\",\n    \"        # FTSE counter + 1, BP counter + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    elif bp_date < ftse_date:\\n\",\n    \"        # Move to next BP row, same FTSE row and repeat\\n\",\n    \"        bp_counter += 1\\n\",\n    \"    elif bp_date > ftse_date:\\n\",\n    \"        # Move to next FTSE row, same BP row and repeat\\n\",\n    \"        ftse_counter += 1\\n\",\n    \"    else:\\n\",\n    \"        print(\\\"Error: BP date is \\\", bp_date, \\\"; FTSE date is \\\", ftse_date)\\n\",\n    \"        # FTSE row + 1, BP row + 1\\n\",\n    \"        bp_counter += 1\\n\",\n    \"        ftse_counter += 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1984-04-27\\n\",\n      \"1984-05-02\\n\",\n      \"1984-05-07\\n\",\n      \"1984-05-29\\n\",\n      \"1984-08-27\\n\",\n      \"1984-12-26\\n\",\n      \"1985-04-08\\n\",\n      \"1985-05-06\\n\",\n      \"1985-08-26\\n\",\n      \"1985-12-26\\n\",\n      \"1986-03-31\\n\",\n      \"1986-05-05\\n\",\n      \"1986-08-25\\n\",\n      \"1986-12-26\\n\",\n      \"1987-04-20\\n\",\n      \"1987-05-04\\n\",\n      \"1987-08-31\\n\",\n      \"1987-12-28\\n\",\n      \"1988-04-04\\n\",\n      \"1988-05-02\\n\",\n      \"1988-08-29\\n\",\n      \"1988-12-27\\n\",\n      \"1989-03-27\\n\",\n      \"1989-05-01\\n\",\n      \"1989-08-28\\n\",\n      \"1989-12-26\\n\",\n      \"1990-04-16\\n\",\n      \"1990-05-07\\n\",\n      \"1990-08-27\\n\",\n      \"1990-12-26\\n\",\n      \"1991-04-01\\n\",\n      \"1991-05-06\\n\",\n      \"1991-08-26\\n\",\n      \"1991-12-26\\n\",\n      \"1992-04-20\\n\",\n      \"1992-05-04\\n\",\n      \"1992-08-31\\n\",\n      \"1992-12-28\\n\",\n      \"1993-04-12\\n\",\n      \"1993-05-03\\n\",\n      \"1993-08-30\\n\",\n      \"1993-12-27\\n\",\n      \"1993-12-28\\n\",\n      \"1994-01-03\\n\",\n      \"1994-04-04\\n\",\n      \"1994-05-02\\n\",\n      \"1994-08-29\\n\",\n      \"1994-12-27\\n\",\n      \"1995-04-17\\n\",\n      \"1995-05-08\\n\",\n      \"1995-08-28\\n\",\n      \"1995-12-26\\n\",\n      \"1996-04-08\\n\",\n      \"1996-05-06\\n\",\n      \"1996-08-26\\n\",\n      \"1996-12-26\\n\",\n      \"1997-03-31\\n\",\n      \"1997-05-05\\n\",\n      \"1997-08-25\\n\",\n      \"1997-12-26\\n\",\n      \"1998-04-13\\n\",\n      \"1998-05-04\\n\",\n      \"1998-08-31\\n\",\n      \"1998-12-28\\n\",\n      \"1998-12-31\\n\",\n      \"1999-04-05\\n\",\n      \"1999-05-03\\n\",\n      \"1999-08-30\\n\",\n      \"1999-12-27\\n\",\n      \"1999-12-28\\n\",\n      \"1999-12-31\\n\",\n      \"2000-01-03\\n\",\n      \"2000-04-24\\n\",\n      \"2000-05-01\\n\",\n      \"2000-08-28\\n\",\n      \"2000-12-26\\n\",\n      \"2001-04-16\\n\",\n      \"2001-05-07\\n\",\n      \"2001-08-27\\n\",\n      \"2001-12-26\\n\",\n      \"2002-04-01\\n\",\n      \"2002-05-06\\n\",\n      \"2002-06-03\\n\",\n      \"2002-06-04\\n\",\n      \"2002-08-26\\n\",\n      \"2002-12-26\\n\",\n      \"2003-04-21\\n\",\n      \"2003-05-05\\n\",\n      \"2003-08-25\\n\",\n      \"2003-12-26\\n\",\n      \"2004-04-12\\n\",\n      \"2004-05-03\\n\",\n      \"2004-08-30\\n\",\n      \"2004-12-27\\n\",\n      \"2004-12-28\\n\",\n      \"2005-01-03\\n\",\n      \"2005-03-28\\n\",\n      \"2005-05-02\\n\",\n      \"2005-08-29\\n\",\n      \"2005-12-27\\n\",\n      \"2006-04-17\\n\",\n      \"2006-05-01\\n\",\n      \"2006-08-28\\n\",\n      \"2006-12-26\\n\",\n      \"2007-04-09\\n\",\n      \"2007-05-07\\n\",\n      \"2007-08-27\\n\",\n      \"2007-12-26\\n\",\n      \"2008-03-24\\n\",\n      \"2008-05-05\\n\",\n      \"2008-08-25\\n\",\n      \"2008-12-26\\n\",\n      \"2009-03-27\\n\",\n      \"2009-04-13\\n\",\n      \"2009-05-04\\n\",\n      \"2009-06-25\\n\",\n      \"2009-08-11\\n\",\n      \"2009-08-31\\n\",\n      \"2009-09-02\\n\",\n      \"2009-12-28\\n\",\n      \"2010-04-05\\n\",\n      \"2010-04-19\\n\",\n      \"2010-04-20\\n\",\n      \"2010-05-03\\n\",\n      \"2010-05-12\\n\",\n      \"2010-08-30\\n\",\n      \"2010-12-27\\n\",\n      \"2010-12-28\\n\",\n      \"2011-01-03\\n\",\n      \"2011-04-25\\n\",\n      \"2011-04-29\\n\",\n      \"2011-05-02\\n\",\n      \"2011-08-29\\n\",\n      \"2011-12-27\\n\",\n      \"2012-04-09\\n\",\n      \"2012-05-07\\n\",\n      \"2012-06-04\\n\",\n      \"2012-06-05\\n\",\n      \"2012-08-27\\n\",\n      \"2012-12-26\\n\",\n      \"2013-04-01\\n\",\n      \"2013-05-06\\n\",\n      \"2013-08-26\\n\",\n      \"2013-09-23\\n\",\n      \"2013-12-26\\n\",\n      \"2014-04-21\\n\",\n      \"2014-05-05\\n\",\n      \"2014-08-25\\n\",\n      \"2014-12-26\\n\",\n      \"2015-01-02\\n\",\n      \"2015-04-06\\n\",\n      \"2015-05-04\\n\",\n      \"2015-08-31\\n\",\n      \"2015-12-17\\n\",\n      \"2015-12-28\\n\",\n      \"2016-03-28\\n\",\n      \"2016-05-02\\n\",\n      \"2016-08-29\\n\",\n      \"NaNs:  158\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Count and display NaNs in FTSE data \\n\",\n    \"# i.e. dates where we have BP but not FTSE data\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Proxy remaining FTSE NaNs by taking the mean of the prices in the \\n\",\n    \"# two closest trading days where data is available \\n\",\n    \"# (one before, one after the day)\\n\",\n    \"ftse_data_to_average = ['Open', 'High', 'Low', 'Close']    \\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        if not (pd.isnull(bp.loc[bp_ftse_start+row-1, 'FTSE Date']) or pd.isnull(bp.loc[bp_ftse_start+row+1, 'FTSE Date'])):\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\\n\",\n    \"        else:\\n\",\n    \"            go_back = 0\\n\",\n    \"            go_forward = 0\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row-1-go_back, 'FTSE Date']):\\n\",\n    \"                go_back += 1\\n\",\n    \"            while pd.isnull(bp.loc[bp_ftse_start+row+1+go_forward, 'FTSE Date']):\\n\",\n    \"                go_forward += 1\\n\",\n    \"            for col in ftse_data_to_average:\\n\",\n    \"                    bp.loc[bp_ftse_start+row,'FTSE %s' % str(col)] = np.mean([float(bp.loc[bp_ftse_start+row-1-go_back,'FTSE %s' % str(col)]), float(bp.loc[bp_ftse_start+row+1+go_forward,'FTSE %s' % str(col)])])\\n\",\n    \"            bp.loc[bp_ftse_start+row,'FTSE Date'] = bp.loc[bp_ftse_start+row, 'Date']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"NaNs:  0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Check there are no more NaNs\\n\",\n    \"nan_counter = 0\\n\",\n    \"for row in range(len(bp.loc[bp_ftse_start:])):\\n\",\n    \"    if pd.isnull(bp.loc[bp_ftse_start+row, 'FTSE Date']):\\n\",\n    \"        print(bp.loc[bp_ftse_start+row, 'Date'])\\n\",\n    \"        nan_counter += 1\\n\",\n    \"print(\\\"NaNs: \\\", nan_counter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    print(\\\"X.tail: \\\", X.tail())\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"X_train = []\\n\",\n    \"X_test = []\\n\",\n    \"y_train = []\\n\",\n    \"y_test = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2)) * 100\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print(\\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred))\\n\",\n    \"    print(\\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred))\\n\",\n    \"    print(\\\"Explained Variance Score: \\\", explained_variance_score(test, pred))\\n\",\n    \"    print(\\\"Mean Squared Error: \\\", mean_squared_error(test, pred))\\n\",\n    \"    print(\\\"R2 score: \\\", r2_score(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Initialise variables to prevent errors\\n\",\n    \"days = 7\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    # Lines below for debugging purposes\\n\",\n    \"#    print(\\\"X_train.head(): \\\", X_train.head())\\n\",\n    \"#    print(\\\"X_train.tail(): \\\", X_train.tail())\\n\",\n    \"#    print(\\\"Pred: \\\", pred[:5])\\n\",\n    \"#    print(\\\"Test: \\\", y_test[:5])\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print(\\\"# Days used to predict: %s\\\" % str(days))\\n\",\n    \"    print(\\\"\\\\n%s-day predictions\\\" % str(target_days)) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"def execute(steps=8, buffer_step=1000, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test(days=days, periods=periods, buffer=buffer)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.35177309038\\n\",\n      \"Explained Variance Score:  -0.999897657081\\n\",\n      \"Mean Squared Error:  5.3988704324\\n\",\n      \"R2 score:  -1.79018260924\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0968047690639\\n\",\n      \"Explained Variance Score:  0.631705385589\\n\",\n      \"Mean Squared Error:  0.0157858151181\\n\",\n      \"R2 score:  0.624974281171\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.121813762853\\n\",\n      \"Explained Variance Score:  0.841217523638\\n\",\n      \"Mean Squared Error:  0.0294876156146\\n\",\n      \"R2 score:  0.833996914272\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.426327931115\\n\",\n      \"Explained Variance Score:  0.603248858424\\n\",\n      \"Mean Squared Error:  0.3014216695\\n\",\n      \"R2 score:  0.267021281001\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  2.78950172548\\n\",\n      \"Explained Variance Score:  -3.16904684367\\n\",\n      \"Mean Squared Error:  12.5284487756\\n\",\n      \"R2 score:  -9.15605753784\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794150514869\\n\",\n      \"Explained Variance Score:  0.596407090489\\n\",\n      \"Mean Squared Error:  1.14332478592\\n\",\n      \"R2 score:  0.597101359913\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  4.81075475134\\n\",\n      \"Explained Variance Score:  -1.96163694244\\n\",\n      \"Mean Squared Error:  33.132880399\\n\",\n      \"R2 score:  -8.55239322845\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.21013490927\\n\",\n      \"Explained Variance Score:  0.826791346825\\n\",\n      \"Mean Squared Error:  2.43831676478\\n\",\n      \"R2 score:  0.822383271832\\n\",\n      \"Errors:  [Day 0    28.167307\\n\",\n      \"Day 1    28.524924\\n\",\n      \"Day 2    28.966326\\n\",\n      \"Day 3    29.085697\\n\",\n      \"Day 4    29.562881\\n\",\n      \"Day 5    29.542482\\n\",\n      \"Day 6    29.721120\\n\",\n      \"dtype: float64, Day 0    1.446326\\n\",\n      \"Day 1    2.115084\\n\",\n      \"Day 2    2.502362\\n\",\n      \"Day 3    2.806399\\n\",\n      \"Day 4    3.021869\\n\",\n      \"Day 5    3.152251\\n\",\n      \"Day 6    3.306352\\n\",\n      \"dtype: float64, Day 0    1.401569\\n\",\n      \"Day 1    1.990419\\n\",\n      \"Day 2    2.310976\\n\",\n      \"Day 3    2.707712\\n\",\n      \"Day 4    3.029154\\n\",\n      \"Day 5    3.480718\\n\",\n      \"Day 6    4.190305\\n\",\n      \"dtype: float64, Day 0    10.765716\\n\",\n      \"Day 1     9.977779\\n\",\n      \"Day 2    10.480972\\n\",\n      \"Day 3    10.557943\\n\",\n      \"Day 4    10.431970\\n\",\n      \"Day 5    10.593415\\n\",\n      \"Day 6    11.104379\\n\",\n      \"dtype: float64, Day 0    24.413648\\n\",\n      \"Day 1    24.431345\\n\",\n      \"Day 2    24.620150\\n\",\n      \"Day 3    24.986822\\n\",\n      \"Day 4    25.272567\\n\",\n      \"Day 5    26.220903\\n\",\n      \"Day 6    26.731233\\n\",\n      \"dtype: float64, Day 0    2.597679\\n\",\n      \"Day 1    3.367362\\n\",\n      \"Day 2    3.785014\\n\",\n      \"Day 3    4.180193\\n\",\n      \"Day 4    4.650065\\n\",\n      \"Day 5    5.069221\\n\",\n      \"Day 6    5.459985\\n\",\n      \"dtype: float64, Day 0    18.495641\\n\",\n      \"Day 1    18.324528\\n\",\n      \"Day 2    18.233121\\n\",\n      \"Day 3    18.358887\\n\",\n      \"Day 4    18.479670\\n\",\n      \"Day 5    18.598393\\n\",\n      \"Day 6    18.818123\\n\",\n      \"dtype: float64, Day 0    2.551664\\n\",\n      \"Day 1    2.944616\\n\",\n      \"Day 2    3.188068\\n\",\n      \"Day 3    3.490439\\n\",\n      \"Day 4    4.139285\\n\",\n      \"Day 5    4.675935\\n\",\n      \"Day 6    5.151598\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[28.167307082010478, 1.4463260128939317, 1.4015691053772388, 10.765715566952402, 24.41364846412203, 2.5976792674283566, 18.495640626302091, 2.5516641001831584], [28.524924281544262, 2.1150843700255639, 1.9904192071209452, 9.9777793095670795, 24.431344729424715, 3.367362298621531, 18.32452824442602, 2.9446157412542853], [28.966326367296624, 2.5023622771613652, 2.3109755963471068, 10.480972016930716, 24.620149855164474, 3.7850136112690573, 18.233121169601173, 3.1880683026068426], [29.085697436318398, 2.8063986750089587, 2.7077120693474366, 10.557942877986475, 24.986822088443628, 4.1801925531737281, 18.358886996507305, 3.4904393628985919], [29.562881417844032, 3.021868557170595, 3.0291535073135702, 10.431970367583759, 25.272566808380592, 4.6500648454107214, 18.479669548458453, 4.1392852048533699], [29.542482156287058, 3.1522506324077977, 3.4807177473584945, 10.593414589800933, 26.220902712818216, 5.0692206066914274, 18.598393316146357, 4.6759345302063018], [29.721120149448151, 3.3063521749028761, 4.1903047240177909, 11.1043790016977, 26.731233491624817, 5.4599845932349131, 18.818122838439312, 5.1515982900107735]]\\n\",\n      \"Mean daily error:  [11.229943778158709, 11.45950727274805, 11.76087364954717, 12.021761507460564, 12.323432532126887, 12.666664536464573, 13.060386907922041]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# svm.SVR() trial\\n\",\n    \"execute(model=svm.SVR(), steps=8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-04  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-05  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-06   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-07  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-08  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-04   8.36703  7.28654  \\n\",\n      \"1979-10-05   8.36703  7.28654  \\n\",\n      \"1979-10-06   8.36703  7.55926  \\n\",\n      \"1979-10-07   8.36703   7.5728  \\n\",\n      \"1979-10-08   8.36703   7.5728  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.238191228204\\n\",\n      \"Explained Variance Score:  0.936734586453\\n\",\n      \"Mean Squared Error:  0.124174009044\\n\",\n      \"R2 score:  0.935825805621\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-20  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-09-21  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-09-22  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-09-23  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-09-24  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-20   4.60613   4.3459  \\n\",\n      \"1983-09-21   4.60613   4.3459  \\n\",\n      \"1983-09-22   4.56762   4.3459  \\n\",\n      \"1983-09-23   4.47602   4.3459  \\n\",\n      \"1983-09-24   4.47602   4.3459  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0972692755964\\n\",\n      \"Explained Variance Score:  0.631714378075\\n\",\n      \"Mean Squared Error:  0.0158811529743\\n\",\n      \"R2 score:  0.622709326982\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-01  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-02  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-03  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-04  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-05   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-01   5.82054  5.63511  \\n\",\n      \"1987-09-02   5.82054  5.66069  \\n\",\n      \"1987-09-03   5.82054  5.66069  \\n\",\n      \"1987-09-04   5.82054  5.66069  \\n\",\n      \"1987-09-05   5.78111  5.62126  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107737269091\\n\",\n      \"Explained Variance Score:  0.871650317662\\n\",\n      \"Mean Squared Error:  0.0228261083752\\n\",\n      \"R2 score:  0.871498446163\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-15  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-16  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-17  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-18  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-19  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-15   5.27306  4.98956  \\n\",\n      \"1991-08-16   5.24471  4.98956  \\n\",\n      \"1991-08-17   5.24471  4.91925  \\n\",\n      \"1991-08-18   5.15966  4.90451  \\n\",\n      \"1991-08-19   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.181147312912\\n\",\n      \"Explained Variance Score:  0.875052508652\\n\",\n      \"Mean Squared Error:  0.0677040810751\\n\",\n      \"R2 score:  0.835361370336\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-07-29  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-07-30  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-07-31  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-01  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-02   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-07-29   15.5178  14.9311  \\n\",\n      \"1995-07-30   15.5178  15.0191  \\n\",\n      \"1995-07-31   15.5178  14.9463  \\n\",\n      \"1995-08-01   15.5178  14.9463  \\n\",\n      \"1995-08-02   15.5178  14.9463  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214491478056\\n\",\n      \"Explained Variance Score:  0.938634248613\\n\",\n      \"Mean Squared Error:  0.079359261295\\n\",\n      \"R2 score:  0.935668234886\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-14  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-15  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-16  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-17  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-18  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-14   26.9387   25.811  \\n\",\n      \"1999-07-15    27.064   25.811  \\n\",\n      \"1999-07-16    27.064   25.811  \\n\",\n      \"1999-07-17    27.064  25.9664  \\n\",\n      \"1999-07-18    27.064  25.9664  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.800157764607\\n\",\n      \"Explained Variance Score:  0.613715850639\\n\",\n      \"Mean Squared Error:  1.11699089039\\n\",\n      \"R2 score:  0.606381217067\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-01  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-02  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-03  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-04  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-05  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-01   33.4066  32.0187  \\n\",\n      \"2003-07-02   33.8597  32.5005  \\n\",\n      \"2003-07-03   33.8597  32.7585  \\n\",\n      \"2003-07-04   33.8597  32.7585  \\n\",\n      \"2003-07-05   33.8597  32.7585  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.64399497304\\n\",\n      \"Explained Variance Score:  0.892268550448\\n\",\n      \"Mean Squared Error:  0.724194775999\\n\",\n      \"R2 score:  0.791210628505\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-06-27  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-06-28  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-06-29  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-06-30  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-01  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-06-27   36.4526  33.3928  \\n\",\n      \"2007-06-28   36.4327  33.2401  \\n\",\n      \"2007-06-29   36.4327  32.8884  \\n\",\n      \"2007-06-30   36.4327  32.8884  \\n\",\n      \"2007-07-01   37.6275  32.8884  \\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.05035951615\\n\",\n      \"Explained Variance Score:  0.867777620914\\n\",\n      \"Mean Squared Error:  1.93149720042\\n\",\n      \"R2 score:  0.859302032386\\n\",\n      \"Errors:  [Day 0    2.369857\\n\",\n      \"Day 1    3.539729\\n\",\n      \"Day 2    4.404081\\n\",\n      \"Day 3    5.132370\\n\",\n      \"Day 4    5.718413\\n\",\n      \"Day 5    6.339923\\n\",\n      \"Day 6    6.862234\\n\",\n      \"dtype: float64, Day 0    1.411261\\n\",\n      \"Day 1    2.099209\\n\",\n      \"Day 2    2.492156\\n\",\n      \"Day 3    2.767121\\n\",\n      \"Day 4    2.969721\\n\",\n      \"Day 5    3.139624\\n\",\n      \"Day 6    3.285597\\n\",\n      \"dtype: float64, Day 0    1.338860\\n\",\n      \"Day 1    1.882735\\n\",\n      \"Day 2    2.176457\\n\",\n      \"Day 3    2.554395\\n\",\n      \"Day 4    2.843576\\n\",\n      \"Day 5    3.084358\\n\",\n      \"Day 6    3.344442\\n\",\n      \"dtype: float64, Day 0    1.997873\\n\",\n      \"Day 1    2.991666\\n\",\n      \"Day 2    3.824330\\n\",\n      \"Day 3    4.528282\\n\",\n      \"Day 4    5.220002\\n\",\n      \"Day 5    5.889516\\n\",\n      \"Day 6    6.417219\\n\",\n      \"dtype: float64, Day 0    1.064327\\n\",\n      \"Day 1    1.558506\\n\",\n      \"Day 2    1.913337\\n\",\n      \"Day 3    2.200144\\n\",\n      \"Day 4    2.461305\\n\",\n      \"Day 5    2.661754\\n\",\n      \"Day 6    2.843053\\n\",\n      \"dtype: float64, Day 0    2.172660\\n\",\n      \"Day 1    3.101301\\n\",\n      \"Day 2    3.769762\\n\",\n      \"Day 3    4.208003\\n\",\n      \"Day 4    4.624586\\n\",\n      \"Day 5    5.019688\\n\",\n      \"Day 6    5.462962\\n\",\n      \"dtype: float64, Day 0    1.209646\\n\",\n      \"Day 1    1.848543\\n\",\n      \"Day 2    2.309345\\n\",\n      \"Day 3    2.682355\\n\",\n      \"Day 4    3.087367\\n\",\n      \"Day 5    3.476793\\n\",\n      \"Day 6    3.888381\\n\",\n      \"dtype: float64, Day 0    1.785155\\n\",\n      \"Day 1    2.357558\\n\",\n      \"Day 2    2.855159\\n\",\n      \"Day 3    3.184456\\n\",\n      \"Day 4    3.743482\\n\",\n      \"Day 5    4.226666\\n\",\n      \"Day 6    4.613958\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3698570333111504, 1.4112606385290734, 1.3388596770845407, 1.9978731488987438, 1.0643274139994094, 2.1726600714614435, 1.2096456519754599, 1.7851545701577813], [3.5397290828630266, 2.0992094906568943, 1.8827346495576485, 2.9916658848423605, 1.5585063699310966, 3.1013013471389437, 1.8485430242142713, 2.3575578468241742], [4.4040805111224612, 2.4921560557064821, 2.1764572183007651, 3.8243303952515619, 1.9133366253171493, 3.7697615623429668, 2.3093446670878617, 2.8551593057497877], [5.1323698739556516, 2.7671208137147856, 2.5543948404668759, 4.5282824168670546, 2.2001438159343518, 4.2080025337986378, 2.6823554175829778, 3.1844563168900706], [5.7184126896356871, 2.9697212352907276, 2.8435756292022925, 5.2200020876609496, 2.4613047808963091, 4.6245858986274824, 3.0873673748688937, 3.7434820521423369], [6.3399233706097196, 3.1396242770876306, 3.0843584513004441, 5.8895164465804859, 2.661753553657308, 5.0196880611640164, 3.4767926237582256, 4.2266657488609063], [6.8622343672731771, 3.2855971145088323, 3.3444418914677345, 6.4172185016832541, 2.843053391214541, 5.462962469783192, 3.8883808398183208, 4.6139581254374233]]\\n\",\n      \"Mean daily error:  [1.6687047756772002, 2.4224059620035518, 2.9680782926098792, 3.4071407536513005, 3.8335564685405847, 4.2297903166273416, 4.5897308376483092]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Linear Regression trial\\n\",\n    \"execute(steps=8)\\n\",\n    \"\\n\",\n    \"# R2 scores: [0.859, 0.791, 0.606, 0.936, 0.835, 0.871, 0.623, 0.936]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\",\n    \"\\n\",\n    \"No change in performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2 Feature Selection\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.1 Adding more of the same type of features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-09  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-10  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"1979-10-11  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-12  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1979-10-09  7.67689  7.59882  7.72894   8.36703  7.28654  \\n\",\n      \"1979-10-10  7.69042  7.67689  7.59882   8.36703  7.28654  \\n\",\n      \"1979-10-11  7.67689  7.69042  7.67689   8.36703  7.55926  \\n\",\n      \"1979-10-12   7.9111  7.67689  7.69042   8.36703  7.53428  \\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689   8.36703  7.53428  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.245263403626\\n\",\n      \"Explained Variance Score:  0.934491328873\\n\",\n      \"Mean Squared Error:  0.129280801098\\n\",\n      \"R2 score:  0.933454012643\\n\",\n      \"Buffer:  700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-07-15  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104  5.80321   \\n\",\n      \"1982-07-16   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309  5.62104   \\n\",\n      \"1982-07-17  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558  5.67309   \\n\",\n      \"1982-07-18  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502  5.68558   \\n\",\n      \"1982-07-19  5.15262  5.10058  5.24423   5.3733  5.52944  5.55651  5.59502   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1982-07-15  5.89377   5.9073  5.77718   5.95935  5.50446  \\n\",\n      \"1982-07-16  5.80321  5.89377   5.9073   5.95935  5.30876  \\n\",\n      \"1982-07-17  5.62104  5.80321  5.89377   5.95935  5.24423  \\n\",\n      \"1982-07-18  5.67309  5.62104  5.80321   5.89377  5.08809  \\n\",\n      \"1982-07-19  5.68558  5.67309  5.62104   5.82923  5.06102  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173300277596\\n\",\n      \"Explained Variance Score:  0.888815416717\\n\",\n      \"Mean Squared Error:  0.0490251778494\\n\",\n      \"R2 score:  0.883431428434\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-04-24  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   4.6967   \\n\",\n      \"1985-04-25  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842  4.71023   \\n\",\n      \"1985-04-26  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   4.6842   \\n\",\n      \"1985-04-27  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   4.6842   \\n\",\n      \"1985-04-28  4.21578  4.29385  4.37192  4.47602  4.51557  4.61967   4.5926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1985-04-24  4.72376   4.6967  4.72376   4.74874  4.50204  \\n\",\n      \"1985-04-25   4.6967  4.72376   4.6967   4.74874  4.44999  \\n\",\n      \"1985-04-26  4.71023   4.6967  4.72376   4.73625  4.35943  \\n\",\n      \"1985-04-27   4.6842  4.71023   4.6967   4.72376  4.26783  \\n\",\n      \"1985-04-28   4.6842   4.6842  4.71023   4.72376  4.21578  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.119108631048\\n\",\n      \"Explained Variance Score:  0.711899830922\\n\",\n      \"Mean Squared Error:  0.0289413179188\\n\",\n      \"R2 score:  0.708651146753\\n\",\n      \"Buffer:  2100\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-28  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682  6.23485   \\n\",\n      \"1988-01-29    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   6.1682   \\n\",\n      \"1988-01-30   6.2886    6.194  6.10048  5.95321   6.0865  6.10048  6.11445   \\n\",\n      \"1988-01-31  6.34235   6.2886    6.194  6.10048  5.95321   6.0865  6.10048   \\n\",\n      \"1988-02-01   6.3015  6.34235   6.2886    6.194  6.10048  5.95321   6.0865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1988-01-28  6.31547  6.34235   6.2757   6.34235  5.93923  \\n\",\n      \"1988-01-29  6.23485  6.31547  6.34235   6.34235  5.93923  \\n\",\n      \"1988-01-30   6.1682  6.23485  6.31547   6.32945  5.93923  \\n\",\n      \"1988-01-31  6.11445   6.1682  6.23485   6.35525  5.93923  \\n\",\n      \"1988-02-01  6.10048  6.11445   6.1682    6.3961  5.93923  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0952769269966\\n\",\n      \"Explained Variance Score:  0.871507295966\\n\",\n      \"Mean Squared Error:  0.0159940255259\\n\",\n      \"R2 score:  0.870509426232\\n\",\n      \"Buffer:  2800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-11-07  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226  6.98862   \\n\",\n      \"1990-11-08  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702  7.21226   \\n\",\n      \"1990-11-09  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862  7.08702   \\n\",\n      \"1990-11-10   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862  6.98862   \\n\",\n      \"1990-11-11  6.98862   6.9752  7.00204  7.04453  7.21226  7.16977  6.98862   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1990-11-07  6.91929  7.01658  6.86338   7.22567  6.80748  \\n\",\n      \"1990-11-08  6.98862  6.91929  7.01658   7.22567  6.80748  \\n\",\n      \"1990-11-09  7.21226  6.98862  6.91929   7.22567  6.80748  \\n\",\n      \"1990-11-10  7.08702  7.21226  6.98862   7.22567  6.80748  \\n\",\n      \"1990-11-11  6.98862  7.08702  7.21226   7.22567  6.80748  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.144183713669\\n\",\n      \"Explained Variance Score:  0.723639903735\\n\",\n      \"Mean Squared Error:  0.0348028136176\\n\",\n      \"R2 score:  0.713646708273\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-11  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-12  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"1993-08-13   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-14  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-15   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1993-08-11  9.36866  9.29831  9.29831    9.3998  9.00997  \\n\",\n      \"1993-08-12  9.21296  9.36866  9.29831   9.47131  9.00997  \\n\",\n      \"1993-08-13  9.11146  9.21296  9.36866   9.70198  9.00997  \\n\",\n      \"1993-08-14  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-15   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.175887097751\\n\",\n      \"Explained Variance Score:  0.887963498445\\n\",\n      \"Mean Squared Error:  0.0551035235759\\n\",\n      \"R2 score:  0.867615685704\\n\",\n      \"Buffer:  4200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1996-05-18  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776  19.2888   \\n\",\n      \"1996-05-19  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691  18.8776   \\n\",\n      \"1996-05-20  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252  19.0691   \\n\",\n      \"1996-05-21  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826  19.5252   \\n\",\n      \"1996-05-22  20.0734  20.4279  20.3239  19.7922  19.2605  19.0832  19.4826   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1996-05-18  19.4235  19.6291  19.6008   19.7473  18.8327  \\n\",\n      \"1996-05-19  19.2888  19.4235  19.6291   19.9553  18.8327  \\n\",\n      \"1996-05-20  18.8776  19.2888  19.4235   20.3381  18.8327  \\n\",\n      \"1996-05-21  19.0691  18.8776  19.2888   20.6193  18.8327  \\n\",\n      \"1996-05-22  19.5252  19.0691  18.8776   20.6193  18.8327  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.338537070406\\n\",\n      \"Explained Variance Score:  0.880567104974\\n\",\n      \"Mean Squared Error:  0.199301427398\\n\",\n      \"R2 score:  0.878296105939\\n\",\n      \"Buffer:  4900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-02-25  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   25.869   \\n\",\n      \"1999-02-26  27.2306  26.8147  27.0771  26.1463  26.3344    27.29  26.8889   \\n\",\n      \"1999-02-27   26.676  27.2306  26.8147  27.0771  26.1463  26.3344    27.29   \\n\",\n      \"1999-02-28  26.5934   26.676  27.2306  26.8147  27.0771  26.1463  26.3344   \\n\",\n      \"1999-03-01  27.0567  26.5934   26.676  27.2306  26.8147  27.0771  26.1463   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"1999-02-25  25.6215   25.468  25.3739    27.384  24.8145  \\n\",\n      \"1999-02-26   25.869  25.6215   25.468    27.384  25.1907  \\n\",\n      \"1999-02-27  26.8889   25.869  25.6215    27.384  25.3096  \\n\",\n      \"1999-02-28    27.29  26.8889   25.869    27.384  25.4383  \\n\",\n      \"1999-03-01  26.3344    27.29  26.8889    27.384  26.0522  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.79987099583\\n\",\n      \"Explained Variance Score:  0.713699257351\\n\",\n      \"Mean Squared Error:  1.14286865075\\n\",\n      \"R2 score:  0.709731902283\\n\",\n      \"Buffer:  5600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-12-05  20.6998   20.841  21.0692  21.2803  21.3878  21.4792  20.6785   \\n\",\n      \"2001-12-06  21.3353  20.6998   20.841  21.0692  21.2803  21.3878  21.4792   \\n\",\n      \"2001-12-07  21.3679  21.3353  20.6998   20.841  21.0692  21.2803  21.3878   \\n\",\n      \"2001-12-08  21.3299  21.3679  21.3353  20.6998   20.841  21.0692  21.2803   \\n\",\n      \"2001-12-09  21.2375  21.3299  21.3679  21.3353  20.6998   20.841  21.0692   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2001-12-05  20.6677  20.8934  20.7161   21.5437  20.4119  \\n\",\n      \"2001-12-06  20.6785  20.6677  20.8934   21.5437  20.4119  \\n\",\n      \"2001-12-07  21.4792  20.6785  20.6677   21.5437  20.4119  \\n\",\n      \"2001-12-08  21.3878  21.4792  20.6785   21.5437  20.4119  \\n\",\n      \"2001-12-09  21.2803  21.3878  21.4792   21.5437  20.4119  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.841030573229\\n\",\n      \"Explained Variance Score:  0.823346393459\\n\",\n      \"Mean Squared Error:  1.23605771115\\n\",\n      \"R2 score:  0.721970087336\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2004-09-17  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684  39.3459   \\n\",\n      \"2004-09-18  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374  39.2684   \\n\",\n      \"2004-09-19  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223  40.4374   \\n\",\n      \"2004-09-20  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847  40.6223   \\n\",\n      \"2004-09-21  39.8887  40.1571  40.0318  40.8072  40.1571  41.0099  40.8847   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10 Adj. High Adj. Low  \\n\",\n      \"2004-09-17  39.4294  40.4553  40.4672   41.3022  39.0358  \\n\",\n      \"2004-09-18  39.3459  39.4294  40.4553   41.3022  39.0358  \\n\",\n      \"2004-09-19  39.2684  39.3459  39.4294   41.3022  39.0358  \\n\",\n      \"2004-09-20  40.4374  39.2684  39.3459   41.3022  39.0358  \\n\",\n      \"2004-09-21  40.6223  40.4374  39.2684   41.3022  39.0358  \\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728558429454\\n\",\n      \"Explained Variance Score:  0.795888858571\\n\",\n      \"Mean Squared Error:  0.927322469233\\n\",\n      \"R2 score:  0.79156569031\\n\",\n      \"Errors:  [Day 0    2.363312\\n\",\n      \"Day 1    3.554744\\n\",\n      \"Day 2    4.447972\\n\",\n      \"Day 3    5.222742\\n\",\n      \"Day 4    5.826092\\n\",\n      \"Day 5    6.437558\\n\",\n      \"Day 6    6.969863\\n\",\n      \"dtype: float64, Day 0    2.365667\\n\",\n      \"Day 1    3.481529\\n\",\n      \"Day 2    4.304973\\n\",\n      \"Day 3    4.721579\\n\",\n      \"Day 4    5.059833\\n\",\n      \"Day 5    5.368132\\n\",\n      \"Day 6    5.645013\\n\",\n      \"dtype: float64, Day 0    1.806897\\n\",\n      \"Day 1    2.585631\\n\",\n      \"Day 2    3.168078\\n\",\n      \"Day 3    3.489158\\n\",\n      \"Day 4    3.822698\\n\",\n      \"Day 5    4.111139\\n\",\n      \"Day 6    4.310561\\n\",\n      \"dtype: float64, Day 0    1.161853\\n\",\n      \"Day 1    1.649659\\n\",\n      \"Day 2    1.972030\\n\",\n      \"Day 3    2.241463\\n\",\n      \"Day 4    2.408886\\n\",\n      \"Day 5    2.586250\\n\",\n      \"Day 6    2.692194\\n\",\n      \"dtype: float64, Day 0    1.244520\\n\",\n      \"Day 1    1.809132\\n\",\n      \"Day 2    2.191041\\n\",\n      \"Day 3    2.505590\\n\",\n      \"Day 4    2.773086\\n\",\n      \"Day 5    2.985559\\n\",\n      \"Day 6    3.152204\\n\",\n      \"dtype: float64, Day 0    1.366323\\n\",\n      \"Day 1    1.996403\\n\",\n      \"Day 2    2.512182\\n\",\n      \"Day 3    2.909702\\n\",\n      \"Day 4    3.215798\\n\",\n      \"Day 5    3.482818\\n\",\n      \"Day 6    3.715349\\n\",\n      \"dtype: float64, Day 0    1.230604\\n\",\n      \"Day 1    1.872096\\n\",\n      \"Day 2    2.317055\\n\",\n      \"Day 3    2.627428\\n\",\n      \"Day 4    2.934245\\n\",\n      \"Day 5    3.273079\\n\",\n      \"Day 6    3.487442\\n\",\n      \"dtype: float64, Day 0    2.099103\\n\",\n      \"Day 1    3.128097\\n\",\n      \"Day 2    3.858517\\n\",\n      \"Day 3    4.376862\\n\",\n      \"Day 4    4.707986\\n\",\n      \"Day 5    4.996149\\n\",\n      \"Day 6    5.334104\\n\",\n      \"dtype: float64, Day 0    2.432448\\n\",\n      \"Day 1    3.522754\\n\",\n      \"Day 2    4.372867\\n\",\n      \"Day 3    5.106129\\n\",\n      \"Day 4    5.796997\\n\",\n      \"Day 5    6.418081\\n\",\n      \"Day 6    6.966462\\n\",\n      \"dtype: float64, Day 0    1.250750\\n\",\n      \"Day 1    1.832107\\n\",\n      \"Day 2    2.238632\\n\",\n      \"Day 3    2.593274\\n\",\n      \"Day 4    2.848807\\n\",\n      \"Day 5    3.033881\\n\",\n      \"Day 6    3.158858\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3633119350196083, 2.3656668815405815, 1.8068967673168335, 1.1618527298758623, 1.2445199687301822, 1.3663233859342694, 1.2306040140332253, 2.0991032810897887, 2.4324477531714686, 1.2507503445957771], [3.5547442825053919, 3.481529290249135, 2.5856310121744528, 1.6496590138637148, 1.809132425557288, 1.9964030368392935, 1.8720955368221319, 3.1280968433143097, 3.5227538429212828, 1.8321069037719084], [4.4479717498041955, 4.3049728599220547, 3.1680784232346348, 1.9720295214110184, 2.1910410000791423, 2.5121823913989516, 2.3170550743329108, 3.8585169441853613, 4.3728666842384767, 2.2386315167496664], [5.2227419733682234, 4.7215794009499099, 3.4891579548518452, 2.2414627141040615, 2.5055902203003813, 2.90970213520768, 2.6274277931002956, 4.376862471759261, 5.1061285474682583, 2.5932743630842392], [5.8260923948398808, 5.0598325984063965, 3.8226976530484578, 2.4088856925610633, 2.7730862599144057, 3.2157984690632953, 2.9342447416299611, 4.7079859138129168, 5.7969965267876038, 2.8488069806603251], [6.4375575079233638, 5.3681318110243605, 4.1111391646782698, 2.5862495537524421, 2.9855585838487566, 3.482818119821625, 3.2730794532705025, 4.9961485085103687, 6.418081003261106, 3.0338810314181326], [6.9698629698470569, 5.6450129168027123, 4.3105607363275551, 2.6921943572726881, 3.1522043963508404, 3.7153490809861225, 3.4874417668039328, 5.3341041131784843, 6.9664616392606362, 3.1588584581960775]]\\n\",\n      \"Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Considering more than 7 days' worth of prior data\\n\",\n    \"# 10 days' worth of prior data\\n\",\n    \"execute(steps=10, days=10, buffer_step = 700)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-13  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-14  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-15   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452  7.78098   \\n\",\n      \"1979-10-16  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894  7.79452   \\n\",\n      \"1979-10-17  7.20847  7.20847   7.4687  7.49473  7.63838  7.58633  7.72894   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1979-10-13  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882  7.72894   \\n\",\n      \"1979-10-14  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689  7.59882   \\n\",\n      \"1979-10-15   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042  7.67689   \\n\",\n      \"1979-10-16  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689  7.69042   \\n\",\n      \"1979-10-17  7.79452  7.78098   8.0027  8.14531  8.22338   7.9111  7.67689   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1979-10-13   8.36703  7.28654  \\n\",\n      \"1979-10-14   8.36703  7.28654  \\n\",\n      \"1979-10-15   8.36703  7.39063  \\n\",\n      \"1979-10-16   8.36703  7.18245  \\n\",\n      \"1979-10-17   8.36703  6.92221  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.248776074705\\n\",\n      \"Explained Variance Score:  0.932287153948\\n\",\n      \"Mean Squared Error:  0.131935951513\\n\",\n      \"R2 score:  0.931564117202\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-07  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-08  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-09  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327  3.66929   \\n\",\n      \"1981-10-10  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283  3.64327   \\n\",\n      \"1981-10-11  3.72134  3.72134  3.70781  3.63078  3.60371  3.59122  3.68283   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1981-10-07  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553  3.44757   \\n\",\n      \"1981-10-08  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464  3.39553   \\n\",\n      \"1981-10-09  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918  3.47464   \\n\",\n      \"1981-10-10  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532  3.53918   \\n\",\n      \"1981-10-11  3.64327  3.66929  3.66929  3.87748  3.95555  3.85146  3.69532   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1981-10-07    4.0076   3.3185  \\n\",\n      \"1981-10-08    4.0076   3.3185  \\n\",\n      \"1981-10-09    4.0076   3.3185  \\n\",\n      \"1981-10-10    4.0076  3.48713  \\n\",\n      \"1981-10-11    4.0076  3.53918  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.139681061468\\n\",\n      \"Explained Variance Score:  0.695779905092\\n\",\n      \"Mean Squared Error:  0.0337119645641\\n\",\n      \"R2 score:  0.685613674393\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-09-30  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-01  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-02  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602  4.37192   \\n\",\n      \"1983-10-03   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409  4.47602   \\n\",\n      \"1983-10-04  4.35943   4.3459  4.29385  4.38441  4.44999  4.51557  4.55409   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1983-09-30  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011  4.56762   \\n\",\n      \"1983-10-01  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646  4.58011   \\n\",\n      \"1983-10-02  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795  4.43646   \\n\",\n      \"1983-10-03  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943  4.39795   \\n\",\n      \"1983-10-04  4.47602  4.37192  4.44999  4.39795  4.42397  4.37192  4.35943   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1983-09-30   4.60613   4.3459  \\n\",\n      \"1983-10-01   4.60613   4.3459  \\n\",\n      \"1983-10-02   4.56762  4.26783  \\n\",\n      \"1983-10-03   4.56762  4.26783  \\n\",\n      \"1983-10-04   4.56762  4.26783  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0983383277787\\n\",\n      \"Explained Variance Score:  0.673001905538\\n\",\n      \"Mean Squared Error:  0.0159582555222\\n\",\n      \"R2 score:  0.663777302829\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-09-20  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809  5.14013   \\n\",\n      \"1985-09-21  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865  5.08809   \\n\",\n      \"1985-09-22  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013  5.17865   \\n\",\n      \"1985-09-23  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672  5.14013   \\n\",\n      \"1985-09-24  5.11307  4.95693  4.99648  5.03604  5.10058  5.23069  5.25672   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1985-09-20  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262  5.20467   \\n\",\n      \"1985-09-21  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488  5.15262   \\n\",\n      \"1985-09-22  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648  4.90488   \\n\",\n      \"1985-09-23  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399  4.99648   \\n\",\n      \"1985-09-24  5.14013  5.17865  5.08809  5.14013  5.16512  5.15262  4.98399   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1985-09-20   5.26921  4.89239  \\n\",\n      \"1985-09-21   5.26921  4.89239  \\n\",\n      \"1985-09-22   5.26921  4.89239  \\n\",\n      \"1985-09-23   5.26921  4.90488  \\n\",\n      \"1985-09-24   5.26921  4.91841  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.122285822087\\n\",\n      \"Explained Variance Score:  0.532878366341\\n\",\n      \"Mean Squared Error:  0.025722263709\\n\",\n      \"R2 score:  0.528611373486\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-10  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-11  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-12  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479  5.72782   \\n\",\n      \"1987-09-13  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   5.6479   \\n\",\n      \"1987-09-14  5.78111  5.79496  5.76725  5.79496  5.84824  5.79496  5.70118   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1987-09-10  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   5.6479   \\n\",\n      \"1987-09-11  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782  5.71397   \\n\",\n      \"1987-09-12  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496  5.72782   \\n\",\n      \"1987-09-13  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069  5.79496   \\n\",\n      \"1987-09-14   5.6479  5.72782  5.74168  5.67454  5.72782  5.70118  5.66069   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1987-09-10   5.84824  5.62126  \\n\",\n      \"1987-09-11   5.84824  5.62126  \\n\",\n      \"1987-09-12   5.84824  5.62126  \\n\",\n      \"1987-09-13   5.84824  5.62126  \\n\",\n      \"1987-09-14   5.84824  5.62126  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107345237581\\n\",\n      \"Explained Variance Score:  0.872175783957\\n\",\n      \"Mean Squared Error:  0.0226157683537\\n\",\n      \"R2 score:  0.872187834621\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-02  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-03  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-04  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932  8.64851   \\n\",\n      \"1989-09-05  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695  8.57932   \\n\",\n      \"1989-09-06  8.74405  8.62105  8.52441  8.51123  8.38823  8.38823   8.4695   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1989-09-02  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123  8.56614   \\n\",\n      \"1989-09-03  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805  8.51123   \\n\",\n      \"1989-09-04  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932  8.49805   \\n\",\n      \"1989-09-05  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578  8.57932   \\n\",\n      \"1989-09-06  8.57932  8.64851  8.71769  8.62105  8.71769  8.73087  8.78578   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1989-09-02   8.78578  8.35967  \\n\",\n      \"1989-09-03   8.78578  8.35967  \\n\",\n      \"1989-09-04   8.78578  8.35967  \\n\",\n      \"1989-09-05   8.78578  8.35967  \\n\",\n      \"1989-09-06   8.78578  8.35967  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.182993141917\\n\",\n      \"Explained Variance Score:  0.923373254714\\n\",\n      \"Mean Squared Error:  0.0633763394031\\n\",\n      \"R2 score:  0.913263877343\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-08-27  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121  5.01791   \\n\",\n      \"1991-08-28  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451  4.96121   \\n\",\n      \"1991-08-29  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245  4.90451   \\n\",\n      \"1991-08-30  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585  4.69245   \\n\",\n      \"1991-08-31  4.97595  5.01791  4.97595  4.96121  4.83307  4.79111  4.80585   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1991-08-27  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636  5.18801   \\n\",\n      \"1991-08-28  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997  5.21636   \\n\",\n      \"1991-08-29  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966  5.22997   \\n\",\n      \"1991-08-30  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657  5.15966   \\n\",\n      \"1991-08-31  4.69245  4.90451  4.96121  5.01791  5.03265  5.11657  5.11657   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1991-08-27   5.27306  4.69245  \\n\",\n      \"1991-08-28   5.24471  4.69245  \\n\",\n      \"1991-08-29   5.24471  4.69245  \\n\",\n      \"1991-08-30   5.15966  4.69245  \\n\",\n      \"1991-08-31   5.14605  4.69245  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.196205423468\\n\",\n      \"Explained Variance Score:  0.867530206283\\n\",\n      \"Mean Squared Error:  0.0757048791729\\n\",\n      \"R2 score:  0.806951047925\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-18   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-19  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-20  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747  9.32829   \\n\",\n      \"1993-08-21   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743  9.45747   \\n\",\n      \"1993-08-22  9.34213   9.3998  9.58664  9.52898   9.5728  9.77464   9.6743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1993-08-18   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831  9.29831   \\n\",\n      \"1993-08-19  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866  9.29831   \\n\",\n      \"1993-08-20   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296  9.36866   \\n\",\n      \"1993-08-21  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146  9.21296   \\n\",\n      \"1993-08-22  9.45747  9.32829   9.3133  9.21296   9.2268  9.08263  9.11146   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1993-08-18   9.83231  9.00997  \\n\",\n      \"1993-08-19   9.83231  9.00997  \\n\",\n      \"1993-08-20   9.83231  9.00997  \\n\",\n      \"1993-08-21   9.83231  9.00997  \\n\",\n      \"1993-08-22   9.83231  9.00997  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.174147642649\\n\",\n      \"Explained Variance Score:  0.892678602856\\n\",\n      \"Mean Squared Error:  0.0544705960063\\n\",\n      \"R2 score:  0.872851342431\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-09  15.2984  15.5612  15.4004   15.357  15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-10   15.005  15.2984  15.5612  15.4004   15.357  15.2538  15.1071   \\n\",\n      \"1995-08-11  15.0778   15.005  15.2984  15.5612  15.4004   15.357  15.2538   \\n\",\n      \"1995-08-12  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   15.357   \\n\",\n      \"1995-08-13  15.1071  15.1071  15.0778   15.005  15.2984  15.5612  15.4004   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1995-08-09  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298  15.2397   \\n\",\n      \"1995-08-10  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124  15.4298   \\n\",\n      \"1995-08-11  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071  15.3124   \\n\",\n      \"1995-08-12  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364  15.1071   \\n\",\n      \"1995-08-13   15.357  15.2538  15.1071  15.3418  15.4298  15.4298  15.1364   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1995-08-09   15.5612  14.9311  \\n\",\n      \"1995-08-10   15.5612  14.9463  \\n\",\n      \"1995-08-11   15.5612  14.9463  \\n\",\n      \"1995-08-12   15.5612  14.9463  \\n\",\n      \"1995-08-13   15.5612  14.9463  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.214711322421\\n\",\n      \"Explained Variance Score:  0.942826192476\\n\",\n      \"Mean Squared Error:  0.0808523509562\\n\",\n      \"R2 score:  0.937817635223\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-07-31  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-01  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-02  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197  20.6928   \\n\",\n      \"1997-08-03  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023  20.9197   \\n\",\n      \"1997-08-04  19.7879  19.9689  20.1788  20.0003  20.9486  21.4313  21.4023   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1997-07-31  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403  22.0346   \\n\",\n      \"1997-08-01  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387  21.0403   \\n\",\n      \"1997-08-02  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358  20.7387   \\n\",\n      \"1997-08-03  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883  21.2358   \\n\",\n      \"1997-08-04  20.9197  20.6928  20.6036  20.5119  20.9197  21.2069  20.8883   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1997-07-31   22.1407  20.1788  \\n\",\n      \"1997-08-01   22.1407  19.8627  \\n\",\n      \"1997-08-02   21.5061  19.8627  \\n\",\n      \"1997-08-03   21.4771  19.8482  \\n\",\n      \"1997-08-04   21.4771  19.6528  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.575956001159\\n\",\n      \"Explained Variance Score:  0.632401065134\\n\",\n      \"Mean Squared Error:  0.536694556461\\n\",\n      \"R2 score:  0.635433823871\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-07-23  27.1893  26.8435   26.623  26.3423  26.5027  26.7533  26.9688   \\n\",\n      \"1999-07-24  27.6253  27.1893  26.8435   26.623  26.3423  26.5027  26.7533   \\n\",\n      \"1999-07-25  28.4122  27.6253  27.1893  26.8435   26.623  26.3423  26.5027   \\n\",\n      \"1999-07-26  27.3447  28.4122  27.6253  27.1893  26.8435   26.623  26.3423   \\n\",\n      \"1999-07-27    27.47  27.3447  28.4122  27.6253  27.1893  26.8435   26.623   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"1999-07-23  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027  26.7533   \\n\",\n      \"1999-07-24  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122  26.5027   \\n\",\n      \"1999-07-25  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375  26.3122   \\n\",\n      \"1999-07-26  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182  26.4375   \\n\",\n      \"1999-07-27  26.3423  26.5027  26.7533  26.9688  26.5628  26.1569  26.7182   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1999-07-23   27.3146   25.811  \\n\",\n      \"1999-07-24   28.1917   25.811  \\n\",\n      \"1999-07-25   28.7229   25.811  \\n\",\n      \"1999-07-26   28.7229  25.9664  \\n\",\n      \"1999-07-27   28.7229  25.9664  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834586135448\\n\",\n      \"Explained Variance Score:  0.552372347128\\n\",\n      \"Mean Squared Error:  1.19797116115\\n\",\n      \"R2 score:  0.541753682113\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-17  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   21.771   \\n\",\n      \"2001-07-18  21.2871  20.7074  19.9948   20.633  21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-19  21.2339  21.2871  20.7074  19.9948   20.633  21.0584  21.1701   \\n\",\n      \"2001-07-20  22.2708  21.2339  21.2871  20.7074  19.9948   20.633  21.0584   \\n\",\n      \"2001-07-21  21.9624  22.2708  21.2339  21.2871  20.7074  19.9948   20.633   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2001-07-17  22.2762  21.2179  21.9784  22.0156  21.1488   21.085  21.7337   \\n\",\n      \"2001-07-18   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   21.085   \\n\",\n      \"2001-07-19  21.4998   21.771  22.2762  21.2179  21.9784  22.0156  21.1488   \\n\",\n      \"2001-07-20  21.1701  21.4998   21.771  22.2762  21.2179  21.9784  22.0156   \\n\",\n      \"2001-07-21  21.0584  21.1701  21.4998   21.771  22.2762  21.2179  21.9784   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2001-07-17   22.6378  19.9417  \\n\",\n      \"2001-07-18   22.6378  19.9417  \\n\",\n      \"2001-07-19   22.6378  19.9417  \\n\",\n      \"2001-07-20   22.6378  19.9417  \\n\",\n      \"2001-07-21   22.6378  19.9417  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.676312438719\\n\",\n      \"Explained Variance Score:  0.79312466119\\n\",\n      \"Mean Squared Error:  0.850174654841\\n\",\n      \"R2 score:  0.78753038764\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-10  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-11  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-12   34.112  33.9686  34.1522  33.5959  33.0052  33.3722  32.9937   \\n\",\n      \"2003-07-13  34.0719   34.112  33.9686  34.1522  33.5959  33.0052  33.3722   \\n\",\n      \"2003-07-14  33.6131  34.0719   34.112  33.9686  34.1522  33.5959  33.0052   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2003-07-10  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234  32.3628   \\n\",\n      \"2003-07-11  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206  32.5234   \\n\",\n      \"2003-07-12  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338  33.3206   \\n\",\n      \"2003-07-13  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585  33.0338   \\n\",\n      \"2003-07-14  33.3722  32.9937  32.8962  33.5442  33.1944  33.0052  32.7585   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2003-07-10   34.3357  32.0187  \\n\",\n      \"2003-07-11   34.3357  32.5005  \\n\",\n      \"2003-07-12   34.3357  32.7585  \\n\",\n      \"2003-07-13   34.3357  32.7585  \\n\",\n      \"2003-07-14   34.3357  32.7585  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.633855324068\\n\",\n      \"Explained Variance Score:  0.893339521738\\n\",\n      \"Mean Squared Error:  0.718058387086\\n\",\n      \"R2 score:  0.80969350896\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-09  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-10  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-11  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571  39.7449   \\n\",\n      \"2005-07-12  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413  39.7571   \\n\",\n      \"2005-07-13  39.5982  39.7388  38.9263  39.9404  40.0625  40.1969  40.4413   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2005-07-09  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   39.867   \\n\",\n      \"2005-07-10  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275  40.7162   \\n\",\n      \"2005-07-11  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227  40.2275   \\n\",\n      \"2005-07-12  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442  39.6227   \\n\",\n      \"2005-07-13  39.7571  39.7449  39.8304  40.2947  39.7082  39.8304  40.0442   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2005-07-09   40.8933  38.9812  \\n\",\n      \"2005-07-10   40.8933  38.9812  \\n\",\n      \"2005-07-11   40.8933  38.8041  \\n\",\n      \"2005-07-12   40.6123  38.8041  \\n\",\n      \"2005-07-13   40.6123  38.8041  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.813134820175\\n\",\n      \"Explained Variance Score:  0.629454488747\\n\",\n      \"Mean Squared Error:  1.11504616982\\n\",\n      \"R2 score:  0.634165070736\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-06  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-07  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-08  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119  36.2071   \\n\",\n      \"2007-07-09  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084  36.6119   \\n\",\n      \"2007-07-10  33.2667  33.2999  32.6162  36.2071  36.7314  35.5367  35.9084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10     i-11     i-12     i-13     i-14  \\\\\\n\",\n      \"2007-07-06  34.7269  34.4681  36.3664   35.457  35.5035    34.78  36.1009   \\n\",\n      \"2007-07-07  34.1229  34.7269  34.4681  36.3664   35.457  35.5035    34.78   \\n\",\n      \"2007-07-08  34.1561  34.1229  34.7269  34.4681  36.3664   35.457  35.5035   \\n\",\n      \"2007-07-09  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   35.457   \\n\",\n      \"2007-07-10  36.6119  36.2071  34.1561  34.1229  34.7269  34.4681  36.3664   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"2007-07-06   37.6275  32.8884  \\n\",\n      \"2007-07-07   37.6275  32.8884  \\n\",\n      \"2007-07-08   37.6275  32.0919  \\n\",\n      \"2007-07-09   37.6275  32.0919  \\n\",\n      \"2007-07-10   37.6275  32.0919  \\n\",\n      \"# Days used to predict: 14\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.15665536203\\n\",\n      \"Explained Variance Score:  0.868995317818\\n\",\n      \"Mean Squared Error:  2.51929559765\\n\",\n      \"R2 score:  0.848349836178\\n\",\n      \"Errors:  [Day 0    2.342805\\n\",\n      \"Day 1    3.525855\\n\",\n      \"Day 2    4.420878\\n\",\n      \"Day 3    5.245301\\n\",\n      \"Day 4    5.912376\\n\",\n      \"Day 5    6.525354\\n\",\n      \"Day 6    7.048433\\n\",\n      \"dtype: float64, Day 0    2.549447\\n\",\n      \"Day 1    3.732053\\n\",\n      \"Day 2    4.703215\\n\",\n      \"Day 3    5.365864\\n\",\n      \"Day 4    5.934399\\n\",\n      \"Day 5    6.411870\\n\",\n      \"Day 6    6.885911\\n\",\n      \"dtype: float64, Day 0    1.395458\\n\",\n      \"Day 1    2.103418\\n\",\n      \"Day 2    2.513620\\n\",\n      \"Day 3    2.783122\\n\",\n      \"Day 4    2.977928\\n\",\n      \"Day 5    3.159587\\n\",\n      \"Day 6    3.321491\\n\",\n      \"dtype: float64, Day 0    1.933811\\n\",\n      \"Day 1    2.689721\\n\",\n      \"Day 2    3.092215\\n\",\n      \"Day 3    3.416749\\n\",\n      \"Day 4    3.749885\\n\",\n      \"Day 5    3.982079\\n\",\n      \"Day 6    4.131960\\n\",\n      \"dtype: float64, Day 0    1.349031\\n\",\n      \"Day 1    1.896904\\n\",\n      \"Day 2    2.179666\\n\",\n      \"Day 3    2.554905\\n\",\n      \"Day 4    2.842448\\n\",\n      \"Day 5    3.058960\\n\",\n      \"Day 6    3.291905\\n\",\n      \"dtype: float64, Day 0    1.308250\\n\",\n      \"Day 1    2.050615\\n\",\n      \"Day 2    2.630480\\n\",\n      \"Day 3    3.074673\\n\",\n      \"Day 4    3.449310\\n\",\n      \"Day 5    3.692534\\n\",\n      \"Day 6    3.896184\\n\",\n      \"dtype: float64, Day 0    2.087797\\n\",\n      \"Day 1    3.217198\\n\",\n      \"Day 2    4.191566\\n\",\n      \"Day 3    4.952402\\n\",\n      \"Day 4    5.629673\\n\",\n      \"Day 5    6.216168\\n\",\n      \"Day 6    6.645652\\n\",\n      \"dtype: float64, Day 0    1.362630\\n\",\n      \"Day 1    1.982794\\n\",\n      \"Day 2    2.492434\\n\",\n      \"Day 3    2.890789\\n\",\n      \"Day 4    3.197432\\n\",\n      \"Day 5    3.451284\\n\",\n      \"Day 6    3.680437\\n\",\n      \"dtype: float64, Day 0    1.067254\\n\",\n      \"Day 1    1.568900\\n\",\n      \"Day 2    1.910583\\n\",\n      \"Day 3    2.178755\\n\",\n      \"Day 4    2.420589\\n\",\n      \"Day 5    2.605201\\n\",\n      \"Day 6    2.793131\\n\",\n      \"dtype: float64, Day 0    1.756089\\n\",\n      \"Day 1    2.636764\\n\",\n      \"Day 2    3.246494\\n\",\n      \"Day 3    3.731850\\n\",\n      \"Day 4    4.152838\\n\",\n      \"Day 5    4.425589\\n\",\n      \"Day 6    4.636267\\n\",\n      \"dtype: float64, Day 0    2.284263\\n\",\n      \"Day 1    3.306835\\n\",\n      \"Day 2    4.044468\\n\",\n      \"Day 3    4.520537\\n\",\n      \"Day 4    4.849158\\n\",\n      \"Day 5    5.150438\\n\",\n      \"Day 6    5.522071\\n\",\n      \"dtype: float64, Day 0    2.041663\\n\",\n      \"Day 1    2.894507\\n\",\n      \"Day 2    3.457311\\n\",\n      \"Day 3    3.978527\\n\",\n      \"Day 4    4.443793\\n\",\n      \"Day 5    4.866720\\n\",\n      \"Day 6    5.219642\\n\",\n      \"dtype: float64, Day 0    1.197523\\n\",\n      \"Day 1    1.824909\\n\",\n      \"Day 2    2.280012\\n\",\n      \"Day 3    2.688264\\n\",\n      \"Day 4    3.087127\\n\",\n      \"Day 5    3.447978\\n\",\n      \"Day 6    3.766665\\n\",\n      \"dtype: float64, Day 0    1.254114\\n\",\n      \"Day 1    1.789819\\n\",\n      \"Day 2    2.133018\\n\",\n      \"Day 3    2.513977\\n\",\n      \"Day 4    2.821298\\n\",\n      \"Day 5    3.114118\\n\",\n      \"Day 6    3.369987\\n\",\n      \"dtype: float64, Day 0    1.997972\\n\",\n      \"Day 1    2.662218\\n\",\n      \"Day 2    3.243463\\n\",\n      \"Day 3    3.898785\\n\",\n      \"Day 4    4.562750\\n\",\n      \"Day 5    5.476417\\n\",\n      \"Day 6    6.319833\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3428046878594335, 2.5494465554647414, 1.3954581010084075, 1.9338110474345769, 1.349031388428084, 1.3082501119097614, 2.0877971918382312, 1.362629656063173, 1.0672541331288881, 1.7560891545451207, 2.2842628093726178, 2.0416633481835507, 1.1975233764939945, 1.2541140107194724, 1.9979717114798277], [3.5258552334178641, 3.7320533743630255, 2.1034184642616141, 2.6897205756015548, 1.8969039843105724, 2.0506153412586832, 3.2171984334944406, 1.9827940259871397, 1.5688995987559236, 2.6367635568182766, 3.3068351824563802, 2.8945074594428291, 1.8249088288131119, 1.7898187399932406, 2.6622184489674865], [4.420877989036649, 4.7032147476522344, 2.5136196508353961, 3.0922152789031143, 2.1796658505265682, 2.6304796746940839, 4.1915655602523731, 2.4924344110851404, 1.9105828050113176, 3.2464940581864847, 4.0444675805083419, 3.4573108599535782, 2.2800119253617375, 2.1330178906407928, 3.2434631632331032], [5.2453007591988934, 5.3658643734648832, 2.7831224905377154, 3.416748711154967, 2.5549049030530955, 3.0746731020488789, 4.9524019488849751, 2.8907889072630373, 2.1787553036935075, 3.7318496940231114, 4.5205370675953178, 3.9785266649335007, 2.6882642728569226, 2.5139768692486597, 3.8987847995297504], [5.9123764917439461, 5.9343992865756627, 2.9779283268835495, 3.749884830258206, 2.8424480771173175, 3.4493099318044464, 5.6296725435585397, 3.1974315805691531, 2.4205889442104498, 4.1528377889957317, 4.8491578280113066, 4.4437933328538719, 3.0871274223490661, 2.8212984449238308, 4.5627499655632802], [6.5253540389538474, 6.411869704769062, 3.1595872490659578, 3.9820786600745923, 3.0589602014064852, 3.6925343353850728, 6.2161677524830603, 3.4512842358405149, 2.6052006922636068, 4.4255891500298041, 5.1504375410897554, 4.8667198046540632, 3.4479777609243358, 3.1141175250353417, 5.4764165109956515], [7.0484327153638269, 6.8859112718527289, 3.3214906751109079, 4.1319603443044786, 3.2919049518842676, 3.8961844607912113, 6.645652227769677, 3.680437333538447, 2.7931310314182922, 4.6362674911036841, 5.5220713093967051, 5.2196422824700353, 3.7666650074113814, 3.3699869165228575, 6.3198328863514632]]\\n\",\n      \"Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 14 days' worth of prior data\\n\",\n    \"execute(steps=15, days=14, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-10-24  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687  7.49473   \\n\",\n      \"1979-10-25  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   7.4687   \\n\",\n      \"1979-10-26  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847  7.20847   \\n\",\n      \"1979-10-27  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084  7.20847   \\n\",\n      \"1979-10-28  7.39063  7.09084  6.83061  6.87017  6.92221  6.89619  7.09084   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1979-10-24  7.63838  7.58633  7.72894   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-10-25  7.49473  7.63838  7.58633   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-10-26   7.4687  7.49473  7.63838   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-10-27  7.20847   7.4687  7.49473   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-10-28  7.20847  7.20847   7.4687   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1979-10-24  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-10-25   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-10-26  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-10-27  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-10-28   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.47982  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.247178558128\\n\",\n      \"Explained Variance Score:  0.934716071877\\n\",\n      \"Mean Squared Error:  0.125104935048\\n\",\n      \"R2 score:  0.934194798936\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-16  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781  3.63078   \\n\",\n      \"1981-10-17  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134  3.70781   \\n\",\n      \"1981-10-18   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134  3.72134   \\n\",\n      \"1981-10-19  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134  3.72134   \\n\",\n      \"1981-10-20  4.15125  4.02009   3.9035  3.65576  3.70781  3.70781  3.72134   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1981-10-16  3.60371  3.59122  3.68283   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-17  3.63078  3.60371  3.59122   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-18  3.70781  3.63078  3.60371   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-10-19  3.72134  3.70781  3.63078   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-10-20  3.72134  3.72134  3.70781   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1981-10-16  3.69532  3.53918  3.47464  3.39553  3.44757    4.0076   3.3185  \\n\",\n      \"1981-10-17  3.85146  3.69532  3.53918  3.47464  3.39553    4.0076   3.3185  \\n\",\n      \"1981-10-18  3.95555  3.85146  3.69532  3.53918  3.47464    4.0076   3.3185  \\n\",\n      \"1981-10-19  3.87748  3.95555  3.85146  3.69532  3.53918   4.07213  3.48713  \\n\",\n      \"1981-10-20  3.66929  3.87748  3.95555  3.85146  3.69532   4.20329  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.14560789487\\n\",\n      \"Explained Variance Score:  0.697986240547\\n\",\n      \"Mean Squared Error:  0.0357285529497\\n\",\n      \"R2 score:  0.693931872833\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-11  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385  4.38441   \\n\",\n      \"1983-10-12  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459  4.29385   \\n\",\n      \"1983-10-13  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   4.3459   \\n\",\n      \"1983-10-14  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192  4.35943   \\n\",\n      \"1983-10-15  4.28032  4.28032  4.30739  4.25534  4.25534  4.26783  4.37192   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1983-10-11  4.44999  4.51557  4.55409   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-12  4.38441  4.44999  4.51557   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-13  4.29385  4.38441  4.44999   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-14   4.3459  4.29385  4.38441   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-15  4.35943   4.3459  4.29385   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1983-10-11  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.21578  \\n\",\n      \"1983-10-12  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.18976  \\n\",\n      \"1983-10-13  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.18976  \\n\",\n      \"1983-10-14  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.18976  \\n\",\n      \"1983-10-15  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.18976  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.100467856093\\n\",\n      \"Explained Variance Score:  0.707746188515\\n\",\n      \"Mean Squared Error:  0.0166816164165\\n\",\n      \"R2 score:  0.690365934271\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-01  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648  5.03604   \\n\",\n      \"1985-10-02  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693  4.99648   \\n\",\n      \"1985-10-03  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307  4.95693   \\n\",\n      \"1985-10-04  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251  5.11307   \\n\",\n      \"1985-10-05  5.15262  5.04853  4.99648  5.08809  5.15262  5.19218  5.02251   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1985-10-01  5.10058  5.23069  5.25672   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-02  5.03604  5.10058  5.23069   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-03  4.99648  5.03604  5.10058   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-04  4.95693  4.99648  5.03604   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-05  5.11307  4.95693  4.99648   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1985-10-01  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-02  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-03  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-04  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-05  5.08809  5.14013  5.16512  5.15262  4.98399   5.26921  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.118704995917\\n\",\n      \"Explained Variance Score:  0.599720926078\\n\",\n      \"Mean Squared Error:  0.0233000629812\\n\",\n      \"R2 score:  0.596620827484\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-09-22  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725  5.79496   \\n\",\n      \"1987-09-23  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496  5.76725   \\n\",\n      \"1987-09-24  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111  5.79496   \\n\",\n      \"1987-09-25  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168  5.78111   \\n\",\n      \"1987-09-26  5.90152  5.83439  5.76725  5.76725  5.84824  5.84824  5.74168   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1987-09-22  5.84824  5.79496  5.70118   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-09-23  5.79496  5.84824  5.79496   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-09-24  5.76725  5.79496  5.84824   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-09-25  5.79496  5.76725  5.79496   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-09-26  5.78111  5.79496  5.76725   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1987-09-22  5.66069  5.79496  5.72782  5.71397   5.6479   5.86103  5.62126  \\n\",\n      \"1987-09-23  5.70118  5.66069  5.79496  5.72782  5.71397   5.86103  5.62126  \\n\",\n      \"1987-09-24  5.72782  5.70118  5.66069  5.79496  5.72782   5.86103  5.62126  \\n\",\n      \"1987-09-25  5.67454  5.72782  5.70118  5.66069  5.79496   5.86103  5.62126  \\n\",\n      \"1987-09-26  5.74168  5.67454  5.72782  5.70118  5.66069   5.90152  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.107246850816\\n\",\n      \"Explained Variance Score:  0.873418919146\\n\",\n      \"Mean Squared Error:  0.0223804852513\\n\",\n      \"R2 score:  0.873053045647\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-13  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441  8.51123   \\n\",\n      \"1989-09-14  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105  8.52441   \\n\",\n      \"1989-09-15  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405  8.62105   \\n\",\n      \"1989-09-16  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321  8.74405   \\n\",\n      \"1989-09-17  8.66302  8.73244  8.84263  8.81508  8.84263  9.00791  8.77321   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1989-09-13  8.38823  8.38823   8.4695   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-14  8.51123  8.38823  8.38823   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-15  8.52441  8.51123  8.38823   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-09-16  8.62105  8.52441  8.51123   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-09-17  8.74405  8.62105  8.52441   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1989-09-13  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.35967  \\n\",\n      \"1989-09-14  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  8.35967  \\n\",\n      \"1989-09-15  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  8.35967  \\n\",\n      \"1989-09-16  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  8.35967  \\n\",\n      \"1989-09-17  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  8.35967  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183367476501\\n\",\n      \"Explained Variance Score:  0.923191778806\\n\",\n      \"Mean Squared Error:  0.062951655998\\n\",\n      \"R2 score:  0.914995737201\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-05  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595  4.96121   \\n\",\n      \"1991-09-06  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791  4.97595   \\n\",\n      \"1991-09-07  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595  5.01791   \\n\",\n      \"1991-09-08  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255  4.97595   \\n\",\n      \"1991-09-09  4.86252  4.86252  4.89096  4.91925  4.91925  4.81946  4.86255   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1991-09-05  4.83307  4.79111  4.80585   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-06  4.96121  4.83307  4.79111   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-07  4.97595  4.96121  4.83307   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-08  5.01791  4.97595  4.96121   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-09  4.97595  5.01791  4.97595   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1991-09-05  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-06  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-07  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-08  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-09  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.179845135179\\n\",\n      \"Explained Variance Score:  0.878379857563\\n\",\n      \"Mean Squared Error:  0.0637005335646\\n\",\n      \"R2 score:  0.832463137105\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-08-27  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664  9.52898   \\n\",\n      \"1993-08-28  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998  9.58664   \\n\",\n      \"1993-08-29  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   9.3998   \\n\",\n      \"1993-08-30  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863  9.34213   \\n\",\n      \"1993-08-31  9.35597  9.29831  9.25563  9.24064  9.35597  9.47131  9.42863   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1993-08-27   9.5728  9.77464   9.6743   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-08-28  9.52898   9.5728  9.77464   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-08-29  9.58664  9.52898   9.5728   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-08-30   9.3998  9.58664  9.52898   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-08-31  9.34213   9.3998  9.58664   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1993-08-27  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-28  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  9.00997  \\n\",\n      \"1993-08-29   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  9.00997  \\n\",\n      \"1993-08-30  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  9.00997  \\n\",\n      \"1993-08-31   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  9.00997  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173480085165\\n\",\n      \"Explained Variance Score:  0.889783953988\\n\",\n      \"Mean Squared Error:  0.0542550164358\\n\",\n      \"R2 score:  0.87630032975\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-08-19  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   15.005   \\n\",\n      \"1995-08-20  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071  15.0778   \\n\",\n      \"1995-08-21  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071  15.1071   \\n\",\n      \"1995-08-22  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778  15.1071   \\n\",\n      \"1995-08-23  14.7703  14.7844  14.7551  14.7551  14.7551  15.0918  15.0778   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1995-08-19  15.2984  15.5612  15.4004   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-08-20   15.005  15.2984  15.5612   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-08-21  15.0778   15.005  15.2984   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-08-22  15.1071  15.0778   15.005   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-08-23  15.1071  15.1071  15.0778   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1995-08-19  15.1364  15.1071  15.3124  15.4298  15.2397   15.5612  14.6812  \\n\",\n      \"1995-08-20  15.4298  15.1364  15.1071  15.3124  15.4298   15.5612  14.6812  \\n\",\n      \"1995-08-21  15.4298  15.4298  15.1364  15.1071  15.3124   15.5612  14.6812  \\n\",\n      \"1995-08-22  15.3418  15.4298  15.4298  15.1364  15.1071   15.5612  14.6671  \\n\",\n      \"1995-08-23  15.1071  15.3418  15.4298  15.4298  15.1364   15.5612  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.21969484392\\n\",\n      \"Explained Variance Score:  0.941053178728\\n\",\n      \"Mean Squared Error:  0.0874448127494\\n\",\n      \"R2 score:  0.934717418017\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-09  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788  20.0003   \\n\",\n      \"1997-08-10  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689  20.1788   \\n\",\n      \"1997-08-11  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879  19.9689   \\n\",\n      \"1997-08-12  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834  19.7879   \\n\",\n      \"1997-08-13   21.523  21.3565  21.4771  21.0235  20.8594  20.5119  19.9834   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1997-08-09  20.9486  21.4313  21.4023   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-10  20.0003  20.9486  21.4313   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-11  20.1788  20.0003  20.9486   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-12  19.9689  20.1788  20.0003   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-13  19.7879  19.9689  20.1788   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1997-08-09  20.8883  21.2358  20.7387  21.0403  22.0346   22.1407  19.6528  \\n\",\n      \"1997-08-10  21.2069  20.8883  21.2358  20.7387  21.0403   22.1407  19.6528  \\n\",\n      \"1997-08-11  20.9197  21.2069  20.8883  21.2358  20.7387   21.6267  19.6528  \\n\",\n      \"1997-08-12  20.5119  20.9197  21.2069  20.8883  21.2358   21.6267  19.6528  \\n\",\n      \"1997-08-13  20.6036  20.5119  20.9197  21.2069  20.8883   21.6267  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.587602123323\\n\",\n      \"Explained Variance Score:  0.597673117636\\n\",\n      \"Mean Squared Error:  0.562295173611\\n\",\n      \"R2 score:  0.599602671043\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-03  26.9086  26.5929  27.0039    27.47  27.3447  28.4122  27.6253   \\n\",\n      \"1999-08-04  27.3146  26.9086  26.5929  27.0039    27.47  27.3447  28.4122   \\n\",\n      \"1999-08-05  27.0339  27.3146  26.9086  26.5929  27.0039    27.47  27.3447   \\n\",\n      \"1999-08-06  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039    27.47   \\n\",\n      \"1999-08-07  26.0316  26.7533  27.0339  27.3146  26.9086  26.5929  27.0039   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"1999-08-03  27.1893  26.8435   26.623   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-04  27.6253  27.1893  26.8435   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-05  28.4122  27.6253  27.1893   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-06  27.3447  28.4122  27.6253   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-07    27.47  27.3447  28.4122   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"1999-08-03  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   25.811  \\n\",\n      \"1999-08-04  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   25.811  \\n\",\n      \"1999-08-05  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   25.811  \\n\",\n      \"1999-08-06  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  25.9664  \\n\",\n      \"1999-08-07  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  25.9363  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.80841683447\\n\",\n      \"Explained Variance Score:  0.55978076116\\n\",\n      \"Mean Squared Error:  1.12748077923\\n\",\n      \"R2 score:  0.551337857615\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-07-26  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339  21.2871   \\n\",\n      \"2001-07-27  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708  21.2339   \\n\",\n      \"2001-07-28  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624  22.2708   \\n\",\n      \"2001-07-29  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208  21.9624   \\n\",\n      \"2001-07-30  21.3349  21.1594  21.2445  21.2658  22.3559  22.5208  22.5208   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2001-07-26  20.7074  19.9948   20.633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-07-27  21.2871  20.7074  19.9948   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-07-28  21.2339  21.2871  20.7074   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-07-29  22.2708  21.2339  21.2871   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-07-30  21.9624  22.2708  21.2339   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2001-07-26  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.9417  \\n\",\n      \"2001-07-27  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.9417  \\n\",\n      \"2001-07-28  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.9417  \\n\",\n      \"2001-07-29   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.9417  \\n\",\n      \"2001-07-30  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.9417  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.702921222006\\n\",\n      \"Explained Variance Score:  0.80646285415\\n\",\n      \"Mean Squared Error:  0.898869096996\\n\",\n      \"R2 score:  0.800649358483\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-07-19   33.831  33.5959  33.2632  33.6131  34.0719   34.112  33.9686   \\n\",\n      \"2003-07-20  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   34.112   \\n\",\n      \"2003-07-21  33.4926  33.5729   33.831  33.5959  33.2632  33.6131  34.0719   \\n\",\n      \"2003-07-22   33.917  33.4926  33.5729   33.831  33.5959  33.2632  33.6131   \\n\",\n      \"2003-07-23  33.8826   33.917  33.4926  33.5729   33.831  33.5959  33.2632   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2003-07-19  34.1522  33.5959  33.0052   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-07-20  33.9686  34.1522  33.5959   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-07-21   34.112  33.9686  34.1522   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-07-22  34.0719   34.112  33.9686   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-07-23  33.6131  34.0719   34.112   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2003-07-19  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-07-20  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-07-21  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-07-22  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-07-23  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.607302274291\\n\",\n      \"Explained Variance Score:  0.912255975134\\n\",\n      \"Mean Squared Error:  0.641949670141\\n\",\n      \"R2 score:  0.841214975617\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-07-20  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263  39.9404   \\n\",\n      \"2005-07-21  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388  38.9263   \\n\",\n      \"2005-07-22   39.751  39.0118  39.4211  39.2928  39.5188  39.5982  39.7388   \\n\",\n      \"2005-07-23  40.3008   39.751  39.0118  39.4211  39.2928  39.5188  39.5982   \\n\",\n      \"2005-07-24  41.2538  40.3008   39.751  39.0118  39.4211  39.2928  39.5188   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2005-07-20  40.0625  40.1969  40.4413   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-07-21  39.9404  40.0625  40.1969   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-07-22  38.9263  39.9404  40.0625   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-07-23  39.7388  38.9263  39.9404   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-07-24  39.5982  39.7388  38.9263   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2005-07-20  40.0442  39.6227  40.2275  40.7162   39.867   40.8933  38.8041  \\n\",\n      \"2005-07-21  39.8304  40.0442  39.6227  40.2275  40.7162   40.8933  38.8041  \\n\",\n      \"2005-07-22  39.7082  39.8304  40.0442  39.6227  40.2275   40.8933  38.8041  \\n\",\n      \"2005-07-23  40.2947  39.7082  39.8304  40.0442  39.6227   40.6123  38.8041  \\n\",\n      \"2005-07-24  39.8304  40.2947  39.7082  39.8304  40.0442   41.3454  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.834239650358\\n\",\n      \"Explained Variance Score:  0.583600781437\\n\",\n      \"Mean Squared Error:  1.16134570271\\n\",\n      \"R2 score:  0.585510921947\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-17  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162  36.2071   \\n\",\n      \"2007-07-18  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999  32.6162   \\n\",\n      \"2007-07-19  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667  33.2999   \\n\",\n      \"2007-07-20  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224  33.2667   \\n\",\n      \"2007-07-21  26.9147  27.0143  29.6692  29.4834  30.2998  31.6936  31.2224   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-14     i-15     i-16  \\\\\\n\",\n      \"2007-07-17  36.7314  35.5367  35.9084   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-18  36.2071  36.7314  35.5367   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-19  32.6162  36.2071  36.7314   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-20  33.2999  32.6162  36.2071   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-07-21  33.2667  33.2999  32.6162   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-17     i-18     i-19     i-20     i-21 Adj. High Adj. Low  \\n\",\n      \"2007-07-17  36.3664   35.457  35.5035    34.78  36.1009   37.6275  28.4479  \\n\",\n      \"2007-07-18  34.4681  36.3664   35.457  35.5035    34.78   37.6275  28.4479  \\n\",\n      \"2007-07-19  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  28.3484  \\n\",\n      \"2007-07-20  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  26.5629  \\n\",\n      \"2007-07-21  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 23 columns]\\n\",\n      \"# Days used to predict: 21\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.2420603359\\n\",\n      \"Explained Variance Score:  0.882276409115\\n\",\n      \"Mean Squared Error:  2.85887227574\\n\",\n      \"R2 score:  0.862561522356\\n\",\n      \"Errors:  [Day 0    2.293209\\n\",\n      \"Day 1    3.505125\\n\",\n      \"Day 2    4.391077\\n\",\n      \"Day 3    5.136101\\n\",\n      \"Day 4    5.741021\\n\",\n      \"Day 5    6.316841\\n\",\n      \"Day 6    6.819157\\n\",\n      \"dtype: float64, Day 0    2.574584\\n\",\n      \"Day 1    3.775894\\n\",\n      \"Day 2    4.734432\\n\",\n      \"Day 3    5.415123\\n\",\n      \"Day 4    6.045789\\n\",\n      \"Day 5    6.565847\\n\",\n      \"Day 6    7.050893\\n\",\n      \"dtype: float64, Day 0    1.410939\\n\",\n      \"Day 1    2.110159\\n\",\n      \"Day 2    2.516358\\n\",\n      \"Day 3    2.799649\\n\",\n      \"Day 4    3.038314\\n\",\n      \"Day 5    3.261916\\n\",\n      \"Day 6    3.447316\\n\",\n      \"dtype: float64, Day 0    1.856034\\n\",\n      \"Day 1    2.531194\\n\",\n      \"Day 2    2.892126\\n\",\n      \"Day 3    3.254526\\n\",\n      \"Day 4    3.525219\\n\",\n      \"Day 5    3.737019\\n\",\n      \"Day 6    3.964312\\n\",\n      \"dtype: float64, Day 0    1.345212\\n\",\n      \"Day 1    1.886959\\n\",\n      \"Day 2    2.171284\\n\",\n      \"Day 3    2.552884\\n\",\n      \"Day 4    2.826196\\n\",\n      \"Day 5    3.018288\\n\",\n      \"Day 6    3.233878\\n\",\n      \"dtype: float64, Day 0    1.295354\\n\",\n      \"Day 1    2.013664\\n\",\n      \"Day 2    2.571580\\n\",\n      \"Day 3    3.030218\\n\",\n      \"Day 4    3.427825\\n\",\n      \"Day 5    3.705191\\n\",\n      \"Day 6    3.925567\\n\",\n      \"dtype: float64, Day 0    2.070624\\n\",\n      \"Day 1    3.094105\\n\",\n      \"Day 2    3.947871\\n\",\n      \"Day 3    4.619595\\n\",\n      \"Day 4    5.180633\\n\",\n      \"Day 5    5.687436\\n\",\n      \"Day 6    6.009670\\n\",\n      \"dtype: float64, Day 0    1.316381\\n\",\n      \"Day 1    1.966840\\n\",\n      \"Day 2    2.502535\\n\",\n      \"Day 3    2.893502\\n\",\n      \"Day 4    3.200225\\n\",\n      \"Day 5    3.440756\\n\",\n      \"Day 6    3.654513\\n\",\n      \"dtype: float64, Day 0    1.078722\\n\",\n      \"Day 1    1.585258\\n\",\n      \"Day 2    1.924181\\n\",\n      \"Day 3    2.205625\\n\",\n      \"Day 4    2.456280\\n\",\n      \"Day 5    2.662821\\n\",\n      \"Day 6    2.884063\\n\",\n      \"dtype: float64, Day 0    1.758971\\n\",\n      \"Day 1    2.669222\\n\",\n      \"Day 2    3.290503\\n\",\n      \"Day 3    3.787819\\n\",\n      \"Day 4    4.211245\\n\",\n      \"Day 5    4.505849\\n\",\n      \"Day 6    4.744830\\n\",\n      \"dtype: float64, Day 0    2.275214\\n\",\n      \"Day 1    3.280463\\n\",\n      \"Day 2    3.955057\\n\",\n      \"Day 3    4.390467\\n\",\n      \"Day 4    4.679584\\n\",\n      \"Day 5    4.921191\\n\",\n      \"Day 6    5.289410\\n\",\n      \"dtype: float64, Day 0    2.088063\\n\",\n      \"Day 1    3.051168\\n\",\n      \"Day 2    3.644165\\n\",\n      \"Day 3    4.128778\\n\",\n      \"Day 4    4.558830\\n\",\n      \"Day 5    5.012427\\n\",\n      \"Day 6    5.403060\\n\",\n      \"dtype: float64, Day 0    1.168740\\n\",\n      \"Day 1    1.770978\\n\",\n      \"Day 2    2.177038\\n\",\n      \"Day 3    2.544219\\n\",\n      \"Day 4    2.910062\\n\",\n      \"Day 5    3.233953\\n\",\n      \"Day 6    3.530574\\n\",\n      \"dtype: float64, Day 0    1.287467\\n\",\n      \"Day 1    1.859007\\n\",\n      \"Day 2    2.219068\\n\",\n      \"Day 3    2.589502\\n\",\n      \"Day 4    2.878740\\n\",\n      \"Day 5    3.159265\\n\",\n      \"Day 6    3.382889\\n\",\n      \"dtype: float64, Day 0    2.367974\\n\",\n      \"Day 1    3.226011\\n\",\n      \"Day 2    3.758185\\n\",\n      \"Day 3    4.440659\\n\",\n      \"Day 4    5.179555\\n\",\n      \"Day 5    5.895722\\n\",\n      \"Day 6    6.526989\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.2932086903598066, 2.5745843677223665, 1.410938665851232, 1.8560341967801308, 1.3452118535491773, 1.2953543921120965, 2.0706240035799164, 1.3163805720674671, 1.0787215801674817, 1.7589705465567647, 2.2752138152167474, 2.0880627448808471, 1.1687399396644256, 1.2874672090863213, 2.3679740132036238], [3.5051253714594792, 3.7758939807647049, 2.1101590340760858, 2.5311938217644379, 1.8869590042388795, 2.0136643031598154, 3.0941050306484827, 1.9668400833290185, 1.5852576005774814, 2.6692218359360016, 3.2804625406152712, 3.0511678681477217, 1.7709780411099409, 1.8590066437215769, 3.2260112930119331], [4.3910769731836528, 4.73443172240734, 2.5163581244682867, 2.8921256793047787, 2.1712841603268145, 2.5715803374493698, 3.9478706366382608, 2.5025348594217718, 1.9241814438590694, 3.2905025186776364, 3.9550573049063185, 3.6441654215575263, 2.1770380803647402, 2.2190678049570254, 3.7581852465385679], [5.1361009877654604, 5.4151232904822937, 2.7996492546644527, 3.254525792271338, 2.552883694387567, 3.030218079266386, 4.6195946055962853, 2.8935016311120809, 2.2056247688212975, 3.7878186640966414, 4.3904674266100656, 4.1287784929628275, 2.544219187098574, 2.5895015720185302, 4.440659439319135], [5.7410212232012947, 6.0457890220500268, 3.0383136360900456, 3.5252188012037138, 2.826196220616342, 3.4278249217933108, 5.1806333088289245, 3.2002251370334793, 2.4562804221504946, 4.2112453125333271, 4.6795839169286628, 4.5588302590783849, 2.9100623154365133, 2.8787401524867353, 5.1795549205147617], [6.3168411174496839, 6.565847199104029, 3.2619156971270429, 3.7370190918129889, 3.0182882726444662, 3.7051905637636322, 5.6874360343827588, 3.4407560971972138, 2.6628209714516475, 4.5058494414038934, 4.9211912763832011, 5.0124273285269396, 3.2339526748757406, 3.1592652479164429, 5.8957221091782941], [6.8191565595888122, 7.0508931309669327, 3.4473160422940028, 3.964312202423975, 3.2338778357552651, 3.9255667936052023, 6.0096699233415531, 3.6545134565638175, 2.8840627731649513, 4.7448298869292778, 5.2894102436662802, 5.4030603118359393, 3.5305738678012406, 3.3828891687730129, 6.526988671729911]]\\n\",\n      \"Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 21 days' worth of prior data\\n\",\n    \"execute(steps=15, days=21, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1979-11-06  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063  7.09084   \\n\",\n      \"1979-11-07  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063  7.39063   \\n\",\n      \"1979-11-08  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052  7.39063   \\n\",\n      \"1979-11-09  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388  7.26052   \\n\",\n      \"1979-11-10  6.55789  6.76607  6.76607  6.84414  6.84414   7.1304   7.0388   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1979-11-06  6.83061  6.87017  6.92221   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1979-11-07  7.09084  6.83061  6.87017   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1979-11-08  7.39063  7.09084  6.83061   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1979-11-09  7.39063  7.39063  7.09084   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1979-11-10  7.26052  7.39063  7.39063   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1979-11-06  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703  6.47982  \\n\",\n      \"1979-11-07   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703  6.47982  \\n\",\n      \"1979-11-08  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703  6.47982  \\n\",\n      \"1979-11-09  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703  6.47982  \\n\",\n      \"1979-11-10   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703  6.46628  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.265589379571\\n\",\n      \"Explained Variance Score:  0.923826112353\\n\",\n      \"Mean Squared Error:  0.137645958828\\n\",\n      \"R2 score:  0.924053762052\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1981-10-29  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125  4.02009   \\n\",\n      \"1981-10-30  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623  4.15125   \\n\",\n      \"1981-10-31  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783  4.17623   \\n\",\n      \"1981-11-01  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125  4.26783   \\n\",\n      \"1981-11-02  4.16374  3.95555  3.85146  4.03362  3.92953  4.15125  4.15125   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1981-10-29   3.9035  3.65576  3.70781   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1981-10-30  4.02009   3.9035  3.65576   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1981-10-31  4.15125  4.02009   3.9035   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1981-11-01  4.17623  4.15125  4.02009   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1981-11-02  4.26783  4.17623  4.15125   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1981-10-29  3.69532  3.53918  3.47464  3.39553  3.44757   4.30739   3.3185  \\n\",\n      \"1981-10-30  3.85146  3.69532  3.53918  3.47464  3.39553   4.30739   3.3185  \\n\",\n      \"1981-10-31  3.95555  3.85146  3.69532  3.53918  3.47464   4.30739   3.3185  \\n\",\n      \"1981-11-01  3.87748  3.95555  3.85146  3.69532  3.53918   4.30739  3.48713  \\n\",\n      \"1981-11-02  3.66929  3.87748  3.95555  3.85146  3.69532   4.30739  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.147636752695\\n\",\n      \"Explained Variance Score:  0.723234662854\\n\",\n      \"Mean Squared Error:  0.0364831332012\\n\",\n      \"R2 score:  0.711874870251\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1983-10-22  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032  4.28032   \\n\",\n      \"1983-10-23  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192  4.28032   \\n\",\n      \"1983-10-24  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192  4.37192   \\n\",\n      \"1983-10-25  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988  4.37192   \\n\",\n      \"1983-10-26  4.31988  4.18976  4.15125  4.16374  4.16374  4.24181  4.31988   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1983-10-22  4.30739  4.25534  4.25534   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1983-10-23  4.28032  4.30739  4.25534   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1983-10-24  4.28032  4.28032  4.30739   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1983-10-25  4.37192  4.28032  4.28032   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1983-10-26  4.37192  4.37192  4.28032   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1983-10-22  4.35943  4.39795  4.43646  4.58011  4.56762   4.60613  4.13771  \\n\",\n      \"1983-10-23  4.37192  4.35943  4.39795  4.43646  4.58011   4.60613  4.13771  \\n\",\n      \"1983-10-24  4.42397  4.37192  4.35943  4.39795  4.43646   4.56762  4.12418  \\n\",\n      \"1983-10-25  4.39795  4.42397  4.37192  4.35943  4.39795   4.56762  4.12418  \\n\",\n      \"1983-10-26  4.44999  4.39795  4.42397  4.37192  4.35943   4.56762  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.0982455236583\\n\",\n      \"Explained Variance Score:  0.738585897896\\n\",\n      \"Mean Squared Error:  0.0162113557319\\n\",\n      \"R2 score:  0.736956378599\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1985-10-12  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262  5.04853   \\n\",\n      \"1985-10-13  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423  5.15262   \\n\",\n      \"1985-10-14  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467  5.24423   \\n\",\n      \"1985-10-15  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865  5.20467   \\n\",\n      \"1985-10-16  5.40037  5.23069  5.14013  5.15262  5.15262  5.17865  5.17865   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1985-10-12  4.99648  5.08809  5.15262   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1985-10-13  5.04853  4.99648  5.08809   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1985-10-14  5.15262  5.04853  4.99648   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1985-10-15  5.24423  5.15262  5.04853   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1985-10-16  5.20467  5.24423  5.15262   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1985-10-12  4.98399  4.99648  4.90488  5.15262  5.20467   5.26921  4.89239  \\n\",\n      \"1985-10-13  5.15262  4.98399  4.99648  4.90488  5.15262   5.26921  4.89239  \\n\",\n      \"1985-10-14  5.16512  5.15262  4.98399  4.99648  4.90488   5.26921  4.89239  \\n\",\n      \"1985-10-15  5.14013  5.16512  5.15262  4.98399  4.99648   5.26921  4.90488  \\n\",\n      \"1985-10-16  5.08809  5.14013  5.16512  5.15262  4.98399   5.43888  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.125644826003\\n\",\n      \"Explained Variance Score:  0.64103714916\\n\",\n      \"Mean Squared Error:  0.0279968462683\\n\",\n      \"R2 score:  0.621838958431\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1987-10-06  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152  5.83439   \\n\",\n      \"1987-10-07  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103  5.90152   \\n\",\n      \"1987-10-08  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038  5.86103   \\n\",\n      \"1987-10-09  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759  5.98038   \\n\",\n      \"1987-10-10  5.71397  5.70118  5.83439  5.86103  5.99424  5.98038  5.96759   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1987-10-06  5.76725  5.76725  5.84824   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1987-10-07  5.83439  5.76725  5.76725   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1987-10-08  5.90152  5.83439  5.76725   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1987-10-09  5.86103  5.90152  5.83439   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1987-10-10  5.98038  5.86103  5.90152   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1987-10-06  5.66069  5.79496  5.72782  5.71397   5.6479   6.07416  5.62126  \\n\",\n      \"1987-10-07  5.70118  5.66069  5.79496  5.72782  5.71397   6.07416  5.62126  \\n\",\n      \"1987-10-08  5.72782  5.70118  5.66069  5.79496  5.72782   6.07416  5.62126  \\n\",\n      \"1987-10-09  5.67454  5.72782  5.70118  5.66069  5.79496   6.07416  5.62126  \\n\",\n      \"1987-10-10  5.74168  5.67454  5.72782  5.70118  5.66069   6.07416  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101127508153\\n\",\n      \"Explained Variance Score:  0.896285604892\\n\",\n      \"Mean Squared Error:  0.0175440030481\\n\",\n      \"R2 score:  0.895446126394\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1989-09-28  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302  8.73244   \\n\",\n      \"1989-09-29   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639  8.66302   \\n\",\n      \"1989-09-30  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264  8.52639   \\n\",\n      \"1989-10-01  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129  8.44264   \\n\",\n      \"1989-10-02  8.29169  8.25092  8.23659   8.1815  8.20904  8.34678  8.47129   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1989-09-28  8.84263  8.81508  8.84263   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1989-09-29  8.73244  8.84263  8.81508   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1989-09-30  8.66302  8.73244  8.84263   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1989-10-01  8.52639  8.66302  8.73244   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1989-10-02  8.44264  8.52639  8.66302   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1989-09-28  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  8.20904  \\n\",\n      \"1989-09-29  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791   8.1264  \\n\",\n      \"1989-09-30  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791   8.1264  \\n\",\n      \"1989-10-01  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791   8.1264  \\n\",\n      \"1989-10-02  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791   8.1264  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.192674964535\\n\",\n      \"Explained Variance Score:  0.915662166478\\n\",\n      \"Mean Squared Error:  0.0693827817393\\n\",\n      \"R2 score:  0.904473158945\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-09-19   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252  4.86252   \\n\",\n      \"1991-09-20  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409  4.86252   \\n\",\n      \"1991-09-21  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409  4.83409   \\n\",\n      \"1991-09-22  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418  4.83409   \\n\",\n      \"1991-09-23  4.96148  4.99105  4.93418  4.94783   5.0047  5.03314  4.93418   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1991-09-19  4.89096  4.91925  4.91925   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1991-09-20  4.86252  4.89096  4.91925   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1991-09-21  4.86252  4.86252  4.89096   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1991-09-22  4.83409  4.86252  4.86252   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1991-09-23  4.83409  4.83409  4.86252   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1991-09-19  5.11657  5.15966  5.22997  5.21636  5.18801   5.27306  4.69245  \\n\",\n      \"1991-09-20  5.11657  5.11657  5.15966  5.22997  5.21636   5.24471  4.69245  \\n\",\n      \"1991-09-21  5.03265  5.11657  5.11657  5.15966  5.22997   5.24471  4.69245  \\n\",\n      \"1991-09-22  5.01791  5.03265  5.11657  5.11657  5.15966   5.15966  4.69245  \\n\",\n      \"1991-09-23  4.96121  5.01791  5.03265  5.11657  5.11657   5.14605  4.69245  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.169117487826\\n\",\n      \"Explained Variance Score:  0.885949963038\\n\",\n      \"Mean Squared Error:  0.0583397959215\\n\",\n      \"R2 score:  0.84902479478\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-09-09  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597  9.29831   \\n\",\n      \"1993-09-10  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827  9.35597   \\n\",\n      \"1993-09-11  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272  9.28827   \\n\",\n      \"1993-09-12  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103  9.17272   \\n\",\n      \"1993-09-13  9.17272  9.12881  9.09992  9.01325  8.94161   8.8977  9.07103   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1993-09-09  9.25563  9.24064  9.35597   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-09-10  9.29831  9.25563  9.24064   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-09-11  9.35597  9.29831  9.25563   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-09-12  9.28827  9.35597  9.29831   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-09-13  9.17272  9.28827  9.35597   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1993-09-09  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-10  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.86881  \\n\",\n      \"1993-09-11   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.86881  \\n\",\n      \"1993-09-12  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.86881  \\n\",\n      \"1993-09-13   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.86881  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.173953716023\\n\",\n      \"Explained Variance Score:  0.882699120583\\n\",\n      \"Mean Squared Error:  0.055246949342\\n\",\n      \"R2 score:  0.868280591863\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-09-01  15.5764  15.4744  15.3265  15.3265   15.005  14.7703  14.7844   \\n\",\n      \"1995-09-02  15.6127  15.5764  15.4744  15.3265  15.3265   15.005  14.7703   \\n\",\n      \"1995-09-03  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   15.005   \\n\",\n      \"1995-09-04  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265  15.3265   \\n\",\n      \"1995-09-05  16.2301  16.2442  16.0984  15.6127  15.5764  15.4744  15.3265   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1995-09-01  14.7551  14.7551  14.7551   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-09-02  14.7844  14.7551  14.7551   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-09-03  14.7703  14.7844  14.7551   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-09-04   15.005  14.7703  14.7844   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-09-05  15.3265   15.005  14.7703   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1995-09-01  15.1364  15.1071  15.3124  15.4298  15.2397   15.5764  14.6378  \\n\",\n      \"1995-09-02  15.4298  15.1364  15.1071  15.3124  15.4298   15.7738  14.6378  \\n\",\n      \"1995-09-03  15.4298  15.4298  15.1364  15.1071  15.3124   16.1125  14.6378  \\n\",\n      \"1995-09-04  15.3418  15.4298  15.4298  15.1364  15.1071   16.3183  14.6378  \\n\",\n      \"1995-09-05  15.1071  15.3418  15.4298  15.4298  15.1364   16.3183  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.239159740022\\n\",\n      \"Explained Variance Score:  0.944241221285\\n\",\n      \"Mean Squared Error:  0.101972988604\\n\",\n      \"R2 score:  0.93697372492\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-08-23  21.5519  21.8391  22.1552  22.1407  21.7933   21.523  21.3565   \\n\",\n      \"1997-08-24  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   21.523   \\n\",\n      \"1997-08-25  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407  21.7933   \\n\",\n      \"1997-08-26  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552  22.1407   \\n\",\n      \"1997-08-27  22.3992  21.7188  21.3556  21.0965  21.5519  21.8391  22.1552   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1997-08-23  21.4771  21.0235  20.8594   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-08-24  21.3565  21.4771  21.0235   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-08-25   21.523  21.3565  21.4771   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-08-26  21.7933   21.523  21.3565   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-08-27  22.1407  21.7933   21.523   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1997-08-23  20.8883  21.2358  20.7387  21.0403  22.0346   22.1721  19.6528  \\n\",\n      \"1997-08-24  21.2069  20.8883  21.2358  20.7387  21.0403   22.1721  19.6528  \\n\",\n      \"1997-08-25  20.9197  21.2069  20.8883  21.2358  20.7387   22.1721  19.6528  \\n\",\n      \"1997-08-26  20.5119  20.9197  21.2069  20.8883  21.2358   22.1721  19.6528  \\n\",\n      \"1997-08-27  20.6036  20.5119  20.9197  21.2069  20.8883   22.3992  19.6528  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601937849493\\n\",\n      \"Explained Variance Score:  0.588903471007\\n\",\n      \"Mean Squared Error:  0.583981651008\\n\",\n      \"R2 score:  0.583088547014\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-08-14  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316  26.7533   \\n\",\n      \"1999-08-15  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616  26.0316   \\n\",\n      \"1999-08-16  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098  26.0616   \\n\",\n      \"1999-08-17  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604  25.3098   \\n\",\n      \"1999-08-18  24.6834  24.5881  24.6533  24.9991  26.0015  25.5304  25.5604   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"1999-08-14  27.0339  27.3146  26.9086   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-08-15  26.7533  27.0339  27.3146   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-08-16  26.0316  26.7533  27.0339   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-08-17  26.0616  26.0316  26.7533   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-08-18  25.3098  26.0616  26.0316   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"1999-08-14  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   24.964  \\n\",\n      \"1999-08-15  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   24.964  \\n\",\n      \"1999-08-16  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229  24.4027  \\n\",\n      \"1999-08-17  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229  24.4027  \\n\",\n      \"1999-08-18  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229  24.4027  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.794397514735\\n\",\n      \"Explained Variance Score:  0.589058113891\\n\",\n      \"Mean Squared Error:  1.06170118828\\n\",\n      \"R2 score:  0.586860973735\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-08-08  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349  21.1594   \\n\",\n      \"2001-08-09  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786  21.3349   \\n\",\n      \"2001-08-10  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588  20.9786   \\n\",\n      \"2001-08-11  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767  19.5588   \\n\",\n      \"2001-08-12  19.8885  20.1544  20.4841  20.3405  20.9893  20.4468  20.2767   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2001-08-08  21.2445  21.2658  22.3559   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-08-09  21.1594  21.2445  21.2658   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-08-10  21.3349  21.1594  21.2445   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-08-11  20.9786  21.3349  21.1594   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-08-12  19.5588  20.9786  21.3349   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2001-08-08  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  19.2769  \\n\",\n      \"2001-08-09  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  19.2769  \\n\",\n      \"2001-08-10  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  19.2769  \\n\",\n      \"2001-08-11   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  19.2769  \\n\",\n      \"2001-08-12  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  19.2769  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.716918405219\\n\",\n      \"Explained Variance Score:  0.831164391363\\n\",\n      \"Mean Squared Error:  0.921046477113\\n\",\n      \"R2 score:  0.8261118985\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-08-01  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   33.917   \\n\",\n      \"2003-08-02  33.4066  33.0453  33.6303  33.7966   34.112  33.8195  33.8826   \\n\",\n      \"2003-08-03  33.5041  33.4066  33.0453  33.6303  33.7966   34.112  33.8195   \\n\",\n      \"2003-08-04  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   34.112   \\n\",\n      \"2003-08-05  33.9973  33.2632  33.5041  33.4066  33.0453  33.6303  33.7966   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2003-08-01  33.4926  33.5729   33.831   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-08-02   33.917  33.4926  33.5729   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-08-03  33.8826   33.917  33.4926   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-08-04  33.8195  33.8826   33.917   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-08-05   34.112  33.8195  33.8826   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2003-08-01  32.7585  33.0338  33.3206  32.5234  32.3628   34.3357  32.0187  \\n\",\n      \"2003-08-02  33.0052  32.7585  33.0338  33.3206  32.5234   34.3357  32.5005  \\n\",\n      \"2003-08-03  33.1944  33.0052  32.7585  33.0338  33.3206   34.3357  32.7585  \\n\",\n      \"2003-08-04  33.5442  33.1944  33.0052  32.7585  33.0338   34.3357  32.7585  \\n\",\n      \"2003-08-05  32.8962  33.5442  33.1944  33.0052  32.7585   34.3357  32.7585  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.58624564363\\n\",\n      \"Explained Variance Score:  0.917058612472\\n\",\n      \"Mean Squared Error:  0.59587482901\\n\",\n      \"R2 score:  0.858798903078\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-08-02  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538  40.3008   \\n\",\n      \"2005-08-03  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943  41.2538   \\n\",\n      \"2005-08-04  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551  41.3943   \\n\",\n      \"2005-08-05  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898  40.6551   \\n\",\n      \"2005-08-06  41.5776  41.8158  42.2862  41.7242  41.4554  41.4187  41.5898   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2005-08-02   39.751  39.0118  39.4211   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-08-03  40.3008   39.751  39.0118   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-08-04  41.2538  40.3008   39.751   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-08-05  41.3943  41.2538  40.3008   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-08-06  40.6551  41.3943  41.2538   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2005-08-02  40.0442  39.6227  40.2275  40.7162   39.867   41.7791  38.8041  \\n\",\n      \"2005-08-03  39.8304  40.0442  39.6227  40.2275  40.7162   41.8952  38.8041  \\n\",\n      \"2005-08-04  39.7082  39.8304  40.0442  39.6227  40.2275   42.3962  38.8041  \\n\",\n      \"2005-08-05  40.2947  39.7082  39.8304  40.0442  39.6227   42.4511  38.8041  \\n\",\n      \"2005-08-06  39.8304  40.2947  39.7082  39.8304  40.0442   42.4511  38.8041  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.802958635558\\n\",\n      \"Explained Variance Score:  0.615314748251\\n\",\n      \"Mean Squared Error:  1.07455580184\\n\",\n      \"R2 score:  0.610929179905\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-07-28  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147  27.0143   \\n\",\n      \"2007-07-29  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639  26.9147   \\n\",\n      \"2007-07-30   31.375  33.8043  29.4037  29.4966  27.4523  31.0033  30.8639   \\n\",\n      \"2007-07-31  28.7068   31.375  33.8043  29.4037  29.4966  27.4523  31.0033   \\n\",\n      \"2007-08-01  29.9082  28.7068   31.375  33.8043  29.4037  29.4966  27.4523   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-23     i-24     i-25  \\\\\\n\",\n      \"2007-07-28  29.6692  29.4834  30.2998   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-07-29  27.0143  29.6692  29.4834   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-07-30  26.9147  27.0143  29.6692   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-07-31  30.8639  26.9147  27.0143   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-08-01  31.0033  30.8639  26.9147   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-26     i-27     i-28     i-29     i-30 Adj. High Adj. Low  \\n\",\n      \"2007-07-28  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-07-29  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-07-30  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-07-31  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-08-01  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 32 columns]\\n\",\n      \"# Days used to predict: 30\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.34141196406\\n\",\n      \"Explained Variance Score:  0.8823848576\\n\",\n      \"Mean Squared Error:  3.23643017946\\n\",\n      \"R2 score:  0.870276149629\\n\",\n      \"Errors:  [Day 0    2.354731\\n\",\n      \"Day 1    3.617706\\n\",\n      \"Day 2    4.564908\\n\",\n      \"Day 3    5.402450\\n\",\n      \"Day 4    6.087475\\n\",\n      \"Day 5    6.735528\\n\",\n      \"Day 6    7.334792\\n\",\n      \"dtype: float64, Day 0    2.684370\\n\",\n      \"Day 1    3.852903\\n\",\n      \"Day 2    4.919655\\n\",\n      \"Day 3    5.540378\\n\",\n      \"Day 4    6.123829\\n\",\n      \"Day 5    6.591851\\n\",\n      \"Day 6    7.025247\\n\",\n      \"dtype: float64, Day 0    1.407306\\n\",\n      \"Day 1    2.099650\\n\",\n      \"Day 2    2.531031\\n\",\n      \"Day 3    2.832449\\n\",\n      \"Day 4    3.077996\\n\",\n      \"Day 5    3.281542\\n\",\n      \"Day 6    3.453131\\n\",\n      \"dtype: float64, Day 0    1.825721\\n\",\n      \"Day 1    2.520094\\n\",\n      \"Day 2    2.983638\\n\",\n      \"Day 3    3.401652\\n\",\n      \"Day 4    3.768000\\n\",\n      \"Day 5    4.095968\\n\",\n      \"Day 6    4.422964\\n\",\n      \"dtype: float64, Day 0    1.257130\\n\",\n      \"Day 1    1.742509\\n\",\n      \"Day 2    2.011009\\n\",\n      \"Day 3    2.320050\\n\",\n      \"Day 4    2.543126\\n\",\n      \"Day 5    2.742165\\n\",\n      \"Day 6    2.891132\\n\",\n      \"dtype: float64, Day 0    1.307062\\n\",\n      \"Day 1    2.076760\\n\",\n      \"Day 2    2.667276\\n\",\n      \"Day 3    3.186891\\n\",\n      \"Day 4    3.592918\\n\",\n      \"Day 5    3.874978\\n\",\n      \"Day 6    4.077384\\n\",\n      \"dtype: float64, Day 0    1.998851\\n\",\n      \"Day 1    2.982523\\n\",\n      \"Day 2    3.761325\\n\",\n      \"Day 3    4.418890\\n\",\n      \"Day 4    5.033414\\n\",\n      \"Day 5    5.562387\\n\",\n      \"Day 6    5.911577\\n\",\n      \"dtype: float64, Day 0    1.277426\\n\",\n      \"Day 1    1.923855\\n\",\n      \"Day 2    2.487065\\n\",\n      \"Day 3    2.889547\\n\",\n      \"Day 4    3.230316\\n\",\n      \"Day 5    3.461072\\n\",\n      \"Day 6    3.683591\\n\",\n      \"dtype: float64, Day 0    1.097288\\n\",\n      \"Day 1    1.628487\\n\",\n      \"Day 2    1.994699\\n\",\n      \"Day 3    2.312647\\n\",\n      \"Day 4    2.596636\\n\",\n      \"Day 5    2.841767\\n\",\n      \"Day 6    3.057756\\n\",\n      \"dtype: float64, Day 0    1.771321\\n\",\n      \"Day 1    2.694111\\n\",\n      \"Day 2    3.368343\\n\",\n      \"Day 3    3.874160\\n\",\n      \"Day 4    4.276492\\n\",\n      \"Day 5    4.556417\\n\",\n      \"Day 6    4.791154\\n\",\n      \"dtype: float64, Day 0    2.251579\\n\",\n      \"Day 1    3.193384\\n\",\n      \"Day 2    3.829452\\n\",\n      \"Day 3    4.217571\\n\",\n      \"Day 4    4.533379\\n\",\n      \"Day 5    4.779192\\n\",\n      \"Day 6    5.059462\\n\",\n      \"dtype: float64, Day 0    2.193631\\n\",\n      \"Day 1    3.112622\\n\",\n      \"Day 2    3.737362\\n\",\n      \"Day 3    4.213365\\n\",\n      \"Day 4    4.652926\\n\",\n      \"Day 5    5.086102\\n\",\n      \"Day 6    5.455685\\n\",\n      \"dtype: float64, Day 0    1.132281\\n\",\n      \"Day 1    1.702326\\n\",\n      \"Day 2    2.080607\\n\",\n      \"Day 3    2.449302\\n\",\n      \"Day 4    2.789190\\n\",\n      \"Day 5    3.085403\\n\",\n      \"Day 6    3.365976\\n\",\n      \"dtype: float64, Day 0    1.278194\\n\",\n      \"Day 1    1.825699\\n\",\n      \"Day 2    2.140600\\n\",\n      \"Day 3    2.465325\\n\",\n      \"Day 4    2.768073\\n\",\n      \"Day 5    3.032542\\n\",\n      \"Day 6    3.241012\\n\",\n      \"dtype: float64, Day 0    2.921856\\n\",\n      \"Day 1    3.924810\\n\",\n      \"Day 2    4.205156\\n\",\n      \"Day 3    4.964244\\n\",\n      \"Day 4    5.645297\\n\",\n      \"Day 5    6.148552\\n\",\n      \"Day 6    6.799497\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.3547309468646977, 2.6843698878562434, 1.4073060638117993, 1.8257205265526617, 1.2571302541332623, 1.3070616670286337, 1.9988507624239815, 1.2774261200573758, 1.0972884438734316, 1.7713207964022895, 2.2515787402833238, 2.1936305240618905, 1.1322810611135845, 1.2781940755820749, 2.9218559619814704], [3.6177056160450944, 3.8529029980585308, 2.0996497849323741, 2.5200941777904116, 1.7425090853194207, 2.0767602945362782, 2.9825225833769546, 1.9238545410998846, 1.6284871067250986, 2.6941111554594688, 3.193383888830593, 3.1126222980274192, 1.7023257899660558, 1.8256993808103501, 3.9248097333153922], [4.5649082663487981, 4.919654734680905, 2.5310312168153977, 2.9836384156717788, 2.0110091568888309, 2.6672760574192766, 3.7613247626665651, 2.4870650021890679, 1.9946989514581441, 3.3683432902069392, 3.8294519687663078, 3.7373617983789833, 2.080606518150474, 2.14060014177976, 4.2051556740937093], [5.4024502775560101, 5.5403781813156501, 2.8324489798600148, 3.4016521599695979, 2.3200498153968843, 3.1868909037254345, 4.4188904926330173, 2.8895466676894839, 2.3126474095813565, 3.8741601379971553, 4.2175713308860896, 4.2133650475354072, 2.4493016707758857, 2.465324887372323, 4.9642444869322437], [6.0874752741145528, 6.1238292431129455, 3.0779955606900775, 3.7679999784167957, 2.5431262388706335, 3.5929183893538976, 5.033414123710652, 3.230316091173671, 2.5966357031707243, 4.2764916616348794, 4.5333785968485394, 4.6529261285101802, 2.7891901712253597, 2.7680731557270328, 5.6452968644470065], [6.7355277492693739, 6.5918510035213815, 3.2815416890282374, 4.0959675621588527, 2.742164531970531, 3.874977862896968, 5.5623865765175768, 3.461071665532764, 2.8417667456729157, 4.5564166688903143, 4.779192398380526, 5.086101610706165, 3.0854034250811742, 3.0325416694322258, 6.1485518594275472], [7.3347922060064086, 7.025247411581879, 3.453130554000138, 4.4229639877662024, 2.8911324077574512, 4.0773842621070342, 5.9115774229114351, 3.6835908281785965, 3.0577563801686329, 4.7911542187225136, 5.0594615569728996, 5.4556849461479642, 3.3659760913065653, 3.2410121186171836, 6.7994967443732222]]\\n\",\n      \"Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 30 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=30, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1980-02-14  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058  5.04853   \\n\",\n      \"1980-02-15  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251  5.10058   \\n\",\n      \"1980-02-16  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058  5.02251   \\n\",\n      \"1980-02-17  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627  5.10058   \\n\",\n      \"1980-02-18  5.20467  5.30876  5.32126  5.38683  5.28274  5.32126  5.29627   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1980-02-14  5.03604  4.89239  4.91841   ...     8.14531  8.22338   7.9111   \\n\",\n      \"1980-02-15  5.04853  5.03604  4.89239   ...      8.0027  8.14531  8.22338   \\n\",\n      \"1980-02-16  5.10058  5.04853  5.03604   ...     7.78098   8.0027  8.14531   \\n\",\n      \"1980-02-17  5.02251  5.10058  5.04853   ...     7.79452  7.78098   8.0027   \\n\",\n      \"1980-02-18  5.10058  5.02251  5.10058   ...     7.72894  7.79452  7.78098   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1980-02-14  7.67689  7.69042  7.67689  7.59882  7.72894   8.36703   4.6842  \\n\",\n      \"1980-02-15   7.9111  7.67689  7.69042  7.67689  7.59882   8.36703   4.6842  \\n\",\n      \"1980-02-16  8.22338   7.9111  7.67689  7.69042  7.67689   8.36703   4.6842  \\n\",\n      \"1980-02-17  8.14531  8.22338   7.9111  7.67689  7.69042   8.36703   4.6842  \\n\",\n      \"1980-02-18   8.0027  8.14531  8.22338   7.9111  7.67689   8.36703   4.6842  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.308123611359\\n\",\n      \"Explained Variance Score:  0.883196210344\\n\",\n      \"Mean Squared Error:  0.174895557318\\n\",\n      \"R2 score:  0.882761749111\\n\",\n      \"Buffer:  500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1982-02-06  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023  4.67171   \\n\",\n      \"1982-02-07  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376  4.71023   \\n\",\n      \"1982-02-08  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874  4.72376   \\n\",\n      \"1982-02-09  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967  4.74874   \\n\",\n      \"1982-02-10  4.91841  4.90488  4.84034  4.81432  4.63216  4.74874   4.6967   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1982-02-06  4.74874  4.73625   4.7883   ...     3.87748  3.95555  3.85146   \\n\",\n      \"1982-02-07  4.67171  4.74874  4.73625   ...     3.66929  3.87748  3.95555   \\n\",\n      \"1982-02-08  4.71023  4.67171  4.74874   ...     3.66929  3.66929  3.87748   \\n\",\n      \"1982-02-09  4.72376  4.71023  4.67171   ...     3.64327  3.66929  3.66929   \\n\",\n      \"1982-02-10  4.74874  4.72376  4.71023   ...     3.68283  3.64327  3.66929   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1982-02-06  3.69532  3.53918  3.47464  3.39553  3.44757   4.85284   3.3185  \\n\",\n      \"1982-02-07  3.85146  3.69532  3.53918  3.47464  3.39553   4.85284   3.3185  \\n\",\n      \"1982-02-08  3.95555  3.85146  3.69532  3.53918  3.47464    4.8799   3.3185  \\n\",\n      \"1982-02-09  3.87748  3.95555  3.85146  3.69532  3.53918   4.94444  3.48713  \\n\",\n      \"1982-02-10  3.66929  3.87748  3.95555  3.85146  3.69532   4.94444  3.53918  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.153771584056\\n\",\n      \"Explained Variance Score:  0.858967690029\\n\",\n      \"Mean Squared Error:  0.037657109341\\n\",\n      \"R2 score:  0.855415148739\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1984-02-01  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637  4.82785   \\n\",\n      \"1984-02-02  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488  4.86637   \\n\",\n      \"1984-02-03   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637  4.90488   \\n\",\n      \"1984-02-04   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488  4.86637   \\n\",\n      \"1984-02-05  4.90488   4.8799   4.8799  4.91841  4.90488  4.89239  4.90488   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1984-02-01   4.7883   4.7883  4.84034   ...     4.39795  4.42397  4.37192   \\n\",\n      \"1984-02-02  4.82785   4.7883   4.7883   ...     4.44999  4.39795  4.42397   \\n\",\n      \"1984-02-03  4.86637  4.82785   4.7883   ...     4.37192  4.44999  4.39795   \\n\",\n      \"1984-02-04  4.90488  4.86637  4.82785   ...     4.47602  4.37192  4.44999   \\n\",\n      \"1984-02-05  4.86637  4.90488  4.86637   ...     4.55409  4.47602  4.37192   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1984-02-01  4.35943  4.39795  4.43646  4.58011  4.56762   5.02251  4.12418  \\n\",\n      \"1984-02-02  4.37192  4.35943  4.39795  4.43646  4.58011   5.02251  4.12418  \\n\",\n      \"1984-02-03  4.42397  4.37192  4.35943  4.39795  4.43646   5.02251  4.12418  \\n\",\n      \"1984-02-04  4.39795  4.42397  4.37192  4.35943  4.39795   5.02251  4.12418  \\n\",\n      \"1984-02-05  4.44999  4.39795  4.42397  4.37192  4.35943   5.02251  4.12418  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.101043295151\\n\",\n      \"Explained Variance Score:  0.769182909465\\n\",\n      \"Mean Squared Error:  0.0161008843587\\n\",\n      \"R2 score:  0.617638917329\\n\",\n      \"Buffer:  1500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1986-01-22  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048  7.36443   \\n\",\n      \"1986-01-23  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685  7.43048   \\n\",\n      \"1986-01-24  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322  7.41685   \\n\",\n      \"1986-01-25  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926  7.40322   \\n\",\n      \"1986-01-26  7.39064  7.41685  7.44306  7.44306  7.44306  7.49547  7.46926   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1986-01-22  7.36443  7.39064  7.48289   ...     5.14013  5.16512  5.15262   \\n\",\n      \"1986-01-23  7.36443  7.36443  7.39064   ...     5.08809  5.14013  5.16512   \\n\",\n      \"1986-01-24  7.43048  7.36443  7.36443   ...     5.17865  5.08809  5.14013   \\n\",\n      \"1986-01-25  7.41685  7.43048  7.36443   ...     5.14013  5.17865  5.08809   \\n\",\n      \"1986-01-26  7.40322  7.41685  7.43048   ...     5.25672  5.14013  5.17865   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1986-01-22  4.98399  4.99648  4.90488  5.15262  5.20467    7.5741  4.89239  \\n\",\n      \"1986-01-23  5.15262  4.98399  4.99648  4.90488  5.15262    7.5741  4.89239  \\n\",\n      \"1986-01-24  5.16512  5.15262  4.98399  4.99648  4.90488    7.5741  4.89239  \\n\",\n      \"1986-01-25  5.14013  5.16512  5.15262  4.98399  4.99648    7.5741  4.90488  \\n\",\n      \"1986-01-26  5.08809  5.14013  5.16512  5.15262  4.98399    7.5741  4.91841  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.212433916939\\n\",\n      \"Explained Variance Score:  0.908541965433\\n\",\n      \"Mean Squared Error:  0.0861793881797\\n\",\n      \"R2 score:  0.881980679802\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1988-01-14   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695  6.44985   \\n\",\n      \"1988-01-15   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297  6.43695   \\n\",\n      \"1988-01-16  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922  6.42297   \\n\",\n      \"1988-01-17  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832  6.36922   \\n\",\n      \"1988-01-18  6.23485  6.31547  6.34235   6.2757   6.3015  6.24775   6.3832   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1988-01-14  6.49069  6.42297  6.50359   ...     5.67454  5.72782  5.70118   \\n\",\n      \"1988-01-15  6.44985  6.49069  6.42297   ...     5.74168  5.67454  5.72782   \\n\",\n      \"1988-01-16  6.43695  6.44985  6.49069   ...     5.72782  5.74168  5.67454   \\n\",\n      \"1988-01-17  6.42297  6.43695  6.44985   ...      5.6479  5.72782  5.74168   \\n\",\n      \"1988-01-18  6.36922  6.42297  6.43695   ...     5.70118   5.6479  5.72782   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1988-01-14  5.66069  5.79496  5.72782  5.71397   5.6479   6.62399  5.62126  \\n\",\n      \"1988-01-15  5.70118  5.66069  5.79496  5.72782  5.71397   6.62399  5.62126  \\n\",\n      \"1988-01-16  5.72782  5.70118  5.66069  5.79496  5.72782   6.62399  5.62126  \\n\",\n      \"1988-01-17  5.67454  5.72782  5.70118  5.66069  5.79496   6.62399  5.62126  \\n\",\n      \"1988-01-18  5.74168  5.67454  5.72782  5.70118  5.66069   6.62399  5.62126  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.104323850003\\n\",\n      \"Explained Variance Score:  0.850284924048\\n\",\n      \"Mean Squared Error:  0.0187007596422\\n\",\n      \"R2 score:  0.835576466493\\n\",\n      \"Buffer:  2500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1990-01-05  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067  8.25312   \\n\",\n      \"1990-01-06  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131  8.06067   \\n\",\n      \"1990-01-07  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131  7.92131   \\n\",\n      \"1990-01-08  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007  7.92131   \\n\",\n      \"1990-01-09  7.67357  7.82509  7.75541  7.74214  7.90804  8.00537  7.95007   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1990-01-05  8.30842  8.46105  8.41902   ...     8.62105  8.71769  8.73087   \\n\",\n      \"1990-01-06  8.25312  8.30842  8.46105   ...     8.71769  8.62105  8.71769   \\n\",\n      \"1990-01-07  8.06067  8.25312  8.30842   ...     8.64851  8.71769  8.62105   \\n\",\n      \"1990-01-08  7.92131  8.06067  8.25312   ...     8.57932  8.64851  8.71769   \\n\",\n      \"1990-01-09  7.92131  7.92131  8.06067   ...      8.4695  8.57932  8.64851   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1990-01-05  8.78578  8.57932  8.49805  8.51123  8.56614   9.00791  7.57546  \\n\",\n      \"1990-01-06  8.73087  8.78578  8.57932  8.49805  8.51123   9.00791  7.57546  \\n\",\n      \"1990-01-07  8.71769  8.73087  8.78578  8.57932  8.49805   9.00791  7.57546  \\n\",\n      \"1990-01-08  8.62105  8.71769  8.73087  8.78578  8.57932   9.00791  7.57546  \\n\",\n      \"1990-01-09  8.71769  8.62105  8.71769  8.73087  8.78578   9.00791  7.57546  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.210351894406\\n\",\n      \"Explained Variance Score:  0.741325230038\\n\",\n      \"Mean Squared Error:  0.0765172809939\\n\",\n      \"R2 score:  0.70389414274\\n\",\n      \"Buffer:  3000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1991-12-31  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   5.7994   \\n\",\n      \"1992-01-01  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241  5.82675   \\n\",\n      \"1992-01-02  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759  5.74241   \\n\",\n      \"1992-01-03  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421  5.72759   \\n\",\n      \"1992-01-04  6.19833  6.15502  6.11171  5.94073  5.74241   5.6421   5.6421   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1991-12-31   5.7994  5.75608  5.71277   ...     5.01791  5.03265  5.11657   \\n\",\n      \"1992-01-01   5.7994   5.7994  5.75608   ...     4.96121  5.01791  5.03265   \\n\",\n      \"1992-01-02  5.82675   5.7994   5.7994   ...     4.90451  4.96121  5.01791   \\n\",\n      \"1992-01-03  5.74241  5.82675   5.7994   ...     4.69245  4.90451  4.96121   \\n\",\n      \"1992-01-04  5.72759  5.74241  5.82675   ...     4.80585  4.69245  4.90451   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1991-12-31  5.11657  5.15966  5.22997  5.21636  5.18801   5.87006  4.67712  \\n\",\n      \"1992-01-01  5.11657  5.11657  5.15966  5.22997  5.21636   5.95555  4.67712  \\n\",\n      \"1992-01-02  5.03265  5.11657  5.11657  5.15966  5.22997   6.14134  4.67712  \\n\",\n      \"1992-01-03  5.01791  5.03265  5.11657  5.11657  5.15966    6.1687  4.67712  \\n\",\n      \"1992-01-04  4.96121  5.01791  5.03265  5.11657  5.11657   6.22569  4.67712  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.183122699785\\n\",\n      \"Explained Variance Score:  0.66511338143\\n\",\n      \"Mean Squared Error:  0.0658789640265\\n\",\n      \"R2 score:  0.599655687338\\n\",\n      \"Buffer:  3500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1993-12-22  8.9178  9.06257  9.01972  8.94161  8.78214  8.83992  8.78214   \\n\",\n      \"1993-12-23  8.9178   8.9178  9.06257  9.01972  8.94161  8.78214  8.83992   \\n\",\n      \"1993-12-24  8.9178   8.9178   8.9178  9.06257  9.01972  8.94161  8.78214   \\n\",\n      \"1993-12-25  8.8599   8.9178   8.9178   8.9178  9.06257  9.01972  8.94161   \\n\",\n      \"1993-12-26   8.846   8.8599   8.9178   8.9178   8.9178  9.06257  9.01972   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1993-12-22  8.99938  9.09992  9.14267   ...     9.21296   9.2268  9.08263   \\n\",\n      \"1993-12-23  8.78214  8.99938  9.09992   ...      9.3133  9.21296   9.2268   \\n\",\n      \"1993-12-24  8.83992  8.78214  8.99938   ...     9.32829   9.3133  9.21296   \\n\",\n      \"1993-12-25  8.78214  8.83992  8.78214   ...     9.45747  9.32829   9.3133   \\n\",\n      \"1993-12-26  8.94161  8.78214  8.83992   ...      9.6743  9.45747  9.32829   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1993-12-22  9.11146  9.21296  9.36866  9.29831  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-23  9.08263  9.11146  9.21296  9.36866  9.29831   9.83231  8.65272  \\n\",\n      \"1993-12-24   9.2268  9.08263  9.11146  9.21296  9.36866   9.83231  8.65272  \\n\",\n      \"1993-12-25  9.21296   9.2268  9.08263  9.11146  9.21296   9.83231  8.65272  \\n\",\n      \"1993-12-26   9.3133  9.21296   9.2268  9.08263  9.11146   9.83231  8.65272  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.158445846768\\n\",\n      \"Explained Variance Score:  0.620247529876\\n\",\n      \"Mean Squared Error:  0.0465380189471\\n\",\n      \"R2 score:  0.60132021659\\n\",\n      \"Buffer:  4000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1995-12-13  15.5329   15.356  15.5482  15.6354  15.5482  15.5329  15.4516   \\n\",\n      \"1995-12-14  15.6661  15.5329   15.356  15.5482  15.6354  15.5482  15.5329   \\n\",\n      \"1995-12-15  15.6072  15.6661  15.5329   15.356  15.5482  15.6354  15.5482   \\n\",\n      \"1995-12-16  15.5765  15.6072  15.6661  15.5329   15.356  15.5482  15.6354   \\n\",\n      \"1995-12-17  15.8276  15.5765  15.6072  15.6661  15.5329   15.356  15.5482   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1995-12-13  15.7456  15.7738  16.0396   ...     15.3418  15.4298  15.4298   \\n\",\n      \"1995-12-14  15.4516  15.7456  15.7738   ...     15.1071  15.3418  15.4298   \\n\",\n      \"1995-12-15  15.5329  15.4516  15.7456   ...     15.2538  15.1071  15.3418   \\n\",\n      \"1995-12-16  15.5482  15.5329  15.4516   ...      15.357  15.2538  15.1071   \\n\",\n      \"1995-12-17  15.6354  15.5482  15.5329   ...     15.4004   15.357  15.2538   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1995-12-13  15.1364  15.1071  15.3124  15.4298  15.2397   17.2886  14.6378  \\n\",\n      \"1995-12-14  15.4298  15.1364  15.1071  15.3124  15.4298   17.2886  14.6378  \\n\",\n      \"1995-12-15  15.4298  15.4298  15.1364  15.1071  15.3124   17.2886  14.6378  \\n\",\n      \"1995-12-16  15.3418  15.4298  15.4298  15.1364  15.1071   17.2886  14.6378  \\n\",\n      \"1995-12-17  15.1071  15.3418  15.4298  15.4298  15.1364   17.2886  14.6378  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.287728749471\\n\",\n      \"Explained Variance Score:  0.938381959646\\n\",\n      \"Mean Squared Error:  0.147641443939\\n\",\n      \"R2 score:  0.93566576996\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1997-12-04  19.8712  19.7065   19.675  19.8276  19.9172  20.1278  20.2949   \\n\",\n      \"1997-12-05  19.9922  19.8712  19.7065   19.675  19.8276  19.9172  20.1278   \\n\",\n      \"1997-12-06  20.1908  19.9922  19.8712  19.7065   19.675  19.8276  19.9172   \\n\",\n      \"1997-12-07  20.5225  20.1908  19.9922  19.8712  19.7065   19.675  19.8276   \\n\",\n      \"1997-12-08  20.5831  20.5225  20.1908  19.9922  19.8712  19.7065   19.675   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1997-12-04   20.462  20.6121  21.1885   ...     20.5119  20.9197  21.2069   \\n\",\n      \"1997-12-05  20.2949   20.462  20.6121   ...     20.6036  20.5119  20.9197   \\n\",\n      \"1997-12-06  20.1278  20.2949   20.462   ...     20.6928  20.6036  20.5119   \\n\",\n      \"1997-12-07  19.9172  20.1278  20.2949   ...     20.9197  20.6928  20.6036   \\n\",\n      \"1997-12-08  19.8276  19.9172  20.1278   ...     21.4023  20.9197  20.6928   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1997-12-04  20.8883  21.2358  20.7387  21.0403  22.0346   23.0966  19.4643  \\n\",\n      \"1997-12-05  21.2069  20.8883  21.2358  20.7387  21.0403   23.0966  19.4643  \\n\",\n      \"1997-12-06  20.9197  21.2069  20.8883  21.2358  20.7387   23.0966  19.4643  \\n\",\n      \"1997-12-07  20.5119  20.9197  21.2069  20.8883  21.2358   23.0966  19.4643  \\n\",\n      \"1997-12-08  20.6036  20.5119  20.9197  21.2069  20.8883   23.0966  19.4643  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.597633444026\\n\",\n      \"Explained Variance Score:  0.503137515046\\n\",\n      \"Mean Squared Error:  0.589490186568\\n\",\n      \"R2 score:  0.482368816144\\n\",\n      \"Buffer:  5000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1999-11-26   25.734  26.9904  26.8239  26.2284  26.1881  26.4959  26.6624   \\n\",\n      \"1999-11-27  25.7592   25.734  26.9904  26.8239  26.2284  26.1881  26.4959   \\n\",\n      \"1999-11-28  25.1537  25.7592   25.734  26.9904  26.8239  26.2284  26.1881   \\n\",\n      \"1999-11-29  25.0528  25.1537  25.7592   25.734  26.9904  26.8239  26.2284   \\n\",\n      \"1999-11-30  25.0023  25.0528  25.1537  25.7592   25.734  26.9904  26.8239   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1999-11-26  26.2385  26.1124  25.9862   ...     26.9688  26.5628  26.1569   \\n\",\n      \"1999-11-27  26.6624  26.2385  26.1124   ...     26.7533  26.9688  26.5628   \\n\",\n      \"1999-11-28  26.4959  26.6624  26.2385   ...     26.5027  26.7533  26.9688   \\n\",\n      \"1999-11-29  26.1881  26.4959  26.6624   ...     26.3423  26.5027  26.7533   \\n\",\n      \"1999-11-30  26.2284  26.1881  26.4959   ...      26.623  26.3423  26.5027   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1999-11-26  26.7182  26.4375  26.3122  26.5027  26.7533   28.7229   22.767  \\n\",\n      \"1999-11-27  26.1569  26.7182  26.4375  26.3122  26.5027   28.7229   22.767  \\n\",\n      \"1999-11-28  26.5628  26.1569  26.7182  26.4375  26.3122   28.7229   22.767  \\n\",\n      \"1999-11-29  26.9688  26.5628  26.1569  26.7182  26.4375   28.7229   22.767  \\n\",\n      \"1999-11-30  26.7533  26.9688  26.5628  26.1569  26.7182   28.7229   22.767  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.701837927805\\n\",\n      \"Explained Variance Score:  0.61258560237\\n\",\n      \"Mean Squared Error:  0.807580404799\\n\",\n      \"R2 score:  0.6103741195\\n\",\n      \"Buffer:  5500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2001-11-21  20.4474  20.2593  20.4743   20.399  20.2486  20.2432  20.8021   \\n\",\n      \"2001-11-22  20.7161  20.4474  20.2593  20.4743   20.399  20.2486  20.2432   \\n\",\n      \"2001-11-23  20.8934  20.7161  20.4474  20.2593  20.4743   20.399  20.2486   \\n\",\n      \"2001-11-24  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   20.399   \\n\",\n      \"2001-11-25  20.6785  20.6677  20.8934  20.7161  20.4474  20.2593  20.4743   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2001-11-21  20.8719  20.8558  20.9633   ...      21.771  22.2762  21.2179   \\n\",\n      \"2001-11-22  20.8021  20.8719  20.8558   ...     21.4998   21.771  22.2762   \\n\",\n      \"2001-11-23  20.2432  20.8021  20.8719   ...     21.1701  21.4998   21.771   \\n\",\n      \"2001-11-24  20.2486  20.2432  20.8021   ...     21.0584  21.1701  21.4998   \\n\",\n      \"2001-11-25   20.399  20.2486  20.2432   ...      20.633  21.0584  21.1701   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2001-11-21  21.9784  22.0156  21.1488   21.085  21.7337   22.9462  18.6311  \\n\",\n      \"2001-11-22  21.2179  21.9784  22.0156  21.1488   21.085   22.9462  18.6311  \\n\",\n      \"2001-11-23  22.2762  21.2179  21.9784  22.0156  21.1488   22.9462  18.6311  \\n\",\n      \"2001-11-24   21.771  22.2762  21.2179  21.9784  22.0156   22.9462  18.6311  \\n\",\n      \"2001-11-25  21.4998   21.771  22.2762  21.2179  21.9784   22.9462  18.6311  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.901971504049\\n\",\n      \"Explained Variance Score:  0.812150385253\\n\",\n      \"Mean Squared Error:  1.39923634887\\n\",\n      \"R2 score:  0.736584033371\\n\",\n      \"Buffer:  6000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2003-11-14   35.253  35.1028  35.1664  34.9411  35.0335  34.9527  34.4386   \\n\",\n      \"2003-11-15  35.2299   35.253  35.1028  35.1664  34.9411  35.0335  34.9527   \\n\",\n      \"2003-11-16  35.9115  35.2299   35.253  35.1028  35.1664  34.9411  35.0335   \\n\",\n      \"2003-11-17  35.9289  35.9115  35.2299   35.253  35.1028  35.1664  34.9411   \\n\",\n      \"2003-11-18  35.9577  35.9289  35.9115  35.2299   35.253  35.1028  35.1664   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2003-11-14  34.3577  34.7736  34.6003   ...     33.5442  33.1944  33.0052   \\n\",\n      \"2003-11-15  34.4386  34.3577  34.7736   ...     32.8962  33.5442  33.1944   \\n\",\n      \"2003-11-16  34.9527  34.4386  34.3577   ...     32.9937  32.8962  33.5442   \\n\",\n      \"2003-11-17  35.0335  34.9527  34.4386   ...     33.3722  32.9937  32.8962   \\n\",\n      \"2003-11-18  34.9411  35.0335  34.9527   ...     33.0052  33.3722  32.9937   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2003-11-14  32.7585  33.0338  33.3206  32.5234  32.3628   35.8711  32.0187  \\n\",\n      \"2003-11-15  33.0052  32.7585  33.0338  33.3206  32.5234   35.8711  32.5005  \\n\",\n      \"2003-11-16  33.1944  33.0052  32.7585  33.0338  33.3206   36.0733  32.6941  \\n\",\n      \"2003-11-17  33.5442  33.1944  33.0052  32.7585  33.0338    36.079  32.6941  \\n\",\n      \"2003-11-18  32.8962  33.5442  33.1944  33.0052  32.7585   36.1079  32.6941  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.570240576978\\n\",\n      \"Explained Variance Score:  0.883135670682\\n\",\n      \"Mean Squared Error:  0.543397166296\\n\",\n      \"R2 score:  0.840783709451\\n\",\n      \"Buffer:  6500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2005-11-15  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119  39.2664   \\n\",\n      \"2005-11-16  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863  38.7119   \\n\",\n      \"2005-11-17  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308  39.1863   \\n\",\n      \"2005-11-18  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849  39.1308   \\n\",\n      \"2005-11-19   38.755  39.1247  39.1124  38.9706  39.3034  39.2171  39.2849   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2005-11-15  39.2171  40.0858  40.1844   ...     40.2947  39.7082  39.8304   \\n\",\n      \"2005-11-16  39.2664  39.2171  40.0858   ...     39.8304  40.2947  39.7082   \\n\",\n      \"2005-11-17  38.7119  39.2664  39.2171   ...     39.7449  39.8304  40.2947   \\n\",\n      \"2005-11-18  39.1863  38.7119  39.2664   ...     39.7571  39.7449  39.8304   \\n\",\n      \"2005-11-19  39.1308  39.1863  38.7119   ...     40.4413  39.7571  39.7449   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2005-11-15  40.0442  39.6227  40.2275  40.7162   39.867   42.5812   37.763  \\n\",\n      \"2005-11-16  39.8304  40.0442  39.6227  40.2275  40.7162   42.5812   37.763  \\n\",\n      \"2005-11-17  39.7082  39.8304  40.0442  39.6227  40.2275   42.5812   37.763  \\n\",\n      \"2005-11-18  40.2947  39.7082  39.8304  40.0442  39.6227   42.5812   37.763  \\n\",\n      \"2005-11-19  39.8304  40.2947  39.7082  39.8304  40.0442   42.5812   37.763  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.805184356548\\n\",\n      \"Explained Variance Score:  0.654726098599\\n\",\n      \"Mean Squared Error:  1.0911864143\\n\",\n      \"R2 score:  0.607901692497\\n\",\n      \"Buffer:  7000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"X.tail:                  i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"2007-11-08  28.7308  29.4145  29.1505  28.9068   27.607  28.0538  28.4939   \\n\",\n      \"2007-11-09  28.7511  28.7308  29.4145  29.1505  28.9068   27.607  28.0538   \\n\",\n      \"2007-11-10  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   27.607   \\n\",\n      \"2007-11-11  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505  28.9068   \\n\",\n      \"2007-11-12  29.1031  28.6293  28.1418  28.7511  28.7308  29.4145  29.1505   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"2007-11-08  27.9387  29.9291  29.4484   ...     34.1229  34.7269  34.4681   \\n\",\n      \"2007-11-09  28.4939  27.9387  29.9291   ...     34.1561  34.1229  34.7269   \\n\",\n      \"2007-11-10  28.0538  28.4939  27.9387   ...     36.2071  34.1561  34.1229   \\n\",\n      \"2007-11-11   27.607  28.0538  28.4939   ...     36.6119  36.2071  34.1561   \\n\",\n      \"2007-11-12  28.9068   27.607  28.0538   ...     35.9084  36.6119  36.2071   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"2007-11-08  36.3664   35.457  35.5035    34.78  36.1009   37.6275  24.9367  \\n\",\n      \"2007-11-09  34.4681  36.3664   35.457  35.5035    34.78   37.6275  24.9367  \\n\",\n      \"2007-11-10  34.7269  34.4681  36.3664   35.457  35.5035   37.6275  24.9367  \\n\",\n      \"2007-11-11  34.1229  34.7269  34.4681  36.3664   35.457   37.6275  24.9367  \\n\",\n      \"2007-11-12  34.1561  34.1229  34.7269  34.4681  36.3664   37.6275  24.9367  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"# Days used to predict: 100\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.56779790378\\n\",\n      \"Explained Variance Score:  0.910623053074\\n\",\n      \"Mean Squared Error:  4.56773993183\\n\",\n      \"R2 score:  0.895897673607\\n\",\n      \"Errors:  [Day 0    2.686257\\n\",\n      \"Day 1    4.059300\\n\",\n      \"Day 2    5.201252\\n\",\n      \"Day 3    6.237668\\n\",\n      \"Day 4    7.101349\\n\",\n      \"Day 5    7.927755\\n\",\n      \"Day 6    8.701864\\n\",\n      \"dtype: float64, Day 0    2.873219\\n\",\n      \"Day 1    3.967851\\n\",\n      \"Day 2    4.859585\\n\",\n      \"Day 3    5.190689\\n\",\n      \"Day 4    5.559871\\n\",\n      \"Day 5    5.762530\\n\",\n      \"Day 6    6.119192\\n\",\n      \"dtype: float64, Day 0    1.325606\\n\",\n      \"Day 1    1.970168\\n\",\n      \"Day 2    2.401517\\n\",\n      \"Day 3    2.733302\\n\",\n      \"Day 4    2.986141\\n\",\n      \"Day 5    3.252909\\n\",\n      \"Day 6    3.538113\\n\",\n      \"dtype: float64, Day 0    2.160052\\n\",\n      \"Day 1    3.163661\\n\",\n      \"Day 2    3.966318\\n\",\n      \"Day 3    4.771871\\n\",\n      \"Day 4    5.507250\\n\",\n      \"Day 5    6.135646\\n\",\n      \"Day 6    6.678638\\n\",\n      \"dtype: float64, Day 0    1.223516\\n\",\n      \"Day 1    1.769220\\n\",\n      \"Day 2    2.093732\\n\",\n      \"Day 3    2.331726\\n\",\n      \"Day 4    2.600074\\n\",\n      \"Day 5    2.832955\\n\",\n      \"Day 6    3.031678\\n\",\n      \"dtype: float64, Day 0    1.305421\\n\",\n      \"Day 1    2.093935\\n\",\n      \"Day 2    2.725890\\n\",\n      \"Day 3    3.248416\\n\",\n      \"Day 4    3.702046\\n\",\n      \"Day 5    4.060255\\n\",\n      \"Day 6    4.342382\\n\",\n      \"dtype: float64, Day 0    2.068536\\n\",\n      \"Day 1    3.125541\\n\",\n      \"Day 2    4.025622\\n\",\n      \"Day 3    4.823541\\n\",\n      \"Day 4    5.500603\\n\",\n      \"Day 5    6.132646\\n\",\n      \"Day 6    6.658901\\n\",\n      \"dtype: float64, Day 0    1.087537\\n\",\n      \"Day 1    1.593596\\n\",\n      \"Day 2    2.088148\\n\",\n      \"Day 3    2.441984\\n\",\n      \"Day 4    2.772649\\n\",\n      \"Day 5    3.016825\\n\",\n      \"Day 6    3.229849\\n\",\n      \"dtype: float64, Day 0    1.058010\\n\",\n      \"Day 1    1.662174\\n\",\n      \"Day 2    2.119859\\n\",\n      \"Day 3    2.487773\\n\",\n      \"Day 4    2.823700\\n\",\n      \"Day 5    3.142083\\n\",\n      \"Day 6    3.445210\\n\",\n      \"dtype: float64, Day 0    2.021722\\n\",\n      \"Day 1    2.842273\\n\",\n      \"Day 2    3.439444\\n\",\n      \"Day 3    3.903588\\n\",\n      \"Day 4    4.235101\\n\",\n      \"Day 5    4.515974\\n\",\n      \"Day 6    4.721073\\n\",\n      \"dtype: float64, Day 0    2.053749\\n\",\n      \"Day 1    2.842841\\n\",\n      \"Day 2    3.190394\\n\",\n      \"Day 3    3.459689\\n\",\n      \"Day 4    3.710202\\n\",\n      \"Day 5    3.931499\\n\",\n      \"Day 6    4.203311\\n\",\n      \"dtype: float64, Day 0    2.497664\\n\",\n      \"Day 1    3.701679\\n\",\n      \"Day 2    4.589855\\n\",\n      \"Day 3    5.369122\\n\",\n      \"Day 4    6.143347\\n\",\n      \"Day 5    6.854813\\n\",\n      \"Day 6    7.499326\\n\",\n      \"dtype: float64, Day 0    1.117505\\n\",\n      \"Day 1    1.588136\\n\",\n      \"Day 2    1.926026\\n\",\n      \"Day 3    2.217282\\n\",\n      \"Day 4    2.463648\\n\",\n      \"Day 5    2.718344\\n\",\n      \"Day 6    2.979069\\n\",\n      \"dtype: float64, Day 0    1.364576\\n\",\n      \"Day 1    1.838709\\n\",\n      \"Day 2    2.171378\\n\",\n      \"Day 3    2.515507\\n\",\n      \"Day 4    2.840855\\n\",\n      \"Day 5    3.137423\\n\",\n      \"Day 6    3.401657\\n\",\n      \"dtype: float64, Day 0    4.014458\\n\",\n      \"Day 1    5.295031\\n\",\n      \"Day 2    5.743595\\n\",\n      \"Day 3    6.621475\\n\",\n      \"Day 4    7.378995\\n\",\n      \"Day 5    8.109415\\n\",\n      \"Day 6    8.893639\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.6862566648548238, 2.8732187489270236, 1.3256064617379473, 2.1600519846869646, 1.2235156291439226, 1.305420663991631, 2.0685360603124372, 1.0875370689226691, 1.0580095307028299, 2.0217217081378305, 2.0537492673878845, 2.4976641398052424, 1.1175050339269137, 1.3645755070232506, 4.0144579037852735], [4.0592999976323814, 3.9678510989277207, 1.9701678416738304, 3.1636611153866219, 1.7692200297767153, 2.0939347787175921, 3.1255411549111267, 1.5935961405005887, 1.6621738433483118, 2.8422732907658617, 2.8428406166970612, 3.7016790635281951, 1.5881359065976202, 1.838708716353143, 5.2950310548423047], [5.2012518896016813, 4.8595851174817444, 2.4015165262481593, 3.9663184853702087, 2.0937319599079633, 2.725889802618255, 4.0256221884370413, 2.0881478237011293, 2.1198589394936009, 3.4394436515955458, 3.1903941017651203, 4.5898554829578231, 1.9260258581576921, 2.1713779643400297, 5.7435946634475581], [6.2376680609655004, 5.1906888229530841, 2.7333023116243766, 4.771870644055527, 2.3317264370474895, 3.2484164567711518, 4.8235413121812867, 2.44198402513774, 2.4877734757315642, 3.9035877213534098, 3.4596893962513113, 5.3691221960409514, 2.2172821574031762, 2.5155067947627172, 6.6214749061448526], [7.101348672465936, 5.5598705130212815, 2.9861408788558754, 5.5072501857210723, 2.6000741043961906, 3.7020463356701927, 5.5006034680471787, 2.7726485729779609, 2.8237001385613416, 4.2351005173762228, 3.7102018424167729, 6.1433467552325984, 2.4636478733847298, 2.8408545898388282, 7.3789947893347989], [7.9277550527409595, 5.7625298134685217, 3.2529086470869495, 6.1356457071558008, 2.8329554445052851, 4.0602549841923929, 6.1326462265073882, 3.0168250033454465, 3.1420826313227979, 4.5159739803948229, 3.93149884705644, 6.8548130816086976, 2.7183436027777019, 3.1374226069422688, 8.1094147478977305], [8.7018642223453728, 6.1191921810565226, 3.5381132656657028, 6.6786375127786863, 3.0316781856016899, 4.3423819076586243, 6.6589006154937413, 3.2298492480472585, 3.4452102937068454, 4.7210730604544686, 4.2033108503209542, 7.4993260970943192, 2.9790689586399646, 3.4016567175540446, 8.8936393091082984]]\\n\",\n      \"Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 100 days' worth of prior data\\n\",\n    \"\\n\",\n    \"execute(steps=15, days=100, buffer_step = 500)\\n\",\n    \"\\n\",\n    \"# Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.2 Adding Oil Stock Prices (GAIA)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932616</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>45.82</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>45.36</td>\\n\",\n       \"      <td>45.51</td>\\n\",\n       \"      <td>6237900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>40.666021</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.95</td>\\n\",\n       \"      <td>6.645</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>2014-09-24</td>\\n\",\n       \"      <td>6676.08</td>\\n\",\n       \"      <td>6707.26</td>\\n\",\n       \"      <td>6651.98</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932617</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>44.96</td>\\n\",\n       \"      <td>44.99</td>\\n\",\n       \"      <td>43.89</td>\\n\",\n       \"      <td>44.06</td>\\n\",\n       \"      <td>15355000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.902756</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.700</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-25</td>\\n\",\n       \"      <td>6706.27</td>\\n\",\n       \"      <td>6726.40</td>\\n\",\n       \"      <td>6621.48</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932618</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>43.94</td>\\n\",\n       \"      <td>44.55</td>\\n\",\n       \"      <td>43.81</td>\\n\",\n       \"      <td>44.36</td>\\n\",\n       \"      <td>7105500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>38.997489</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>6.74</td>\\n\",\n       \"      <td>6.630</td>\\n\",\n       \"      <td>6.70</td>\\n\",\n       \"      <td>2014-09-26</td>\\n\",\n       \"      <td>6639.71</td>\\n\",\n       \"      <td>6664.00</td>\\n\",\n       \"      <td>6615.12</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932619</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>44.25</td>\\n\",\n       \"      <td>44.72</td>\\n\",\n       \"      <td>44.14</td>\\n\",\n       \"      <td>44.54</td>\\n\",\n       \"      <td>4460900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.272619</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.570</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>2014-09-29</td>\\n\",\n       \"      <td>6649.39</td>\\n\",\n       \"      <td>6653.94</td>\\n\",\n       \"      <td>6608.66</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1932620</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>44.04</td>\\n\",\n       \"      <td>44.22</td>\\n\",\n       \"      <td>43.80</td>\\n\",\n       \"      <td>43.95</td>\\n\",\n       \"      <td>6834500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>39.086241</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6.61</td>\\n\",\n       \"      <td>7.41</td>\\n\",\n       \"      <td>6.610</td>\\n\",\n       \"      <td>7.34</td>\\n\",\n       \"      <td>2014-09-30</td>\\n\",\n       \"      <td>6646.60</td>\\n\",\n       \"      <td>6658.91</td>\\n\",\n       \"      <td>6601.62</td>\\n\",\n       \"      <td>6622.72</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close      Volume  \\\\\\n\",\n       \"1932616     BP  2014-09-24  45.82  45.88  45.36  45.51   6237900.0   \\n\",\n       \"1932617     BP  2014-09-25  44.96  44.99  43.89  44.06  15355000.0   \\n\",\n       \"1932618     BP  2014-09-26  43.94  44.55  43.81  44.36   7105500.0   \\n\",\n       \"1932619     BP  2014-09-29  44.25  44.72  44.14  44.54   4460900.0   \\n\",\n       \"1932620     BP  2014-09-30  44.04  44.22  43.80  43.95   6834500.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open     ...       GAIA Date  \\\\\\n\",\n       \"1932616          0.0          1.0  40.666021     ...      2014-09-24   \\n\",\n       \"1932617          0.0          1.0  39.902756     ...      2014-09-25   \\n\",\n       \"1932618          0.0          1.0  38.997489     ...      2014-09-26   \\n\",\n       \"1932619          0.0          1.0  39.272619     ...      2014-09-29   \\n\",\n       \"1932620          0.0          1.0  39.086241     ...      2014-09-30   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Open  GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close  \\\\\\n\",\n       \"1932616            6.75            6.95          6.645             6.94   \\n\",\n       \"1932617            6.94            6.94          6.700             6.70   \\n\",\n       \"1932618            6.70            6.74          6.630             6.70   \\n\",\n       \"1932619            6.62            6.69          6.570             6.62   \\n\",\n       \"1932620            6.61            7.41          6.610             7.34   \\n\",\n       \"\\n\",\n       \"          FTSE Date  FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1932616  2014-09-24    6676.08    6707.26  6651.98     6706.27  \\n\",\n       \"1932617  2014-09-25    6706.27    6726.40  6621.48     6639.71  \\n\",\n       \"1932618  2014-09-26    6639.71    6664.00  6615.12     6649.39  \\n\",\n       \"1932619  2014-09-29    6649.39    6653.94  6608.66     6646.60  \\n\",\n       \"1932620  2014-09-30    6646.60    6658.91  6601.62     6622.72  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 35,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create dataframe with BP and GAIA data in overlapping date range\\n\",\n    \"# Date range: 1999-10-29 to 2014-09-30\\n\",\n    \"# `bp_gaia_start` etc defined in Feature Engineering section 1.2.2.2\\n\",\n    \"bp_gaia = bp.loc[bp_gaia_start:bp_gaia_start+bp_gaia_intersect_length-1]\\n\",\n    \"\\n\",\n    \"# Check it ends at the right date\\n\",\n    \"bp_gaia.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3753\"\n      ]\n     },\n     \"execution_count\": 36,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(bp_gaia)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add GAIA data.\\n\",\n    \"\\n\",\n    \"# Potential improvement: Generalise `prepare_train_test` function instead\\n\",\n    \"# of copy and pasting it and making a new function.\\n\",\n    \"def prepare_train_test_with_gaia(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_gaia):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days`: the number of days prior we consider (the prices of)\\n\",\n    \"    `periods`: the total number of datapoints used (training + test)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # GAIA cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('GAIA i-%s' % str(j))\\n\",\n    \"    columns.append('GAIA Adj. High')\\n\",\n    \"    columns.append('GAIA Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['GAIA i-%s' % str(days-j)] = df.iloc[buffer+i+j]['GAIA %s' % str(target)]\\n\",\n    \"        features.iloc[i]['GAIA Adj. High'] = max(df[buffer+i:buffer+i+days]['GAIA Adj. High'])\\n\",\n    \"        features.iloc[i]['GAIA Adj. Low'] = min(df[buffer+i:buffer+i+days]['GAIA Adj. Low'])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_gaia(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + GAIA data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_gaia(days=days, periods=periods, buffer=buffer, df=bp_gaia)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.390417267381\\n\",\n      \"Explained Variance Score:  0.853744159868\\n\",\n      \"Mean Squared Error:  0.253189951823\\n\",\n      \"R2 score:  0.846876833577\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.640084309346\\n\",\n      \"Explained Variance Score:  0.937272372234\\n\",\n      \"Mean Squared Error:  0.720859692963\\n\",\n      \"R2 score:  0.86521356578\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559376996819\\n\",\n      \"Explained Variance Score:  0.848725761062\\n\",\n      \"Mean Squared Error:  0.504733717139\\n\",\n      \"R2 score:  0.836876888323\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.807669964064\\n\",\n      \"Explained Variance Score:  0.513947367438\\n\",\n      \"Mean Squared Error:  1.11918208013\\n\",\n      \"R2 score:  0.47656012379\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.784485223446\\n\",\n      \"Explained Variance Score:  0.611742357358\\n\",\n      \"Mean Squared Error:  1.08805000734\\n\",\n      \"R2 score:  0.59682736149\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.823528275858\\n\",\n      \"Explained Variance Score:  0.854979604454\\n\",\n      \"Mean Squared Error:  1.21173657923\\n\",\n      \"R2 score:  0.848280893753\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.08202656801\\n\",\n      \"Explained Variance Score:  0.785807434633\\n\",\n      \"Mean Squared Error:  2.18729500527\\n\",\n      \"R2 score:  0.771849063305\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.64293719873\\n\",\n      \"Explained Variance Score:  0.701929531055\\n\",\n      \"Mean Squared Error:  4.86875519644\\n\",\n      \"R2 score:  0.576854711057\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.09213527916\\n\",\n      \"Explained Variance Score:  0.877782414782\\n\",\n      \"Mean Squared Error:  1.85736866345\\n\",\n      \"R2 score:  0.823140444507\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.26399823305\\n\",\n      \"Explained Variance Score:  0.917408689638\\n\",\n      \"Mean Squared Error:  3.26079876466\\n\",\n      \"R2 score:  0.904206507456\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.949041466517\\n\",\n      \"Explained Variance Score:  0.760114297454\\n\",\n      \"Mean Squared Error:  1.50840397037\\n\",\n      \"R2 score:  0.751639652033\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.83600905218\\n\",\n      \"Explained Variance Score:  0.749597354718\\n\",\n      \"Mean Squared Error:  1.16224774383\\n\",\n      \"R2 score:  0.742591965811\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.557442173078\\n\",\n      \"Explained Variance Score:  0.46981043696\\n\",\n      \"Mean Squared Error:  0.522034902854\\n\",\n      \"R2 score:  0.465782842549\\n\",\n      \"Errors:  [Day 0    1.341627\\n\",\n      \"Day 1    1.715076\\n\",\n      \"Day 2    2.047743\\n\",\n      \"Day 3    2.309732\\n\",\n      \"Day 4    2.597512\\n\",\n      \"Day 5    2.740830\\n\",\n      \"Day 6    2.855423\\n\",\n      \"dtype: float64, Day 0    1.225322\\n\",\n      \"Day 1    1.896417\\n\",\n      \"Day 2    2.372386\\n\",\n      \"Day 3    2.807200\\n\",\n      \"Day 4    3.233511\\n\",\n      \"Day 5    3.634887\\n\",\n      \"Day 6    4.072937\\n\",\n      \"dtype: float64, Day 0    1.025550\\n\",\n      \"Day 1    1.483467\\n\",\n      \"Day 2    1.798880\\n\",\n      \"Day 3    2.050052\\n\",\n      \"Day 4    2.273937\\n\",\n      \"Day 5    2.456561\\n\",\n      \"Day 6    2.654430\\n\",\n      \"dtype: float64, Day 0    1.266777\\n\",\n      \"Day 1    1.855459\\n\",\n      \"Day 2    2.263780\\n\",\n      \"Day 3    2.632420\\n\",\n      \"Day 4    2.948986\\n\",\n      \"Day 5    3.232724\\n\",\n      \"Day 6    3.457188\\n\",\n      \"dtype: float64, Day 0    1.198206\\n\",\n      \"Day 1    1.678750\\n\",\n      \"Day 2    2.064157\\n\",\n      \"Day 3    2.472613\\n\",\n      \"Day 4    2.804413\\n\",\n      \"Day 5    3.139400\\n\",\n      \"Day 6    3.408515\\n\",\n      \"dtype: float64, Day 0    1.310712\\n\",\n      \"Day 1    1.826348\\n\",\n      \"Day 2    2.181516\\n\",\n      \"Day 3    2.542560\\n\",\n      \"Day 4    2.870944\\n\",\n      \"Day 5    3.144700\\n\",\n      \"Day 6    3.386525\\n\",\n      \"dtype: float64, Day 0    1.729882\\n\",\n      \"Day 1    2.324140\\n\",\n      \"Day 2    2.835599\\n\",\n      \"Day 3    3.230765\\n\",\n      \"Day 4    3.748573\\n\",\n      \"Day 5    4.354235\\n\",\n      \"Day 6    4.792219\\n\",\n      \"dtype: float64, Day 0     3.892175\\n\",\n      \"Day 1     5.235508\\n\",\n      \"Day 2     5.993244\\n\",\n      \"Day 3     7.152523\\n\",\n      \"Day 4     8.385264\\n\",\n      \"Day 5     9.434719\\n\",\n      \"Day 6    10.649324\\n\",\n      \"dtype: float64, Day 0    1.662958\\n\",\n      \"Day 1    2.375210\\n\",\n      \"Day 2    2.963397\\n\",\n      \"Day 3    3.413434\\n\",\n      \"Day 4    3.837277\\n\",\n      \"Day 5    4.280753\\n\",\n      \"Day 6    4.683430\\n\",\n      \"dtype: float64, Day 0    3.094135\\n\",\n      \"Day 1    4.427072\\n\",\n      \"Day 2    5.208320\\n\",\n      \"Day 3    6.246580\\n\",\n      \"Day 4    7.249379\\n\",\n      \"Day 5    8.287553\\n\",\n      \"Day 6    9.517359\\n\",\n      \"dtype: float64, Day 0    2.033082\\n\",\n      \"Day 1    2.902595\\n\",\n      \"Day 2    3.585264\\n\",\n      \"Day 3    4.017229\\n\",\n      \"Day 4    4.386571\\n\",\n      \"Day 5    4.608946\\n\",\n      \"Day 6    4.846322\\n\",\n      \"dtype: float64, Day 0    1.716423\\n\",\n      \"Day 1    2.452149\\n\",\n      \"Day 2    2.981910\\n\",\n      \"Day 3    3.464339\\n\",\n      \"Day 4    3.761339\\n\",\n      \"Day 5    3.976916\\n\",\n      \"Day 6    4.165965\\n\",\n      \"dtype: float64, Day 0    1.168688\\n\",\n      \"Day 1    1.595853\\n\",\n      \"Day 2    1.892584\\n\",\n      \"Day 3    2.174217\\n\",\n      \"Day 4    2.357702\\n\",\n      \"Day 5    2.528297\\n\",\n      \"Day 6    2.632187\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3416274627176741, 1.2253222561285753, 1.0255495409576574, 1.266776829926521, 1.1982064351141712, 1.310712301821582, 1.7298817238551929, 3.8921754249906253, 1.6629575970691628, 3.0941354597945034, 2.0330820163702419, 1.7164225319161091, 1.1686884331757421], [1.7150760880207037, 1.8964172603677423, 1.4834673922912223, 1.8554594521723491, 1.6787503849419985, 1.8263483157031517, 2.3241398333250651, 5.2355080851844216, 2.3752099271864098, 4.4270718273765972, 2.9025947293955445, 2.4521487734937994, 1.5958526122466832], [2.0477430054053203, 2.3723857338154257, 1.7988798566364699, 2.2637800713580867, 2.0641570748232887, 2.1815157366804447, 2.8355986521448, 5.9932443782633227, 2.9633965226109846, 5.2083198103473851, 3.5852639670979616, 2.9819102400068132, 1.8925844623819319], [2.3097316999351953, 2.8071999746923053, 2.0500517838892773, 2.6324197507576557, 2.4726133505762671, 2.5425603577844873, 3.2307653588653578, 7.1525225718155419, 3.4134342032425726, 6.2465795890314988, 4.0172291702026053, 3.4643390217868517, 2.1742172950593774], [2.5975117870884237, 3.2335105558655264, 2.2739368989119333, 2.9489855905646274, 2.8044131318548891, 2.870944054320459, 3.7485731532447448, 8.3852639729218854, 3.8372768182949173, 7.2493788386688047, 4.3865708556257568, 3.7613389113197311, 2.3577017695179605], [2.7408301709503315, 3.6348871408243957, 2.4565607234069882, 3.2327235750256049, 3.1394000107197346, 3.1446997267702699, 4.354234736214309, 9.4347187346765544, 4.2807532074257058, 8.2875526190580011, 4.6089459172836937, 3.9769158354848391, 2.5282971175926079], [2.855423021053821, 4.0729371465412827, 2.6544296847203288, 3.4571876639216557, 3.4085147945800864, 3.3865251171130839, 4.7922194765634272, 10.64932394540064, 4.6834300530757496, 9.5173590389649085, 4.8463224597302119, 4.1659653260441791, 2.632187257416279]]\\n\",\n      \"Mean daily error:  [1.743502924141366, 2.4436957447465919, 2.9375984239670951, 3.4241280098183839, 3.8811851029384354, 4.2938861165717714, 4.701678845009666]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.411869432422\\n\",\n      \"Explained Variance Score:  0.860958167317\\n\",\n      \"Mean Squared Error:  0.278323948034\\n\",\n      \"R2 score:  0.821867759953\\n\",\n      \"Buffer:  200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.606986183256\\n\",\n      \"Explained Variance Score:  0.932648097155\\n\",\n      \"Mean Squared Error:  0.66024635669\\n\",\n      \"R2 score:  0.868677365951\\n\",\n      \"Buffer:  400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.559944807019\\n\",\n      \"Explained Variance Score:  0.833869148805\\n\",\n      \"Mean Squared Error:  0.505571476681\\n\",\n      \"R2 score:  0.823962424354\\n\",\n      \"Buffer:  600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.821987533814\\n\",\n      \"Explained Variance Score:  0.46989388159\\n\",\n      \"Mean Squared Error:  1.15104795599\\n\",\n      \"R2 score:  0.430126472698\\n\",\n      \"Buffer:  800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.817292176686\\n\",\n      \"Explained Variance Score:  0.605237375421\\n\",\n      \"Mean Squared Error:  1.16563063035\\n\",\n      \"R2 score:  0.588600663963\\n\",\n      \"Buffer:  1000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.855518357378\\n\",\n      \"Explained Variance Score:  0.855221593528\\n\",\n      \"Mean Squared Error:  1.28660241537\\n\",\n      \"R2 score:  0.84831538254\\n\",\n      \"Buffer:  1200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.1189552901\\n\",\n      \"Explained Variance Score:  0.781265137134\\n\",\n      \"Mean Squared Error:  2.30617202977\\n\",\n      \"R2 score:  0.76007064928\\n\",\n      \"Buffer:  1400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.74362867052\\n\",\n      \"Explained Variance Score:  0.676636001157\\n\",\n      \"Mean Squared Error:  5.47659375935\\n\",\n      \"R2 score:  0.50027082935\\n\",\n      \"Buffer:  1600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.06057828555\\n\",\n      \"Explained Variance Score:  0.877606203974\\n\",\n      \"Mean Squared Error:  1.77876224515\\n\",\n      \"R2 score:  0.831199539803\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.28699529802\\n\",\n      \"Explained Variance Score:  0.905327333598\\n\",\n      \"Mean Squared Error:  3.46556542013\\n\",\n      \"R2 score:  0.892876435992\\n\",\n      \"Buffer:  2000\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.957755739612\\n\",\n      \"Explained Variance Score:  0.758091797889\\n\",\n      \"Mean Squared Error:  1.51735582203\\n\",\n      \"R2 score:  0.751963233546\\n\",\n      \"Buffer:  2200\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.828153458555\\n\",\n      \"Explained Variance Score:  0.748810119642\\n\",\n      \"Mean Squared Error:  1.15885573253\\n\",\n      \"R2 score:  0.739717381937\\n\",\n      \"Buffer:  2400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.536701478378\\n\",\n      \"Explained Variance Score:  0.501934925031\\n\",\n      \"Mean Squared Error:  0.493473147419\\n\",\n      \"R2 score:  0.496826916953\\n\",\n      \"Errors:  [Day 0    1.323178\\n\",\n      \"Day 1    1.671423\\n\",\n      \"Day 2    2.003066\\n\",\n      \"Day 3    2.280038\\n\",\n      \"Day 4    2.613056\\n\",\n      \"Day 5    2.825380\\n\",\n      \"Day 6    3.118137\\n\",\n      \"dtype: float64, Day 0    1.198034\\n\",\n      \"Day 1    1.793753\\n\",\n      \"Day 2    2.238008\\n\",\n      \"Day 3    2.671877\\n\",\n      \"Day 4    3.094744\\n\",\n      \"Day 5    3.491016\\n\",\n      \"Day 6    3.947794\\n\",\n      \"dtype: float64, Day 0    1.033756\\n\",\n      \"Day 1    1.476265\\n\",\n      \"Day 2    1.780142\\n\",\n      \"Day 3    2.048506\\n\",\n      \"Day 4    2.277745\\n\",\n      \"Day 5    2.459239\\n\",\n      \"Day 6    2.656842\\n\",\n      \"dtype: float64, Day 0    1.280769\\n\",\n      \"Day 1    1.898842\\n\",\n      \"Day 2    2.335831\\n\",\n      \"Day 3    2.713995\\n\",\n      \"Day 4    2.992859\\n\",\n      \"Day 5    3.241748\\n\",\n      \"Day 6    3.472403\\n\",\n      \"dtype: float64, Day 0    1.245659\\n\",\n      \"Day 1    1.798645\\n\",\n      \"Day 2    2.170914\\n\",\n      \"Day 3    2.529265\\n\",\n      \"Day 4    2.883417\\n\",\n      \"Day 5    3.234105\\n\",\n      \"Day 6    3.527884\\n\",\n      \"dtype: float64, Day 0    1.328081\\n\",\n      \"Day 1    1.841198\\n\",\n      \"Day 2    2.234918\\n\",\n      \"Day 3    2.622343\\n\",\n      \"Day 4    2.959574\\n\",\n      \"Day 5    3.234043\\n\",\n      \"Day 6    3.495192\\n\",\n      \"dtype: float64, Day 0    1.710366\\n\",\n      \"Day 1    2.317923\\n\",\n      \"Day 2    2.925472\\n\",\n      \"Day 3    3.357637\\n\",\n      \"Day 4    3.922806\\n\",\n      \"Day 5    4.499598\\n\",\n      \"Day 6    4.925807\\n\",\n      \"dtype: float64, Day 0     3.965443\\n\",\n      \"Day 1     5.506712\\n\",\n      \"Day 2     6.389023\\n\",\n      \"Day 3     7.648226\\n\",\n      \"Day 4     8.895344\\n\",\n      \"Day 5    10.009035\\n\",\n      \"Day 6    11.437354\\n\",\n      \"dtype: float64, Day 0    1.603030\\n\",\n      \"Day 1    2.261434\\n\",\n      \"Day 2    2.852098\\n\",\n      \"Day 3    3.313621\\n\",\n      \"Day 4    3.774411\\n\",\n      \"Day 5    4.198642\\n\",\n      \"Day 6    4.601614\\n\",\n      \"dtype: float64, Day 0    3.126286\\n\",\n      \"Day 1    4.536647\\n\",\n      \"Day 2    5.357211\\n\",\n      \"Day 3    6.435848\\n\",\n      \"Day 4    7.463821\\n\",\n      \"Day 5    8.572911\\n\",\n      \"Day 6    9.896616\\n\",\n      \"dtype: float64, Day 0    2.057554\\n\",\n      \"Day 1    2.908899\\n\",\n      \"Day 2    3.602153\\n\",\n      \"Day 3    4.017639\\n\",\n      \"Day 4    4.393055\\n\",\n      \"Day 5    4.632209\\n\",\n      \"Day 6    4.883861\\n\",\n      \"dtype: float64, Day 0    1.762581\\n\",\n      \"Day 1    2.509251\\n\",\n      \"Day 2    3.006224\\n\",\n      \"Day 3    3.472916\\n\",\n      \"Day 4    3.729052\\n\",\n      \"Day 5    3.924826\\n\",\n      \"Day 6    4.096157\\n\",\n      \"dtype: float64, Day 0    1.122261\\n\",\n      \"Day 1    1.554301\\n\",\n      \"Day 2    1.824488\\n\",\n      \"Day 3    2.114105\\n\",\n      \"Day 4    2.304474\\n\",\n      \"Day 5    2.457882\\n\",\n      \"Day 6    2.543011\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[1.3231776216477114, 1.1980342560885635, 1.0337559381524328, 1.2807686653343162, 1.2456589674532657, 1.3280813790944388, 1.7103664889037826, 3.9654429549097601, 1.6030301361552719, 3.1262859191366834, 2.0575536901156961, 1.7625814480985875, 1.122261076440187], [1.6714227116632154, 1.7937529603665612, 1.4762654529955792, 1.8988415982605655, 1.7986447274603283, 1.8411983204181284, 2.3179232847517244, 5.5067122215563318, 2.2614338115669748, 4.5366470960465399, 2.9088991347268269, 2.509250623322357, 1.5543009007901478], [2.0030655887796156, 2.2380077065815658, 1.780142194025534, 2.3358307699453613, 2.1709139424992134, 2.2349182679689812, 2.9254723250608365, 6.3890225539288785, 2.8520975853223187, 5.3572107545469327, 3.6021525960354821, 3.0062242229108511, 1.8244880060908213], [2.2800381048939928, 2.6718769676440171, 2.0485058953109236, 2.7139945310843472, 2.5292649062139549, 2.6223432174672223, 3.3576365342598042, 7.6482257503288977, 3.3136212289590303, 6.4358480297866265, 4.0176389505663028, 3.4729158251810874, 2.1141046081849635], [2.6130558930393306, 3.0947438014593844, 2.2777450341905157, 2.9928587868727545, 2.8834172521302088, 2.9595736804925212, 3.922805774129059, 8.8953440466338662, 3.7744107155179223, 7.4638214002320096, 4.3930553757686583, 3.7290523761223286, 2.3044743756514912], [2.8253797825024778, 3.4910159576111015, 2.4592393810665074, 3.2417476593438641, 3.2341045345752168, 3.2340433613195385, 4.4995984413286916, 10.009035103965697, 4.1986423675716669, 8.5729105007004449, 4.632208728692107, 3.9248259983154372, 2.4578823506143306], [3.1181366825666315, 3.9477940431715237, 2.6568415237777345, 3.4724030082407742, 3.527884207580871, 3.495192276717217, 4.925807113061305, 11.437354010217145, 4.6016137595911006, 9.8966156891001624, 4.8838613016883965, 4.0961565153048944, 2.5430114038608864]]\\n\",\n      \"Mean daily error:  [1.7505383493485149, 2.4673302187634834, 2.9784266548997227, 3.4789241961447055, 3.9464891163261573, 4.3677410898159295, 4.8155901180675889]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of BP and GAIA data\\n\",\n    \"execute_with_gaia(days=10, steps=13)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.2.3 Adding FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>46.00</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924932</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>46.12</td>\\n\",\n       \"      <td>46.50</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>148900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.800788</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924933</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>283800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.852835</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924934</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>166400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.036040</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924935</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>47.12</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>81500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.904882</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.50  46.00  209700.0          0.0   \\n\",\n       \"1924932     BP  1984-04-03  46.12  46.50  45.88  46.38  148900.0          0.0   \\n\",\n       \"1924933     BP  1984-04-04  46.62  48.00  46.62  48.00  283800.0          0.0   \\n\",\n       \"1924934     BP  1984-04-05  48.38  48.38  47.00  47.50  166400.0          0.0   \\n\",\n       \"1924935     BP  1984-04-06  47.12  47.50  47.00  47.50   81500.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open     ...      GAIA Date  GAIA Adj. Open  \\\\\\n\",\n       \"1924931          1.0   4.748742     ...            NaN             NaN   \\n\",\n       \"1924932          1.0   4.800788     ...            NaN             NaN   \\n\",\n       \"1924933          1.0   4.852835     ...            NaN             NaN   \\n\",\n       \"1924934          1.0   5.036040     ...            NaN             NaN   \\n\",\n       \"1924935          1.0   4.904882     ...            NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close   FTSE Date  \\\\\\n\",\n       \"1924931             NaN            NaN              NaN  1984-04-02   \\n\",\n       \"1924932             NaN            NaN              NaN  1984-04-03   \\n\",\n       \"1924933             NaN            NaN              NaN  1984-04-04   \\n\",\n       \"1924934             NaN            NaN              NaN  1984-04-05   \\n\",\n       \"1924935             NaN            NaN              NaN  1984-04-06   \\n\",\n       \"\\n\",\n       \"         FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1924931     1108.1     1108.1   1108.1      1108.1  \\n\",\n       \"1924932     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924933     1095.4     1095.4   1095.4      1095.4  \\n\",\n       \"1924934     1102.2     1102.2   1102.2      1102.2  \\n\",\n       \"1924935     1096.3     1096.3   1096.3      1096.3  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 41,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Create df with BP and FTSE data\\n\",\n    \"bp_ftse = bp.loc[bp_ftse_start:]\\n\",\n    \"bp_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Modify `prepare_train_test` function to add FTSE data.\\n\",\n    \"def prepare_train_test_with_ftse(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7, df=bp_ftse, name='FTSE'):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    # BP cols\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"    # FTSE cols\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('%s i-%s' % (name, str(j)))\\n\",\n    \"    columns.append('%s High' % name)\\n\",\n    \"    columns.append('%s Low' % name)\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = df.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = df.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = df.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(df[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(df[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['%s i-%s' % (name, str(days-j))] = df.iloc[buffer+i+j]['%s %s' % (name, 'Close')]\\n\",\n    \"        features.iloc[i]['%s High' % name] = max(df[buffer+i:buffer+i+days]['%s High' % name])\\n\",\n    \"        features.iloc[i]['%s Low' % name] = min(df[buffer+i:buffer+i+days]['%s Low' % name])\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"\\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def execute_with_ftse(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    errors=[]\\n\",\n    \"    r2=[]\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        errors.append(classify_and_metrics(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days))\\n\",\n    \"    print(\\\"Errors: \\\", errors)\\n\",\n    \"    \\n\",\n    \"    daily_error = []\\n\",\n    \"    for target_day in range(predict_days):\\n\",\n    \"        daily_error.append([])\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        for target_day in range(predict_days):\\n\",\n    \"            daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"    print(\\\"Daily error: \\\", daily_error)\\n\",\n    \"    average_daily_error = []\\n\",\n    \"    for day in daily_error:\\n\",\n    \"        average_daily_error.append(np.mean(day))\\n\",\n    \"    print(\\\"Mean daily error: \\\", average_daily_error)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.211015556424\\n\",\n      \"Explained Variance Score:  0.899000260643\\n\",\n      \"Mean Squared Error:  0.101319536893\\n\",\n      \"R2 score:  0.896790144908\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.103662027254\\n\",\n      \"Explained Variance Score:  0.810914496372\\n\",\n      \"Mean Squared Error:  0.0191496161364\\n\",\n      \"R2 score:  0.791651910968\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.16109328452\\n\",\n      \"Explained Variance Score:  0.509005999538\\n\",\n      \"Mean Squared Error:  0.0448450594299\\n\",\n      \"R2 score:  0.483113556059\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.134831719911\\n\",\n      \"Explained Variance Score:  0.940362863942\\n\",\n      \"Mean Squared Error:  0.0312949743422\\n\",\n      \"R2 score:  0.930443446072\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.138033710537\\n\",\n      \"Explained Variance Score:  0.808072775502\\n\",\n      \"Mean Squared Error:  0.0334602089163\\n\",\n      \"R2 score:  0.796224083528\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.283227004062\\n\",\n      \"Explained Variance Score:  0.94135464242\\n\",\n      \"Mean Squared Error:  0.148338070724\\n\",\n      \"R2 score:  0.940791765118\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.592720577547\\n\",\n      \"Explained Variance Score:  0.590618890488\\n\",\n      \"Mean Squared Error:  0.561331819027\\n\",\n      \"R2 score:  0.591291118732\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.806309397821\\n\",\n      \"Explained Variance Score:  0.691786541195\\n\",\n      \"Mean Squared Error:  1.15097371293\\n\",\n      \"R2 score:  0.680775196711\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.555161284679\\n\",\n      \"Explained Variance Score:  0.783418594845\\n\",\n      \"Mean Squared Error:  0.535944911988\\n\",\n      \"R2 score:  0.778980606844\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.601145418071\\n\",\n      \"Explained Variance Score:  0.928081215955\\n\",\n      \"Mean Squared Error:  0.703987908082\\n\",\n      \"R2 score:  0.867484525348\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.728988512466\\n\",\n      \"Explained Variance Score:  0.810817817708\\n\",\n      \"Mean Squared Error:  0.896347592801\\n\",\n      \"R2 score:  0.805988449328\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.922073321462\\n\",\n      \"Explained Variance Score:  0.85113491032\\n\",\n      \"Mean Squared Error:  1.46122600596\\n\",\n      \"R2 score:  0.850264942708\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17309132125\\n\",\n      \"Explained Variance Score:  0.799408239284\\n\",\n      \"Mean Squared Error:  2.27030564663\\n\",\n      \"R2 score:  0.796642650027\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.843137827511\\n\",\n      \"Explained Variance Score:  0.832739639424\\n\",\n      \"Mean Squared Error:  1.16152586731\\n\",\n      \"R2 score:  0.800540577102\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 7\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.631785589032\\n\",\n      \"Explained Variance Score:  0.609102226738\\n\",\n      \"Mean Squared Error:  0.685708026384\\n\",\n      \"R2 score:  0.61435314998\\n\",\n      \"Errors:  [Day 0    2.109320\\n\",\n      \"Day 1    3.137678\\n\",\n      \"Day 2    3.927590\\n\",\n      \"Day 3    4.810907\\n\",\n      \"Day 4    5.609303\\n\",\n      \"Day 5    6.394593\\n\",\n      \"Day 6    7.234880\\n\",\n      \"dtype: float64, Day 0    1.088250\\n\",\n      \"Day 1    1.514288\\n\",\n      \"Day 2    1.858048\\n\",\n      \"Day 3    2.120259\\n\",\n      \"Day 4    2.386504\\n\",\n      \"Day 5    2.651482\\n\",\n      \"Day 6    2.897414\\n\",\n      \"dtype: float64, Day 0    1.172722\\n\",\n      \"Day 1    1.786834\\n\",\n      \"Day 2    2.265808\\n\",\n      \"Day 3    2.724095\\n\",\n      \"Day 4    3.090687\\n\",\n      \"Day 5    3.371682\\n\",\n      \"Day 6    3.558338\\n\",\n      \"dtype: float64, Day 0    1.412587\\n\",\n      \"Day 1    2.182290\\n\",\n      \"Day 2    2.690129\\n\",\n      \"Day 3    3.080650\\n\",\n      \"Day 4    3.362509\\n\",\n      \"Day 5    3.648322\\n\",\n      \"Day 6    3.942984\\n\",\n      \"dtype: float64, Day 0    0.937895\\n\",\n      \"Day 1    1.395007\\n\",\n      \"Day 2    1.767085\\n\",\n      \"Day 3    2.021960\\n\",\n      \"Day 4    2.221037\\n\",\n      \"Day 5    2.386370\\n\",\n      \"Day 6    2.552934\\n\",\n      \"dtype: float64, Day 0    1.030094\\n\",\n      \"Day 1    1.658142\\n\",\n      \"Day 2    2.144928\\n\",\n      \"Day 3    2.545284\\n\",\n      \"Day 4    2.908762\\n\",\n      \"Day 5    3.201310\\n\",\n      \"Day 6    3.439854\\n\",\n      \"dtype: float64, Day 0    1.740593\\n\",\n      \"Day 1    2.599469\\n\",\n      \"Day 2    3.241287\\n\",\n      \"Day 3    3.732495\\n\",\n      \"Day 4    4.178792\\n\",\n      \"Day 5    4.502204\\n\",\n      \"Day 6    4.792628\\n\",\n      \"dtype: float64, Day 0    2.184917\\n\",\n      \"Day 1    3.150312\\n\",\n      \"Day 2    3.862026\\n\",\n      \"Day 3    4.332817\\n\",\n      \"Day 4    4.714202\\n\",\n      \"Day 5    5.093174\\n\",\n      \"Day 6    5.511842\\n\",\n      \"dtype: float64, Day 0    1.609139\\n\",\n      \"Day 1    2.209478\\n\",\n      \"Day 2    2.651145\\n\",\n      \"Day 3    3.035915\\n\",\n      \"Day 4    3.307851\\n\",\n      \"Day 5    3.513689\\n\",\n      \"Day 6    3.731646\\n\",\n      \"dtype: float64, Day 0    1.159712\\n\",\n      \"Day 1    1.821067\\n\",\n      \"Day 2    2.368156\\n\",\n      \"Day 3    2.881589\\n\",\n      \"Day 4    3.395189\\n\",\n      \"Day 5    3.934701\\n\",\n      \"Day 6    4.448484\\n\",\n      \"dtype: float64, Day 0    1.245583\\n\",\n      \"Day 1    1.783155\\n\",\n      \"Day 2    2.117850\\n\",\n      \"Day 3    2.431495\\n\",\n      \"Day 4    2.690854\\n\",\n      \"Day 5    2.901838\\n\",\n      \"Day 6    3.086194\\n\",\n      \"dtype: float64, Day 0    1.337020\\n\",\n      \"Day 1    1.953848\\n\",\n      \"Day 2    2.402701\\n\",\n      \"Day 3    2.793626\\n\",\n      \"Day 4    3.137662\\n\",\n      \"Day 5    3.398910\\n\",\n      \"Day 6    3.643714\\n\",\n      \"dtype: float64, Day 0    2.822223\\n\",\n      \"Day 1    3.873284\\n\",\n      \"Day 2    4.484701\\n\",\n      \"Day 3    5.141355\\n\",\n      \"Day 4    5.621059\\n\",\n      \"Day 5    5.928536\\n\",\n      \"Day 6    6.401028\\n\",\n      \"dtype: float64, Day 0    1.522905\\n\",\n      \"Day 1    2.289513\\n\",\n      \"Day 2    2.875439\\n\",\n      \"Day 3    3.364421\\n\",\n      \"Day 4    3.724268\\n\",\n      \"Day 5    4.019616\\n\",\n      \"Day 6    4.281550\\n\",\n      \"dtype: float64, Day 0    1.403441\\n\",\n      \"Day 1    1.969121\\n\",\n      \"Day 2    2.338317\\n\",\n      \"Day 3    2.669488\\n\",\n      \"Day 4    2.833697\\n\",\n      \"Day 5    2.908570\\n\",\n      \"Day 6    2.913130\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1093203849638837, 1.0882498665812053, 1.1727221193362856, 1.412586577442704, 0.9378952735856545, 1.0300941063834617, 1.7405932434523412, 2.1849168154032079, 1.609139147394997, 1.1597121603824943, 1.2455832253947525, 1.3370203586317857, 2.8222226244345667, 1.5229049347204531, 1.4034412486597296], [3.137677932962208, 1.5142879962397864, 1.7868339361639278, 2.1822902059145175, 1.3950071506620265, 1.6581419571681995, 2.5994688610024981, 3.150312167798214, 2.2094784630369553, 1.8210669198683502, 1.7831545661313932, 1.9538476861974765, 3.8732839254645901, 2.2895125324881676, 1.9691207311038021], [3.9275897295520128, 1.8580481167789493, 2.2658084022672815, 2.6901289014995937, 1.767085268420445, 2.1449275152997287, 3.2412865657258387, 3.8620255289884353, 2.6511445367500901, 2.3681564296528759, 2.1178502784134459, 2.4027006524959704, 4.4847012689782151, 2.8754387124563219, 2.3383173887217694], [4.8109068581784316, 2.1202592771408266, 2.7240948901950901, 3.0806499448309483, 2.0219604798575306, 2.5452837022717545, 3.7324950514184696, 4.3328167447346981, 3.0359152242486602, 2.8815894798898607, 2.4314952470219375, 2.7936258809738246, 5.1413550904137146, 3.3644214225425011, 2.6694884382791546], [5.6093030750366921, 2.3865041173957149, 3.0906874855810553, 3.3625090179209156, 2.2210374912412818, 2.9087622099011363, 4.1787916887657, 4.7142020078698375, 3.307851012047319, 3.3951893092285954, 2.6908537577255762, 3.1376619968233004, 5.6210588492955305, 3.7242680240618635, 2.8336973969591983], [6.3945931299753953, 2.6514816004326791, 3.3716820089302235, 3.6483218764886902, 2.3863700872043565, 3.2013104222689206, 4.5022040533065981, 5.0931736226381776, 3.5136885049685351, 3.9347008139004784, 2.9018384802534278, 3.3989102445656725, 5.9285358715306176, 4.01961642402006, 2.9085703842103929], [7.2348796444965835, 2.8974138017887943, 3.5583384572569687, 3.9429838565291648, 2.5529337042005769, 3.4398540607220633, 4.7926283817650912, 5.5118415837853485, 3.7316462933370311, 4.4484836960925431, 3.0861939411336166, 3.64371401011475, 6.4010282408578716, 4.2815500163757605, 2.9131303105673707]]\\n\",\n      \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 7 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=7, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.215528703585\\n\",\n      \"Explained Variance Score:  0.89239332126\\n\",\n      \"Mean Squared Error:  0.106333053016\\n\",\n      \"R2 score:  0.889423358708\\n\",\n      \"Buffer:  450\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.10544394771\\n\",\n      \"Explained Variance Score:  0.823015071932\\n\",\n      \"Mean Squared Error:  0.020152560856\\n\",\n      \"R2 score:  0.801681477257\\n\",\n      \"Buffer:  900\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.159314434074\\n\",\n      \"Explained Variance Score:  0.516143726707\\n\",\n      \"Mean Squared Error:  0.0435129876798\\n\",\n      \"R2 score:  0.495386197593\\n\",\n      \"Buffer:  1350\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.136614189089\\n\",\n      \"Explained Variance Score:  0.939952177211\\n\",\n      \"Mean Squared Error:  0.0322690576029\\n\",\n      \"R2 score:  0.928442841529\\n\",\n      \"Buffer:  1800\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.140535916916\\n\",\n      \"Explained Variance Score:  0.809072502567\\n\",\n      \"Mean Squared Error:  0.0343899561873\\n\",\n      \"R2 score:  0.799698674935\\n\",\n      \"Buffer:  2250\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.280129258983\\n\",\n      \"Explained Variance Score:  0.941835339241\\n\",\n      \"Mean Squared Error:  0.143004453044\\n\",\n      \"R2 score:  0.941407871428\\n\",\n      \"Buffer:  2700\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.622769626763\\n\",\n      \"Explained Variance Score:  0.549268768233\\n\",\n      \"Mean Squared Error:  0.608912691972\\n\",\n      \"R2 score:  0.544265975032\\n\",\n      \"Buffer:  3150\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.822610971931\\n\",\n      \"Explained Variance Score:  0.667388346685\\n\",\n      \"Mean Squared Error:  1.20046660692\\n\",\n      \"R2 score:  0.65660643821\\n\",\n      \"Buffer:  3600\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.578147544172\\n\",\n      \"Explained Variance Score:  0.771641543361\\n\",\n      \"Mean Squared Error:  0.577674968314\\n\",\n      \"R2 score:  0.758137073698\\n\",\n      \"Buffer:  4050\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.62310658889\\n\",\n      \"Explained Variance Score:  0.935786377244\\n\",\n      \"Mean Squared Error:  0.733200459648\\n\",\n      \"R2 score:  0.866502386196\\n\",\n      \"Buffer:  4500\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.753820405372\\n\",\n      \"Explained Variance Score:  0.789718883382\\n\",\n      \"Mean Squared Error:  0.961684765187\\n\",\n      \"R2 score:  0.787036306482\\n\",\n      \"Buffer:  4950\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.923211659748\\n\",\n      \"Explained Variance Score:  0.849260130266\\n\",\n      \"Mean Squared Error:  1.4577408598\\n\",\n      \"R2 score:  0.849596798634\\n\",\n      \"Buffer:  5400\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  1.17807639875\\n\",\n      \"Explained Variance Score:  0.811070055435\\n\",\n      \"Mean Squared Error:  2.27195431925\\n\",\n      \"R2 score:  0.80485970809\\n\",\n      \"Buffer:  5850\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.811337617748\\n\",\n      \"Explained Variance Score:  0.814434213769\\n\",\n      \"Mean Squared Error:  1.06810231014\\n\",\n      \"R2 score:  0.795783463702\\n\",\n      \"Buffer:  6300\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"# Days used to predict: 10\\n\",\n      \"\\n\",\n      \"7-day predictions\\n\",\n      \"Root Mean Squared Percentage Error Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64\\n\",\n      \"Mean Absolute Error:  0.621253472644\\n\",\n      \"Explained Variance Score:  0.584629646453\\n\",\n      \"Mean Squared Error:  0.678659874536\\n\",\n      \"R2 score:  0.590446476591\\n\",\n      \"Errors:  [Day 0    2.191707\\n\",\n      \"Day 1    3.255114\\n\",\n      \"Day 2    4.107164\\n\",\n      \"Day 3    4.906927\\n\",\n      \"Day 4    5.684572\\n\",\n      \"Day 5    6.545767\\n\",\n      \"Day 6    7.472952\\n\",\n      \"dtype: float64, Day 0    1.083418\\n\",\n      \"Day 1    1.521911\\n\",\n      \"Day 2    1.899442\\n\",\n      \"Day 3    2.175397\\n\",\n      \"Day 4    2.446337\\n\",\n      \"Day 5    2.698452\\n\",\n      \"Day 6    2.969189\\n\",\n      \"dtype: float64, Day 0    1.179039\\n\",\n      \"Day 1    1.784517\\n\",\n      \"Day 2    2.252078\\n\",\n      \"Day 3    2.685593\\n\",\n      \"Day 4    3.036127\\n\",\n      \"Day 5    3.297745\\n\",\n      \"Day 6    3.484568\\n\",\n      \"dtype: float64, Day 0    1.418572\\n\",\n      \"Day 1    2.205809\\n\",\n      \"Day 2    2.707966\\n\",\n      \"Day 3    3.065133\\n\",\n      \"Day 4    3.372909\\n\",\n      \"Day 5    3.722767\\n\",\n      \"Day 6    4.085930\\n\",\n      \"dtype: float64, Day 0    0.969219\\n\",\n      \"Day 1    1.407989\\n\",\n      \"Day 2    1.774366\\n\",\n      \"Day 3    2.006810\\n\",\n      \"Day 4    2.222288\\n\",\n      \"Day 5    2.431137\\n\",\n      \"Day 6    2.628517\\n\",\n      \"dtype: float64, Day 0    1.038915\\n\",\n      \"Day 1    1.645811\\n\",\n      \"Day 2    2.112299\\n\",\n      \"Day 3    2.483771\\n\",\n      \"Day 4    2.829161\\n\",\n      \"Day 5    3.127032\\n\",\n      \"Day 6    3.366379\\n\",\n      \"dtype: float64, Day 0    1.797891\\n\",\n      \"Day 1    2.723322\\n\",\n      \"Day 2    3.356193\\n\",\n      \"Day 3    3.878116\\n\",\n      \"Day 4    4.345700\\n\",\n      \"Day 5    4.697718\\n\",\n      \"Day 6    5.059729\\n\",\n      \"dtype: float64, Day 0    2.208113\\n\",\n      \"Day 1    3.185436\\n\",\n      \"Day 2    3.977847\\n\",\n      \"Day 3    4.568031\\n\",\n      \"Day 4    4.948970\\n\",\n      \"Day 5    5.248564\\n\",\n      \"Day 6    5.539855\\n\",\n      \"dtype: float64, Day 0    1.626428\\n\",\n      \"Day 1    2.218575\\n\",\n      \"Day 2    2.616786\\n\",\n      \"Day 3    2.990878\\n\",\n      \"Day 4    3.352327\\n\",\n      \"Day 5    3.700569\\n\",\n      \"Day 6    4.034975\\n\",\n      \"dtype: float64, Day 0    1.168879\\n\",\n      \"Day 1    1.825720\\n\",\n      \"Day 2    2.384463\\n\",\n      \"Day 3    2.914573\\n\",\n      \"Day 4    3.484220\\n\",\n      \"Day 5    4.059764\\n\",\n      \"Day 6    4.593527\\n\",\n      \"dtype: float64, Day 0    1.244292\\n\",\n      \"Day 1    1.796529\\n\",\n      \"Day 2    2.173854\\n\",\n      \"Day 3    2.496351\\n\",\n      \"Day 4    2.780568\\n\",\n      \"Day 5    3.020278\\n\",\n      \"Day 6    3.232226\\n\",\n      \"dtype: float64, Day 0    1.354339\\n\",\n      \"Day 1    1.954030\\n\",\n      \"Day 2    2.383788\\n\",\n      \"Day 3    2.791638\\n\",\n      \"Day 4    3.135002\\n\",\n      \"Day 5    3.414691\\n\",\n      \"Day 6    3.633154\\n\",\n      \"dtype: float64, Day 0    2.827914\\n\",\n      \"Day 1    3.796807\\n\",\n      \"Day 2    4.351335\\n\",\n      \"Day 3    5.001136\\n\",\n      \"Day 4    5.563302\\n\",\n      \"Day 5    5.917389\\n\",\n      \"Day 6    6.435110\\n\",\n      \"dtype: float64, Day 0    1.483469\\n\",\n      \"Day 1    2.188220\\n\",\n      \"Day 2    2.733345\\n\",\n      \"Day 3    3.189198\\n\",\n      \"Day 4    3.577968\\n\",\n      \"Day 5    3.849069\\n\",\n      \"Day 6    4.098522\\n\",\n      \"dtype: float64, Day 0    1.367971\\n\",\n      \"Day 1    1.938397\\n\",\n      \"Day 2    2.317634\\n\",\n      \"Day 3    2.655442\\n\",\n      \"Day 4    2.824671\\n\",\n      \"Day 5    2.922850\\n\",\n      \"Day 6    2.899889\\n\",\n      \"dtype: float64]\\n\",\n      \"Daily error:  [[2.1917071373549142, 1.0834175849417413, 1.1790388483576231, 1.4185720767250298, 0.96921873843174433, 1.0389149513076914, 1.7978906762316238, 2.2081130786782364, 1.626428265072178, 1.1688790011372792, 1.2442918199208317, 1.3543393912886921, 2.8279137985254801, 1.4834687450605335, 1.3679706504709863], [3.2551135884486477, 1.5219113117998229, 1.7845167567514877, 2.2058091975797436, 1.4079893663844747, 1.64581116515362, 2.7233218542675242, 3.1854362480671763, 2.2185746552549848, 1.8257198705930926, 1.7965291955873381, 1.9540303097844811, 3.7968068102836212, 2.1882198067251681, 1.9383968951517652], [4.1071642717896424, 1.899441698280516, 2.2520776093061308, 2.7079657528262455, 1.7743659001210701, 2.1122985914925523, 3.356193360147429, 3.977846700859939, 2.6167864392207312, 2.3844631650635484, 2.1738537747800573, 2.383788098908028, 4.3513351771356108, 2.7333448756427385, 2.3176337055862728], [4.9069274993299832, 2.1753970232525957, 2.6855930147788434, 3.0651327146777625, 2.0068103232086885, 2.4837707641410778, 3.878115561655151, 4.5680307683121617, 2.9908780138635374, 2.9145726033700368, 2.496350569513452, 2.7916378601993737, 5.0011359073546746, 3.1891975828644781, 2.6554416096311888], [5.684571865013738, 2.4463368567295891, 3.0361268916304378, 3.3729085591425267, 2.2222876725032874, 2.8291606439532142, 4.3457001749901645, 4.9489701760890119, 3.3523269094516883, 3.484220273558515, 2.7805684594518505, 3.1350021688093856, 5.5633024838786831, 3.5779675235638311, 2.8246714585341386], [6.5457674951850882, 2.6984515540580043, 3.2977446703014217, 3.7227666232643482, 2.4311370551028717, 3.1270319944324179, 4.6977181415685774, 5.2485644247119962, 3.7005685112433282, 4.0597642961603251, 3.0202781279834614, 3.4146913692062437, 5.9173890041333834, 3.8490686937976597, 2.9228497474023731], [7.4729519181537638, 2.9691887750983366, 3.4845684255477578, 4.0859302671068836, 2.6285168571962965, 3.3663785847193122, 5.0597293035706112, 5.539855260240377, 4.0349747441790287, 4.593526881685257, 3.2322257784365647, 3.6331538446606069, 6.4351103994170922, 4.0985222258397407, 2.8998887303961443]]\\n\",\n      \"Mean daily error:  [1.5306776509003057, 2.2298791354555303, 2.7432372747440339, 3.1872661210768669, 3.5736081411533376, 3.9102527805700995, 4.2356347997498514]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/metrics/regression.py:471: DeprecationWarning: Default 'multioutput' behavior now corresponds to 'variance_weighted' value which is deprecated since 0.17, it will be changed to 'uniform_average' starting from 0.19.\\n\",\n      \"  DeprecationWarning)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Consider 10 days' worth of prior BP and FTSE data\\n\",\n    \"execute_with_ftse(days=10, steps=15, buffer_step=450)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# We want an array with predictions for our model in a long date range.\\n\",\n    \"# We will consider the max error predictions, that is,\\n\",\n    \"# predictions of adjusted close prices 7 days ahead.\\n\",\n    \"\\n\",\n    \"# Initialise variable\\n\",\n    \"predictions_800_off = []\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def predict(clf=LinearRegression(), target_days=7, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Append predictions to `predictions_800_off`.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    # Classify and predict\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    print(\\\"Pred: \\\", pred)\\n\",\n    \"    predictions_800_off.append(pred)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Pared-down execute function that runs train-test cycles and \\n\",\n    \"# appends the predictions to `predictions_800_off` via the function `predict()`.\\n\",\n    \"def execute_viz(steps=8, buffer_step=200, days=7, periods=1000, model=LinearRegression(), predict_days=7):\\n\",\n    \"    \\\"\\\"\\\"Performs `steps` train-test cycles and prints evaluation metrics for BP + FTSE data.\\n\",\n    \"    `steps`: number of train-test cycles.\\n\",\n    \"    `periods`: the total number of datapoints used in each cycle (training + test)\\n\",\n    \"    `buffer_step`: number of datapoints between the starting points of each\\n\",\n    \"    consecutive train-test cycle\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    for segment in range(steps):\\n\",\n    \"        buffer = segment*buffer_step\\n\",\n    \"        print(\\\"Buffer: \\\", buffer)\\n\",\n    \"        X_train, X_test, y_train, y_test = prepare_train_test_with_ftse(days=days, periods=periods, buffer=buffer, df=bp_ftse)\\n\",\n    \"        predict(clf=model, X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test, days=days)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Buffer:  0\\n\",\n      \"Pred:  [[ 7.83601976  7.84714155  7.85292535 ...,  7.89987737  7.91755521\\n\",\n      \"   7.93865868]\\n\",\n      \" [ 7.85539551  7.86158008  7.87498252 ...,  7.90506271  7.91740818\\n\",\n      \"   7.93852032]\\n\",\n      \" [ 7.83170231  7.84749588  7.87738729 ...,  7.89285396  7.91642424\\n\",\n      \"   7.92424915]\\n\",\n      \" ..., \\n\",\n      \" [ 6.36738278  6.39213824  6.39270447 ...,  6.43798347  6.45461204\\n\",\n      \"   6.4751872 ]\\n\",\n      \" [ 6.42016386  6.417325    6.42707883 ...,  6.47916005  6.50267402\\n\",\n      \"   6.51950021]\\n\",\n      \" [ 6.28080118  6.27092368  6.28282955 ...,  6.30547753  6.3252951\\n\",\n      \"   6.3264697 ]]\\n\",\n      \"Buffer:  200\\n\",\n      \"Pred:  [[ 6.14075766  6.11117589  6.09574853 ...,  6.07217018  6.07748552\\n\",\n      \"   6.08070167]\\n\",\n      \" [ 6.21540435  6.17492322  6.17149764 ...,  6.1453285   6.13813657\\n\",\n      \"   6.14081275]\\n\",\n      \" [ 6.27753279  6.27307459  6.23843178 ...,  6.24830207  6.24374508\\n\",\n      \"   6.21901832]\\n\",\n      \" ..., \\n\",\n      \" [ 5.75919469  5.78334022  5.79923807 ...,  5.83008595  5.859385\\n\",\n      \"   5.87740631]\\n\",\n      \" [ 5.76238715  5.7892002   5.81412139 ...,  5.85030748  5.88508911\\n\",\n      \"   5.88637507]\\n\",\n      \" [ 5.78833298  5.81875138  5.83850427 ...,  5.88612816  5.8986934\\n\",\n      \"   5.90478152]]\\n\",\n      \"Buffer:  400\\n\",\n      \"Pred:  [[ 5.7641509   5.79247187  5.81926042 ...,  5.84616883  5.86198088\\n\",\n      \"   5.87727484]\\n\",\n      \" [ 5.8513131   5.86385014  5.88638345 ...,  5.89063265  5.90502758\\n\",\n      \"   5.90804928]\\n\",\n      \" [ 5.9113665   5.92879268  5.93253659 ...,  5.94752817  5.95264971\\n\",\n      \"   5.95534078]\\n\",\n      \" ..., \\n\",\n      \" [ 6.1998076   6.19815249  6.22826773 ...,  6.25852243  6.2950688\\n\",\n      \"   6.28322814]\\n\",\n      \" [ 6.19140054  6.19932943  6.23777417 ...,  6.25145184  6.25277943\\n\",\n      \"   6.24492933]\\n\",\n      \" [ 6.22481015  6.25710477  6.27123817 ...,  6.28618561  6.29833129\\n\",\n      \"   6.29616353]]\\n\",\n      \"Buffer:  600\\n\",\n      \"Pred:  [[ 6.1645113   6.1747009   6.17346569 ...,  6.14073882  6.13655823\\n\",\n      \"   6.15464913]\\n\",\n      \" [ 6.23869668  6.22906726  6.21064429 ...,  6.19525349  6.199533    6.1829646 ]\\n\",\n      \" [ 5.94298817  5.92847236  5.91129748 ...,  5.89322178  5.86434585\\n\",\n      \"   5.87953873]\\n\",\n      \" ..., \\n\",\n      \" [ 8.94246533  8.87626646  8.89060421 ...,  8.84848815  8.85793555\\n\",\n      \"   8.86792794]\\n\",\n      \" [ 8.78322534  8.79037462  8.72943888 ...,  8.72055999  8.7383812\\n\",\n      \"   8.68878426]\\n\",\n      \" [ 8.83433927  8.76940226  8.77364936 ...,  8.77248502  8.72566135\\n\",\n      \"   8.69839892]]\\n\",\n      \"Buffer:  800\\n\",\n      \"Pred:  [[ 8.67603806  8.67084409  8.65130791 ...,  8.67378925  8.69676109\\n\",\n      \"   8.69455006]\\n\",\n      \" [ 8.82830315  8.8205379   8.86009166 ...,  8.87552595  8.85568772\\n\",\n      \"   8.84410872]\\n\",\n      \" [ 8.84748948  8.84911858  8.81238761 ...,  8.78189801  8.75265697\\n\",\n      \"   8.72581647]\\n\",\n      \" ..., \\n\",\n      \" [ 7.71616361  7.7100549   7.68435219 ...,  7.6489673   7.61926738\\n\",\n      \"   7.60503466]\\n\",\n      \" [ 7.59805829  7.59515854  7.53381661 ...,  7.5060898   7.47964638\\n\",\n      \"   7.49137924]\\n\",\n      \" [ 7.54657369  7.52483132  7.53333146 ...,  7.50714863  7.52033692\\n\",\n      \"   7.5104685 ]]\\n\",\n      \"Buffer:  1000\\n\",\n      \"Pred:  [[ 7.46215011  7.4436282   7.43918656 ...,  7.5010726   7.48113362\\n\",\n      \"   7.48813435]\\n\",\n      \" [ 7.56216243  7.57242677  7.60962549 ...,  7.59408734  7.58687173\\n\",\n      \"   7.59213207]\\n\",\n      \" [ 7.55189234  7.58738691  7.61589834 ...,  7.60049142  7.60064947\\n\",\n      \"   7.60278131]\\n\",\n      \" ..., \\n\",\n      \" [ 6.19883297  6.22711546  6.24523835 ...,  6.30446123  6.33864273\\n\",\n      \"   6.33903875]\\n\",\n      \" [ 6.17836606  6.19567673  6.22059366 ...,  6.29335772  6.30085317\\n\",\n      \"   6.31700372]\\n\",\n      \" [ 6.30048133  6.33373495  6.37895762 ...,  6.41007597  6.40794933\\n\",\n      \"   6.42844116]]\\n\",\n      \"Buffer:  1200\\n\",\n      \"Pred:  [[ 6.30754289  6.34315541  6.37136507 ...,  6.34725709  6.3533664\\n\",\n      \"   6.36701006]\\n\",\n      \" [ 6.2183139   6.22645131  6.20859811 ...,  6.19826357  6.21393204\\n\",\n      \"   6.22498325]\\n\",\n      \" [ 6.13231736  6.11064193  6.06756449 ...,  6.10864178  6.12762316\\n\",\n      \"   6.12009367]\\n\",\n      \" ..., \\n\",\n      \" [ 4.93362234  4.93814477  4.93428253 ...,  4.96908178  4.9916257\\n\",\n      \"   5.0119479 ]\\n\",\n      \" [ 4.94855637  4.96672313  4.9753907  ...,  5.01327007  5.04827391\\n\",\n      \"   5.06702398]\\n\",\n      \" [ 4.94109813  4.95766805  4.9861515  ...,  5.00727657  5.02994663\\n\",\n      \"   5.03880748]]\\n\",\n      \"Buffer:  1400\\n\",\n      \"Pred:  [[ 4.99871061  5.02010571  5.014281   ...,  5.0026121   4.99747618\\n\",\n      \"   4.97557435]\\n\",\n      \" [ 5.15365698  5.15594044  5.1491617  ...,  5.09127283  5.05670229\\n\",\n      \"   5.06074197]\\n\",\n      \" [ 5.15264849  5.14912635  5.12308927 ...,  5.05939273  5.0643763\\n\",\n      \"   5.04887009]\\n\",\n      \" ..., \\n\",\n      \" [ 6.73631505  6.69817443  6.67661297 ...,  6.63990072  6.64029307\\n\",\n      \"   6.62941594]\\n\",\n      \" [ 6.80586543  6.78280213  6.77308604 ...,  6.73267206  6.70165677\\n\",\n      \"   6.68567721]\\n\",\n      \" [ 6.87717059  6.8713965   6.85461032 ...,  6.80891943  6.78659161\\n\",\n      \"   6.7676666 ]]\\n\",\n      \"Buffer:  1600\\n\",\n      \"Pred:  [[ 6.88960025  6.895621    6.91178743 ...,  6.90648271  6.91037924\\n\",\n      \"   6.91464528]\\n\",\n      \" [ 6.92029213  6.93896731  6.93794831 ...,  6.94105214  6.94581302\\n\",\n      \"   6.93479959]\\n\",\n      \" [ 6.94258489  6.94132069  6.93738101 ...,  6.95109387  6.94439441\\n\",\n      \"   6.96149157]\\n\",\n      \" ..., \\n\",\n      \" [ 8.63303575  8.6153931   8.62242329 ...,  8.60348853  8.61375744\\n\",\n      \"   8.62515753]\\n\",\n      \" [ 8.65670167  8.66375148  8.66798893 ...,  8.65346248  8.65856181\\n\",\n      \"   8.64789495]\\n\",\n      \" [ 8.7674598   8.76709683  8.7645547  ...,  8.78059364  8.7585914\\n\",\n      \"   8.76297732]]\\n\",\n      \"Buffer:  1800\\n\",\n      \"Pred:  [[  8.68953042   8.68353244   8.69167093 ...,   8.69226758   8.69669531\\n\",\n      \"    8.70359861]\\n\",\n      \" [  8.66104825   8.66338749   8.68358337 ...,   8.67084048   8.68664223\\n\",\n      \"    8.67802482]\\n\",\n      \" [  8.67468363   8.69245015   8.66828894 ...,   8.69130084   8.67790535\\n\",\n      \"    8.69542446]\\n\",\n      \" ..., \\n\",\n      \" [ 10.25132895  10.26123566  10.25052647 ...,  10.2702956   10.28387785\\n\",\n      \"   10.29072272]\\n\",\n      \" [ 10.18370737  10.17290369  10.18125306 ...,  10.2112286   10.21762469\\n\",\n      \"   10.21706292]\\n\",\n      \" [ 10.22958344  10.23782323  10.24337281 ...,  10.26467471  10.25519154\\n\",\n      \"   10.2341133 ]]\\n\",\n      \"Buffer:  2000\\n\",\n      \"Pred:  [[ 10.22064293  10.22413787  10.24471743 ...,  10.27029812  10.2744557\\n\",\n      \"   10.28765738]\\n\",\n      \" [ 10.26516025  10.27459074  10.29442757 ...,  10.31496257  10.32870539\\n\",\n      \"   10.33393516]\\n\",\n      \" [ 10.12818121  10.13767282  10.16435904 ...,  10.23174691  10.25429594\\n\",\n      \"   10.27571162]\\n\",\n      \" ..., \\n\",\n      \" [ 11.64694204  11.67793627  11.71878894 ...,  11.72885817  11.73598723\\n\",\n      \"   11.74138426]\\n\",\n      \" [ 11.50646666  11.55801859  11.60061623 ...,  11.59712143  11.60710104\\n\",\n      \"   11.62519194]\\n\",\n      \" [ 11.66543188  11.70375594  11.72575794 ...,  11.7634877   11.80012102\\n\",\n      \"   11.80921948]]\\n\",\n      \"Buffer:  2200\\n\",\n      \"Pred:  [[ 11.62959737  11.64537291  11.62913452 ...,  11.63915597  11.63946331\\n\",\n      \"   11.67432874]\\n\",\n      \" [ 11.51306747  11.4921517   11.48731226 ...,  11.48843655  11.5272199\\n\",\n      \"   11.53575298]\\n\",\n      \" [ 11.4459014   11.44132033  11.44303377 ...,  11.43963244  11.4371997\\n\",\n      \"   11.45553989]\\n\",\n      \" ..., \\n\",\n      \" [ 16.22239336  16.21976356  16.22826391 ...,  16.21574299  16.22293648\\n\",\n      \"   16.26595504]\\n\",\n      \" [ 15.98826989  16.00674066  16.03692572 ...,  16.0496106   16.10671921\\n\",\n      \"   16.11635139]\\n\",\n      \" [ 15.79752122  15.88073774  15.95919399 ...,  16.04615273  16.04535607\\n\",\n      \"   16.03367065]]\\n\",\n      \"Buffer:  2400\\n\",\n      \"Pred:  [[ 16.04780654  16.10427504  16.15325971 ...,  16.21640137  16.23310984\\n\",\n      \"   16.24580039]\\n\",\n      \" [ 15.93923871  15.96865021  16.01241045 ...,  16.04899501  16.0097939\\n\",\n      \"   16.01058251]\\n\",\n      \" [ 15.95002904  15.99504448  16.00543129 ...,  16.08477758  16.0724383\\n\",\n      \"   16.01255977]\\n\",\n      \" ..., \\n\",\n      \" [ 20.43621626  20.48574881  20.53403285 ...,  20.5853136   20.65182418\\n\",\n      \"   20.70740506]\\n\",\n      \" [ 21.01478432  21.0377329   21.06384251 ...,  21.11292127  21.16689338\\n\",\n      \"   21.25102393]\\n\",\n      \" [ 20.80946572  20.84214892  20.83450899 ...,  20.87816108  20.94758599\\n\",\n      \"   20.97840243]]\\n\",\n      \"Buffer:  2600\\n\",\n      \"Pred:  [[ 20.79530755  20.70031722  20.67570255 ...,  20.67175512  20.75003016\\n\",\n      \"   20.7424359 ]\\n\",\n      \" [ 20.51491535  20.51195086  20.47751748 ...,  20.61619501  20.61899275\\n\",\n      \"   20.71100874]\\n\",\n      \" [ 20.88903686  20.83145557  20.76382639 ...,  20.84093447  20.95482155\\n\",\n      \"   20.93470293]\\n\",\n      \" ..., \\n\",\n      \" [ 21.35898088  21.44310834  21.58442593 ...,  21.67728542  21.63729079\\n\",\n      \"   21.76718696]\\n\",\n      \" [ 21.02670418  21.22586046  21.36227848 ...,  21.31522747  21.4562707\\n\",\n      \"   21.61980196]\\n\",\n      \" [ 21.08453035  21.20775213  21.19865266 ...,  21.28921609  21.44822081\\n\",\n      \"   21.56667633]]\\n\",\n      \"Buffer:  2800\\n\",\n      \"Pred:  [[ 20.44161666  20.44133304  20.50606671 ...,  20.78067392  20.83525299\\n\",\n      \"   20.88356921]\\n\",\n      \" [ 20.47831642  20.55669655  20.6800365  ...,  20.94345539  21.0255306\\n\",\n      \"   21.09250263]\\n\",\n      \" [ 20.0543866   20.24467179  20.42056851 ...,  20.71879315  20.80801567\\n\",\n      \"   20.8139791 ]\\n\",\n      \" ..., \\n\",\n      \" [ 25.55444964  25.73089496  25.78688107 ...,  25.83001772  25.87363941\\n\",\n      \"   25.94209486]\\n\",\n      \" [ 26.10683785  26.13568262  26.21882171 ...,  26.1706635   26.17482513\\n\",\n      \"   25.99067047]\\n\",\n      \" [ 25.78641012  25.93842086  25.87267253 ...,  26.02785251  25.8333293\\n\",\n      \"   25.74114593]]\\n\",\n      \"Buffer:  3000\\n\",\n      \"Pred:  [[ 26.09202122  26.16659026  26.28513376 ...,  26.27827853  26.19880974\\n\",\n      \"   26.29279004]\\n\",\n      \" [ 27.09296713  27.16525979  27.07816223 ...,  26.79828223  26.82462005\\n\",\n      \"   26.80115994]\\n\",\n      \" [ 27.37426618  27.26991991  27.08514753 ...,  26.99525355  27.0364177\\n\",\n      \"   27.06762629]\\n\",\n      \" ..., \\n\",\n      \" [ 25.74252888  25.81395317  25.96051853 ...,  26.19018399  26.25012269\\n\",\n      \"   26.22686022]\\n\",\n      \" [ 24.28942298  24.55436301  24.86490981 ...,  25.19589939  25.32405251\\n\",\n      \"   25.35862108]\\n\",\n      \" [ 24.10812922  24.39599208  24.70467848 ...,  25.0249339   25.12917584\\n\",\n      \"   25.13941702]]\\n\",\n      \"Buffer:  3200\\n\",\n      \"Pred:  [[ 23.89936317  24.16238987  24.37814933 ...,  24.6867283   24.73517262\\n\",\n      \"   24.9000166 ]\\n\",\n      \" [ 22.796028    23.03957929  23.36191281 ...,  23.95134918  24.05807653\\n\",\n      \"   24.32577573]\\n\",\n      \" [ 23.98201714  24.24346901  24.60352667 ...,  24.83600538  25.01300299\\n\",\n      \"   25.28700399]\\n\",\n      \" ..., \\n\",\n      \" [ 25.88867191  25.80319669  25.80762619 ...,  25.73744858  25.58444691\\n\",\n      \"   25.6317368 ]\\n\",\n      \" [ 25.74242634  25.69379746  25.73573117 ...,  25.64464014  25.67333293\\n\",\n      \"   25.64796163]\\n\",\n      \" [ 25.3468584   25.36760481  25.38439543 ...,  25.45652486  25.45199294\\n\",\n      \"   25.37327864]]\\n\",\n      \"Buffer:  3400\\n\",\n      \"Pred:  [[ 25.98449668  25.98521208  25.95242912 ...,  25.89368463  25.88045388\\n\",\n      \"   25.93171006]\\n\",\n      \" [ 25.76105977  25.70375977  25.63967045 ...,  25.59240848  25.66132277\\n\",\n      \"   25.66463929]\\n\",\n      \" [ 25.23810548  25.19061044  25.23695191 ...,  25.46131797  25.38041014\\n\",\n      \"   25.40377967]\\n\",\n      \" ..., \\n\",\n      \" [ 26.24824289  26.17127915  26.07623138 ...,  25.84710184  25.78029758\\n\",\n      \"   25.70586174]\\n\",\n      \" [ 26.19759651  26.09744315  25.92235382 ...,  25.63588018  25.63291115\\n\",\n      \"   25.59553912]\\n\",\n      \" [ 25.77531313  25.60455853  25.42752481 ...,  25.30530249  25.33317719\\n\",\n      \"   25.22147558]]\\n\",\n      \"Buffer:  3600\\n\",\n      \"Pred:  [[ 25.40656908  25.27074144  25.21409378 ...,  25.28521185  25.22632841\\n\",\n      \"   25.16945681]\\n\",\n      \" [ 25.18921491  25.07334629  25.05299874 ...,  24.94128607  24.95502997\\n\",\n      \"   24.95791613]\\n\",\n      \" [ 24.81985555  24.80298349  24.7612829  ...,  24.59692495  24.58690609\\n\",\n      \"   24.58263133]\\n\",\n      \" ..., \\n\",\n      \" [ 26.0389708   25.93263093  25.87256265 ...,  25.77298706  25.6439993\\n\",\n      \"   25.58368641]\\n\",\n      \" [ 26.56849541  26.50595118  26.36715477 ...,  26.37166457  26.3312083\\n\",\n      \"   26.14700985]\\n\",\n      \" [ 26.80613189  26.67530444  26.66849488 ...,  26.59946944  26.42169587\\n\",\n      \"   26.33018949]]\\n\",\n      \"Buffer:  3800\\n\",\n      \"Pred:  [[ 26.06044987  26.12046614  26.05471894 ...,  25.93053422  25.96502619\\n\",\n      \"   25.96056563]\\n\",\n      \" [ 26.03326405  25.99975566  25.8123115  ...,  25.6606701   25.76405528\\n\",\n      \"   25.65340638]\\n\",\n      \" [ 26.56229083  26.42947167  26.36848794 ...,  26.51685341  26.46719925\\n\",\n      \"   26.41071161]\\n\",\n      \" ..., \\n\",\n      \" [ 21.28992895  21.33566945  21.43008967 ...,  21.71406469  21.85169081\\n\",\n      \"   21.92897556]\\n\",\n      \" [ 21.21583534  21.37312981  21.57666978 ...,  21.84861172  21.88918311\\n\",\n      \"   21.93881172]\\n\",\n      \" [ 21.1126037   21.34119817  21.47466187 ...,  21.63830162  21.80664827\\n\",\n      \"   21.87502314]]\\n\",\n      \"Buffer:  4000\\n\",\n      \"Pred:  [[ 21.24389337  21.37252773  21.35683562 ...,  21.48408902  21.48832578\\n\",\n      \"   21.4263668 ]\\n\",\n      \" [ 21.22127677  21.24046477  21.34895607 ...,  21.41706179  21.37656328\\n\",\n      \"   21.35550317]\\n\",\n      \" [ 21.43282338  21.46888922  21.493978   ...,  21.51923313  21.50631784\\n\",\n      \"   21.53775008]\\n\",\n      \" ..., \\n\",\n      \" [ 26.79653366  26.64113656  26.49911428 ...,  26.25092122  26.10219452\\n\",\n      \"   25.9559183 ]\\n\",\n      \" [ 26.50290012  26.38396506  26.21567803 ...,  26.05643976  25.92729177\\n\",\n      \"   25.75297956]\\n\",\n      \" [ 26.49228551  26.2948515   26.14185587 ...,  25.91011466  25.7620661\\n\",\n      \"   25.60436813]]\\n\",\n      \"Buffer:  4200\\n\",\n      \"Pred:  [[ 26.59862697  26.53265571  26.46607521 ...,  26.31185187  26.22269463\\n\",\n      \"   26.15406759]\\n\",\n      \" [ 26.55732047  26.49355051  26.42777149 ...,  26.2624713   26.21316348\\n\",\n      \"   26.13021364]\\n\",\n      \" [ 26.38850061  26.32645169  26.21572275 ...,  26.15394371  26.11911926\\n\",\n      \"   25.99641195]\\n\",\n      \" ..., \\n\",\n      \" [ 34.39713553  34.08620781  33.9011808  ...,  33.34027792  33.04665311\\n\",\n      \"   32.89668644]\\n\",\n      \" [ 33.98517109  33.82119053  33.5508494  ...,  33.05718995  32.86762085\\n\",\n      \"   32.58866132]\\n\",\n      \" [ 33.8906325   33.64126562  33.39516092 ...,  32.95667114  32.6643352\\n\",\n      \"   32.42929969]]\\n\",\n      \"Buffer:  4400\\n\",\n      \"Pred:  [[ 34.41874727  34.43546507  34.39947704 ...,  34.34448666  34.32896368\\n\",\n      \"   34.34120397]\\n\",\n      \" [ 34.46582211  34.4089387   34.43652649 ...,  34.3424298   34.30309225\\n\",\n      \"   34.3895445 ]\\n\",\n      \" [ 34.59749054  34.58828052  34.57559093 ...,  34.53213034  34.55857317\\n\",\n      \"   34.6258566 ]\\n\",\n      \" ..., \\n\",\n      \" [ 39.55704137  39.59838257  39.602544   ...,  39.60300783  39.63200396\\n\",\n      \"   39.69585152]\\n\",\n      \" [ 40.46611222  40.43535902  40.40883545 ...,  40.43070392  40.44180509\\n\",\n      \"   40.54478546]\\n\",\n      \" [ 41.35119597  41.342732    41.31906462 ...,  41.47767905  41.55588714\\n\",\n      \"   41.5559466 ]]\\n\",\n      \"Buffer:  4600\\n\",\n      \"Pred:  [[ 41.24501714  41.30563545  41.33906701 ...,  41.41231404  41.36247167\\n\",\n      \"   41.32137465]\\n\",\n      \" [ 41.55176282  41.61250172  41.6040215  ...,  41.5859052   41.4933257\\n\",\n      \"   41.49596777]\\n\",\n      \" [ 41.11082905  41.21096532  41.24008778 ...,  41.10885342  41.11014781\\n\",\n      \"   41.19066485]\\n\",\n      \" ..., \\n\",\n      \" [ 40.40333667  40.57757536  40.7444689  ...,  40.55767817  40.62361813\\n\",\n      \"   40.7688445 ]\\n\",\n      \" [ 39.63679228  39.85222014  39.7001448  ...,  39.82137182  39.90308844\\n\",\n      \"   39.89175773]\\n\",\n      \" [ 40.03398294  39.90566847  39.92936408 ...,  40.00273409  39.99056338\\n\",\n      \"   40.13290444]]\\n\",\n      \"Buffer:  4800\\n\",\n      \"Pred:  [[ 40.57613285  40.36745876  40.34832271 ...,  40.14127925  40.25699571\\n\",\n      \"   40.17561628]\\n\",\n      \" [ 39.98152946  40.00012052  39.84018882 ...,  39.76283388  39.68356018\\n\",\n      \"   39.62743014]\\n\",\n      \" [ 40.65448136  40.47656975  40.40428358 ...,  40.32405542  40.34608955\\n\",\n      \"   40.51020122]\\n\",\n      \" ..., \\n\",\n      \" [ 40.70973214  40.82156695  40.94997294 ...,  41.05915738  41.2009332\\n\",\n      \"   41.24048475]\\n\",\n      \" [ 40.74221266  40.91247665  40.94516366 ...,  41.11094752  41.12695732\\n\",\n      \"   41.2238754 ]\\n\",\n      \" [ 40.51848579  40.63794176  40.6930074  ...,  40.83603721  40.96158001\\n\",\n      \"   41.20000058]]\\n\",\n      \"Buffer:  5000\\n\",\n      \"Pred:  [[ 41.02840608  40.97742881  41.04879639 ...,  41.08703686  41.13259893\\n\",\n      \"   41.13751978]\\n\",\n      \" [ 41.06644308  41.14932577  41.14604797 ...,  41.28572476  41.31572252\\n\",\n      \"   41.31868877]\\n\",\n      \" [ 42.00121108  41.91105222  41.98860594 ...,  42.05340097  42.0514623\\n\",\n      \"   42.07459136]\\n\",\n      \" ..., \\n\",\n      \" [ 41.61889522  41.77265455  42.134165   ...,  42.26888054  42.27023834\\n\",\n      \"   42.27099558]\\n\",\n      \" [ 39.61382401  39.3572463   38.99373902 ...,  39.08954502  39.72855523\\n\",\n      \"   40.20378919]\\n\",\n      \" [ 39.26326568  38.77189241  38.68857487 ...,  38.98425831  39.33537682\\n\",\n      \"   39.83910962]]\\n\",\n      \"Buffer:  5200\\n\",\n      \"Pred:  [[ 40.47205982  40.6031967   40.7555591  ...,  41.30306999  41.58849567\\n\",\n      \"   42.20678238]\\n\",\n      \" [ 40.53496451  40.74019047  40.91134542 ...,  41.1356297   41.85741949\\n\",\n      \"   42.23975788]\\n\",\n      \" [ 40.68819248  40.89227875  40.86005788 ...,  41.29318408  41.69474886\\n\",\n      \"   41.93568032]\\n\",\n      \" ..., \\n\",\n      \" [ 32.58236996  32.68722674  32.94694616 ...,  33.68935864  34.40763451\\n\",\n      \"   35.0411307 ]\\n\",\n      \" [ 34.11827593  34.29691869  34.56631295 ...,  35.77380712  36.1406701\\n\",\n      \"   36.65944805]\\n\",\n      \" [ 32.53922298  32.93070035  33.1267649  ...,  33.88362425  34.34724461\\n\",\n      \"   35.05498163]]\\n\",\n      \"Buffer:  5400\\n\",\n      \"Pred:  [[ 31.52461716  31.57967856  31.70310795 ...,  31.60969549  31.97998058\\n\",\n      \"   31.76583509]\\n\",\n      \" [ 32.56237362  32.44398294  32.30184175 ...,  32.87763302  32.50008364\\n\",\n      \"   32.21124309]\\n\",\n      \" [ 32.08373777  32.0604223   32.18122015 ...,  32.3427488   31.88531891\\n\",\n      \"   32.15190584]\\n\",\n      \" ..., \\n\",\n      \" [ 36.47434384  36.56338542  36.61949077 ...,  36.48991746  36.31746724\\n\",\n      \"   36.40344402]\\n\",\n      \" [ 37.24605504  37.18514913  37.20037653 ...,  36.99259881  36.96397396\\n\",\n      \"   36.84186326]\\n\",\n      \" [ 37.03819783  37.07523111  37.0042887  ...,  36.83422073  36.62528101\\n\",\n      \"   36.64031558]]\\n\",\n      \"Buffer:  5600\\n\",\n      \"Pred:  [[ 37.15097768  37.16165774  37.0631008  ...,  36.92139965  36.90713708\\n\",\n      \"   36.99238524]\\n\",\n      \" [ 36.81621957  36.81704608  36.83068939 ...,  36.76175825  36.76190017\\n\",\n      \"   36.74666901]\\n\",\n      \" [ 37.09933134  37.1138151   37.12286448 ...,  37.17231345  37.17322168\\n\",\n      \"   37.11568705]\\n\",\n      \" ..., \\n\",\n      \" [ 25.7344187   26.06591327  26.15460221 ...,  27.08788596  27.12449494\\n\",\n      \"   27.39248972]\\n\",\n      \" [ 22.49560126  22.71537861  22.34032905 ...,  22.91827229  22.94172241\\n\",\n      \"   24.24507425]\\n\",\n      \" [ 24.54302106  24.12607841  24.37067691 ...,  24.36400232  25.51053396\\n\",\n      \"   26.15846606]]\\n\",\n      \"Buffer:  5800\\n\",\n      \"Pred:  [[ 24.79977904  24.69590721  24.0883611  ...,  24.91928808  25.20504994\\n\",\n      \"   25.25962951]\\n\",\n      \" [ 23.1419501   22.66726302  21.87925864 ...,  23.11620493  22.89603025\\n\",\n      \"   23.68080167]\\n\",\n      \" [ 23.12996329  22.22263254  23.34052642 ...,  23.00870146  23.76270941\\n\",\n      \"   23.85789826]\\n\",\n      \" ..., \\n\",\n      \" [ 35.2820164   35.36034423  35.48074954 ...,  35.78691612  35.82649512\\n\",\n      \"   35.96429514]\\n\",\n      \" [ 35.47454644  35.55712141  35.53895006 ...,  35.77111792  35.8272775\\n\",\n      \"   36.00105157]\\n\",\n      \" [ 35.59562223  35.77160935  35.9847767  ...,  36.14101777  36.22937931\\n\",\n      \"   36.35845682]]\\n\",\n      \"Buffer:  6000\\n\",\n      \"Pred:  [[ 34.87543571  35.05866248  34.96081266 ...,  34.91188916  34.8865196\\n\",\n      \"   35.09534966]\\n\",\n      \" [ 34.07850517  34.09411023  33.94862945 ...,  33.7652154   33.70499976\\n\",\n      \"   34.01118595]\\n\",\n      \" [ 33.74560074  33.59630762  33.55275587 ...,  33.25894686  33.44248384\\n\",\n      \"   33.64523254]\\n\",\n      \" ..., \\n\",\n      \" [ 34.37043957  34.49072721  34.46713889 ...,  34.61641291  34.6316781\\n\",\n      \"   34.65009482]\\n\",\n      \" [ 34.34755901  34.44125379  34.69034084 ...,  34.58201637  34.64234545\\n\",\n      \"   34.57663455]\\n\",\n      \" [ 34.57448406  34.80322892  34.60662199 ...,  34.71353755  34.54698945\\n\",\n      \"   34.75533398]]\\n\",\n      \"Buffer:  6200\\n\",\n      \"Pred:  [[ 34.48058576  34.46931947  34.39645689 ...,  34.56175966  34.60120682\\n\",\n      \"   34.6889119 ]\\n\",\n      \" [ 34.42459542  34.4041518   34.59273011 ...,  34.71655572  34.77569208\\n\",\n      \"   34.91001211]\\n\",\n      \" [ 34.02746584  34.17503955  34.19326864 ...,  34.41906863  34.49378041\\n\",\n      \"   34.54149122]\\n\",\n      \" ..., \\n\",\n      \" [ 34.26729796  34.33198393  34.52037656 ...,  34.26471212  34.32199879\\n\",\n      \"   34.43204531]\\n\",\n      \" [ 33.37651991  33.60677572  33.52148382 ...,  33.42863803  33.44812737\\n\",\n      \"   33.44797037]\\n\",\n      \" [ 33.77101123  33.70474743  33.57014533 ...,  33.57211048  33.6467882\\n\",\n      \"   33.75261216]]\\n\",\n      \"Buffer:  6400\\n\",\n      \"Pred:  [[ 33.53133289  33.43869191  33.37263046 ...,  33.32649401  33.31416629\\n\",\n      \"   33.19199006]\\n\",\n      \" [ 33.46584109  33.39713333  33.33327354 ...,  33.28221668  33.15383874\\n\",\n      \"   33.13431947]\\n\",\n      \" [ 34.41622601  34.29761196  34.4366854  ...,  34.39820455  34.52023716\\n\",\n      \"   34.3539505 ]\\n\",\n      \" ..., \\n\",\n      \" [ 34.78692903  34.73536166  34.73454473 ...,  34.35468426  34.27153208\\n\",\n      \"   34.18379174]\\n\",\n      \" [ 35.01790079  34.99299477  34.80046662 ...,  34.59019432  34.47643505\\n\",\n      \"   34.32671027]\\n\",\n      \" [ 34.93577164  34.68553218  34.54299772 ...,  34.42529695  34.26793524\\n\",\n      \"   34.20209156]]\\n\",\n      \"Buffer:  6600\\n\",\n      \"Pred:  [[ 34.97898179  34.98256211  35.07425527 ...,  35.19605749  35.29951325\\n\",\n      \"   35.34528396]\\n\",\n      \" [ 35.01624583  35.10178264  35.12680389 ...,  35.30594613  35.35298146\\n\",\n      \"   35.4299613 ]\\n\",\n      \" [ 34.93937399  34.9619017   35.07676871 ...,  35.17815547  35.28027676\\n\",\n      \"   35.31059197]\\n\",\n      \" ..., \\n\",\n      \" [ 44.10058135  43.8139945   43.50204997 ...,  42.79200923  42.46908938\\n\",\n      \"   42.18424781]\\n\",\n      \" [ 43.92034495  43.61468664  43.30103441 ...,  42.6139226   42.32034584\\n\",\n      \"   42.01517437]\\n\",\n      \" [ 44.03369297  43.71493941  43.41566069 ...,  42.70811157  42.40436291\\n\",\n      \"   42.15296897]]\\n\",\n      \"Buffer:  6800\\n\",\n      \"Pred:  [[ 44.26824904  44.22815477  44.2189972  ...,  44.12417068  44.16232578\\n\",\n      \"   44.12297489]\\n\",\n      \" [ 43.86504688  43.81346145  43.79542729 ...,  43.81453745  43.80092968\\n\",\n      \"   43.78132118]\\n\",\n      \" [ 44.17142766  44.10927042  44.07602426 ...,  44.01900881  44.03224618\\n\",\n      \"   44.05145594]\\n\",\n      \" ..., \\n\",\n      \" [ 34.95488639  35.16294448  35.49386909 ...,  35.56308703  35.46595545\\n\",\n      \"   35.52188355]\\n\",\n      \" [ 36.1446683   36.4019933   36.67338125 ...,  36.68118139  36.80819138\\n\",\n      \"   36.84463694]\\n\",\n      \" [ 35.82839891  35.92646934  36.05010142 ...,  36.31325315  36.35564094\\n\",\n      \"   36.41780309]]\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[array([[ 7.83601976,  7.84714155,  7.85292535, ...,  7.89987737,\\n\",\n       \"          7.91755521,  7.93865868],\\n\",\n       \"        [ 7.85539551,  7.86158008,  7.87498252, ...,  7.90506271,\\n\",\n       \"          7.91740818,  7.93852032],\\n\",\n       \"        [ 7.83170231,  7.84749588,  7.87738729, ...,  7.89285396,\\n\",\n       \"          7.91642424,  7.92424915],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.36738278,  6.39213824,  6.39270447, ...,  6.43798347,\\n\",\n       \"          6.45461204,  6.4751872 ],\\n\",\n       \"        [ 6.42016386,  6.417325  ,  6.42707883, ...,  6.47916005,\\n\",\n       \"          6.50267402,  6.51950021],\\n\",\n       \"        [ 6.28080118,  6.27092368,  6.28282955, ...,  6.30547753,\\n\",\n       \"          6.3252951 ,  6.3264697 ]]),\\n\",\n       \" array([[ 6.14075766,  6.11117589,  6.09574853, ...,  6.07217018,\\n\",\n       \"          6.07748552,  6.08070167],\\n\",\n       \"        [ 6.21540435,  6.17492322,  6.17149764, ...,  6.1453285 ,\\n\",\n       \"          6.13813657,  6.14081275],\\n\",\n       \"        [ 6.27753279,  6.27307459,  6.23843178, ...,  6.24830207,\\n\",\n       \"          6.24374508,  6.21901832],\\n\",\n       \"        ..., \\n\",\n       \"        [ 5.75919469,  5.78334022,  5.79923807, ...,  5.83008595,\\n\",\n       \"          5.859385  ,  5.87740631],\\n\",\n       \"        [ 5.76238715,  5.7892002 ,  5.81412139, ...,  5.85030748,\\n\",\n       \"          5.88508911,  5.88637507],\\n\",\n       \"        [ 5.78833298,  5.81875138,  5.83850427, ...,  5.88612816,\\n\",\n       \"          5.8986934 ,  5.90478152]]),\\n\",\n       \" array([[ 5.7641509 ,  5.79247187,  5.81926042, ...,  5.84616883,\\n\",\n       \"          5.86198088,  5.87727484],\\n\",\n       \"        [ 5.8513131 ,  5.86385014,  5.88638345, ...,  5.89063265,\\n\",\n       \"          5.90502758,  5.90804928],\\n\",\n       \"        [ 5.9113665 ,  5.92879268,  5.93253659, ...,  5.94752817,\\n\",\n       \"          5.95264971,  5.95534078],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.1998076 ,  6.19815249,  6.22826773, ...,  6.25852243,\\n\",\n       \"          6.2950688 ,  6.28322814],\\n\",\n       \"        [ 6.19140054,  6.19932943,  6.23777417, ...,  6.25145184,\\n\",\n       \"          6.25277943,  6.24492933],\\n\",\n       \"        [ 6.22481015,  6.25710477,  6.27123817, ...,  6.28618561,\\n\",\n       \"          6.29833129,  6.29616353]]),\\n\",\n       \" array([[ 6.1645113 ,  6.1747009 ,  6.17346569, ...,  6.14073882,\\n\",\n       \"          6.13655823,  6.15464913],\\n\",\n       \"        [ 6.23869668,  6.22906726,  6.21064429, ...,  6.19525349,\\n\",\n       \"          6.199533  ,  6.1829646 ],\\n\",\n       \"        [ 5.94298817,  5.92847236,  5.91129748, ...,  5.89322178,\\n\",\n       \"          5.86434585,  5.87953873],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.94246533,  8.87626646,  8.89060421, ...,  8.84848815,\\n\",\n       \"          8.85793555,  8.86792794],\\n\",\n       \"        [ 8.78322534,  8.79037462,  8.72943888, ...,  8.72055999,\\n\",\n       \"          8.7383812 ,  8.68878426],\\n\",\n       \"        [ 8.83433927,  8.76940226,  8.77364936, ...,  8.77248502,\\n\",\n       \"          8.72566135,  8.69839892]]),\\n\",\n       \" array([[ 8.67603806,  8.67084409,  8.65130791, ...,  8.67378925,\\n\",\n       \"          8.69676109,  8.69455006],\\n\",\n       \"        [ 8.82830315,  8.8205379 ,  8.86009166, ...,  8.87552595,\\n\",\n       \"          8.85568772,  8.84410872],\\n\",\n       \"        [ 8.84748948,  8.84911858,  8.81238761, ...,  8.78189801,\\n\",\n       \"          8.75265697,  8.72581647],\\n\",\n       \"        ..., \\n\",\n       \"        [ 7.71616361,  7.7100549 ,  7.68435219, ...,  7.6489673 ,\\n\",\n       \"          7.61926738,  7.60503466],\\n\",\n       \"        [ 7.59805829,  7.59515854,  7.53381661, ...,  7.5060898 ,\\n\",\n       \"          7.47964638,  7.49137924],\\n\",\n       \"        [ 7.54657369,  7.52483132,  7.53333146, ...,  7.50714863,\\n\",\n       \"          7.52033692,  7.5104685 ]]),\\n\",\n       \" array([[ 7.46215011,  7.4436282 ,  7.43918656, ...,  7.5010726 ,\\n\",\n       \"          7.48113362,  7.48813435],\\n\",\n       \"        [ 7.56216243,  7.57242677,  7.60962549, ...,  7.59408734,\\n\",\n       \"          7.58687173,  7.59213207],\\n\",\n       \"        [ 7.55189234,  7.58738691,  7.61589834, ...,  7.60049142,\\n\",\n       \"          7.60064947,  7.60278131],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.19883297,  6.22711546,  6.24523835, ...,  6.30446123,\\n\",\n       \"          6.33864273,  6.33903875],\\n\",\n       \"        [ 6.17836606,  6.19567673,  6.22059366, ...,  6.29335772,\\n\",\n       \"          6.30085317,  6.31700372],\\n\",\n       \"        [ 6.30048133,  6.33373495,  6.37895762, ...,  6.41007597,\\n\",\n       \"          6.40794933,  6.42844116]]),\\n\",\n       \" array([[ 6.30754289,  6.34315541,  6.37136507, ...,  6.34725709,\\n\",\n       \"          6.3533664 ,  6.36701006],\\n\",\n       \"        [ 6.2183139 ,  6.22645131,  6.20859811, ...,  6.19826357,\\n\",\n       \"          6.21393204,  6.22498325],\\n\",\n       \"        [ 6.13231736,  6.11064193,  6.06756449, ...,  6.10864178,\\n\",\n       \"          6.12762316,  6.12009367],\\n\",\n       \"        ..., \\n\",\n       \"        [ 4.93362234,  4.93814477,  4.93428253, ...,  4.96908178,\\n\",\n       \"          4.9916257 ,  5.0119479 ],\\n\",\n       \"        [ 4.94855637,  4.96672313,  4.9753907 , ...,  5.01327007,\\n\",\n       \"          5.04827391,  5.06702398],\\n\",\n       \"        [ 4.94109813,  4.95766805,  4.9861515 , ...,  5.00727657,\\n\",\n       \"          5.02994663,  5.03880748]]),\\n\",\n       \" array([[ 4.99871061,  5.02010571,  5.014281  , ...,  5.0026121 ,\\n\",\n       \"          4.99747618,  4.97557435],\\n\",\n       \"        [ 5.15365698,  5.15594044,  5.1491617 , ...,  5.09127283,\\n\",\n       \"          5.05670229,  5.06074197],\\n\",\n       \"        [ 5.15264849,  5.14912635,  5.12308927, ...,  5.05939273,\\n\",\n       \"          5.0643763 ,  5.04887009],\\n\",\n       \"        ..., \\n\",\n       \"        [ 6.73631505,  6.69817443,  6.67661297, ...,  6.63990072,\\n\",\n       \"          6.64029307,  6.62941594],\\n\",\n       \"        [ 6.80586543,  6.78280213,  6.77308604, ...,  6.73267206,\\n\",\n       \"          6.70165677,  6.68567721],\\n\",\n       \"        [ 6.87717059,  6.8713965 ,  6.85461032, ...,  6.80891943,\\n\",\n       \"          6.78659161,  6.7676666 ]]),\\n\",\n       \" array([[ 6.88960025,  6.895621  ,  6.91178743, ...,  6.90648271,\\n\",\n       \"          6.91037924,  6.91464528],\\n\",\n       \"        [ 6.92029213,  6.93896731,  6.93794831, ...,  6.94105214,\\n\",\n       \"          6.94581302,  6.93479959],\\n\",\n       \"        [ 6.94258489,  6.94132069,  6.93738101, ...,  6.95109387,\\n\",\n       \"          6.94439441,  6.96149157],\\n\",\n       \"        ..., \\n\",\n       \"        [ 8.63303575,  8.6153931 ,  8.62242329, ...,  8.60348853,\\n\",\n       \"          8.61375744,  8.62515753],\\n\",\n       \"        [ 8.65670167,  8.66375148,  8.66798893, ...,  8.65346248,\\n\",\n       \"          8.65856181,  8.64789495],\\n\",\n       \"        [ 8.7674598 ,  8.76709683,  8.7645547 , ...,  8.78059364,\\n\",\n       \"          8.7585914 ,  8.76297732]]),\\n\",\n       \" array([[  8.68953042,   8.68353244,   8.69167093, ...,   8.69226758,\\n\",\n       \"           8.69669531,   8.70359861],\\n\",\n       \"        [  8.66104825,   8.66338749,   8.68358337, ...,   8.67084048,\\n\",\n       \"           8.68664223,   8.67802482],\\n\",\n       \"        [  8.67468363,   8.69245015,   8.66828894, ...,   8.69130084,\\n\",\n       \"           8.67790535,   8.69542446],\\n\",\n       \"        ..., \\n\",\n       \"        [ 10.25132895,  10.26123566,  10.25052647, ...,  10.2702956 ,\\n\",\n       \"          10.28387785,  10.29072272],\\n\",\n       \"        [ 10.18370737,  10.17290369,  10.18125306, ...,  10.2112286 ,\\n\",\n       \"          10.21762469,  10.21706292],\\n\",\n       \"        [ 10.22958344,  10.23782323,  10.24337281, ...,  10.26467471,\\n\",\n       \"          10.25519154,  10.2341133 ]]),\\n\",\n       \" array([[ 10.22064293,  10.22413787,  10.24471743, ...,  10.27029812,\\n\",\n       \"          10.2744557 ,  10.28765738],\\n\",\n       \"        [ 10.26516025,  10.27459074,  10.29442757, ...,  10.31496257,\\n\",\n       \"          10.32870539,  10.33393516],\\n\",\n       \"        [ 10.12818121,  10.13767282,  10.16435904, ...,  10.23174691,\\n\",\n       \"          10.25429594,  10.27571162],\\n\",\n       \"        ..., \\n\",\n       \"        [ 11.64694204,  11.67793627,  11.71878894, ...,  11.72885817,\\n\",\n       \"          11.73598723,  11.74138426],\\n\",\n       \"        [ 11.50646666,  11.55801859,  11.60061623, ...,  11.59712143,\\n\",\n       \"          11.60710104,  11.62519194],\\n\",\n       \"        [ 11.66543188,  11.70375594,  11.72575794, ...,  11.7634877 ,\\n\",\n       \"          11.80012102,  11.80921948]]),\\n\",\n       \" array([[ 11.62959737,  11.64537291,  11.62913452, ...,  11.63915597,\\n\",\n       \"          11.63946331,  11.67432874],\\n\",\n       \"        [ 11.51306747,  11.4921517 ,  11.48731226, ...,  11.48843655,\\n\",\n       \"          11.5272199 ,  11.53575298],\\n\",\n       \"        [ 11.4459014 ,  11.44132033,  11.44303377, ...,  11.43963244,\\n\",\n       \"          11.4371997 ,  11.45553989],\\n\",\n       \"        ..., \\n\",\n       \"        [ 16.22239336,  16.21976356,  16.22826391, ...,  16.21574299,\\n\",\n       \"          16.22293648,  16.26595504],\\n\",\n       \"        [ 15.98826989,  16.00674066,  16.03692572, ...,  16.0496106 ,\\n\",\n       \"          16.10671921,  16.11635139],\\n\",\n       \"        [ 15.79752122,  15.88073774,  15.95919399, ...,  16.04615273,\\n\",\n       \"          16.04535607,  16.03367065]]),\\n\",\n       \" array([[ 16.04780654,  16.10427504,  16.15325971, ...,  16.21640137,\\n\",\n       \"          16.23310984,  16.24580039],\\n\",\n       \"        [ 15.93923871,  15.96865021,  16.01241045, ...,  16.04899501,\\n\",\n       \"          16.0097939 ,  16.01058251],\\n\",\n       \"        [ 15.95002904,  15.99504448,  16.00543129, ...,  16.08477758,\\n\",\n       \"          16.0724383 ,  16.01255977],\\n\",\n       \"        ..., \\n\",\n       \"        [ 20.43621626,  20.48574881,  20.53403285, ...,  20.5853136 ,\\n\",\n       \"          20.65182418,  20.70740506],\\n\",\n       \"        [ 21.01478432,  21.0377329 ,  21.06384251, ...,  21.11292127,\\n\",\n       \"          21.16689338,  21.25102393],\\n\",\n       \"        [ 20.80946572,  20.84214892,  20.83450899, ...,  20.87816108,\\n\",\n       \"          20.94758599,  20.97840243]]),\\n\",\n       \" array([[ 20.79530755,  20.70031722,  20.67570255, ...,  20.67175512,\\n\",\n       \"          20.75003016,  20.7424359 ],\\n\",\n       \"        [ 20.51491535,  20.51195086,  20.47751748, ...,  20.61619501,\\n\",\n       \"          20.61899275,  20.71100874],\\n\",\n       \"        [ 20.88903686,  20.83145557,  20.76382639, ...,  20.84093447,\\n\",\n       \"          20.95482155,  20.93470293],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.35898088,  21.44310834,  21.58442593, ...,  21.67728542,\\n\",\n       \"          21.63729079,  21.76718696],\\n\",\n       \"        [ 21.02670418,  21.22586046,  21.36227848, ...,  21.31522747,\\n\",\n       \"          21.4562707 ,  21.61980196],\\n\",\n       \"        [ 21.08453035,  21.20775213,  21.19865266, ...,  21.28921609,\\n\",\n       \"          21.44822081,  21.56667633]]),\\n\",\n       \" array([[ 20.44161666,  20.44133304,  20.50606671, ...,  20.78067392,\\n\",\n       \"          20.83525299,  20.88356921],\\n\",\n       \"        [ 20.47831642,  20.55669655,  20.6800365 , ...,  20.94345539,\\n\",\n       \"          21.0255306 ,  21.09250263],\\n\",\n       \"        [ 20.0543866 ,  20.24467179,  20.42056851, ...,  20.71879315,\\n\",\n       \"          20.80801567,  20.8139791 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.55444964,  25.73089496,  25.78688107, ...,  25.83001772,\\n\",\n       \"          25.87363941,  25.94209486],\\n\",\n       \"        [ 26.10683785,  26.13568262,  26.21882171, ...,  26.1706635 ,\\n\",\n       \"          26.17482513,  25.99067047],\\n\",\n       \"        [ 25.78641012,  25.93842086,  25.87267253, ...,  26.02785251,\\n\",\n       \"          25.8333293 ,  25.74114593]]),\\n\",\n       \" array([[ 26.09202122,  26.16659026,  26.28513376, ...,  26.27827853,\\n\",\n       \"          26.19880974,  26.29279004],\\n\",\n       \"        [ 27.09296713,  27.16525979,  27.07816223, ...,  26.79828223,\\n\",\n       \"          26.82462005,  26.80115994],\\n\",\n       \"        [ 27.37426618,  27.26991991,  27.08514753, ...,  26.99525355,\\n\",\n       \"          27.0364177 ,  27.06762629],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.74252888,  25.81395317,  25.96051853, ...,  26.19018399,\\n\",\n       \"          26.25012269,  26.22686022],\\n\",\n       \"        [ 24.28942298,  24.55436301,  24.86490981, ...,  25.19589939,\\n\",\n       \"          25.32405251,  25.35862108],\\n\",\n       \"        [ 24.10812922,  24.39599208,  24.70467848, ...,  25.0249339 ,\\n\",\n       \"          25.12917584,  25.13941702]]),\\n\",\n       \" array([[ 23.89936317,  24.16238987,  24.37814933, ...,  24.6867283 ,\\n\",\n       \"          24.73517262,  24.9000166 ],\\n\",\n       \"        [ 22.796028  ,  23.03957929,  23.36191281, ...,  23.95134918,\\n\",\n       \"          24.05807653,  24.32577573],\\n\",\n       \"        [ 23.98201714,  24.24346901,  24.60352667, ...,  24.83600538,\\n\",\n       \"          25.01300299,  25.28700399],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.88867191,  25.80319669,  25.80762619, ...,  25.73744858,\\n\",\n       \"          25.58444691,  25.6317368 ],\\n\",\n       \"        [ 25.74242634,  25.69379746,  25.73573117, ...,  25.64464014,\\n\",\n       \"          25.67333293,  25.64796163],\\n\",\n       \"        [ 25.3468584 ,  25.36760481,  25.38439543, ...,  25.45652486,\\n\",\n       \"          25.45199294,  25.37327864]]),\\n\",\n       \" array([[ 25.98449668,  25.98521208,  25.95242912, ...,  25.89368463,\\n\",\n       \"          25.88045388,  25.93171006],\\n\",\n       \"        [ 25.76105977,  25.70375977,  25.63967045, ...,  25.59240848,\\n\",\n       \"          25.66132277,  25.66463929],\\n\",\n       \"        [ 25.23810548,  25.19061044,  25.23695191, ...,  25.46131797,\\n\",\n       \"          25.38041014,  25.40377967],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.24824289,  26.17127915,  26.07623138, ...,  25.84710184,\\n\",\n       \"          25.78029758,  25.70586174],\\n\",\n       \"        [ 26.19759651,  26.09744315,  25.92235382, ...,  25.63588018,\\n\",\n       \"          25.63291115,  25.59553912],\\n\",\n       \"        [ 25.77531313,  25.60455853,  25.42752481, ...,  25.30530249,\\n\",\n       \"          25.33317719,  25.22147558]]),\\n\",\n       \" array([[ 25.40656908,  25.27074144,  25.21409378, ...,  25.28521185,\\n\",\n       \"          25.22632841,  25.16945681],\\n\",\n       \"        [ 25.18921491,  25.07334629,  25.05299874, ...,  24.94128607,\\n\",\n       \"          24.95502997,  24.95791613],\\n\",\n       \"        [ 24.81985555,  24.80298349,  24.7612829 , ...,  24.59692495,\\n\",\n       \"          24.58690609,  24.58263133],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.0389708 ,  25.93263093,  25.87256265, ...,  25.77298706,\\n\",\n       \"          25.6439993 ,  25.58368641],\\n\",\n       \"        [ 26.56849541,  26.50595118,  26.36715477, ...,  26.37166457,\\n\",\n       \"          26.3312083 ,  26.14700985],\\n\",\n       \"        [ 26.80613189,  26.67530444,  26.66849488, ...,  26.59946944,\\n\",\n       \"          26.42169587,  26.33018949]]),\\n\",\n       \" array([[ 26.06044987,  26.12046614,  26.05471894, ...,  25.93053422,\\n\",\n       \"          25.96502619,  25.96056563],\\n\",\n       \"        [ 26.03326405,  25.99975566,  25.8123115 , ...,  25.6606701 ,\\n\",\n       \"          25.76405528,  25.65340638],\\n\",\n       \"        [ 26.56229083,  26.42947167,  26.36848794, ...,  26.51685341,\\n\",\n       \"          26.46719925,  26.41071161],\\n\",\n       \"        ..., \\n\",\n       \"        [ 21.28992895,  21.33566945,  21.43008967, ...,  21.71406469,\\n\",\n       \"          21.85169081,  21.92897556],\\n\",\n       \"        [ 21.21583534,  21.37312981,  21.57666978, ...,  21.84861172,\\n\",\n       \"          21.88918311,  21.93881172],\\n\",\n       \"        [ 21.1126037 ,  21.34119817,  21.47466187, ...,  21.63830162,\\n\",\n       \"          21.80664827,  21.87502314]]),\\n\",\n       \" array([[ 21.24389337,  21.37252773,  21.35683562, ...,  21.48408902,\\n\",\n       \"          21.48832578,  21.4263668 ],\\n\",\n       \"        [ 21.22127677,  21.24046477,  21.34895607, ...,  21.41706179,\\n\",\n       \"          21.37656328,  21.35550317],\\n\",\n       \"        [ 21.43282338,  21.46888922,  21.493978  , ...,  21.51923313,\\n\",\n       \"          21.50631784,  21.53775008],\\n\",\n       \"        ..., \\n\",\n       \"        [ 26.79653366,  26.64113656,  26.49911428, ...,  26.25092122,\\n\",\n       \"          26.10219452,  25.9559183 ],\\n\",\n       \"        [ 26.50290012,  26.38396506,  26.21567803, ...,  26.05643976,\\n\",\n       \"          25.92729177,  25.75297956],\\n\",\n       \"        [ 26.49228551,  26.2948515 ,  26.14185587, ...,  25.91011466,\\n\",\n       \"          25.7620661 ,  25.60436813]]),\\n\",\n       \" array([[ 26.59862697,  26.53265571,  26.46607521, ...,  26.31185187,\\n\",\n       \"          26.22269463,  26.15406759],\\n\",\n       \"        [ 26.55732047,  26.49355051,  26.42777149, ...,  26.2624713 ,\\n\",\n       \"          26.21316348,  26.13021364],\\n\",\n       \"        [ 26.38850061,  26.32645169,  26.21572275, ...,  26.15394371,\\n\",\n       \"          26.11911926,  25.99641195],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.39713553,  34.08620781,  33.9011808 , ...,  33.34027792,\\n\",\n       \"          33.04665311,  32.89668644],\\n\",\n       \"        [ 33.98517109,  33.82119053,  33.5508494 , ...,  33.05718995,\\n\",\n       \"          32.86762085,  32.58866132],\\n\",\n       \"        [ 33.8906325 ,  33.64126562,  33.39516092, ...,  32.95667114,\\n\",\n       \"          32.6643352 ,  32.42929969]]),\\n\",\n       \" array([[ 34.41874727,  34.43546507,  34.39947704, ...,  34.34448666,\\n\",\n       \"          34.32896368,  34.34120397],\\n\",\n       \"        [ 34.46582211,  34.4089387 ,  34.43652649, ...,  34.3424298 ,\\n\",\n       \"          34.30309225,  34.3895445 ],\\n\",\n       \"        [ 34.59749054,  34.58828052,  34.57559093, ...,  34.53213034,\\n\",\n       \"          34.55857317,  34.6258566 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 39.55704137,  39.59838257,  39.602544  , ...,  39.60300783,\\n\",\n       \"          39.63200396,  39.69585152],\\n\",\n       \"        [ 40.46611222,  40.43535902,  40.40883545, ...,  40.43070392,\\n\",\n       \"          40.44180509,  40.54478546],\\n\",\n       \"        [ 41.35119597,  41.342732  ,  41.31906462, ...,  41.47767905,\\n\",\n       \"          41.55588714,  41.5559466 ]]),\\n\",\n       \" array([[ 41.24501714,  41.30563545,  41.33906701, ...,  41.41231404,\\n\",\n       \"          41.36247167,  41.32137465],\\n\",\n       \"        [ 41.55176282,  41.61250172,  41.6040215 , ...,  41.5859052 ,\\n\",\n       \"          41.4933257 ,  41.49596777],\\n\",\n       \"        [ 41.11082905,  41.21096532,  41.24008778, ...,  41.10885342,\\n\",\n       \"          41.11014781,  41.19066485],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.40333667,  40.57757536,  40.7444689 , ...,  40.55767817,\\n\",\n       \"          40.62361813,  40.7688445 ],\\n\",\n       \"        [ 39.63679228,  39.85222014,  39.7001448 , ...,  39.82137182,\\n\",\n       \"          39.90308844,  39.89175773],\\n\",\n       \"        [ 40.03398294,  39.90566847,  39.92936408, ...,  40.00273409,\\n\",\n       \"          39.99056338,  40.13290444]]),\\n\",\n       \" array([[ 40.57613285,  40.36745876,  40.34832271, ...,  40.14127925,\\n\",\n       \"          40.25699571,  40.17561628],\\n\",\n       \"        [ 39.98152946,  40.00012052,  39.84018882, ...,  39.76283388,\\n\",\n       \"          39.68356018,  39.62743014],\\n\",\n       \"        [ 40.65448136,  40.47656975,  40.40428358, ...,  40.32405542,\\n\",\n       \"          40.34608955,  40.51020122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 40.70973214,  40.82156695,  40.94997294, ...,  41.05915738,\\n\",\n       \"          41.2009332 ,  41.24048475],\\n\",\n       \"        [ 40.74221266,  40.91247665,  40.94516366, ...,  41.11094752,\\n\",\n       \"          41.12695732,  41.2238754 ],\\n\",\n       \"        [ 40.51848579,  40.63794176,  40.6930074 , ...,  40.83603721,\\n\",\n       \"          40.96158001,  41.20000058]]),\\n\",\n       \" array([[ 41.02840608,  40.97742881,  41.04879639, ...,  41.08703686,\\n\",\n       \"          41.13259893,  41.13751978],\\n\",\n       \"        [ 41.06644308,  41.14932577,  41.14604797, ...,  41.28572476,\\n\",\n       \"          41.31572252,  41.31868877],\\n\",\n       \"        [ 42.00121108,  41.91105222,  41.98860594, ...,  42.05340097,\\n\",\n       \"          42.0514623 ,  42.07459136],\\n\",\n       \"        ..., \\n\",\n       \"        [ 41.61889522,  41.77265455,  42.134165  , ...,  42.26888054,\\n\",\n       \"          42.27023834,  42.27099558],\\n\",\n       \"        [ 39.61382401,  39.3572463 ,  38.99373902, ...,  39.08954502,\\n\",\n       \"          39.72855523,  40.20378919],\\n\",\n       \"        [ 39.26326568,  38.77189241,  38.68857487, ...,  38.98425831,\\n\",\n       \"          39.33537682,  39.83910962]]),\\n\",\n       \" array([[ 40.47205982,  40.6031967 ,  40.7555591 , ...,  41.30306999,\\n\",\n       \"          41.58849567,  42.20678238],\\n\",\n       \"        [ 40.53496451,  40.74019047,  40.91134542, ...,  41.1356297 ,\\n\",\n       \"          41.85741949,  42.23975788],\\n\",\n       \"        [ 40.68819248,  40.89227875,  40.86005788, ...,  41.29318408,\\n\",\n       \"          41.69474886,  41.93568032],\\n\",\n       \"        ..., \\n\",\n       \"        [ 32.58236996,  32.68722674,  32.94694616, ...,  33.68935864,\\n\",\n       \"          34.40763451,  35.0411307 ],\\n\",\n       \"        [ 34.11827593,  34.29691869,  34.56631295, ...,  35.77380712,\\n\",\n       \"          36.1406701 ,  36.65944805],\\n\",\n       \"        [ 32.53922298,  32.93070035,  33.1267649 , ...,  33.88362425,\\n\",\n       \"          34.34724461,  35.05498163]]),\\n\",\n       \" array([[ 31.52461716,  31.57967856,  31.70310795, ...,  31.60969549,\\n\",\n       \"          31.97998058,  31.76583509],\\n\",\n       \"        [ 32.56237362,  32.44398294,  32.30184175, ...,  32.87763302,\\n\",\n       \"          32.50008364,  32.21124309],\\n\",\n       \"        [ 32.08373777,  32.0604223 ,  32.18122015, ...,  32.3427488 ,\\n\",\n       \"          31.88531891,  32.15190584],\\n\",\n       \"        ..., \\n\",\n       \"        [ 36.47434384,  36.56338542,  36.61949077, ...,  36.48991746,\\n\",\n       \"          36.31746724,  36.40344402],\\n\",\n       \"        [ 37.24605504,  37.18514913,  37.20037653, ...,  36.99259881,\\n\",\n       \"          36.96397396,  36.84186326],\\n\",\n       \"        [ 37.03819783,  37.07523111,  37.0042887 , ...,  36.83422073,\\n\",\n       \"          36.62528101,  36.64031558]]),\\n\",\n       \" array([[ 37.15097768,  37.16165774,  37.0631008 , ...,  36.92139965,\\n\",\n       \"          36.90713708,  36.99238524],\\n\",\n       \"        [ 36.81621957,  36.81704608,  36.83068939, ...,  36.76175825,\\n\",\n       \"          36.76190017,  36.74666901],\\n\",\n       \"        [ 37.09933134,  37.1138151 ,  37.12286448, ...,  37.17231345,\\n\",\n       \"          37.17322168,  37.11568705],\\n\",\n       \"        ..., \\n\",\n       \"        [ 25.7344187 ,  26.06591327,  26.15460221, ...,  27.08788596,\\n\",\n       \"          27.12449494,  27.39248972],\\n\",\n       \"        [ 22.49560126,  22.71537861,  22.34032905, ...,  22.91827229,\\n\",\n       \"          22.94172241,  24.24507425],\\n\",\n       \"        [ 24.54302106,  24.12607841,  24.37067691, ...,  24.36400232,\\n\",\n       \"          25.51053396,  26.15846606]]),\\n\",\n       \" array([[ 24.79977904,  24.69590721,  24.0883611 , ...,  24.91928808,\\n\",\n       \"          25.20504994,  25.25962951],\\n\",\n       \"        [ 23.1419501 ,  22.66726302,  21.87925864, ...,  23.11620493,\\n\",\n       \"          22.89603025,  23.68080167],\\n\",\n       \"        [ 23.12996329,  22.22263254,  23.34052642, ...,  23.00870146,\\n\",\n       \"          23.76270941,  23.85789826],\\n\",\n       \"        ..., \\n\",\n       \"        [ 35.2820164 ,  35.36034423,  35.48074954, ...,  35.78691612,\\n\",\n       \"          35.82649512,  35.96429514],\\n\",\n       \"        [ 35.47454644,  35.55712141,  35.53895006, ...,  35.77111792,\\n\",\n       \"          35.8272775 ,  36.00105157],\\n\",\n       \"        [ 35.59562223,  35.77160935,  35.9847767 , ...,  36.14101777,\\n\",\n       \"          36.22937931,  36.35845682]]),\\n\",\n       \" array([[ 34.87543571,  35.05866248,  34.96081266, ...,  34.91188916,\\n\",\n       \"          34.8865196 ,  35.09534966],\\n\",\n       \"        [ 34.07850517,  34.09411023,  33.94862945, ...,  33.7652154 ,\\n\",\n       \"          33.70499976,  34.01118595],\\n\",\n       \"        [ 33.74560074,  33.59630762,  33.55275587, ...,  33.25894686,\\n\",\n       \"          33.44248384,  33.64523254],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.37043957,  34.49072721,  34.46713889, ...,  34.61641291,\\n\",\n       \"          34.6316781 ,  34.65009482],\\n\",\n       \"        [ 34.34755901,  34.44125379,  34.69034084, ...,  34.58201637,\\n\",\n       \"          34.64234545,  34.57663455],\\n\",\n       \"        [ 34.57448406,  34.80322892,  34.60662199, ...,  34.71353755,\\n\",\n       \"          34.54698945,  34.75533398]]),\\n\",\n       \" array([[ 34.48058576,  34.46931947,  34.39645689, ...,  34.56175966,\\n\",\n       \"          34.60120682,  34.6889119 ],\\n\",\n       \"        [ 34.42459542,  34.4041518 ,  34.59273011, ...,  34.71655572,\\n\",\n       \"          34.77569208,  34.91001211],\\n\",\n       \"        [ 34.02746584,  34.17503955,  34.19326864, ...,  34.41906863,\\n\",\n       \"          34.49378041,  34.54149122],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.26729796,  34.33198393,  34.52037656, ...,  34.26471212,\\n\",\n       \"          34.32199879,  34.43204531],\\n\",\n       \"        [ 33.37651991,  33.60677572,  33.52148382, ...,  33.42863803,\\n\",\n       \"          33.44812737,  33.44797037],\\n\",\n       \"        [ 33.77101123,  33.70474743,  33.57014533, ...,  33.57211048,\\n\",\n       \"          33.6467882 ,  33.75261216]]),\\n\",\n       \" array([[ 33.53133289,  33.43869191,  33.37263046, ...,  33.32649401,\\n\",\n       \"          33.31416629,  33.19199006],\\n\",\n       \"        [ 33.46584109,  33.39713333,  33.33327354, ...,  33.28221668,\\n\",\n       \"          33.15383874,  33.13431947],\\n\",\n       \"        [ 34.41622601,  34.29761196,  34.4366854 , ...,  34.39820455,\\n\",\n       \"          34.52023716,  34.3539505 ],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.78692903,  34.73536166,  34.73454473, ...,  34.35468426,\\n\",\n       \"          34.27153208,  34.18379174],\\n\",\n       \"        [ 35.01790079,  34.99299477,  34.80046662, ...,  34.59019432,\\n\",\n       \"          34.47643505,  34.32671027],\\n\",\n       \"        [ 34.93577164,  34.68553218,  34.54299772, ...,  34.42529695,\\n\",\n       \"          34.26793524,  34.20209156]]),\\n\",\n       \" array([[ 34.97898179,  34.98256211,  35.07425527, ...,  35.19605749,\\n\",\n       \"          35.29951325,  35.34528396],\\n\",\n       \"        [ 35.01624583,  35.10178264,  35.12680389, ...,  35.30594613,\\n\",\n       \"          35.35298146,  35.4299613 ],\\n\",\n       \"        [ 34.93937399,  34.9619017 ,  35.07676871, ...,  35.17815547,\\n\",\n       \"          35.28027676,  35.31059197],\\n\",\n       \"        ..., \\n\",\n       \"        [ 44.10058135,  43.8139945 ,  43.50204997, ...,  42.79200923,\\n\",\n       \"          42.46908938,  42.18424781],\\n\",\n       \"        [ 43.92034495,  43.61468664,  43.30103441, ...,  42.6139226 ,\\n\",\n       \"          42.32034584,  42.01517437],\\n\",\n       \"        [ 44.03369297,  43.71493941,  43.41566069, ...,  42.70811157,\\n\",\n       \"          42.40436291,  42.15296897]]),\\n\",\n       \" array([[ 44.26824904,  44.22815477,  44.2189972 , ...,  44.12417068,\\n\",\n       \"          44.16232578,  44.12297489],\\n\",\n       \"        [ 43.86504688,  43.81346145,  43.79542729, ...,  43.81453745,\\n\",\n       \"          43.80092968,  43.78132118],\\n\",\n       \"        [ 44.17142766,  44.10927042,  44.07602426, ...,  44.01900881,\\n\",\n       \"          44.03224618,  44.05145594],\\n\",\n       \"        ..., \\n\",\n       \"        [ 34.95488639,  35.16294448,  35.49386909, ...,  35.56308703,\\n\",\n       \"          35.46595545,  35.52188355],\\n\",\n       \"        [ 36.1446683 ,  36.4019933 ,  36.67338125, ...,  36.68118139,\\n\",\n       \"          36.80819138,  36.84463694],\\n\",\n       \"        [ 35.82839891,  35.92646934,  36.05010142, ...,  36.31325315,\\n\",\n       \"          36.35564094,  36.41780309]])]\"\n      ]\n     },\n     \"execution_count\": 51,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract predictions. \\n\",\n    \"# `execute_viz` function appends predictions to `predictions_800_off`.\\n\",\n    \"execute_viz(steps=35)\\n\",\n    \"predictions_800_off\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"7000\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[7.9386586814575164,\\n\",\n       \" 7.9385203217998654,\\n\",\n       \" 7.924249146106483,\\n\",\n       \" 7.9012922230048002,\\n\",\n       \" 7.9694966896901072,\\n\",\n       \" 7.9379066283830166,\\n\",\n       \" 7.9033436487609698,\\n\",\n       \" 7.9624823177768214,\\n\",\n       \" 7.9797023821236319,\\n\",\n       \" 8.0022559969116571,\\n\",\n       \" 8.0346843791736688,\\n\",\n       \" 8.0165273954102201,\\n\",\n       \" 8.0478567389874343,\\n\",\n       \" 8.0175318531137716,\\n\",\n       \" 8.1207363588667363,\\n\",\n       \" 8.3027967645395577,\\n\",\n       \" 8.3830578303821088,\\n\",\n       \" 8.433113998415509,\\n\",\n       \" 8.3680978432868649,\\n\",\n       \" 8.3471882088960587,\\n\",\n       \" 8.1889879868111279,\\n\",\n       \" 8.1863491608515524,\\n\",\n       \" 8.4241681316139623,\\n\",\n       \" 8.418357801473503,\\n\",\n       \" 8.5213388551832345,\\n\",\n       \" 8.3832348535517571,\\n\",\n       \" 8.1961078162144627,\\n\",\n       \" 8.0712254420379281,\\n\",\n       \" 7.8577649445467834,\\n\",\n       \" 7.8242291698881647,\\n\",\n       \" 7.8212444345901204,\\n\",\n       \" 7.7634359328571501,\\n\",\n       \" 7.9755668055243518,\\n\",\n       \" 8.0341178823289692,\\n\",\n       \" 7.8730729840682745,\\n\",\n       \" 7.8744687301826684,\\n\",\n       \" 8.053238381571342,\\n\",\n       \" 8.0217328098924536,\\n\",\n       \" 8.0288730932490946,\\n\",\n       \" 7.7596041420852018,\\n\",\n       \" 7.4272558470725887,\\n\",\n       \" 7.6045342781236531,\\n\",\n       \" 7.5541483821835058,\\n\",\n       \" 7.6921907134941465,\\n\",\n       \" 7.8355729543313348,\\n\",\n       \" 7.5862038765559605,\\n\",\n       \" 7.3265133334045185,\\n\",\n       \" 7.3144934353553213,\\n\",\n       \" 7.3500829043810105,\\n\",\n       \" 7.3510859878584105,\\n\",\n       \" 7.4282522099924249,\\n\",\n       \" 7.37924055474861,\\n\",\n       \" 7.4078716362153223,\\n\",\n       \" 7.6956865693848453,\\n\",\n       \" 7.7665983163343082,\\n\",\n       \" 7.7437631679078303,\\n\",\n       \" 7.9610193388681854,\\n\",\n       \" 8.0008118350990696,\\n\",\n       \" 7.9373151329248639,\\n\",\n       \" 8.0235718872491102,\\n\",\n       \" 7.9163579791227132,\\n\",\n       \" 7.8450888166196311,\\n\",\n       \" 7.7645800745267728,\\n\",\n       \" 7.8200451803263924,\\n\",\n       \" 7.8416342933699266,\\n\",\n       \" 7.8434909561987745,\\n\",\n       \" 7.8382321920669131,\\n\",\n       \" 7.8685651108740355,\\n\",\n       \" 7.9846856131927062,\\n\",\n       \" 8.0088802813229911,\\n\",\n       \" 7.865448180200195,\\n\",\n       \" 7.9267289179245122,\\n\",\n       \" 7.8755502361625265,\\n\",\n       \" 7.7186662517603013,\\n\",\n       \" 7.9199563662611236,\\n\",\n       \" 7.9782845980081945,\\n\",\n       \" 7.9338153744603783,\\n\",\n       \" 7.9077209067781506,\\n\",\n       \" 7.8805941466182876,\\n\",\n       \" 7.804253716325892,\\n\",\n       \" 7.8490373611580342,\\n\",\n       \" 7.8753824102238852,\\n\",\n       \" 7.8915503700812,\\n\",\n       \" 7.877443173859108,\\n\",\n       \" 7.7895429137186358,\\n\",\n       \" 7.7513428027436122,\\n\",\n       \" 7.7149487495816276,\\n\",\n       \" 7.5523444523503853,\\n\",\n       \" 7.4303808282737211,\\n\",\n       \" 7.0821673891687666,\\n\",\n       \" 5.9677691947169427,\\n\",\n       \" 5.1362911464119145,\\n\",\n       \" 5.5574575276275731,\\n\",\n       \" 5.2818650930534563,\\n\",\n       \" 5.4744499091450667,\\n\",\n       \" 5.3094567735870584,\\n\",\n       \" 5.0301794949373013,\\n\",\n       \" 5.1123900154976303,\\n\",\n       \" 5.4867000687863783,\\n\",\n       \" 5.2783798151050974,\\n\",\n       \" 5.5429067215920238,\\n\",\n       \" 5.2856207494813647,\\n\",\n       \" 5.2600922736577882,\\n\",\n       \" 5.3795144576904841,\\n\",\n       \" 5.3226781806849388,\\n\",\n       \" 5.3103028948361795,\\n\",\n       \" 5.3168439182747154,\\n\",\n       \" 5.3543485747309898,\\n\",\n       \" 5.3950525100208226,\\n\",\n       \" 5.345318857173547,\\n\",\n       \" 5.3198220678787616,\\n\",\n       \" 5.4133559584263899,\\n\",\n       \" 5.3843395565582757,\\n\",\n       \" 5.5139377070660638,\\n\",\n       \" 5.6091792949613897,\\n\",\n       \" 5.6306767189261206,\\n\",\n       \" 5.7172608253593893,\\n\",\n       \" 5.7317686562106136,\\n\",\n       \" 5.7259383971371589,\\n\",\n       \" 5.492856834747605,\\n\",\n       \" 5.4135359809230312,\\n\",\n       \" 5.362572896424024,\\n\",\n       \" 5.3979066269629259,\\n\",\n       \" 5.4939663284969846,\\n\",\n       \" 5.6319808805005911,\\n\",\n       \" 5.6411152173746011,\\n\",\n       \" 5.6758521237026303,\\n\",\n       \" 5.5963907615876654,\\n\",\n       \" 5.7466509186675312,\\n\",\n       \" 5.6527778014805667,\\n\",\n       \" 5.5911499582756194,\\n\",\n       \" 5.5687781331245487,\\n\",\n       \" 5.436830255690305,\\n\",\n       \" 5.4554965703535103,\\n\",\n       \" 5.7195278095458084,\\n\",\n       \" 5.7427309518459584,\\n\",\n       \" 5.9606798799275227,\\n\",\n       \" 5.9384989424349897,\\n\",\n       \" 5.7778385648473565,\\n\",\n       \" 5.6901466393148805,\\n\",\n       \" 5.9579184804955743,\\n\",\n       \" 5.8436553203737107,\\n\",\n       \" 6.1517305136993015,\\n\",\n       \" 6.1555230756912005,\\n\",\n       \" 6.1184355998723934,\\n\",\n       \" 6.0827708197957993,\\n\",\n       \" 5.8898273456745862,\\n\",\n       \" 5.8970123526576721,\\n\",\n       \" 5.8540476000295616,\\n\",\n       \" 5.8947781345973125,\\n\",\n       \" 5.8988450139051256,\\n\",\n       \" 5.9144672991265015,\\n\",\n       \" 5.8782232003546042,\\n\",\n       \" 5.751470819801737,\\n\",\n       \" 5.6138833941332598,\\n\",\n       \" 5.7077101710774851,\\n\",\n       \" 5.8340908464301124,\\n\",\n       \" 5.8308013171332744,\\n\",\n       \" 5.8327581835573215,\\n\",\n       \" 5.8519904841862331,\\n\",\n       \" 6.0306902932743567,\\n\",\n       \" 5.9651639045282563,\\n\",\n       \" 5.9024180741927683,\\n\",\n       \" 5.905254944675784,\\n\",\n       \" 5.8274018484276713,\\n\",\n       \" 5.8672542702992745,\\n\",\n       \" 5.7672014808651406,\\n\",\n       \" 5.6255380091922573,\\n\",\n       \" 5.6900808085978474,\\n\",\n       \" 5.7491740048308451,\\n\",\n       \" 5.7679135053569599,\\n\",\n       \" 5.7921074313959346,\\n\",\n       \" 5.7529437138169861,\\n\",\n       \" 5.7453901557846443,\\n\",\n       \" 5.7549205739837044,\\n\",\n       \" 5.6990868193754816,\\n\",\n       \" 5.8251170153492167,\\n\",\n       \" 5.8273091752505657,\\n\",\n       \" 5.7601002273888726,\\n\",\n       \" 5.8233125011725528,\\n\",\n       \" 5.7657222040117455,\\n\",\n       \" 5.6902374599790972,\\n\",\n       \" 5.7354608350877712,\\n\",\n       \" 5.8177104411454748,\\n\",\n       \" 5.7374285740025925,\\n\",\n       \" 5.7577836964541582,\\n\",\n       \" 5.9131196878942065,\\n\",\n       \" 6.0303952627288453,\\n\",\n       \" 6.0860790674585017,\\n\",\n       \" 6.523352100466882,\\n\",\n       \" 6.5176956991855022,\\n\",\n       \" 6.3933007815776115,\\n\",\n       \" 6.3835975284975151,\\n\",\n       \" 6.4078502003894933,\\n\",\n       \" 6.3637590570703271,\\n\",\n       \" 6.5949673261789989,\\n\",\n       \" 6.5455806185616092,\\n\",\n       \" 6.4751872040984262,\\n\",\n       \" 6.5195002081104771,\\n\",\n       \" 6.3264696997486274,\\n\",\n       \" 6.0807016653319117,\\n\",\n       \" 6.1408127499487541,\\n\",\n       \" 6.219018322737476,\\n\",\n       \" 6.1846771780336889,\\n\",\n       \" 6.1968487923542526,\\n\",\n       \" 6.1407414692183888,\\n\",\n       \" 6.1799911998396553,\\n\",\n       \" 6.2249280967765133,\\n\",\n       \" 6.2936809105776534,\\n\",\n       \" 6.4090332930535974,\\n\",\n       \" 6.6308038648546219,\\n\",\n       \" 6.5138903921171174,\\n\",\n       \" 6.5528890032476212,\\n\",\n       \" 6.4015883914550091,\\n\",\n       \" 6.4307525014847942,\\n\",\n       \" 6.6354753933126718,\\n\",\n       \" 6.6776841894164463,\\n\",\n       \" 6.6257053006111022,\\n\",\n       \" 6.5979277591120677,\\n\",\n       \" 6.5177020655583062,\\n\",\n       \" 6.4639621922853854,\\n\",\n       \" 6.5929430396185502,\\n\",\n       \" 6.563617827386925,\\n\",\n       \" 6.5303849680219948,\\n\",\n       \" 6.4995593769216953,\\n\",\n       \" 6.4649624362380536,\\n\",\n       \" 6.5278670522895528,\\n\",\n       \" 6.3057793819307069,\\n\",\n       \" 6.3585309273105324,\\n\",\n       \" 6.3898301080010222,\\n\",\n       \" 6.4109942891001142,\\n\",\n       \" 6.4160272080079075,\\n\",\n       \" 6.3290462648771761,\\n\",\n       \" 6.3437505325128685,\\n\",\n       \" 6.4353914645100412,\\n\",\n       \" 6.3846107235843457,\\n\",\n       \" 6.3345204796076109,\\n\",\n       \" 6.1894686224716153,\\n\",\n       \" 6.2157073895180872,\\n\",\n       \" 6.2486000973397662,\\n\",\n       \" 6.2368927411923671,\\n\",\n       \" 6.3432386601776685,\\n\",\n       \" 6.3379977975373869,\\n\",\n       \" 6.2523736617222125,\\n\",\n       \" 6.2063880601390755,\\n\",\n       \" 6.2004624044192527,\\n\",\n       \" 6.2274621198667726,\\n\",\n       \" 6.1435489361737572,\\n\",\n       \" 6.2171136176098889,\\n\",\n       \" 6.2762419621511194,\\n\",\n       \" 6.2082569735496369,\\n\",\n       \" 6.2434735901984277,\\n\",\n       \" 6.2285656669525213,\\n\",\n       \" 6.339001638826165,\\n\",\n       \" 6.2277719563607379,\\n\",\n       \" 6.2288520447248956,\\n\",\n       \" 6.2365459050280343,\\n\",\n       \" 6.0893816610840972,\\n\",\n       \" 6.0374599279207759,\\n\",\n       \" 6.0264675246684556,\\n\",\n       \" 6.1137591008762504,\\n\",\n       \" 6.0592710923379505,\\n\",\n       \" 5.9711306319655613,\\n\",\n       \" 5.7513733266823639,\\n\",\n       \" 5.5097994661055463,\\n\",\n       \" 5.6962746683908954,\\n\",\n       \" 5.6915570017391728,\\n\",\n       \" 5.6848440041287835,\\n\",\n       \" 5.6832244978989124,\\n\",\n       \" 5.750705474799763,\\n\",\n       \" 5.8113211743784543,\\n\",\n       \" 5.8016871915600143,\\n\",\n       \" 5.7972938306995045,\\n\",\n       \" 5.7972083706741921,\\n\",\n       \" 5.6453255228951784,\\n\",\n       \" 5.6749863348097422,\\n\",\n       \" 5.6996741266188975,\\n\",\n       \" 5.5675009534560509,\\n\",\n       \" 5.6021289487784047,\\n\",\n       \" 5.6022023704383761,\\n\",\n       \" 5.7929905942999023,\\n\",\n       \" 5.7600080508509617,\\n\",\n       \" 5.6803857091223806,\\n\",\n       \" 5.7001653286947382,\\n\",\n       \" 5.628053946210775,\\n\",\n       \" 5.7397504025018833,\\n\",\n       \" 5.7488611551852298,\\n\",\n       \" 5.7884776433347263,\\n\",\n       \" 5.7606480893760974,\\n\",\n       \" 5.7232441999062003,\\n\",\n       \" 5.7390025629080252,\\n\",\n       \" 5.6898914943350904,\\n\",\n       \" 5.5913404105092237,\\n\",\n       \" 5.6429359360509661,\\n\",\n       \" 5.6245308816441879,\\n\",\n       \" 5.521229202338322,\\n\",\n       \" 5.6702633627264429,\\n\",\n       \" 5.6416480607131669,\\n\",\n       \" 5.5986566920550347,\\n\",\n       \" 5.6172741720165718,\\n\",\n       \" 5.623086217458237,\\n\",\n       \" 5.6246064977859165,\\n\",\n       \" 5.6653931448466528,\\n\",\n       \" 5.4608227015679969,\\n\",\n       \" 5.3966586488185202,\\n\",\n       \" 5.4289511411185103,\\n\",\n       \" 5.2875078547393901,\\n\",\n       \" 5.2847054810112235,\\n\",\n       \" 5.3373680496133895,\\n\",\n       \" 5.2762810454534268,\\n\",\n       \" 5.2750734296384039,\\n\",\n       \" 5.1959823860369054,\\n\",\n       \" 5.2827342978803458,\\n\",\n       \" 5.4710139571842973,\\n\",\n       \" 5.3300835355799663,\\n\",\n       \" 5.2970530689830815,\\n\",\n       \" 5.2985848476817736,\\n\",\n       \" 5.3305227087546792,\\n\",\n       \" 5.3663885542906495,\\n\",\n       \" 5.3759541957048853,\\n\",\n       \" 5.4322736425101743,\\n\",\n       \" 5.4220898474720185,\\n\",\n       \" 5.3905230414398773,\\n\",\n       \" 5.4458845984162574,\\n\",\n       \" 5.4705876696812235,\\n\",\n       \" 5.3943082767618771,\\n\",\n       \" 5.4052406528858148,\\n\",\n       \" 5.4362040742190922,\\n\",\n       \" 5.4640939263392863,\\n\",\n       \" 5.4051135025701749,\\n\",\n       \" 5.4741070501629476,\\n\",\n       \" 5.3940804759505001,\\n\",\n       \" 5.2765852999039407,\\n\",\n       \" 5.2367939145239086,\\n\",\n       \" 5.3135569615141129,\\n\",\n       \" 5.3711115812887265,\\n\",\n       \" 5.3801967917752913,\\n\",\n       \" 5.3885632691395839,\\n\",\n       \" 5.3309693678326386,\\n\",\n       \" 5.2689932543645357,\\n\",\n       \" 5.3557540160890884,\\n\",\n       \" 5.5215502002634196,\\n\",\n       \" 5.6763469115788743,\\n\",\n       \" 5.6275036264298288,\\n\",\n       \" 5.5790831372201453,\\n\",\n       \" 5.5845116651871987,\\n\",\n       \" 5.5322635927423747,\\n\",\n       \" 5.4275658988016069,\\n\",\n       \" 5.55966343140968,\\n\",\n       \" 5.6129061682784309,\\n\",\n       \" 5.6316581658716416,\\n\",\n       \" 5.6462540778406192,\\n\",\n       \" 5.598136919296274,\\n\",\n       \" 5.6571348286246561,\\n\",\n       \" 5.6359001873908632,\\n\",\n       \" 5.7277202299609788,\\n\",\n       \" 5.6740846350932692,\\n\",\n       \" 5.6799922954066577,\\n\",\n       \" 5.7594643478485308,\\n\",\n       \" 5.7271271693549277,\\n\",\n       \" 5.7967246479761405,\\n\",\n       \" 5.6902957053480048,\\n\",\n       \" 5.7481933912333032,\\n\",\n       \" 5.776096557452461,\\n\",\n       \" 5.7617121849113948,\\n\",\n       \" 5.8393455241629351,\\n\",\n       \" 5.80851365580238,\\n\",\n       \" 5.7061651224700221,\\n\",\n       \" 5.7463001838894643,\\n\",\n       \" 5.8459095214973518,\\n\",\n       \" 5.8129708972445027,\\n\",\n       \" 5.7289537224283746,\\n\",\n       \" 5.7635394830243891,\\n\",\n       \" 5.7798753607785249,\\n\",\n       \" 5.760361358559452,\\n\",\n       \" 5.7352354078773384,\\n\",\n       \" 5.8116352347282767,\\n\",\n       \" 5.8429041999416764,\\n\",\n       \" 5.8151036523615378,\\n\",\n       \" 5.78702086082113,\\n\",\n       \" 5.8210950505819294,\\n\",\n       \" 5.8882420455009639,\\n\",\n       \" 5.8628804827773484,\\n\",\n       \" 6.0480230583435945,\\n\",\n       \" 6.0152743474266623,\\n\",\n       \" 6.0384255844887509,\\n\",\n       \" 6.0212276415691575,\\n\",\n       \" 5.9373441582168853,\\n\",\n       \" 5.9386898388109204,\\n\",\n       \" 5.7265774770612952,\\n\",\n       \" 5.8058124065141357,\\n\",\n       \" 5.8309416828753804,\\n\",\n       \" 5.806825128711198,\\n\",\n       \" 5.8609904639039865,\\n\",\n       \" 5.8103033501851673,\\n\",\n       \" 5.899075710547133,\\n\",\n       \" 5.8957817233608933,\\n\",\n       \" 5.8774063086352131,\\n\",\n       \" 5.8863750678935238,\\n\",\n       \" 5.9047815232695564,\\n\",\n       \" 5.8772748371652774,\\n\",\n       \" 5.9080492770719681,\\n\",\n       \" 5.9553407787211086,\\n\",\n       \" 5.9539213164617859,\\n\",\n       \" 5.9474931006010614,\\n\",\n       \" 5.8824304350302858,\\n\",\n       \" 5.9246357303227732,\\n\",\n       \" 5.9966512718277771,\\n\",\n       \" 6.1830447741650625,\\n\",\n       \" 6.1328495597379868,\\n\",\n       \" 6.1648144070294419,\\n\",\n       \" 6.0655478905435771,\\n\",\n       \" 6.1017832651817727,\\n\",\n       \" 6.1675802992967839,\\n\",\n       \" 6.31166827776266,\\n\",\n       \" 6.3916595515334285,\\n\",\n       \" 6.2929588458907384,\\n\",\n       \" 6.2468526458728455,\\n\",\n       \" 6.2573973153866271,\\n\",\n       \" 6.1080822368652887,\\n\",\n       \" 6.1801817058435908,\\n\",\n       \" 6.1874435542180333,\\n\",\n       \" 6.1350554316167294,\\n\",\n       \" 6.0669973296916986,\\n\",\n       \" 6.0475437364201925,\\n\",\n       \" 6.1625560989227237,\\n\",\n       \" 6.2144637250854933,\\n\",\n       \" 6.1360530433596248,\\n\",\n       \" 6.1616971499738726,\\n\",\n       \" 6.162973598717806,\\n\",\n       \" 6.0741678423814678,\\n\",\n       \" 6.0596716303603868,\\n\",\n       \" 6.0415228476100937,\\n\",\n       \" 6.0584859422238981,\\n\",\n       \" 6.0317058123404124,\\n\",\n       \" 5.9932926460257168,\\n\",\n       \" 6.0560413661011907,\\n\",\n       \" 6.0989702709130871,\\n\",\n       \" 6.2309670013660554,\\n\",\n       \" 6.2005731621493752,\\n\",\n       \" 6.165409758191255,\\n\",\n       \" 6.1311294067934936,\\n\",\n       \" 6.0906456841662697,\\n\",\n       \" 6.1555500785503412,\\n\",\n       \" 6.2323054704055867,\\n\",\n       \" 6.4881160956818604,\\n\",\n       \" 6.6342351373521016,\\n\",\n       \" 6.4570445412912933,\\n\",\n       \" 6.374866042053406,\\n\",\n       \" 6.4308433625467396,\\n\",\n       \" 6.3734370573236641,\\n\",\n       \" 6.403447253121584,\\n\",\n       \" 6.436265969918189,\\n\",\n       \" 6.3590009819059148,\\n\",\n       \" 6.3961207763580941,\\n\",\n       \" 6.1724201549414683,\\n\",\n       \" 6.2769197073061669,\\n\",\n       \" 6.2851321353926437,\\n\",\n       \" 6.3128169127219014,\\n\",\n       \" 6.3081045394587481,\\n\",\n       \" 6.1950091414851673,\\n\",\n       \" 6.1408556719668068,\\n\",\n       \" 6.0633621949316598,\\n\",\n       \" 6.0881970236622189,\\n\",\n       \" 6.1073369206643013,\\n\",\n       \" 5.9588693113440678,\\n\",\n       \" 6.1175907639469376,\\n\",\n       \" 6.1372956140145734,\\n\",\n       \" 6.2946030931079147,\\n\",\n       \" 6.3439360660854538,\\n\",\n       \" 6.2612379585117202,\\n\",\n       \" 6.2581080316719033,\\n\",\n       \" 6.2563896000018691,\\n\",\n       \" 6.2072595691211578,\\n\",\n       \" 6.3080575540291051,\\n\",\n       \" 6.3459910132352366,\\n\",\n       \" 6.3501889363780117,\\n\",\n       \" 6.3105526963978145,\\n\",\n       \" 6.2589070066815893,\\n\",\n       \" 6.2311725027310167,\\n\",\n       \" 6.2194414241635601,\\n\",\n       \" 6.2260806644232733,\\n\",\n       \" 6.064356694106241,\\n\",\n       \" 6.0569670539878011,\\n\",\n       \" 6.0360820200847431,\\n\",\n       \" 6.0306526347561622,\\n\",\n       \" 6.10963306558555,\\n\",\n       \" 6.1197242278900479,\\n\",\n       \" 6.0840258823582527,\\n\",\n       \" 6.0907413639358587,\\n\",\n       \" 6.1439408348711586,\\n\",\n       \" 6.1601605760088054,\\n\",\n       \" 6.0746815738915974,\\n\",\n       \" 5.8478758489596752,\\n\",\n       \" 5.9261799695037238,\\n\",\n       \" 5.9563496161725427,\\n\",\n       \" 5.9888011699820742,\\n\",\n       \" 5.9312195708763165,\\n\",\n       \" 5.9706724129626032,\\n\",\n       \" 5.9933024864740227,\\n\",\n       \" 5.9867673200914338,\\n\",\n       \" 5.8462362349739472,\\n\",\n       \" 5.9601537526648034,\\n\",\n       \" 5.9947582922473552,\\n\",\n       \" 6.003057420843751,\\n\",\n       \" 5.9846443000312544,\\n\",\n       \" 5.9730104266088659,\\n\",\n       \" 5.9523187593356379,\\n\",\n       \" 5.9463690122944595,\\n\",\n       \" 5.9744223995801935,\\n\",\n       \" 5.939786744728857,\\n\",\n       \" 5.9826215361874091,\\n\",\n       \" 5.939582759766612,\\n\",\n       \" 5.9888134963242665,\\n\",\n       \" 6.0360791469381807,\\n\",\n       \" 6.0211579926374652,\\n\",\n       \" 6.0288817551633125,\\n\",\n       \" 6.2414042550326423,\\n\",\n       \" 6.187163845104128,\\n\",\n       \" 6.0519093619819317,\\n\",\n       \" 6.0220627521113963,\\n\",\n       \" 6.1415191929752213,\\n\",\n       \" 6.2190798550543382,\\n\",\n       \" 6.1596585446123315,\\n\",\n       \" 6.3441677016418678,\\n\",\n       \" 6.3298115176501053,\\n\",\n       \" 6.4282979048325384,\\n\",\n       \" 6.424476408727922,\\n\",\n       \" 6.3926797855142894,\\n\",\n       \" 6.3964736095324044,\\n\",\n       \" 6.4309222704303508,\\n\",\n       \" 6.4470428619492104,\\n\",\n       \" 6.597800571524612,\\n\",\n       \" 6.5303882717602022,\\n\",\n       \" 6.5082277797125911,\\n\",\n       \" 6.4270857231766456,\\n\",\n       \" 6.4280481825694959,\\n\",\n       \" 6.4917677985204172,\\n\",\n       \" 6.5034166775764621,\\n\",\n       \" 6.5314044539772151,\\n\",\n       \" 6.4837296606382804,\\n\",\n       \" 6.454390809817399,\\n\",\n       \" 6.4916832355943601,\\n\",\n       \" 6.3007656633067493,\\n\",\n       \" 6.3505162371615906,\\n\",\n       \" 6.3777252483749614,\\n\",\n       \" 6.4000177307712267,\\n\",\n       \" 6.3744653862664533,\\n\",\n       \" 6.3526573477015882,\\n\",\n       \" 6.2204218426367976,\\n\",\n       \" 6.1601168553797816,\\n\",\n       \" 6.1357619573139441,\\n\",\n       \" 6.2557727237074658,\\n\",\n       \" 6.167742089596838,\\n\",\n       \" 6.2587492973828391,\\n\",\n       \" 6.1016104108795437,\\n\",\n       \" 6.1198442383635463,\\n\",\n       \" 6.1495833296504987,\\n\",\n       \" 6.2104622960501796,\\n\",\n       \" 6.3339111604633027,\\n\",\n       \" 6.2809282570745042,\\n\",\n       \" 6.2876242414388512,\\n\",\n       \" 6.2570788764030008,\\n\",\n       \" 6.2033487804901064,\\n\",\n       \" 6.2705460448924306,\\n\",\n       \" 6.2850656101178455,\\n\",\n       \" 6.2239789058183588,\\n\",\n       \" 6.3938717421479074,\\n\",\n       \" 6.5437888896406857,\\n\",\n       \" 6.4274379632568737,\\n\",\n       \" 6.4566503260158292,\\n\",\n       \" 6.5911292572436331,\\n\",\n       \" 6.5176506312491016,\\n\",\n       \" 6.4449942789804293,\\n\",\n       \" 6.5680941377072877,\\n\",\n       \" 6.4967225254631238,\\n\",\n       \" 6.5211041469949542,\\n\",\n       \" 6.5064621824467359,\\n\",\n       \" 6.480709131233116,\\n\",\n       \" 6.4566845587051755,\\n\",\n       \" 6.442262406589645,\\n\",\n       \" 6.4255759662780054,\\n\",\n       \" 6.2656812077390098,\\n\",\n       \" 6.3326998793779747,\\n\",\n       \" 6.3605331189005687,\\n\",\n       \" 6.4384627842288777,\\n\",\n       \" 6.4182529242340722,\\n\",\n       \" 6.3521926479634994,\\n\",\n       \" 6.3548838182060834,\\n\",\n       \" 6.2062493660098026,\\n\",\n       \" 6.1227534193402322,\\n\",\n       \" 6.1735780907244342,\\n\",\n       \" 6.257880580049517,\\n\",\n       \" 6.1715395829319775,\\n\",\n       \" 6.0964155135202915,\\n\",\n       \" 6.0253029706579264,\\n\",\n       \" 6.2279525671036495,\\n\",\n       \" 6.2832281365796092,\\n\",\n       \" 6.2449293342950511,\\n\",\n       \" 6.2961635274504477,\\n\",\n       \" 6.1546491347218293,\\n\",\n       \" 6.1829646029905909,\\n\",\n       \" 5.8795387296098784,\\n\",\n       \" 5.865635708643282,\\n\",\n       \" 5.9808970294014356,\\n\",\n       \" 6.1233726326465199,\\n\",\n       \" 6.1475733627792479,\\n\",\n       \" 6.1234137034614715,\\n\",\n       \" 6.1820172411545045,\\n\",\n       \" 6.110953603406112,\\n\",\n       \" 6.2301473140168921,\\n\",\n       \" 6.2909630759115895,\\n\",\n       \" 6.2296161049651513,\\n\",\n       \" 6.2549459330259936,\\n\",\n       \" 6.2373482726972096,\\n\",\n       \" 6.2483758660354063,\\n\",\n       \" 6.2136703788104803,\\n\",\n       \" 6.2104630252886199,\\n\",\n       \" 6.2273990415426388,\\n\",\n       \" 6.1087535952540319,\\n\",\n       \" 6.1529684320528553,\\n\",\n       \" 6.2322211056114236,\\n\",\n       \" 6.3655802441960807,\\n\",\n       \" 6.3948997516109243,\\n\",\n       \" 6.4151474712194867,\\n\",\n       \" 6.3925188418026853,\\n\",\n       \" 6.3981933492676948,\\n\",\n       \" 6.4473398997059395,\\n\",\n       \" 6.4744905381026641,\\n\",\n       \" 6.5274246800210474,\\n\",\n       \" 6.6117935320756445,\\n\",\n       \" 6.7194849132268351,\\n\",\n       \" 6.9065916735152806,\\n\",\n       \" 6.8569523133756771,\\n\",\n       \" 7.093649832044397,\\n\",\n       \" 7.1146614486597333,\\n\",\n       \" 6.959046564567581,\\n\",\n       \" 6.8971847300462166,\\n\",\n       \" 6.8718920640936894,\\n\",\n       \" 6.8892431482389771,\\n\",\n       \" 6.9093609232819713,\\n\",\n       \" 6.9342292846106615,\\n\",\n       \" 6.9050223003563289,\\n\",\n       \" 6.9568955928567116,\\n\",\n       \" 7.0621991213880539,\\n\",\n       \" 7.0144742262601563,\\n\",\n       \" 7.0902069086374846,\\n\",\n       \" 7.0928409263184173,\\n\",\n       \" 7.1213566373017265,\\n\",\n       \" 7.1094460551202339,\\n\",\n       \" 7.1264856050282752,\\n\",\n       \" 7.1652686399345962,\\n\",\n       \" 7.1338122136285271,\\n\",\n       \" 7.0767649887730579,\\n\",\n       \" 7.1709408285468967,\\n\",\n       \" 7.0153013499499597,\\n\",\n       \" 6.9989558882842946,\\n\",\n       \" 7.0219877913103499,\\n\",\n       \" 7.0231120950138726,\\n\",\n       \" 6.9636665248807326,\\n\",\n       \" 6.9282749508431589,\\n\",\n       \" 6.7439350370019371,\\n\",\n       \" 6.7192000359220172,\\n\",\n       \" 6.6714688249428402,\\n\",\n       \" 6.8086869327901827,\\n\",\n       \" 7.0141874165476148,\\n\",\n       \" 7.2015380502578346,\\n\",\n       \" 7.2104397327448781,\\n\",\n       \" 7.4097307244234658,\\n\",\n       \" 7.4994811937661714,\\n\",\n       \" 7.5383955652596217,\\n\",\n       \" 7.5257598243247159,\\n\",\n       \" 7.4643927526662219,\\n\",\n       \" 7.419925051358887,\\n\",\n       \" 7.4250818221390835,\\n\",\n       \" 7.3873811927391833,\\n\",\n       \" 7.2617188504588261,\\n\",\n       \" 7.3738386857080407,\\n\",\n       \" 7.4131889877389785,\\n\",\n       \" 7.6126550414636469,\\n\",\n       \" 7.5654094819681772,\\n\",\n       \" 7.5157908776454461,\\n\",\n       \" 7.4497562244839779,\\n\",\n       \" 7.493839352409922,\\n\",\n       \" 7.3213402218210568,\\n\",\n       \" 7.3789381935771532,\\n\",\n       \" 7.4106714634786703,\\n\",\n       \" 7.3807416312214471,\\n\",\n       \" 7.3334474425140224,\\n\",\n       \" 7.3750624522642534,\\n\",\n       \" 7.1372007727528706,\\n\",\n       \" 7.1606881584684707,\\n\",\n       \" 7.1803672350699816,\\n\",\n       \" 7.3255470613039817,\\n\",\n       \" 6.9943591433109242,\\n\",\n       \" 6.9732675095448213,\\n\",\n       \" 6.8783565835878377,\\n\",\n       \" 6.98031341771956,\\n\",\n       \" 7.0696330413615396,\\n\",\n       \" 7.1607723114095014,\\n\",\n       \" 7.0449926166276597,\\n\",\n       \" 7.0414901962793346,\\n\",\n       \" 6.9804239710971157,\\n\",\n       \" 6.9562096900860082,\\n\",\n       \" 7.0210273090914965,\\n\",\n       \" 7.09478413240039,\\n\",\n       \" 7.012461803934074,\\n\",\n       \" 7.0590005713322466,\\n\",\n       \" 7.0127664831919914,\\n\",\n       \" 6.9826575725121636,\\n\",\n       \" 6.7550987187868294,\\n\",\n       \" 6.8455421117176369,\\n\",\n       \" 6.8003112684943243,\\n\",\n       \" 6.8145724087410535,\\n\",\n       \" 6.7527017284933013,\\n\",\n       \" 6.7705005164856784,\\n\",\n       \" 6.7455740696794591,\\n\",\n       \" 6.7090450939173296,\\n\",\n       \" 6.8174593561024039,\\n\",\n       \" 6.7561050422959914,\\n\",\n       \" 6.7685896090459821,\\n\",\n       \" 6.7212441360700428,\\n\",\n       \" 6.708807593216064,\\n\",\n       \" 6.7271014922594778,\\n\",\n       \" 6.6292978617777898,\\n\",\n       \" 6.6781841107789504,\\n\",\n       \" 6.6371342050968041,\\n\",\n       \" 6.5761833234625202,\\n\",\n       \" 6.4605090722697485,\\n\",\n       \" 6.4744029638508964,\\n\",\n       \" 6.5284606295299801,\\n\",\n       \" 6.6373386089196691,\\n\",\n       \" 6.7138169997656982,\\n\",\n       \" 6.9934142385080982,\\n\",\n       \" 7.0033428700723244,\\n\",\n       \" 6.9731492025766002,\\n\",\n       \" 6.903985690267298,\\n\",\n       \" 6.7763511117355106,\\n\",\n       \" 6.9286200126673725,\\n\",\n       \" 7.1000447927499133,\\n\",\n       \" 7.09345535511933,\\n\",\n       \" 7.2090938424918161,\\n\",\n       \" 7.3875787563479705,\\n\",\n       \" 7.2690978663524817,\\n\",\n       \" 7.0616455045616044,\\n\",\n       \" 7.2840816049333386,\\n\",\n       \" 7.1494006615636714,\\n\",\n       \" 7.0909212815348575,\\n\",\n       \" 6.9756315987328001,\\n\",\n       \" 7.1271611782983575,\\n\",\n       \" 7.3403473742641054,\\n\",\n       \" 7.2331691094700741,\\n\",\n       \" 7.2989727139133107,\\n\",\n       \" 7.2774514255596436,\\n\",\n       \" 7.1840288370307857,\\n\",\n       \" 7.0735299963138605,\\n\",\n       \" 7.0574518530785344,\\n\",\n       \" 7.0548456751269599,\\n\",\n       \" 7.0500731962669914,\\n\",\n       \" 7.1972686558377195,\\n\",\n       \" 7.3031413984761011,\\n\",\n       \" 7.3132245486697238,\\n\",\n       \" 7.2868563605187724,\\n\",\n       \" 7.1813517379585132,\\n\",\n       \" 7.2056567321774807,\\n\",\n       \" 7.2221203604976587,\\n\",\n       \" 7.303063402287032,\\n\",\n       \" 7.249336357764383,\\n\",\n       \" 7.3215974293986239,\\n\",\n       \" 7.3465744795495835,\\n\",\n       \" 7.2623125996367914,\\n\",\n       \" 7.1832045239247577,\\n\",\n       \" 7.2110622174023407,\\n\",\n       \" 7.2747432344764427,\\n\",\n       \" 7.2988475355933025,\\n\",\n       \" 7.2356259413900874,\\n\",\n       \" 7.3840689407557019,\\n\",\n       \" 7.4877323004681422,\\n\",\n       \" 7.4430426064260899,\\n\",\n       \" 7.547895511610589,\\n\",\n       \" 7.853534332512754,\\n\",\n       \" 7.8830789750244366,\\n\",\n       \" 7.9047336433194486,\\n\",\n       \" 7.8181639151809526,\\n\",\n       \" 7.7530848964388044,\\n\",\n       \" 7.7092626693515918,\\n\",\n       \" 7.7095797684844971,\\n\",\n       \" 7.7309297661935092,\\n\",\n       \" 8.0600143476631736,\\n\",\n       \" 8.0258230337079368,\\n\",\n       \" 7.9327871394336968,\\n\",\n       \" 7.9057457729556697,\\n\",\n       \" 7.9818310553921803,\\n\",\n       \" 8.0143330004230258,\\n\",\n       \" 8.1754728516629527,\\n\",\n       \" 8.7407287580604791,\\n\",\n       \" 8.7995995090737971,\\n\",\n       \" 8.867927942283929,\\n\",\n       \" 8.6887842580518946,\\n\",\n       \" 8.6983989242566118,\\n\",\n       \" 8.6945500631580295,\\n\",\n       \" 8.8441087150870885,\\n\",\n       \" 8.7258164661630744,\\n\",\n       \" 8.8024823054114449,\\n\",\n       \" 8.7787939745095258,\\n\",\n       \" 9.1172342120167613,\\n\",\n       \" 9.2680542237316139,\\n\",\n       \" 9.1650955209006391,\\n\",\n       \" 9.1386373110298855,\\n\",\n       \" 9.1268413609690526,\\n\",\n       \" 9.1291268207320435,\\n\",\n       \" 8.6960030096486172,\\n\",\n       \" 8.4810024645889115,\\n\",\n       \" 8.706283715671649,\\n\",\n       \" 8.5742443320341302,\\n\",\n       \" 8.6031961396124572,\\n\",\n       \" 8.7541019859943603,\\n\",\n       \" 8.8981049343881047,\\n\",\n       \" 9.1199557942662679,\\n\",\n       \" 9.0634315212467769,\\n\",\n       \" 9.0170817804556229,\\n\",\n       \" 8.936251707707612,\\n\",\n       \" 8.8447979331690725,\\n\",\n       \" 8.8924510671958963,\\n\",\n       \" 8.7791685153324366,\\n\",\n       \" 8.8370720416319664,\\n\",\n       \" 8.9438054404963623,\\n\",\n       \" 9.0455691462537509,\\n\",\n       \" 8.9756613136340881,\\n\",\n       \" 8.9782988128879637,\\n\",\n       \" 8.7991923503918912,\\n\",\n       \" 8.8319758268649018,\\n\",\n       \" 8.5466183148245918,\\n\",\n       \" 8.4355524888700018,\\n\",\n       \" 8.3217873270650173,\\n\",\n       \" 8.2988388549950294,\\n\",\n       \" 8.3065803960319577,\\n\",\n       \" 8.4021592910978384,\\n\",\n       \" 8.5870749537099229,\\n\",\n       \" 8.6557881491832518,\\n\",\n       \" 9.0317099927321145,\\n\",\n       \" 9.3410479073250805,\\n\",\n       \" 9.257132790073296,\\n\",\n       \" 9.1141185430142784,\\n\",\n       \" 9.0238654242010554,\\n\",\n       \" 8.9053677378521812,\\n\",\n       \" 8.7573052001405713,\\n\",\n       \" 8.5919558075387883,\\n\",\n       \" 8.5357095650479451,\\n\",\n       \" 8.5705348340574652,\\n\",\n       \" 8.5261801217514801,\\n\",\n       \" 8.455678023573725,\\n\",\n       \" 8.5249425070290421,\\n\",\n       \" 8.5236222570150524,\\n\",\n       \" 8.503959955965918,\\n\",\n       \" 8.4779948267985503,\\n\",\n       \" 8.5056881023953892,\\n\",\n       \" 8.5034824896200227,\\n\",\n       \" 8.4185489627222019,\\n\",\n       \" 8.3965397334449214,\\n\",\n       \" 8.4227469652387406,\\n\",\n       \" 8.6334553104145435,\\n\",\n       \" 8.5475481715345403,\\n\",\n       \" 8.6156735357205285,\\n\",\n       \" 8.4874570101510827,\\n\",\n       \" 8.5989568750146859,\\n\",\n       \" 8.4999619685108208,\\n\",\n       \" 8.4278022041539309,\\n\",\n       \" 8.2926979585328304,\\n\",\n       \" 8.2191610967032283,\\n\",\n       \" 8.2553098502367348,\\n\",\n       \" 8.3580209656298372,\\n\",\n       \" 8.3849307979197505,\\n\",\n       \" 8.5128770984646316,\\n\",\n       \" 8.6936671450390151,\\n\",\n       \" 8.7351396771845877,\\n\",\n       \" 8.9359409027146697,\\n\",\n       \" 8.7476072646596776,\\n\",\n       \" 8.760362013563892,\\n\",\n       \" 8.7813559838988837,\\n\",\n       \" 8.7019480478778419,\\n\",\n       \" 8.5962504827029846,\\n\",\n       \" 8.3097775815425656,\\n\",\n       \" 8.314351872071196,\\n\",\n       \" 8.3332544217005697,\\n\",\n       \" 8.177403143787636,\\n\",\n       \" 8.0370736920569641,\\n\",\n       \" 7.9955316026275227,\\n\",\n       \" 8.1135286130677589,\\n\",\n       \" 8.0999295185881248,\\n\",\n       \" 8.1323977424668836,\\n\",\n       \" 8.353558473235843,\\n\",\n       \" 8.3627913457939798,\\n\",\n       \" 8.2982673496554327,\\n\",\n       \" 8.239889751083922,\\n\",\n       \" 8.2794388368821039,\\n\",\n       \" 8.3151318186046659,\\n\",\n       \" 8.2878949770880226,\\n\",\n       \" 8.3145224376038662,\\n\",\n       \" 8.3217347747334678,\\n\",\n       \" 8.361261606969169,\\n\",\n       \" 8.2482657385797076,\\n\",\n       \" 8.1191631477612169,\\n\",\n       \" 8.0100525958385624,\\n\",\n       \" 7.9554902189860819,\\n\",\n       \" 7.9742993581720665,\\n\",\n       \" 7.8767152934545601,\\n\",\n       \" 7.9164994418923085,\\n\",\n       \" 7.9365820129852329,\\n\",\n       \" 7.9045451847957189,\\n\",\n       \" 7.8760165254064036,\\n\",\n       \" 7.7042965921734918,\\n\",\n       \" 7.6322132401307998,\\n\",\n       \" 7.4676383587877524,\\n\",\n       \" 7.5858334540930628,\\n\",\n       \" 7.5291781811296907,\\n\",\n       \" 7.6096179559688855,\\n\",\n       \" 7.630509550688771,\\n\",\n       \" 7.6094201957988741,\\n\",\n       \" 7.6641815079352149,\\n\",\n       \" 7.6848412585378814,\\n\",\n       \" 7.8911170276009788,\\n\",\n       \" 7.8190718466675859,\\n\",\n       \" 7.8330305627793999,\\n\",\n       \" 7.9387218052772308,\\n\",\n       \" 8.1745324941517552,\\n\",\n       \" 8.384695869685924,\\n\",\n       \" 8.3652442732570798,\\n\",\n       \" 8.398681958037912,\\n\",\n       \" 8.2744982214506173,\\n\",\n       \" 8.1104570473939859,\\n\",\n       \" 8.0677158919087297,\\n\",\n       \" 7.9424607383238817,\\n\",\n       \" 8.0678176000176194,\\n\",\n       \" 8.0501612723240346,\\n\",\n       \" 8.1853794404798172,\\n\",\n       \" 8.2151225058013857,\\n\",\n       \" 8.246360084538626,\\n\",\n       \" 8.1941068591003763,\\n\",\n       \" 8.4321177951631796,\\n\",\n       \" 8.4877223086359805,\\n\",\n       \" 8.4042422357193338,\\n\",\n       \" 8.3366053381759251,\\n\",\n       \" 8.4219905782303037,\\n\",\n       \" 8.397206008853054,\\n\",\n       \" 8.3405830860297705,\\n\",\n       \" 8.3534836349673398,\\n\",\n       \" 8.3344084410325863,\\n\",\n       \" 8.3679514733665776,\\n\",\n       \" 8.2150060140943069,\\n\",\n       \" 8.2782100074905181,\\n\",\n       \" 8.0397544097686939,\\n\",\n       \" 7.8083451503724639,\\n\",\n       \" 7.7759904510853541,\\n\",\n       \" 7.7659556863017114,\\n\",\n       \" 7.8816910861271836,\\n\",\n       \" 7.8284873779591297,\\n\",\n       \" 7.7491053833361532,\\n\",\n       \" 7.7384166631877536,\\n\",\n       \" 7.7749151618182237,\\n\",\n       \" 7.6598817571314335,\\n\",\n       \" 7.7044720656557004,\\n\",\n       \" 7.802719627179008,\\n\",\n       \" 7.826875388505754,\\n\",\n       \" 7.8818001021853403,\\n\",\n       \" 7.8003511199652689,\\n\",\n       \" 7.857051034205834,\\n\",\n       \" 7.7864747767375251,\\n\",\n       \" 7.7862678309626165,\\n\",\n       \" 8.133128993505311,\\n\",\n       \" 8.2698183444256976,\\n\",\n       \" 8.4167558575348203,\\n\",\n       \" 8.383077049640633,\\n\",\n       \" 8.3904754222121767,\\n\",\n       \" 8.1992277975189083,\\n\",\n       \" 7.9908745958752458,\\n\",\n       \" 7.7943533392336741,\\n\",\n       \" 7.8640805782897685,\\n\",\n       \" 7.7894779972708088,\\n\",\n       \" 7.709607920105328,\\n\",\n       \" 7.8026737473801102,\\n\",\n       \" 7.777483277159015,\\n\",\n       \" 7.8719721434556789,\\n\",\n       \" 7.9582558942923693,\\n\",\n       \" 8.1224926189577289,\\n\",\n       \" 8.0170409399506521,\\n\",\n       \" 8.0704090637939032,\\n\",\n       \" 8.079237085478379,\\n\",\n       \" 7.8730172640258562,\\n\",\n       \" 7.958210582937153,\\n\",\n       \" 7.8145807161893641,\\n\",\n       \" 7.7035187304274677,\\n\",\n       \" 7.5795677889528887,\\n\",\n       \" 7.5396208640973876,\\n\",\n       \" 7.653805772717047,\\n\",\n       \" 7.3691106847887298,\\n\",\n       \" 7.5347701137935541,\\n\",\n       \" 7.6050346596434109,\\n\",\n       \" 7.4913792400688708,\\n\",\n       \" 7.5104684964167978,\\n\",\n       \" ...]\"\n      ]\n     },\n     \"execution_count\": 52,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Put all 7-days-ahead predictions into an array\\n\",\n    \"predictions_800_7thday = []\\n\",\n    \"for array in predictions_800_off:\\n\",\n    \"    for week_prediction in array:\\n\",\n    \"        predictions_800_7thday.append(week_prediction[6]) \\n\",\n    \"print(len(predictions_800_7thday))\\n\",\n    \"predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 53,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Prepare dataframe for visualisation\\n\",\n    \"# There are 7000 predictions\\n\",\n    \"bp_final_predictions = bp_ftse[800+6:806+7000]\\n\",\n    \"bp_final_predictions.loc[:,'7d Ahead Pred'] = predictions_800_7thday\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 57,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x1198f63c8>\"\n      ]\n     },\n     \"execution_count\": 57,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nKcj/A8gycsG+fw1+AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c91208>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual adjusted close prices\\n\",\n    \"bp_final_predictions.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 55,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.text.Text at 0x119c77fd0>\"\n      ]\n     },\n     \"execution_count\": 55,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x119c59550>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting predictions compared with actual prices\\n\",\n    \"# Only first 200 predictions\\n\",\n    \"bp_preds_200 = bp_final_predictions[:200]\\n\",\n    \"bp_preds_200.plot(y=['Adj. Close','7d Ahead Pred'], x='Date').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/README.md",
    "content": "# MLND Capstone Project\n\n### Machine Learning for Trading - an Exploratory Study\nTopic: Predicting Daily Adjusted Close Stock Prices\n\n## Libraries used\n* sklearn (modules used listed below)\n    * metrics\n    * multioutput\n    * linear\\_model\n    * svm\n* numpy\n* pandas\n* seaborn\n* matplotlib.pyplot\nMachine Learning \n\n## Core Files\n* `report.md`: The project report.\n* `2-analysis-code-py2.ipynb`: Code for Section II: Analysis.\n* `3-methodology-results-conclusion-code-py2.ipynb` Code for Sections III - V: Methodology, Results and Conclusion.\n* There are Python 3 alternatives to the code files: `2-analysis-code-py3.ipynb` and `3-methodology-results-conclusion-code-py2.ipynb`.\n\n#### IMPORTANT: When running the `.ipynb` code files, you must replace the file path '~/lse-data/lse/WIKI\\_20160909.csv' with the filepath to your copy of the dataset. (See Datasets used for instructions on how to obtain the dataset.) This file path is included once per `.ipynb` file near the top.\n\n## Supplementary Files\n### Datasets used\n* `WIKI_20160909.csv`: LSE (London Stock Exchange) stock prices from varying start dates till 2016-09-09. The database is over 1GB, so I have not included it in this directory. You can download it [here](https://www.quandl.com/api/v3/databases/WIKI/data?api_key=8TrqQtPwBTq_dZFASKFQ&trim_end=2016-09-09). \n* `ftse100-figures.csv`: FTSE100 prices from 1984-04-02 - 2016-09-09.\n* `list-of-all-securities-ex-debt.csv`: List of companies listed on the LSE.\n\n### Helper scripts\n* `google-finance-scraper-py2.py`: Python script I used to scrape FTSE100 data from Google Finance. Not needed to run project. Written in Python 3 and converted print statements. (Python 3 alternative available at`google-finance-scraper.py`.)\n"
  },
  {
    "path": "p5-capstone/archive/.ipynb_checkpoints/Discarded Notes-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Discarded Notes\\n\",\n    \"\\n\",\n    \"The conversations online talk about how rubbish algorithms like KNN are when KNN was the example using in the ML for Trading class.\\n\",\n    \"\\n\",\n    \"'Unless you model the **Implied Volatility** of the stock, you cannot predict price. The stock price is function a various factors which are mostly known except the Implied volatility. You can model the implied vol using algorithms like **SVM** but not KNN.'[Source: Anoop Vasant Kumar](https://www.quora.com/How-effective-is-the-k-Nearest-Neighbor-algorithm-for-stock-price-prediction).\\n\",\n    \"\\n\",\n    \"THe class also discusses **Reinforcement Learning**, but since your actions don't change the environment...I guess you can model your rewards to be the amount of profit you make. And then it would kind of make sense.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"'The only machine-learning algorithms that I have found to actually work in trading are linear algorithms such as various incarnations of regressions. Everything else tend to overfit to noise. Remember, unlike in fields such as image or speech recognition, financial time series has very low signal-to-noise ratio, and more problematically, probability distributions in finance are often non-stationary. You can read more about this subject in my book Quantitative Trading.' [Source: Ernest Chan, author of Algorithmic Trading](https://www.quora.com/How-can-I-get-started-applying-machine-learning-to-algorithmic-trading).\\n\",\n    \"\\n\",\n    \"- Logistic Regression\\n\",\n    \"- Random Forests (DTs)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"logistic regression (fastest) and random forests (most accurate usually). There are others, such as support vector machines, boosted decision trees,\\n\",\n    \"3-layer neural networks, but these don't offer as good accuracy as random forests (and often slower as \\n\",\n    \"well) or as much speed as logistic regression. In my opinion, the best choice would simply be\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Interesting but not important:\\n\",\n    \"\\n\",\n    \"For example, in May 2010 the US S&P 500 dropped 5-6% in value within minutes. This was suspected to be because of bots. This was called the Flash Crash. [People have theorised](https://en.wikipedia.org/wiki/2010_Flash_Crash#Early_theories) that the Flash Crash was exacerbated by high-frequency traders, although this seems to have been disproved. \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Benchmark for Trading Performance\\n\",\n    \"\\n\",\n    \"This benchmark is for trade recommendations.\\n\",\n    \"\\n\",\n    \"The standard benchmark in trading is buying and holding an index fund, which in this case could be the FTSE100, the FTSE250 or the FTSE500.\\n\",\n    \"\\n\",\n    \"I will use **buying and holding the FTSE100 as the benchmark** in this project. The FTSE100 (the Financial Times Stock Exchange 100 Index) is a share index of the 100 companies listed on the London Stock Exchange with the highest market capitalisation (market cap). Market cap = number of shares x price of each share. ([Source: Wikipedia](https://en.wikipedia.org/wiki/FTSE_100_Index)).\\n\",\n    \"\\n\",\n    \"**Specific methodology** Specifically, I will compare the performance of the trade recommendation (percentage gain of e.g. buying on the open (opening prirce) the first day and selling on the close of the day the model recommends to sell) to the percentage gain obtained by buying the FTSE100 on the open of the first day after the training date range and selling on the day the model recommends to sell. This **normalises the amount of capital available and the timeframe** in which the user has access to that capital.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Wrong?\\n\",\n    \"\\n\",\n    \"```I expect the solution to correlate with other stocks in the same industry to some extent. Competitors should correlate with each other when there is industry-positive or industry-negative information, and not correlate positively with each other when there is firm-specific information.\\n\",\n    \"\\n\",\n    \"I expect it to correlate with but be more volatile than the FTSE indices.```\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/Discarded Notes.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(1) Engineer dataset semi from scratch \\n\",\n    \"\\n\",\n    \"New questions:\\n\",\n    \"(1) Interesting: How will you predict multiple things. Went to http://scikit-learn.org/stable/modules/multiclass.html.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Discarded Notes\\n\",\n    \"\\n\",\n    \"The conversations online talk about how rubbish algorithms like KNN are when KNN was the example using in the ML for Trading class.\\n\",\n    \"\\n\",\n    \"'Unless you model the **Implied Volatility** of the stock, you cannot predict price. The stock price is function a various factors which are mostly known except the Implied volatility. You can model the implied vol using algorithms like **SVM** but not KNN.'[Source: Anoop Vasant Kumar](https://www.quora.com/How-effective-is-the-k-Nearest-Neighbor-algorithm-for-stock-price-prediction).\\n\",\n    \"\\n\",\n    \"THe class also discusses **Reinforcement Learning**, but since your actions don't change the environment...I guess you can model your rewards to be the amount of profit you make. And then it would kind of make sense.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"'The only machine-learning algorithms that I have found to actually work in trading are linear algorithms such as various incarnations of regressions. Everything else tend to overfit to noise. Remember, unlike in fields such as image or speech recognition, financial time series has very low signal-to-noise ratio, and more problematically, probability distributions in finance are often non-stationary. You can read more about this subject in my book Quantitative Trading.' [Source: Ernest Chan, author of Algorithmic Trading](https://www.quora.com/How-can-I-get-started-applying-machine-learning-to-algorithmic-trading).\\n\",\n    \"\\n\",\n    \"- Logistic Regression\\n\",\n    \"- Random Forests (DTs)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"logistic regression (fastest) and random forests (most accurate usually). There are others, such as support vector machines, boosted decision trees,\\n\",\n    \"3-layer neural networks, but these don't offer as good accuracy as random forests (and often slower as \\n\",\n    \"well) or as much speed as logistic regression. In my opinion, the best choice would simply be\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"FTSE figures\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"7d\\n\",\n    \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\\n\",\n    \"\\n\",\n    \"10d\\n\",\n    \"Mean daily error:  [1.5306776509003057, 2.2298791354555303, 2.7432372747440339, 3.1872661210768669, 3.5736081411533376, 3.9102527805700995, 4.2356347997498514]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\\"<table>\\n\",\n    \"    <th>Day to predict</th><th>7d (no FTSE)</th><th>7d (FTSE)</th><th>10d (no FTSE)</th><th>10d (FTSE)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>\\\"array1[0]</td><td>1.732</td><td>1.751</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>\\\"array1[0]</td><td>2.543</td><td>2.467</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>\\\"2.938\\\"</td><td>3.138</td><td>2.978</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>\\\"3.424\\\"</td><td>3.579</td><td>3.479</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>\\\"3.881\\\"</td><td>3.939</td><td>3.946</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>\\\"4.294\\\"</td><td>4.269</td><td>4.368</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>\\\"4.702\\\"</td><td>4.543</td><td>4.816</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Mean daily error:  [1.5184268057845014, 2.2215656688134744, 2.7330139530667314, 3.1790905154664935, 3.5454918293235806, 3.8569998349796148, 4.1624413332682346]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Refinement 2.1\\n\",\n    \"\\n\",\n    \"#### TODO: DELETE THIS AFTER USING FOR PLOT\\n\",\n    \"7d:\\n\",\n    \"1.669\\n\",\n    \"2.422\\n\",\n    \"2.968\\n\",\n    \"3.407\\n\",\n    \"3.834\\n\",\n    \"4.230\\n\",\n    \"4.590\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"10d\\n\",\n    \"Mean daily error:  [1.7321477061307597, 2.5432152188018913, 3.1383346165356416, 3.5793927574194155, 3.9394427230724309, 4.2692644737508925, 4.5432050435026108]\\n\",\n    \"\\n\",\n    \"14 days:\\n\",\n    \"Mean daily error:  [1.7285404855953252, 2.5255007498628097, 3.1026280963920607, 3.5862999911658147, 4.0020669863612239, 4.3722863441980762, 4.701971393685997]\\n\",\n    \"\\n\",\n    \"21 days:\\n\",\n    \"Mean daily error:  [1.7458324393865607, 2.5550697635040556, 3.1130306876040765, 3.5859111257648624, 3.9906346379964006, 4.3416348748811986, 4.6578080578960108]\\n\",\n    \"\\n\",\n    \"30 days:\\n\",\n    \"Mean daily error:  [1.7839163888017815, 2.593162562286222, 3.1521417303676622, 3.6325948299484372, 4.0479378120671301, 4.3916975345657692, 4.7046907424412074]\\n\",\n    \"\\n\",\n    \"100 days:\\n\",\n    \"Mean daily error:  [1.9238550915564432, 2.7676076433106056, 3.3695076303415705, 3.8902423145616098, 4.3550552824867319, 4.7687380251335467, 5.1629268283684322]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualisation 2: Plotting error for each day compared with percentage variation\\n\",\n    \"\\n\",\n    \"This graph visualises the 7th-day predictions compared with day-on-day percentage variation. The purpose is to see if predictions are less accurte when day-on-day percentage variation is greater.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### CUT: 2.1.2 X-day running averages (Cut down the number of features but try to provide the same information)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Interesting but not important:\\n\",\n    \"\\n\",\n    \"For example, in May 2010 the US S&P 500 dropped 5-6% in value within minutes. This was suspected to be because of bots. This was called the Flash Crash. [People have theorised](https://en.wikipedia.org/wiki/2010_Flash_Crash#Early_theories) that the Flash Crash was exacerbated by high-frequency traders, although this seems to have been disproved. \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Benchmark for Trading Performance\\n\",\n    \"\\n\",\n    \"This benchmark is for trade recommendations.\\n\",\n    \"\\n\",\n    \"The standard benchmark in trading is buying and holding an index fund, which in this case could be the FTSE100, the FTSE250 or the FTSE500.\\n\",\n    \"\\n\",\n    \"I will use **buying and holding the FTSE100 as the benchmark** in this project. The FTSE100 (the Financial Times Stock Exchange 100 Index) is a share index of the 100 companies listed on the London Stock Exchange with the highest market capitalisation (market cap). Market cap = number of shares x price of each share. ([Source: Wikipedia](https://en.wikipedia.org/wiki/FTSE_100_Index)).\\n\",\n    \"\\n\",\n    \"**Specific methodology** Specifically, I will compare the performance of the trade recommendation (percentage gain of e.g. buying on the open (opening prirce) the first day and selling on the close of the day the model recommends to sell) to the percentage gain obtained by buying the FTSE100 on the open of the first day after the training date range and selling on the day the model recommends to sell. This **normalises the amount of capital available and the timeframe** in which the user has access to that capital.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Wrong?\\n\",\n    \"\\n\",\n    \"```I expect the solution to correlate with other stocks in the same industry to some extent. Competitors should correlate with each other when there is industry-positive or industry-negative information, and not correlate positively with each other when there is firm-specific information.\\n\",\n    \"\\n\",\n    \"I expect it to correlate with but be more volatile than the FTSE indices.```\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/III. Methodology - Code-Copy1.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology: Code\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setup\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import modules\\n\",\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"# Data Preprocessing: adding header to CSV\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.1 Examining Abnormalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Need to investigate previous observation that Opening, High, Low, Close prices have minimum of 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047193</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>65000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>100.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047194</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047195</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047196</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047197</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047198</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047199</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1047200</th>\\n\",\n       \"      <td>ARWR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608936</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-02-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.01</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.76</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>4.760000</td>\\n\",\n       \"      <td>57.142857</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608983</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-04-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>6800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>14.285714</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608984</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608985</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608986</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608987</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608988</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608989</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608990</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-09</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608991</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7608992</th>\\n\",\n       \"      <td>LFVN</td>\\n\",\n       \"      <td>2003-05-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9330994</th>\\n\",\n       \"      <td>NUTR</td>\\n\",\n       \"      <td>2008-09-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>12.15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>11.426355</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614062</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614063</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614064</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614065</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614066</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-01-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614067</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614068</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614069</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614070</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614071</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-02-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614242</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614243</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>800.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614244</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614245</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-16</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614246</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-17</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614247</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614248</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614249</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-22</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614250</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-23</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614251</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-24</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614252</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-25</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614253</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-28</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614254</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-29</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614255</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-30</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614256</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-10-31</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614257</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-01</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614258</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-04</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614259</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614260</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614261</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-07</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614262</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614263</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-11</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614264</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-12</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614265</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-13</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614266</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-14</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614267</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-15</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614268</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-18</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614269</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-19</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614270</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13614271</th>\\n\",\n       \"      <td>VTNR</td>\\n\",\n       \"      <td>2002-11-21</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>0.02</td>\\n\",\n       \"      <td>24000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.20</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.200000</td>\\n\",\n       \"      <td>400.000000</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>225 rows × 14 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Symbol        Date  Open  High  Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1047193    ARWR  2002-10-11   0.0  0.00  0.0   0.00  65000.0          0.0   \\n\",\n       \"1047194    ARWR  2002-10-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047195    ARWR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047196    ARWR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047197    ARWR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047198    ARWR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047199    ARWR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"1047200    ARWR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608936    LFVN  2003-02-21   0.0  0.01  0.0   0.01  27200.0          0.0   \\n\",\n       \"7608983    LFVN  2003-04-30   0.0  0.00  0.0   0.00   6800.0          0.0   \\n\",\n       \"7608984    LFVN  2003-05-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608985    LFVN  2003-05-02   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608986    LFVN  2003-05-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608987    LFVN  2003-05-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608988    LFVN  2003-05-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608989    LFVN  2003-05-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608990    LFVN  2003-05-09   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608991    LFVN  2003-05-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"7608992    LFVN  2003-05-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"9330994    NUTR  2008-09-12   0.0  0.00  0.0  12.15      0.0          0.0   \\n\",\n       \"13614062   VTNR  2002-01-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614063   VTNR  2002-01-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614064   VTNR  2002-01-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614065   VTNR  2002-01-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614066   VTNR  2002-01-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614067   VTNR  2002-02-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614068   VTNR  2002-02-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614069   VTNR  2002-02-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614070   VTNR  2002-02-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614071   VTNR  2002-02-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"...         ...         ...   ...   ...  ...    ...      ...          ...   \\n\",\n       \"13614242   VTNR  2002-10-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614243   VTNR  2002-10-14   0.0  0.00  0.0   0.00  48000.0          0.0   \\n\",\n       \"13614244   VTNR  2002-10-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614245   VTNR  2002-10-16   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614246   VTNR  2002-10-17   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614247   VTNR  2002-10-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614248   VTNR  2002-10-21   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614249   VTNR  2002-10-22   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614250   VTNR  2002-10-23   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614251   VTNR  2002-10-24   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614252   VTNR  2002-10-25   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614253   VTNR  2002-10-28   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614254   VTNR  2002-10-29   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614255   VTNR  2002-10-30   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614256   VTNR  2002-10-31   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614257   VTNR  2002-11-01   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614258   VTNR  2002-11-04   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614259   VTNR  2002-11-05   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614260   VTNR  2002-11-06   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614261   VTNR  2002-11-07   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614262   VTNR  2002-11-08   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614263   VTNR  2002-11-11   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614264   VTNR  2002-11-12   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614265   VTNR  2002-11-13   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614266   VTNR  2002-11-14   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614267   VTNR  2002-11-15   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614268   VTNR  2002-11-18   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614269   VTNR  2002-11-19   0.0  0.00  0.0   0.00      0.0          0.0   \\n\",\n       \"13614270   VTNR  2002-11-20   0.0  0.00  0.0   0.00  24000.0          0.0   \\n\",\n       \"13614271   VTNR  2002-11-21   0.0  0.02  0.0   0.02  24000.0          0.0   \\n\",\n       \"\\n\",\n       \"          Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1047193           1.0        0.0       0.00       0.0    0.000000   100.000000  \\n\",\n       \"1047194           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047195           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047196           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047197           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047198           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047199           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"1047200           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608936           1.0        0.0       4.76       0.0    4.760000    57.142857  \\n\",\n       \"7608983           1.0        0.0       0.00       0.0    0.000000    14.285714  \\n\",\n       \"7608984           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608985           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608986           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608987           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608988           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608989           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608990           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608991           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"7608992           1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"9330994           1.0        0.0       0.00       0.0   11.426355     0.000000  \\n\",\n       \"13614062          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614063          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614064          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614065          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614066          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614067          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614068          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614069          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614070          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614071          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"...               ...        ...        ...       ...         ...          ...  \\n\",\n       \"13614242          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614243          1.0        0.0       0.00       0.0    0.000000   800.000000  \\n\",\n       \"13614244          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614245          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614246          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614247          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614248          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614249          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614250          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614251          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614252          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614253          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614254          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614255          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614256          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614257          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614258          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614259          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614260          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614261          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614262          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614263          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614264          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614265          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614266          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614267          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614268          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614269          1.0        0.0       0.00       0.0    0.000000     0.000000  \\n\",\n       \"13614270          1.0        0.0       0.00       0.0    0.000000   400.000000  \\n\",\n       \"13614271          1.0        0.0       1.20       0.0    1.200000   400.000000  \\n\",\n       \"\\n\",\n       \"[225 rows x 14 columns]\"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df[df['Open'] == 0]\\n\",\n    \"#['Symbol'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1.2 Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.1 Measures of variation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model\\n\",\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\\n\",\n    \"df.loc[:,'Percentage Variation'] = df.loc[:,'Daily Variation'] / df.loc[:,'Open'] * 100\\n\",\n    \"df.loc[:,'Adj. Daily Variation'] = df.loc[:,'Adj. High'] - df.loc[:,'Adj. Low']\\n\",\n    \"df.loc[:,'Adj. Percentage Variation'] = df.loc[:,'Adj. Daily Variation'] / df.loc[:,'Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2 Extracting specific stocks\\n\",\n    \"#### 1.2.2.1 BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>1.12</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"      <td>0.029146</td>\\n\",\n       \"      <td>1.464052</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>1.25</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"      <td>0.032529</td>\\n\",\n       \"      <td>1.610410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>2.50</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"      <td>0.065058</td>\\n\",\n       \"      <td>3.246753</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>1.00</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"      <td>0.026023</td>\\n\",\n       \"      <td>1.342282</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0.76</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"      <td>0.019778</td>\\n\",\n       \"      <td>1.011715</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1923099             1.12              1.464052              0.029146   \\n\",\n       \"1923100             1.25              1.610410              0.032529   \\n\",\n       \"1923101             2.50              3.246753              0.065058   \\n\",\n       \"1923102             1.00              1.342282              0.026023   \\n\",\n       \"1923103             0.76              1.011715              0.019778   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"1923099                   1.464052  \\n\",\n       \"1923100                   1.610410  \\n\",\n       \"1923101                   3.246753  \\n\",\n       \"1923102                   1.342282  \\n\",\n       \"1923103                   1.011715  \"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Extract BP data\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.2 Stocks that are in the same group as BP:\\n\",\n    \"\\n\",\n    \"Found using the LSE stocks list (supplementary data source).\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Company names and stock symbols\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Oil stocks in DF:  ['GAIA']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# See which stocks are in our dataset:\\n\",\n    \"oil_stocks = [\\\"SNP\\\", \\\"GAIA\\\", \\\"GAID\\\", \\\"GAZ\\\", \\\"81JK\\\", \\\"OGZD\\\", \\\"GDG\\\", \\\"98LQ\\\", \\\"HLPD\\\", \\n\",\n    \"              \\\"LKOE\\\", \\\"LKOD\\\", \\\"LKOH\\\", \\\"MOLD\\\", \\\"MNMD\\\", \\\"05IS\\\", \\\"40XT\\\", \\\"ROSN\\\",\\n\",\n    \"             \\\"RDSA\\\", \\\"RDSB\\\", \\\"SAC\\\", \\\"SGGD\\\", \\\"ATAD\\\"]\\n\",\n    \"oil_stocks_in_df = []\\n\",\n    \"for stock in oil_stocks:\\n\",\n    \"    in_df = False\\n\",\n    \"    if not df[df['Symbol'] == stock].empty:\\n\",\n    \"        in_df = True\\n\",\n    \"        oil_stocks_in_df.append(stock)\\n\",\n    \"    # print(stock, in_df)\\n\",\n    \"print(\\\"Oil stocks in DF: \\\", oil_stocks_in_df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391755</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>5.50</td>\\n\",\n       \"      <td>8.62</td>\\n\",\n       \"      <td>5.38</td>\\n\",\n       \"      <td>6.38</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.303154</td>\\n\",\n       \"      <td>8.311489</td>\\n\",\n       \"      <td>5.187449</td>\\n\",\n       \"      <td>6.151659</td>\\n\",\n       \"      <td>895000.0</td>\\n\",\n       \"      <td>3.24</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"      <td>3.124040</td>\\n\",\n       \"      <td>58.909091</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391756</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-01</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.88</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.633764</td>\\n\",\n       \"      <td>144900.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.646526</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391757</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-02</td>\\n\",\n       \"      <td>6.91</td>\\n\",\n       \"      <td>6.94</td>\\n\",\n       \"      <td>6.50</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.662690</td>\\n\",\n       \"      <td>6.691617</td>\\n\",\n       \"      <td>6.267364</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>158000.0</td>\\n\",\n       \"      <td>0.44</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"      <td>0.424252</td>\\n\",\n       \"      <td>6.367583</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391758</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-03</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.75</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.508417</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>54500.0</td>\\n\",\n       \"      <td>0.19</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"      <td>0.183200</td>\\n\",\n       \"      <td>2.896341</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5391759</th>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>1999-11-04</td>\\n\",\n       \"      <td>6.62</td>\\n\",\n       \"      <td>6.69</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>6.56</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>6.383069</td>\\n\",\n       \"      <td>6.450564</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>6.325217</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.13</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"      <td>0.125347</td>\\n\",\n       \"      <td>1.963746</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open  High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"5391755   GAIA  1999-10-29  5.50  8.62  5.38   6.38  895000.0          0.0   \\n\",\n       \"5391756   GAIA  1999-11-01  6.62  6.94  6.50   6.88  144900.0          0.0   \\n\",\n       \"5391757   GAIA  1999-11-02  6.91  6.94  6.50   6.62  158000.0          0.0   \\n\",\n       \"5391758   GAIA  1999-11-03  6.56  6.75  6.56   6.62   54500.0          0.0   \\n\",\n       \"5391759   GAIA  1999-11-04  6.62  6.69  6.56   6.56   21000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"5391755          1.0   5.303154   8.311489  5.187449    6.151659     895000.0   \\n\",\n       \"5391756          1.0   6.383069   6.691617  6.267364    6.633764     144900.0   \\n\",\n       \"5391757          1.0   6.662690   6.691617  6.267364    6.383069     158000.0   \\n\",\n       \"5391758          1.0   6.325217   6.508417  6.325217    6.383069      54500.0   \\n\",\n       \"5391759          1.0   6.383069   6.450564  6.325217    6.325217      21000.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"5391755             3.24             58.909091              3.124040   \\n\",\n       \"5391756             0.44              6.646526              0.424252   \\n\",\n       \"5391757             0.44              6.367583              0.424252   \\n\",\n       \"5391758             0.19              2.896341              0.183200   \\n\",\n       \"5391759             0.13              1.963746              0.125347   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  \\n\",\n       \"5391755                  58.909091  \\n\",\n       \"5391756                   6.646526  \\n\",\n       \"5391757                   6.367583  \\n\",\n       \"5391758                   2.896341  \\n\",\n       \"5391759                   1.963746  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"gaia = df[df['Symbol'] == 'GAIA']\\n\",\n    \"gaia.head()\\n\",\n    \"# GAIA data is available from 1999-10-29 to 2016-09-09.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1928868</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1999-10-29</td>\\n\",\n       \"      <td>57.5</td>\\n\",\n       \"      <td>58.12</td>\\n\",\n       \"      <td>57.38</td>\\n\",\n       \"      <td>57.75</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>28.106849</td>\\n\",\n       \"      <td>28.409914</td>\\n\",\n       \"      <td>28.048192</td>\\n\",\n       \"      <td>28.229053</td>\\n\",\n       \"      <td>2688800.0</td>\\n\",\n       \"      <td>0.74</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"      <td>0.361723</td>\\n\",\n       \"      <td>1.286957</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date  Open   High    Low  Close     Volume  Ex-Dividend  \\\\\\n\",\n       \"1928868     BP  1999-10-29  57.5  58.12  57.38  57.75  2688800.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High   Adj. Low  Adj. Close  \\\\\\n\",\n       \"1928868          1.0  28.106849  28.409914  28.048192   28.229053   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  Percentage Variation  \\\\\\n\",\n       \"1928868    2688800.0             0.74              1.286957   \\n\",\n       \"\\n\",\n       \"         Adj. Daily Variation  Adj. Percentage Variation  \\n\",\n       \"1928868              0.361723                   1.286957  \"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.loc[bp['Date'] == '1999-10-29']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Add GAIA figures to BP dataframe\\n\",\n    \"\\n\",\n    \"# GAIA data starts on 1999-10-29\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1999-10-29\\n\",\n    \"bp_gaia_start = 1928868\\n\",\n    \"# Label for the GAIA row with date 1999-10-29\\n\",\n    \"gaia_start = 5391755\\n\",\n    \"\\n\",\n    \"data_to_copy = ['Date', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close']\\n\",\n    \"\\n\",\n    \"bp_gaia_intersect_length = 3753\\n\",\n    \"\\n\",\n    \"for i in range(bp_gaia_intersect_length):\\n\",\n    \"    for col in data_to_copy:\\n\",\n    \"        bp.loc[bp_gaia_start+i,'GAIA %s' % str(col)] = gaia.loc[gaia_start+i,'%s' % str(col)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Symbol                               BP\\n\",\n      \"Date                         2014-09-30\\n\",\n      \"Open                              44.04\\n\",\n      \"High                              44.22\\n\",\n      \"Low                                43.8\\n\",\n      \"Close                             43.95\\n\",\n      \"Volume                       6.8345e+06\\n\",\n      \"Ex-Dividend                           0\\n\",\n      \"Split Ratio                           1\\n\",\n      \"Adj. Open                       39.0862\\n\",\n      \"Adj. High                        39.246\\n\",\n      \"Adj. Low                        38.8732\\n\",\n      \"Adj. Close                      39.0064\\n\",\n      \"Adj. Volume                  6.8345e+06\\n\",\n      \"Daily Variation                    0.42\\n\",\n      \"Percentage Variation           0.953678\\n\",\n      \"Adj. Daily Variation           0.372757\\n\",\n      \"Adj. Percentage Variation      0.953678\\n\",\n      \"GAIA Date                    2014-09-30\\n\",\n      \"GAIA Adj. Open                     6.61\\n\",\n      \"GAIA Adj. High                     7.41\\n\",\n      \"GAIA Adj. Low                      6.61\\n\",\n      \"GAIA Adj. Close                    7.34\\n\",\n      \"Name: 1932620, dtype: object\\n\",\n      \"Symbol                               BP\\n\",\n      \"Date                         2014-10-01\\n\",\n      \"Open                              43.84\\n\",\n      \"High                              44.14\\n\",\n      \"Low                               43.57\\n\",\n      \"Close                             43.68\\n\",\n      \"Volume                       4.3236e+06\\n\",\n      \"Ex-Dividend                           0\\n\",\n      \"Split Ratio                           1\\n\",\n      \"Adj. Open                       38.9087\\n\",\n      \"Adj. High                        39.175\\n\",\n      \"Adj. Low                        38.6691\\n\",\n      \"Adj. Close                      38.7667\\n\",\n      \"Adj. Volume                  4.3236e+06\\n\",\n      \"Daily Variation                    0.57\\n\",\n      \"Percentage Variation            1.30018\\n\",\n      \"Adj. Daily Variation           0.505885\\n\",\n      \"Adj. Percentage Variation       1.30018\\n\",\n      \"GAIA Date                           NaN\\n\",\n      \"GAIA Adj. Open                      NaN\\n\",\n      \"GAIA Adj. High                      NaN\\n\",\n      \"GAIA Adj. Low                       NaN\\n\",\n      \"GAIA Adj. Close                     NaN\\n\",\n      \"Name: 1932621, dtype: object\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# OPTIONAL, MAY DELETE\\n\",\n    \"# Showing that `bp_gaia_intersect_length` is correct\\n\",\n    \"print(bp.loc[bp_gaia_start+bp_gaia_intersect_length-1])\\n\",\n    \"print(bp.loc[bp_gaia_start+bp_gaia_intersect_length])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.2.3 FTSE 100:\\n\",\n    \"\\n\",\n    \"Source: Scraped from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"         Date     Open     High      Low    Close\\n\",\n       \"0  2016-09-09  6858.70  6862.38  6762.30  6776.95\\n\",\n       \"1  2016-09-08  6846.58  6889.64  6819.82  6858.70\\n\",\n       \"2  2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"3  2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"4  2016-09-05  6894.60  6910.66  6867.08  6879.42\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"ftse100_csv.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Sorted FTSE100 by date (ascending) to fit with LSE stock data\\n\",\n    \"\\n\",\n    \"# Date range from 1984-04-02 to 2016-09-09\\n\",\n    \"sorted_ftse100 = ftse100_csv.sort_values(by='Date')\\n\",\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"      <th>Percentage Variation</th>\\n\",\n       \"      <th>Adj. Daily Variation</th>\\n\",\n       \"      <th>Adj. Percentage Variation</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.5</td>\\n\",\n       \"      <td>46.0</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>838800.0</td>\\n\",\n       \"      <td>0.88</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>0.091602</td>\\n\",\n       \"      <td>1.928979</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>1 rows × 23 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High   Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.5   46.0  209700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open       ...         Adj. Volume  \\\\\\n\",\n       \"1924931          1.0   4.748742       ...            838800.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  Percentage Variation  Adj. Daily Variation  \\\\\\n\",\n       \"1924931             0.88              1.928979              0.091602   \\n\",\n       \"\\n\",\n       \"         Adj. Percentage Variation  GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1924931                   1.928979        NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"        GAIA Adj. Low  GAIA Adj. Close  \\n\",\n       \"1924931           NaN              NaN  \\n\",\n       \"\\n\",\n       \"[1 rows x 23 columns]\"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp[bp['Date'] == '1984-04-02']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8187</th>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8186</th>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8185</th>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8184</th>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8183</th>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"            Date    Open    High     Low   Close\\n\",\n       \"8187  1984-04-02  1108.1  1108.1  1108.1  1108.1\\n\",\n       \"8186  1984-04-03  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8185  1984-04-04  1095.4  1095.4  1095.4  1095.4\\n\",\n       \"8184  1984-04-05  1102.2  1102.2  1102.2  1102.2\\n\",\n       \"8183  1984-04-06  1096.3  1096.3  1096.3  1096.3\"\n      ]\n     },\n     \"execution_count\": 15,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"sorted_ftse100.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:288: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[key] = _infer_fill_value(value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:16: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933114</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.60</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933115</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933116</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933117</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933118</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.70</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol Date  Open  High  Low  Close  Volume  Ex-Dividend  Split Ratio  \\\\\\n\",\n       \"1933114    NaN  NaN   NaN   NaN  NaN    NaN     NaN          NaN          NaN   \\n\",\n       \"1933115    NaN  NaN   NaN   NaN  NaN    NaN     NaN          NaN          NaN   \\n\",\n       \"1933116    NaN  NaN   NaN   NaN  NaN    NaN     NaN          NaN          NaN   \\n\",\n       \"1933117    NaN  NaN   NaN   NaN  NaN    NaN     NaN          NaN          NaN   \\n\",\n       \"1933118    NaN  NaN   NaN   NaN  NaN    NaN     NaN          NaN          NaN   \\n\",\n       \"\\n\",\n       \"         Adj. Open     ...      GAIA Date  GAIA Adj. Open  GAIA Adj. High  \\\\\\n\",\n       \"1933114        NaN     ...            NaN             NaN             NaN   \\n\",\n       \"1933115        NaN     ...            NaN             NaN             NaN   \\n\",\n       \"1933116        NaN     ...            NaN             NaN             NaN   \\n\",\n       \"1933117        NaN     ...            NaN             NaN             NaN   \\n\",\n       \"1933118        NaN     ...            NaN             NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Low  GAIA Adj. Close   FTSE Date  FTSE Open  FTSE High  \\\\\\n\",\n       \"1933114            NaN              NaN  2016-09-05    6894.60    6910.66   \\n\",\n       \"1933115            NaN              NaN  2016-09-06    6879.42    6887.92   \\n\",\n       \"1933116            NaN              NaN  2016-09-07    6826.05    6856.12   \\n\",\n       \"1933117            NaN              NaN  2016-09-08    6846.58    6889.64   \\n\",\n       \"1933118            NaN              NaN  2016-09-09    6858.70    6862.38   \\n\",\n       \"\\n\",\n       \"        FTSE Low  FTSE Close  \\n\",\n       \"1933114  6867.08     6879.42  \\n\",\n       \"1933115  6818.96     6826.05  \\n\",\n       \"1933116  6814.87     6846.58  \\n\",\n       \"1933117  6819.82     6858.70  \\n\",\n       \"1933118  6762.30     6776.95  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Add FTSE data to BP dataframe\\n\",\n    \"\\n\",\n    \"# FTSE data starts on 1984-04-02\\n\",\n    \"\\n\",\n    \"# Label for the BP row with date 1984-04-02\\n\",\n    \"bp_ftse_start = 1924931\\n\",\n    \"# Label for the GAIA row with date 1984-04-02\\n\",\n    \"ftse_start = 8187\\n\",\n    \"\\n\",\n    \"ftse_data_to_copy = ['Date', 'Open', 'High', 'Low', 'Close']\\n\",\n    \"\\n\",\n    \"ftse_gaia_intersect_length = len(ftse100_csv)\\n\",\n    \"\\n\",\n    \"for i in range(ftse_gaia_intersect_length):\\n\",\n    \"    for col in ftse_data_to_copy:\\n\",\n    \"        bp.loc[bp_ftse_start+i,'FTSE %s' % str(col)] = sorted_ftse100.loc[ftse_start-i,'%s' % str(col)]\\n\",\n    \"\\n\",\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"BP:  1984-04-23  FTSE:  1984-04-20\\n\",\n      \"BP:  1984-04-24  FTSE:  1984-04-23\\n\",\n      \"BP:  1984-04-25  FTSE:  1984-04-24\\n\",\n      \"BP:  1984-04-26  FTSE:  1984-04-25\\n\",\n      \"BP:  1984-04-27  FTSE:  1984-04-26\\n\",\n      \"BP:  1984-05-02  FTSE:  1984-05-03\\n\",\n      \"BP:  1984-05-03  FTSE:  1984-05-04\\n\",\n      \"BP:  1984-05-04  FTSE:  1984-05-08\\n\",\n      \"BP:  1984-05-07  FTSE:  1984-05-09\\n\",\n      \"BP:  1984-05-08  FTSE:  1984-05-10\\n\",\n      \"BP:  1984-05-09  FTSE:  1984-05-11\\n\",\n      \"BP:  1984-05-10  FTSE:  1984-05-14\\n\",\n      \"BP:  1984-05-11  FTSE:  1984-05-15\\n\",\n      \"BP:  1984-05-14  FTSE:  1984-05-16\\n\",\n      \"BP:  1984-05-15  FTSE:  1984-05-17\\n\",\n      \"BP:  1984-05-16  FTSE:  1984-05-18\\n\",\n      \"BP:  1984-05-17  FTSE:  1984-05-21\\n\",\n      \"BP:  1984-05-18  FTSE:  1984-05-22\\n\",\n      \"BP:  1984-05-21  FTSE:  1984-05-23\\n\",\n      \"BP:  1984-05-22  FTSE:  1984-05-24\\n\",\n      \"BP:  1984-05-23  FTSE:  1984-05-25\\n\",\n      \"BP:  1984-05-24  FTSE:  1984-05-30\\n\",\n      \"BP:  1984-05-25  FTSE:  1984-05-31\\n\",\n      \"BP:  1984-05-29  FTSE:  1984-06-01\\n\",\n      \"BP:  1984-05-30  FTSE:  1984-06-04\\n\",\n      \"BP:  1984-05-31  FTSE:  1984-06-05\\n\",\n      \"BP:  1984-06-01  FTSE:  1984-06-06\\n\",\n      \"BP:  1984-06-04  FTSE:  1984-06-07\\n\",\n      \"BP:  1984-06-05  FTSE:  1984-06-08\\n\",\n      \"BP:  1984-06-06  FTSE:  1984-06-11\\n\",\n      \"BP:  1984-06-07  FTSE:  1984-06-12\\n\",\n      \"BP:  1984-06-08  FTSE:  1984-06-13\\n\",\n      \"BP:  1984-06-11  FTSE:  1984-06-14\\n\",\n      \"BP:  1984-06-12  FTSE:  1984-06-15\\n\",\n      \"BP:  1984-06-13  FTSE:  1984-06-18\\n\",\n      \"BP:  1984-06-14  FTSE:  1984-06-19\\n\",\n      \"BP:  1984-06-15  FTSE:  1984-06-20\\n\",\n      \"BP:  1984-06-18  FTSE:  1984-06-21\\n\",\n      \"BP:  1984-06-19  FTSE:  1984-06-22\\n\",\n      \"BP:  1984-06-20  FTSE:  1984-06-25\\n\",\n      \"BP:  1984-06-21  FTSE:  1984-06-26\\n\",\n      \"BP:  1984-06-22  FTSE:  1984-06-27\\n\",\n      \"BP:  1984-06-25  FTSE:  1984-06-28\\n\",\n      \"BP:  1984-06-26  FTSE:  1984-06-29\\n\",\n      \"BP:  1984-06-27  FTSE:  1984-07-02\\n\",\n      \"BP:  1984-06-28  FTSE:  1984-07-03\\n\",\n      \"BP:  1984-06-29  FTSE:  1984-07-04\\n\",\n      \"BP:  1984-07-02  FTSE:  1984-07-05\\n\",\n      \"BP:  1984-07-03  FTSE:  1984-07-06\\n\",\n      \"BP:  1984-07-05  FTSE:  1984-07-09\\n\",\n      \"BP:  1984-07-06  FTSE:  1984-07-10\\n\",\n      \"BP:  1984-07-09  FTSE:  1984-07-11\\n\",\n      \"BP:  1984-07-10  FTSE:  1984-07-12\\n\",\n      \"BP:  1984-07-11  FTSE:  1984-07-13\\n\",\n      \"BP:  1984-07-12  FTSE:  1984-07-16\\n\",\n      \"BP:  1984-07-13  FTSE:  1984-07-17\\n\",\n      \"BP:  1984-07-16  FTSE:  1984-07-18\\n\",\n      \"BP:  1984-07-17  FTSE:  1984-07-19\\n\",\n      \"BP:  1984-07-18  FTSE:  1984-07-20\\n\",\n      \"BP:  1984-07-19  FTSE:  1984-07-23\\n\",\n      \"BP:  1984-07-20  FTSE:  1984-07-24\\n\",\n      \"BP:  1984-07-23  FTSE:  1984-07-25\\n\",\n      \"BP:  1984-07-24  FTSE:  1984-07-26\\n\",\n      \"BP:  1984-07-25  FTSE:  1984-07-27\\n\",\n      \"BP:  1984-07-26  FTSE:  1984-07-30\\n\",\n      \"BP:  1984-07-27  FTSE:  1984-07-31\\n\",\n      \"BP:  1984-07-30  FTSE:  1984-08-01\\n\",\n      \"BP:  1984-07-31  FTSE:  1984-08-02\\n\",\n      \"BP:  1984-08-01  FTSE:  1984-08-03\\n\",\n      \"BP:  1984-08-02  FTSE:  1984-08-06\\n\",\n      \"BP:  1984-08-03  FTSE:  1984-08-07\\n\",\n      \"BP:  1984-08-06  FTSE:  1984-08-08\\n\",\n      \"BP:  1984-08-07  FTSE:  1984-08-09\\n\",\n      \"BP:  1984-08-08  FTSE:  1984-08-10\\n\",\n      \"BP:  1984-08-09  FTSE:  1984-08-13\\n\",\n      \"BP:  1984-08-10  FTSE:  1984-08-14\\n\",\n      \"BP:  1984-08-13  FTSE:  1984-08-15\\n\",\n      \"BP:  1984-08-14  FTSE:  1984-08-16\\n\",\n      \"BP:  1984-08-15  FTSE:  1984-08-17\\n\",\n      \"BP:  1984-08-16  FTSE:  1984-08-20\\n\",\n      \"BP:  1984-08-17  FTSE:  1984-08-21\\n\",\n      \"BP:  1984-08-20  FTSE:  1984-08-22\\n\",\n      \"BP:  1984-08-21  FTSE:  1984-08-23\\n\",\n      \"BP:  1984-08-22  FTSE:  1984-08-24\\n\",\n      \"BP:  1984-08-23  FTSE:  1984-08-28\\n\",\n      \"BP:  1984-08-24  FTSE:  1984-08-29\\n\",\n      \"BP:  1984-08-27  FTSE:  1984-08-30\\n\",\n      \"BP:  1984-08-28  FTSE:  1984-08-31\\n\",\n      \"BP:  1984-08-29  FTSE:  1984-09-03\\n\",\n      \"BP:  1984-08-30  FTSE:  1984-09-04\\n\",\n      \"BP:  1984-08-31  FTSE:  1984-09-05\\n\",\n      \"BP:  1984-09-04  FTSE:  1984-09-06\\n\",\n      \"BP:  1984-09-05  FTSE:  1984-09-07\\n\",\n      \"BP:  1984-09-06  FTSE:  1984-09-10\\n\",\n      \"BP:  1984-09-07  FTSE:  1984-09-11\\n\",\n      \"BP:  1984-09-10  FTSE:  1984-09-12\\n\",\n      \"BP:  1984-09-11  FTSE:  1984-09-13\\n\",\n      \"BP:  1984-09-12  FTSE:  1984-09-14\\n\",\n      \"BP:  1984-09-13  FTSE:  1984-09-17\\n\",\n      \"BP:  1984-09-14  FTSE:  1984-09-18\\n\",\n      \"BP:  1984-09-17  FTSE:  1984-09-19\\n\",\n      \"BP:  1984-09-18  FTSE:  1984-09-20\\n\",\n      \"BP:  1984-09-19  FTSE:  1984-09-21\\n\",\n      \"BP:  1984-09-20  FTSE:  1984-09-24\\n\",\n      \"BP:  1984-09-21  FTSE:  1984-09-25\\n\",\n      \"BP:  1984-09-24  FTSE:  1984-09-26\\n\",\n      \"BP:  1984-09-25  FTSE:  1984-09-27\\n\",\n      \"BP:  1984-09-26  FTSE:  1984-09-28\\n\",\n      \"BP:  1984-09-27  FTSE:  1984-10-01\\n\",\n      \"BP:  1984-09-28  FTSE:  1984-10-02\\n\",\n      \"BP:  1984-10-01  FTSE:  1984-10-03\\n\",\n      \"BP:  1984-10-02  FTSE:  1984-10-04\\n\",\n      \"BP:  1984-10-03  FTSE:  1984-10-05\\n\",\n      \"BP:  1984-10-04  FTSE:  1984-10-08\\n\",\n      \"BP:  1984-10-05  FTSE:  1984-10-09\\n\",\n      \"BP:  1984-10-08  FTSE:  1984-10-10\\n\",\n      \"BP:  1984-10-09  FTSE:  1984-10-11\\n\",\n      \"BP:  1984-10-10  FTSE:  1984-10-12\\n\",\n      \"BP:  1984-10-11  FTSE:  1984-10-15\\n\",\n      \"BP:  1984-10-12  FTSE:  1984-10-16\\n\",\n      \"BP:  1984-10-15  FTSE:  1984-10-17\\n\",\n      \"BP:  1984-10-16  FTSE:  1984-10-18\\n\",\n      \"BP:  1984-10-17  FTSE:  1984-10-19\\n\",\n      \"BP:  1984-10-18  FTSE:  1984-10-22\\n\",\n      \"BP:  1984-10-19  FTSE:  1984-10-23\\n\",\n      \"BP:  1984-10-22  FTSE:  1984-10-24\\n\",\n      \"BP:  1984-10-23  FTSE:  1984-10-25\\n\",\n      \"BP:  1984-10-24  FTSE:  1984-10-26\\n\",\n      \"BP:  1984-10-25  FTSE:  1984-10-29\\n\",\n      \"BP:  1984-10-26  FTSE:  1984-10-30\\n\",\n      \"BP:  1984-10-29  FTSE:  1984-10-31\\n\",\n      \"BP:  1984-10-30  FTSE:  1984-11-01\\n\",\n      \"BP:  1984-10-31  FTSE:  1984-11-02\\n\",\n      \"BP:  1984-11-01  FTSE:  1984-11-05\\n\",\n      \"BP:  1984-11-02  FTSE:  1984-11-06\\n\",\n      \"BP:  1984-11-05  FTSE:  1984-11-07\\n\",\n      \"BP:  1984-11-06  FTSE:  1984-11-08\\n\",\n      \"BP:  1984-11-07  FTSE:  1984-11-09\\n\",\n      \"BP:  1984-11-08  FTSE:  1984-11-12\\n\",\n      \"BP:  1984-11-09  FTSE:  1984-11-13\\n\",\n      \"BP:  1984-11-12  FTSE:  1984-11-14\\n\",\n      \"BP:  1984-11-13  FTSE:  1984-11-15\\n\",\n      \"BP:  1984-11-14  FTSE:  1984-11-16\\n\",\n      \"BP:  1984-11-15  FTSE:  1984-11-19\\n\",\n      \"BP:  1984-11-16  FTSE:  1984-11-20\\n\",\n      \"BP:  1984-11-19  FTSE:  1984-11-21\\n\",\n      \"BP:  1984-11-20  FTSE:  1984-11-22\\n\",\n      \"BP:  1984-11-21  FTSE:  1984-11-23\\n\",\n      \"BP:  1984-11-23  FTSE:  1984-11-26\\n\",\n      \"BP:  1984-11-26  FTSE:  1984-11-27\\n\",\n      \"BP:  1984-11-27  FTSE:  1984-11-28\\n\",\n      \"BP:  1984-11-28  FTSE:  1984-11-29\\n\",\n      \"BP:  1984-11-29  FTSE:  1984-11-30\\n\",\n      \"BP:  1984-11-30  FTSE:  1984-12-03\\n\",\n      \"BP:  1984-12-03  FTSE:  1984-12-04\\n\",\n      \"BP:  1984-12-04  FTSE:  1984-12-05\\n\",\n      \"BP:  1984-12-05  FTSE:  1984-12-06\\n\",\n      \"BP:  1984-12-06  FTSE:  1984-12-07\\n\",\n      \"BP:  1984-12-07  FTSE:  1984-12-10\\n\",\n      \"BP:  1984-12-10  FTSE:  1984-12-11\\n\",\n      \"BP:  1984-12-11  FTSE:  1984-12-12\\n\",\n      \"BP:  1984-12-12  FTSE:  1984-12-13\\n\",\n      \"BP:  1984-12-13  FTSE:  1984-12-14\\n\",\n      \"BP:  1984-12-14  FTSE:  1984-12-17\\n\",\n      \"BP:  1984-12-17  FTSE:  1984-12-18\\n\",\n      \"BP:  1984-12-18  FTSE:  1984-12-19\\n\",\n      \"BP:  1984-12-19  FTSE:  1984-12-20\\n\",\n      \"BP:  1984-12-20  FTSE:  1984-12-21\\n\",\n      \"BP:  1984-12-21  FTSE:  1984-12-24\\n\",\n      \"BP:  1984-12-24  FTSE:  1984-12-27\\n\",\n      \"BP:  1984-12-26  FTSE:  1984-12-28\\n\",\n      \"BP:  1984-12-27  FTSE:  1984-12-31\\n\",\n      \"BP:  1984-12-28  FTSE:  1985-01-02\\n\",\n      \"BP:  1984-12-31  FTSE:  1985-01-03\\n\",\n      \"BP:  1985-01-02  FTSE:  1985-01-04\\n\",\n      \"BP:  1985-01-03  FTSE:  1985-01-07\\n\",\n      \"BP:  1985-01-04  FTSE:  1985-01-08\\n\",\n      \"BP:  1985-01-07  FTSE:  1985-01-09\\n\",\n      \"BP:  1985-01-08  FTSE:  1985-01-10\\n\",\n      \"BP:  1985-01-09  FTSE:  1985-01-11\\n\",\n      \"BP:  1985-01-10  FTSE:  1985-01-14\\n\",\n      \"BP:  1985-01-11  FTSE:  1985-01-15\\n\",\n      \"BP:  1985-01-14  FTSE:  1985-01-16\\n\",\n      \"BP:  1985-01-15  FTSE:  1985-01-17\\n\",\n      \"BP:  1985-01-16  FTSE:  1985-01-18\\n\",\n      \"BP:  1985-01-17  FTSE:  1985-01-21\\n\",\n      \"BP:  1985-01-18  FTSE:  1985-01-22\\n\",\n      \"BP:  1985-01-21  FTSE:  1985-01-23\\n\",\n      \"BP:  1985-01-22  FTSE:  1985-01-24\\n\",\n      \"BP:  1985-01-23  FTSE:  1985-01-25\\n\",\n      \"BP:  1985-01-24  FTSE:  1985-01-28\\n\",\n      \"BP:  1985-01-25  FTSE:  1985-01-29\\n\",\n      \"BP:  1985-01-28  FTSE:  1985-01-30\\n\",\n      \"BP:  1985-01-29  FTSE:  1985-01-31\\n\",\n      \"BP:  1985-01-30  FTSE:  1985-02-01\\n\",\n      \"BP:  1985-01-31  FTSE:  1985-02-04\\n\",\n      \"BP:  1985-02-01  FTSE:  1985-02-05\\n\",\n      \"BP:  1985-02-04  FTSE:  1985-02-06\\n\",\n      \"BP:  1985-02-05  FTSE:  1985-02-07\\n\",\n      \"BP:  1985-02-06  FTSE:  1985-02-08\\n\",\n      \"BP:  1985-02-07  FTSE:  1985-02-11\\n\",\n      \"BP:  1985-02-08  FTSE:  1985-02-12\\n\",\n      \"BP:  1985-02-11  FTSE:  1985-02-13\\n\",\n      \"BP:  1985-02-12  FTSE:  1985-02-14\\n\",\n      \"BP:  1985-02-13  FTSE:  1985-02-15\\n\",\n      \"BP:  1985-02-14  FTSE:  1985-02-18\\n\",\n      \"BP:  1985-02-15  FTSE:  1985-02-19\\n\",\n      \"BP:  1985-02-19  FTSE:  1985-02-20\\n\",\n      \"BP:  1985-02-20  FTSE:  1985-02-21\\n\",\n      \"BP:  1985-02-21  FTSE:  1985-02-22\\n\",\n      \"BP:  1985-02-22  FTSE:  1985-02-25\\n\",\n      \"BP:  1985-02-25  FTSE:  1985-02-26\\n\",\n      \"BP:  1985-02-26  FTSE:  1985-02-27\\n\",\n      \"BP:  1985-02-27  FTSE:  1985-02-28\\n\",\n      \"BP:  1985-02-28  FTSE:  1985-03-01\\n\",\n      \"BP:  1985-03-01  FTSE:  1985-03-04\\n\",\n      \"BP:  1985-03-04  FTSE:  1985-03-05\\n\",\n      \"BP:  1985-03-05  FTSE:  1985-03-06\\n\",\n      \"BP:  1985-03-06  FTSE:  1985-03-07\\n\",\n      \"BP:  1985-03-07  FTSE:  1985-03-08\\n\",\n      \"BP:  1985-03-08  FTSE:  1985-03-11\\n\",\n      \"BP:  1985-03-11  FTSE:  1985-03-12\\n\",\n      \"BP:  1985-03-12  FTSE:  1985-03-13\\n\",\n      \"BP:  1985-03-13  FTSE:  1985-03-14\\n\",\n      \"BP:  1985-03-14  FTSE:  1985-03-15\\n\",\n      \"BP:  1985-03-15  FTSE:  1985-03-18\\n\",\n      \"BP:  1985-03-18  FTSE:  1985-03-19\\n\",\n      \"BP:  1985-03-19  FTSE:  1985-03-20\\n\",\n      \"BP:  1985-03-20  FTSE:  1985-03-21\\n\",\n      \"BP:  1985-03-21  FTSE:  1985-03-22\\n\",\n      \"BP:  1985-03-22  FTSE:  1985-03-25\\n\",\n      \"BP:  1985-03-25  FTSE:  1985-03-26\\n\",\n      \"BP:  1985-03-26  FTSE:  1985-03-27\\n\",\n      \"BP:  1985-03-27  FTSE:  1985-03-28\\n\",\n      \"BP:  1985-03-28  FTSE:  1985-03-29\\n\",\n      \"BP:  1985-03-29  FTSE:  1985-04-01\\n\",\n      \"BP:  1985-04-01  FTSE:  1985-04-02\\n\",\n      \"BP:  1985-04-02  FTSE:  1985-04-03\\n\",\n      \"BP:  1985-04-03  FTSE:  1985-04-04\\n\",\n      \"BP:  1985-04-04  FTSE:  1985-04-09\\n\",\n      \"BP:  1985-04-08  FTSE:  1985-04-10\\n\",\n      \"BP:  1985-04-09  FTSE:  1985-04-11\\n\",\n      \"BP:  1985-04-10  FTSE:  1985-04-12\\n\",\n      \"BP:  1985-04-11  FTSE:  1985-04-15\\n\",\n      \"BP:  1985-04-12  FTSE:  1985-04-16\\n\",\n      \"BP:  1985-04-15  FTSE:  1985-04-17\\n\",\n      \"BP:  1985-04-16  FTSE:  1985-04-18\\n\",\n      \"BP:  1985-04-17  FTSE:  1985-04-19\\n\",\n      \"BP:  1985-04-18  FTSE:  1985-04-22\\n\",\n      \"BP:  1985-04-19  FTSE:  1985-04-23\\n\",\n      \"BP:  1985-04-22  FTSE:  1985-04-24\\n\",\n      \"BP:  1985-04-23  FTSE:  1985-04-25\\n\",\n      \"BP:  1985-04-24  FTSE:  1985-04-26\\n\",\n      \"BP:  1985-04-25  FTSE:  1985-04-29\\n\",\n      \"BP:  1985-04-26  FTSE:  1985-04-30\\n\",\n      \"BP:  1985-04-29  FTSE:  1985-05-01\\n\",\n      \"BP:  1985-04-30  FTSE:  1985-05-02\\n\",\n      \"BP:  1985-05-01  FTSE:  1985-05-03\\n\",\n      \"BP:  1985-05-02  FTSE:  1985-05-07\\n\",\n      \"BP:  1985-05-03  FTSE:  1985-05-08\\n\",\n      \"BP:  1985-05-06  FTSE:  1985-05-09\\n\",\n      \"BP:  1985-05-07  FTSE:  1985-05-10\\n\",\n      \"BP:  1985-05-08  FTSE:  1985-05-13\\n\",\n      \"BP:  1985-05-09  FTSE:  1985-05-14\\n\",\n      \"BP:  1985-05-10  FTSE:  1985-05-15\\n\",\n      \"BP:  1985-05-13  FTSE:  1985-05-16\\n\",\n      \"BP:  1985-05-14  FTSE:  1985-05-17\\n\",\n      \"BP:  1985-05-15  FTSE:  1985-05-20\\n\",\n      \"BP:  1985-05-16  FTSE:  1985-05-21\\n\",\n      \"BP:  1985-05-17  FTSE:  1985-05-22\\n\",\n      \"BP:  1985-05-20  FTSE:  1985-05-23\\n\",\n      \"BP:  1985-05-21  FTSE:  1985-05-24\\n\",\n      \"BP:  1985-05-22  FTSE:  1985-05-28\\n\",\n      \"BP:  1985-05-23  FTSE:  1985-05-29\\n\",\n      \"BP:  1985-05-24  FTSE:  1985-05-30\\n\",\n      \"BP:  1985-05-28  FTSE:  1985-05-31\\n\",\n      \"BP:  1985-05-29  FTSE:  1985-06-03\\n\",\n      \"BP:  1985-05-30  FTSE:  1985-06-04\\n\",\n      \"BP:  1985-05-31  FTSE:  1985-06-05\\n\",\n      \"BP:  1985-06-03  FTSE:  1985-06-06\\n\",\n      \"BP:  1985-06-04  FTSE:  1985-06-07\\n\",\n      \"BP:  1985-06-05  FTSE:  1985-06-10\\n\",\n      \"BP:  1985-06-06  FTSE:  1985-06-11\\n\",\n      \"BP:  1985-06-07  FTSE:  1985-06-12\\n\",\n      \"BP:  1985-06-10  FTSE:  1985-06-13\\n\",\n      \"BP:  1985-06-11  FTSE:  1985-06-14\\n\",\n      \"BP:  1985-06-12  FTSE:  1985-06-17\\n\",\n      \"BP:  1985-06-13  FTSE:  1985-06-18\\n\",\n      \"BP:  1985-06-14  FTSE:  1985-06-19\\n\",\n      \"BP:  1985-06-17  FTSE:  1985-06-20\\n\",\n      \"BP:  1985-06-18  FTSE:  1985-06-21\\n\",\n      \"BP:  1985-06-19  FTSE:  1985-06-24\\n\",\n      \"BP:  1985-06-20  FTSE:  1985-06-25\\n\",\n      \"BP:  1985-06-21  FTSE:  1985-06-26\\n\",\n      \"BP:  1985-06-24  FTSE:  1985-06-27\\n\",\n      \"BP:  1985-06-25  FTSE:  1985-06-28\\n\",\n      \"BP:  1985-06-26  FTSE:  1985-07-01\\n\",\n      \"BP:  1985-06-27  FTSE:  1985-07-02\\n\",\n      \"BP:  1985-06-28  FTSE:  1985-07-03\\n\",\n      \"BP:  1985-07-01  FTSE:  1985-07-04\\n\",\n      \"BP:  1985-07-02  FTSE:  1985-07-05\\n\",\n      \"BP:  1985-07-03  FTSE:  1985-07-08\\n\",\n      \"BP:  1985-07-05  FTSE:  1985-07-09\\n\",\n      \"BP:  1985-07-08  FTSE:  1985-07-10\\n\",\n      \"BP:  1985-07-09  FTSE:  1985-07-11\\n\",\n      \"BP:  1985-07-10  FTSE:  1985-07-12\\n\",\n      \"BP:  1985-07-11  FTSE:  1985-07-15\\n\",\n      \"BP:  1985-07-12  FTSE:  1985-07-16\\n\",\n      \"BP:  1985-07-15  FTSE:  1985-07-17\\n\",\n      \"BP:  1985-07-16  FTSE:  1985-07-18\\n\",\n      \"BP:  1985-07-17  FTSE:  1985-07-19\\n\",\n      \"BP:  1985-07-18  FTSE:  1985-07-22\\n\",\n      \"BP:  1985-07-19  FTSE:  1985-07-23\\n\",\n      \"BP:  1985-07-22  FTSE:  1985-07-24\\n\",\n      \"BP:  1985-07-23  FTSE:  1985-07-25\\n\",\n      \"BP:  1985-07-24  FTSE:  1985-07-26\\n\",\n      \"BP:  1985-07-25  FTSE:  1985-07-29\\n\",\n      \"BP:  1985-07-26  FTSE:  1985-07-30\\n\",\n      \"BP:  1985-07-29  FTSE:  1985-07-31\\n\",\n      \"BP:  1985-07-30  FTSE:  1985-08-01\\n\",\n      \"BP:  1985-07-31  FTSE:  1985-08-02\\n\",\n      \"BP:  1985-08-01  FTSE:  1985-08-05\\n\",\n      \"BP:  1985-08-02  FTSE:  1985-08-06\\n\",\n      \"BP:  1985-08-05  FTSE:  1985-08-07\\n\",\n      \"BP:  1985-08-06  FTSE:  1985-08-08\\n\",\n      \"BP:  1985-08-07  FTSE:  1985-08-09\\n\",\n      \"BP:  1985-08-08  FTSE:  1985-08-12\\n\",\n      \"BP:  1985-08-09  FTSE:  1985-08-13\\n\",\n      \"BP:  1985-08-12  FTSE:  1985-08-14\\n\",\n      \"BP:  1985-08-13  FTSE:  1985-08-15\\n\",\n      \"BP:  1985-08-14  FTSE:  1985-08-16\\n\",\n      \"BP:  1985-08-15  FTSE:  1985-08-19\\n\",\n      \"BP:  1985-08-16  FTSE:  1985-08-20\\n\",\n      \"BP:  1985-08-19  FTSE:  1985-08-21\\n\",\n      \"BP:  1985-08-20  FTSE:  1985-08-22\\n\",\n      \"BP:  1985-08-21  FTSE:  1985-08-23\\n\",\n      \"BP:  1985-08-22  FTSE:  1985-08-27\\n\",\n      \"BP:  1985-08-23  FTSE:  1985-08-28\\n\",\n      \"BP:  1985-08-26  FTSE:  1985-08-29\\n\",\n      \"BP:  1985-08-27  FTSE:  1985-08-30\\n\",\n      \"BP:  1985-08-28  FTSE:  1985-09-02\\n\",\n      \"BP:  1985-08-29  FTSE:  1985-09-03\\n\",\n      \"BP:  1985-08-30  FTSE:  1985-09-04\\n\",\n      \"BP:  1985-09-03  FTSE:  1985-09-05\\n\",\n      \"BP:  1985-09-04  FTSE:  1985-09-06\\n\",\n      \"BP:  1985-09-05  FTSE:  1985-09-09\\n\",\n      \"BP:  1985-09-06  FTSE:  1985-09-10\\n\",\n      \"BP:  1985-09-09  FTSE:  1985-09-11\\n\",\n      \"BP:  1985-09-10  FTSE:  1985-09-12\\n\",\n      \"BP:  1985-09-11  FTSE:  1985-09-13\\n\",\n      \"BP:  1985-09-12  FTSE:  1985-09-16\\n\",\n      \"BP:  1985-09-13  FTSE:  1985-09-17\\n\",\n      \"BP:  1985-09-16  FTSE:  1985-09-18\\n\",\n      \"BP:  1985-09-17  FTSE:  1985-09-19\\n\",\n      \"BP:  1985-09-18  FTSE:  1985-09-20\\n\",\n      \"BP:  1985-09-19  FTSE:  1985-09-23\\n\",\n      \"BP:  1985-09-20  FTSE:  1985-09-24\\n\",\n      \"BP:  1985-09-23  FTSE:  1985-09-25\\n\",\n      \"BP:  1985-09-24  FTSE:  1985-09-26\\n\",\n      \"BP:  1985-09-25  FTSE:  1985-09-27\\n\",\n      \"BP:  1985-09-26  FTSE:  1985-09-30\\n\",\n      \"BP:  1985-09-30  FTSE:  1985-10-01\\n\",\n      \"BP:  1985-10-01  FTSE:  1985-10-02\\n\",\n      \"BP:  1985-10-02  FTSE:  1985-10-03\\n\",\n      \"BP:  1985-10-03  FTSE:  1985-10-04\\n\",\n      \"BP:  1985-10-04  FTSE:  1985-10-07\\n\",\n      \"BP:  1985-10-07  FTSE:  1985-10-08\\n\",\n      \"BP:  1985-10-08  FTSE:  1985-10-09\\n\",\n      \"BP:  1985-10-09  FTSE:  1985-10-10\\n\",\n      \"BP:  1985-10-10  FTSE:  1985-10-11\\n\",\n      \"BP:  1985-10-11  FTSE:  1985-10-14\\n\",\n      \"BP:  1985-10-14  FTSE:  1985-10-15\\n\",\n      \"BP:  1985-10-15  FTSE:  1985-10-16\\n\",\n      \"BP:  1985-10-16  FTSE:  1985-10-17\\n\",\n      \"BP:  1985-10-17  FTSE:  1985-10-18\\n\",\n      \"BP:  1985-10-18  FTSE:  1985-10-21\\n\",\n      \"BP:  1985-10-21  FTSE:  1985-10-22\\n\",\n      \"BP:  1985-10-22  FTSE:  1985-10-23\\n\",\n      \"BP:  1985-10-23  FTSE:  1985-10-24\\n\",\n      \"BP:  1985-10-24  FTSE:  1985-10-25\\n\",\n      \"BP:  1985-10-25  FTSE:  1985-10-28\\n\",\n      \"BP:  1985-10-28  FTSE:  1985-10-29\\n\",\n      \"BP:  1985-10-29  FTSE:  1985-10-30\\n\",\n      \"BP:  1985-10-30  FTSE:  1985-10-31\\n\",\n      \"BP:  1985-10-31  FTSE:  1985-11-01\\n\",\n      \"BP:  1985-11-01  FTSE:  1985-11-04\\n\",\n      \"BP:  1985-11-04  FTSE:  1985-11-05\\n\",\n      \"BP:  1985-11-05  FTSE:  1985-11-06\\n\",\n      \"BP:  1985-11-06  FTSE:  1985-11-07\\n\",\n      \"BP:  1985-11-07  FTSE:  1985-11-08\\n\",\n      \"BP:  1985-11-08  FTSE:  1985-11-11\\n\",\n      \"BP:  1985-11-11  FTSE:  1985-11-12\\n\",\n      \"BP:  1985-11-12  FTSE:  1985-11-13\\n\",\n      \"BP:  1985-11-13  FTSE:  1985-11-14\\n\",\n      \"BP:  1985-11-14  FTSE:  1985-11-15\\n\",\n      \"BP:  1985-11-15  FTSE:  1985-11-18\\n\",\n      \"BP:  1985-11-18  FTSE:  1985-11-19\\n\",\n      \"BP:  1985-11-19  FTSE:  1985-11-20\\n\",\n      \"BP:  1985-11-20  FTSE:  1985-11-21\\n\",\n      \"BP:  1985-11-21  FTSE:  1985-11-22\\n\",\n      \"BP:  1985-11-22  FTSE:  1985-11-25\\n\",\n      \"BP:  1985-11-25  FTSE:  1985-11-26\\n\",\n      \"BP:  1985-11-26  FTSE:  1985-11-27\\n\",\n      \"BP:  1985-11-27  FTSE:  1985-11-28\\n\",\n      \"BP:  1985-12-26  FTSE:  1985-12-27\\n\",\n      \"BP:  1985-12-27  FTSE:  1985-12-30\\n\",\n      \"BP:  1985-12-30  FTSE:  1985-12-31\\n\",\n      \"BP:  1985-12-31  FTSE:  1986-01-02\\n\",\n      \"BP:  1986-01-02  FTSE:  1986-01-03\\n\",\n      \"BP:  1986-01-03  FTSE:  1986-01-06\\n\",\n      \"BP:  1986-01-06  FTSE:  1986-01-07\\n\",\n      \"BP:  1986-01-07  FTSE:  1986-01-08\\n\",\n      \"BP:  1986-01-08  FTSE:  1986-01-09\\n\",\n      \"BP:  1986-01-09  FTSE:  1986-01-10\\n\",\n      \"BP:  1986-01-10  FTSE:  1986-01-13\\n\",\n      \"BP:  1986-01-13  FTSE:  1986-01-14\\n\",\n      \"BP:  1986-01-14  FTSE:  1986-01-15\\n\",\n      \"BP:  1986-01-15  FTSE:  1986-01-16\\n\",\n      \"BP:  1986-01-16  FTSE:  1986-01-17\\n\",\n      \"BP:  1986-01-17  FTSE:  1986-01-20\\n\",\n      \"BP:  1986-01-20  FTSE:  1986-01-21\\n\",\n      \"BP:  1986-01-21  FTSE:  1986-01-22\\n\",\n      \"BP:  1986-01-22  FTSE:  1986-01-23\\n\",\n      \"BP:  1986-01-23  FTSE:  1986-01-24\\n\",\n      \"BP:  1986-01-24  FTSE:  1986-01-27\\n\",\n      \"BP:  1986-01-27  FTSE:  1986-01-28\\n\",\n      \"BP:  1986-01-28  FTSE:  1986-01-29\\n\",\n      \"BP:  1986-01-29  FTSE:  1986-01-30\\n\",\n      \"BP:  1986-01-30  FTSE:  1986-01-31\\n\",\n      \"BP:  1986-01-31  FTSE:  1986-02-03\\n\",\n      \"BP:  1986-02-03  FTSE:  1986-02-04\\n\",\n      \"BP:  1986-02-04  FTSE:  1986-02-05\\n\",\n      \"BP:  1986-02-05  FTSE:  1986-02-06\\n\",\n      \"BP:  1986-02-06  FTSE:  1986-02-07\\n\",\n      \"BP:  1986-02-07  FTSE:  1986-02-10\\n\",\n      \"BP:  1986-02-10  FTSE:  1986-02-11\\n\",\n      \"BP:  1986-02-11  FTSE:  1986-02-12\\n\",\n      \"BP:  1986-02-12  FTSE:  1986-02-13\\n\",\n      \"BP:  1986-02-13  FTSE:  1986-02-14\\n\",\n      \"BP:  1986-02-14  FTSE:  1986-02-17\\n\",\n      \"BP:  1986-03-31  FTSE:  1986-04-01\\n\",\n      \"BP:  1986-04-01  FTSE:  1986-04-02\\n\",\n      \"BP:  1986-04-02  FTSE:  1986-04-03\\n\",\n      \"BP:  1986-04-03  FTSE:  1986-04-04\\n\",\n      \"BP:  1986-04-04  FTSE:  1986-04-07\\n\",\n      \"BP:  1986-04-07  FTSE:  1986-04-08\\n\",\n      \"BP:  1986-04-08  FTSE:  1986-04-09\\n\",\n      \"BP:  1986-04-09  FTSE:  1986-04-10\\n\",\n      \"BP:  1986-04-10  FTSE:  1986-04-11\\n\",\n      \"BP:  1986-04-11  FTSE:  1986-04-14\\n\",\n      \"BP:  1986-04-14  FTSE:  1986-04-15\\n\",\n      \"BP:  1986-04-15  FTSE:  1986-04-16\\n\",\n      \"BP:  1986-04-16  FTSE:  1986-04-17\\n\",\n      \"BP:  1986-04-17  FTSE:  1986-04-18\\n\",\n      \"BP:  1986-04-18  FTSE:  1986-04-21\\n\",\n      \"BP:  1986-04-21  FTSE:  1986-04-22\\n\",\n      \"BP:  1986-04-22  FTSE:  1986-04-23\\n\",\n      \"BP:  1986-04-23  FTSE:  1986-04-24\\n\",\n      \"BP:  1986-04-24  FTSE:  1986-04-25\\n\",\n      \"BP:  1986-04-25  FTSE:  1986-04-28\\n\",\n      \"BP:  1986-04-28  FTSE:  1986-04-29\\n\",\n      \"BP:  1986-04-29  FTSE:  1986-04-30\\n\",\n      \"BP:  1986-04-30  FTSE:  1986-05-01\\n\",\n      \"BP:  1986-05-01  FTSE:  1986-05-02\\n\",\n      \"BP:  1986-05-02  FTSE:  1986-05-06\\n\",\n      \"BP:  1986-05-05  FTSE:  1986-05-07\\n\",\n      \"BP:  1986-05-06  FTSE:  1986-05-08\\n\",\n      \"BP:  1986-05-07  FTSE:  1986-05-09\\n\",\n      \"BP:  1986-05-08  FTSE:  1986-05-12\\n\",\n      \"BP:  1986-05-09  FTSE:  1986-05-13\\n\",\n      \"BP:  1986-05-12  FTSE:  1986-05-14\\n\",\n      \"BP:  1986-05-13  FTSE:  1986-05-15\\n\",\n      \"BP:  1986-05-14  FTSE:  1986-05-16\\n\",\n      \"BP:  1986-05-15  FTSE:  1986-05-19\\n\",\n      \"BP:  1986-05-16  FTSE:  1986-05-20\\n\",\n      \"BP:  1986-05-19  FTSE:  1986-05-21\\n\",\n      \"BP:  1986-05-20  FTSE:  1986-05-22\\n\",\n      \"BP:  1986-05-21  FTSE:  1986-05-23\\n\",\n      \"BP:  1986-05-22  FTSE:  1986-05-27\\n\",\n      \"BP:  1986-05-23  FTSE:  1986-05-28\\n\",\n      \"BP:  1986-05-27  FTSE:  1986-05-29\\n\",\n      \"BP:  1986-05-28  FTSE:  1986-05-30\\n\",\n      \"BP:  1986-05-29  FTSE:  1986-06-02\\n\",\n      \"BP:  1986-05-30  FTSE:  1986-06-03\\n\",\n      \"BP:  1986-06-02  FTSE:  1986-06-04\\n\",\n      \"BP:  1986-06-03  FTSE:  1986-06-05\\n\",\n      \"BP:  1986-06-04  FTSE:  1986-06-06\\n\",\n      \"BP:  1986-06-05  FTSE:  1986-06-09\\n\",\n      \"BP:  1986-06-06  FTSE:  1986-06-10\\n\",\n      \"BP:  1986-06-09  FTSE:  1986-06-11\\n\",\n      \"BP:  1986-06-10  FTSE:  1986-06-12\\n\",\n      \"BP:  1986-06-11  FTSE:  1986-06-13\\n\",\n      \"BP:  1986-06-12  FTSE:  1986-06-16\\n\",\n      \"BP:  1986-06-13  FTSE:  1986-06-17\\n\",\n      \"BP:  1986-06-16  FTSE:  1986-06-18\\n\",\n      \"BP:  1986-06-17  FTSE:  1986-06-19\\n\",\n      \"BP:  1986-06-18  FTSE:  1986-06-20\\n\",\n      \"BP:  1986-06-19  FTSE:  1986-06-23\\n\",\n      \"BP:  1986-06-20  FTSE:  1986-06-24\\n\",\n      \"BP:  1986-06-23  FTSE:  1986-06-25\\n\",\n      \"BP:  1986-06-24  FTSE:  1986-06-26\\n\",\n      \"BP:  1986-06-25  FTSE:  1986-06-27\\n\",\n      \"BP:  1986-06-26  FTSE:  1986-06-30\\n\",\n      \"BP:  1986-06-27  FTSE:  1986-07-01\\n\",\n      \"BP:  1986-06-30  FTSE:  1986-07-02\\n\",\n      \"BP:  1986-07-01  FTSE:  1986-07-03\\n\",\n      \"BP:  1986-07-02  FTSE:  1986-07-04\\n\",\n      \"BP:  1986-07-03  FTSE:  1986-07-07\\n\",\n      \"BP:  1986-07-07  FTSE:  1986-07-08\\n\",\n      \"BP:  1986-07-08  FTSE:  1986-07-09\\n\",\n      \"BP:  1986-07-09  FTSE:  1986-07-10\\n\",\n      \"BP:  1986-07-10  FTSE:  1986-07-11\\n\",\n      \"BP:  1986-07-11  FTSE:  1986-07-14\\n\",\n      \"BP:  1986-07-14  FTSE:  1986-07-15\\n\",\n      \"BP:  1986-07-15  FTSE:  1986-07-16\\n\",\n      \"BP:  1986-07-16  FTSE:  1986-07-17\\n\",\n      \"BP:  1986-07-17  FTSE:  1986-07-18\\n\",\n      \"BP:  1986-07-18  FTSE:  1986-07-21\\n\",\n      \"BP:  1986-07-21  FTSE:  1986-07-22\\n\",\n      \"BP:  1986-07-22  FTSE:  1986-07-23\\n\",\n      \"BP:  1986-07-23  FTSE:  1986-07-24\\n\",\n      \"BP:  1986-07-24  FTSE:  1986-07-25\\n\",\n      \"BP:  1986-07-25  FTSE:  1986-07-28\\n\",\n      \"BP:  1986-07-28  FTSE:  1986-07-29\\n\",\n      \"BP:  1986-07-29  FTSE:  1986-07-30\\n\",\n      \"BP:  1986-07-30  FTSE:  1986-07-31\\n\",\n      \"BP:  1986-07-31  FTSE:  1986-08-01\\n\",\n      \"BP:  1986-08-01  FTSE:  1986-08-04\\n\",\n      \"BP:  1986-08-04  FTSE:  1986-08-05\\n\",\n      \"BP:  1986-08-05  FTSE:  1986-08-06\\n\",\n      \"BP:  1986-08-06  FTSE:  1986-08-07\\n\",\n      \"BP:  1986-08-07  FTSE:  1986-08-08\\n\",\n      \"BP:  1986-08-08  FTSE:  1986-08-11\\n\",\n      \"BP:  1986-08-11  FTSE:  1986-08-12\\n\",\n      \"BP:  1986-08-12  FTSE:  1986-08-13\\n\",\n      \"BP:  1986-08-13  FTSE:  1986-08-14\\n\",\n      \"BP:  1986-08-14  FTSE:  1986-08-15\\n\",\n      \"BP:  1986-08-15  FTSE:  1986-08-18\\n\",\n      \"BP:  1986-08-18  FTSE:  1986-08-19\\n\",\n      \"BP:  1986-08-19  FTSE:  1986-08-20\\n\",\n      \"BP:  1986-08-20  FTSE:  1986-08-21\\n\",\n      \"BP:  1986-08-21  FTSE:  1986-08-22\\n\",\n      \"BP:  1986-08-22  FTSE:  1986-08-26\\n\",\n      \"BP:  1986-08-25  FTSE:  1986-08-27\\n\",\n      \"BP:  1986-08-26  FTSE:  1986-08-28\\n\",\n      \"BP:  1986-08-27  FTSE:  1986-08-29\\n\",\n      \"BP:  1986-08-28  FTSE:  1986-09-01\\n\",\n      \"BP:  1986-08-29  FTSE:  1986-09-02\\n\",\n      \"BP:  1986-09-02  FTSE:  1986-09-03\\n\",\n      \"BP:  1986-09-03  FTSE:  1986-09-04\\n\",\n      \"BP:  1986-09-04  FTSE:  1986-09-05\\n\",\n      \"BP:  1986-09-05  FTSE:  1986-09-08\\n\",\n      \"BP:  1986-09-08  FTSE:  1986-09-09\\n\",\n      \"BP:  1986-09-09  FTSE:  1986-09-10\\n\",\n      \"BP:  1986-09-10  FTSE:  1986-09-11\\n\",\n      \"BP:  1986-09-11  FTSE:  1986-09-12\\n\",\n      \"BP:  1986-09-12  FTSE:  1986-09-15\\n\",\n      \"BP:  1986-09-15  FTSE:  1986-09-16\\n\",\n      \"BP:  1986-09-16  FTSE:  1986-09-17\\n\",\n      \"BP:  1986-09-17  FTSE:  1986-09-18\\n\",\n      \"BP:  1986-09-18  FTSE:  1986-09-19\\n\",\n      \"BP:  1986-09-19  FTSE:  1986-09-22\\n\",\n      \"BP:  1986-09-22  FTSE:  1986-09-23\\n\",\n      \"BP:  1986-09-23  FTSE:  1986-09-24\\n\",\n      \"BP:  1986-09-24  FTSE:  1986-09-25\\n\",\n      \"BP:  1986-09-25  FTSE:  1986-09-26\\n\",\n      \"BP:  1986-09-26  FTSE:  1986-09-29\\n\",\n      \"BP:  1986-09-29  FTSE:  1986-09-30\\n\",\n      \"BP:  1986-09-30  FTSE:  1986-10-01\\n\",\n      \"BP:  1986-10-01  FTSE:  1986-10-02\\n\",\n      \"BP:  1986-10-02  FTSE:  1986-10-03\\n\",\n      \"BP:  1986-10-03  FTSE:  1986-10-06\\n\",\n      \"BP:  1986-10-06  FTSE:  1986-10-07\\n\",\n      \"BP:  1986-10-07  FTSE:  1986-10-08\\n\",\n      \"BP:  1986-10-08  FTSE:  1986-10-09\\n\",\n      \"BP:  1986-10-09  FTSE:  1986-10-10\\n\",\n      \"BP:  1986-10-10  FTSE:  1986-10-13\\n\",\n      \"BP:  1986-10-13  FTSE:  1986-10-14\\n\",\n      \"BP:  1986-10-14  FTSE:  1986-10-15\\n\",\n      \"BP:  1986-10-15  FTSE:  1986-10-16\\n\",\n      \"BP:  1986-10-16  FTSE:  1986-10-17\\n\",\n      \"BP:  1986-10-17  FTSE:  1986-10-20\\n\",\n      \"BP:  1986-10-20  FTSE:  1986-10-21\\n\",\n      \"BP:  1986-10-21  FTSE:  1986-10-22\\n\",\n      \"BP:  1986-10-22  FTSE:  1986-10-23\\n\",\n      \"BP:  1986-10-23  FTSE:  1986-10-24\\n\",\n      \"BP:  1986-10-24  FTSE:  1986-10-27\\n\",\n      \"BP:  1986-10-27  FTSE:  1986-10-28\\n\",\n      \"BP:  1986-10-28  FTSE:  1986-10-29\\n\",\n      \"BP:  1986-10-29  FTSE:  1986-10-30\\n\",\n      \"BP:  1986-10-30  FTSE:  1986-10-31\\n\",\n      \"BP:  1986-10-31  FTSE:  1986-11-03\\n\",\n      \"BP:  1986-11-03  FTSE:  1986-11-04\\n\",\n      \"BP:  1986-11-04  FTSE:  1986-11-05\\n\",\n      \"BP:  1986-11-05  FTSE:  1986-11-06\\n\",\n      \"BP:  1986-11-06  FTSE:  1986-11-07\\n\",\n      \"BP:  1986-11-07  FTSE:  1986-11-10\\n\",\n      \"BP:  1986-11-10  FTSE:  1986-11-11\\n\",\n      \"BP:  1986-11-11  FTSE:  1986-11-12\\n\",\n      \"BP:  1986-11-12  FTSE:  1986-11-13\\n\",\n      \"BP:  1986-11-13  FTSE:  1986-11-14\\n\",\n      \"BP:  1986-11-14  FTSE:  1986-11-17\\n\",\n      \"BP:  1986-11-17  FTSE:  1986-11-18\\n\",\n      \"BP:  1986-11-18  FTSE:  1986-11-19\\n\",\n      \"BP:  1986-11-19  FTSE:  1986-11-20\\n\",\n      \"BP:  1986-11-20  FTSE:  1986-11-21\\n\",\n      \"BP:  1986-11-21  FTSE:  1986-11-24\\n\",\n      \"BP:  1986-11-24  FTSE:  1986-11-25\\n\",\n      \"BP:  1986-11-25  FTSE:  1986-11-26\\n\",\n      \"BP:  1986-11-26  FTSE:  1986-11-27\\n\",\n      \"BP:  1986-12-26  FTSE:  1986-12-29\\n\",\n      \"BP:  1986-12-29  FTSE:  1986-12-30\\n\",\n      \"BP:  1986-12-30  FTSE:  1986-12-31\\n\",\n      \"BP:  1986-12-31  FTSE:  1987-01-02\\n\",\n      \"BP:  1987-01-02  FTSE:  1987-01-05\\n\",\n      \"BP:  1987-01-05  FTSE:  1987-01-06\\n\",\n      \"BP:  1987-01-06  FTSE:  1987-01-07\\n\",\n      \"BP:  1987-01-07  FTSE:  1987-01-08\\n\",\n      \"BP:  1987-01-08  FTSE:  1987-01-09\\n\",\n      \"BP:  1987-01-09  FTSE:  1987-01-12\\n\",\n      \"BP:  1987-01-12  FTSE:  1987-01-13\\n\",\n      \"BP:  1987-01-13  FTSE:  1987-01-14\\n\",\n      \"BP:  1987-01-14  FTSE:  1987-01-15\\n\",\n      \"BP:  1987-01-15  FTSE:  1987-01-16\\n\",\n      \"BP:  1987-01-16  FTSE:  1987-01-19\\n\",\n      \"BP:  1987-01-19  FTSE:  1987-01-20\\n\",\n      \"BP:  1987-01-20  FTSE:  1987-01-21\\n\",\n      \"BP:  1987-01-21  FTSE:  1987-01-22\\n\",\n      \"BP:  1987-01-22  FTSE:  1987-01-23\\n\",\n      \"BP:  1987-01-23  FTSE:  1987-01-26\\n\",\n      \"BP:  1987-01-26  FTSE:  1987-01-27\\n\",\n      \"BP:  1987-01-27  FTSE:  1987-01-28\\n\",\n      \"BP:  1987-01-28  FTSE:  1987-01-29\\n\",\n      \"BP:  1987-01-29  FTSE:  1987-01-30\\n\",\n      \"BP:  1987-01-30  FTSE:  1987-02-02\\n\",\n      \"BP:  1987-02-02  FTSE:  1987-02-03\\n\",\n      \"BP:  1987-02-03  FTSE:  1987-02-04\\n\",\n      \"BP:  1987-02-04  FTSE:  1987-02-05\\n\",\n      \"BP:  1987-02-05  FTSE:  1987-02-06\\n\",\n      \"BP:  1987-02-06  FTSE:  1987-02-09\\n\",\n      \"BP:  1987-02-09  FTSE:  1987-02-10\\n\",\n      \"BP:  1987-02-10  FTSE:  1987-02-11\\n\",\n      \"BP:  1987-02-11  FTSE:  1987-02-12\\n\",\n      \"BP:  1987-02-12  FTSE:  1987-02-13\\n\",\n      \"BP:  1987-02-13  FTSE:  1987-02-16\\n\",\n      \"BP:  1987-04-20  FTSE:  1987-04-21\\n\",\n      \"BP:  1987-04-21  FTSE:  1987-04-22\\n\",\n      \"BP:  1987-04-22  FTSE:  1987-04-23\\n\",\n      \"BP:  1987-04-23  FTSE:  1987-04-24\\n\",\n      \"BP:  1987-04-24  FTSE:  1987-04-27\\n\",\n      \"BP:  1987-04-27  FTSE:  1987-04-28\\n\",\n      \"BP:  1987-04-28  FTSE:  1987-04-29\\n\",\n      \"BP:  1987-04-29  FTSE:  1987-04-30\\n\",\n      \"BP:  1987-04-30  FTSE:  1987-05-01\\n\",\n      \"BP:  1987-05-01  FTSE:  1987-05-05\\n\",\n      \"BP:  1987-05-04  FTSE:  1987-05-06\\n\",\n      \"BP:  1987-05-05  FTSE:  1987-05-07\\n\",\n      \"BP:  1987-05-06  FTSE:  1987-05-08\\n\",\n      \"BP:  1987-05-07  FTSE:  1987-05-11\\n\",\n      \"BP:  1987-05-08  FTSE:  1987-05-12\\n\",\n      \"BP:  1987-05-11  FTSE:  1987-05-13\\n\",\n      \"BP:  1987-05-12  FTSE:  1987-05-14\\n\",\n      \"BP:  1987-05-13  FTSE:  1987-05-15\\n\",\n      \"BP:  1987-05-14  FTSE:  1987-05-18\\n\",\n      \"BP:  1987-05-15  FTSE:  1987-05-19\\n\",\n      \"BP:  1987-05-18  FTSE:  1987-05-20\\n\",\n      \"BP:  1987-05-19  FTSE:  1987-05-21\\n\",\n      \"BP:  1987-05-20  FTSE:  1987-05-22\\n\",\n      \"BP:  1987-05-21  FTSE:  1987-05-26\\n\",\n      \"BP:  1987-05-22  FTSE:  1987-05-27\\n\",\n      \"BP:  1987-05-26  FTSE:  1987-05-28\\n\",\n      \"BP:  1987-05-27  FTSE:  1987-05-29\\n\",\n      \"BP:  1987-05-28  FTSE:  1987-06-01\\n\",\n      \"BP:  1987-05-29  FTSE:  1987-06-02\\n\",\n      \"BP:  1987-06-01  FTSE:  1987-06-03\\n\",\n      \"BP:  1987-06-02  FTSE:  1987-06-04\\n\",\n      \"BP:  1987-06-03  FTSE:  1987-06-05\\n\",\n      \"BP:  1987-06-04  FTSE:  1987-06-08\\n\",\n      \"BP:  1987-06-05  FTSE:  1987-06-09\\n\",\n      \"BP:  1987-06-08  FTSE:  1987-06-10\\n\",\n      \"BP:  1987-06-09  FTSE:  1987-06-11\\n\",\n      \"BP:  1987-06-10  FTSE:  1987-06-12\\n\",\n      \"BP:  1987-06-11  FTSE:  1987-06-15\\n\",\n      \"BP:  1987-06-12  FTSE:  1987-06-16\\n\",\n      \"BP:  1987-06-15  FTSE:  1987-06-17\\n\",\n      \"BP:  1987-06-16  FTSE:  1987-06-18\\n\",\n      \"BP:  1987-06-17  FTSE:  1987-06-19\\n\",\n      \"BP:  1987-06-18  FTSE:  1987-06-22\\n\",\n      \"BP:  1987-06-19  FTSE:  1987-06-23\\n\",\n      \"BP:  1987-06-22  FTSE:  1987-06-24\\n\",\n      \"BP:  1987-06-23  FTSE:  1987-06-25\\n\",\n      \"BP:  1987-06-24  FTSE:  1987-06-26\\n\",\n      \"BP:  1987-06-25  FTSE:  1987-06-29\\n\",\n      \"BP:  1987-06-26  FTSE:  1987-06-30\\n\",\n      \"BP:  1987-06-29  FTSE:  1987-07-01\\n\",\n      \"BP:  1987-06-30  FTSE:  1987-07-02\\n\",\n      \"BP:  1987-07-01  FTSE:  1987-07-03\\n\",\n      \"BP:  1987-07-02  FTSE:  1987-07-06\\n\",\n      \"BP:  1987-07-06  FTSE:  1987-07-07\\n\",\n      \"BP:  1987-07-07  FTSE:  1987-07-08\\n\",\n      \"BP:  1987-07-08  FTSE:  1987-07-09\\n\",\n      \"BP:  1987-07-09  FTSE:  1987-07-10\\n\",\n      \"BP:  1987-07-10  FTSE:  1987-07-13\\n\",\n      \"BP:  1987-07-13  FTSE:  1987-07-14\\n\",\n      \"BP:  1987-07-14  FTSE:  1987-07-15\\n\",\n      \"BP:  1987-07-15  FTSE:  1987-07-16\\n\",\n      \"BP:  1987-07-16  FTSE:  1987-07-17\\n\",\n      \"BP:  1987-07-17  FTSE:  1987-07-20\\n\",\n      \"BP:  1987-07-20  FTSE:  1987-07-21\\n\",\n      \"BP:  1987-07-21  FTSE:  1987-07-22\\n\",\n      \"BP:  1987-07-22  FTSE:  1987-07-23\\n\",\n      \"BP:  1987-07-23  FTSE:  1987-07-24\\n\",\n      \"BP:  1987-07-24  FTSE:  1987-07-27\\n\",\n      \"BP:  1987-07-27  FTSE:  1987-07-28\\n\",\n      \"BP:  1987-07-28  FTSE:  1987-07-29\\n\",\n      \"BP:  1987-07-29  FTSE:  1987-07-30\\n\",\n      \"BP:  1987-07-30  FTSE:  1987-07-31\\n\",\n      \"BP:  1987-07-31  FTSE:  1987-08-03\\n\",\n      \"BP:  1987-08-03  FTSE:  1987-08-04\\n\",\n      \"BP:  1987-08-04  FTSE:  1987-08-05\\n\",\n      \"BP:  1987-08-05  FTSE:  1987-08-06\\n\",\n      \"BP:  1987-08-06  FTSE:  1987-08-07\\n\",\n      \"BP:  1987-08-07  FTSE:  1987-08-10\\n\",\n      \"BP:  1987-08-10  FTSE:  1987-08-11\\n\",\n      \"BP:  1987-08-11  FTSE:  1987-08-12\\n\",\n      \"BP:  1987-08-12  FTSE:  1987-08-13\\n\",\n      \"BP:  1987-08-13  FTSE:  1987-08-14\\n\",\n      \"BP:  1987-08-14  FTSE:  1987-08-17\\n\",\n      \"BP:  1987-08-17  FTSE:  1987-08-18\\n\",\n      \"BP:  1987-08-18  FTSE:  1987-08-19\\n\",\n      \"BP:  1987-08-19  FTSE:  1987-08-20\\n\",\n      \"BP:  1987-08-20  FTSE:  1987-08-21\\n\",\n      \"BP:  1987-08-21  FTSE:  1987-08-24\\n\",\n      \"BP:  1987-08-24  FTSE:  1987-08-25\\n\",\n      \"BP:  1987-08-25  FTSE:  1987-08-26\\n\",\n      \"BP:  1987-08-26  FTSE:  1987-08-27\\n\",\n      \"BP:  1987-08-27  FTSE:  1987-08-28\\n\",\n      \"BP:  1987-08-28  FTSE:  1987-09-01\\n\",\n      \"BP:  1987-08-31  FTSE:  1987-09-02\\n\",\n      \"BP:  1987-09-01  FTSE:  1987-09-03\\n\",\n      \"BP:  1987-09-02  FTSE:  1987-09-04\\n\",\n      \"BP:  1987-09-03  FTSE:  1987-09-07\\n\",\n      \"BP:  1987-09-04  FTSE:  1987-09-08\\n\",\n      \"BP:  1987-09-08  FTSE:  1987-09-09\\n\",\n      \"BP:  1987-09-09  FTSE:  1987-09-10\\n\",\n      \"BP:  1987-09-10  FTSE:  1987-09-11\\n\",\n      \"BP:  1987-09-11  FTSE:  1987-09-14\\n\",\n      \"BP:  1987-09-14  FTSE:  1987-09-15\\n\",\n      \"BP:  1987-09-15  FTSE:  1987-09-16\\n\",\n      \"BP:  1987-09-16  FTSE:  1987-09-17\\n\",\n      \"BP:  1987-09-17  FTSE:  1987-09-18\\n\",\n      \"BP:  1987-09-18  FTSE:  1987-09-21\\n\",\n      \"BP:  1987-09-21  FTSE:  1987-09-22\\n\",\n      \"BP:  1987-09-22  FTSE:  1987-09-23\\n\",\n      \"BP:  1987-09-23  FTSE:  1987-09-24\\n\",\n      \"BP:  1987-09-24  FTSE:  1987-09-25\\n\",\n      \"BP:  1987-09-25  FTSE:  1987-09-28\\n\",\n      \"BP:  1987-09-28  FTSE:  1987-09-29\\n\",\n      \"BP:  1987-09-29  FTSE:  1987-09-30\\n\",\n      \"BP:  1987-09-30  FTSE:  1987-10-01\\n\",\n      \"BP:  1987-10-01  FTSE:  1987-10-02\\n\",\n      \"BP:  1987-10-02  FTSE:  1987-10-05\\n\",\n      \"BP:  1987-10-05  FTSE:  1987-10-06\\n\",\n      \"BP:  1987-10-06  FTSE:  1987-10-07\\n\",\n      \"BP:  1987-10-07  FTSE:  1987-10-08\\n\",\n      \"BP:  1987-10-08  FTSE:  1987-10-09\\n\",\n      \"BP:  1987-10-09  FTSE:  1987-10-12\\n\",\n      \"BP:  1987-10-12  FTSE:  1987-10-13\\n\",\n      \"BP:  1987-10-13  FTSE:  1987-10-14\\n\",\n      \"BP:  1987-10-14  FTSE:  1987-10-15\\n\",\n      \"BP:  1987-10-15  FTSE:  1987-10-16\\n\",\n      \"BP:  1987-10-16  FTSE:  1987-10-19\\n\",\n      \"BP:  1987-10-19  FTSE:  1987-10-20\\n\",\n      \"BP:  1987-10-20  FTSE:  1987-10-21\\n\",\n      \"BP:  1987-10-21  FTSE:  1987-10-22\\n\",\n      \"BP:  1987-10-22  FTSE:  1987-10-23\\n\",\n      \"BP:  1987-10-23  FTSE:  1987-10-26\\n\",\n      \"BP:  1987-10-26  FTSE:  1987-10-27\\n\",\n      \"BP:  1987-10-27  FTSE:  1987-10-28\\n\",\n      \"BP:  1987-10-28  FTSE:  1987-10-29\\n\",\n      \"BP:  1987-10-29  FTSE:  1987-10-30\\n\",\n      \"BP:  1987-10-30  FTSE:  1987-11-02\\n\",\n      \"BP:  1987-11-02  FTSE:  1987-11-03\\n\",\n      \"BP:  1987-11-03  FTSE:  1987-11-04\\n\",\n      \"BP:  1987-11-04  FTSE:  1987-11-05\\n\",\n      \"BP:  1987-11-05  FTSE:  1987-11-06\\n\",\n      \"BP:  1987-11-06  FTSE:  1987-11-09\\n\",\n      \"BP:  1987-11-09  FTSE:  1987-11-10\\n\",\n      \"BP:  1987-11-10  FTSE:  1987-11-11\\n\",\n      \"BP:  1987-11-11  FTSE:  1987-11-12\\n\",\n      \"BP:  1987-11-12  FTSE:  1987-11-13\\n\",\n      \"BP:  1987-11-13  FTSE:  1987-11-16\\n\",\n      \"BP:  1987-11-16  FTSE:  1987-11-17\\n\",\n      \"BP:  1987-11-17  FTSE:  1987-11-18\\n\",\n      \"BP:  1987-11-18  FTSE:  1987-11-19\\n\",\n      \"BP:  1987-11-19  FTSE:  1987-11-20\\n\",\n      \"BP:  1987-11-20  FTSE:  1987-11-23\\n\",\n      \"BP:  1987-11-23  FTSE:  1987-11-24\\n\",\n      \"BP:  1987-11-24  FTSE:  1987-11-25\\n\",\n      \"BP:  1987-11-25  FTSE:  1987-11-26\\n\",\n      \"BP:  1987-12-28  FTSE:  1987-12-29\\n\",\n      \"BP:  1987-12-29  FTSE:  1987-12-30\\n\",\n      \"BP:  1987-12-30  FTSE:  1987-12-31\\n\",\n      \"BP:  1987-12-31  FTSE:  1988-01-04\\n\",\n      \"BP:  1988-01-04  FTSE:  1988-01-05\\n\",\n      \"BP:  1988-01-05  FTSE:  1988-01-06\\n\",\n      \"BP:  1988-01-06  FTSE:  1988-01-07\\n\",\n      \"BP:  1988-01-07  FTSE:  1988-01-08\\n\",\n      \"BP:  1988-01-08  FTSE:  1988-01-11\\n\",\n      \"BP:  1988-01-11  FTSE:  1988-01-12\\n\",\n      \"BP:  1988-01-12  FTSE:  1988-01-13\\n\",\n      \"BP:  1988-01-13  FTSE:  1988-01-14\\n\",\n      \"BP:  1988-01-14  FTSE:  1988-01-15\\n\",\n      \"BP:  1988-01-15  FTSE:  1988-01-18\\n\",\n      \"BP:  1988-01-18  FTSE:  1988-01-19\\n\",\n      \"BP:  1988-01-19  FTSE:  1988-01-20\\n\",\n      \"BP:  1988-01-20  FTSE:  1988-01-21\\n\",\n      \"BP:  1988-01-21  FTSE:  1988-01-22\\n\",\n      \"BP:  1988-01-22  FTSE:  1988-01-25\\n\",\n      \"BP:  1988-01-25  FTSE:  1988-01-26\\n\",\n      \"BP:  1988-01-26  FTSE:  1988-01-27\\n\",\n      \"BP:  1988-01-27  FTSE:  1988-01-28\\n\",\n      \"BP:  1988-01-28  FTSE:  1988-01-29\\n\",\n      \"BP:  1988-01-29  FTSE:  1988-02-01\\n\",\n      \"BP:  1988-02-01  FTSE:  1988-02-02\\n\",\n      \"BP:  1988-02-02  FTSE:  1988-02-03\\n\",\n      \"BP:  1988-02-03  FTSE:  1988-02-04\\n\",\n      \"BP:  1988-02-04  FTSE:  1988-02-05\\n\",\n      \"BP:  1988-02-05  FTSE:  1988-02-08\\n\",\n      \"BP:  1988-02-08  FTSE:  1988-02-09\\n\",\n      \"BP:  1988-02-09  FTSE:  1988-02-10\\n\",\n      \"BP:  1988-02-10  FTSE:  1988-02-11\\n\",\n      \"BP:  1988-02-11  FTSE:  1988-02-12\\n\",\n      \"BP:  1988-02-12  FTSE:  1988-02-15\\n\",\n      \"BP:  1988-04-04  FTSE:  1988-04-05\\n\",\n      \"BP:  1988-04-05  FTSE:  1988-04-06\\n\",\n      \"BP:  1988-04-06  FTSE:  1988-04-07\\n\",\n      \"BP:  1988-04-07  FTSE:  1988-04-08\\n\",\n      \"BP:  1988-04-08  FTSE:  1988-04-11\\n\",\n      \"BP:  1988-04-11  FTSE:  1988-04-12\\n\",\n      \"BP:  1988-04-12  FTSE:  1988-04-13\\n\",\n      \"BP:  1988-04-13  FTSE:  1988-04-14\\n\",\n      \"BP:  1988-04-14  FTSE:  1988-04-15\\n\",\n      \"BP:  1988-04-15  FTSE:  1988-04-18\\n\",\n      \"BP:  1988-04-18  FTSE:  1988-04-19\\n\",\n      \"BP:  1988-04-19  FTSE:  1988-04-20\\n\",\n      \"BP:  1988-04-20  FTSE:  1988-04-21\\n\",\n      \"BP:  1988-04-21  FTSE:  1988-04-22\\n\",\n      \"BP:  1988-04-22  FTSE:  1988-04-25\\n\",\n      \"BP:  1988-04-25  FTSE:  1988-04-26\\n\",\n      \"BP:  1988-04-26  FTSE:  1988-04-27\\n\",\n      \"BP:  1988-04-27  FTSE:  1988-04-28\\n\",\n      \"BP:  1988-04-28  FTSE:  1988-04-29\\n\",\n      \"BP:  1988-04-29  FTSE:  1988-05-03\\n\",\n      \"BP:  1988-05-02  FTSE:  1988-05-04\\n\",\n      \"BP:  1988-05-03  FTSE:  1988-05-05\\n\",\n      \"BP:  1988-05-04  FTSE:  1988-05-06\\n\",\n      \"BP:  1988-05-05  FTSE:  1988-05-09\\n\",\n      \"BP:  1988-05-06  FTSE:  1988-05-10\\n\",\n      \"BP:  1988-05-09  FTSE:  1988-05-11\\n\",\n      \"BP:  1988-05-10  FTSE:  1988-05-12\\n\",\n      \"BP:  1988-05-11  FTSE:  1988-05-13\\n\",\n      \"BP:  1988-05-12  FTSE:  1988-05-16\\n\",\n      \"BP:  1988-05-13  FTSE:  1988-05-17\\n\",\n      \"BP:  1988-05-16  FTSE:  1988-05-18\\n\",\n      \"BP:  1988-05-17  FTSE:  1988-05-19\\n\",\n      \"BP:  1988-05-18  FTSE:  1988-05-20\\n\",\n      \"BP:  1988-05-19  FTSE:  1988-05-23\\n\",\n      \"BP:  1988-05-20  FTSE:  1988-05-24\\n\",\n      \"BP:  1988-05-23  FTSE:  1988-05-25\\n\",\n      \"BP:  1988-05-24  FTSE:  1988-05-26\\n\",\n      \"BP:  1988-05-25  FTSE:  1988-05-27\\n\",\n      \"BP:  1988-05-26  FTSE:  1988-05-31\\n\",\n      \"BP:  1988-05-27  FTSE:  1988-06-01\\n\",\n      \"BP:  1988-05-31  FTSE:  1988-06-02\\n\",\n      \"BP:  1988-06-01  FTSE:  1988-06-03\\n\",\n      \"BP:  1988-06-02  FTSE:  1988-06-06\\n\",\n      \"BP:  1988-06-03  FTSE:  1988-06-07\\n\",\n      \"BP:  1988-06-06  FTSE:  1988-06-08\\n\",\n      \"BP:  1988-06-07  FTSE:  1988-06-09\\n\",\n      \"BP:  1988-06-08  FTSE:  1988-06-10\\n\",\n      \"BP:  1988-06-09  FTSE:  1988-06-13\\n\",\n      \"BP:  1988-06-10  FTSE:  1988-06-14\\n\",\n      \"BP:  1988-06-13  FTSE:  1988-06-15\\n\",\n      \"BP:  1988-06-14  FTSE:  1988-06-16\\n\",\n      \"BP:  1988-06-15  FTSE:  1988-06-17\\n\",\n      \"BP:  1988-06-16  FTSE:  1988-06-20\\n\",\n      \"BP:  1988-06-17  FTSE:  1988-06-21\\n\",\n      \"BP:  1988-06-20  FTSE:  1988-06-22\\n\",\n      \"BP:  1988-06-21  FTSE:  1988-06-23\\n\",\n      \"BP:  1988-06-22  FTSE:  1988-06-24\\n\",\n      \"BP:  1988-06-23  FTSE:  1988-06-27\\n\",\n      \"BP:  1988-06-24  FTSE:  1988-06-28\\n\",\n      \"BP:  1988-06-27  FTSE:  1988-06-29\\n\",\n      \"BP:  1988-06-28  FTSE:  1988-06-30\\n\",\n      \"BP:  1988-06-29  FTSE:  1988-07-01\\n\",\n      \"BP:  1988-06-30  FTSE:  1988-07-04\\n\",\n      \"BP:  1988-07-01  FTSE:  1988-07-05\\n\",\n      \"BP:  1988-07-05  FTSE:  1988-07-06\\n\",\n      \"BP:  1988-07-06  FTSE:  1988-07-07\\n\",\n      \"BP:  1988-07-07  FTSE:  1988-07-08\\n\",\n      \"BP:  1988-07-08  FTSE:  1988-07-11\\n\",\n      \"BP:  1988-07-11  FTSE:  1988-07-12\\n\",\n      \"BP:  1988-07-12  FTSE:  1988-07-13\\n\",\n      \"BP:  1988-07-13  FTSE:  1988-07-14\\n\",\n      \"BP:  1988-07-14  FTSE:  1988-07-15\\n\",\n      \"BP:  1988-07-15  FTSE:  1988-07-18\\n\",\n      \"BP:  1988-07-18  FTSE:  1988-07-19\\n\",\n      \"BP:  1988-07-19  FTSE:  1988-07-20\\n\",\n      \"BP:  1988-07-20  FTSE:  1988-07-21\\n\",\n      \"BP:  1988-07-21  FTSE:  1988-07-22\\n\",\n      \"BP:  1988-07-22  FTSE:  1988-07-25\\n\",\n      \"BP:  1988-07-25  FTSE:  1988-07-26\\n\",\n      \"BP:  1988-07-26  FTSE:  1988-07-27\\n\",\n      \"BP:  1988-07-27  FTSE:  1988-07-28\\n\",\n      \"BP:  1988-07-28  FTSE:  1988-07-29\\n\",\n      \"BP:  1988-07-29  FTSE:  1988-08-01\\n\",\n      \"BP:  1988-08-01  FTSE:  1988-08-02\\n\",\n      \"BP:  1988-08-02  FTSE:  1988-08-03\\n\",\n      \"BP:  1988-08-03  FTSE:  1988-08-04\\n\",\n      \"BP:  1988-08-04  FTSE:  1988-08-05\\n\",\n      \"BP:  1988-08-05  FTSE:  1988-08-08\\n\",\n      \"BP:  1988-08-08  FTSE:  1988-08-09\\n\",\n      \"BP:  1988-08-09  FTSE:  1988-08-10\\n\",\n      \"BP:  1988-08-10  FTSE:  1988-08-11\\n\",\n      \"BP:  1988-08-11  FTSE:  1988-08-12\\n\",\n      \"BP:  1988-08-12  FTSE:  1988-08-15\\n\",\n      \"BP:  1988-08-15  FTSE:  1988-08-16\\n\",\n      \"BP:  1988-08-16  FTSE:  1988-08-17\\n\",\n      \"BP:  1988-08-17  FTSE:  1988-08-18\\n\",\n      \"BP:  1988-08-18  FTSE:  1988-08-19\\n\",\n      \"BP:  1988-08-19  FTSE:  1988-08-22\\n\",\n      \"BP:  1988-08-22  FTSE:  1988-08-23\\n\",\n      \"BP:  1988-08-23  FTSE:  1988-08-24\\n\",\n      \"BP:  1988-08-24  FTSE:  1988-08-25\\n\",\n      \"BP:  1988-08-25  FTSE:  1988-08-26\\n\",\n      \"BP:  1988-08-26  FTSE:  1988-08-30\\n\",\n      \"BP:  1988-08-29  FTSE:  1988-08-31\\n\",\n      \"BP:  1988-08-30  FTSE:  1988-09-01\\n\",\n      \"BP:  1988-08-31  FTSE:  1988-09-02\\n\",\n      \"BP:  1988-09-01  FTSE:  1988-09-05\\n\",\n      \"BP:  1988-09-02  FTSE:  1988-09-06\\n\",\n      \"BP:  1988-09-06  FTSE:  1988-09-07\\n\",\n      \"BP:  1988-09-07  FTSE:  1988-09-08\\n\",\n      \"BP:  1988-09-08  FTSE:  1988-09-09\\n\",\n      \"BP:  1988-09-09  FTSE:  1988-09-12\\n\",\n      \"BP:  1988-09-12  FTSE:  1988-09-13\\n\",\n      \"BP:  1988-09-13  FTSE:  1988-09-14\\n\",\n      \"BP:  1988-09-14  FTSE:  1988-09-15\\n\",\n      \"BP:  1988-09-15  FTSE:  1988-09-16\\n\",\n      \"BP:  1988-09-16  FTSE:  1988-09-19\\n\",\n      \"BP:  1988-09-19  FTSE:  1988-09-20\\n\",\n      \"BP:  1988-09-20  FTSE:  1988-09-21\\n\",\n      \"BP:  1988-09-21  FTSE:  1988-09-22\\n\",\n      \"BP:  1988-09-22  FTSE:  1988-09-23\\n\",\n      \"BP:  1988-09-23  FTSE:  1988-09-26\\n\",\n      \"BP:  1988-09-26  FTSE:  1988-09-27\\n\",\n      \"BP:  1988-09-27  FTSE:  1988-09-28\\n\",\n      \"BP:  1988-09-28  FTSE:  1988-09-29\\n\",\n      \"BP:  1988-09-29  FTSE:  1988-09-30\\n\",\n      \"BP:  1988-09-30  FTSE:  1988-10-03\\n\",\n      \"BP:  1988-10-03  FTSE:  1988-10-04\\n\",\n      \"BP:  1988-10-04  FTSE:  1988-10-05\\n\",\n      \"BP:  1988-10-05  FTSE:  1988-10-06\\n\",\n      \"BP:  1988-10-06  FTSE:  1988-10-07\\n\",\n      \"BP:  1988-10-07  FTSE:  1988-10-10\\n\",\n      \"BP:  1988-10-10  FTSE:  1988-10-11\\n\",\n      \"BP:  1988-10-11  FTSE:  1988-10-12\\n\",\n      \"BP:  1988-10-12  FTSE:  1988-10-13\\n\",\n      \"BP:  1988-10-13  FTSE:  1988-10-14\\n\",\n      \"BP:  1988-10-14  FTSE:  1988-10-17\\n\",\n      \"BP:  1988-10-17  FTSE:  1988-10-18\\n\",\n      \"BP:  1988-10-18  FTSE:  1988-10-19\\n\",\n      \"BP:  1988-10-19  FTSE:  1988-10-20\\n\",\n      \"BP:  1988-10-20  FTSE:  1988-10-21\\n\",\n      \"BP:  1988-10-21  FTSE:  1988-10-24\\n\",\n      \"BP:  1988-10-24  FTSE:  1988-10-25\\n\",\n      \"BP:  1988-10-25  FTSE:  1988-10-26\\n\",\n      \"BP:  1988-10-26  FTSE:  1988-10-27\\n\",\n      \"BP:  1988-10-27  FTSE:  1988-10-28\\n\",\n      \"BP:  1988-10-28  FTSE:  1988-10-31\\n\",\n      \"BP:  1988-10-31  FTSE:  1988-11-01\\n\",\n      \"BP:  1988-11-01  FTSE:  1988-11-02\\n\",\n      \"BP:  1988-11-02  FTSE:  1988-11-03\\n\",\n      \"BP:  1988-11-03  FTSE:  1988-11-04\\n\",\n      \"BP:  1988-11-04  FTSE:  1988-11-07\\n\",\n      \"BP:  1988-11-07  FTSE:  1988-11-08\\n\",\n      \"BP:  1988-11-08  FTSE:  1988-11-09\\n\",\n      \"BP:  1988-11-09  FTSE:  1988-11-10\\n\",\n      \"BP:  1988-11-10  FTSE:  1988-11-11\\n\",\n      \"BP:  1988-11-11  FTSE:  1988-11-14\\n\",\n      \"BP:  1988-11-14  FTSE:  1988-11-15\\n\",\n      \"BP:  1988-11-15  FTSE:  1988-11-16\\n\",\n      \"BP:  1988-11-16  FTSE:  1988-11-17\\n\",\n      \"BP:  1988-11-17  FTSE:  1988-11-18\\n\",\n      \"BP:  1988-11-18  FTSE:  1988-11-21\\n\",\n      \"BP:  1988-11-21  FTSE:  1988-11-22\\n\",\n      \"BP:  1988-11-22  FTSE:  1988-11-23\\n\",\n      \"BP:  1988-11-23  FTSE:  1988-11-24\\n\",\n      \"BP:  1988-12-27  FTSE:  1988-12-28\\n\",\n      \"BP:  1988-12-28  FTSE:  1988-12-29\\n\",\n      \"BP:  1988-12-29  FTSE:  1988-12-30\\n\",\n      \"BP:  1988-12-30  FTSE:  1989-01-03\\n\",\n      \"BP:  1989-01-03  FTSE:  1989-01-04\\n\",\n      \"BP:  1989-01-04  FTSE:  1989-01-05\\n\",\n      \"BP:  1989-01-05  FTSE:  1989-01-06\\n\",\n      \"BP:  1989-01-06  FTSE:  1989-01-09\\n\",\n      \"BP:  1989-01-09  FTSE:  1989-01-10\\n\",\n      \"BP:  1989-01-10  FTSE:  1989-01-11\\n\",\n      \"BP:  1989-01-11  FTSE:  1989-01-12\\n\",\n      \"BP:  1989-01-12  FTSE:  1989-01-13\\n\",\n      \"BP:  1989-01-13  FTSE:  1989-01-16\\n\",\n      \"BP:  1989-01-16  FTSE:  1989-01-17\\n\",\n      \"BP:  1989-01-17  FTSE:  1989-01-18\\n\",\n      \"BP:  1989-01-18  FTSE:  1989-01-19\\n\",\n      \"BP:  1989-01-19  FTSE:  1989-01-20\\n\",\n      \"BP:  1989-01-20  FTSE:  1989-01-23\\n\",\n      \"BP:  1989-01-23  FTSE:  1989-01-24\\n\",\n      \"BP:  1989-01-24  FTSE:  1989-01-25\\n\",\n      \"BP:  1989-01-25  FTSE:  1989-01-26\\n\",\n      \"BP:  1989-01-26  FTSE:  1989-01-27\\n\",\n      \"BP:  1989-01-27  FTSE:  1989-01-30\\n\",\n      \"BP:  1989-01-30  FTSE:  1989-01-31\\n\",\n      \"BP:  1989-01-31  FTSE:  1989-02-01\\n\",\n      \"BP:  1989-02-01  FTSE:  1989-02-02\\n\",\n      \"BP:  1989-02-02  FTSE:  1989-02-03\\n\",\n      \"BP:  1989-02-03  FTSE:  1989-02-06\\n\",\n      \"BP:  1989-02-06  FTSE:  1989-02-07\\n\",\n      \"BP:  1989-02-07  FTSE:  1989-02-08\\n\",\n      \"BP:  1989-02-08  FTSE:  1989-02-09\\n\",\n      \"BP:  1989-02-09  FTSE:  1989-02-10\\n\",\n      \"BP:  1989-02-10  FTSE:  1989-02-13\\n\",\n      \"BP:  1989-02-13  FTSE:  1989-02-14\\n\",\n      \"BP:  1989-02-14  FTSE:  1989-02-15\\n\",\n      \"BP:  1989-02-15  FTSE:  1989-02-16\\n\",\n      \"BP:  1989-02-16  FTSE:  1989-02-17\\n\",\n      \"BP:  1989-02-17  FTSE:  1989-02-20\\n\",\n      \"BP:  1989-03-27  FTSE:  1989-03-28\\n\",\n      \"BP:  1989-03-28  FTSE:  1989-03-29\\n\",\n      \"BP:  1989-03-29  FTSE:  1989-03-30\\n\",\n      \"BP:  1989-03-30  FTSE:  1989-03-31\\n\",\n      \"BP:  1989-03-31  FTSE:  1989-04-03\\n\",\n      \"BP:  1989-04-03  FTSE:  1989-04-04\\n\",\n      \"BP:  1989-04-04  FTSE:  1989-04-05\\n\",\n      \"BP:  1989-04-05  FTSE:  1989-04-06\\n\",\n      \"BP:  1989-04-06  FTSE:  1989-04-07\\n\",\n      \"BP:  1989-04-07  FTSE:  1989-04-10\\n\",\n      \"BP:  1989-04-10  FTSE:  1989-04-11\\n\",\n      \"BP:  1989-04-11  FTSE:  1989-04-12\\n\",\n      \"BP:  1989-04-12  FTSE:  1989-04-13\\n\",\n      \"BP:  1989-04-13  FTSE:  1989-04-14\\n\",\n      \"BP:  1989-04-14  FTSE:  1989-04-17\\n\",\n      \"BP:  1989-04-17  FTSE:  1989-04-18\\n\",\n      \"BP:  1989-04-18  FTSE:  1989-04-19\\n\",\n      \"BP:  1989-04-19  FTSE:  1989-04-20\\n\",\n      \"BP:  1989-04-20  FTSE:  1989-04-21\\n\",\n      \"BP:  1989-04-21  FTSE:  1989-04-24\\n\",\n      \"BP:  1989-04-24  FTSE:  1989-04-25\\n\",\n      \"BP:  1989-04-25  FTSE:  1989-04-26\\n\",\n      \"BP:  1989-04-26  FTSE:  1989-04-27\\n\",\n      \"BP:  1989-04-27  FTSE:  1989-04-28\\n\",\n      \"BP:  1989-04-28  FTSE:  1989-05-02\\n\",\n      \"BP:  1989-05-01  FTSE:  1989-05-03\\n\",\n      \"BP:  1989-05-02  FTSE:  1989-05-04\\n\",\n      \"BP:  1989-05-03  FTSE:  1989-05-05\\n\",\n      \"BP:  1989-05-04  FTSE:  1989-05-08\\n\",\n      \"BP:  1989-05-05  FTSE:  1989-05-09\\n\",\n      \"BP:  1989-05-08  FTSE:  1989-05-10\\n\",\n      \"BP:  1989-05-09  FTSE:  1989-05-11\\n\",\n      \"BP:  1989-05-10  FTSE:  1989-05-12\\n\",\n      \"BP:  1989-05-11  FTSE:  1989-05-15\\n\",\n      \"BP:  1989-05-12  FTSE:  1989-05-16\\n\",\n      \"BP:  1989-05-15  FTSE:  1989-05-17\\n\",\n      \"BP:  1989-05-16  FTSE:  1989-05-18\\n\",\n      \"BP:  1989-05-17  FTSE:  1989-05-19\\n\",\n      \"BP:  1989-05-18  FTSE:  1989-05-22\\n\",\n      \"BP:  1989-05-19  FTSE:  1989-05-23\\n\",\n      \"BP:  1989-05-22  FTSE:  1989-05-24\\n\",\n      \"BP:  1989-05-23  FTSE:  1989-05-25\\n\",\n      \"BP:  1989-05-24  FTSE:  1989-05-26\\n\",\n      \"BP:  1989-05-25  FTSE:  1989-05-30\\n\",\n      \"BP:  1989-05-26  FTSE:  1989-05-31\\n\",\n      \"BP:  1989-05-30  FTSE:  1989-06-01\\n\",\n      \"BP:  1989-05-31  FTSE:  1989-06-02\\n\",\n      \"BP:  1989-06-01  FTSE:  1989-06-05\\n\",\n      \"BP:  1989-06-02  FTSE:  1989-06-06\\n\",\n      \"BP:  1989-06-05  FTSE:  1989-06-07\\n\",\n      \"BP:  1989-06-06  FTSE:  1989-06-08\\n\",\n      \"BP:  1989-06-07  FTSE:  1989-06-09\\n\",\n      \"BP:  1989-06-08  FTSE:  1989-06-12\\n\",\n      \"BP:  1989-06-09  FTSE:  1989-06-13\\n\",\n      \"BP:  1989-06-12  FTSE:  1989-06-14\\n\",\n      \"BP:  1989-06-13  FTSE:  1989-06-15\\n\",\n      \"BP:  1989-06-14  FTSE:  1989-06-16\\n\",\n      \"BP:  1989-06-15  FTSE:  1989-06-19\\n\",\n      \"BP:  1989-06-16  FTSE:  1989-06-20\\n\",\n      \"BP:  1989-06-19  FTSE:  1989-06-21\\n\",\n      \"BP:  1989-06-20  FTSE:  1989-06-22\\n\",\n      \"BP:  1989-06-21  FTSE:  1989-06-23\\n\",\n      \"BP:  1989-06-22  FTSE:  1989-06-26\\n\",\n      \"BP:  1989-06-23  FTSE:  1989-06-27\\n\",\n      \"BP:  1989-06-26  FTSE:  1989-06-28\\n\",\n      \"BP:  1989-06-27  FTSE:  1989-06-29\\n\",\n      \"BP:  1989-06-28  FTSE:  1989-06-30\\n\",\n      \"BP:  1989-06-29  FTSE:  1989-07-03\\n\",\n      \"BP:  1989-06-30  FTSE:  1989-07-04\\n\",\n      \"BP:  1989-07-03  FTSE:  1989-07-05\\n\",\n      \"BP:  1989-07-05  FTSE:  1989-07-06\\n\",\n      \"BP:  1989-07-06  FTSE:  1989-07-07\\n\",\n      \"BP:  1989-07-07  FTSE:  1989-07-10\\n\",\n      \"BP:  1989-07-10  FTSE:  1989-07-11\\n\",\n      \"BP:  1989-07-11  FTSE:  1989-07-12\\n\",\n      \"BP:  1989-07-12  FTSE:  1989-07-13\\n\",\n      \"BP:  1989-07-13  FTSE:  1989-07-14\\n\",\n      \"BP:  1989-07-14  FTSE:  1989-07-17\\n\",\n      \"BP:  1989-07-17  FTSE:  1989-07-18\\n\",\n      \"BP:  1989-07-18  FTSE:  1989-07-19\\n\",\n      \"BP:  1989-07-19  FTSE:  1989-07-20\\n\",\n      \"BP:  1989-07-20  FTSE:  1989-07-21\\n\",\n      \"BP:  1989-07-21  FTSE:  1989-07-24\\n\",\n      \"BP:  1989-07-24  FTSE:  1989-07-25\\n\",\n      \"BP:  1989-07-25  FTSE:  1989-07-26\\n\",\n      \"BP:  1989-07-26  FTSE:  1989-07-27\\n\",\n      \"BP:  1989-07-27  FTSE:  1989-07-28\\n\",\n      \"BP:  1989-07-28  FTSE:  1989-07-31\\n\",\n      \"BP:  1989-07-31  FTSE:  1989-08-01\\n\",\n      \"BP:  1989-08-01  FTSE:  1989-08-02\\n\",\n      \"BP:  1989-08-02  FTSE:  1989-08-03\\n\",\n      \"BP:  1989-08-03  FTSE:  1989-08-04\\n\",\n      \"BP:  1989-08-04  FTSE:  1989-08-07\\n\",\n      \"BP:  1989-08-07  FTSE:  1989-08-08\\n\",\n      \"BP:  1989-08-08  FTSE:  1989-08-09\\n\",\n      \"BP:  1989-08-09  FTSE:  1989-08-10\\n\",\n      \"BP:  1989-08-10  FTSE:  1989-08-11\\n\",\n      \"BP:  1989-08-11  FTSE:  1989-08-14\\n\",\n      \"BP:  1989-08-14  FTSE:  1989-08-15\\n\",\n      \"BP:  1989-08-15  FTSE:  1989-08-16\\n\",\n      \"BP:  1989-08-16  FTSE:  1989-08-17\\n\",\n      \"BP:  1989-08-17  FTSE:  1989-08-18\\n\",\n      \"BP:  1989-08-18  FTSE:  1989-08-21\\n\",\n      \"BP:  1989-08-21  FTSE:  1989-08-22\\n\",\n      \"BP:  1989-08-22  FTSE:  1989-08-23\\n\",\n      \"BP:  1989-08-23  FTSE:  1989-08-24\\n\",\n      \"BP:  1989-08-24  FTSE:  1989-08-25\\n\",\n      \"BP:  1989-08-25  FTSE:  1989-08-29\\n\",\n      \"BP:  1989-08-28  FTSE:  1989-08-30\\n\",\n      \"BP:  1989-08-29  FTSE:  1989-08-31\\n\",\n      \"BP:  1989-08-30  FTSE:  1989-09-01\\n\",\n      \"BP:  1989-08-31  FTSE:  1989-09-04\\n\",\n      \"BP:  1989-09-01  FTSE:  1989-09-05\\n\",\n      \"BP:  1989-09-05  FTSE:  1989-09-06\\n\",\n      \"BP:  1989-09-06  FTSE:  1989-09-07\\n\",\n      \"BP:  1989-09-07  FTSE:  1989-09-08\\n\",\n      \"BP:  1989-09-08  FTSE:  1989-09-11\\n\",\n      \"BP:  1989-09-11  FTSE:  1989-09-12\\n\",\n      \"BP:  1989-09-12  FTSE:  1989-09-13\\n\",\n      \"BP:  1989-09-13  FTSE:  1989-09-14\\n\",\n      \"BP:  1989-09-14  FTSE:  1989-09-15\\n\",\n      \"BP:  1989-09-15  FTSE:  1989-09-18\\n\",\n      \"BP:  1989-09-18  FTSE:  1989-09-19\\n\",\n      \"BP:  1989-09-19  FTSE:  1989-09-20\\n\",\n      \"BP:  1989-09-20  FTSE:  1989-09-21\\n\",\n      \"BP:  1989-09-21  FTSE:  1989-09-22\\n\",\n      \"BP:  1989-09-22  FTSE:  1989-09-25\\n\",\n      \"BP:  1989-09-25  FTSE:  1989-09-26\\n\",\n      \"BP:  1989-09-26  FTSE:  1989-09-27\\n\",\n      \"BP:  1989-09-27  FTSE:  1989-09-28\\n\",\n      \"BP:  1989-09-28  FTSE:  1989-09-29\\n\",\n      \"BP:  1989-09-29  FTSE:  1989-10-02\\n\",\n      \"BP:  1989-10-02  FTSE:  1989-10-03\\n\",\n      \"BP:  1989-10-03  FTSE:  1989-10-04\\n\",\n      \"BP:  1989-10-04  FTSE:  1989-10-05\\n\",\n      \"BP:  1989-10-05  FTSE:  1989-10-06\\n\",\n      \"BP:  1989-10-06  FTSE:  1989-10-09\\n\",\n      \"BP:  1989-10-09  FTSE:  1989-10-10\\n\",\n      \"BP:  1989-10-10  FTSE:  1989-10-11\\n\",\n      \"BP:  1989-10-11  FTSE:  1989-10-12\\n\",\n      \"BP:  1989-10-12  FTSE:  1989-10-13\\n\",\n      \"BP:  1989-10-13  FTSE:  1989-10-16\\n\",\n      \"BP:  1989-10-16  FTSE:  1989-10-17\\n\",\n      \"BP:  1989-10-17  FTSE:  1989-10-18\\n\",\n      \"BP:  1989-10-18  FTSE:  1989-10-19\\n\",\n      \"BP:  1989-10-19  FTSE:  1989-10-20\\n\",\n      \"BP:  1989-10-20  FTSE:  1989-10-23\\n\",\n      \"BP:  1989-10-23  FTSE:  1989-10-24\\n\",\n      \"BP:  1989-10-24  FTSE:  1989-10-25\\n\",\n      \"BP:  1989-10-25  FTSE:  1989-10-26\\n\",\n      \"BP:  1989-10-26  FTSE:  1989-10-27\\n\",\n      \"BP:  1989-10-27  FTSE:  1989-10-30\\n\",\n      \"BP:  1989-10-30  FTSE:  1989-10-31\\n\",\n      \"BP:  1989-10-31  FTSE:  1989-11-01\\n\",\n      \"BP:  1989-11-01  FTSE:  1989-11-02\\n\",\n      \"BP:  1989-11-02  FTSE:  1989-11-03\\n\",\n      \"BP:  1989-11-03  FTSE:  1989-11-06\\n\",\n      \"BP:  1989-11-06  FTSE:  1989-11-07\\n\",\n      \"BP:  1989-11-07  FTSE:  1989-11-08\\n\",\n      \"BP:  1989-11-08  FTSE:  1989-11-09\\n\",\n      \"BP:  1989-11-09  FTSE:  1989-11-10\\n\",\n      \"BP:  1989-11-10  FTSE:  1989-11-13\\n\",\n      \"BP:  1989-11-13  FTSE:  1989-11-14\\n\",\n      \"BP:  1989-11-14  FTSE:  1989-11-15\\n\",\n      \"BP:  1989-11-15  FTSE:  1989-11-16\\n\",\n      \"BP:  1989-11-16  FTSE:  1989-11-17\\n\",\n      \"BP:  1989-11-17  FTSE:  1989-11-20\\n\",\n      \"BP:  1989-11-20  FTSE:  1989-11-21\\n\",\n      \"BP:  1989-11-21  FTSE:  1989-11-22\\n\",\n      \"BP:  1989-11-22  FTSE:  1989-11-23\\n\",\n      \"BP:  1989-12-26  FTSE:  1989-12-27\\n\",\n      \"BP:  1989-12-27  FTSE:  1989-12-28\\n\",\n      \"BP:  1989-12-28  FTSE:  1989-12-29\\n\",\n      \"BP:  1989-12-29  FTSE:  1990-01-02\\n\",\n      \"BP:  1990-01-02  FTSE:  1990-01-03\\n\",\n      \"BP:  1990-01-03  FTSE:  1990-01-04\\n\",\n      \"BP:  1990-01-04  FTSE:  1990-01-05\\n\",\n      \"BP:  1990-01-05  FTSE:  1990-01-08\\n\",\n      \"BP:  1990-01-08  FTSE:  1990-01-09\\n\",\n      \"BP:  1990-01-09  FTSE:  1990-01-10\\n\",\n      \"BP:  1990-01-10  FTSE:  1990-01-11\\n\",\n      \"BP:  1990-01-11  FTSE:  1990-01-12\\n\",\n      \"BP:  1990-01-12  FTSE:  1990-01-15\\n\",\n      \"BP:  1990-01-15  FTSE:  1990-01-16\\n\",\n      \"BP:  1990-01-16  FTSE:  1990-01-17\\n\",\n      \"BP:  1990-01-17  FTSE:  1990-01-18\\n\",\n      \"BP:  1990-01-18  FTSE:  1990-01-19\\n\",\n      \"BP:  1990-01-19  FTSE:  1990-01-22\\n\",\n      \"BP:  1990-01-22  FTSE:  1990-01-23\\n\",\n      \"BP:  1990-01-23  FTSE:  1990-01-24\\n\",\n      \"BP:  1990-01-24  FTSE:  1990-01-25\\n\",\n      \"BP:  1990-01-25  FTSE:  1990-01-26\\n\",\n      \"BP:  1990-01-26  FTSE:  1990-01-29\\n\",\n      \"BP:  1990-01-29  FTSE:  1990-01-30\\n\",\n      \"BP:  1990-01-30  FTSE:  1990-01-31\\n\",\n      \"BP:  1990-01-31  FTSE:  1990-02-01\\n\",\n      \"BP:  1990-02-01  FTSE:  1990-02-02\\n\",\n      \"BP:  1990-02-02  FTSE:  1990-02-05\\n\",\n      \"BP:  1990-02-05  FTSE:  1990-02-06\\n\",\n      \"BP:  1990-02-06  FTSE:  1990-02-07\\n\",\n      \"BP:  1990-02-07  FTSE:  1990-02-08\\n\",\n      \"BP:  1990-02-08  FTSE:  1990-02-09\\n\",\n      \"BP:  1990-02-09  FTSE:  1990-02-12\\n\",\n      \"BP:  1990-02-12  FTSE:  1990-02-13\\n\",\n      \"BP:  1990-02-13  FTSE:  1990-02-14\\n\",\n      \"BP:  1990-02-14  FTSE:  1990-02-15\\n\",\n      \"BP:  1990-02-15  FTSE:  1990-02-16\\n\",\n      \"BP:  1990-02-16  FTSE:  1990-02-19\\n\",\n      \"BP:  1990-04-16  FTSE:  1990-04-17\\n\",\n      \"BP:  1990-04-17  FTSE:  1990-04-18\\n\",\n      \"BP:  1990-04-18  FTSE:  1990-04-19\\n\",\n      \"BP:  1990-04-19  FTSE:  1990-04-20\\n\",\n      \"BP:  1990-04-20  FTSE:  1990-04-23\\n\",\n      \"BP:  1990-04-23  FTSE:  1990-04-24\\n\",\n      \"BP:  1990-04-24  FTSE:  1990-04-25\\n\",\n      \"BP:  1990-04-25  FTSE:  1990-04-26\\n\",\n      \"BP:  1990-04-26  FTSE:  1990-04-27\\n\",\n      \"BP:  1990-04-27  FTSE:  1990-04-30\\n\",\n      \"BP:  1990-04-30  FTSE:  1990-05-01\\n\",\n      \"BP:  1990-05-01  FTSE:  1990-05-02\\n\",\n      \"BP:  1990-05-02  FTSE:  1990-05-03\\n\",\n      \"BP:  1990-05-03  FTSE:  1990-05-04\\n\",\n      \"BP:  1990-05-04  FTSE:  1990-05-08\\n\",\n      \"BP:  1990-05-07  FTSE:  1990-05-09\\n\",\n      \"BP:  1990-05-08  FTSE:  1990-05-10\\n\",\n      \"BP:  1990-05-09  FTSE:  1990-05-11\\n\",\n      \"BP:  1990-05-10  FTSE:  1990-05-14\\n\",\n      \"BP:  1990-05-11  FTSE:  1990-05-15\\n\",\n      \"BP:  1990-05-14  FTSE:  1990-05-16\\n\",\n      \"BP:  1990-05-15  FTSE:  1990-05-17\\n\",\n      \"BP:  1990-05-16  FTSE:  1990-05-18\\n\",\n      \"BP:  1990-05-17  FTSE:  1990-05-21\\n\",\n      \"BP:  1990-05-18  FTSE:  1990-05-22\\n\",\n      \"BP:  1990-05-21  FTSE:  1990-05-23\\n\",\n      \"BP:  1990-05-22  FTSE:  1990-05-24\\n\",\n      \"BP:  1990-05-23  FTSE:  1990-05-25\\n\",\n      \"BP:  1990-05-24  FTSE:  1990-05-29\\n\",\n      \"BP:  1990-05-25  FTSE:  1990-05-30\\n\",\n      \"BP:  1990-05-29  FTSE:  1990-05-31\\n\",\n      \"BP:  1990-05-30  FTSE:  1990-06-01\\n\",\n      \"BP:  1990-05-31  FTSE:  1990-06-04\\n\",\n      \"BP:  1990-06-01  FTSE:  1990-06-05\\n\",\n      \"BP:  1990-06-04  FTSE:  1990-06-06\\n\",\n      \"BP:  1990-06-05  FTSE:  1990-06-07\\n\",\n      \"BP:  1990-06-06  FTSE:  1990-06-08\\n\",\n      \"BP:  1990-06-07  FTSE:  1990-06-11\\n\",\n      \"BP:  1990-06-08  FTSE:  1990-06-12\\n\",\n      \"BP:  1990-06-11  FTSE:  1990-06-13\\n\",\n      \"BP:  1990-06-12  FTSE:  1990-06-14\\n\",\n      \"BP:  1990-06-13  FTSE:  1990-06-15\\n\",\n      \"BP:  1990-06-14  FTSE:  1990-06-18\\n\",\n      \"BP:  1990-06-15  FTSE:  1990-06-19\\n\",\n      \"BP:  1990-06-18  FTSE:  1990-06-20\\n\",\n      \"BP:  1990-06-19  FTSE:  1990-06-21\\n\",\n      \"BP:  1990-06-20  FTSE:  1990-06-22\\n\",\n      \"BP:  1990-06-21  FTSE:  1990-06-25\\n\",\n      \"BP:  1990-06-22  FTSE:  1990-06-26\\n\",\n      \"BP:  1990-06-25  FTSE:  1990-06-27\\n\",\n      \"BP:  1990-06-26  FTSE:  1990-06-28\\n\",\n      \"BP:  1990-06-27  FTSE:  1990-06-29\\n\",\n      \"BP:  1990-06-28  FTSE:  1990-07-02\\n\",\n      \"BP:  1990-06-29  FTSE:  1990-07-03\\n\",\n      \"BP:  1990-07-02  FTSE:  1990-07-04\\n\",\n      \"BP:  1990-07-03  FTSE:  1990-07-05\\n\",\n      \"BP:  1990-07-05  FTSE:  1990-07-06\\n\",\n      \"BP:  1990-07-06  FTSE:  1990-07-09\\n\",\n      \"BP:  1990-07-09  FTSE:  1990-07-10\\n\",\n      \"BP:  1990-07-10  FTSE:  1990-07-11\\n\",\n      \"BP:  1990-07-11  FTSE:  1990-07-12\\n\",\n      \"BP:  1990-07-12  FTSE:  1990-07-13\\n\",\n      \"BP:  1990-07-13  FTSE:  1990-07-16\\n\",\n      \"BP:  1990-07-16  FTSE:  1990-07-17\\n\",\n      \"BP:  1990-07-17  FTSE:  1990-07-18\\n\",\n      \"BP:  1990-07-18  FTSE:  1990-07-19\\n\",\n      \"BP:  1990-07-19  FTSE:  1990-07-20\\n\",\n      \"BP:  1990-07-20  FTSE:  1990-07-23\\n\",\n      \"BP:  1990-07-23  FTSE:  1990-07-24\\n\",\n      \"BP:  1990-07-24  FTSE:  1990-07-25\\n\",\n      \"BP:  1990-07-25  FTSE:  1990-07-26\\n\",\n      \"BP:  1990-07-26  FTSE:  1990-07-27\\n\",\n      \"BP:  1990-07-27  FTSE:  1990-07-30\\n\",\n      \"BP:  1990-07-30  FTSE:  1990-07-31\\n\",\n      \"BP:  1990-07-31  FTSE:  1990-08-01\\n\",\n      \"BP:  1990-08-01  FTSE:  1990-08-02\\n\",\n      \"BP:  1990-08-02  FTSE:  1990-08-03\\n\",\n      \"BP:  1990-08-03  FTSE:  1990-08-06\\n\",\n      \"BP:  1990-08-06  FTSE:  1990-08-07\\n\",\n      \"BP:  1990-08-07  FTSE:  1990-08-08\\n\",\n      \"BP:  1990-08-08  FTSE:  1990-08-09\\n\",\n      \"BP:  1990-08-09  FTSE:  1990-08-10\\n\",\n      \"BP:  1990-08-10  FTSE:  1990-08-13\\n\",\n      \"BP:  1990-08-13  FTSE:  1990-08-14\\n\",\n      \"BP:  1990-08-14  FTSE:  1990-08-15\\n\",\n      \"BP:  1990-08-15  FTSE:  1990-08-16\\n\",\n      \"BP:  1990-08-16  FTSE:  1990-08-17\\n\",\n      \"BP:  1990-08-17  FTSE:  1990-08-20\\n\",\n      \"BP:  1990-08-20  FTSE:  1990-08-21\\n\",\n      \"BP:  1990-08-21  FTSE:  1990-08-22\\n\",\n      \"BP:  1990-08-22  FTSE:  1990-08-23\\n\",\n      \"BP:  1990-08-23  FTSE:  1990-08-24\\n\",\n      \"BP:  1990-08-24  FTSE:  1990-08-28\\n\",\n      \"BP:  1990-08-27  FTSE:  1990-08-29\\n\",\n      \"BP:  1990-08-28  FTSE:  1990-08-30\\n\",\n      \"BP:  1990-08-29  FTSE:  1990-08-31\\n\",\n      \"BP:  1990-08-30  FTSE:  1990-09-03\\n\",\n      \"BP:  1990-08-31  FTSE:  1990-09-04\\n\",\n      \"BP:  1990-09-04  FTSE:  1990-09-05\\n\",\n      \"BP:  1990-09-05  FTSE:  1990-09-06\\n\",\n      \"BP:  1990-09-06  FTSE:  1990-09-07\\n\",\n      \"BP:  1990-09-07  FTSE:  1990-09-10\\n\",\n      \"BP:  1990-09-10  FTSE:  1990-09-11\\n\",\n      \"BP:  1990-09-11  FTSE:  1990-09-12\\n\",\n      \"BP:  1990-09-12  FTSE:  1990-09-13\\n\",\n      \"BP:  1990-09-13  FTSE:  1990-09-14\\n\",\n      \"BP:  1990-09-14  FTSE:  1990-09-17\\n\",\n      \"BP:  1990-09-17  FTSE:  1990-09-18\\n\",\n      \"BP:  1990-09-18  FTSE:  1990-09-19\\n\",\n      \"BP:  1990-09-19  FTSE:  1990-09-20\\n\",\n      \"BP:  1990-09-20  FTSE:  1990-09-21\\n\",\n      \"BP:  1990-09-21  FTSE:  1990-09-24\\n\",\n      \"BP:  1990-09-24  FTSE:  1990-09-25\\n\",\n      \"BP:  1990-09-25  FTSE:  1990-09-26\\n\",\n      \"BP:  1990-09-26  FTSE:  1990-09-27\\n\",\n      \"BP:  1990-09-27  FTSE:  1990-09-28\\n\",\n      \"BP:  1990-09-28  FTSE:  1990-10-01\\n\",\n      \"BP:  1990-10-01  FTSE:  1990-10-02\\n\",\n      \"BP:  1990-10-02  FTSE:  1990-10-03\\n\",\n      \"BP:  1990-10-03  FTSE:  1990-10-04\\n\",\n      \"BP:  1990-10-04  FTSE:  1990-10-05\\n\",\n      \"BP:  1990-10-05  FTSE:  1990-10-08\\n\",\n      \"BP:  1990-10-08  FTSE:  1990-10-09\\n\",\n      \"BP:  1990-10-09  FTSE:  1990-10-10\\n\",\n      \"BP:  1990-10-10  FTSE:  1990-10-11\\n\",\n      \"BP:  1990-10-11  FTSE:  1990-10-12\\n\",\n      \"BP:  1990-10-12  FTSE:  1990-10-15\\n\",\n      \"BP:  1990-10-15  FTSE:  1990-10-16\\n\",\n      \"BP:  1990-10-16  FTSE:  1990-10-17\\n\",\n      \"BP:  1990-10-17  FTSE:  1990-10-18\\n\",\n      \"BP:  1990-10-18  FTSE:  1990-10-19\\n\",\n      \"BP:  1990-10-19  FTSE:  1990-10-22\\n\",\n      \"BP:  1990-10-22  FTSE:  1990-10-23\\n\",\n      \"BP:  1990-10-23  FTSE:  1990-10-24\\n\",\n      \"BP:  1990-10-24  FTSE:  1990-10-25\\n\",\n      \"BP:  1990-10-25  FTSE:  1990-10-26\\n\",\n      \"BP:  1990-10-26  FTSE:  1990-10-29\\n\",\n      \"BP:  1990-10-29  FTSE:  1990-10-30\\n\",\n      \"BP:  1990-10-30  FTSE:  1990-10-31\\n\",\n      \"BP:  1990-10-31  FTSE:  1990-11-01\\n\",\n      \"BP:  1990-11-01  FTSE:  1990-11-02\\n\",\n      \"BP:  1990-11-02  FTSE:  1990-11-05\\n\",\n      \"BP:  1990-11-05  FTSE:  1990-11-06\\n\",\n      \"BP:  1990-11-06  FTSE:  1990-11-07\\n\",\n      \"BP:  1990-11-07  FTSE:  1990-11-08\\n\",\n      \"BP:  1990-11-08  FTSE:  1990-11-09\\n\",\n      \"BP:  1990-11-09  FTSE:  1990-11-12\\n\",\n      \"BP:  1990-11-12  FTSE:  1990-11-13\\n\",\n      \"BP:  1990-11-13  FTSE:  1990-11-14\\n\",\n      \"BP:  1990-11-14  FTSE:  1990-11-15\\n\",\n      \"BP:  1990-11-15  FTSE:  1990-11-16\\n\",\n      \"BP:  1990-11-16  FTSE:  1990-11-19\\n\",\n      \"BP:  1990-11-19  FTSE:  1990-11-20\\n\",\n      \"BP:  1990-11-20  FTSE:  1990-11-21\\n\",\n      \"BP:  1990-11-21  FTSE:  1990-11-22\\n\",\n      \"BP:  1990-12-26  FTSE:  1990-12-27\\n\",\n      \"BP:  1990-12-27  FTSE:  1990-12-28\\n\",\n      \"BP:  1990-12-28  FTSE:  1990-12-31\\n\",\n      \"BP:  1990-12-31  FTSE:  1991-01-02\\n\",\n      \"BP:  1991-01-02  FTSE:  1991-01-03\\n\",\n      \"BP:  1991-01-03  FTSE:  1991-01-04\\n\",\n      \"BP:  1991-01-04  FTSE:  1991-01-07\\n\",\n      \"BP:  1991-01-07  FTSE:  1991-01-08\\n\",\n      \"BP:  1991-01-08  FTSE:  1991-01-09\\n\",\n      \"BP:  1991-01-09  FTSE:  1991-01-10\\n\",\n      \"BP:  1991-01-10  FTSE:  1991-01-11\\n\",\n      \"BP:  1991-01-11  FTSE:  1991-01-14\\n\",\n      \"BP:  1991-01-14  FTSE:  1991-01-15\\n\",\n      \"BP:  1991-01-15  FTSE:  1991-01-16\\n\",\n      \"BP:  1991-01-16  FTSE:  1991-01-17\\n\",\n      \"BP:  1991-01-17  FTSE:  1991-01-18\\n\",\n      \"BP:  1991-01-18  FTSE:  1991-01-21\\n\",\n      \"BP:  1991-01-21  FTSE:  1991-01-22\\n\",\n      \"BP:  1991-01-22  FTSE:  1991-01-23\\n\",\n      \"BP:  1991-01-23  FTSE:  1991-01-24\\n\",\n      \"BP:  1991-01-24  FTSE:  1991-01-25\\n\",\n      \"BP:  1991-01-25  FTSE:  1991-01-28\\n\",\n      \"BP:  1991-01-28  FTSE:  1991-01-29\\n\",\n      \"BP:  1991-01-29  FTSE:  1991-01-30\\n\",\n      \"BP:  1991-01-30  FTSE:  1991-01-31\\n\",\n      \"BP:  1991-01-31  FTSE:  1991-02-01\\n\",\n      \"BP:  1991-02-01  FTSE:  1991-02-04\\n\",\n      \"BP:  1991-02-04  FTSE:  1991-02-05\\n\",\n      \"BP:  1991-02-05  FTSE:  1991-02-06\\n\",\n      \"BP:  1991-02-06  FTSE:  1991-02-07\\n\",\n      \"BP:  1991-02-07  FTSE:  1991-02-08\\n\",\n      \"BP:  1991-02-08  FTSE:  1991-02-11\\n\",\n      \"BP:  1991-02-11  FTSE:  1991-02-12\\n\",\n      \"BP:  1991-02-12  FTSE:  1991-02-13\\n\",\n      \"BP:  1991-02-13  FTSE:  1991-02-14\\n\",\n      \"BP:  1991-02-14  FTSE:  1991-02-15\\n\",\n      \"BP:  1991-02-15  FTSE:  1991-02-18\\n\",\n      \"BP:  1991-04-01  FTSE:  1991-04-02\\n\",\n      \"BP:  1991-04-02  FTSE:  1991-04-03\\n\",\n      \"BP:  1991-04-03  FTSE:  1991-04-04\\n\",\n      \"BP:  1991-04-04  FTSE:  1991-04-05\\n\",\n      \"BP:  1991-04-05  FTSE:  1991-04-08\\n\",\n      \"BP:  1991-04-08  FTSE:  1991-04-09\\n\",\n      \"BP:  1991-04-09  FTSE:  1991-04-10\\n\",\n      \"BP:  1991-04-10  FTSE:  1991-04-11\\n\",\n      \"BP:  1991-04-11  FTSE:  1991-04-12\\n\",\n      \"BP:  1991-04-12  FTSE:  1991-04-15\\n\",\n      \"BP:  1991-04-15  FTSE:  1991-04-16\\n\",\n      \"BP:  1991-04-16  FTSE:  1991-04-17\\n\",\n      \"BP:  1991-04-17  FTSE:  1991-04-18\\n\",\n      \"BP:  1991-04-18  FTSE:  1991-04-19\\n\",\n      \"BP:  1991-04-19  FTSE:  1991-04-22\\n\",\n      \"BP:  1991-04-22  FTSE:  1991-04-23\\n\",\n      \"BP:  1991-04-23  FTSE:  1991-04-24\\n\",\n      \"BP:  1991-04-24  FTSE:  1991-04-25\\n\",\n      \"BP:  1991-04-25  FTSE:  1991-04-26\\n\",\n      \"BP:  1991-04-26  FTSE:  1991-04-29\\n\",\n      \"BP:  1991-04-29  FTSE:  1991-04-30\\n\",\n      \"BP:  1991-04-30  FTSE:  1991-05-01\\n\",\n      \"BP:  1991-05-01  FTSE:  1991-05-02\\n\",\n      \"BP:  1991-05-02  FTSE:  1991-05-03\\n\",\n      \"BP:  1991-05-03  FTSE:  1991-05-07\\n\",\n      \"BP:  1991-05-06  FTSE:  1991-05-08\\n\",\n      \"BP:  1991-05-07  FTSE:  1991-05-09\\n\",\n      \"BP:  1991-05-08  FTSE:  1991-05-10\\n\",\n      \"BP:  1991-05-09  FTSE:  1991-05-13\\n\",\n      \"BP:  1991-05-10  FTSE:  1991-05-14\\n\",\n      \"BP:  1991-05-13  FTSE:  1991-05-15\\n\",\n      \"BP:  1991-05-14  FTSE:  1991-05-16\\n\",\n      \"BP:  1991-05-15  FTSE:  1991-05-17\\n\",\n      \"BP:  1991-05-16  FTSE:  1991-05-20\\n\",\n      \"BP:  1991-05-17  FTSE:  1991-05-21\\n\",\n      \"BP:  1991-05-20  FTSE:  1991-05-22\\n\",\n      \"BP:  1991-05-21  FTSE:  1991-05-23\\n\",\n      \"BP:  1991-05-22  FTSE:  1991-05-24\\n\",\n      \"BP:  1991-05-23  FTSE:  1991-05-28\\n\",\n      \"BP:  1991-05-24  FTSE:  1991-05-29\\n\",\n      \"BP:  1991-05-28  FTSE:  1991-05-30\\n\",\n      \"BP:  1991-05-29  FTSE:  1991-05-31\\n\",\n      \"BP:  1991-05-30  FTSE:  1991-06-03\\n\",\n      \"BP:  1991-05-31  FTSE:  1991-06-04\\n\",\n      \"BP:  1991-06-03  FTSE:  1991-06-05\\n\",\n      \"BP:  1991-06-04  FTSE:  1991-06-06\\n\",\n      \"BP:  1991-06-05  FTSE:  1991-06-07\\n\",\n      \"BP:  1991-06-06  FTSE:  1991-06-10\\n\",\n      \"BP:  1991-06-07  FTSE:  1991-06-11\\n\",\n      \"BP:  1991-06-10  FTSE:  1991-06-12\\n\",\n      \"BP:  1991-06-11  FTSE:  1991-06-13\\n\",\n      \"BP:  1991-06-12  FTSE:  1991-06-14\\n\",\n      \"BP:  1991-06-13  FTSE:  1991-06-17\\n\",\n      \"BP:  1991-06-14  FTSE:  1991-06-18\\n\",\n      \"BP:  1991-06-17  FTSE:  1991-06-19\\n\",\n      \"BP:  1991-06-18  FTSE:  1991-06-20\\n\",\n      \"BP:  1991-06-19  FTSE:  1991-06-21\\n\",\n      \"BP:  1991-06-20  FTSE:  1991-06-24\\n\",\n      \"BP:  1991-06-21  FTSE:  1991-06-25\\n\",\n      \"BP:  1991-06-24  FTSE:  1991-06-26\\n\",\n      \"BP:  1991-06-25  FTSE:  1991-06-27\\n\",\n      \"BP:  1991-06-26  FTSE:  1991-06-28\\n\",\n      \"BP:  1991-06-27  FTSE:  1991-07-01\\n\",\n      \"BP:  1991-06-28  FTSE:  1991-07-02\\n\",\n      \"BP:  1991-07-01  FTSE:  1991-07-03\\n\",\n      \"BP:  1991-07-02  FTSE:  1991-07-04\\n\",\n      \"BP:  1991-07-03  FTSE:  1991-07-05\\n\",\n      \"BP:  1991-07-05  FTSE:  1991-07-08\\n\",\n      \"BP:  1991-07-08  FTSE:  1991-07-09\\n\",\n      \"BP:  1991-07-09  FTSE:  1991-07-10\\n\",\n      \"BP:  1991-07-10  FTSE:  1991-07-11\\n\",\n      \"BP:  1991-07-11  FTSE:  1991-07-12\\n\",\n      \"BP:  1991-07-12  FTSE:  1991-07-15\\n\",\n      \"BP:  1991-07-15  FTSE:  1991-07-16\\n\",\n      \"BP:  1991-07-16  FTSE:  1991-07-17\\n\",\n      \"BP:  1991-07-17  FTSE:  1991-07-18\\n\",\n      \"BP:  1991-07-18  FTSE:  1991-07-19\\n\",\n      \"BP:  1991-07-19  FTSE:  1991-07-22\\n\",\n      \"BP:  1991-07-22  FTSE:  1991-07-23\\n\",\n      \"BP:  1991-07-23  FTSE:  1991-07-24\\n\",\n      \"BP:  1991-07-24  FTSE:  1991-07-25\\n\",\n      \"BP:  1991-07-25  FTSE:  1991-07-26\\n\",\n      \"BP:  1991-07-26  FTSE:  1991-07-29\\n\",\n      \"BP:  1991-07-29  FTSE:  1991-07-30\\n\",\n      \"BP:  1991-07-30  FTSE:  1991-07-31\\n\",\n      \"BP:  1991-07-31  FTSE:  1991-08-01\\n\",\n      \"BP:  1991-08-01  FTSE:  1991-08-02\\n\",\n      \"BP:  1991-08-02  FTSE:  1991-08-05\\n\",\n      \"BP:  1991-08-05  FTSE:  1991-08-06\\n\",\n      \"BP:  1991-08-06  FTSE:  1991-08-07\\n\",\n      \"BP:  1991-08-07  FTSE:  1991-08-08\\n\",\n      \"BP:  1991-08-08  FTSE:  1991-08-09\\n\",\n      \"BP:  1991-08-09  FTSE:  1991-08-12\\n\",\n      \"BP:  1991-08-12  FTSE:  1991-08-13\\n\",\n      \"BP:  1991-08-13  FTSE:  1991-08-14\\n\",\n      \"BP:  1991-08-14  FTSE:  1991-08-15\\n\",\n      \"BP:  1991-08-15  FTSE:  1991-08-16\\n\",\n      \"BP:  1991-08-16  FTSE:  1991-08-19\\n\",\n      \"BP:  1991-08-19  FTSE:  1991-08-20\\n\",\n      \"BP:  1991-08-20  FTSE:  1991-08-21\\n\",\n      \"BP:  1991-08-21  FTSE:  1991-08-22\\n\",\n      \"BP:  1991-08-22  FTSE:  1991-08-23\\n\",\n      \"BP:  1991-08-23  FTSE:  1991-08-27\\n\",\n      \"BP:  1991-08-26  FTSE:  1991-08-28\\n\",\n      \"BP:  1991-08-27  FTSE:  1991-08-29\\n\",\n      \"BP:  1991-08-28  FTSE:  1991-08-30\\n\",\n      \"BP:  1991-08-29  FTSE:  1991-09-02\\n\",\n      \"BP:  1991-08-30  FTSE:  1991-09-03\\n\",\n      \"BP:  1991-09-03  FTSE:  1991-09-04\\n\",\n      \"BP:  1991-09-04  FTSE:  1991-09-05\\n\",\n      \"BP:  1991-09-05  FTSE:  1991-09-06\\n\",\n      \"BP:  1991-09-06  FTSE:  1991-09-09\\n\",\n      \"BP:  1991-09-09  FTSE:  1991-09-10\\n\",\n      \"BP:  1991-09-10  FTSE:  1991-09-11\\n\",\n      \"BP:  1991-09-11  FTSE:  1991-09-12\\n\",\n      \"BP:  1991-09-12  FTSE:  1991-09-13\\n\",\n      \"BP:  1991-09-13  FTSE:  1991-09-16\\n\",\n      \"BP:  1991-09-16  FTSE:  1991-09-17\\n\",\n      \"BP:  1991-09-17  FTSE:  1991-09-18\\n\",\n      \"BP:  1991-09-18  FTSE:  1991-09-19\\n\",\n      \"BP:  1991-09-19  FTSE:  1991-09-20\\n\",\n      \"BP:  1991-09-20  FTSE:  1991-09-23\\n\",\n      \"BP:  1991-09-23  FTSE:  1991-09-24\\n\",\n      \"BP:  1991-09-24  FTSE:  1991-09-25\\n\",\n      \"BP:  1991-09-25  FTSE:  1991-09-26\\n\",\n      \"BP:  1991-09-26  FTSE:  1991-09-27\\n\",\n      \"BP:  1991-09-27  FTSE:  1991-09-30\\n\",\n      \"BP:  1991-09-30  FTSE:  1991-10-01\\n\",\n      \"BP:  1991-10-01  FTSE:  1991-10-02\\n\",\n      \"BP:  1991-10-02  FTSE:  1991-10-03\\n\",\n      \"BP:  1991-10-03  FTSE:  1991-10-04\\n\",\n      \"BP:  1991-10-04  FTSE:  1991-10-07\\n\",\n      \"BP:  1991-10-07  FTSE:  1991-10-08\\n\",\n      \"BP:  1991-10-08  FTSE:  1991-10-09\\n\",\n      \"BP:  1991-10-09  FTSE:  1991-10-10\\n\",\n      \"BP:  1991-10-10  FTSE:  1991-10-11\\n\",\n      \"BP:  1991-10-11  FTSE:  1991-10-14\\n\",\n      \"BP:  1991-10-14  FTSE:  1991-10-15\\n\",\n      \"BP:  1991-10-15  FTSE:  1991-10-16\\n\",\n      \"BP:  1991-10-16  FTSE:  1991-10-17\\n\",\n      \"BP:  1991-10-17  FTSE:  1991-10-18\\n\",\n      \"BP:  1991-10-18  FTSE:  1991-10-21\\n\",\n      \"BP:  1991-10-21  FTSE:  1991-10-22\\n\",\n      \"BP:  1991-10-22  FTSE:  1991-10-23\\n\",\n      \"BP:  1991-10-23  FTSE:  1991-10-24\\n\",\n      \"BP:  1991-10-24  FTSE:  1991-10-25\\n\",\n      \"BP:  1991-10-25  FTSE:  1991-10-28\\n\",\n      \"BP:  1991-10-28  FTSE:  1991-10-29\\n\",\n      \"BP:  1991-10-29  FTSE:  1991-10-30\\n\",\n      \"BP:  1991-10-30  FTSE:  1991-10-31\\n\",\n      \"BP:  1991-10-31  FTSE:  1991-11-01\\n\",\n      \"BP:  1991-11-01  FTSE:  1991-11-04\\n\",\n      \"BP:  1991-11-04  FTSE:  1991-11-05\\n\",\n      \"BP:  1991-11-05  FTSE:  1991-11-06\\n\",\n      \"BP:  1991-11-06  FTSE:  1991-11-07\\n\",\n      \"BP:  1991-11-07  FTSE:  1991-11-08\\n\",\n      \"BP:  1991-11-08  FTSE:  1991-11-11\\n\",\n      \"BP:  1991-11-11  FTSE:  1991-11-12\\n\",\n      \"BP:  1991-11-12  FTSE:  1991-11-13\\n\",\n      \"BP:  1991-11-13  FTSE:  1991-11-14\\n\",\n      \"BP:  1991-11-14  FTSE:  1991-11-15\\n\",\n      \"BP:  1991-11-15  FTSE:  1991-11-18\\n\",\n      \"BP:  1991-11-18  FTSE:  1991-11-19\\n\",\n      \"BP:  1991-11-19  FTSE:  1991-11-20\\n\",\n      \"BP:  1991-11-20  FTSE:  1991-11-21\\n\",\n      \"BP:  1991-11-21  FTSE:  1991-11-22\\n\",\n      \"BP:  1991-11-22  FTSE:  1991-11-25\\n\",\n      \"BP:  1991-11-25  FTSE:  1991-11-26\\n\",\n      \"BP:  1991-11-26  FTSE:  1991-11-27\\n\",\n      \"BP:  1991-11-27  FTSE:  1991-11-28\\n\",\n      \"BP:  1991-12-26  FTSE:  1991-12-27\\n\",\n      \"BP:  1991-12-27  FTSE:  1991-12-30\\n\",\n      \"BP:  1991-12-30  FTSE:  1991-12-31\\n\",\n      \"BP:  1991-12-31  FTSE:  1992-01-02\\n\",\n      \"BP:  1992-01-02  FTSE:  1992-01-03\\n\",\n      \"BP:  1992-01-03  FTSE:  1992-01-06\\n\",\n      \"BP:  1992-01-06  FTSE:  1992-01-07\\n\",\n      \"BP:  1992-01-07  FTSE:  1992-01-08\\n\",\n      \"BP:  1992-01-08  FTSE:  1992-01-09\\n\",\n      \"BP:  1992-01-09  FTSE:  1992-01-10\\n\",\n      \"BP:  1992-01-10  FTSE:  1992-01-13\\n\",\n      \"BP:  1992-01-13  FTSE:  1992-01-14\\n\",\n      \"BP:  1992-01-14  FTSE:  1992-01-15\\n\",\n      \"BP:  1992-01-15  FTSE:  1992-01-16\\n\",\n      \"BP:  1992-01-16  FTSE:  1992-01-17\\n\",\n      \"BP:  1992-01-17  FTSE:  1992-01-20\\n\",\n      \"BP:  1992-01-20  FTSE:  1992-01-21\\n\",\n      \"BP:  1992-01-21  FTSE:  1992-01-22\\n\",\n      \"BP:  1992-01-22  FTSE:  1992-01-23\\n\",\n      \"BP:  1992-01-23  FTSE:  1992-01-24\\n\",\n      \"BP:  1992-01-24  FTSE:  1992-01-27\\n\",\n      \"BP:  1992-01-27  FTSE:  1992-01-28\\n\",\n      \"BP:  1992-01-28  FTSE:  1992-01-29\\n\",\n      \"BP:  1992-01-29  FTSE:  1992-01-30\\n\",\n      \"BP:  1992-01-30  FTSE:  1992-01-31\\n\",\n      \"BP:  1992-01-31  FTSE:  1992-02-03\\n\",\n      \"BP:  1992-02-03  FTSE:  1992-02-04\\n\",\n      \"BP:  1992-02-04  FTSE:  1992-02-05\\n\",\n      \"BP:  1992-02-05  FTSE:  1992-02-06\\n\",\n      \"BP:  1992-02-06  FTSE:  1992-02-07\\n\",\n      \"BP:  1992-02-07  FTSE:  1992-02-10\\n\",\n      \"BP:  1992-02-10  FTSE:  1992-02-11\\n\",\n      \"BP:  1992-02-11  FTSE:  1992-02-12\\n\",\n      \"BP:  1992-02-12  FTSE:  1992-02-13\\n\",\n      \"BP:  1992-02-13  FTSE:  1992-02-14\\n\",\n      \"BP:  1992-02-14  FTSE:  1992-02-17\\n\",\n      \"BP:  1992-04-20  FTSE:  1992-04-21\\n\",\n      \"BP:  1992-04-21  FTSE:  1992-04-22\\n\",\n      \"BP:  1992-04-22  FTSE:  1992-04-23\\n\",\n      \"BP:  1992-04-23  FTSE:  1992-04-24\\n\",\n      \"BP:  1992-04-24  FTSE:  1992-04-27\\n\",\n      \"BP:  1992-04-27  FTSE:  1992-04-28\\n\",\n      \"BP:  1992-04-28  FTSE:  1992-04-29\\n\",\n      \"BP:  1992-04-29  FTSE:  1992-04-30\\n\",\n      \"BP:  1992-04-30  FTSE:  1992-05-01\\n\",\n      \"BP:  1992-05-01  FTSE:  1992-05-05\\n\",\n      \"BP:  1992-05-04  FTSE:  1992-05-06\\n\",\n      \"BP:  1992-05-05  FTSE:  1992-05-07\\n\",\n      \"BP:  1992-05-06  FTSE:  1992-05-08\\n\",\n      \"BP:  1992-05-07  FTSE:  1992-05-11\\n\",\n      \"BP:  1992-05-08  FTSE:  1992-05-12\\n\",\n      \"BP:  1992-05-11  FTSE:  1992-05-13\\n\",\n      \"BP:  1992-05-12  FTSE:  1992-05-14\\n\",\n      \"BP:  1992-05-13  FTSE:  1992-05-15\\n\",\n      \"BP:  1992-05-14  FTSE:  1992-05-18\\n\",\n      \"BP:  1992-05-15  FTSE:  1992-05-19\\n\",\n      \"BP:  1992-05-18  FTSE:  1992-05-20\\n\",\n      \"BP:  1992-05-19  FTSE:  1992-05-21\\n\",\n      \"BP:  1992-05-20  FTSE:  1992-05-22\\n\",\n      \"BP:  1992-05-21  FTSE:  1992-05-26\\n\",\n      \"BP:  1992-05-22  FTSE:  1992-05-27\\n\",\n      \"BP:  1992-05-26  FTSE:  1992-05-28\\n\",\n      \"BP:  1992-05-27  FTSE:  1992-05-29\\n\",\n      \"BP:  1992-05-28  FTSE:  1992-06-01\\n\",\n      \"BP:  1992-05-29  FTSE:  1992-06-02\\n\",\n      \"BP:  1992-06-01  FTSE:  1992-06-03\\n\",\n      \"BP:  1992-06-02  FTSE:  1992-06-04\\n\",\n      \"BP:  1992-06-03  FTSE:  1992-06-05\\n\",\n      \"BP:  1992-06-04  FTSE:  1992-06-08\\n\",\n      \"BP:  1992-06-05  FTSE:  1992-06-09\\n\",\n      \"BP:  1992-06-08  FTSE:  1992-06-10\\n\",\n      \"BP:  1992-06-09  FTSE:  1992-06-11\\n\",\n      \"BP:  1992-06-10  FTSE:  1992-06-12\\n\",\n      \"BP:  1992-06-11  FTSE:  1992-06-15\\n\",\n      \"BP:  1992-06-12  FTSE:  1992-06-16\\n\",\n      \"BP:  1992-06-15  FTSE:  1992-06-17\\n\",\n      \"BP:  1992-06-16  FTSE:  1992-06-18\\n\",\n      \"BP:  1992-06-17  FTSE:  1992-06-19\\n\",\n      \"BP:  1992-06-18  FTSE:  1992-06-22\\n\",\n      \"BP:  1992-06-19  FTSE:  1992-06-23\\n\",\n      \"BP:  1992-06-22  FTSE:  1992-06-24\\n\",\n      \"BP:  1992-06-23  FTSE:  1992-06-25\\n\",\n      \"BP:  1992-06-24  FTSE:  1992-06-26\\n\",\n      \"BP:  1992-06-25  FTSE:  1992-06-29\\n\",\n      \"BP:  1992-06-26  FTSE:  1992-06-30\\n\",\n      \"BP:  1992-06-29  FTSE:  1992-07-01\\n\",\n      \"BP:  1992-06-30  FTSE:  1992-07-02\\n\",\n      \"BP:  1992-07-01  FTSE:  1992-07-03\\n\",\n      \"BP:  1992-07-02  FTSE:  1992-07-06\\n\",\n      \"BP:  1992-07-06  FTSE:  1992-07-07\\n\",\n      \"BP:  1992-07-07  FTSE:  1992-07-08\\n\",\n      \"BP:  1992-07-08  FTSE:  1992-07-09\\n\",\n      \"BP:  1992-07-09  FTSE:  1992-07-10\\n\",\n      \"BP:  1992-07-10  FTSE:  1992-07-13\\n\",\n      \"BP:  1992-07-13  FTSE:  1992-07-14\\n\",\n      \"BP:  1992-07-14  FTSE:  1992-07-15\\n\",\n      \"BP:  1992-07-15  FTSE:  1992-07-16\\n\",\n      \"BP:  1992-07-16  FTSE:  1992-07-17\\n\",\n      \"BP:  1992-07-17  FTSE:  1992-07-20\\n\",\n      \"BP:  1992-07-20  FTSE:  1992-07-21\\n\",\n      \"BP:  1992-07-21  FTSE:  1992-07-22\\n\",\n      \"BP:  1992-07-22  FTSE:  1992-07-23\\n\",\n      \"BP:  1992-07-23  FTSE:  1992-07-24\\n\",\n      \"BP:  1992-07-24  FTSE:  1992-07-27\\n\",\n      \"BP:  1992-07-27  FTSE:  1992-07-28\\n\",\n      \"BP:  1992-07-28  FTSE:  1992-07-29\\n\",\n      \"BP:  1992-07-29  FTSE:  1992-07-30\\n\",\n      \"BP:  1992-07-30  FTSE:  1992-07-31\\n\",\n      \"BP:  1992-07-31  FTSE:  1992-08-03\\n\",\n      \"BP:  1992-08-03  FTSE:  1992-08-04\\n\",\n      \"BP:  1992-08-04  FTSE:  1992-08-05\\n\",\n      \"BP:  1992-08-05  FTSE:  1992-08-06\\n\",\n      \"BP:  1992-08-06  FTSE:  1992-08-07\\n\",\n      \"BP:  1992-08-07  FTSE:  1992-08-10\\n\",\n      \"BP:  1992-08-10  FTSE:  1992-08-11\\n\",\n      \"BP:  1992-08-11  FTSE:  1992-08-12\\n\",\n      \"BP:  1992-08-12  FTSE:  1992-08-13\\n\",\n      \"BP:  1992-08-13  FTSE:  1992-08-14\\n\",\n      \"BP:  1992-08-14  FTSE:  1992-08-17\\n\",\n      \"BP:  1992-08-17  FTSE:  1992-08-18\\n\",\n      \"BP:  1992-08-18  FTSE:  1992-08-19\\n\",\n      \"BP:  1992-08-19  FTSE:  1992-08-20\\n\",\n      \"BP:  1992-08-20  FTSE:  1992-08-21\\n\",\n      \"BP:  1992-08-21  FTSE:  1992-08-24\\n\",\n      \"BP:  1992-08-24  FTSE:  1992-08-25\\n\",\n      \"BP:  1992-08-25  FTSE:  1992-08-26\\n\",\n      \"BP:  1992-08-26  FTSE:  1992-08-27\\n\",\n      \"BP:  1992-08-27  FTSE:  1992-08-28\\n\",\n      \"BP:  1992-08-28  FTSE:  1992-09-01\\n\",\n      \"BP:  1992-08-31  FTSE:  1992-09-02\\n\",\n      \"BP:  1992-09-01  FTSE:  1992-09-03\\n\",\n      \"BP:  1992-09-02  FTSE:  1992-09-04\\n\",\n      \"BP:  1992-09-03  FTSE:  1992-09-07\\n\",\n      \"BP:  1992-09-04  FTSE:  1992-09-08\\n\",\n      \"BP:  1992-09-08  FTSE:  1992-09-09\\n\",\n      \"BP:  1992-09-09  FTSE:  1992-09-10\\n\",\n      \"BP:  1992-09-10  FTSE:  1992-09-11\\n\",\n      \"BP:  1992-09-11  FTSE:  1992-09-14\\n\",\n      \"BP:  1992-09-14  FTSE:  1992-09-15\\n\",\n      \"BP:  1992-09-15  FTSE:  1992-09-16\\n\",\n      \"BP:  1992-09-16  FTSE:  1992-09-17\\n\",\n      \"BP:  1992-09-17  FTSE:  1992-09-18\\n\",\n      \"BP:  1992-09-18  FTSE:  1992-09-21\\n\",\n      \"BP:  1992-09-21  FTSE:  1992-09-22\\n\",\n      \"BP:  1992-09-22  FTSE:  1992-09-23\\n\",\n      \"BP:  1992-09-23  FTSE:  1992-09-24\\n\",\n      \"BP:  1992-09-24  FTSE:  1992-09-25\\n\",\n      \"BP:  1992-09-25  FTSE:  1992-09-28\\n\",\n      \"BP:  1992-09-28  FTSE:  1992-09-29\\n\",\n      \"BP:  1992-09-29  FTSE:  1992-09-30\\n\",\n      \"BP:  1992-09-30  FTSE:  1992-10-01\\n\",\n      \"BP:  1992-10-01  FTSE:  1992-10-02\\n\",\n      \"BP:  1992-10-02  FTSE:  1992-10-05\\n\",\n      \"BP:  1992-10-05  FTSE:  1992-10-06\\n\",\n      \"BP:  1992-10-06  FTSE:  1992-10-07\\n\",\n      \"BP:  1992-10-07  FTSE:  1992-10-08\\n\",\n      \"BP:  1992-10-08  FTSE:  1992-10-09\\n\",\n      \"BP:  1992-10-09  FTSE:  1992-10-12\\n\",\n      \"BP:  1992-10-12  FTSE:  1992-10-13\\n\",\n      \"BP:  1992-10-13  FTSE:  1992-10-14\\n\",\n      \"BP:  1992-10-14  FTSE:  1992-10-15\\n\",\n      \"BP:  1992-10-15  FTSE:  1992-10-16\\n\",\n      \"BP:  1992-10-16  FTSE:  1992-10-19\\n\",\n      \"BP:  1992-10-19  FTSE:  1992-10-20\\n\",\n      \"BP:  1992-10-20  FTSE:  1992-10-21\\n\",\n      \"BP:  1992-10-21  FTSE:  1992-10-22\\n\",\n      \"BP:  1992-10-22  FTSE:  1992-10-23\\n\",\n      \"BP:  1992-10-23  FTSE:  1992-10-26\\n\",\n      \"BP:  1992-10-26  FTSE:  1992-10-27\\n\",\n      \"BP:  1992-10-27  FTSE:  1992-10-28\\n\",\n      \"BP:  1992-10-28  FTSE:  1992-10-29\\n\",\n      \"BP:  1992-10-29  FTSE:  1992-10-30\\n\",\n      \"BP:  1992-10-30  FTSE:  1992-11-02\\n\",\n      \"BP:  1992-11-02  FTSE:  1992-11-03\\n\",\n      \"BP:  1992-11-03  FTSE:  1992-11-04\\n\",\n      \"BP:  1992-11-04  FTSE:  1992-11-05\\n\",\n      \"BP:  1992-11-05  FTSE:  1992-11-06\\n\",\n      \"BP:  1992-11-06  FTSE:  1992-11-09\\n\",\n      \"BP:  1992-11-09  FTSE:  1992-11-10\\n\",\n      \"BP:  1992-11-10  FTSE:  1992-11-11\\n\",\n      \"BP:  1992-11-11  FTSE:  1992-11-12\\n\",\n      \"BP:  1992-11-12  FTSE:  1992-11-13\\n\",\n      \"BP:  1992-11-13  FTSE:  1992-11-16\\n\",\n      \"BP:  1992-11-16  FTSE:  1992-11-17\\n\",\n      \"BP:  1992-11-17  FTSE:  1992-11-18\\n\",\n      \"BP:  1992-11-18  FTSE:  1992-11-19\\n\",\n      \"BP:  1992-11-19  FTSE:  1992-11-20\\n\",\n      \"BP:  1992-11-20  FTSE:  1992-11-23\\n\",\n      \"BP:  1992-11-23  FTSE:  1992-11-24\\n\",\n      \"BP:  1992-11-24  FTSE:  1992-11-25\\n\",\n      \"BP:  1992-11-25  FTSE:  1992-11-26\\n\",\n      \"BP:  1992-12-28  FTSE:  1992-12-29\\n\",\n      \"BP:  1992-12-29  FTSE:  1992-12-30\\n\",\n      \"BP:  1992-12-30  FTSE:  1992-12-31\\n\",\n      \"BP:  1992-12-31  FTSE:  1993-01-04\\n\",\n      \"BP:  1993-01-04  FTSE:  1993-01-05\\n\",\n      \"BP:  1993-01-05  FTSE:  1993-01-06\\n\",\n      \"BP:  1993-01-06  FTSE:  1993-01-07\\n\",\n      \"BP:  1993-01-07  FTSE:  1993-01-08\\n\",\n      \"BP:  1993-01-08  FTSE:  1993-01-11\\n\",\n      \"BP:  1993-01-11  FTSE:  1993-01-12\\n\",\n      \"BP:  1993-01-12  FTSE:  1993-01-13\\n\",\n      \"BP:  1993-01-13  FTSE:  1993-01-14\\n\",\n      \"BP:  1993-01-14  FTSE:  1993-01-15\\n\",\n      \"BP:  1993-01-15  FTSE:  1993-01-18\\n\",\n      \"BP:  1993-01-18  FTSE:  1993-01-19\\n\",\n      \"BP:  1993-01-19  FTSE:  1993-01-20\\n\",\n      \"BP:  1993-01-20  FTSE:  1993-01-21\\n\",\n      \"BP:  1993-01-21  FTSE:  1993-01-22\\n\",\n      \"BP:  1993-01-22  FTSE:  1993-01-25\\n\",\n      \"BP:  1993-01-25  FTSE:  1993-01-26\\n\",\n      \"BP:  1993-01-26  FTSE:  1993-01-27\\n\",\n      \"BP:  1993-01-27  FTSE:  1993-01-28\\n\",\n      \"BP:  1993-01-28  FTSE:  1993-01-29\\n\",\n      \"BP:  1993-01-29  FTSE:  1993-02-01\\n\",\n      \"BP:  1993-02-01  FTSE:  1993-02-02\\n\",\n      \"BP:  1993-02-02  FTSE:  1993-02-03\\n\",\n      \"BP:  1993-02-03  FTSE:  1993-02-04\\n\",\n      \"BP:  1993-02-04  FTSE:  1993-02-05\\n\",\n      \"BP:  1993-02-05  FTSE:  1993-02-08\\n\",\n      \"BP:  1993-02-08  FTSE:  1993-02-09\\n\",\n      \"BP:  1993-02-09  FTSE:  1993-02-10\\n\",\n      \"BP:  1993-02-10  FTSE:  1993-02-11\\n\",\n      \"BP:  1993-02-11  FTSE:  1993-02-12\\n\",\n      \"BP:  1993-02-12  FTSE:  1993-02-15\\n\",\n      \"BP:  1993-04-12  FTSE:  1993-04-13\\n\",\n      \"BP:  1993-04-13  FTSE:  1993-04-14\\n\",\n      \"BP:  1993-04-14  FTSE:  1993-04-15\\n\",\n      \"BP:  1993-04-15  FTSE:  1993-04-16\\n\",\n      \"BP:  1993-04-16  FTSE:  1993-04-19\\n\",\n      \"BP:  1993-04-19  FTSE:  1993-04-20\\n\",\n      \"BP:  1993-04-20  FTSE:  1993-04-21\\n\",\n      \"BP:  1993-04-21  FTSE:  1993-04-22\\n\",\n      \"BP:  1993-04-22  FTSE:  1993-04-23\\n\",\n      \"BP:  1993-04-23  FTSE:  1993-04-26\\n\",\n      \"BP:  1993-04-26  FTSE:  1993-04-27\\n\",\n      \"BP:  1993-04-27  FTSE:  1993-04-28\\n\",\n      \"BP:  1993-04-28  FTSE:  1993-04-29\\n\",\n      \"BP:  1993-04-29  FTSE:  1993-04-30\\n\",\n      \"BP:  1993-04-30  FTSE:  1993-05-04\\n\",\n      \"BP:  1993-05-03  FTSE:  1993-05-05\\n\",\n      \"BP:  1993-05-04  FTSE:  1993-05-06\\n\",\n      \"BP:  1993-05-05  FTSE:  1993-05-07\\n\",\n      \"BP:  1993-05-06  FTSE:  1993-05-10\\n\",\n      \"BP:  1993-05-07  FTSE:  1993-05-11\\n\",\n      \"BP:  1993-05-10  FTSE:  1993-05-12\\n\",\n      \"BP:  1993-05-11  FTSE:  1993-05-13\\n\",\n      \"BP:  1993-05-12  FTSE:  1993-05-14\\n\",\n      \"BP:  1993-05-13  FTSE:  1993-05-17\\n\",\n      \"BP:  1993-05-14  FTSE:  1993-05-18\\n\",\n      \"BP:  1993-05-17  FTSE:  1993-05-19\\n\",\n      \"BP:  1993-05-18  FTSE:  1993-05-20\\n\",\n      \"BP:  1993-05-19  FTSE:  1993-05-21\\n\",\n      \"BP:  1993-05-20  FTSE:  1993-05-24\\n\",\n      \"BP:  1993-05-21  FTSE:  1993-05-25\\n\",\n      \"BP:  1993-05-24  FTSE:  1993-05-26\\n\",\n      \"BP:  1993-05-25  FTSE:  1993-05-27\\n\",\n      \"BP:  1993-05-26  FTSE:  1993-05-28\\n\",\n      \"BP:  1993-05-27  FTSE:  1993-06-01\\n\",\n      \"BP:  1993-05-28  FTSE:  1993-06-02\\n\",\n      \"BP:  1993-06-01  FTSE:  1993-06-03\\n\",\n      \"BP:  1993-06-02  FTSE:  1993-06-04\\n\",\n      \"BP:  1993-06-03  FTSE:  1993-06-07\\n\",\n      \"BP:  1993-06-04  FTSE:  1993-06-08\\n\",\n      \"BP:  1993-06-07  FTSE:  1993-06-09\\n\",\n      \"BP:  1993-06-08  FTSE:  1993-06-10\\n\",\n      \"BP:  1993-06-09  FTSE:  1993-06-11\\n\",\n      \"BP:  1993-06-10  FTSE:  1993-06-14\\n\",\n      \"BP:  1993-06-11  FTSE:  1993-06-15\\n\",\n      \"BP:  1993-06-14  FTSE:  1993-06-16\\n\",\n      \"BP:  1993-06-15  FTSE:  1993-06-17\\n\",\n      \"BP:  1993-06-16  FTSE:  1993-06-18\\n\",\n      \"BP:  1993-06-17  FTSE:  1993-06-21\\n\",\n      \"BP:  1993-06-18  FTSE:  1993-06-22\\n\",\n      \"BP:  1993-06-21  FTSE:  1993-06-23\\n\",\n      \"BP:  1993-06-22  FTSE:  1993-06-24\\n\",\n      \"BP:  1993-06-23  FTSE:  1993-06-25\\n\",\n      \"BP:  1993-06-24  FTSE:  1993-06-28\\n\",\n      \"BP:  1993-06-25  FTSE:  1993-06-29\\n\",\n      \"BP:  1993-06-28  FTSE:  1993-06-30\\n\",\n      \"BP:  1993-06-29  FTSE:  1993-07-01\\n\",\n      \"BP:  1993-06-30  FTSE:  1993-07-02\\n\",\n      \"BP:  1993-07-01  FTSE:  1993-07-05\\n\",\n      \"BP:  1993-07-02  FTSE:  1993-07-06\\n\",\n      \"BP:  1993-07-06  FTSE:  1993-07-07\\n\",\n      \"BP:  1993-07-07  FTSE:  1993-07-08\\n\",\n      \"BP:  1993-07-08  FTSE:  1993-07-09\\n\",\n      \"BP:  1993-07-09  FTSE:  1993-07-12\\n\",\n      \"BP:  1993-07-12  FTSE:  1993-07-13\\n\",\n      \"BP:  1993-07-13  FTSE:  1993-07-14\\n\",\n      \"BP:  1993-07-14  FTSE:  1993-07-15\\n\",\n      \"BP:  1993-07-15  FTSE:  1993-07-16\\n\",\n      \"BP:  1993-07-16  FTSE:  1993-07-19\\n\",\n      \"BP:  1993-07-19  FTSE:  1993-07-20\\n\",\n      \"BP:  1993-07-20  FTSE:  1993-07-21\\n\",\n      \"BP:  1993-07-21  FTSE:  1993-07-22\\n\",\n      \"BP:  1993-07-22  FTSE:  1993-07-23\\n\",\n      \"BP:  1993-07-23  FTSE:  1993-07-26\\n\",\n      \"BP:  1993-07-26  FTSE:  1993-07-27\\n\",\n      \"BP:  1993-07-27  FTSE:  1993-07-28\\n\",\n      \"BP:  1993-07-28  FTSE:  1993-07-29\\n\",\n      \"BP:  1993-07-29  FTSE:  1993-07-30\\n\",\n      \"BP:  1993-07-30  FTSE:  1993-08-02\\n\",\n      \"BP:  1993-08-02  FTSE:  1993-08-03\\n\",\n      \"BP:  1993-08-03  FTSE:  1993-08-04\\n\",\n      \"BP:  1993-08-04  FTSE:  1993-08-05\\n\",\n      \"BP:  1993-08-05  FTSE:  1993-08-06\\n\",\n      \"BP:  1993-08-06  FTSE:  1993-08-09\\n\",\n      \"BP:  1993-08-09  FTSE:  1993-08-10\\n\",\n      \"BP:  1993-08-10  FTSE:  1993-08-11\\n\",\n      \"BP:  1993-08-11  FTSE:  1993-08-12\\n\",\n      \"BP:  1993-08-12  FTSE:  1993-08-13\\n\",\n      \"BP:  1993-08-13  FTSE:  1993-08-16\\n\",\n      \"BP:  1993-08-16  FTSE:  1993-08-17\\n\",\n      \"BP:  1993-08-17  FTSE:  1993-08-18\\n\",\n      \"BP:  1993-08-18  FTSE:  1993-08-19\\n\",\n      \"BP:  1993-08-19  FTSE:  1993-08-20\\n\",\n      \"BP:  1993-08-20  FTSE:  1993-08-23\\n\",\n      \"BP:  1993-08-23  FTSE:  1993-08-24\\n\",\n      \"BP:  1993-08-24  FTSE:  1993-08-25\\n\",\n      \"BP:  1993-08-25  FTSE:  1993-08-26\\n\",\n      \"BP:  1993-08-26  FTSE:  1993-08-27\\n\",\n      \"BP:  1993-08-27  FTSE:  1993-08-31\\n\",\n      \"BP:  1993-08-30  FTSE:  1993-09-01\\n\",\n      \"BP:  1993-08-31  FTSE:  1993-09-02\\n\",\n      \"BP:  1993-09-01  FTSE:  1993-09-03\\n\",\n      \"BP:  1993-09-02  FTSE:  1993-09-06\\n\",\n      \"BP:  1993-09-03  FTSE:  1993-09-07\\n\",\n      \"BP:  1993-09-07  FTSE:  1993-09-08\\n\",\n      \"BP:  1993-09-08  FTSE:  1993-09-09\\n\",\n      \"BP:  1993-09-09  FTSE:  1993-09-10\\n\",\n      \"BP:  1993-09-10  FTSE:  1993-09-13\\n\",\n      \"BP:  1993-09-13  FTSE:  1993-09-14\\n\",\n      \"BP:  1993-09-14  FTSE:  1993-09-15\\n\",\n      \"BP:  1993-09-15  FTSE:  1993-09-16\\n\",\n      \"BP:  1993-09-16  FTSE:  1993-09-17\\n\",\n      \"BP:  1993-09-17  FTSE:  1993-09-20\\n\",\n      \"BP:  1993-09-20  FTSE:  1993-09-21\\n\",\n      \"BP:  1993-09-21  FTSE:  1993-09-22\\n\",\n      \"BP:  1993-09-22  FTSE:  1993-09-23\\n\",\n      \"BP:  1993-09-23  FTSE:  1993-09-24\\n\",\n      \"BP:  1993-09-24  FTSE:  1993-09-27\\n\",\n      \"BP:  1993-09-27  FTSE:  1993-09-28\\n\",\n      \"BP:  1993-09-28  FTSE:  1993-09-29\\n\",\n      \"BP:  1993-09-29  FTSE:  1993-09-30\\n\",\n      \"BP:  1993-09-30  FTSE:  1993-10-01\\n\",\n      \"BP:  1993-10-01  FTSE:  1993-10-04\\n\",\n      \"BP:  1993-10-04  FTSE:  1993-10-05\\n\",\n      \"BP:  1993-10-05  FTSE:  1993-10-06\\n\",\n      \"BP:  1993-10-06  FTSE:  1993-10-07\\n\",\n      \"BP:  1993-10-07  FTSE:  1993-10-08\\n\",\n      \"BP:  1993-10-08  FTSE:  1993-10-11\\n\",\n      \"BP:  1993-10-11  FTSE:  1993-10-12\\n\",\n      \"BP:  1993-10-12  FTSE:  1993-10-13\\n\",\n      \"BP:  1993-10-13  FTSE:  1993-10-14\\n\",\n      \"BP:  1993-10-14  FTSE:  1993-10-15\\n\",\n      \"BP:  1993-10-15  FTSE:  1993-10-18\\n\",\n      \"BP:  1993-10-18  FTSE:  1993-10-19\\n\",\n      \"BP:  1993-10-19  FTSE:  1993-10-20\\n\",\n      \"BP:  1993-10-20  FTSE:  1993-10-21\\n\",\n      \"BP:  1993-10-21  FTSE:  1993-10-22\\n\",\n      \"BP:  1993-10-22  FTSE:  1993-10-25\\n\",\n      \"BP:  1993-10-25  FTSE:  1993-10-26\\n\",\n      \"BP:  1993-10-26  FTSE:  1993-10-27\\n\",\n      \"BP:  1993-10-27  FTSE:  1993-10-28\\n\",\n      \"BP:  1993-10-28  FTSE:  1993-10-29\\n\",\n      \"BP:  1993-10-29  FTSE:  1993-11-01\\n\",\n      \"BP:  1993-11-01  FTSE:  1993-11-02\\n\",\n      \"BP:  1993-11-02  FTSE:  1993-11-03\\n\",\n      \"BP:  1993-11-03  FTSE:  1993-11-04\\n\",\n      \"BP:  1993-11-04  FTSE:  1993-11-05\\n\",\n      \"BP:  1993-11-05  FTSE:  1993-11-08\\n\",\n      \"BP:  1993-11-08  FTSE:  1993-11-09\\n\",\n      \"BP:  1993-11-09  FTSE:  1993-11-10\\n\",\n      \"BP:  1993-11-10  FTSE:  1993-11-11\\n\",\n      \"BP:  1993-11-11  FTSE:  1993-11-12\\n\",\n      \"BP:  1993-11-12  FTSE:  1993-11-15\\n\",\n      \"BP:  1993-11-15  FTSE:  1993-11-16\\n\",\n      \"BP:  1993-11-16  FTSE:  1993-11-17\\n\",\n      \"BP:  1993-11-17  FTSE:  1993-11-18\\n\",\n      \"BP:  1993-11-18  FTSE:  1993-11-19\\n\",\n      \"BP:  1993-11-19  FTSE:  1993-11-22\\n\",\n      \"BP:  1993-11-22  FTSE:  1993-11-23\\n\",\n      \"BP:  1993-11-23  FTSE:  1993-11-24\\n\",\n      \"BP:  1993-11-24  FTSE:  1993-11-25\\n\",\n      \"BP:  1993-12-27  FTSE:  1993-12-24\\n\",\n      \"BP:  1993-12-28  FTSE:  1993-12-29\\n\",\n      \"BP:  1993-12-29  FTSE:  1993-12-30\\n\",\n      \"BP:  1993-12-30  FTSE:  1993-12-31\\n\",\n      \"BP:  1993-12-31  FTSE:  1994-01-04\\n\",\n      \"BP:  1994-01-03  FTSE:  1994-01-05\\n\",\n      \"BP:  1994-01-04  FTSE:  1994-01-06\\n\",\n      \"BP:  1994-01-05  FTSE:  1994-01-07\\n\",\n      \"BP:  1994-01-06  FTSE:  1994-01-10\\n\",\n      \"BP:  1994-01-07  FTSE:  1994-01-11\\n\",\n      \"BP:  1994-01-10  FTSE:  1994-01-12\\n\",\n      \"BP:  1994-01-11  FTSE:  1994-01-13\\n\",\n      \"BP:  1994-01-12  FTSE:  1994-01-14\\n\",\n      \"BP:  1994-01-13  FTSE:  1994-01-17\\n\",\n      \"BP:  1994-01-14  FTSE:  1994-01-18\\n\",\n      \"BP:  1994-01-17  FTSE:  1994-01-19\\n\",\n      \"BP:  1994-01-18  FTSE:  1994-01-20\\n\",\n      \"BP:  1994-01-19  FTSE:  1994-01-21\\n\",\n      \"BP:  1994-01-20  FTSE:  1994-01-24\\n\",\n      \"BP:  1994-01-21  FTSE:  1994-01-25\\n\",\n      \"BP:  1994-01-24  FTSE:  1994-01-26\\n\",\n      \"BP:  1994-01-25  FTSE:  1994-01-27\\n\",\n      \"BP:  1994-01-26  FTSE:  1994-01-28\\n\",\n      \"BP:  1994-01-27  FTSE:  1994-01-31\\n\",\n      \"BP:  1994-01-28  FTSE:  1994-02-01\\n\",\n      \"BP:  1994-01-31  FTSE:  1994-02-02\\n\",\n      \"BP:  1994-02-01  FTSE:  1994-02-03\\n\",\n      \"BP:  1994-02-02  FTSE:  1994-02-04\\n\",\n      \"BP:  1994-02-03  FTSE:  1994-02-07\\n\",\n      \"BP:  1994-02-04  FTSE:  1994-02-08\\n\",\n      \"BP:  1994-02-07  FTSE:  1994-02-09\\n\",\n      \"BP:  1994-02-08  FTSE:  1994-02-10\\n\",\n      \"BP:  1994-02-09  FTSE:  1994-02-11\\n\",\n      \"BP:  1994-02-10  FTSE:  1994-02-14\\n\",\n      \"BP:  1994-02-11  FTSE:  1994-02-15\\n\",\n      \"BP:  1994-02-14  FTSE:  1994-02-16\\n\",\n      \"BP:  1994-02-15  FTSE:  1994-02-17\\n\",\n      \"BP:  1994-02-16  FTSE:  1994-02-18\\n\",\n      \"BP:  1994-02-17  FTSE:  1994-02-21\\n\",\n      \"BP:  1994-02-18  FTSE:  1994-02-22\\n\",\n      \"BP:  1994-02-22  FTSE:  1994-02-23\\n\",\n      \"BP:  1994-02-23  FTSE:  1994-02-24\\n\",\n      \"BP:  1994-02-24  FTSE:  1994-02-25\\n\",\n      \"BP:  1994-02-25  FTSE:  1994-02-28\\n\",\n      \"BP:  1994-02-28  FTSE:  1994-03-01\\n\",\n      \"BP:  1994-03-01  FTSE:  1994-03-02\\n\",\n      \"BP:  1994-03-02  FTSE:  1994-03-03\\n\",\n      \"BP:  1994-03-03  FTSE:  1994-03-04\\n\",\n      \"BP:  1994-03-04  FTSE:  1994-03-07\\n\",\n      \"BP:  1994-03-07  FTSE:  1994-03-08\\n\",\n      \"BP:  1994-03-08  FTSE:  1994-03-09\\n\",\n      \"BP:  1994-03-09  FTSE:  1994-03-10\\n\",\n      \"BP:  1994-03-10  FTSE:  1994-03-11\\n\",\n      \"BP:  1994-03-11  FTSE:  1994-03-14\\n\",\n      \"BP:  1994-03-14  FTSE:  1994-03-15\\n\",\n      \"BP:  1994-03-15  FTSE:  1994-03-16\\n\",\n      \"BP:  1994-03-16  FTSE:  1994-03-17\\n\",\n      \"BP:  1994-03-17  FTSE:  1994-03-18\\n\",\n      \"BP:  1994-03-18  FTSE:  1994-03-21\\n\",\n      \"BP:  1994-03-21  FTSE:  1994-03-22\\n\",\n      \"BP:  1994-03-22  FTSE:  1994-03-23\\n\",\n      \"BP:  1994-03-23  FTSE:  1994-03-24\\n\",\n      \"BP:  1994-03-24  FTSE:  1994-03-25\\n\",\n      \"BP:  1994-03-25  FTSE:  1994-03-28\\n\",\n      \"BP:  1994-03-28  FTSE:  1994-03-29\\n\",\n      \"BP:  1994-03-29  FTSE:  1994-03-30\\n\",\n      \"BP:  1994-03-30  FTSE:  1994-03-31\\n\",\n      \"BP:  1994-03-31  FTSE:  1994-04-05\\n\",\n      \"BP:  1994-04-04  FTSE:  1994-04-06\\n\",\n      \"BP:  1994-04-05  FTSE:  1994-04-07\\n\",\n      \"BP:  1994-04-06  FTSE:  1994-04-08\\n\",\n      \"BP:  1994-04-07  FTSE:  1994-04-11\\n\",\n      \"BP:  1994-04-08  FTSE:  1994-04-12\\n\",\n      \"BP:  1994-04-11  FTSE:  1994-04-13\\n\",\n      \"BP:  1994-04-12  FTSE:  1994-04-14\\n\",\n      \"BP:  1994-04-13  FTSE:  1994-04-15\\n\",\n      \"BP:  1994-04-14  FTSE:  1994-04-18\\n\",\n      \"BP:  1994-04-15  FTSE:  1994-04-19\\n\",\n      \"BP:  1994-04-18  FTSE:  1994-04-20\\n\",\n      \"BP:  1994-04-19  FTSE:  1994-04-21\\n\",\n      \"BP:  1994-04-20  FTSE:  1994-04-22\\n\",\n      \"BP:  1994-04-21  FTSE:  1994-04-25\\n\",\n      \"BP:  1994-04-22  FTSE:  1994-04-26\\n\",\n      \"BP:  1994-04-25  FTSE:  1994-04-27\\n\",\n      \"BP:  1994-04-26  FTSE:  1994-04-28\\n\",\n      \"BP:  1994-04-28  FTSE:  1994-04-29\\n\",\n      \"BP:  1994-04-29  FTSE:  1994-05-03\\n\",\n      \"BP:  1994-05-02  FTSE:  1994-05-04\\n\",\n      \"BP:  1994-05-03  FTSE:  1994-05-05\\n\",\n      \"BP:  1994-05-04  FTSE:  1994-05-06\\n\",\n      \"BP:  1994-05-05  FTSE:  1994-05-09\\n\",\n      \"BP:  1994-05-06  FTSE:  1994-05-10\\n\",\n      \"BP:  1994-05-09  FTSE:  1994-05-11\\n\",\n      \"BP:  1994-05-10  FTSE:  1994-05-12\\n\",\n      \"BP:  1994-05-11  FTSE:  1994-05-13\\n\",\n      \"BP:  1994-05-12  FTSE:  1994-05-16\\n\",\n      \"BP:  1994-05-13  FTSE:  1994-05-17\\n\",\n      \"BP:  1994-05-16  FTSE:  1994-05-18\\n\",\n      \"BP:  1994-05-17  FTSE:  1994-05-19\\n\",\n      \"BP:  1994-05-18  FTSE:  1994-05-20\\n\",\n      \"BP:  1994-05-19  FTSE:  1994-05-23\\n\",\n      \"BP:  1994-05-20  FTSE:  1994-05-24\\n\",\n      \"BP:  1994-05-23  FTSE:  1994-05-25\\n\",\n      \"BP:  1994-05-24  FTSE:  1994-05-26\\n\",\n      \"BP:  1994-05-25  FTSE:  1994-05-27\\n\",\n      \"BP:  1994-05-26  FTSE:  1994-05-31\\n\",\n      \"BP:  1994-05-27  FTSE:  1994-06-01\\n\",\n      \"BP:  1994-05-31  FTSE:  1994-06-02\\n\",\n      \"BP:  1994-06-01  FTSE:  1994-06-03\\n\",\n      \"BP:  1994-06-02  FTSE:  1994-06-06\\n\",\n      \"BP:  1994-06-03  FTSE:  1994-06-07\\n\",\n      \"BP:  1994-06-06  FTSE:  1994-06-08\\n\",\n      \"BP:  1994-06-07  FTSE:  1994-06-09\\n\",\n      \"BP:  1994-06-08  FTSE:  1994-06-10\\n\",\n      \"BP:  1994-06-09  FTSE:  1994-06-13\\n\",\n      \"BP:  1994-06-10  FTSE:  1994-06-14\\n\",\n      \"BP:  1994-06-13  FTSE:  1994-06-15\\n\",\n      \"BP:  1994-06-14  FTSE:  1994-06-16\\n\",\n      \"BP:  1994-06-15  FTSE:  1994-06-17\\n\",\n      \"BP:  1994-06-16  FTSE:  1994-06-20\\n\",\n      \"BP:  1994-06-17  FTSE:  1994-06-21\\n\",\n      \"BP:  1994-06-20  FTSE:  1994-06-22\\n\",\n      \"BP:  1994-06-21  FTSE:  1994-06-23\\n\",\n      \"BP:  1994-06-22  FTSE:  1994-06-24\\n\",\n      \"BP:  1994-06-23  FTSE:  1994-06-27\\n\",\n      \"BP:  1994-06-24  FTSE:  1994-06-28\\n\",\n      \"BP:  1994-06-27  FTSE:  1994-06-29\\n\",\n      \"BP:  1994-06-28  FTSE:  1994-06-30\\n\",\n      \"BP:  1994-06-29  FTSE:  1994-07-01\\n\",\n      \"BP:  1994-06-30  FTSE:  1994-07-04\\n\",\n      \"BP:  1994-07-01  FTSE:  1994-07-05\\n\",\n      \"BP:  1994-07-05  FTSE:  1994-07-06\\n\",\n      \"BP:  1994-07-06  FTSE:  1994-07-07\\n\",\n      \"BP:  1994-07-07  FTSE:  1994-07-08\\n\",\n      \"BP:  1994-07-08  FTSE:  1994-07-11\\n\",\n      \"BP:  1994-07-11  FTSE:  1994-07-12\\n\",\n      \"BP:  1994-07-12  FTSE:  1994-07-13\\n\",\n      \"BP:  1994-07-13  FTSE:  1994-07-14\\n\",\n      \"BP:  1994-07-14  FTSE:  1994-07-15\\n\",\n      \"BP:  1994-07-15  FTSE:  1994-07-18\\n\",\n      \"BP:  1994-07-18  FTSE:  1994-07-19\\n\",\n      \"BP:  1994-07-19  FTSE:  1994-07-20\\n\",\n      \"BP:  1994-07-20  FTSE:  1994-07-21\\n\",\n      \"BP:  1994-07-21  FTSE:  1994-07-22\\n\",\n      \"BP:  1994-07-22  FTSE:  1994-07-25\\n\",\n      \"BP:  1994-07-25  FTSE:  1994-07-26\\n\",\n      \"BP:  1994-07-26  FTSE:  1994-07-27\\n\",\n      \"BP:  1994-07-27  FTSE:  1994-07-28\\n\",\n      \"BP:  1994-07-28  FTSE:  1994-07-29\\n\",\n      \"BP:  1994-07-29  FTSE:  1994-08-01\\n\",\n      \"BP:  1994-08-01  FTSE:  1994-08-02\\n\",\n      \"BP:  1994-08-02  FTSE:  1994-08-03\\n\",\n      \"BP:  1994-08-03  FTSE:  1994-08-04\\n\",\n      \"BP:  1994-08-04  FTSE:  1994-08-05\\n\",\n      \"BP:  1994-08-05  FTSE:  1994-08-08\\n\",\n      \"BP:  1994-08-08  FTSE:  1994-08-09\\n\",\n      \"BP:  1994-08-09  FTSE:  1994-08-10\\n\",\n      \"BP:  1994-08-10  FTSE:  1994-08-11\\n\",\n      \"BP:  1994-08-11  FTSE:  1994-08-12\\n\",\n      \"BP:  1994-08-12  FTSE:  1994-08-15\\n\",\n      \"BP:  1994-08-15  FTSE:  1994-08-16\\n\",\n      \"BP:  1994-08-16  FTSE:  1994-08-17\\n\",\n      \"BP:  1994-08-17  FTSE:  1994-08-18\\n\",\n      \"BP:  1994-08-18  FTSE:  1994-08-19\\n\",\n      \"BP:  1994-08-19  FTSE:  1994-08-22\\n\",\n      \"BP:  1994-08-22  FTSE:  1994-08-23\\n\",\n      \"BP:  1994-08-23  FTSE:  1994-08-24\\n\",\n      \"BP:  1994-08-24  FTSE:  1994-08-25\\n\",\n      \"BP:  1994-08-25  FTSE:  1994-08-26\\n\",\n      \"BP:  1994-08-26  FTSE:  1994-08-30\\n\",\n      \"BP:  1994-08-29  FTSE:  1994-08-31\\n\",\n      \"BP:  1994-08-30  FTSE:  1994-09-01\\n\",\n      \"BP:  1994-08-31  FTSE:  1994-09-02\\n\",\n      \"BP:  1994-09-01  FTSE:  1994-09-05\\n\",\n      \"BP:  1994-09-02  FTSE:  1994-09-06\\n\",\n      \"BP:  1994-09-06  FTSE:  1994-09-07\\n\",\n      \"BP:  1994-09-07  FTSE:  1994-09-08\\n\",\n      \"BP:  1994-09-08  FTSE:  1994-09-09\\n\",\n      \"BP:  1994-09-09  FTSE:  1994-09-12\\n\",\n      \"BP:  1994-09-12  FTSE:  1994-09-13\\n\",\n      \"BP:  1994-09-13  FTSE:  1994-09-14\\n\",\n      \"BP:  1994-09-14  FTSE:  1994-09-15\\n\",\n      \"BP:  1994-09-15  FTSE:  1994-09-16\\n\",\n      \"BP:  1994-09-16  FTSE:  1994-09-19\\n\",\n      \"BP:  1994-09-19  FTSE:  1994-09-20\\n\",\n      \"BP:  1994-09-20  FTSE:  1994-09-21\\n\",\n      \"BP:  1994-09-21  FTSE:  1994-09-22\\n\",\n      \"BP:  1994-09-22  FTSE:  1994-09-23\\n\",\n      \"BP:  1994-09-23  FTSE:  1994-09-26\\n\",\n      \"BP:  1994-09-26  FTSE:  1994-09-27\\n\",\n      \"BP:  1994-09-27  FTSE:  1994-09-28\\n\",\n      \"BP:  1994-09-28  FTSE:  1994-09-29\\n\",\n      \"BP:  1994-09-29  FTSE:  1994-09-30\\n\",\n      \"BP:  1994-09-30  FTSE:  1994-10-03\\n\",\n      \"BP:  1994-10-03  FTSE:  1994-10-04\\n\",\n      \"BP:  1994-10-04  FTSE:  1994-10-05\\n\",\n      \"BP:  1994-10-05  FTSE:  1994-10-06\\n\",\n      \"BP:  1994-10-06  FTSE:  1994-10-07\\n\",\n      \"BP:  1994-10-07  FTSE:  1994-10-10\\n\",\n      \"BP:  1994-10-10  FTSE:  1994-10-11\\n\",\n      \"BP:  1994-10-11  FTSE:  1994-10-12\\n\",\n      \"BP:  1994-10-12  FTSE:  1994-10-13\\n\",\n      \"BP:  1994-10-13  FTSE:  1994-10-14\\n\",\n      \"BP:  1994-10-14  FTSE:  1994-10-17\\n\",\n      \"BP:  1994-10-17  FTSE:  1994-10-18\\n\",\n      \"BP:  1994-10-18  FTSE:  1994-10-19\\n\",\n      \"BP:  1994-10-19  FTSE:  1994-10-20\\n\",\n      \"BP:  1994-10-20  FTSE:  1994-10-21\\n\",\n      \"BP:  1994-10-21  FTSE:  1994-10-24\\n\",\n      \"BP:  1994-10-24  FTSE:  1994-10-25\\n\",\n      \"BP:  1994-10-25  FTSE:  1994-10-26\\n\",\n      \"BP:  1994-10-26  FTSE:  1994-10-27\\n\",\n      \"BP:  1994-10-27  FTSE:  1994-10-28\\n\",\n      \"BP:  1994-10-28  FTSE:  1994-10-31\\n\",\n      \"BP:  1994-10-31  FTSE:  1994-11-01\\n\",\n      \"BP:  1994-11-01  FTSE:  1994-11-02\\n\",\n      \"BP:  1994-11-02  FTSE:  1994-11-03\\n\",\n      \"BP:  1994-11-03  FTSE:  1994-11-04\\n\",\n      \"BP:  1994-11-04  FTSE:  1994-11-07\\n\",\n      \"BP:  1994-11-07  FTSE:  1994-11-08\\n\",\n      \"BP:  1994-11-08  FTSE:  1994-11-09\\n\",\n      \"BP:  1994-11-09  FTSE:  1994-11-10\\n\",\n      \"BP:  1994-11-10  FTSE:  1994-11-11\\n\",\n      \"BP:  1994-11-11  FTSE:  1994-11-14\\n\",\n      \"BP:  1994-11-14  FTSE:  1994-11-15\\n\",\n      \"BP:  1994-11-15  FTSE:  1994-11-16\\n\",\n      \"BP:  1994-11-16  FTSE:  1994-11-17\\n\",\n      \"BP:  1994-11-17  FTSE:  1994-11-18\\n\",\n      \"BP:  1994-11-18  FTSE:  1994-11-21\\n\",\n      \"BP:  1994-11-21  FTSE:  1994-11-22\\n\",\n      \"BP:  1994-11-22  FTSE:  1994-11-23\\n\",\n      \"BP:  1994-11-23  FTSE:  1994-11-24\\n\",\n      \"BP:  1994-12-27  FTSE:  1994-12-28\\n\",\n      \"BP:  1994-12-28  FTSE:  1994-12-29\\n\",\n      \"BP:  1994-12-29  FTSE:  1994-12-30\\n\",\n      \"BP:  1994-12-30  FTSE:  1995-01-03\\n\",\n      \"BP:  1995-01-03  FTSE:  1995-01-04\\n\",\n      \"BP:  1995-01-04  FTSE:  1995-01-05\\n\",\n      \"BP:  1995-01-05  FTSE:  1995-01-06\\n\",\n      \"BP:  1995-01-06  FTSE:  1995-01-09\\n\",\n      \"BP:  1995-01-09  FTSE:  1995-01-10\\n\",\n      \"BP:  1995-01-10  FTSE:  1995-01-11\\n\",\n      \"BP:  1995-01-11  FTSE:  1995-01-12\\n\",\n      \"BP:  1995-01-12  FTSE:  1995-01-13\\n\",\n      \"BP:  1995-01-13  FTSE:  1995-01-16\\n\",\n      \"BP:  1995-01-16  FTSE:  1995-01-17\\n\",\n      \"BP:  1995-01-17  FTSE:  1995-01-18\\n\",\n      \"BP:  1995-01-18  FTSE:  1995-01-19\\n\",\n      \"BP:  1995-01-19  FTSE:  1995-01-20\\n\",\n      \"BP:  1995-01-20  FTSE:  1995-01-23\\n\",\n      \"BP:  1995-01-23  FTSE:  1995-01-24\\n\",\n      \"BP:  1995-01-24  FTSE:  1995-01-25\\n\",\n      \"BP:  1995-01-25  FTSE:  1995-01-26\\n\",\n      \"BP:  1995-01-26  FTSE:  1995-01-27\\n\",\n      \"BP:  1995-01-27  FTSE:  1995-01-30\\n\",\n      \"BP:  1995-01-30  FTSE:  1995-01-31\\n\",\n      \"BP:  1995-01-31  FTSE:  1995-02-01\\n\",\n      \"BP:  1995-02-01  FTSE:  1995-02-02\\n\",\n      \"BP:  1995-02-02  FTSE:  1995-02-03\\n\",\n      \"BP:  1995-02-03  FTSE:  1995-02-06\\n\",\n      \"BP:  1995-02-06  FTSE:  1995-02-07\\n\",\n      \"BP:  1995-02-07  FTSE:  1995-02-08\\n\",\n      \"BP:  1995-02-08  FTSE:  1995-02-09\\n\",\n      \"BP:  1995-02-09  FTSE:  1995-02-10\\n\",\n      \"BP:  1995-02-10  FTSE:  1995-02-13\\n\",\n      \"BP:  1995-02-13  FTSE:  1995-02-14\\n\",\n      \"BP:  1995-02-14  FTSE:  1995-02-15\\n\",\n      \"BP:  1995-02-15  FTSE:  1995-02-16\\n\",\n      \"BP:  1995-02-16  FTSE:  1995-02-17\\n\",\n      \"BP:  1995-02-17  FTSE:  1995-02-20\\n\",\n      \"BP:  1995-04-17  FTSE:  1995-04-18\\n\",\n      \"BP:  1995-04-18  FTSE:  1995-04-19\\n\",\n      \"BP:  1995-04-19  FTSE:  1995-04-20\\n\",\n      \"BP:  1995-04-20  FTSE:  1995-04-21\\n\",\n      \"BP:  1995-04-21  FTSE:  1995-04-24\\n\",\n      \"BP:  1995-04-24  FTSE:  1995-04-25\\n\",\n      \"BP:  1995-04-25  FTSE:  1995-04-26\\n\",\n      \"BP:  1995-04-26  FTSE:  1995-04-27\\n\",\n      \"BP:  1995-04-27  FTSE:  1995-04-28\\n\",\n      \"BP:  1995-04-28  FTSE:  1995-05-01\\n\",\n      \"BP:  1995-05-01  FTSE:  1995-05-02\\n\",\n      \"BP:  1995-05-02  FTSE:  1995-05-03\\n\",\n      \"BP:  1995-05-03  FTSE:  1995-05-04\\n\",\n      \"BP:  1995-05-04  FTSE:  1995-05-05\\n\",\n      \"BP:  1995-05-05  FTSE:  1995-05-09\\n\",\n      \"BP:  1995-05-08  FTSE:  1995-05-10\\n\",\n      \"BP:  1995-05-09  FTSE:  1995-05-11\\n\",\n      \"BP:  1995-05-10  FTSE:  1995-05-12\\n\",\n      \"BP:  1995-05-11  FTSE:  1995-05-15\\n\",\n      \"BP:  1995-05-12  FTSE:  1995-05-16\\n\",\n      \"BP:  1995-05-15  FTSE:  1995-05-17\\n\",\n      \"BP:  1995-05-16  FTSE:  1995-05-18\\n\",\n      \"BP:  1995-05-17  FTSE:  1995-05-19\\n\",\n      \"BP:  1995-05-18  FTSE:  1995-05-22\\n\",\n      \"BP:  1995-05-19  FTSE:  1995-05-23\\n\",\n      \"BP:  1995-05-22  FTSE:  1995-05-24\\n\",\n      \"BP:  1995-05-23  FTSE:  1995-05-25\\n\",\n      \"BP:  1995-05-24  FTSE:  1995-05-26\\n\",\n      \"BP:  1995-05-25  FTSE:  1995-05-30\\n\",\n      \"BP:  1995-05-26  FTSE:  1995-05-31\\n\",\n      \"BP:  1995-05-30  FTSE:  1995-06-01\\n\",\n      \"BP:  1995-05-31  FTSE:  1995-06-02\\n\",\n      \"BP:  1995-06-01  FTSE:  1995-06-05\\n\",\n      \"BP:  1995-06-02  FTSE:  1995-06-06\\n\",\n      \"BP:  1995-06-05  FTSE:  1995-06-07\\n\",\n      \"BP:  1995-06-06  FTSE:  1995-06-08\\n\",\n      \"BP:  1995-06-07  FTSE:  1995-06-09\\n\",\n      \"BP:  1995-06-08  FTSE:  1995-06-12\\n\",\n      \"BP:  1995-06-09  FTSE:  1995-06-13\\n\",\n      \"BP:  1995-06-12  FTSE:  1995-06-14\\n\",\n      \"BP:  1995-06-13  FTSE:  1995-06-15\\n\",\n      \"BP:  1995-06-14  FTSE:  1995-06-16\\n\",\n      \"BP:  1995-06-15  FTSE:  1995-06-19\\n\",\n      \"BP:  1995-06-16  FTSE:  1995-06-20\\n\",\n      \"BP:  1995-06-19  FTSE:  1995-06-21\\n\",\n      \"BP:  1995-06-20  FTSE:  1995-06-22\\n\",\n      \"BP:  1995-06-21  FTSE:  1995-06-23\\n\",\n      \"BP:  1995-06-22  FTSE:  1995-06-26\\n\",\n      \"BP:  1995-06-23  FTSE:  1995-06-27\\n\",\n      \"BP:  1995-06-26  FTSE:  1995-06-28\\n\",\n      \"BP:  1995-06-27  FTSE:  1995-06-29\\n\",\n      \"BP:  1995-06-28  FTSE:  1995-06-30\\n\",\n      \"BP:  1995-06-29  FTSE:  1995-07-03\\n\",\n      \"BP:  1995-06-30  FTSE:  1995-07-04\\n\",\n      \"BP:  1995-07-03  FTSE:  1995-07-05\\n\",\n      \"BP:  1995-07-05  FTSE:  1995-07-06\\n\",\n      \"BP:  1995-07-06  FTSE:  1995-07-07\\n\",\n      \"BP:  1995-07-07  FTSE:  1995-07-10\\n\",\n      \"BP:  1995-07-10  FTSE:  1995-07-11\\n\",\n      \"BP:  1995-07-11  FTSE:  1995-07-12\\n\",\n      \"BP:  1995-07-12  FTSE:  1995-07-13\\n\",\n      \"BP:  1995-07-13  FTSE:  1995-07-14\\n\",\n      \"BP:  1995-07-14  FTSE:  1995-07-17\\n\",\n      \"BP:  1995-07-17  FTSE:  1995-07-18\\n\",\n      \"BP:  1995-07-18  FTSE:  1995-07-19\\n\",\n      \"BP:  1995-07-19  FTSE:  1995-07-20\\n\",\n      \"BP:  1995-07-20  FTSE:  1995-07-21\\n\",\n      \"BP:  1995-07-21  FTSE:  1995-07-24\\n\",\n      \"BP:  1995-07-24  FTSE:  1995-07-25\\n\",\n      \"BP:  1995-07-25  FTSE:  1995-07-26\\n\",\n      \"BP:  1995-07-26  FTSE:  1995-07-27\\n\",\n      \"BP:  1995-07-27  FTSE:  1995-07-28\\n\",\n      \"BP:  1995-07-28  FTSE:  1995-07-31\\n\",\n      \"BP:  1995-07-31  FTSE:  1995-08-01\\n\",\n      \"BP:  1995-08-01  FTSE:  1995-08-02\\n\",\n      \"BP:  1995-08-02  FTSE:  1995-08-03\\n\",\n      \"BP:  1995-08-03  FTSE:  1995-08-04\\n\",\n      \"BP:  1995-08-04  FTSE:  1995-08-07\\n\",\n      \"BP:  1995-08-07  FTSE:  1995-08-08\\n\",\n      \"BP:  1995-08-08  FTSE:  1995-08-09\\n\",\n      \"BP:  1995-08-09  FTSE:  1995-08-10\\n\",\n      \"BP:  1995-08-10  FTSE:  1995-08-11\\n\",\n      \"BP:  1995-08-11  FTSE:  1995-08-14\\n\",\n      \"BP:  1995-08-14  FTSE:  1995-08-15\\n\",\n      \"BP:  1995-08-15  FTSE:  1995-08-16\\n\",\n      \"BP:  1995-08-16  FTSE:  1995-08-17\\n\",\n      \"BP:  1995-08-17  FTSE:  1995-08-18\\n\",\n      \"BP:  1995-08-18  FTSE:  1995-08-21\\n\",\n      \"BP:  1995-08-21  FTSE:  1995-08-22\\n\",\n      \"BP:  1995-08-22  FTSE:  1995-08-23\\n\",\n      \"BP:  1995-08-23  FTSE:  1995-08-24\\n\",\n      \"BP:  1995-08-24  FTSE:  1995-08-25\\n\",\n      \"BP:  1995-08-25  FTSE:  1995-08-29\\n\",\n      \"BP:  1995-08-28  FTSE:  1995-08-30\\n\",\n      \"BP:  1995-08-29  FTSE:  1995-08-31\\n\",\n      \"BP:  1995-08-30  FTSE:  1995-09-01\\n\",\n      \"BP:  1995-08-31  FTSE:  1995-09-04\\n\",\n      \"BP:  1995-09-01  FTSE:  1995-09-05\\n\",\n      \"BP:  1995-09-05  FTSE:  1995-09-06\\n\",\n      \"BP:  1995-09-06  FTSE:  1995-09-07\\n\",\n      \"BP:  1995-09-07  FTSE:  1995-09-08\\n\",\n      \"BP:  1995-09-08  FTSE:  1995-09-11\\n\",\n      \"BP:  1995-09-11  FTSE:  1995-09-12\\n\",\n      \"BP:  1995-09-12  FTSE:  1995-09-13\\n\",\n      \"BP:  1995-09-13  FTSE:  1995-09-14\\n\",\n      \"BP:  1995-09-14  FTSE:  1995-09-15\\n\",\n      \"BP:  1995-09-15  FTSE:  1995-09-18\\n\",\n      \"BP:  1995-09-18  FTSE:  1995-09-19\\n\",\n      \"BP:  1995-09-19  FTSE:  1995-09-20\\n\",\n      \"BP:  1995-09-20  FTSE:  1995-09-21\\n\",\n      \"BP:  1995-09-21  FTSE:  1995-09-22\\n\",\n      \"BP:  1995-09-22  FTSE:  1995-09-25\\n\",\n      \"BP:  1995-09-25  FTSE:  1995-09-26\\n\",\n      \"BP:  1995-09-26  FTSE:  1995-09-27\\n\",\n      \"BP:  1995-09-27  FTSE:  1995-09-28\\n\",\n      \"BP:  1995-09-28  FTSE:  1995-09-29\\n\",\n      \"BP:  1995-09-29  FTSE:  1995-10-02\\n\",\n      \"BP:  1995-10-02  FTSE:  1995-10-03\\n\",\n      \"BP:  1995-10-03  FTSE:  1995-10-04\\n\",\n      \"BP:  1995-10-04  FTSE:  1995-10-05\\n\",\n      \"BP:  1995-10-05  FTSE:  1995-10-06\\n\",\n      \"BP:  1995-10-06  FTSE:  1995-10-09\\n\",\n      \"BP:  1995-10-09  FTSE:  1995-10-10\\n\",\n      \"BP:  1995-10-10  FTSE:  1995-10-11\\n\",\n      \"BP:  1995-10-11  FTSE:  1995-10-12\\n\",\n      \"BP:  1995-10-12  FTSE:  1995-10-13\\n\",\n      \"BP:  1995-10-13  FTSE:  1995-10-16\\n\",\n      \"BP:  1995-10-16  FTSE:  1995-10-17\\n\",\n      \"BP:  1995-10-17  FTSE:  1995-10-18\\n\",\n      \"BP:  1995-10-18  FTSE:  1995-10-19\\n\",\n      \"BP:  1995-10-19  FTSE:  1995-10-20\\n\",\n      \"BP:  1995-10-20  FTSE:  1995-10-23\\n\",\n      \"BP:  1995-10-23  FTSE:  1995-10-24\\n\",\n      \"BP:  1995-10-24  FTSE:  1995-10-25\\n\",\n      \"BP:  1995-10-25  FTSE:  1995-10-26\\n\",\n      \"BP:  1995-10-26  FTSE:  1995-10-27\\n\",\n      \"BP:  1995-10-27  FTSE:  1995-10-30\\n\",\n      \"BP:  1995-10-30  FTSE:  1995-10-31\\n\",\n      \"BP:  1995-10-31  FTSE:  1995-11-01\\n\",\n      \"BP:  1995-11-01  FTSE:  1995-11-02\\n\",\n      \"BP:  1995-11-02  FTSE:  1995-11-03\\n\",\n      \"BP:  1995-11-03  FTSE:  1995-11-06\\n\",\n      \"BP:  1995-11-06  FTSE:  1995-11-07\\n\",\n      \"BP:  1995-11-07  FTSE:  1995-11-08\\n\",\n      \"BP:  1995-11-08  FTSE:  1995-11-09\\n\",\n      \"BP:  1995-11-09  FTSE:  1995-11-10\\n\",\n      \"BP:  1995-11-10  FTSE:  1995-11-13\\n\",\n      \"BP:  1995-11-13  FTSE:  1995-11-14\\n\",\n      \"BP:  1995-11-14  FTSE:  1995-11-15\\n\",\n      \"BP:  1995-11-15  FTSE:  1995-11-16\\n\",\n      \"BP:  1995-11-16  FTSE:  1995-11-17\\n\",\n      \"BP:  1995-11-17  FTSE:  1995-11-20\\n\",\n      \"BP:  1995-11-20  FTSE:  1995-11-21\\n\",\n      \"BP:  1995-11-21  FTSE:  1995-11-22\\n\",\n      \"BP:  1995-11-22  FTSE:  1995-11-23\\n\",\n      \"BP:  1995-12-26  FTSE:  1995-12-27\\n\",\n      \"BP:  1995-12-27  FTSE:  1995-12-28\\n\",\n      \"BP:  1995-12-28  FTSE:  1995-12-29\\n\",\n      \"BP:  1995-12-29  FTSE:  1996-01-02\\n\",\n      \"BP:  1996-01-02  FTSE:  1996-01-03\\n\",\n      \"BP:  1996-01-03  FTSE:  1996-01-04\\n\",\n      \"BP:  1996-01-04  FTSE:  1996-01-05\\n\",\n      \"BP:  1996-01-05  FTSE:  1996-01-08\\n\",\n      \"BP:  1996-01-08  FTSE:  1996-01-09\\n\",\n      \"BP:  1996-01-09  FTSE:  1996-01-10\\n\",\n      \"BP:  1996-01-10  FTSE:  1996-01-11\\n\",\n      \"BP:  1996-01-11  FTSE:  1996-01-12\\n\",\n      \"BP:  1996-01-12  FTSE:  1996-01-15\\n\",\n      \"BP:  1996-01-15  FTSE:  1996-01-16\\n\",\n      \"BP:  1996-01-16  FTSE:  1996-01-17\\n\",\n      \"BP:  1996-01-17  FTSE:  1996-01-18\\n\",\n      \"BP:  1996-01-18  FTSE:  1996-01-19\\n\",\n      \"BP:  1996-01-19  FTSE:  1996-01-22\\n\",\n      \"BP:  1996-01-22  FTSE:  1996-01-23\\n\",\n      \"BP:  1996-01-23  FTSE:  1996-01-24\\n\",\n      \"BP:  1996-01-24  FTSE:  1996-01-25\\n\",\n      \"BP:  1996-01-25  FTSE:  1996-01-26\\n\",\n      \"BP:  1996-01-26  FTSE:  1996-01-29\\n\",\n      \"BP:  1996-01-29  FTSE:  1996-01-30\\n\",\n      \"BP:  1996-01-30  FTSE:  1996-01-31\\n\",\n      \"BP:  1996-01-31  FTSE:  1996-02-01\\n\",\n      \"BP:  1996-02-01  FTSE:  1996-02-02\\n\",\n      \"BP:  1996-02-02  FTSE:  1996-02-05\\n\",\n      \"BP:  1996-02-05  FTSE:  1996-02-06\\n\",\n      \"BP:  1996-02-06  FTSE:  1996-02-07\\n\",\n      \"BP:  1996-02-07  FTSE:  1996-02-08\\n\",\n      \"BP:  1996-02-08  FTSE:  1996-02-09\\n\",\n      \"BP:  1996-02-09  FTSE:  1996-02-12\\n\",\n      \"BP:  1996-02-12  FTSE:  1996-02-13\\n\",\n      \"BP:  1996-02-13  FTSE:  1996-02-14\\n\",\n      \"BP:  1996-02-14  FTSE:  1996-02-15\\n\",\n      \"BP:  1996-02-15  FTSE:  1996-02-16\\n\",\n      \"BP:  1996-02-16  FTSE:  1996-02-19\\n\",\n      \"BP:  1996-04-08  FTSE:  1996-04-09\\n\",\n      \"BP:  1996-04-09  FTSE:  1996-04-10\\n\",\n      \"BP:  1996-04-10  FTSE:  1996-04-11\\n\",\n      \"BP:  1996-04-11  FTSE:  1996-04-12\\n\",\n      \"BP:  1996-04-12  FTSE:  1996-04-15\\n\",\n      \"BP:  1996-04-15  FTSE:  1996-04-16\\n\",\n      \"BP:  1996-04-16  FTSE:  1996-04-17\\n\",\n      \"BP:  1996-04-17  FTSE:  1996-04-18\\n\",\n      \"BP:  1996-04-18  FTSE:  1996-04-19\\n\",\n      \"BP:  1996-04-19  FTSE:  1996-04-22\\n\",\n      \"BP:  1996-04-22  FTSE:  1996-04-23\\n\",\n      \"BP:  1996-04-23  FTSE:  1996-04-24\\n\",\n      \"BP:  1996-04-24  FTSE:  1996-04-25\\n\",\n      \"BP:  1996-04-25  FTSE:  1996-04-26\\n\",\n      \"BP:  1996-04-26  FTSE:  1996-04-29\\n\",\n      \"BP:  1996-04-29  FTSE:  1996-04-30\\n\",\n      \"BP:  1996-04-30  FTSE:  1996-05-01\\n\",\n      \"BP:  1996-05-01  FTSE:  1996-05-02\\n\",\n      \"BP:  1996-05-02  FTSE:  1996-05-03\\n\",\n      \"BP:  1996-05-03  FTSE:  1996-05-07\\n\",\n      \"BP:  1996-05-06  FTSE:  1996-05-08\\n\",\n      \"BP:  1996-05-07  FTSE:  1996-05-09\\n\",\n      \"BP:  1996-05-08  FTSE:  1996-05-10\\n\",\n      \"BP:  1996-05-09  FTSE:  1996-05-13\\n\",\n      \"BP:  1996-05-10  FTSE:  1996-05-14\\n\",\n      \"BP:  1996-05-13  FTSE:  1996-05-15\\n\",\n      \"BP:  1996-05-14  FTSE:  1996-05-16\\n\",\n      \"BP:  1996-05-15  FTSE:  1996-05-17\\n\",\n      \"BP:  1996-05-16  FTSE:  1996-05-20\\n\",\n      \"BP:  1996-05-17  FTSE:  1996-05-21\\n\",\n      \"BP:  1996-05-20  FTSE:  1996-05-22\\n\",\n      \"BP:  1996-05-21  FTSE:  1996-05-23\\n\",\n      \"BP:  1996-05-22  FTSE:  1996-05-24\\n\",\n      \"BP:  1996-05-23  FTSE:  1996-05-28\\n\",\n      \"BP:  1996-05-24  FTSE:  1996-05-29\\n\",\n      \"BP:  1996-05-28  FTSE:  1996-05-30\\n\",\n      \"BP:  1996-05-29  FTSE:  1996-05-31\\n\",\n      \"BP:  1996-05-30  FTSE:  1996-06-03\\n\",\n      \"BP:  1996-05-31  FTSE:  1996-06-04\\n\",\n      \"BP:  1996-06-03  FTSE:  1996-06-05\\n\",\n      \"BP:  1996-06-04  FTSE:  1996-06-06\\n\",\n      \"BP:  1996-06-05  FTSE:  1996-06-07\\n\",\n      \"BP:  1996-06-06  FTSE:  1996-06-10\\n\",\n      \"BP:  1996-06-07  FTSE:  1996-06-11\\n\",\n      \"BP:  1996-06-10  FTSE:  1996-06-12\\n\",\n      \"BP:  1996-06-11  FTSE:  1996-06-13\\n\",\n      \"BP:  1996-06-12  FTSE:  1996-06-14\\n\",\n      \"BP:  1996-06-13  FTSE:  1996-06-17\\n\",\n      \"BP:  1996-06-14  FTSE:  1996-06-18\\n\",\n      \"BP:  1996-06-17  FTSE:  1996-06-19\\n\",\n      \"BP:  1996-06-18  FTSE:  1996-06-20\\n\",\n      \"BP:  1996-06-19  FTSE:  1996-06-21\\n\",\n      \"BP:  1996-06-20  FTSE:  1996-06-24\\n\",\n      \"BP:  1996-06-21  FTSE:  1996-06-25\\n\",\n      \"BP:  1996-06-24  FTSE:  1996-06-26\\n\",\n      \"BP:  1996-06-25  FTSE:  1996-06-27\\n\",\n      \"BP:  1996-06-26  FTSE:  1996-06-28\\n\",\n      \"BP:  1996-06-27  FTSE:  1996-07-01\\n\",\n      \"BP:  1996-06-28  FTSE:  1996-07-02\\n\",\n      \"BP:  1996-07-01  FTSE:  1996-07-03\\n\",\n      \"BP:  1996-07-02  FTSE:  1996-07-04\\n\",\n      \"BP:  1996-07-03  FTSE:  1996-07-05\\n\",\n      \"BP:  1996-07-05  FTSE:  1996-07-08\\n\",\n      \"BP:  1996-07-08  FTSE:  1996-07-09\\n\",\n      \"BP:  1996-07-09  FTSE:  1996-07-10\\n\",\n      \"BP:  1996-07-10  FTSE:  1996-07-11\\n\",\n      \"BP:  1996-07-11  FTSE:  1996-07-12\\n\",\n      \"BP:  1996-07-12  FTSE:  1996-07-15\\n\",\n      \"BP:  1996-07-15  FTSE:  1996-07-16\\n\",\n      \"BP:  1996-07-16  FTSE:  1996-07-17\\n\",\n      \"BP:  1996-07-17  FTSE:  1996-07-18\\n\",\n      \"BP:  1996-07-18  FTSE:  1996-07-19\\n\",\n      \"BP:  1996-07-19  FTSE:  1996-07-22\\n\",\n      \"BP:  1996-07-22  FTSE:  1996-07-23\\n\",\n      \"BP:  1996-07-23  FTSE:  1996-07-24\\n\",\n      \"BP:  1996-07-24  FTSE:  1996-07-25\\n\",\n      \"BP:  1996-07-25  FTSE:  1996-07-26\\n\",\n      \"BP:  1996-07-26  FTSE:  1996-07-29\\n\",\n      \"BP:  1996-07-29  FTSE:  1996-07-30\\n\",\n      \"BP:  1996-07-30  FTSE:  1996-07-31\\n\",\n      \"BP:  1996-07-31  FTSE:  1996-08-01\\n\",\n      \"BP:  1996-08-01  FTSE:  1996-08-02\\n\",\n      \"BP:  1996-08-02  FTSE:  1996-08-05\\n\",\n      \"BP:  1996-08-05  FTSE:  1996-08-06\\n\",\n      \"BP:  1996-08-06  FTSE:  1996-08-07\\n\",\n      \"BP:  1996-08-07  FTSE:  1996-08-08\\n\",\n      \"BP:  1996-08-08  FTSE:  1996-08-09\\n\",\n      \"BP:  1996-08-09  FTSE:  1996-08-12\\n\",\n      \"BP:  1996-08-12  FTSE:  1996-08-13\\n\",\n      \"BP:  1996-08-13  FTSE:  1996-08-14\\n\",\n      \"BP:  1996-08-14  FTSE:  1996-08-15\\n\",\n      \"BP:  1996-08-15  FTSE:  1996-08-16\\n\",\n      \"BP:  1996-08-16  FTSE:  1996-08-19\\n\",\n      \"BP:  1996-08-19  FTSE:  1996-08-20\\n\",\n      \"BP:  1996-08-20  FTSE:  1996-08-21\\n\",\n      \"BP:  1996-08-21  FTSE:  1996-08-22\\n\",\n      \"BP:  1996-08-22  FTSE:  1996-08-23\\n\",\n      \"BP:  1996-08-23  FTSE:  1996-08-27\\n\",\n      \"BP:  1996-08-26  FTSE:  1996-08-28\\n\",\n      \"BP:  1996-08-27  FTSE:  1996-08-29\\n\",\n      \"BP:  1996-08-28  FTSE:  1996-08-30\\n\",\n      \"BP:  1996-08-29  FTSE:  1996-09-02\\n\",\n      \"BP:  1996-08-30  FTSE:  1996-09-03\\n\",\n      \"BP:  1996-09-03  FTSE:  1996-09-04\\n\",\n      \"BP:  1996-09-04  FTSE:  1996-09-05\\n\",\n      \"BP:  1996-09-05  FTSE:  1996-09-06\\n\",\n      \"BP:  1996-09-06  FTSE:  1996-09-09\\n\",\n      \"BP:  1996-09-09  FTSE:  1996-09-10\\n\",\n      \"BP:  1996-09-10  FTSE:  1996-09-11\\n\",\n      \"BP:  1996-09-11  FTSE:  1996-09-12\\n\",\n      \"BP:  1996-09-12  FTSE:  1996-09-13\\n\",\n      \"BP:  1996-09-13  FTSE:  1996-09-16\\n\",\n      \"BP:  1996-09-16  FTSE:  1996-09-17\\n\",\n      \"BP:  1996-09-17  FTSE:  1996-09-18\\n\",\n      \"BP:  1996-09-18  FTSE:  1996-09-19\\n\",\n      \"BP:  1996-09-19  FTSE:  1996-09-20\\n\",\n      \"BP:  1996-09-20  FTSE:  1996-09-23\\n\",\n      \"BP:  1996-09-23  FTSE:  1996-09-24\\n\",\n      \"BP:  1996-09-24  FTSE:  1996-09-25\\n\",\n      \"BP:  1996-09-25  FTSE:  1996-09-26\\n\",\n      \"BP:  1996-09-26  FTSE:  1996-09-27\\n\",\n      \"BP:  1996-09-27  FTSE:  1996-09-30\\n\",\n      \"BP:  1996-09-30  FTSE:  1996-10-01\\n\",\n      \"BP:  1996-10-01  FTSE:  1996-10-02\\n\",\n      \"BP:  1996-10-02  FTSE:  1996-10-03\\n\",\n      \"BP:  1996-10-03  FTSE:  1996-10-04\\n\",\n      \"BP:  1996-10-04  FTSE:  1996-10-07\\n\",\n      \"BP:  1996-10-07  FTSE:  1996-10-08\\n\",\n      \"BP:  1996-10-08  FTSE:  1996-10-09\\n\",\n      \"BP:  1996-10-09  FTSE:  1996-10-10\\n\",\n      \"BP:  1996-10-10  FTSE:  1996-10-11\\n\",\n      \"BP:  1996-10-11  FTSE:  1996-10-14\\n\",\n      \"BP:  1996-10-14  FTSE:  1996-10-15\\n\",\n      \"BP:  1996-10-15  FTSE:  1996-10-16\\n\",\n      \"BP:  1996-10-16  FTSE:  1996-10-17\\n\",\n      \"BP:  1996-10-17  FTSE:  1996-10-18\\n\",\n      \"BP:  1996-10-18  FTSE:  1996-10-21\\n\",\n      \"BP:  1996-10-21  FTSE:  1996-10-22\\n\",\n      \"BP:  1996-10-22  FTSE:  1996-10-23\\n\",\n      \"BP:  1996-10-23  FTSE:  1996-10-24\\n\",\n      \"BP:  1996-10-24  FTSE:  1996-10-25\\n\",\n      \"BP:  1996-10-25  FTSE:  1996-10-28\\n\",\n      \"BP:  1996-10-28  FTSE:  1996-10-29\\n\",\n      \"BP:  1996-10-29  FTSE:  1996-10-30\\n\",\n      \"BP:  1996-10-30  FTSE:  1996-10-31\\n\",\n      \"BP:  1996-10-31  FTSE:  1996-11-01\\n\",\n      \"BP:  1996-11-01  FTSE:  1996-11-04\\n\",\n      \"BP:  1996-11-04  FTSE:  1996-11-05\\n\",\n      \"BP:  1996-11-05  FTSE:  1996-11-06\\n\",\n      \"BP:  1996-11-06  FTSE:  1996-11-07\\n\",\n      \"BP:  1996-11-07  FTSE:  1996-11-08\\n\",\n      \"BP:  1996-11-08  FTSE:  1996-11-11\\n\",\n      \"BP:  1996-11-11  FTSE:  1996-11-12\\n\",\n      \"BP:  1996-11-12  FTSE:  1996-11-13\\n\",\n      \"BP:  1996-11-13  FTSE:  1996-11-14\\n\",\n      \"BP:  1996-11-14  FTSE:  1996-11-15\\n\",\n      \"BP:  1996-11-15  FTSE:  1996-11-18\\n\",\n      \"BP:  1996-11-18  FTSE:  1996-11-19\\n\",\n      \"BP:  1996-11-19  FTSE:  1996-11-20\\n\",\n      \"BP:  1996-11-20  FTSE:  1996-11-21\\n\",\n      \"BP:  1996-11-21  FTSE:  1996-11-22\\n\",\n      \"BP:  1996-11-22  FTSE:  1996-11-25\\n\",\n      \"BP:  1996-11-25  FTSE:  1996-11-26\\n\",\n      \"BP:  1996-11-26  FTSE:  1996-11-27\\n\",\n      \"BP:  1996-11-27  FTSE:  1996-11-28\\n\",\n      \"BP:  1996-12-26  FTSE:  1996-12-27\\n\",\n      \"BP:  1996-12-27  FTSE:  1996-12-30\\n\",\n      \"BP:  1996-12-30  FTSE:  1996-12-31\\n\",\n      \"BP:  1996-12-31  FTSE:  1997-01-02\\n\",\n      \"BP:  1997-01-02  FTSE:  1997-01-03\\n\",\n      \"BP:  1997-01-03  FTSE:  1997-01-06\\n\",\n      \"BP:  1997-01-06  FTSE:  1997-01-07\\n\",\n      \"BP:  1997-01-07  FTSE:  1997-01-08\\n\",\n      \"BP:  1997-01-08  FTSE:  1997-01-09\\n\",\n      \"BP:  1997-01-09  FTSE:  1997-01-10\\n\",\n      \"BP:  1997-01-10  FTSE:  1997-01-13\\n\",\n      \"BP:  1997-01-13  FTSE:  1997-01-14\\n\",\n      \"BP:  1997-01-14  FTSE:  1997-01-15\\n\",\n      \"BP:  1997-01-15  FTSE:  1997-01-16\\n\",\n      \"BP:  1997-01-16  FTSE:  1997-01-17\\n\",\n      \"BP:  1997-01-17  FTSE:  1997-01-20\\n\",\n      \"BP:  1997-01-20  FTSE:  1997-01-21\\n\",\n      \"BP:  1997-01-21  FTSE:  1997-01-22\\n\",\n      \"BP:  1997-01-22  FTSE:  1997-01-23\\n\",\n      \"BP:  1997-01-23  FTSE:  1997-01-24\\n\",\n      \"BP:  1997-01-24  FTSE:  1997-01-27\\n\",\n      \"BP:  1997-01-27  FTSE:  1997-01-28\\n\",\n      \"BP:  1997-01-28  FTSE:  1997-01-29\\n\",\n      \"BP:  1997-01-29  FTSE:  1997-01-30\\n\",\n      \"BP:  1997-01-30  FTSE:  1997-01-31\\n\",\n      \"BP:  1997-01-31  FTSE:  1997-02-03\\n\",\n      \"BP:  1997-02-03  FTSE:  1997-02-04\\n\",\n      \"BP:  1997-02-04  FTSE:  1997-02-05\\n\",\n      \"BP:  1997-02-05  FTSE:  1997-02-06\\n\",\n      \"BP:  1997-02-06  FTSE:  1997-02-07\\n\",\n      \"BP:  1997-02-07  FTSE:  1997-02-10\\n\",\n      \"BP:  1997-02-10  FTSE:  1997-02-11\\n\",\n      \"BP:  1997-02-11  FTSE:  1997-02-12\\n\",\n      \"BP:  1997-02-12  FTSE:  1997-02-13\\n\",\n      \"BP:  1997-02-13  FTSE:  1997-02-14\\n\",\n      \"BP:  1997-02-14  FTSE:  1997-02-17\\n\",\n      \"BP:  1997-03-31  FTSE:  1997-04-01\\n\",\n      \"BP:  1997-04-01  FTSE:  1997-04-02\\n\",\n      \"BP:  1997-04-02  FTSE:  1997-04-03\\n\",\n      \"BP:  1997-04-03  FTSE:  1997-04-04\\n\",\n      \"BP:  1997-04-04  FTSE:  1997-04-07\\n\",\n      \"BP:  1997-04-07  FTSE:  1997-04-08\\n\",\n      \"BP:  1997-04-08  FTSE:  1997-04-09\\n\",\n      \"BP:  1997-04-09  FTSE:  1997-04-10\\n\",\n      \"BP:  1997-04-10  FTSE:  1997-04-11\\n\",\n      \"BP:  1997-04-11  FTSE:  1997-04-14\\n\",\n      \"BP:  1997-04-14  FTSE:  1997-04-15\\n\",\n      \"BP:  1997-04-15  FTSE:  1997-04-16\\n\",\n      \"BP:  1997-04-16  FTSE:  1997-04-17\\n\",\n      \"BP:  1997-04-17  FTSE:  1997-04-18\\n\",\n      \"BP:  1997-04-18  FTSE:  1997-04-21\\n\",\n      \"BP:  1997-04-21  FTSE:  1997-04-22\\n\",\n      \"BP:  1997-04-22  FTSE:  1997-04-23\\n\",\n      \"BP:  1997-04-23  FTSE:  1997-04-24\\n\",\n      \"BP:  1997-04-24  FTSE:  1997-04-25\\n\",\n      \"BP:  1997-04-25  FTSE:  1997-04-28\\n\",\n      \"BP:  1997-04-28  FTSE:  1997-04-29\\n\",\n      \"BP:  1997-04-29  FTSE:  1997-04-30\\n\",\n      \"BP:  1997-04-30  FTSE:  1997-05-01\\n\",\n      \"BP:  1997-05-01  FTSE:  1997-05-02\\n\",\n      \"BP:  1997-05-02  FTSE:  1997-05-06\\n\",\n      \"BP:  1997-05-05  FTSE:  1997-05-07\\n\",\n      \"BP:  1997-05-06  FTSE:  1997-05-08\\n\",\n      \"BP:  1997-05-07  FTSE:  1997-05-09\\n\",\n      \"BP:  1997-05-08  FTSE:  1997-05-12\\n\",\n      \"BP:  1997-05-09  FTSE:  1997-05-13\\n\",\n      \"BP:  1997-05-12  FTSE:  1997-05-14\\n\",\n      \"BP:  1997-05-13  FTSE:  1997-05-15\\n\",\n      \"BP:  1997-05-14  FTSE:  1997-05-16\\n\",\n      \"BP:  1997-05-15  FTSE:  1997-05-19\\n\",\n      \"BP:  1997-05-16  FTSE:  1997-05-20\\n\",\n      \"BP:  1997-05-19  FTSE:  1997-05-21\\n\",\n      \"BP:  1997-05-20  FTSE:  1997-05-22\\n\",\n      \"BP:  1997-05-21  FTSE:  1997-05-23\\n\",\n      \"BP:  1997-05-22  FTSE:  1997-05-27\\n\",\n      \"BP:  1997-05-23  FTSE:  1997-05-28\\n\",\n      \"BP:  1997-05-27  FTSE:  1997-05-29\\n\",\n      \"BP:  1997-05-28  FTSE:  1997-05-30\\n\",\n      \"BP:  1997-05-29  FTSE:  1997-06-02\\n\",\n      \"BP:  1997-05-30  FTSE:  1997-06-03\\n\",\n      \"BP:  1997-06-02  FTSE:  1997-06-04\\n\",\n      \"BP:  1997-06-03  FTSE:  1997-06-05\\n\",\n      \"BP:  1997-06-04  FTSE:  1997-06-06\\n\",\n      \"BP:  1997-06-05  FTSE:  1997-06-09\\n\",\n      \"BP:  1997-06-06  FTSE:  1997-06-10\\n\",\n      \"BP:  1997-06-09  FTSE:  1997-06-11\\n\",\n      \"BP:  1997-06-10  FTSE:  1997-06-12\\n\",\n      \"BP:  1997-06-11  FTSE:  1997-06-13\\n\",\n      \"BP:  1997-06-12  FTSE:  1997-06-16\\n\",\n      \"BP:  1997-06-13  FTSE:  1997-06-17\\n\",\n      \"BP:  1997-06-16  FTSE:  1997-06-18\\n\",\n      \"BP:  1997-06-17  FTSE:  1997-06-19\\n\",\n      \"BP:  1997-06-18  FTSE:  1997-06-20\\n\",\n      \"BP:  1997-06-19  FTSE:  1997-06-23\\n\",\n      \"BP:  1997-06-20  FTSE:  1997-06-24\\n\",\n      \"BP:  1997-06-23  FTSE:  1997-06-25\\n\",\n      \"BP:  1997-06-24  FTSE:  1997-06-26\\n\",\n      \"BP:  1997-06-25  FTSE:  1997-06-27\\n\",\n      \"BP:  1997-06-26  FTSE:  1997-06-30\\n\",\n      \"BP:  1997-06-27  FTSE:  1997-07-01\\n\",\n      \"BP:  1997-06-30  FTSE:  1997-07-02\\n\",\n      \"BP:  1997-07-01  FTSE:  1997-07-03\\n\",\n      \"BP:  1997-07-02  FTSE:  1997-07-04\\n\",\n      \"BP:  1997-07-03  FTSE:  1997-07-07\\n\",\n      \"BP:  1997-07-07  FTSE:  1997-07-08\\n\",\n      \"BP:  1997-07-08  FTSE:  1997-07-09\\n\",\n      \"BP:  1997-07-09  FTSE:  1997-07-10\\n\",\n      \"BP:  1997-07-10  FTSE:  1997-07-11\\n\",\n      \"BP:  1997-07-11  FTSE:  1997-07-14\\n\",\n      \"BP:  1997-07-14  FTSE:  1997-07-15\\n\",\n      \"BP:  1997-07-15  FTSE:  1997-07-16\\n\",\n      \"BP:  1997-07-16  FTSE:  1997-07-17\\n\",\n      \"BP:  1997-07-17  FTSE:  1997-07-18\\n\",\n      \"BP:  1997-07-18  FTSE:  1997-07-21\\n\",\n      \"BP:  1997-07-21  FTSE:  1997-07-22\\n\",\n      \"BP:  1997-07-22  FTSE:  1997-07-23\\n\",\n      \"BP:  1997-07-23  FTSE:  1997-07-24\\n\",\n      \"BP:  1997-07-24  FTSE:  1997-07-25\\n\",\n      \"BP:  1997-07-25  FTSE:  1997-07-28\\n\",\n      \"BP:  1997-07-28  FTSE:  1997-07-29\\n\",\n      \"BP:  1997-07-29  FTSE:  1997-07-30\\n\",\n      \"BP:  1997-07-30  FTSE:  1997-07-31\\n\",\n      \"BP:  1997-07-31  FTSE:  1997-08-01\\n\",\n      \"BP:  1997-08-01  FTSE:  1997-08-04\\n\",\n      \"BP:  1997-08-04  FTSE:  1997-08-05\\n\",\n      \"BP:  1997-08-05  FTSE:  1997-08-06\\n\",\n      \"BP:  1997-08-06  FTSE:  1997-08-07\\n\",\n      \"BP:  1997-08-07  FTSE:  1997-08-08\\n\",\n      \"BP:  1997-08-08  FTSE:  1997-08-11\\n\",\n      \"BP:  1997-08-11  FTSE:  1997-08-12\\n\",\n      \"BP:  1997-08-12  FTSE:  1997-08-13\\n\",\n      \"BP:  1997-08-13  FTSE:  1997-08-14\\n\",\n      \"BP:  1997-08-14  FTSE:  1997-08-15\\n\",\n      \"BP:  1997-08-15  FTSE:  1997-08-18\\n\",\n      \"BP:  1997-08-18  FTSE:  1997-08-19\\n\",\n      \"BP:  1997-08-19  FTSE:  1997-08-20\\n\",\n      \"BP:  1997-08-20  FTSE:  1997-08-21\\n\",\n      \"BP:  1997-08-21  FTSE:  1997-08-22\\n\",\n      \"BP:  1997-08-22  FTSE:  1997-08-26\\n\",\n      \"BP:  1997-08-25  FTSE:  1997-08-27\\n\",\n      \"BP:  1997-08-26  FTSE:  1997-08-28\\n\",\n      \"BP:  1997-08-27  FTSE:  1997-08-29\\n\",\n      \"BP:  1997-08-28  FTSE:  1997-09-01\\n\",\n      \"BP:  1997-08-29  FTSE:  1997-09-02\\n\",\n      \"BP:  1997-09-02  FTSE:  1997-09-03\\n\",\n      \"BP:  1997-09-03  FTSE:  1997-09-04\\n\",\n      \"BP:  1997-09-04  FTSE:  1997-09-05\\n\",\n      \"BP:  1997-09-05  FTSE:  1997-09-08\\n\",\n      \"BP:  1997-09-08  FTSE:  1997-09-09\\n\",\n      \"BP:  1997-09-09  FTSE:  1997-09-10\\n\",\n      \"BP:  1997-09-10  FTSE:  1997-09-11\\n\",\n      \"BP:  1997-09-11  FTSE:  1997-09-12\\n\",\n      \"BP:  1997-09-12  FTSE:  1997-09-15\\n\",\n      \"BP:  1997-09-15  FTSE:  1997-09-16\\n\",\n      \"BP:  1997-09-16  FTSE:  1997-09-17\\n\",\n      \"BP:  1997-09-17  FTSE:  1997-09-18\\n\",\n      \"BP:  1997-09-18  FTSE:  1997-09-19\\n\",\n      \"BP:  1997-09-19  FTSE:  1997-09-22\\n\",\n      \"BP:  1997-09-22  FTSE:  1997-09-23\\n\",\n      \"BP:  1997-09-23  FTSE:  1997-09-24\\n\",\n      \"BP:  1997-09-24  FTSE:  1997-09-25\\n\",\n      \"BP:  1997-09-25  FTSE:  1997-09-26\\n\",\n      \"BP:  1997-09-26  FTSE:  1997-09-29\\n\",\n      \"BP:  1997-09-29  FTSE:  1997-09-30\\n\",\n      \"BP:  1997-09-30  FTSE:  1997-10-01\\n\",\n      \"BP:  1997-10-01  FTSE:  1997-10-02\\n\",\n      \"BP:  1997-10-02  FTSE:  1997-10-03\\n\",\n      \"BP:  1997-10-03  FTSE:  1997-10-06\\n\",\n      \"BP:  1997-10-06  FTSE:  1997-10-07\\n\",\n      \"BP:  1997-10-07  FTSE:  1997-10-08\\n\",\n      \"BP:  1997-10-08  FTSE:  1997-10-09\\n\",\n      \"BP:  1997-10-09  FTSE:  1997-10-10\\n\",\n      \"BP:  1997-10-10  FTSE:  1997-10-13\\n\",\n      \"BP:  1997-10-13  FTSE:  1997-10-14\\n\",\n      \"BP:  1997-10-14  FTSE:  1997-10-15\\n\",\n      \"BP:  1997-10-15  FTSE:  1997-10-16\\n\",\n      \"BP:  1997-10-16  FTSE:  1997-10-17\\n\",\n      \"BP:  1997-10-17  FTSE:  1997-10-20\\n\",\n      \"BP:  1997-10-20  FTSE:  1997-10-21\\n\",\n      \"BP:  1997-10-21  FTSE:  1997-10-22\\n\",\n      \"BP:  1997-10-22  FTSE:  1997-10-23\\n\",\n      \"BP:  1997-10-23  FTSE:  1997-10-24\\n\",\n      \"BP:  1997-10-24  FTSE:  1997-10-27\\n\",\n      \"BP:  1997-10-27  FTSE:  1997-10-28\\n\",\n      \"BP:  1997-10-28  FTSE:  1997-10-29\\n\",\n      \"BP:  1997-10-29  FTSE:  1997-10-30\\n\",\n      \"BP:  1997-10-30  FTSE:  1997-10-31\\n\",\n      \"BP:  1997-10-31  FTSE:  1997-11-03\\n\",\n      \"BP:  1997-11-03  FTSE:  1997-11-04\\n\",\n      \"BP:  1997-11-04  FTSE:  1997-11-05\\n\",\n      \"BP:  1997-11-05  FTSE:  1997-11-06\\n\",\n      \"BP:  1997-11-06  FTSE:  1997-11-07\\n\",\n      \"BP:  1997-11-07  FTSE:  1997-11-10\\n\",\n      \"BP:  1997-11-10  FTSE:  1997-11-11\\n\",\n      \"BP:  1997-11-11  FTSE:  1997-11-12\\n\",\n      \"BP:  1997-11-12  FTSE:  1997-11-13\\n\",\n      \"BP:  1997-11-13  FTSE:  1997-11-14\\n\",\n      \"BP:  1997-11-14  FTSE:  1997-11-17\\n\",\n      \"BP:  1997-11-17  FTSE:  1997-11-18\\n\",\n      \"BP:  1997-11-18  FTSE:  1997-11-19\\n\",\n      \"BP:  1997-11-19  FTSE:  1997-11-20\\n\",\n      \"BP:  1997-11-20  FTSE:  1997-11-21\\n\",\n      \"BP:  1997-11-21  FTSE:  1997-11-24\\n\",\n      \"BP:  1997-11-24  FTSE:  1997-11-25\\n\",\n      \"BP:  1997-11-25  FTSE:  1997-11-26\\n\",\n      \"BP:  1997-11-26  FTSE:  1997-11-27\\n\",\n      \"BP:  1997-12-26  FTSE:  1997-12-29\\n\",\n      \"BP:  1997-12-29  FTSE:  1997-12-30\\n\",\n      \"BP:  1997-12-30  FTSE:  1997-12-31\\n\",\n      \"BP:  1997-12-31  FTSE:  1998-01-02\\n\",\n      \"BP:  1998-01-02  FTSE:  1998-01-05\\n\",\n      \"BP:  1998-01-05  FTSE:  1998-01-06\\n\",\n      \"BP:  1998-01-06  FTSE:  1998-01-07\\n\",\n      \"BP:  1998-01-07  FTSE:  1998-01-08\\n\",\n      \"BP:  1998-01-08  FTSE:  1998-01-09\\n\",\n      \"BP:  1998-01-09  FTSE:  1998-01-12\\n\",\n      \"BP:  1998-01-12  FTSE:  1998-01-13\\n\",\n      \"BP:  1998-01-13  FTSE:  1998-01-14\\n\",\n      \"BP:  1998-01-14  FTSE:  1998-01-15\\n\",\n      \"BP:  1998-01-15  FTSE:  1998-01-16\\n\",\n      \"BP:  1998-01-16  FTSE:  1998-01-19\\n\",\n      \"BP:  1998-02-17  FTSE:  1998-02-16\\n\",\n      \"BP:  1998-02-18  FTSE:  1998-02-17\\n\",\n      \"BP:  1998-02-19  FTSE:  1998-02-18\\n\",\n      \"BP:  1998-02-20  FTSE:  1998-02-19\\n\",\n      \"BP:  1998-02-23  FTSE:  1998-02-20\\n\",\n      \"BP:  1998-02-24  FTSE:  1998-02-23\\n\",\n      \"BP:  1998-02-25  FTSE:  1998-02-24\\n\",\n      \"BP:  1998-02-26  FTSE:  1998-02-25\\n\",\n      \"BP:  1998-02-27  FTSE:  1998-02-26\\n\",\n      \"BP:  1998-03-02  FTSE:  1998-02-27\\n\",\n      \"BP:  1998-03-03  FTSE:  1998-03-02\\n\",\n      \"BP:  1998-03-04  FTSE:  1998-03-03\\n\",\n      \"BP:  1998-03-05  FTSE:  1998-03-04\\n\",\n      \"BP:  1998-03-06  FTSE:  1998-03-05\\n\",\n      \"BP:  1998-03-09  FTSE:  1998-03-06\\n\",\n      \"BP:  1998-03-10  FTSE:  1998-03-09\\n\",\n      \"BP:  1998-03-11  FTSE:  1998-03-10\\n\",\n      \"BP:  1998-03-12  FTSE:  1998-03-11\\n\",\n      \"BP:  1998-03-13  FTSE:  1998-03-12\\n\",\n      \"BP:  1998-03-16  FTSE:  1998-03-13\\n\",\n      \"BP:  1998-03-17  FTSE:  1998-03-16\\n\",\n      \"BP:  1998-03-18  FTSE:  1998-03-17\\n\",\n      \"BP:  1998-03-19  FTSE:  1998-03-18\\n\",\n      \"BP:  1998-03-20  FTSE:  1998-03-19\\n\",\n      \"BP:  1998-03-23  FTSE:  1998-03-20\\n\",\n      \"BP:  1998-03-24  FTSE:  1998-03-23\\n\",\n      \"BP:  1998-03-25  FTSE:  1998-03-24\\n\",\n      \"BP:  1998-03-26  FTSE:  1998-03-25\\n\",\n      \"BP:  1998-03-27  FTSE:  1998-03-26\\n\",\n      \"BP:  1998-03-30  FTSE:  1998-03-27\\n\",\n      \"BP:  1998-03-31  FTSE:  1998-03-30\\n\",\n      \"BP:  1998-04-01  FTSE:  1998-03-31\\n\",\n      \"BP:  1998-04-02  FTSE:  1998-04-01\\n\",\n      \"BP:  1998-04-03  FTSE:  1998-04-02\\n\",\n      \"BP:  1998-04-06  FTSE:  1998-04-03\\n\",\n      \"BP:  1998-04-07  FTSE:  1998-04-06\\n\",\n      \"BP:  1998-04-08  FTSE:  1998-04-07\\n\",\n      \"BP:  1998-04-09  FTSE:  1998-04-08\\n\",\n      \"BP:  1998-04-13  FTSE:  1998-04-09\\n\",\n      \"BP:  1998-05-04  FTSE:  1998-05-05\\n\",\n      \"BP:  1998-05-05  FTSE:  1998-05-06\\n\",\n      \"BP:  1998-05-06  FTSE:  1998-05-07\\n\",\n      \"BP:  1998-05-07  FTSE:  1998-05-08\\n\",\n      \"BP:  1998-05-08  FTSE:  1998-05-11\\n\",\n      \"BP:  1998-05-11  FTSE:  1998-05-12\\n\",\n      \"BP:  1998-05-12  FTSE:  1998-05-13\\n\",\n      \"BP:  1998-05-13  FTSE:  1998-05-14\\n\",\n      \"BP:  1998-05-14  FTSE:  1998-05-15\\n\",\n      \"BP:  1998-05-15  FTSE:  1998-05-18\\n\",\n      \"BP:  1998-05-18  FTSE:  1998-05-19\\n\",\n      \"BP:  1998-05-19  FTSE:  1998-05-20\\n\",\n      \"BP:  1998-05-20  FTSE:  1998-05-21\\n\",\n      \"BP:  1998-05-21  FTSE:  1998-05-22\\n\",\n      \"BP:  1998-05-22  FTSE:  1998-05-26\\n\",\n      \"BP:  1998-05-26  FTSE:  1998-05-27\\n\",\n      \"BP:  1998-05-27  FTSE:  1998-05-28\\n\",\n      \"BP:  1998-05-28  FTSE:  1998-05-29\\n\",\n      \"BP:  1998-05-29  FTSE:  1998-06-01\\n\",\n      \"BP:  1998-06-01  FTSE:  1998-06-02\\n\",\n      \"BP:  1998-06-02  FTSE:  1998-06-03\\n\",\n      \"BP:  1998-06-03  FTSE:  1998-06-04\\n\",\n      \"BP:  1998-06-04  FTSE:  1998-06-05\\n\",\n      \"BP:  1998-06-05  FTSE:  1998-06-08\\n\",\n      \"BP:  1998-06-08  FTSE:  1998-06-09\\n\",\n      \"BP:  1998-06-09  FTSE:  1998-06-10\\n\",\n      \"BP:  1998-06-10  FTSE:  1998-06-11\\n\",\n      \"BP:  1998-06-11  FTSE:  1998-06-12\\n\",\n      \"BP:  1998-06-12  FTSE:  1998-06-15\\n\",\n      \"BP:  1998-06-15  FTSE:  1998-06-16\\n\",\n      \"BP:  1998-06-16  FTSE:  1998-06-17\\n\",\n      \"BP:  1998-06-17  FTSE:  1998-06-18\\n\",\n      \"BP:  1998-06-18  FTSE:  1998-06-19\\n\",\n      \"BP:  1998-06-19  FTSE:  1998-06-22\\n\",\n      \"BP:  1998-06-22  FTSE:  1998-06-23\\n\",\n      \"BP:  1998-06-23  FTSE:  1998-06-24\\n\",\n      \"BP:  1998-06-24  FTSE:  1998-06-25\\n\",\n      \"BP:  1998-06-25  FTSE:  1998-06-26\\n\",\n      \"BP:  1998-06-26  FTSE:  1998-06-29\\n\",\n      \"BP:  1998-06-29  FTSE:  1998-06-30\\n\",\n      \"BP:  1998-06-30  FTSE:  1998-07-01\\n\",\n      \"BP:  1998-07-01  FTSE:  1998-07-02\\n\",\n      \"BP:  1998-07-02  FTSE:  1998-07-03\\n\",\n      \"BP:  1998-08-31  FTSE:  1998-09-01\\n\",\n      \"BP:  1998-09-01  FTSE:  1998-09-02\\n\",\n      \"BP:  1998-09-02  FTSE:  1998-09-03\\n\",\n      \"BP:  1998-09-03  FTSE:  1998-09-04\\n\",\n      \"BP:  1998-09-04  FTSE:  1998-09-07\\n\",\n      \"BP:  1998-11-27  FTSE:  1998-11-26\\n\",\n      \"BP:  1998-11-30  FTSE:  1998-11-27\\n\",\n      \"BP:  1998-12-01  FTSE:  1998-11-30\\n\",\n      \"BP:  1998-12-02  FTSE:  1998-12-01\\n\",\n      \"BP:  1998-12-03  FTSE:  1998-12-02\\n\",\n      \"BP:  1998-12-04  FTSE:  1998-12-03\\n\",\n      \"BP:  1998-12-07  FTSE:  1998-12-04\\n\",\n      \"BP:  1998-12-08  FTSE:  1998-12-07\\n\",\n      \"BP:  1998-12-09  FTSE:  1998-12-08\\n\",\n      \"BP:  1998-12-10  FTSE:  1998-12-09\\n\",\n      \"BP:  1998-12-11  FTSE:  1998-12-10\\n\",\n      \"BP:  1998-12-14  FTSE:  1998-12-11\\n\",\n      \"BP:  1998-12-15  FTSE:  1998-12-14\\n\",\n      \"BP:  1998-12-16  FTSE:  1998-12-15\\n\",\n      \"BP:  1998-12-17  FTSE:  1998-12-16\\n\",\n      \"BP:  1998-12-18  FTSE:  1998-12-17\\n\",\n      \"BP:  1998-12-21  FTSE:  1998-12-18\\n\",\n      \"BP:  1998-12-22  FTSE:  1998-12-21\\n\",\n      \"BP:  1998-12-23  FTSE:  1998-12-22\\n\",\n      \"BP:  1998-12-24  FTSE:  1998-12-23\\n\",\n      \"BP:  1998-12-28  FTSE:  1998-12-24\\n\",\n      \"BP:  1998-12-31  FTSE:  1999-01-04\\n\",\n      \"BP:  1999-01-04  FTSE:  1999-01-05\\n\",\n      \"BP:  1999-01-05  FTSE:  1999-01-06\\n\",\n      \"BP:  1999-01-06  FTSE:  1999-01-07\\n\",\n      \"BP:  1999-01-07  FTSE:  1999-01-08\\n\",\n      \"BP:  1999-01-08  FTSE:  1999-01-11\\n\",\n      \"BP:  1999-01-11  FTSE:  1999-01-12\\n\",\n      \"BP:  1999-01-12  FTSE:  1999-01-13\\n\",\n      \"BP:  1999-01-13  FTSE:  1999-01-14\\n\",\n      \"BP:  1999-01-14  FTSE:  1999-01-15\\n\",\n      \"BP:  1999-01-15  FTSE:  1999-01-18\\n\",\n      \"BP:  1999-02-16  FTSE:  1999-02-15\\n\",\n      \"BP:  1999-02-17  FTSE:  1999-02-16\\n\",\n      \"BP:  1999-02-18  FTSE:  1999-02-17\\n\",\n      \"BP:  1999-02-19  FTSE:  1999-02-18\\n\",\n      \"BP:  1999-02-22  FTSE:  1999-02-19\\n\",\n      \"BP:  1999-02-23  FTSE:  1999-02-22\\n\",\n      \"BP:  1999-02-24  FTSE:  1999-02-23\\n\",\n      \"BP:  1999-02-25  FTSE:  1999-02-24\\n\",\n      \"BP:  1999-02-26  FTSE:  1999-02-25\\n\",\n      \"BP:  1999-03-01  FTSE:  1999-02-26\\n\",\n      \"BP:  1999-03-02  FTSE:  1999-03-01\\n\",\n      \"BP:  1999-03-03  FTSE:  1999-03-02\\n\",\n      \"BP:  1999-03-04  FTSE:  1999-03-03\\n\",\n      \"BP:  1999-03-05  FTSE:  1999-03-04\\n\",\n      \"BP:  1999-03-08  FTSE:  1999-03-05\\n\",\n      \"BP:  1999-03-09  FTSE:  1999-03-08\\n\",\n      \"BP:  1999-03-10  FTSE:  1999-03-09\\n\",\n      \"BP:  1999-03-11  FTSE:  1999-03-10\\n\",\n      \"BP:  1999-03-12  FTSE:  1999-03-11\\n\",\n      \"BP:  1999-03-15  FTSE:  1999-03-12\\n\",\n      \"BP:  1999-03-16  FTSE:  1999-03-15\\n\",\n      \"BP:  1999-03-17  FTSE:  1999-03-16\\n\",\n      \"BP:  1999-03-18  FTSE:  1999-03-17\\n\",\n      \"BP:  1999-03-19  FTSE:  1999-03-18\\n\",\n      \"BP:  1999-03-22  FTSE:  1999-03-19\\n\",\n      \"BP:  1999-03-23  FTSE:  1999-03-22\\n\",\n      \"BP:  1999-03-24  FTSE:  1999-03-23\\n\",\n      \"BP:  1999-03-25  FTSE:  1999-03-24\\n\",\n      \"BP:  1999-03-26  FTSE:  1999-03-25\\n\",\n      \"BP:  1999-03-29  FTSE:  1999-03-26\\n\",\n      \"BP:  1999-03-30  FTSE:  1999-03-29\\n\",\n      \"BP:  1999-03-31  FTSE:  1999-03-30\\n\",\n      \"BP:  1999-04-01  FTSE:  1999-03-31\\n\",\n      \"BP:  1999-04-05  FTSE:  1999-04-01\\n\",\n      \"BP:  1999-05-03  FTSE:  1999-05-04\\n\",\n      \"BP:  1999-05-04  FTSE:  1999-05-05\\n\",\n      \"BP:  1999-05-05  FTSE:  1999-05-06\\n\",\n      \"BP:  1999-05-06  FTSE:  1999-05-07\\n\",\n      \"BP:  1999-05-07  FTSE:  1999-05-10\\n\",\n      \"BP:  1999-05-10  FTSE:  1999-05-11\\n\",\n      \"BP:  1999-05-11  FTSE:  1999-05-12\\n\",\n      \"BP:  1999-05-12  FTSE:  1999-05-13\\n\",\n      \"BP:  1999-05-13  FTSE:  1999-05-14\\n\",\n      \"BP:  1999-05-14  FTSE:  1999-05-17\\n\",\n      \"BP:  1999-05-17  FTSE:  1999-05-18\\n\",\n      \"BP:  1999-05-18  FTSE:  1999-05-19\\n\",\n      \"BP:  1999-05-19  FTSE:  1999-05-20\\n\",\n      \"BP:  1999-05-20  FTSE:  1999-05-21\\n\",\n      \"BP:  1999-05-21  FTSE:  1999-05-24\\n\",\n      \"BP:  1999-05-24  FTSE:  1999-05-25\\n\",\n      \"BP:  1999-05-25  FTSE:  1999-05-26\\n\",\n      \"BP:  1999-05-26  FTSE:  1999-05-27\\n\",\n      \"BP:  1999-05-27  FTSE:  1999-05-28\\n\",\n      \"BP:  1999-05-28  FTSE:  1999-06-01\\n\",\n      \"BP:  1999-06-01  FTSE:  1999-06-02\\n\",\n      \"BP:  1999-06-02  FTSE:  1999-06-03\\n\",\n      \"BP:  1999-06-03  FTSE:  1999-06-04\\n\",\n      \"BP:  1999-06-04  FTSE:  1999-06-07\\n\",\n      \"BP:  1999-06-07  FTSE:  1999-06-08\\n\",\n      \"BP:  1999-06-08  FTSE:  1999-06-09\\n\",\n      \"BP:  1999-06-09  FTSE:  1999-06-10\\n\",\n      \"BP:  1999-06-10  FTSE:  1999-06-11\\n\",\n      \"BP:  1999-06-11  FTSE:  1999-06-14\\n\",\n      \"BP:  1999-06-14  FTSE:  1999-06-15\\n\",\n      \"BP:  1999-06-15  FTSE:  1999-06-16\\n\",\n      \"BP:  1999-06-16  FTSE:  1999-06-17\\n\",\n      \"BP:  1999-06-17  FTSE:  1999-06-18\\n\",\n      \"BP:  1999-06-18  FTSE:  1999-06-21\\n\",\n      \"BP:  1999-06-21  FTSE:  1999-06-22\\n\",\n      \"BP:  1999-06-22  FTSE:  1999-06-23\\n\",\n      \"BP:  1999-06-23  FTSE:  1999-06-24\\n\",\n      \"BP:  1999-06-24  FTSE:  1999-06-25\\n\",\n      \"BP:  1999-06-25  FTSE:  1999-06-28\\n\",\n      \"BP:  1999-06-28  FTSE:  1999-06-29\\n\",\n      \"BP:  1999-06-29  FTSE:  1999-06-30\\n\",\n      \"BP:  1999-06-30  FTSE:  1999-07-01\\n\",\n      \"BP:  1999-07-01  FTSE:  1999-07-02\\n\",\n      \"BP:  1999-07-02  FTSE:  1999-07-05\\n\",\n      \"BP:  1999-08-30  FTSE:  1999-08-31\\n\",\n      \"BP:  1999-08-31  FTSE:  1999-09-01\\n\",\n      \"BP:  1999-09-01  FTSE:  1999-09-02\\n\",\n      \"BP:  1999-09-02  FTSE:  1999-09-03\\n\",\n      \"BP:  1999-09-03  FTSE:  1999-09-06\\n\",\n      \"BP:  1999-11-26  FTSE:  1999-11-25\\n\",\n      \"BP:  1999-11-29  FTSE:  1999-11-26\\n\",\n      \"BP:  1999-11-30  FTSE:  1999-11-29\\n\",\n      \"BP:  1999-12-01  FTSE:  1999-11-30\\n\",\n      \"BP:  1999-12-02  FTSE:  1999-12-01\\n\",\n      \"BP:  1999-12-03  FTSE:  1999-12-02\\n\",\n      \"BP:  1999-12-06  FTSE:  1999-12-03\\n\",\n      \"BP:  1999-12-07  FTSE:  1999-12-06\\n\",\n      \"BP:  1999-12-08  FTSE:  1999-12-07\\n\",\n      \"BP:  1999-12-09  FTSE:  1999-12-08\\n\",\n      \"BP:  1999-12-10  FTSE:  1999-12-09\\n\",\n      \"BP:  1999-12-13  FTSE:  1999-12-10\\n\",\n      \"BP:  1999-12-14  FTSE:  1999-12-13\\n\",\n      \"BP:  1999-12-15  FTSE:  1999-12-14\\n\",\n      \"BP:  1999-12-16  FTSE:  1999-12-15\\n\",\n      \"BP:  1999-12-17  FTSE:  1999-12-16\\n\",\n      \"BP:  1999-12-20  FTSE:  1999-12-17\\n\",\n      \"BP:  1999-12-21  FTSE:  1999-12-20\\n\",\n      \"BP:  1999-12-22  FTSE:  1999-12-21\\n\",\n      \"BP:  1999-12-23  FTSE:  1999-12-22\\n\",\n      \"BP:  1999-12-27  FTSE:  1999-12-23\\n\",\n      \"BP:  1999-12-28  FTSE:  1999-12-24\\n\",\n      \"BP:  1999-12-31  FTSE:  2000-01-04\\n\",\n      \"BP:  2000-01-03  FTSE:  2000-01-05\\n\",\n      \"BP:  2000-01-04  FTSE:  2000-01-06\\n\",\n      \"BP:  2000-01-05  FTSE:  2000-01-07\\n\",\n      \"BP:  2000-01-06  FTSE:  2000-01-10\\n\",\n      \"BP:  2000-01-07  FTSE:  2000-01-11\\n\",\n      \"BP:  2000-01-10  FTSE:  2000-01-12\\n\",\n      \"BP:  2000-01-11  FTSE:  2000-01-13\\n\",\n      \"BP:  2000-01-12  FTSE:  2000-01-14\\n\",\n      \"BP:  2000-01-13  FTSE:  2000-01-17\\n\",\n      \"BP:  2000-01-14  FTSE:  2000-01-18\\n\",\n      \"BP:  2000-01-18  FTSE:  2000-01-19\\n\",\n      \"BP:  2000-01-19  FTSE:  2000-01-20\\n\",\n      \"BP:  2000-01-20  FTSE:  2000-01-21\\n\",\n      \"BP:  2000-01-21  FTSE:  2000-01-24\\n\",\n      \"BP:  2000-01-24  FTSE:  2000-01-25\\n\",\n      \"BP:  2000-01-25  FTSE:  2000-01-26\\n\",\n      \"BP:  2000-01-26  FTSE:  2000-01-27\\n\",\n      \"BP:  2000-01-27  FTSE:  2000-01-28\\n\",\n      \"BP:  2000-01-28  FTSE:  2000-01-31\\n\",\n      \"BP:  2000-01-31  FTSE:  2000-02-01\\n\",\n      \"BP:  2000-02-01  FTSE:  2000-02-02\\n\",\n      \"BP:  2000-02-02  FTSE:  2000-02-03\\n\",\n      \"BP:  2000-02-03  FTSE:  2000-02-04\\n\",\n      \"BP:  2000-02-04  FTSE:  2000-02-07\\n\",\n      \"BP:  2000-02-07  FTSE:  2000-02-08\\n\",\n      \"BP:  2000-02-08  FTSE:  2000-02-09\\n\",\n      \"BP:  2000-02-09  FTSE:  2000-02-10\\n\",\n      \"BP:  2000-02-10  FTSE:  2000-02-11\\n\",\n      \"BP:  2000-02-11  FTSE:  2000-02-14\\n\",\n      \"BP:  2000-02-14  FTSE:  2000-02-15\\n\",\n      \"BP:  2000-02-15  FTSE:  2000-02-16\\n\",\n      \"BP:  2000-02-16  FTSE:  2000-02-17\\n\",\n      \"BP:  2000-02-17  FTSE:  2000-02-18\\n\",\n      \"BP:  2000-02-18  FTSE:  2000-02-21\\n\",\n      \"BP:  2000-04-24  FTSE:  2000-04-25\\n\",\n      \"BP:  2000-04-25  FTSE:  2000-04-26\\n\",\n      \"BP:  2000-04-26  FTSE:  2000-04-27\\n\",\n      \"BP:  2000-04-27  FTSE:  2000-04-28\\n\",\n      \"BP:  2000-04-28  FTSE:  2000-05-02\\n\",\n      \"BP:  2000-05-01  FTSE:  2000-05-03\\n\",\n      \"BP:  2000-05-02  FTSE:  2000-05-04\\n\",\n      \"BP:  2000-05-03  FTSE:  2000-05-05\\n\",\n      \"BP:  2000-05-04  FTSE:  2000-05-08\\n\",\n      \"BP:  2000-05-05  FTSE:  2000-05-09\\n\",\n      \"BP:  2000-05-08  FTSE:  2000-05-10\\n\",\n      \"BP:  2000-05-09  FTSE:  2000-05-11\\n\",\n      \"BP:  2000-05-10  FTSE:  2000-05-12\\n\",\n      \"BP:  2000-05-11  FTSE:  2000-05-15\\n\",\n      \"BP:  2000-05-12  FTSE:  2000-05-16\\n\",\n      \"BP:  2000-05-15  FTSE:  2000-05-17\\n\",\n      \"BP:  2000-05-16  FTSE:  2000-05-18\\n\",\n      \"BP:  2000-05-17  FTSE:  2000-05-19\\n\",\n      \"BP:  2000-05-18  FTSE:  2000-05-22\\n\",\n      \"BP:  2000-05-19  FTSE:  2000-05-23\\n\",\n      \"BP:  2000-05-22  FTSE:  2000-05-24\\n\",\n      \"BP:  2000-05-23  FTSE:  2000-05-25\\n\",\n      \"BP:  2000-05-24  FTSE:  2000-05-26\\n\",\n      \"BP:  2000-05-25  FTSE:  2000-05-30\\n\",\n      \"BP:  2000-05-26  FTSE:  2000-05-31\\n\",\n      \"BP:  2000-05-30  FTSE:  2000-06-01\\n\",\n      \"BP:  2000-05-31  FTSE:  2000-06-02\\n\",\n      \"BP:  2000-06-01  FTSE:  2000-06-05\\n\",\n      \"BP:  2000-06-02  FTSE:  2000-06-06\\n\",\n      \"BP:  2000-06-05  FTSE:  2000-06-07\\n\",\n      \"BP:  2000-06-06  FTSE:  2000-06-08\\n\",\n      \"BP:  2000-06-07  FTSE:  2000-06-09\\n\",\n      \"BP:  2000-06-08  FTSE:  2000-06-12\\n\",\n      \"BP:  2000-06-09  FTSE:  2000-06-13\\n\",\n      \"BP:  2000-06-12  FTSE:  2000-06-14\\n\",\n      \"BP:  2000-06-13  FTSE:  2000-06-15\\n\",\n      \"BP:  2000-06-14  FTSE:  2000-06-16\\n\",\n      \"BP:  2000-06-15  FTSE:  2000-06-19\\n\",\n      \"BP:  2000-06-16  FTSE:  2000-06-20\\n\",\n      \"BP:  2000-06-19  FTSE:  2000-06-21\\n\",\n      \"BP:  2000-06-20  FTSE:  2000-06-22\\n\",\n      \"BP:  2000-06-21  FTSE:  2000-06-23\\n\",\n      \"BP:  2000-06-22  FTSE:  2000-06-26\\n\",\n      \"BP:  2000-06-23  FTSE:  2000-06-27\\n\",\n      \"BP:  2000-06-26  FTSE:  2000-06-28\\n\",\n      \"BP:  2000-06-27  FTSE:  2000-06-29\\n\",\n      \"BP:  2000-06-28  FTSE:  2000-06-30\\n\",\n      \"BP:  2000-06-29  FTSE:  2000-07-03\\n\",\n      \"BP:  2000-06-30  FTSE:  2000-07-04\\n\",\n      \"BP:  2000-07-03  FTSE:  2000-07-05\\n\",\n      \"BP:  2000-07-05  FTSE:  2000-07-06\\n\",\n      \"BP:  2000-07-06  FTSE:  2000-07-07\\n\",\n      \"BP:  2000-07-07  FTSE:  2000-07-10\\n\",\n      \"BP:  2000-07-10  FTSE:  2000-07-11\\n\",\n      \"BP:  2000-07-11  FTSE:  2000-07-12\\n\",\n      \"BP:  2000-07-12  FTSE:  2000-07-13\\n\",\n      \"BP:  2000-07-13  FTSE:  2000-07-14\\n\",\n      \"BP:  2000-07-14  FTSE:  2000-07-17\\n\",\n      \"BP:  2000-07-17  FTSE:  2000-07-18\\n\",\n      \"BP:  2000-07-18  FTSE:  2000-07-19\\n\",\n      \"BP:  2000-07-19  FTSE:  2000-07-20\\n\",\n      \"BP:  2000-07-20  FTSE:  2000-07-21\\n\",\n      \"BP:  2000-07-21  FTSE:  2000-07-24\\n\",\n      \"BP:  2000-07-24  FTSE:  2000-07-25\\n\",\n      \"BP:  2000-07-25  FTSE:  2000-07-26\\n\",\n      \"BP:  2000-07-26  FTSE:  2000-07-27\\n\",\n      \"BP:  2000-07-27  FTSE:  2000-07-28\\n\",\n      \"BP:  2000-07-28  FTSE:  2000-07-31\\n\",\n      \"BP:  2000-07-31  FTSE:  2000-08-01\\n\",\n      \"BP:  2000-08-01  FTSE:  2000-08-02\\n\",\n      \"BP:  2000-08-02  FTSE:  2000-08-03\\n\",\n      \"BP:  2000-08-03  FTSE:  2000-08-04\\n\",\n      \"BP:  2000-08-04  FTSE:  2000-08-07\\n\",\n      \"BP:  2000-08-07  FTSE:  2000-08-08\\n\",\n      \"BP:  2000-08-08  FTSE:  2000-08-09\\n\",\n      \"BP:  2000-08-09  FTSE:  2000-08-10\\n\",\n      \"BP:  2000-08-10  FTSE:  2000-08-11\\n\",\n      \"BP:  2000-08-11  FTSE:  2000-08-14\\n\",\n      \"BP:  2000-08-14  FTSE:  2000-08-15\\n\",\n      \"BP:  2000-08-15  FTSE:  2000-08-16\\n\",\n      \"BP:  2000-08-16  FTSE:  2000-08-17\\n\",\n      \"BP:  2000-08-17  FTSE:  2000-08-18\\n\",\n      \"BP:  2000-08-18  FTSE:  2000-08-21\\n\",\n      \"BP:  2000-08-21  FTSE:  2000-08-22\\n\",\n      \"BP:  2000-08-22  FTSE:  2000-08-23\\n\",\n      \"BP:  2000-08-23  FTSE:  2000-08-24\\n\",\n      \"BP:  2000-08-24  FTSE:  2000-08-25\\n\",\n      \"BP:  2000-08-25  FTSE:  2000-08-29\\n\",\n      \"BP:  2000-08-28  FTSE:  2000-08-30\\n\",\n      \"BP:  2000-08-29  FTSE:  2000-08-31\\n\",\n      \"BP:  2000-08-30  FTSE:  2000-09-01\\n\",\n      \"BP:  2000-08-31  FTSE:  2000-09-04\\n\",\n      \"BP:  2000-09-01  FTSE:  2000-09-05\\n\",\n      \"BP:  2000-09-05  FTSE:  2000-09-06\\n\",\n      \"BP:  2000-09-06  FTSE:  2000-09-07\\n\",\n      \"BP:  2000-09-07  FTSE:  2000-09-08\\n\",\n      \"BP:  2000-09-08  FTSE:  2000-09-11\\n\",\n      \"BP:  2000-09-11  FTSE:  2000-09-12\\n\",\n      \"BP:  2000-09-12  FTSE:  2000-09-13\\n\",\n      \"BP:  2000-09-13  FTSE:  2000-09-14\\n\",\n      \"BP:  2000-09-14  FTSE:  2000-09-15\\n\",\n      \"BP:  2000-09-15  FTSE:  2000-09-18\\n\",\n      \"BP:  2000-09-18  FTSE:  2000-09-19\\n\",\n      \"BP:  2000-09-19  FTSE:  2000-09-20\\n\",\n      \"BP:  2000-09-20  FTSE:  2000-09-21\\n\",\n      \"BP:  2000-09-21  FTSE:  2000-09-22\\n\",\n      \"BP:  2000-09-22  FTSE:  2000-09-25\\n\",\n      \"BP:  2000-09-25  FTSE:  2000-09-26\\n\",\n      \"BP:  2000-09-26  FTSE:  2000-09-27\\n\",\n      \"BP:  2000-09-27  FTSE:  2000-09-28\\n\",\n      \"BP:  2000-09-28  FTSE:  2000-09-29\\n\",\n      \"BP:  2000-09-29  FTSE:  2000-10-02\\n\",\n      \"BP:  2000-10-02  FTSE:  2000-10-03\\n\",\n      \"BP:  2000-10-03  FTSE:  2000-10-04\\n\",\n      \"BP:  2000-10-04  FTSE:  2000-10-05\\n\",\n      \"BP:  2000-10-05  FTSE:  2000-10-06\\n\",\n      \"BP:  2000-10-06  FTSE:  2000-10-09\\n\",\n      \"BP:  2000-10-09  FTSE:  2000-10-10\\n\",\n      \"BP:  2000-10-10  FTSE:  2000-10-11\\n\",\n      \"BP:  2000-10-11  FTSE:  2000-10-12\\n\",\n      \"BP:  2000-10-12  FTSE:  2000-10-13\\n\",\n      \"BP:  2000-10-13  FTSE:  2000-10-16\\n\",\n      \"BP:  2000-10-16  FTSE:  2000-10-17\\n\",\n      \"BP:  2000-10-17  FTSE:  2000-10-18\\n\",\n      \"BP:  2000-10-18  FTSE:  2000-10-19\\n\",\n      \"BP:  2000-10-19  FTSE:  2000-10-20\\n\",\n      \"BP:  2000-10-20  FTSE:  2000-10-23\\n\",\n      \"BP:  2000-10-23  FTSE:  2000-10-24\\n\",\n      \"BP:  2000-10-24  FTSE:  2000-10-25\\n\",\n      \"BP:  2000-10-25  FTSE:  2000-10-26\\n\",\n      \"BP:  2000-10-26  FTSE:  2000-10-27\\n\",\n      \"BP:  2000-10-27  FTSE:  2000-10-30\\n\",\n      \"BP:  2000-10-30  FTSE:  2000-10-31\\n\",\n      \"BP:  2000-10-31  FTSE:  2000-11-01\\n\",\n      \"BP:  2000-11-01  FTSE:  2000-11-02\\n\",\n      \"BP:  2000-11-02  FTSE:  2000-11-03\\n\",\n      \"BP:  2000-11-03  FTSE:  2000-11-06\\n\",\n      \"BP:  2000-11-06  FTSE:  2000-11-07\\n\",\n      \"BP:  2000-11-07  FTSE:  2000-11-08\\n\",\n      \"BP:  2000-11-08  FTSE:  2000-11-09\\n\",\n      \"BP:  2000-11-09  FTSE:  2000-11-10\\n\",\n      \"BP:  2000-11-10  FTSE:  2000-11-13\\n\",\n      \"BP:  2000-11-13  FTSE:  2000-11-14\\n\",\n      \"BP:  2000-11-14  FTSE:  2000-11-15\\n\",\n      \"BP:  2000-11-15  FTSE:  2000-11-16\\n\",\n      \"BP:  2000-11-16  FTSE:  2000-11-17\\n\",\n      \"BP:  2000-11-17  FTSE:  2000-11-20\\n\",\n      \"BP:  2000-11-20  FTSE:  2000-11-21\\n\",\n      \"BP:  2000-11-21  FTSE:  2000-11-22\\n\",\n      \"BP:  2000-11-22  FTSE:  2000-11-23\\n\",\n      \"BP:  2000-12-26  FTSE:  2000-12-27\\n\",\n      \"BP:  2000-12-27  FTSE:  2000-12-28\\n\",\n      \"BP:  2000-12-28  FTSE:  2000-12-29\\n\",\n      \"BP:  2000-12-29  FTSE:  2001-01-02\\n\",\n      \"BP:  2001-01-02  FTSE:  2001-01-03\\n\",\n      \"BP:  2001-01-03  FTSE:  2001-01-04\\n\",\n      \"BP:  2001-01-04  FTSE:  2001-01-05\\n\",\n      \"BP:  2001-01-05  FTSE:  2001-01-08\\n\",\n      \"BP:  2001-01-08  FTSE:  2001-01-09\\n\",\n      \"BP:  2001-01-09  FTSE:  2001-01-10\\n\",\n      \"BP:  2001-01-10  FTSE:  2001-01-11\\n\",\n      \"BP:  2001-01-11  FTSE:  2001-01-12\\n\",\n      \"BP:  2001-01-12  FTSE:  2001-01-15\\n\",\n      \"BP:  2001-02-20  FTSE:  2001-02-19\\n\",\n      \"BP:  2001-02-21  FTSE:  2001-02-20\\n\",\n      \"BP:  2001-02-22  FTSE:  2001-02-21\\n\",\n      \"BP:  2001-02-23  FTSE:  2001-02-22\\n\",\n      \"BP:  2001-02-26  FTSE:  2001-02-23\\n\",\n      \"BP:  2001-02-27  FTSE:  2001-02-26\\n\",\n      \"BP:  2001-02-28  FTSE:  2001-02-27\\n\",\n      \"BP:  2001-03-01  FTSE:  2001-02-28\\n\",\n      \"BP:  2001-03-02  FTSE:  2001-03-01\\n\",\n      \"BP:  2001-03-05  FTSE:  2001-03-02\\n\",\n      \"BP:  2001-03-06  FTSE:  2001-03-05\\n\",\n      \"BP:  2001-03-07  FTSE:  2001-03-06\\n\",\n      \"BP:  2001-03-08  FTSE:  2001-03-07\\n\",\n      \"BP:  2001-03-09  FTSE:  2001-03-08\\n\",\n      \"BP:  2001-03-12  FTSE:  2001-03-09\\n\",\n      \"BP:  2001-03-13  FTSE:  2001-03-12\\n\",\n      \"BP:  2001-03-14  FTSE:  2001-03-13\\n\",\n      \"BP:  2001-03-15  FTSE:  2001-03-14\\n\",\n      \"BP:  2001-03-16  FTSE:  2001-03-15\\n\",\n      \"BP:  2001-03-19  FTSE:  2001-03-16\\n\",\n      \"BP:  2001-03-20  FTSE:  2001-03-19\\n\",\n      \"BP:  2001-03-21  FTSE:  2001-03-20\\n\",\n      \"BP:  2001-03-22  FTSE:  2001-03-21\\n\",\n      \"BP:  2001-03-23  FTSE:  2001-03-22\\n\",\n      \"BP:  2001-03-26  FTSE:  2001-03-23\\n\",\n      \"BP:  2001-03-27  FTSE:  2001-03-26\\n\",\n      \"BP:  2001-03-28  FTSE:  2001-03-27\\n\",\n      \"BP:  2001-03-29  FTSE:  2001-03-28\\n\",\n      \"BP:  2001-03-30  FTSE:  2001-03-29\\n\",\n      \"BP:  2001-04-02  FTSE:  2001-03-30\\n\",\n      \"BP:  2001-04-03  FTSE:  2001-04-02\\n\",\n      \"BP:  2001-04-04  FTSE:  2001-04-03\\n\",\n      \"BP:  2001-04-05  FTSE:  2001-04-04\\n\",\n      \"BP:  2001-04-06  FTSE:  2001-04-05\\n\",\n      \"BP:  2001-04-09  FTSE:  2001-04-06\\n\",\n      \"BP:  2001-04-10  FTSE:  2001-04-09\\n\",\n      \"BP:  2001-04-11  FTSE:  2001-04-10\\n\",\n      \"BP:  2001-04-12  FTSE:  2001-04-11\\n\",\n      \"BP:  2001-04-16  FTSE:  2001-04-12\\n\",\n      \"BP:  2001-05-07  FTSE:  2001-05-08\\n\",\n      \"BP:  2001-05-08  FTSE:  2001-05-09\\n\",\n      \"BP:  2001-05-09  FTSE:  2001-05-10\\n\",\n      \"BP:  2001-05-10  FTSE:  2001-05-11\\n\",\n      \"BP:  2001-05-11  FTSE:  2001-05-14\\n\",\n      \"BP:  2001-05-14  FTSE:  2001-05-15\\n\",\n      \"BP:  2001-05-15  FTSE:  2001-05-16\\n\",\n      \"BP:  2001-05-16  FTSE:  2001-05-17\\n\",\n      \"BP:  2001-05-17  FTSE:  2001-05-18\\n\",\n      \"BP:  2001-05-18  FTSE:  2001-05-21\\n\",\n      \"BP:  2001-05-21  FTSE:  2001-05-22\\n\",\n      \"BP:  2001-05-22  FTSE:  2001-05-23\\n\",\n      \"BP:  2001-05-23  FTSE:  2001-05-24\\n\",\n      \"BP:  2001-05-24  FTSE:  2001-05-25\\n\",\n      \"BP:  2001-05-25  FTSE:  2001-05-29\\n\",\n      \"BP:  2001-05-29  FTSE:  2001-05-30\\n\",\n      \"BP:  2001-05-30  FTSE:  2001-05-31\\n\",\n      \"BP:  2001-05-31  FTSE:  2001-06-01\\n\",\n      \"BP:  2001-06-01  FTSE:  2001-06-04\\n\",\n      \"BP:  2001-06-04  FTSE:  2001-06-05\\n\",\n      \"BP:  2001-06-05  FTSE:  2001-06-06\\n\",\n      \"BP:  2001-06-06  FTSE:  2001-06-07\\n\",\n      \"BP:  2001-06-07  FTSE:  2001-06-08\\n\",\n      \"BP:  2001-06-08  FTSE:  2001-06-11\\n\",\n      \"BP:  2001-06-11  FTSE:  2001-06-12\\n\",\n      \"BP:  2001-06-12  FTSE:  2001-06-13\\n\",\n      \"BP:  2001-06-13  FTSE:  2001-06-14\\n\",\n      \"BP:  2001-06-14  FTSE:  2001-06-15\\n\",\n      \"BP:  2001-06-15  FTSE:  2001-06-18\\n\",\n      \"BP:  2001-06-18  FTSE:  2001-06-19\\n\",\n      \"BP:  2001-06-19  FTSE:  2001-06-20\\n\",\n      \"BP:  2001-06-20  FTSE:  2001-06-21\\n\",\n      \"BP:  2001-06-21  FTSE:  2001-06-22\\n\",\n      \"BP:  2001-06-22  FTSE:  2001-06-25\\n\",\n      \"BP:  2001-06-25  FTSE:  2001-06-26\\n\",\n      \"BP:  2001-06-26  FTSE:  2001-06-27\\n\",\n      \"BP:  2001-06-27  FTSE:  2001-06-28\\n\",\n      \"BP:  2001-06-28  FTSE:  2001-06-29\\n\",\n      \"BP:  2001-06-29  FTSE:  2001-07-02\\n\",\n      \"BP:  2001-07-02  FTSE:  2001-07-03\\n\",\n      \"BP:  2001-07-03  FTSE:  2001-07-04\\n\",\n      \"BP:  2001-08-27  FTSE:  2001-08-28\\n\",\n      \"BP:  2001-08-28  FTSE:  2001-08-29\\n\",\n      \"BP:  2001-08-29  FTSE:  2001-08-30\\n\",\n      \"BP:  2001-08-30  FTSE:  2001-08-31\\n\",\n      \"BP:  2001-08-31  FTSE:  2001-09-03\\n\",\n      \"BP:  2001-09-17  FTSE:  2001-09-11\\n\",\n      \"BP:  2001-09-18  FTSE:  2001-09-12\\n\",\n      \"BP:  2001-09-19  FTSE:  2001-09-13\\n\",\n      \"BP:  2001-09-20  FTSE:  2001-09-14\\n\",\n      \"BP:  2001-09-21  FTSE:  2001-09-17\\n\",\n      \"BP:  2001-09-24  FTSE:  2001-09-18\\n\",\n      \"BP:  2001-09-25  FTSE:  2001-09-19\\n\",\n      \"BP:  2001-09-26  FTSE:  2001-09-20\\n\",\n      \"BP:  2001-09-27  FTSE:  2001-09-21\\n\",\n      \"BP:  2001-09-28  FTSE:  2001-09-24\\n\",\n      \"BP:  2001-10-01  FTSE:  2001-09-25\\n\",\n      \"BP:  2001-10-02  FTSE:  2001-09-26\\n\",\n      \"BP:  2001-10-03  FTSE:  2001-09-27\\n\",\n      \"BP:  2001-10-04  FTSE:  2001-09-28\\n\",\n      \"BP:  2001-10-05  FTSE:  2001-10-01\\n\",\n      \"BP:  2001-10-08  FTSE:  2001-10-02\\n\",\n      \"BP:  2001-10-09  FTSE:  2001-10-03\\n\",\n      \"BP:  2001-10-10  FTSE:  2001-10-04\\n\",\n      \"BP:  2001-10-11  FTSE:  2001-10-05\\n\",\n      \"BP:  2001-10-12  FTSE:  2001-10-08\\n\",\n      \"BP:  2001-10-15  FTSE:  2001-10-09\\n\",\n      \"BP:  2001-10-16  FTSE:  2001-10-10\\n\",\n      \"BP:  2001-10-17  FTSE:  2001-10-11\\n\",\n      \"BP:  2001-10-18  FTSE:  2001-10-12\\n\",\n      \"BP:  2001-10-19  FTSE:  2001-10-15\\n\",\n      \"BP:  2001-10-22  FTSE:  2001-10-16\\n\",\n      \"BP:  2001-10-23  FTSE:  2001-10-17\\n\",\n      \"BP:  2001-10-24  FTSE:  2001-10-18\\n\",\n      \"BP:  2001-10-25  FTSE:  2001-10-19\\n\",\n      \"BP:  2001-10-26  FTSE:  2001-10-22\\n\",\n      \"BP:  2001-10-29  FTSE:  2001-10-23\\n\",\n      \"BP:  2001-10-30  FTSE:  2001-10-24\\n\",\n      \"BP:  2001-10-31  FTSE:  2001-10-25\\n\",\n      \"BP:  2001-11-01  FTSE:  2001-10-26\\n\",\n      \"BP:  2001-11-02  FTSE:  2001-10-29\\n\",\n      \"BP:  2001-11-05  FTSE:  2001-10-30\\n\",\n      \"BP:  2001-11-06  FTSE:  2001-10-31\\n\",\n      \"BP:  2001-11-07  FTSE:  2001-11-01\\n\",\n      \"BP:  2001-11-08  FTSE:  2001-11-02\\n\",\n      \"BP:  2001-11-09  FTSE:  2001-11-05\\n\",\n      \"BP:  2001-11-12  FTSE:  2001-11-06\\n\",\n      \"BP:  2001-11-13  FTSE:  2001-11-07\\n\",\n      \"BP:  2001-11-14  FTSE:  2001-11-08\\n\",\n      \"BP:  2001-11-15  FTSE:  2001-11-09\\n\",\n      \"BP:  2001-11-16  FTSE:  2001-11-12\\n\",\n      \"BP:  2001-11-19  FTSE:  2001-11-13\\n\",\n      \"BP:  2001-11-20  FTSE:  2001-11-14\\n\",\n      \"BP:  2001-11-21  FTSE:  2001-11-15\\n\",\n      \"BP:  2001-11-23  FTSE:  2001-11-16\\n\",\n      \"BP:  2001-11-26  FTSE:  2001-11-19\\n\",\n      \"BP:  2001-11-27  FTSE:  2001-11-20\\n\",\n      \"BP:  2001-11-28  FTSE:  2001-11-21\\n\",\n      \"BP:  2001-11-29  FTSE:  2001-11-22\\n\",\n      \"BP:  2001-11-30  FTSE:  2001-11-23\\n\",\n      \"BP:  2001-12-03  FTSE:  2001-11-26\\n\",\n      \"BP:  2001-12-04  FTSE:  2001-11-27\\n\",\n      \"BP:  2001-12-05  FTSE:  2001-11-28\\n\",\n      \"BP:  2001-12-06  FTSE:  2001-11-29\\n\",\n      \"BP:  2001-12-07  FTSE:  2001-11-30\\n\",\n      \"BP:  2001-12-10  FTSE:  2001-12-03\\n\",\n      \"BP:  2001-12-11  FTSE:  2001-12-04\\n\",\n      \"BP:  2001-12-12  FTSE:  2001-12-05\\n\",\n      \"BP:  2001-12-13  FTSE:  2001-12-06\\n\",\n      \"BP:  2001-12-14  FTSE:  2001-12-07\\n\",\n      \"BP:  2001-12-17  FTSE:  2001-12-10\\n\",\n      \"BP:  2001-12-18  FTSE:  2001-12-11\\n\",\n      \"BP:  2001-12-19  FTSE:  2001-12-12\\n\",\n      \"BP:  2001-12-20  FTSE:  2001-12-13\\n\",\n      \"BP:  2001-12-21  FTSE:  2001-12-14\\n\",\n      \"BP:  2001-12-24  FTSE:  2001-12-17\\n\",\n      \"BP:  2001-12-26  FTSE:  2001-12-18\\n\",\n      \"BP:  2001-12-27  FTSE:  2001-12-19\\n\",\n      \"BP:  2001-12-28  FTSE:  2001-12-20\\n\",\n      \"BP:  2001-12-31  FTSE:  2001-12-21\\n\",\n      \"BP:  2002-01-02  FTSE:  2001-12-24\\n\",\n      \"BP:  2002-01-03  FTSE:  2001-12-27\\n\",\n      \"BP:  2002-01-04  FTSE:  2001-12-28\\n\",\n      \"BP:  2002-01-07  FTSE:  2001-12-31\\n\",\n      \"BP:  2002-01-08  FTSE:  2002-01-02\\n\",\n      \"BP:  2002-01-09  FTSE:  2002-01-03\\n\",\n      \"BP:  2002-01-10  FTSE:  2002-01-04\\n\",\n      \"BP:  2002-01-11  FTSE:  2002-01-07\\n\",\n      \"BP:  2002-01-14  FTSE:  2002-01-08\\n\",\n      \"BP:  2002-01-15  FTSE:  2002-01-09\\n\",\n      \"BP:  2002-01-16  FTSE:  2002-01-10\\n\",\n      \"BP:  2002-01-17  FTSE:  2002-01-11\\n\",\n      \"BP:  2002-01-18  FTSE:  2002-01-14\\n\",\n      \"BP:  2002-01-22  FTSE:  2002-01-15\\n\",\n      \"BP:  2002-01-23  FTSE:  2002-01-16\\n\",\n      \"BP:  2002-01-24  FTSE:  2002-01-17\\n\",\n      \"BP:  2002-01-25  FTSE:  2002-01-18\\n\",\n      \"BP:  2002-01-28  FTSE:  2002-01-21\\n\",\n      \"BP:  2002-01-29  FTSE:  2002-01-22\\n\",\n      \"BP:  2002-01-30  FTSE:  2002-01-23\\n\",\n      \"BP:  2002-01-31  FTSE:  2002-01-24\\n\",\n      \"BP:  2002-02-01  FTSE:  2002-01-25\\n\",\n      \"BP:  2002-02-04  FTSE:  2002-01-28\\n\",\n      \"BP:  2002-02-05  FTSE:  2002-01-29\\n\",\n      \"BP:  2002-02-06  FTSE:  2002-01-30\\n\",\n      \"BP:  2002-02-07  FTSE:  2002-01-31\\n\",\n      \"BP:  2002-02-08  FTSE:  2002-02-01\\n\",\n      \"BP:  2002-02-11  FTSE:  2002-02-04\\n\",\n      \"BP:  2002-02-12  FTSE:  2002-02-05\\n\",\n      \"BP:  2002-02-13  FTSE:  2002-02-06\\n\",\n      \"BP:  2002-02-14  FTSE:  2002-02-07\\n\",\n      \"BP:  2002-02-15  FTSE:  2002-02-08\\n\",\n      \"BP:  2002-02-19  FTSE:  2002-02-11\\n\",\n      \"BP:  2002-02-20  FTSE:  2002-02-12\\n\",\n      \"BP:  2002-02-21  FTSE:  2002-02-13\\n\",\n      \"BP:  2002-02-22  FTSE:  2002-02-14\\n\",\n      \"BP:  2002-02-25  FTSE:  2002-02-15\\n\",\n      \"BP:  2002-02-26  FTSE:  2002-02-18\\n\",\n      \"BP:  2002-02-27  FTSE:  2002-02-19\\n\",\n      \"BP:  2002-02-28  FTSE:  2002-02-20\\n\",\n      \"BP:  2002-03-01  FTSE:  2002-02-21\\n\",\n      \"BP:  2002-03-04  FTSE:  2002-02-22\\n\",\n      \"BP:  2002-03-05  FTSE:  2002-02-25\\n\",\n      \"BP:  2002-03-06  FTSE:  2002-02-26\\n\",\n      \"BP:  2002-03-07  FTSE:  2002-02-27\\n\",\n      \"BP:  2002-03-08  FTSE:  2002-02-28\\n\",\n      \"BP:  2002-03-11  FTSE:  2002-03-01\\n\",\n      \"BP:  2002-03-12  FTSE:  2002-03-04\\n\",\n      \"BP:  2002-03-13  FTSE:  2002-03-05\\n\",\n      \"BP:  2002-03-14  FTSE:  2002-03-06\\n\",\n      \"BP:  2002-03-15  FTSE:  2002-03-07\\n\",\n      \"BP:  2002-03-18  FTSE:  2002-03-08\\n\",\n      \"BP:  2002-03-19  FTSE:  2002-03-11\\n\",\n      \"BP:  2002-03-20  FTSE:  2002-03-12\\n\",\n      \"BP:  2002-03-21  FTSE:  2002-03-13\\n\",\n      \"BP:  2002-03-22  FTSE:  2002-03-14\\n\",\n      \"BP:  2002-03-25  FTSE:  2002-03-15\\n\",\n      \"BP:  2002-03-26  FTSE:  2002-03-18\\n\",\n      \"BP:  2002-03-27  FTSE:  2002-03-19\\n\",\n      \"BP:  2002-03-28  FTSE:  2002-03-20\\n\",\n      \"BP:  2002-04-01  FTSE:  2002-03-21\\n\",\n      \"BP:  2002-04-02  FTSE:  2002-03-22\\n\",\n      \"BP:  2002-04-03  FTSE:  2002-03-25\\n\",\n      \"BP:  2002-04-04  FTSE:  2002-03-26\\n\",\n      \"BP:  2002-04-05  FTSE:  2002-03-27\\n\",\n      \"BP:  2002-04-08  FTSE:  2002-03-28\\n\",\n      \"BP:  2002-04-09  FTSE:  2002-04-02\\n\",\n      \"BP:  2002-04-10  FTSE:  2002-04-03\\n\",\n      \"BP:  2002-04-11  FTSE:  2002-04-04\\n\",\n      \"BP:  2002-04-12  FTSE:  2002-04-05\\n\",\n      \"BP:  2002-04-15  FTSE:  2002-04-08\\n\",\n      \"BP:  2002-04-16  FTSE:  2002-04-09\\n\",\n      \"BP:  2002-04-17  FTSE:  2002-04-10\\n\",\n      \"BP:  2002-04-18  FTSE:  2002-04-11\\n\",\n      \"BP:  2002-04-19  FTSE:  2002-04-12\\n\",\n      \"BP:  2002-04-22  FTSE:  2002-04-15\\n\",\n      \"BP:  2002-04-23  FTSE:  2002-04-16\\n\",\n      \"BP:  2002-04-24  FTSE:  2002-04-17\\n\",\n      \"BP:  2002-04-25  FTSE:  2002-04-18\\n\",\n      \"BP:  2002-04-26  FTSE:  2002-04-19\\n\",\n      \"BP:  2002-04-29  FTSE:  2002-04-22\\n\",\n      \"BP:  2002-04-30  FTSE:  2002-04-23\\n\",\n      \"BP:  2002-05-01  FTSE:  2002-04-24\\n\",\n      \"BP:  2002-05-02  FTSE:  2002-04-25\\n\",\n      \"BP:  2002-05-03  FTSE:  2002-04-26\\n\",\n      \"BP:  2002-05-06  FTSE:  2002-04-29\\n\",\n      \"BP:  2002-05-07  FTSE:  2002-04-30\\n\",\n      \"BP:  2002-05-08  FTSE:  2002-05-01\\n\",\n      \"BP:  2002-05-09  FTSE:  2002-05-02\\n\",\n      \"BP:  2002-05-10  FTSE:  2002-05-03\\n\",\n      \"BP:  2002-05-13  FTSE:  2002-05-07\\n\",\n      \"BP:  2002-05-14  FTSE:  2002-05-08\\n\",\n      \"BP:  2002-05-15  FTSE:  2002-05-09\\n\",\n      \"BP:  2002-05-16  FTSE:  2002-05-10\\n\",\n      \"BP:  2002-05-17  FTSE:  2002-05-13\\n\",\n      \"BP:  2002-05-20  FTSE:  2002-05-14\\n\",\n      \"BP:  2002-05-21  FTSE:  2002-05-15\\n\",\n      \"BP:  2002-05-22  FTSE:  2002-05-16\\n\",\n      \"BP:  2002-05-23  FTSE:  2002-05-17\\n\",\n      \"BP:  2002-05-24  FTSE:  2002-05-20\\n\",\n      \"BP:  2002-05-28  FTSE:  2002-05-21\\n\",\n      \"BP:  2002-05-29  FTSE:  2002-05-22\\n\",\n      \"BP:  2002-05-30  FTSE:  2002-05-23\\n\",\n      \"BP:  2002-05-31  FTSE:  2002-05-24\\n\",\n      \"BP:  2002-06-03  FTSE:  2002-05-27\\n\",\n      \"BP:  2002-06-04  FTSE:  2002-05-28\\n\",\n      \"BP:  2002-06-05  FTSE:  2002-05-29\\n\",\n      \"BP:  2002-06-06  FTSE:  2002-05-30\\n\",\n      \"BP:  2002-06-07  FTSE:  2002-05-31\\n\",\n      \"BP:  2002-06-10  FTSE:  2002-06-05\\n\",\n      \"BP:  2002-06-11  FTSE:  2002-06-06\\n\",\n      \"BP:  2002-06-12  FTSE:  2002-06-07\\n\",\n      \"BP:  2002-06-13  FTSE:  2002-06-10\\n\",\n      \"BP:  2002-06-14  FTSE:  2002-06-11\\n\",\n      \"BP:  2002-06-17  FTSE:  2002-06-12\\n\",\n      \"BP:  2002-06-18  FTSE:  2002-06-13\\n\",\n      \"BP:  2002-06-19  FTSE:  2002-06-14\\n\",\n      \"BP:  2002-06-20  FTSE:  2002-06-17\\n\",\n      \"BP:  2002-06-21  FTSE:  2002-06-18\\n\",\n      \"BP:  2002-06-24  FTSE:  2002-06-19\\n\",\n      \"BP:  2002-06-25  FTSE:  2002-06-20\\n\",\n      \"BP:  2002-06-26  FTSE:  2002-06-21\\n\",\n      \"BP:  2002-06-27  FTSE:  2002-06-24\\n\",\n      \"BP:  2002-06-28  FTSE:  2002-06-25\\n\",\n      \"BP:  2002-07-01  FTSE:  2002-06-26\\n\",\n      \"BP:  2002-07-02  FTSE:  2002-06-27\\n\",\n      \"BP:  2002-07-03  FTSE:  2002-06-28\\n\",\n      \"BP:  2002-07-05  FTSE:  2002-07-01\\n\",\n      \"BP:  2002-07-08  FTSE:  2002-07-02\\n\",\n      \"BP:  2002-07-09  FTSE:  2002-07-03\\n\",\n      \"BP:  2002-07-10  FTSE:  2002-07-04\\n\",\n      \"BP:  2002-07-11  FTSE:  2002-07-05\\n\",\n      \"BP:  2002-07-12  FTSE:  2002-07-08\\n\",\n      \"BP:  2002-07-15  FTSE:  2002-07-09\\n\",\n      \"BP:  2002-07-16  FTSE:  2002-07-10\\n\",\n      \"BP:  2002-07-17  FTSE:  2002-07-11\\n\",\n      \"BP:  2002-07-18  FTSE:  2002-07-12\\n\",\n      \"BP:  2002-07-19  FTSE:  2002-07-15\\n\",\n      \"BP:  2002-07-22  FTSE:  2002-07-16\\n\",\n      \"BP:  2002-07-23  FTSE:  2002-07-17\\n\",\n      \"BP:  2002-07-24  FTSE:  2002-07-18\\n\",\n      \"BP:  2002-07-25  FTSE:  2002-07-19\\n\",\n      \"BP:  2002-07-26  FTSE:  2002-07-22\\n\",\n      \"BP:  2002-07-29  FTSE:  2002-07-23\\n\",\n      \"BP:  2002-07-30  FTSE:  2002-07-24\\n\",\n      \"BP:  2002-07-31  FTSE:  2002-07-25\\n\",\n      \"BP:  2002-08-01  FTSE:  2002-07-26\\n\",\n      \"BP:  2002-08-02  FTSE:  2002-07-29\\n\",\n      \"BP:  2002-08-05  FTSE:  2002-07-30\\n\",\n      \"BP:  2002-08-06  FTSE:  2002-07-31\\n\",\n      \"BP:  2002-08-07  FTSE:  2002-08-01\\n\",\n      \"BP:  2002-08-08  FTSE:  2002-08-02\\n\",\n      \"BP:  2002-08-09  FTSE:  2002-08-05\\n\",\n      \"BP:  2002-08-12  FTSE:  2002-08-06\\n\",\n      \"BP:  2002-08-13  FTSE:  2002-08-07\\n\",\n      \"BP:  2002-08-14  FTSE:  2002-08-08\\n\",\n      \"BP:  2002-08-15  FTSE:  2002-08-09\\n\",\n      \"BP:  2002-08-16  FTSE:  2002-08-12\\n\",\n      \"BP:  2002-08-19  FTSE:  2002-08-13\\n\",\n      \"BP:  2002-08-20  FTSE:  2002-08-14\\n\",\n      \"BP:  2002-08-21  FTSE:  2002-08-15\\n\",\n      \"BP:  2002-08-22  FTSE:  2002-08-16\\n\",\n      \"BP:  2002-08-23  FTSE:  2002-08-19\\n\",\n      \"BP:  2002-08-26  FTSE:  2002-08-20\\n\",\n      \"BP:  2002-08-27  FTSE:  2002-08-21\\n\",\n      \"BP:  2002-08-28  FTSE:  2002-08-22\\n\",\n      \"BP:  2002-08-29  FTSE:  2002-08-23\\n\",\n      \"BP:  2002-08-30  FTSE:  2002-08-27\\n\",\n      \"BP:  2002-09-03  FTSE:  2002-08-28\\n\",\n      \"BP:  2002-09-04  FTSE:  2002-08-29\\n\",\n      \"BP:  2002-09-05  FTSE:  2002-08-30\\n\",\n      \"BP:  2002-09-06  FTSE:  2002-09-02\\n\",\n      \"BP:  2002-09-09  FTSE:  2002-09-03\\n\",\n      \"BP:  2002-09-10  FTSE:  2002-09-04\\n\",\n      \"BP:  2002-09-11  FTSE:  2002-09-05\\n\",\n      \"BP:  2002-09-12  FTSE:  2002-09-06\\n\",\n      \"BP:  2002-09-13  FTSE:  2002-09-09\\n\",\n      \"BP:  2002-09-16  FTSE:  2002-09-10\\n\",\n      \"BP:  2002-09-17  FTSE:  2002-09-11\\n\",\n      \"BP:  2002-09-18  FTSE:  2002-09-12\\n\",\n      \"BP:  2002-09-19  FTSE:  2002-09-13\\n\",\n      \"BP:  2002-09-20  FTSE:  2002-09-16\\n\",\n      \"BP:  2002-09-23  FTSE:  2002-09-17\\n\",\n      \"BP:  2002-09-24  FTSE:  2002-09-18\\n\",\n      \"BP:  2002-09-25  FTSE:  2002-09-19\\n\",\n      \"BP:  2002-09-26  FTSE:  2002-09-20\\n\",\n      \"BP:  2002-09-27  FTSE:  2002-09-23\\n\",\n      \"BP:  2002-09-30  FTSE:  2002-09-24\\n\",\n      \"BP:  2002-10-01  FTSE:  2002-09-25\\n\",\n      \"BP:  2002-10-02  FTSE:  2002-09-26\\n\",\n      \"BP:  2002-10-03  FTSE:  2002-09-27\\n\",\n      \"BP:  2002-10-04  FTSE:  2002-09-30\\n\",\n      \"BP:  2002-10-07  FTSE:  2002-10-01\\n\",\n      \"BP:  2002-10-08  FTSE:  2002-10-02\\n\",\n      \"BP:  2002-10-09  FTSE:  2002-10-03\\n\",\n      \"BP:  2002-10-10  FTSE:  2002-10-04\\n\",\n      \"BP:  2002-10-11  FTSE:  2002-10-07\\n\",\n      \"BP:  2002-10-14  FTSE:  2002-10-08\\n\",\n      \"BP:  2002-10-15  FTSE:  2002-10-09\\n\",\n      \"BP:  2002-10-16  FTSE:  2002-10-10\\n\",\n      \"BP:  2002-10-17  FTSE:  2002-10-11\\n\",\n      \"BP:  2002-10-18  FTSE:  2002-10-14\\n\",\n      \"BP:  2002-10-21  FTSE:  2002-10-15\\n\",\n      \"BP:  2002-10-22  FTSE:  2002-10-16\\n\",\n      \"BP:  2002-10-23  FTSE:  2002-10-17\\n\",\n      \"BP:  2002-10-24  FTSE:  2002-10-18\\n\",\n      \"BP:  2002-10-25  FTSE:  2002-10-21\\n\",\n      \"BP:  2002-10-28  FTSE:  2002-10-22\\n\",\n      \"BP:  2002-10-29  FTSE:  2002-10-23\\n\",\n      \"BP:  2002-10-30  FTSE:  2002-10-24\\n\",\n      \"BP:  2002-10-31  FTSE:  2002-10-25\\n\",\n      \"BP:  2002-11-01  FTSE:  2002-10-28\\n\",\n      \"BP:  2002-11-04  FTSE:  2002-10-29\\n\",\n      \"BP:  2002-11-05  FTSE:  2002-10-30\\n\",\n      \"BP:  2002-11-06  FTSE:  2002-10-31\\n\",\n      \"BP:  2002-11-07  FTSE:  2002-11-01\\n\",\n      \"BP:  2002-11-08  FTSE:  2002-11-04\\n\",\n      \"BP:  2002-11-11  FTSE:  2002-11-05\\n\",\n      \"BP:  2002-11-12  FTSE:  2002-11-06\\n\",\n      \"BP:  2002-11-13  FTSE:  2002-11-07\\n\",\n      \"BP:  2002-11-14  FTSE:  2002-11-08\\n\",\n      \"BP:  2002-11-15  FTSE:  2002-11-11\\n\",\n      \"BP:  2002-11-18  FTSE:  2002-11-12\\n\",\n      \"BP:  2002-11-19  FTSE:  2002-11-13\\n\",\n      \"BP:  2002-11-20  FTSE:  2002-11-14\\n\",\n      \"BP:  2002-11-21  FTSE:  2002-11-15\\n\",\n      \"BP:  2002-11-22  FTSE:  2002-11-18\\n\",\n      \"BP:  2002-11-25  FTSE:  2002-11-19\\n\",\n      \"BP:  2002-11-26  FTSE:  2002-11-20\\n\",\n      \"BP:  2002-11-27  FTSE:  2002-11-21\\n\",\n      \"BP:  2002-11-29  FTSE:  2002-11-22\\n\",\n      \"BP:  2002-12-02  FTSE:  2002-11-25\\n\",\n      \"BP:  2002-12-03  FTSE:  2002-11-26\\n\",\n      \"BP:  2002-12-04  FTSE:  2002-11-27\\n\",\n      \"BP:  2002-12-05  FTSE:  2002-11-28\\n\",\n      \"BP:  2002-12-06  FTSE:  2002-11-29\\n\",\n      \"BP:  2002-12-09  FTSE:  2002-12-02\\n\",\n      \"BP:  2002-12-10  FTSE:  2002-12-03\\n\",\n      \"BP:  2002-12-11  FTSE:  2002-12-04\\n\",\n      \"BP:  2002-12-12  FTSE:  2002-12-05\\n\",\n      \"BP:  2002-12-13  FTSE:  2002-12-06\\n\",\n      \"BP:  2002-12-16  FTSE:  2002-12-09\\n\",\n      \"BP:  2002-12-17  FTSE:  2002-12-10\\n\",\n      \"BP:  2002-12-18  FTSE:  2002-12-11\\n\",\n      \"BP:  2002-12-19  FTSE:  2002-12-12\\n\",\n      \"BP:  2002-12-20  FTSE:  2002-12-13\\n\",\n      \"BP:  2002-12-23  FTSE:  2002-12-16\\n\",\n      \"BP:  2002-12-24  FTSE:  2002-12-17\\n\",\n      \"BP:  2002-12-26  FTSE:  2002-12-18\\n\",\n      \"BP:  2002-12-27  FTSE:  2002-12-19\\n\",\n      \"BP:  2002-12-30  FTSE:  2002-12-20\\n\",\n      \"BP:  2002-12-31  FTSE:  2002-12-23\\n\",\n      \"BP:  2003-01-02  FTSE:  2002-12-24\\n\",\n      \"BP:  2003-01-03  FTSE:  2002-12-27\\n\",\n      \"BP:  2003-01-06  FTSE:  2002-12-30\\n\",\n      \"BP:  2003-01-07  FTSE:  2002-12-31\\n\",\n      \"BP:  2003-01-08  FTSE:  2003-01-02\\n\",\n      \"BP:  2003-01-09  FTSE:  2003-01-03\\n\",\n      \"BP:  2003-01-10  FTSE:  2003-01-06\\n\",\n      \"BP:  2003-01-13  FTSE:  2003-01-07\\n\",\n      \"BP:  2003-01-14  FTSE:  2003-01-08\\n\",\n      \"BP:  2003-01-15  FTSE:  2003-01-09\\n\",\n      \"BP:  2003-01-16  FTSE:  2003-01-10\\n\",\n      \"BP:  2003-01-17  FTSE:  2003-01-13\\n\",\n      \"BP:  2003-01-21  FTSE:  2003-01-14\\n\",\n      \"BP:  2003-01-22  FTSE:  2003-01-15\\n\",\n      \"BP:  2003-01-23  FTSE:  2003-01-16\\n\",\n      \"BP:  2003-01-24  FTSE:  2003-01-17\\n\",\n      \"BP:  2003-01-27  FTSE:  2003-01-20\\n\",\n      \"BP:  2003-01-28  FTSE:  2003-01-21\\n\",\n      \"BP:  2003-01-29  FTSE:  2003-01-22\\n\",\n      \"BP:  2003-01-30  FTSE:  2003-01-23\\n\",\n      \"BP:  2003-01-31  FTSE:  2003-01-24\\n\",\n      \"BP:  2003-02-03  FTSE:  2003-01-27\\n\",\n      \"BP:  2003-02-04  FTSE:  2003-01-28\\n\",\n      \"BP:  2003-02-05  FTSE:  2003-01-29\\n\",\n      \"BP:  2003-02-06  FTSE:  2003-01-30\\n\",\n      \"BP:  2003-02-07  FTSE:  2003-01-31\\n\",\n      \"BP:  2003-02-10  FTSE:  2003-02-03\\n\",\n      \"BP:  2003-02-11  FTSE:  2003-02-04\\n\",\n      \"BP:  2003-02-12  FTSE:  2003-02-05\\n\",\n      \"BP:  2003-02-13  FTSE:  2003-02-06\\n\",\n      \"BP:  2003-02-14  FTSE:  2003-02-07\\n\",\n      \"BP:  2003-02-18  FTSE:  2003-02-10\\n\",\n      \"BP:  2003-02-19  FTSE:  2003-02-11\\n\",\n      \"BP:  2003-02-20  FTSE:  2003-02-12\\n\",\n      \"BP:  2003-02-21  FTSE:  2003-02-13\\n\",\n      \"BP:  2003-02-24  FTSE:  2003-02-14\\n\",\n      \"BP:  2003-02-25  FTSE:  2003-02-17\\n\",\n      \"BP:  2003-02-26  FTSE:  2003-02-18\\n\",\n      \"BP:  2003-02-27  FTSE:  2003-02-19\\n\",\n      \"BP:  2003-02-28  FTSE:  2003-02-20\\n\",\n      \"BP:  2003-03-03  FTSE:  2003-02-21\\n\",\n      \"BP:  2003-03-04  FTSE:  2003-02-24\\n\",\n      \"BP:  2003-03-05  FTSE:  2003-02-25\\n\",\n      \"BP:  2003-03-06  FTSE:  2003-02-26\\n\",\n      \"BP:  2003-03-07  FTSE:  2003-02-27\\n\",\n      \"BP:  2003-03-10  FTSE:  2003-02-28\\n\",\n      \"BP:  2003-03-11  FTSE:  2003-03-03\\n\",\n      \"BP:  2003-03-12  FTSE:  2003-03-04\\n\",\n      \"BP:  2003-03-13  FTSE:  2003-03-05\\n\",\n      \"BP:  2003-03-14  FTSE:  2003-03-06\\n\",\n      \"BP:  2003-03-17  FTSE:  2003-03-07\\n\",\n      \"BP:  2003-03-18  FTSE:  2003-03-10\\n\",\n      \"BP:  2003-03-19  FTSE:  2003-03-11\\n\",\n      \"BP:  2003-03-20  FTSE:  2003-03-12\\n\",\n      \"BP:  2003-03-21  FTSE:  2003-03-13\\n\",\n      \"BP:  2003-03-24  FTSE:  2003-03-14\\n\",\n      \"BP:  2003-03-25  FTSE:  2003-03-17\\n\",\n      \"BP:  2003-03-26  FTSE:  2003-03-18\\n\",\n      \"BP:  2003-03-27  FTSE:  2003-03-19\\n\",\n      \"BP:  2003-03-28  FTSE:  2003-03-20\\n\",\n      \"BP:  2003-03-31  FTSE:  2003-03-21\\n\",\n      \"BP:  2003-04-01  FTSE:  2003-03-24\\n\",\n      \"BP:  2003-04-02  FTSE:  2003-03-25\\n\",\n      \"BP:  2003-04-03  FTSE:  2003-03-26\\n\",\n      \"BP:  2003-04-04  FTSE:  2003-03-27\\n\",\n      \"BP:  2003-04-07  FTSE:  2003-03-28\\n\",\n      \"BP:  2003-04-08  FTSE:  2003-03-31\\n\",\n      \"BP:  2003-04-09  FTSE:  2003-04-01\\n\",\n      \"BP:  2003-04-10  FTSE:  2003-04-02\\n\",\n      \"BP:  2003-04-11  FTSE:  2003-04-03\\n\",\n      \"BP:  2003-04-14  FTSE:  2003-04-04\\n\",\n      \"BP:  2003-04-15  FTSE:  2003-04-07\\n\",\n      \"BP:  2003-04-16  FTSE:  2003-04-08\\n\",\n      \"BP:  2003-04-17  FTSE:  2003-04-09\\n\",\n      \"BP:  2003-04-21  FTSE:  2003-04-10\\n\",\n      \"BP:  2003-04-22  FTSE:  2003-04-11\\n\",\n      \"BP:  2003-04-23  FTSE:  2003-04-14\\n\",\n      \"BP:  2003-04-24  FTSE:  2003-04-15\\n\",\n      \"BP:  2003-04-25  FTSE:  2003-04-16\\n\",\n      \"BP:  2003-04-28  FTSE:  2003-04-17\\n\",\n      \"BP:  2003-04-29  FTSE:  2003-04-22\\n\",\n      \"BP:  2003-04-30  FTSE:  2003-04-23\\n\",\n      \"BP:  2003-05-01  FTSE:  2003-04-24\\n\",\n      \"BP:  2003-05-02  FTSE:  2003-04-25\\n\",\n      \"BP:  2003-05-05  FTSE:  2003-04-28\\n\",\n      \"BP:  2003-05-06  FTSE:  2003-04-29\\n\",\n      \"BP:  2003-05-07  FTSE:  2003-04-30\\n\",\n      \"BP:  2003-05-08  FTSE:  2003-05-01\\n\",\n      \"BP:  2003-05-09  FTSE:  2003-05-02\\n\",\n      \"BP:  2003-05-12  FTSE:  2003-05-06\\n\",\n      \"BP:  2003-05-13  FTSE:  2003-05-07\\n\",\n      \"BP:  2003-05-14  FTSE:  2003-05-08\\n\",\n      \"BP:  2003-05-15  FTSE:  2003-05-09\\n\",\n      \"BP:  2003-05-16  FTSE:  2003-05-12\\n\",\n      \"BP:  2003-05-19  FTSE:  2003-05-13\\n\",\n      \"BP:  2003-05-20  FTSE:  2003-05-14\\n\",\n      \"BP:  2003-05-21  FTSE:  2003-05-15\\n\",\n      \"BP:  2003-05-22  FTSE:  2003-05-16\\n\",\n      \"BP:  2003-05-23  FTSE:  2003-05-19\\n\",\n      \"BP:  2003-05-27  FTSE:  2003-05-20\\n\",\n      \"BP:  2003-05-28  FTSE:  2003-05-21\\n\",\n      \"BP:  2003-05-29  FTSE:  2003-05-22\\n\",\n      \"BP:  2003-05-30  FTSE:  2003-05-23\\n\",\n      \"BP:  2003-06-02  FTSE:  2003-05-27\\n\",\n      \"BP:  2003-06-03  FTSE:  2003-05-28\\n\",\n      \"BP:  2003-06-04  FTSE:  2003-05-29\\n\",\n      \"BP:  2003-06-05  FTSE:  2003-05-30\\n\",\n      \"BP:  2003-06-06  FTSE:  2003-06-02\\n\",\n      \"BP:  2003-06-09  FTSE:  2003-06-03\\n\",\n      \"BP:  2003-06-10  FTSE:  2003-06-04\\n\",\n      \"BP:  2003-06-11  FTSE:  2003-06-05\\n\",\n      \"BP:  2003-06-12  FTSE:  2003-06-06\\n\",\n      \"BP:  2003-06-13  FTSE:  2003-06-09\\n\",\n      \"BP:  2003-06-16  FTSE:  2003-06-10\\n\",\n      \"BP:  2003-06-17  FTSE:  2003-06-11\\n\",\n      \"BP:  2003-06-18  FTSE:  2003-06-12\\n\",\n      \"BP:  2003-06-19  FTSE:  2003-06-13\\n\",\n      \"BP:  2003-06-20  FTSE:  2003-06-16\\n\",\n      \"BP:  2003-06-23  FTSE:  2003-06-17\\n\",\n      \"BP:  2003-06-24  FTSE:  2003-06-18\\n\",\n      \"BP:  2003-06-25  FTSE:  2003-06-19\\n\",\n      \"BP:  2003-06-26  FTSE:  2003-06-20\\n\",\n      \"BP:  2003-06-27  FTSE:  2003-06-23\\n\",\n      \"BP:  2003-06-30  FTSE:  2003-06-24\\n\",\n      \"BP:  2003-07-01  FTSE:  2003-06-25\\n\",\n      \"BP:  2003-07-02  FTSE:  2003-06-26\\n\",\n      \"BP:  2003-07-03  FTSE:  2003-06-27\\n\",\n      \"BP:  2003-07-07  FTSE:  2003-06-30\\n\",\n      \"BP:  2003-07-08  FTSE:  2003-07-01\\n\",\n      \"BP:  2003-07-09  FTSE:  2003-07-02\\n\",\n      \"BP:  2003-07-10  FTSE:  2003-07-03\\n\",\n      \"BP:  2003-07-11  FTSE:  2003-07-04\\n\",\n      \"BP:  2003-07-14  FTSE:  2003-07-07\\n\",\n      \"BP:  2003-07-15  FTSE:  2003-07-08\\n\",\n      \"BP:  2003-07-16  FTSE:  2003-07-09\\n\",\n      \"BP:  2003-07-17  FTSE:  2003-07-10\\n\",\n      \"BP:  2003-07-18  FTSE:  2003-07-11\\n\",\n      \"BP:  2003-07-21  FTSE:  2003-07-14\\n\",\n      \"BP:  2003-07-22  FTSE:  2003-07-15\\n\",\n      \"BP:  2003-07-23  FTSE:  2003-07-16\\n\",\n      \"BP:  2003-07-24  FTSE:  2003-07-17\\n\",\n      \"BP:  2003-07-25  FTSE:  2003-07-18\\n\",\n      \"BP:  2003-07-28  FTSE:  2003-07-21\\n\",\n      \"BP:  2003-07-29  FTSE:  2003-07-22\\n\",\n      \"BP:  2003-07-30  FTSE:  2003-07-23\\n\",\n      \"BP:  2003-07-31  FTSE:  2003-07-24\\n\",\n      \"BP:  2003-08-01  FTSE:  2003-07-25\\n\",\n      \"BP:  2003-08-04  FTSE:  2003-07-28\\n\",\n      \"BP:  2003-08-05  FTSE:  2003-07-29\\n\",\n      \"BP:  2003-08-06  FTSE:  2003-07-30\\n\",\n      \"BP:  2003-08-07  FTSE:  2003-07-31\\n\",\n      \"BP:  2003-08-08  FTSE:  2003-08-01\\n\",\n      \"BP:  2003-08-11  FTSE:  2003-08-04\\n\",\n      \"BP:  2003-08-12  FTSE:  2003-08-05\\n\",\n      \"BP:  2003-08-13  FTSE:  2003-08-06\\n\",\n      \"BP:  2003-08-14  FTSE:  2003-08-07\\n\",\n      \"BP:  2003-08-15  FTSE:  2003-08-08\\n\",\n      \"BP:  2003-08-18  FTSE:  2003-08-11\\n\",\n      \"BP:  2003-08-19  FTSE:  2003-08-12\\n\",\n      \"BP:  2003-08-20  FTSE:  2003-08-13\\n\",\n      \"BP:  2003-08-21  FTSE:  2003-08-14\\n\",\n      \"BP:  2003-08-22  FTSE:  2003-08-15\\n\",\n      \"BP:  2003-08-25  FTSE:  2003-08-18\\n\",\n      \"BP:  2003-08-26  FTSE:  2003-08-19\\n\",\n      \"BP:  2003-08-27  FTSE:  2003-08-20\\n\",\n      \"BP:  2003-08-28  FTSE:  2003-08-21\\n\",\n      \"BP:  2003-08-29  FTSE:  2003-08-22\\n\",\n      \"BP:  2003-09-02  FTSE:  2003-08-26\\n\",\n      \"BP:  2003-09-03  FTSE:  2003-08-27\\n\",\n      \"BP:  2003-09-04  FTSE:  2003-08-28\\n\",\n      \"BP:  2003-09-05  FTSE:  2003-08-29\\n\",\n      \"BP:  2003-09-08  FTSE:  2003-09-01\\n\",\n      \"BP:  2003-09-09  FTSE:  2003-09-02\\n\",\n      \"BP:  2003-09-10  FTSE:  2003-09-03\\n\",\n      \"BP:  2003-09-11  FTSE:  2003-09-04\\n\",\n      \"BP:  2003-09-12  FTSE:  2003-09-05\\n\",\n      \"BP:  2003-09-15  FTSE:  2003-09-08\\n\",\n      \"BP:  2003-09-16  FTSE:  2003-09-09\\n\",\n      \"BP:  2003-09-17  FTSE:  2003-09-10\\n\",\n      \"BP:  2003-09-18  FTSE:  2003-09-11\\n\",\n      \"BP:  2003-09-19  FTSE:  2003-09-12\\n\",\n      \"BP:  2003-09-22  FTSE:  2003-09-15\\n\",\n      \"BP:  2003-09-23  FTSE:  2003-09-16\\n\",\n      \"BP:  2003-09-24  FTSE:  2003-09-17\\n\",\n      \"BP:  2003-09-25  FTSE:  2003-09-18\\n\",\n      \"BP:  2003-09-26  FTSE:  2003-09-19\\n\",\n      \"BP:  2003-09-29  FTSE:  2003-09-22\\n\",\n      \"BP:  2003-09-30  FTSE:  2003-09-23\\n\",\n      \"BP:  2003-10-01  FTSE:  2003-09-24\\n\",\n      \"BP:  2003-10-02  FTSE:  2003-09-25\\n\",\n      \"BP:  2003-10-03  FTSE:  2003-09-26\\n\",\n      \"BP:  2003-10-06  FTSE:  2003-09-29\\n\",\n      \"BP:  2003-10-07  FTSE:  2003-09-30\\n\",\n      \"BP:  2003-10-08  FTSE:  2003-10-01\\n\",\n      \"BP:  2003-10-09  FTSE:  2003-10-02\\n\",\n      \"BP:  2003-10-10  FTSE:  2003-10-03\\n\",\n      \"BP:  2003-10-13  FTSE:  2003-10-06\\n\",\n      \"BP:  2003-10-14  FTSE:  2003-10-07\\n\",\n      \"BP:  2003-10-15  FTSE:  2003-10-08\\n\",\n      \"BP:  2003-10-16  FTSE:  2003-10-09\\n\",\n      \"BP:  2003-10-17  FTSE:  2003-10-10\\n\",\n      \"BP:  2003-10-20  FTSE:  2003-10-13\\n\",\n      \"BP:  2003-10-21  FTSE:  2003-10-14\\n\",\n      \"BP:  2003-10-22  FTSE:  2003-10-15\\n\",\n      \"BP:  2003-10-23  FTSE:  2003-10-16\\n\",\n      \"BP:  2003-10-24  FTSE:  2003-10-17\\n\",\n      \"BP:  2003-10-27  FTSE:  2003-10-20\\n\",\n      \"BP:  2003-10-28  FTSE:  2003-10-21\\n\",\n      \"BP:  2003-10-29  FTSE:  2003-10-22\\n\",\n      \"BP:  2003-10-30  FTSE:  2003-10-23\\n\",\n      \"BP:  2003-10-31  FTSE:  2003-10-24\\n\",\n      \"BP:  2003-11-03  FTSE:  2003-10-27\\n\",\n      \"BP:  2003-11-04  FTSE:  2003-10-28\\n\",\n      \"BP:  2003-11-05  FTSE:  2003-10-29\\n\",\n      \"BP:  2003-11-06  FTSE:  2003-10-30\\n\",\n      \"BP:  2003-11-07  FTSE:  2003-10-31\\n\",\n      \"BP:  2003-11-10  FTSE:  2003-11-03\\n\",\n      \"BP:  2003-11-11  FTSE:  2003-11-04\\n\",\n      \"BP:  2003-11-12  FTSE:  2003-11-05\\n\",\n      \"BP:  2003-11-13  FTSE:  2003-11-06\\n\",\n      \"BP:  2003-11-14  FTSE:  2003-11-07\\n\",\n      \"BP:  2003-11-17  FTSE:  2003-11-10\\n\",\n      \"BP:  2003-11-18  FTSE:  2003-11-11\\n\",\n      \"BP:  2003-11-19  FTSE:  2003-11-12\\n\",\n      \"BP:  2003-11-20  FTSE:  2003-11-13\\n\",\n      \"BP:  2003-11-21  FTSE:  2003-11-14\\n\",\n      \"BP:  2003-11-24  FTSE:  2003-11-17\\n\",\n      \"BP:  2003-11-25  FTSE:  2003-11-18\\n\",\n      \"BP:  2003-11-26  FTSE:  2003-11-19\\n\",\n      \"BP:  2003-11-28  FTSE:  2003-11-20\\n\",\n      \"BP:  2003-12-01  FTSE:  2003-11-21\\n\",\n      \"BP:  2003-12-02  FTSE:  2003-11-24\\n\",\n      \"BP:  2003-12-03  FTSE:  2003-11-25\\n\",\n      \"BP:  2003-12-04  FTSE:  2003-11-26\\n\",\n      \"BP:  2003-12-05  FTSE:  2003-11-27\\n\",\n      \"BP:  2003-12-08  FTSE:  2003-11-28\\n\",\n      \"BP:  2003-12-09  FTSE:  2003-12-01\\n\",\n      \"BP:  2003-12-10  FTSE:  2003-12-02\\n\",\n      \"BP:  2003-12-11  FTSE:  2003-12-03\\n\",\n      \"BP:  2003-12-12  FTSE:  2003-12-04\\n\",\n      \"BP:  2003-12-15  FTSE:  2003-12-05\\n\",\n      \"BP:  2003-12-16  FTSE:  2003-12-08\\n\",\n      \"BP:  2003-12-17  FTSE:  2003-12-09\\n\",\n      \"BP:  2003-12-18  FTSE:  2003-12-10\\n\",\n      \"BP:  2003-12-19  FTSE:  2003-12-11\\n\",\n      \"BP:  2003-12-22  FTSE:  2003-12-12\\n\",\n      \"BP:  2003-12-23  FTSE:  2003-12-15\\n\",\n      \"BP:  2003-12-24  FTSE:  2003-12-16\\n\",\n      \"BP:  2003-12-26  FTSE:  2003-12-17\\n\",\n      \"BP:  2003-12-29  FTSE:  2003-12-18\\n\",\n      \"BP:  2003-12-30  FTSE:  2003-12-19\\n\",\n      \"BP:  2003-12-31  FTSE:  2003-12-22\\n\",\n      \"BP:  2004-01-02  FTSE:  2003-12-23\\n\",\n      \"BP:  2004-01-05  FTSE:  2003-12-24\\n\",\n      \"BP:  2004-01-06  FTSE:  2003-12-29\\n\",\n      \"BP:  2004-01-07  FTSE:  2003-12-30\\n\",\n      \"BP:  2004-01-08  FTSE:  2003-12-31\\n\",\n      \"BP:  2004-01-09  FTSE:  2004-01-02\\n\",\n      \"BP:  2004-01-12  FTSE:  2004-01-05\\n\",\n      \"BP:  2004-01-13  FTSE:  2004-01-06\\n\",\n      \"BP:  2004-01-14  FTSE:  2004-01-07\\n\",\n      \"BP:  2004-01-15  FTSE:  2004-01-08\\n\",\n      \"BP:  2004-01-16  FTSE:  2004-01-09\\n\",\n      \"BP:  2004-01-20  FTSE:  2004-01-12\\n\",\n      \"BP:  2004-01-21  FTSE:  2004-01-13\\n\",\n      \"BP:  2004-01-22  FTSE:  2004-01-14\\n\",\n      \"BP:  2004-01-23  FTSE:  2004-01-15\\n\",\n      \"BP:  2004-01-26  FTSE:  2004-01-16\\n\",\n      \"BP:  2004-01-27  FTSE:  2004-01-19\\n\",\n      \"BP:  2004-01-28  FTSE:  2004-01-20\\n\",\n      \"BP:  2004-01-29  FTSE:  2004-01-21\\n\",\n      \"BP:  2004-01-30  FTSE:  2004-01-22\\n\",\n      \"BP:  2004-02-02  FTSE:  2004-01-23\\n\",\n      \"BP:  2004-02-03  FTSE:  2004-01-26\\n\",\n      \"BP:  2004-02-04  FTSE:  2004-01-27\\n\",\n      \"BP:  2004-02-05  FTSE:  2004-01-28\\n\",\n      \"BP:  2004-02-06  FTSE:  2004-01-29\\n\",\n      \"BP:  2004-02-09  FTSE:  2004-01-30\\n\",\n      \"BP:  2004-02-10  FTSE:  2004-02-02\\n\",\n      \"BP:  2004-02-11  FTSE:  2004-02-03\\n\",\n      \"BP:  2004-02-12  FTSE:  2004-02-04\\n\",\n      \"BP:  2004-02-13  FTSE:  2004-02-05\\n\",\n      \"BP:  2004-02-17  FTSE:  2004-02-06\\n\",\n      \"BP:  2004-02-18  FTSE:  2004-02-09\\n\",\n      \"BP:  2004-02-19  FTSE:  2004-02-10\\n\",\n      \"BP:  2004-02-20  FTSE:  2004-02-11\\n\",\n      \"BP:  2004-02-23  FTSE:  2004-02-12\\n\",\n      \"BP:  2004-02-24  FTSE:  2004-02-13\\n\",\n      \"BP:  2004-02-25  FTSE:  2004-02-16\\n\",\n      \"BP:  2004-02-26  FTSE:  2004-02-17\\n\",\n      \"BP:  2004-02-27  FTSE:  2004-02-18\\n\",\n      \"BP:  2004-03-01  FTSE:  2004-02-19\\n\",\n      \"BP:  2004-03-02  FTSE:  2004-02-20\\n\",\n      \"BP:  2004-03-03  FTSE:  2004-02-23\\n\",\n      \"BP:  2004-03-04  FTSE:  2004-02-24\\n\",\n      \"BP:  2004-03-05  FTSE:  2004-02-25\\n\",\n      \"BP:  2004-03-08  FTSE:  2004-02-26\\n\",\n      \"BP:  2004-03-09  FTSE:  2004-02-27\\n\",\n      \"BP:  2004-03-10  FTSE:  2004-03-01\\n\",\n      \"BP:  2004-03-11  FTSE:  2004-03-02\\n\",\n      \"BP:  2004-03-12  FTSE:  2004-03-03\\n\",\n      \"BP:  2004-03-15  FTSE:  2004-03-04\\n\",\n      \"BP:  2004-03-16  FTSE:  2004-03-05\\n\",\n      \"BP:  2004-03-17  FTSE:  2004-03-08\\n\",\n      \"BP:  2004-03-18  FTSE:  2004-03-09\\n\",\n      \"BP:  2004-03-19  FTSE:  2004-03-10\\n\",\n      \"BP:  2004-03-22  FTSE:  2004-03-11\\n\",\n      \"BP:  2004-03-23  FTSE:  2004-03-12\\n\",\n      \"BP:  2004-03-24  FTSE:  2004-03-15\\n\",\n      \"BP:  2004-03-25  FTSE:  2004-03-16\\n\",\n      \"BP:  2004-03-26  FTSE:  2004-03-17\\n\",\n      \"BP:  2004-03-29  FTSE:  2004-03-18\\n\",\n      \"BP:  2004-03-30  FTSE:  2004-03-19\\n\",\n      \"BP:  2004-03-31  FTSE:  2004-03-22\\n\",\n      \"BP:  2004-04-01  FTSE:  2004-03-23\\n\",\n      \"BP:  2004-04-02  FTSE:  2004-03-24\\n\",\n      \"BP:  2004-04-05  FTSE:  2004-03-25\\n\",\n      \"BP:  2004-04-06  FTSE:  2004-03-26\\n\",\n      \"BP:  2004-04-07  FTSE:  2004-03-29\\n\",\n      \"BP:  2004-04-08  FTSE:  2004-03-30\\n\",\n      \"BP:  2004-04-12  FTSE:  2004-03-31\\n\",\n      \"BP:  2004-04-13  FTSE:  2004-04-01\\n\",\n      \"BP:  2004-04-14  FTSE:  2004-04-02\\n\",\n      \"BP:  2004-04-15  FTSE:  2004-04-05\\n\",\n      \"BP:  2004-04-16  FTSE:  2004-04-06\\n\",\n      \"BP:  2004-04-19  FTSE:  2004-04-07\\n\",\n      \"BP:  2004-04-20  FTSE:  2004-04-08\\n\",\n      \"BP:  2004-04-21  FTSE:  2004-04-13\\n\",\n      \"BP:  2004-04-22  FTSE:  2004-04-14\\n\",\n      \"BP:  2004-04-23  FTSE:  2004-04-15\\n\",\n      \"BP:  2004-04-26  FTSE:  2004-04-16\\n\",\n      \"BP:  2004-04-27  FTSE:  2004-04-19\\n\",\n      \"BP:  2004-04-28  FTSE:  2004-04-20\\n\",\n      \"BP:  2004-04-29  FTSE:  2004-04-21\\n\",\n      \"BP:  2004-04-30  FTSE:  2004-04-22\\n\",\n      \"BP:  2004-05-03  FTSE:  2004-04-23\\n\",\n      \"BP:  2004-05-04  FTSE:  2004-04-26\\n\",\n      \"BP:  2004-05-05  FTSE:  2004-04-27\\n\",\n      \"BP:  2004-05-06  FTSE:  2004-04-28\\n\",\n      \"BP:  2004-05-07  FTSE:  2004-04-29\\n\",\n      \"BP:  2004-05-10  FTSE:  2004-04-30\\n\",\n      \"BP:  2004-05-11  FTSE:  2004-05-04\\n\",\n      \"BP:  2004-05-12  FTSE:  2004-05-05\\n\",\n      \"BP:  2004-05-13  FTSE:  2004-05-06\\n\",\n      \"BP:  2004-05-14  FTSE:  2004-05-07\\n\",\n      \"BP:  2004-05-17  FTSE:  2004-05-10\\n\",\n      \"BP:  2004-05-18  FTSE:  2004-05-11\\n\",\n      \"BP:  2004-05-19  FTSE:  2004-05-12\\n\",\n      \"BP:  2004-05-20  FTSE:  2004-05-13\\n\",\n      \"BP:  2004-05-21  FTSE:  2004-05-14\\n\",\n      \"BP:  2004-05-24  FTSE:  2004-05-17\\n\",\n      \"BP:  2004-05-25  FTSE:  2004-05-18\\n\",\n      \"BP:  2004-05-26  FTSE:  2004-05-19\\n\",\n      \"BP:  2004-05-27  FTSE:  2004-05-20\\n\",\n      \"BP:  2004-05-28  FTSE:  2004-05-21\\n\",\n      \"BP:  2004-06-01  FTSE:  2004-05-24\\n\",\n      \"BP:  2004-06-02  FTSE:  2004-05-25\\n\",\n      \"BP:  2004-06-03  FTSE:  2004-05-26\\n\",\n      \"BP:  2004-06-04  FTSE:  2004-05-27\\n\",\n      \"BP:  2004-06-07  FTSE:  2004-05-28\\n\",\n      \"BP:  2004-06-08  FTSE:  2004-06-01\\n\",\n      \"BP:  2004-06-09  FTSE:  2004-06-02\\n\",\n      \"BP:  2004-06-10  FTSE:  2004-06-03\\n\",\n      \"BP:  2004-06-14  FTSE:  2004-06-04\\n\",\n      \"BP:  2004-06-15  FTSE:  2004-06-07\\n\",\n      \"BP:  2004-06-16  FTSE:  2004-06-08\\n\",\n      \"BP:  2004-06-17  FTSE:  2004-06-09\\n\",\n      \"BP:  2004-06-18  FTSE:  2004-06-10\\n\",\n      \"BP:  2004-06-21  FTSE:  2004-06-11\\n\",\n      \"BP:  2004-06-22  FTSE:  2004-06-14\\n\",\n      \"BP:  2004-06-23  FTSE:  2004-06-15\\n\",\n      \"BP:  2004-06-24  FTSE:  2004-06-16\\n\",\n      \"BP:  2004-06-25  FTSE:  2004-06-17\\n\",\n      \"BP:  2004-06-28  FTSE:  2004-06-18\\n\",\n      \"BP:  2004-06-29  FTSE:  2004-06-21\\n\",\n      \"BP:  2004-06-30  FTSE:  2004-06-22\\n\",\n      \"BP:  2004-07-01  FTSE:  2004-06-23\\n\",\n      \"BP:  2004-07-02  FTSE:  2004-06-24\\n\",\n      \"BP:  2004-07-06  FTSE:  2004-06-25\\n\",\n      \"BP:  2004-07-07  FTSE:  2004-06-28\\n\",\n      \"BP:  2004-07-08  FTSE:  2004-06-29\\n\",\n      \"BP:  2004-07-09  FTSE:  2004-06-30\\n\",\n      \"BP:  2004-07-12  FTSE:  2004-07-01\\n\",\n      \"BP:  2004-07-13  FTSE:  2004-07-02\\n\",\n      \"BP:  2004-07-14  FTSE:  2004-07-05\\n\",\n      \"BP:  2004-07-15  FTSE:  2004-07-06\\n\",\n      \"BP:  2004-07-16  FTSE:  2004-07-07\\n\",\n      \"BP:  2004-07-19  FTSE:  2004-07-08\\n\",\n      \"BP:  2004-07-20  FTSE:  2004-07-09\\n\",\n      \"BP:  2004-07-21  FTSE:  2004-07-12\\n\",\n      \"BP:  2004-07-22  FTSE:  2004-07-13\\n\",\n      \"BP:  2004-07-23  FTSE:  2004-07-14\\n\",\n      \"BP:  2004-07-26  FTSE:  2004-07-15\\n\",\n      \"BP:  2004-07-27  FTSE:  2004-07-16\\n\",\n      \"BP:  2004-07-28  FTSE:  2004-07-19\\n\",\n      \"BP:  2004-07-29  FTSE:  2004-07-20\\n\",\n      \"BP:  2004-07-30  FTSE:  2004-07-21\\n\",\n      \"BP:  2004-08-02  FTSE:  2004-07-22\\n\",\n      \"BP:  2004-08-03  FTSE:  2004-07-23\\n\",\n      \"BP:  2004-08-04  FTSE:  2004-07-26\\n\",\n      \"BP:  2004-08-05  FTSE:  2004-07-27\\n\",\n      \"BP:  2004-08-06  FTSE:  2004-07-28\\n\",\n      \"BP:  2004-08-09  FTSE:  2004-07-29\\n\",\n      \"BP:  2004-08-10  FTSE:  2004-07-30\\n\",\n      \"BP:  2004-08-11  FTSE:  2004-08-02\\n\",\n      \"BP:  2004-08-12  FTSE:  2004-08-03\\n\",\n      \"BP:  2004-08-13  FTSE:  2004-08-04\\n\",\n      \"BP:  2004-08-16  FTSE:  2004-08-05\\n\",\n      \"BP:  2004-08-17  FTSE:  2004-08-06\\n\",\n      \"BP:  2004-08-18  FTSE:  2004-08-09\\n\",\n      \"BP:  2004-08-19  FTSE:  2004-08-10\\n\",\n      \"BP:  2004-08-20  FTSE:  2004-08-11\\n\",\n      \"BP:  2004-08-23  FTSE:  2004-08-12\\n\",\n      \"BP:  2004-08-24  FTSE:  2004-08-13\\n\",\n      \"BP:  2004-08-25  FTSE:  2004-08-16\\n\",\n      \"BP:  2004-08-26  FTSE:  2004-08-17\\n\",\n      \"BP:  2004-08-27  FTSE:  2004-08-18\\n\",\n      \"BP:  2004-08-30  FTSE:  2004-08-19\\n\",\n      \"BP:  2004-08-31  FTSE:  2004-08-20\\n\",\n      \"BP:  2004-09-01  FTSE:  2004-08-23\\n\",\n      \"BP:  2004-09-02  FTSE:  2004-08-24\\n\",\n      \"BP:  2004-09-03  FTSE:  2004-08-25\\n\",\n      \"BP:  2004-09-07  FTSE:  2004-08-26\\n\",\n      \"BP:  2004-09-08  FTSE:  2004-08-27\\n\",\n      \"BP:  2004-09-09  FTSE:  2004-08-31\\n\",\n      \"BP:  2004-09-10  FTSE:  2004-09-01\\n\",\n      \"BP:  2004-09-13  FTSE:  2004-09-02\\n\",\n      \"BP:  2004-09-14  FTSE:  2004-09-03\\n\",\n      \"BP:  2004-09-15  FTSE:  2004-09-06\\n\",\n      \"BP:  2004-09-16  FTSE:  2004-09-07\\n\",\n      \"BP:  2004-09-17  FTSE:  2004-09-08\\n\",\n      \"BP:  2004-09-20  FTSE:  2004-09-09\\n\",\n      \"BP:  2004-09-21  FTSE:  2004-09-10\\n\",\n      \"BP:  2004-09-22  FTSE:  2004-09-13\\n\",\n      \"BP:  2004-09-23  FTSE:  2004-09-14\\n\",\n      \"BP:  2004-09-24  FTSE:  2004-09-15\\n\",\n      \"BP:  2004-09-27  FTSE:  2004-09-16\\n\",\n      \"BP:  2004-09-28  FTSE:  2004-09-17\\n\",\n      \"BP:  2004-09-29  FTSE:  2004-09-20\\n\",\n      \"BP:  2004-09-30  FTSE:  2004-09-21\\n\",\n      \"BP:  2004-10-01  FTSE:  2004-09-22\\n\",\n      \"BP:  2004-10-04  FTSE:  2004-09-23\\n\",\n      \"BP:  2004-10-05  FTSE:  2004-09-24\\n\",\n      \"BP:  2004-10-06  FTSE:  2004-09-27\\n\",\n      \"BP:  2004-10-07  FTSE:  2004-09-28\\n\",\n      \"BP:  2004-10-08  FTSE:  2004-09-29\\n\",\n      \"BP:  2004-10-11  FTSE:  2004-09-30\\n\",\n      \"BP:  2004-10-12  FTSE:  2004-10-01\\n\",\n      \"BP:  2004-10-13  FTSE:  2004-10-04\\n\",\n      \"BP:  2004-10-14  FTSE:  2004-10-05\\n\",\n      \"BP:  2004-10-15  FTSE:  2004-10-06\\n\",\n      \"BP:  2004-10-18  FTSE:  2004-10-07\\n\",\n      \"BP:  2004-10-19  FTSE:  2004-10-08\\n\",\n      \"BP:  2004-10-20  FTSE:  2004-10-11\\n\",\n      \"BP:  2004-10-21  FTSE:  2004-10-12\\n\",\n      \"BP:  2004-10-22  FTSE:  2004-10-13\\n\",\n      \"BP:  2004-10-25  FTSE:  2004-10-14\\n\",\n      \"BP:  2004-10-26  FTSE:  2004-10-15\\n\",\n      \"BP:  2004-10-27  FTSE:  2004-10-18\\n\",\n      \"BP:  2004-10-28  FTSE:  2004-10-19\\n\",\n      \"BP:  2004-10-29  FTSE:  2004-10-20\\n\",\n      \"BP:  2004-11-01  FTSE:  2004-10-21\\n\",\n      \"BP:  2004-11-02  FTSE:  2004-10-22\\n\",\n      \"BP:  2004-11-03  FTSE:  2004-10-25\\n\",\n      \"BP:  2004-11-04  FTSE:  2004-10-26\\n\",\n      \"BP:  2004-11-05  FTSE:  2004-10-27\\n\",\n      \"BP:  2004-11-08  FTSE:  2004-10-28\\n\",\n      \"BP:  2004-11-09  FTSE:  2004-10-29\\n\",\n      \"BP:  2004-11-10  FTSE:  2004-11-01\\n\",\n      \"BP:  2004-11-11  FTSE:  2004-11-02\\n\",\n      \"BP:  2004-11-12  FTSE:  2004-11-03\\n\",\n      \"BP:  2004-11-15  FTSE:  2004-11-04\\n\",\n      \"BP:  2004-11-16  FTSE:  2004-11-05\\n\",\n      \"BP:  2004-11-17  FTSE:  2004-11-08\\n\",\n      \"BP:  2004-11-18  FTSE:  2004-11-09\\n\",\n      \"BP:  2004-11-19  FTSE:  2004-11-10\\n\",\n      \"BP:  2004-11-22  FTSE:  2004-11-11\\n\",\n      \"BP:  2004-11-23  FTSE:  2004-11-12\\n\",\n      \"BP:  2004-11-24  FTSE:  2004-11-15\\n\",\n      \"BP:  2004-11-26  FTSE:  2004-11-16\\n\",\n      \"BP:  2004-11-29  FTSE:  2004-11-17\\n\",\n      \"BP:  2004-11-30  FTSE:  2004-11-18\\n\",\n      \"BP:  2004-12-01  FTSE:  2004-11-19\\n\",\n      \"BP:  2004-12-02  FTSE:  2004-11-22\\n\",\n      \"BP:  2004-12-03  FTSE:  2004-11-23\\n\",\n      \"BP:  2004-12-06  FTSE:  2004-11-24\\n\",\n      \"BP:  2004-12-07  FTSE:  2004-11-25\\n\",\n      \"BP:  2004-12-08  FTSE:  2004-11-26\\n\",\n      \"BP:  2004-12-09  FTSE:  2004-11-29\\n\",\n      \"BP:  2004-12-10  FTSE:  2004-11-30\\n\",\n      \"BP:  2004-12-13  FTSE:  2004-12-01\\n\",\n      \"BP:  2004-12-14  FTSE:  2004-12-02\\n\",\n      \"BP:  2004-12-15  FTSE:  2004-12-03\\n\",\n      \"BP:  2004-12-16  FTSE:  2004-12-06\\n\",\n      \"BP:  2004-12-17  FTSE:  2004-12-07\\n\",\n      \"BP:  2004-12-20  FTSE:  2004-12-08\\n\",\n      \"BP:  2004-12-21  FTSE:  2004-12-09\\n\",\n      \"BP:  2004-12-22  FTSE:  2004-12-10\\n\",\n      \"BP:  2004-12-23  FTSE:  2004-12-13\\n\",\n      \"BP:  2004-12-27  FTSE:  2004-12-14\\n\",\n      \"BP:  2004-12-28  FTSE:  2004-12-15\\n\",\n      \"BP:  2004-12-29  FTSE:  2004-12-16\\n\",\n      \"BP:  2004-12-30  FTSE:  2004-12-17\\n\",\n      \"BP:  2004-12-31  FTSE:  2004-12-20\\n\",\n      \"BP:  2005-01-03  FTSE:  2004-12-21\\n\",\n      \"BP:  2005-01-04  FTSE:  2004-12-22\\n\",\n      \"BP:  2005-01-05  FTSE:  2004-12-23\\n\",\n      \"BP:  2005-01-06  FTSE:  2004-12-24\\n\",\n      \"BP:  2005-01-07  FTSE:  2004-12-29\\n\",\n      \"BP:  2005-01-10  FTSE:  2004-12-30\\n\",\n      \"BP:  2005-01-11  FTSE:  2004-12-31\\n\",\n      \"BP:  2005-01-12  FTSE:  2005-01-04\\n\",\n      \"BP:  2005-01-13  FTSE:  2005-01-05\\n\",\n      \"BP:  2005-01-14  FTSE:  2005-01-06\\n\",\n      \"BP:  2005-01-18  FTSE:  2005-01-07\\n\",\n      \"BP:  2005-01-19  FTSE:  2005-01-10\\n\",\n      \"BP:  2005-01-20  FTSE:  2005-01-11\\n\",\n      \"BP:  2005-01-21  FTSE:  2005-01-12\\n\",\n      \"BP:  2005-01-24  FTSE:  2005-01-13\\n\",\n      \"BP:  2005-01-25  FTSE:  2005-01-14\\n\",\n      \"BP:  2005-01-26  FTSE:  2005-01-17\\n\",\n      \"BP:  2005-01-27  FTSE:  2005-01-18\\n\",\n      \"BP:  2005-01-28  FTSE:  2005-01-19\\n\",\n      \"BP:  2005-01-31  FTSE:  2005-01-20\\n\",\n      \"BP:  2005-02-01  FTSE:  2005-01-21\\n\",\n      \"BP:  2005-02-02  FTSE:  2005-01-24\\n\",\n      \"BP:  2005-02-03  FTSE:  2005-01-25\\n\",\n      \"BP:  2005-02-04  FTSE:  2005-01-26\\n\",\n      \"BP:  2005-02-07  FTSE:  2005-01-27\\n\",\n      \"BP:  2005-02-08  FTSE:  2005-01-28\\n\",\n      \"BP:  2005-02-09  FTSE:  2005-01-31\\n\",\n      \"BP:  2005-02-10  FTSE:  2005-02-01\\n\",\n      \"BP:  2005-02-11  FTSE:  2005-02-02\\n\",\n      \"BP:  2005-02-14  FTSE:  2005-02-03\\n\",\n      \"BP:  2005-02-15  FTSE:  2005-02-04\\n\",\n      \"BP:  2005-02-16  FTSE:  2005-02-07\\n\",\n      \"BP:  2005-02-17  FTSE:  2005-02-08\\n\",\n      \"BP:  2005-02-18  FTSE:  2005-02-09\\n\",\n      \"BP:  2005-02-22  FTSE:  2005-02-10\\n\",\n      \"BP:  2005-02-23  FTSE:  2005-02-11\\n\",\n      \"BP:  2005-02-24  FTSE:  2005-02-14\\n\",\n      \"BP:  2005-02-25  FTSE:  2005-02-15\\n\",\n      \"BP:  2005-02-28  FTSE:  2005-02-16\\n\",\n      \"BP:  2005-03-01  FTSE:  2005-02-17\\n\",\n      \"BP:  2005-03-02  FTSE:  2005-02-18\\n\",\n      \"BP:  2005-03-03  FTSE:  2005-02-21\\n\",\n      \"BP:  2005-03-04  FTSE:  2005-02-22\\n\",\n      \"BP:  2005-03-07  FTSE:  2005-02-23\\n\",\n      \"BP:  2005-03-08  FTSE:  2005-02-24\\n\",\n      \"BP:  2005-03-09  FTSE:  2005-02-25\\n\",\n      \"BP:  2005-03-10  FTSE:  2005-02-28\\n\",\n      \"BP:  2005-03-11  FTSE:  2005-03-01\\n\",\n      \"BP:  2005-03-14  FTSE:  2005-03-02\\n\",\n      \"BP:  2005-03-15  FTSE:  2005-03-03\\n\",\n      \"BP:  2005-03-16  FTSE:  2005-03-04\\n\",\n      \"BP:  2005-03-17  FTSE:  2005-03-07\\n\",\n      \"BP:  2005-03-18  FTSE:  2005-03-08\\n\",\n      \"BP:  2005-03-21  FTSE:  2005-03-09\\n\",\n      \"BP:  2005-03-22  FTSE:  2005-03-10\\n\",\n      \"BP:  2005-03-23  FTSE:  2005-03-11\\n\",\n      \"BP:  2005-03-24  FTSE:  2005-03-14\\n\",\n      \"BP:  2005-03-28  FTSE:  2005-03-15\\n\",\n      \"BP:  2005-03-29  FTSE:  2005-03-16\\n\",\n      \"BP:  2005-03-30  FTSE:  2005-03-17\\n\",\n      \"BP:  2005-03-31  FTSE:  2005-03-18\\n\",\n      \"BP:  2005-04-01  FTSE:  2005-03-21\\n\",\n      \"BP:  2005-04-04  FTSE:  2005-03-22\\n\",\n      \"BP:  2005-04-05  FTSE:  2005-03-23\\n\",\n      \"BP:  2005-04-06  FTSE:  2005-03-24\\n\",\n      \"BP:  2005-04-07  FTSE:  2005-03-29\\n\",\n      \"BP:  2005-04-08  FTSE:  2005-03-30\\n\",\n      \"BP:  2005-04-11  FTSE:  2005-03-31\\n\",\n      \"BP:  2005-04-12  FTSE:  2005-04-01\\n\",\n      \"BP:  2005-04-13  FTSE:  2005-04-04\\n\",\n      \"BP:  2005-04-14  FTSE:  2005-04-05\\n\",\n      \"BP:  2005-04-15  FTSE:  2005-04-06\\n\",\n      \"BP:  2005-04-18  FTSE:  2005-04-07\\n\",\n      \"BP:  2005-04-19  FTSE:  2005-04-08\\n\",\n      \"BP:  2005-04-20  FTSE:  2005-04-11\\n\",\n      \"BP:  2005-04-21  FTSE:  2005-04-12\\n\",\n      \"BP:  2005-04-22  FTSE:  2005-04-13\\n\",\n      \"BP:  2005-04-25  FTSE:  2005-04-14\\n\",\n      \"BP:  2005-04-26  FTSE:  2005-04-15\\n\",\n      \"BP:  2005-04-27  FTSE:  2005-04-18\\n\",\n      \"BP:  2005-04-28  FTSE:  2005-04-19\\n\",\n      \"BP:  2005-04-29  FTSE:  2005-04-20\\n\",\n      \"BP:  2005-05-02  FTSE:  2005-04-21\\n\",\n      \"BP:  2005-05-03  FTSE:  2005-04-22\\n\",\n      \"BP:  2005-05-04  FTSE:  2005-04-25\\n\",\n      \"BP:  2005-05-05  FTSE:  2005-04-26\\n\",\n      \"BP:  2005-05-06  FTSE:  2005-04-27\\n\",\n      \"BP:  2005-05-09  FTSE:  2005-04-28\\n\",\n      \"BP:  2005-05-10  FTSE:  2005-04-29\\n\",\n      \"BP:  2005-05-11  FTSE:  2005-05-03\\n\",\n      \"BP:  2005-05-12  FTSE:  2005-05-04\\n\",\n      \"BP:  2005-05-13  FTSE:  2005-05-05\\n\",\n      \"BP:  2005-05-16  FTSE:  2005-05-06\\n\",\n      \"BP:  2005-05-17  FTSE:  2005-05-09\\n\",\n      \"BP:  2005-05-18  FTSE:  2005-05-10\\n\",\n      \"BP:  2005-05-19  FTSE:  2005-05-11\\n\",\n      \"BP:  2005-05-20  FTSE:  2005-05-12\\n\",\n      \"BP:  2005-05-23  FTSE:  2005-05-13\\n\",\n      \"BP:  2005-05-24  FTSE:  2005-05-16\\n\",\n      \"BP:  2005-05-25  FTSE:  2005-05-17\\n\",\n      \"BP:  2005-05-26  FTSE:  2005-05-18\\n\",\n      \"BP:  2005-05-27  FTSE:  2005-05-19\\n\",\n      \"BP:  2005-05-31  FTSE:  2005-05-20\\n\",\n      \"BP:  2005-06-01  FTSE:  2005-05-23\\n\",\n      \"BP:  2005-06-02  FTSE:  2005-05-24\\n\",\n      \"BP:  2005-06-03  FTSE:  2005-05-25\\n\",\n      \"BP:  2005-06-06  FTSE:  2005-05-26\\n\",\n      \"BP:  2005-06-07  FTSE:  2005-05-27\\n\",\n      \"BP:  2005-06-08  FTSE:  2005-05-31\\n\",\n      \"BP:  2005-06-09  FTSE:  2005-06-01\\n\",\n      \"BP:  2005-06-10  FTSE:  2005-06-02\\n\",\n      \"BP:  2005-06-13  FTSE:  2005-06-03\\n\",\n      \"BP:  2005-06-14  FTSE:  2005-06-06\\n\",\n      \"BP:  2005-06-15  FTSE:  2005-06-07\\n\",\n      \"BP:  2005-06-16  FTSE:  2005-06-08\\n\",\n      \"BP:  2005-06-17  FTSE:  2005-06-09\\n\",\n      \"BP:  2005-06-20  FTSE:  2005-06-10\\n\",\n      \"BP:  2005-06-21  FTSE:  2005-06-13\\n\",\n      \"BP:  2005-06-22  FTSE:  2005-06-14\\n\",\n      \"BP:  2005-06-23  FTSE:  2005-06-15\\n\",\n      \"BP:  2005-06-24  FTSE:  2005-06-16\\n\",\n      \"BP:  2005-06-27  FTSE:  2005-06-17\\n\",\n      \"BP:  2005-06-28  FTSE:  2005-06-20\\n\",\n      \"BP:  2005-06-29  FTSE:  2005-06-21\\n\",\n      \"BP:  2005-06-30  FTSE:  2005-06-22\\n\",\n      \"BP:  2005-07-01  FTSE:  2005-06-23\\n\",\n      \"BP:  2005-07-05  FTSE:  2005-06-24\\n\",\n      \"BP:  2005-07-06  FTSE:  2005-06-27\\n\",\n      \"BP:  2005-07-07  FTSE:  2005-06-28\\n\",\n      \"BP:  2005-07-08  FTSE:  2005-06-29\\n\",\n      \"BP:  2005-07-11  FTSE:  2005-06-30\\n\",\n      \"BP:  2005-07-12  FTSE:  2005-07-01\\n\",\n      \"BP:  2005-07-13  FTSE:  2005-07-04\\n\",\n      \"BP:  2005-07-14  FTSE:  2005-07-05\\n\",\n      \"BP:  2005-07-15  FTSE:  2005-07-06\\n\",\n      \"BP:  2005-07-18  FTSE:  2005-07-07\\n\",\n      \"BP:  2005-07-19  FTSE:  2005-07-08\\n\",\n      \"BP:  2005-07-20  FTSE:  2005-07-11\\n\",\n      \"BP:  2005-07-21  FTSE:  2005-07-12\\n\",\n      \"BP:  2005-07-22  FTSE:  2005-07-13\\n\",\n      \"BP:  2005-07-25  FTSE:  2005-07-14\\n\",\n      \"BP:  2005-07-26  FTSE:  2005-07-15\\n\",\n      \"BP:  2005-07-27  FTSE:  2005-07-18\\n\",\n      \"BP:  2005-07-28  FTSE:  2005-07-19\\n\",\n      \"BP:  2005-07-29  FTSE:  2005-07-20\\n\",\n      \"BP:  2005-08-01  FTSE:  2005-07-21\\n\",\n      \"BP:  2005-08-02  FTSE:  2005-07-22\\n\",\n      \"BP:  2005-08-03  FTSE:  2005-07-25\\n\",\n      \"BP:  2005-08-04  FTSE:  2005-07-26\\n\",\n      \"BP:  2005-08-05  FTSE:  2005-07-27\\n\",\n      \"BP:  2005-08-08  FTSE:  2005-07-28\\n\",\n      \"BP:  2005-08-09  FTSE:  2005-07-29\\n\",\n      \"BP:  2005-08-10  FTSE:  2005-08-01\\n\",\n      \"BP:  2005-08-11  FTSE:  2005-08-02\\n\",\n      \"BP:  2005-08-12  FTSE:  2005-08-03\\n\",\n      \"BP:  2005-08-15  FTSE:  2005-08-04\\n\",\n      \"BP:  2005-08-16  FTSE:  2005-08-05\\n\",\n      \"BP:  2005-08-17  FTSE:  2005-08-08\\n\",\n      \"BP:  2005-08-18  FTSE:  2005-08-09\\n\",\n      \"BP:  2005-08-19  FTSE:  2005-08-10\\n\",\n      \"BP:  2005-08-22  FTSE:  2005-08-11\\n\",\n      \"BP:  2005-08-23  FTSE:  2005-08-12\\n\",\n      \"BP:  2005-08-24  FTSE:  2005-08-15\\n\",\n      \"BP:  2005-08-25  FTSE:  2005-08-16\\n\",\n      \"BP:  2005-08-26  FTSE:  2005-08-17\\n\",\n      \"BP:  2005-08-29  FTSE:  2005-08-18\\n\",\n      \"BP:  2005-08-30  FTSE:  2005-08-19\\n\",\n      \"BP:  2005-08-31  FTSE:  2005-08-22\\n\",\n      \"BP:  2005-09-01  FTSE:  2005-08-23\\n\",\n      \"BP:  2005-09-02  FTSE:  2005-08-24\\n\",\n      \"BP:  2005-09-06  FTSE:  2005-08-25\\n\",\n      \"BP:  2005-09-07  FTSE:  2005-08-26\\n\",\n      \"BP:  2005-09-08  FTSE:  2005-08-30\\n\",\n      \"BP:  2005-09-09  FTSE:  2005-08-31\\n\",\n      \"BP:  2005-09-12  FTSE:  2005-09-01\\n\",\n      \"BP:  2005-09-13  FTSE:  2005-09-02\\n\",\n      \"BP:  2005-09-14  FTSE:  2005-09-05\\n\",\n      \"BP:  2005-09-15  FTSE:  2005-09-06\\n\",\n      \"BP:  2005-09-16  FTSE:  2005-09-07\\n\",\n      \"BP:  2005-09-19  FTSE:  2005-09-08\\n\",\n      \"BP:  2005-09-20  FTSE:  2005-09-09\\n\",\n      \"BP:  2005-09-21  FTSE:  2005-09-12\\n\",\n      \"BP:  2005-09-22  FTSE:  2005-09-13\\n\",\n      \"BP:  2005-09-23  FTSE:  2005-09-14\\n\",\n      \"BP:  2005-09-26  FTSE:  2005-09-15\\n\",\n      \"BP:  2005-09-27  FTSE:  2005-09-16\\n\",\n      \"BP:  2005-09-28  FTSE:  2005-09-19\\n\",\n      \"BP:  2005-09-29  FTSE:  2005-09-20\\n\",\n      \"BP:  2005-09-30  FTSE:  2005-09-21\\n\",\n      \"BP:  2005-10-03  FTSE:  2005-09-22\\n\",\n      \"BP:  2005-10-04  FTSE:  2005-09-23\\n\",\n      \"BP:  2005-10-05  FTSE:  2005-09-26\\n\",\n      \"BP:  2005-10-06  FTSE:  2005-09-27\\n\",\n      \"BP:  2005-10-07  FTSE:  2005-09-28\\n\",\n      \"BP:  2005-10-10  FTSE:  2005-09-29\\n\",\n      \"BP:  2005-10-11  FTSE:  2005-09-30\\n\",\n      \"BP:  2005-10-12  FTSE:  2005-10-03\\n\",\n      \"BP:  2005-10-13  FTSE:  2005-10-04\\n\",\n      \"BP:  2005-10-14  FTSE:  2005-10-05\\n\",\n      \"BP:  2005-10-17  FTSE:  2005-10-06\\n\",\n      \"BP:  2005-10-18  FTSE:  2005-10-07\\n\",\n      \"BP:  2005-10-19  FTSE:  2005-10-10\\n\",\n      \"BP:  2005-10-20  FTSE:  2005-10-11\\n\",\n      \"BP:  2005-10-21  FTSE:  2005-10-12\\n\",\n      \"BP:  2005-10-24  FTSE:  2005-10-13\\n\",\n      \"BP:  2005-10-25  FTSE:  2005-10-14\\n\",\n      \"BP:  2005-10-26  FTSE:  2005-10-17\\n\",\n      \"BP:  2005-10-27  FTSE:  2005-10-18\\n\",\n      \"BP:  2005-10-28  FTSE:  2005-10-19\\n\",\n      \"BP:  2005-10-31  FTSE:  2005-10-20\\n\",\n      \"BP:  2005-11-01  FTSE:  2005-10-21\\n\",\n      \"BP:  2005-11-02  FTSE:  2005-10-24\\n\",\n      \"BP:  2005-11-03  FTSE:  2005-10-25\\n\",\n      \"BP:  2005-11-04  FTSE:  2005-10-26\\n\",\n      \"BP:  2005-11-07  FTSE:  2005-10-27\\n\",\n      \"BP:  2005-11-08  FTSE:  2005-10-28\\n\",\n      \"BP:  2005-11-09  FTSE:  2005-10-31\\n\",\n      \"BP:  2005-11-10  FTSE:  2005-11-01\\n\",\n      \"BP:  2005-11-11  FTSE:  2005-11-02\\n\",\n      \"BP:  2005-11-14  FTSE:  2005-11-03\\n\",\n      \"BP:  2005-11-15  FTSE:  2005-11-04\\n\",\n      \"BP:  2005-11-16  FTSE:  2005-11-07\\n\",\n      \"BP:  2005-11-17  FTSE:  2005-11-08\\n\",\n      \"BP:  2005-11-18  FTSE:  2005-11-09\\n\",\n      \"BP:  2005-11-21  FTSE:  2005-11-10\\n\",\n      \"BP:  2005-11-22  FTSE:  2005-11-11\\n\",\n      \"BP:  2005-11-23  FTSE:  2005-11-14\\n\",\n      \"BP:  2005-11-25  FTSE:  2005-11-15\\n\",\n      \"BP:  2005-11-28  FTSE:  2005-11-16\\n\",\n      \"BP:  2005-11-29  FTSE:  2005-11-17\\n\",\n      \"BP:  2005-11-30  FTSE:  2005-11-18\\n\",\n      \"BP:  2005-12-01  FTSE:  2005-11-21\\n\",\n      \"BP:  2005-12-02  FTSE:  2005-11-22\\n\",\n      \"BP:  2005-12-05  FTSE:  2005-11-23\\n\",\n      \"BP:  2005-12-06  FTSE:  2005-11-24\\n\",\n      \"BP:  2005-12-07  FTSE:  2005-11-25\\n\",\n      \"BP:  2005-12-08  FTSE:  2005-11-28\\n\",\n      \"BP:  2005-12-09  FTSE:  2005-11-29\\n\",\n      \"BP:  2005-12-12  FTSE:  2005-11-30\\n\",\n      \"BP:  2005-12-13  FTSE:  2005-12-01\\n\",\n      \"BP:  2005-12-14  FTSE:  2005-12-02\\n\",\n      \"BP:  2005-12-15  FTSE:  2005-12-05\\n\",\n      \"BP:  2005-12-16  FTSE:  2005-12-06\\n\",\n      \"BP:  2005-12-19  FTSE:  2005-12-07\\n\",\n      \"BP:  2005-12-20  FTSE:  2005-12-08\\n\",\n      \"BP:  2005-12-21  FTSE:  2005-12-09\\n\",\n      \"BP:  2005-12-22  FTSE:  2005-12-12\\n\",\n      \"BP:  2005-12-23  FTSE:  2005-12-13\\n\",\n      \"BP:  2005-12-27  FTSE:  2005-12-14\\n\",\n      \"BP:  2005-12-28  FTSE:  2005-12-15\\n\",\n      \"BP:  2005-12-29  FTSE:  2005-12-16\\n\",\n      \"BP:  2005-12-30  FTSE:  2005-12-19\\n\",\n      \"BP:  2006-01-03  FTSE:  2005-12-20\\n\",\n      \"BP:  2006-01-04  FTSE:  2005-12-21\\n\",\n      \"BP:  2006-01-05  FTSE:  2005-12-22\\n\",\n      \"BP:  2006-01-06  FTSE:  2005-12-23\\n\",\n      \"BP:  2006-01-09  FTSE:  2005-12-28\\n\",\n      \"BP:  2006-01-10  FTSE:  2005-12-29\\n\",\n      \"BP:  2006-01-11  FTSE:  2005-12-30\\n\",\n      \"BP:  2006-01-12  FTSE:  2006-01-03\\n\",\n      \"BP:  2006-01-13  FTSE:  2006-01-04\\n\",\n      \"BP:  2006-01-17  FTSE:  2006-01-05\\n\",\n      \"BP:  2006-01-18  FTSE:  2006-01-06\\n\",\n      \"BP:  2006-01-19  FTSE:  2006-01-09\\n\",\n      \"BP:  2006-01-20  FTSE:  2006-01-10\\n\",\n      \"BP:  2006-01-23  FTSE:  2006-01-11\\n\",\n      \"BP:  2006-01-24  FTSE:  2006-01-12\\n\",\n      \"BP:  2006-01-25  FTSE:  2006-01-13\\n\",\n      \"BP:  2006-01-26  FTSE:  2006-01-16\\n\",\n      \"BP:  2006-01-27  FTSE:  2006-01-17\\n\",\n      \"BP:  2006-01-30  FTSE:  2006-01-18\\n\",\n      \"BP:  2006-01-31  FTSE:  2006-01-19\\n\",\n      \"BP:  2006-02-01  FTSE:  2006-01-20\\n\",\n      \"BP:  2006-02-02  FTSE:  2006-01-23\\n\",\n      \"BP:  2006-02-03  FTSE:  2006-01-24\\n\",\n      \"BP:  2006-02-06  FTSE:  2006-01-25\\n\",\n      \"BP:  2006-02-07  FTSE:  2006-01-26\\n\",\n      \"BP:  2006-02-08  FTSE:  2006-01-27\\n\",\n      \"BP:  2006-02-09  FTSE:  2006-01-30\\n\",\n      \"BP:  2006-02-10  FTSE:  2006-01-31\\n\",\n      \"BP:  2006-02-13  FTSE:  2006-02-01\\n\",\n      \"BP:  2006-02-14  FTSE:  2006-02-02\\n\",\n      \"BP:  2006-02-15  FTSE:  2006-02-03\\n\",\n      \"BP:  2006-02-16  FTSE:  2006-02-06\\n\",\n      \"BP:  2006-02-17  FTSE:  2006-02-07\\n\",\n      \"BP:  2006-02-21  FTSE:  2006-02-08\\n\",\n      \"BP:  2006-02-22  FTSE:  2006-02-09\\n\",\n      \"BP:  2006-02-23  FTSE:  2006-02-10\\n\",\n      \"BP:  2006-02-24  FTSE:  2006-02-13\\n\",\n      \"BP:  2006-02-27  FTSE:  2006-02-14\\n\",\n      \"BP:  2006-02-28  FTSE:  2006-02-15\\n\",\n      \"BP:  2006-03-01  FTSE:  2006-02-16\\n\",\n      \"BP:  2006-03-02  FTSE:  2006-02-17\\n\",\n      \"BP:  2006-03-03  FTSE:  2006-02-20\\n\",\n      \"BP:  2006-03-06  FTSE:  2006-02-21\\n\",\n      \"BP:  2006-03-07  FTSE:  2006-02-22\\n\",\n      \"BP:  2006-03-08  FTSE:  2006-02-23\\n\",\n      \"BP:  2006-03-09  FTSE:  2006-02-24\\n\",\n      \"BP:  2006-03-10  FTSE:  2006-02-27\\n\",\n      \"BP:  2006-03-13  FTSE:  2006-02-28\\n\",\n      \"BP:  2006-03-14  FTSE:  2006-03-01\\n\",\n      \"BP:  2006-03-15  FTSE:  2006-03-02\\n\",\n      \"BP:  2006-03-16  FTSE:  2006-03-03\\n\",\n      \"BP:  2006-03-17  FTSE:  2006-03-06\\n\",\n      \"BP:  2006-03-20  FTSE:  2006-03-07\\n\",\n      \"BP:  2006-03-21  FTSE:  2006-03-08\\n\",\n      \"BP:  2006-03-22  FTSE:  2006-03-09\\n\",\n      \"BP:  2006-03-23  FTSE:  2006-03-10\\n\",\n      \"BP:  2006-03-24  FTSE:  2006-03-13\\n\",\n      \"BP:  2006-03-27  FTSE:  2006-03-14\\n\",\n      \"BP:  2006-03-28  FTSE:  2006-03-15\\n\",\n      \"BP:  2006-03-29  FTSE:  2006-03-16\\n\",\n      \"BP:  2006-03-30  FTSE:  2006-03-17\\n\",\n      \"BP:  2006-03-31  FTSE:  2006-03-20\\n\",\n      \"BP:  2006-04-03  FTSE:  2006-03-21\\n\",\n      \"BP:  2006-04-04  FTSE:  2006-03-22\\n\",\n      \"BP:  2006-04-05  FTSE:  2006-03-23\\n\",\n      \"BP:  2006-04-06  FTSE:  2006-03-24\\n\",\n      \"BP:  2006-04-07  FTSE:  2006-03-27\\n\",\n      \"BP:  2006-04-10  FTSE:  2006-03-28\\n\",\n      \"BP:  2006-04-11  FTSE:  2006-03-29\\n\",\n      \"BP:  2006-04-12  FTSE:  2006-03-30\\n\",\n      \"BP:  2006-04-13  FTSE:  2006-03-31\\n\",\n      \"BP:  2006-04-17  FTSE:  2006-04-03\\n\",\n      \"BP:  2006-04-18  FTSE:  2006-04-04\\n\",\n      \"BP:  2006-04-19  FTSE:  2006-04-05\\n\",\n      \"BP:  2006-04-20  FTSE:  2006-04-06\\n\",\n      \"BP:  2006-04-21  FTSE:  2006-04-07\\n\",\n      \"BP:  2006-04-24  FTSE:  2006-04-10\\n\",\n      \"BP:  2006-04-25  FTSE:  2006-04-11\\n\",\n      \"BP:  2006-04-26  FTSE:  2006-04-12\\n\",\n      \"BP:  2006-04-27  FTSE:  2006-04-13\\n\",\n      \"BP:  2006-04-28  FTSE:  2006-04-18\\n\",\n      \"BP:  2006-05-01  FTSE:  2006-04-19\\n\",\n      \"BP:  2006-05-02  FTSE:  2006-04-20\\n\",\n      \"BP:  2006-05-03  FTSE:  2006-04-21\\n\",\n      \"BP:  2006-05-04  FTSE:  2006-04-24\\n\",\n      \"BP:  2006-05-05  FTSE:  2006-04-25\\n\",\n      \"BP:  2006-05-08  FTSE:  2006-04-26\\n\",\n      \"BP:  2006-05-09  FTSE:  2006-04-27\\n\",\n      \"BP:  2006-05-10  FTSE:  2006-04-28\\n\",\n      \"BP:  2006-05-11  FTSE:  2006-05-02\\n\",\n      \"BP:  2006-05-12  FTSE:  2006-05-03\\n\",\n      \"BP:  2006-05-15  FTSE:  2006-05-04\\n\",\n      \"BP:  2006-05-16  FTSE:  2006-05-05\\n\",\n      \"BP:  2006-05-17  FTSE:  2006-05-08\\n\",\n      \"BP:  2006-05-18  FTSE:  2006-05-09\\n\",\n      \"BP:  2006-05-19  FTSE:  2006-05-10\\n\",\n      \"BP:  2006-05-22  FTSE:  2006-05-11\\n\",\n      \"BP:  2006-05-23  FTSE:  2006-05-12\\n\",\n      \"BP:  2006-05-24  FTSE:  2006-05-15\\n\",\n      \"BP:  2006-05-25  FTSE:  2006-05-16\\n\",\n      \"BP:  2006-05-26  FTSE:  2006-05-17\\n\",\n      \"BP:  2006-05-30  FTSE:  2006-05-18\\n\",\n      \"BP:  2006-05-31  FTSE:  2006-05-19\\n\",\n      \"BP:  2006-06-01  FTSE:  2006-05-22\\n\",\n      \"BP:  2006-06-02  FTSE:  2006-05-23\\n\",\n      \"BP:  2006-06-05  FTSE:  2006-05-24\\n\",\n      \"BP:  2006-06-06  FTSE:  2006-05-25\\n\",\n      \"BP:  2006-06-07  FTSE:  2006-05-26\\n\",\n      \"BP:  2006-06-08  FTSE:  2006-05-30\\n\",\n      \"BP:  2006-06-09  FTSE:  2006-05-31\\n\",\n      \"BP:  2006-06-12  FTSE:  2006-06-01\\n\",\n      \"BP:  2006-06-13  FTSE:  2006-06-02\\n\",\n      \"BP:  2006-06-14  FTSE:  2006-06-05\\n\",\n      \"BP:  2006-06-15  FTSE:  2006-06-06\\n\",\n      \"BP:  2006-06-16  FTSE:  2006-06-07\\n\",\n      \"BP:  2006-06-19  FTSE:  2006-06-08\\n\",\n      \"BP:  2006-06-20  FTSE:  2006-06-09\\n\",\n      \"BP:  2006-06-21  FTSE:  2006-06-12\\n\",\n      \"BP:  2006-06-22  FTSE:  2006-06-13\\n\",\n      \"BP:  2006-06-23  FTSE:  2006-06-14\\n\",\n      \"BP:  2006-06-26  FTSE:  2006-06-15\\n\",\n      \"BP:  2006-06-27  FTSE:  2006-06-16\\n\",\n      \"BP:  2006-06-28  FTSE:  2006-06-19\\n\",\n      \"BP:  2006-06-29  FTSE:  2006-06-20\\n\",\n      \"BP:  2006-06-30  FTSE:  2006-06-21\\n\",\n      \"BP:  2006-07-03  FTSE:  2006-06-22\\n\",\n      \"BP:  2006-07-05  FTSE:  2006-06-23\\n\",\n      \"BP:  2006-07-06  FTSE:  2006-06-26\\n\",\n      \"BP:  2006-07-07  FTSE:  2006-06-27\\n\",\n      \"BP:  2006-07-10  FTSE:  2006-06-28\\n\",\n      \"BP:  2006-07-11  FTSE:  2006-06-29\\n\",\n      \"BP:  2006-07-12  FTSE:  2006-06-30\\n\",\n      \"BP:  2006-07-13  FTSE:  2006-07-03\\n\",\n      \"BP:  2006-07-14  FTSE:  2006-07-04\\n\",\n      \"BP:  2006-07-17  FTSE:  2006-07-05\\n\",\n      \"BP:  2006-07-18  FTSE:  2006-07-06\\n\",\n      \"BP:  2006-07-19  FTSE:  2006-07-07\\n\",\n      \"BP:  2006-07-20  FTSE:  2006-07-10\\n\",\n      \"BP:  2006-07-21  FTSE:  2006-07-11\\n\",\n      \"BP:  2006-07-24  FTSE:  2006-07-12\\n\",\n      \"BP:  2006-07-25  FTSE:  2006-07-13\\n\",\n      \"BP:  2006-07-26  FTSE:  2006-07-14\\n\",\n      \"BP:  2006-07-27  FTSE:  2006-07-17\\n\",\n      \"BP:  2006-07-28  FTSE:  2006-07-18\\n\",\n      \"BP:  2006-07-31  FTSE:  2006-07-19\\n\",\n      \"BP:  2006-08-01  FTSE:  2006-07-20\\n\",\n      \"BP:  2006-08-02  FTSE:  2006-07-21\\n\",\n      \"BP:  2006-08-03  FTSE:  2006-07-24\\n\",\n      \"BP:  2006-08-04  FTSE:  2006-07-25\\n\",\n      \"BP:  2006-08-07  FTSE:  2006-07-26\\n\",\n      \"BP:  2006-08-08  FTSE:  2006-07-27\\n\",\n      \"BP:  2006-08-09  FTSE:  2006-07-28\\n\",\n      \"BP:  2006-08-10  FTSE:  2006-07-31\\n\",\n      \"BP:  2006-08-11  FTSE:  2006-08-01\\n\",\n      \"BP:  2006-08-14  FTSE:  2006-08-02\\n\",\n      \"BP:  2006-08-15  FTSE:  2006-08-03\\n\",\n      \"BP:  2006-08-16  FTSE:  2006-08-04\\n\",\n      \"BP:  2006-08-17  FTSE:  2006-08-07\\n\",\n      \"BP:  2006-08-18  FTSE:  2006-08-08\\n\",\n      \"BP:  2006-08-21  FTSE:  2006-08-09\\n\",\n      \"BP:  2006-08-22  FTSE:  2006-08-10\\n\",\n      \"BP:  2006-08-23  FTSE:  2006-08-11\\n\",\n      \"BP:  2006-08-24  FTSE:  2006-08-14\\n\",\n      \"BP:  2006-08-25  FTSE:  2006-08-15\\n\",\n      \"BP:  2006-08-28  FTSE:  2006-08-16\\n\",\n      \"BP:  2006-08-29  FTSE:  2006-08-17\\n\",\n      \"BP:  2006-08-30  FTSE:  2006-08-18\\n\",\n      \"BP:  2006-08-31  FTSE:  2006-08-21\\n\",\n      \"BP:  2006-09-01  FTSE:  2006-08-22\\n\",\n      \"BP:  2006-09-05  FTSE:  2006-08-23\\n\",\n      \"BP:  2006-09-06  FTSE:  2006-08-24\\n\",\n      \"BP:  2006-09-07  FTSE:  2006-08-25\\n\",\n      \"BP:  2006-09-08  FTSE:  2006-08-29\\n\",\n      \"BP:  2006-09-11  FTSE:  2006-08-30\\n\",\n      \"BP:  2006-09-12  FTSE:  2006-08-31\\n\",\n      \"BP:  2006-09-13  FTSE:  2006-09-01\\n\",\n      \"BP:  2006-09-14  FTSE:  2006-09-04\\n\",\n      \"BP:  2006-09-15  FTSE:  2006-09-05\\n\",\n      \"BP:  2006-09-18  FTSE:  2006-09-06\\n\",\n      \"BP:  2006-09-19  FTSE:  2006-09-07\\n\",\n      \"BP:  2006-09-20  FTSE:  2006-09-08\\n\",\n      \"BP:  2006-09-21  FTSE:  2006-09-11\\n\",\n      \"BP:  2006-09-22  FTSE:  2006-09-12\\n\",\n      \"BP:  2006-09-25  FTSE:  2006-09-13\\n\",\n      \"BP:  2006-09-26  FTSE:  2006-09-14\\n\",\n      \"BP:  2006-09-27  FTSE:  2006-09-15\\n\",\n      \"BP:  2006-09-28  FTSE:  2006-09-18\\n\",\n      \"BP:  2006-09-29  FTSE:  2006-09-19\\n\",\n      \"BP:  2006-10-02  FTSE:  2006-09-20\\n\",\n      \"BP:  2006-10-03  FTSE:  2006-09-21\\n\",\n      \"BP:  2006-10-04  FTSE:  2006-09-22\\n\",\n      \"BP:  2006-10-05  FTSE:  2006-09-25\\n\",\n      \"BP:  2006-10-06  FTSE:  2006-09-26\\n\",\n      \"BP:  2006-10-09  FTSE:  2006-09-27\\n\",\n      \"BP:  2006-10-10  FTSE:  2006-09-28\\n\",\n      \"BP:  2006-10-11  FTSE:  2006-09-29\\n\",\n      \"BP:  2006-10-12  FTSE:  2006-10-02\\n\",\n      \"BP:  2006-10-13  FTSE:  2006-10-03\\n\",\n      \"BP:  2006-10-16  FTSE:  2006-10-04\\n\",\n      \"BP:  2006-10-17  FTSE:  2006-10-05\\n\",\n      \"BP:  2006-10-18  FTSE:  2006-10-06\\n\",\n      \"BP:  2006-10-19  FTSE:  2006-10-09\\n\",\n      \"BP:  2006-10-20  FTSE:  2006-10-10\\n\",\n      \"BP:  2006-10-23  FTSE:  2006-10-11\\n\",\n      \"BP:  2006-10-24  FTSE:  2006-10-12\\n\",\n      \"BP:  2006-10-25  FTSE:  2006-10-13\\n\",\n      \"BP:  2006-10-26  FTSE:  2006-10-16\\n\",\n      \"BP:  2006-10-27  FTSE:  2006-10-17\\n\",\n      \"BP:  2006-10-30  FTSE:  2006-10-18\\n\",\n      \"BP:  2006-10-31  FTSE:  2006-10-19\\n\",\n      \"BP:  2006-11-01  FTSE:  2006-10-20\\n\",\n      \"BP:  2006-11-02  FTSE:  2006-10-23\\n\",\n      \"BP:  2006-11-03  FTSE:  2006-10-24\\n\",\n      \"BP:  2006-11-06  FTSE:  2006-10-25\\n\",\n      \"BP:  2006-11-07  FTSE:  2006-10-26\\n\",\n      \"BP:  2006-11-08  FTSE:  2006-10-27\\n\",\n      \"BP:  2006-11-09  FTSE:  2006-10-30\\n\",\n      \"BP:  2006-11-10  FTSE:  2006-10-31\\n\",\n      \"BP:  2006-11-13  FTSE:  2006-11-01\\n\",\n      \"BP:  2006-11-14  FTSE:  2006-11-02\\n\",\n      \"BP:  2006-11-15  FTSE:  2006-11-03\\n\",\n      \"BP:  2006-11-16  FTSE:  2006-11-06\\n\",\n      \"BP:  2006-11-17  FTSE:  2006-11-07\\n\",\n      \"BP:  2006-11-20  FTSE:  2006-11-08\\n\",\n      \"BP:  2006-11-21  FTSE:  2006-11-09\\n\",\n      \"BP:  2006-11-22  FTSE:  2006-11-10\\n\",\n      \"BP:  2006-11-24  FTSE:  2006-11-13\\n\",\n      \"BP:  2006-11-27  FTSE:  2006-11-14\\n\",\n      \"BP:  2006-11-28  FTSE:  2006-11-15\\n\",\n      \"BP:  2006-11-29  FTSE:  2006-11-16\\n\",\n      \"BP:  2006-11-30  FTSE:  2006-11-17\\n\",\n      \"BP:  2006-12-01  FTSE:  2006-11-20\\n\",\n      \"BP:  2006-12-04  FTSE:  2006-11-21\\n\",\n      \"BP:  2006-12-05  FTSE:  2006-11-22\\n\",\n      \"BP:  2006-12-06  FTSE:  2006-11-23\\n\",\n      \"BP:  2006-12-07  FTSE:  2006-11-24\\n\",\n      \"BP:  2006-12-08  FTSE:  2006-11-27\\n\",\n      \"BP:  2006-12-11  FTSE:  2006-11-28\\n\",\n      \"BP:  2006-12-12  FTSE:  2006-11-29\\n\",\n      \"BP:  2006-12-13  FTSE:  2006-11-30\\n\",\n      \"BP:  2006-12-14  FTSE:  2006-12-01\\n\",\n      \"BP:  2006-12-15  FTSE:  2006-12-04\\n\",\n      \"BP:  2006-12-18  FTSE:  2006-12-05\\n\",\n      \"BP:  2006-12-19  FTSE:  2006-12-06\\n\",\n      \"BP:  2006-12-20  FTSE:  2006-12-07\\n\",\n      \"BP:  2006-12-21  FTSE:  2006-12-08\\n\",\n      \"BP:  2006-12-22  FTSE:  2006-12-11\\n\",\n      \"BP:  2006-12-26  FTSE:  2006-12-12\\n\",\n      \"BP:  2006-12-27  FTSE:  2006-12-13\\n\",\n      \"BP:  2006-12-28  FTSE:  2006-12-14\\n\",\n      \"BP:  2006-12-29  FTSE:  2006-12-15\\n\",\n      \"BP:  2007-01-03  FTSE:  2006-12-18\\n\",\n      \"BP:  2007-01-04  FTSE:  2006-12-19\\n\",\n      \"BP:  2007-01-05  FTSE:  2006-12-20\\n\",\n      \"BP:  2007-01-08  FTSE:  2006-12-21\\n\",\n      \"BP:  2007-01-09  FTSE:  2006-12-22\\n\",\n      \"BP:  2007-01-10  FTSE:  2006-12-27\\n\",\n      \"BP:  2007-01-11  FTSE:  2006-12-28\\n\",\n      \"BP:  2007-01-12  FTSE:  2006-12-29\\n\",\n      \"BP:  2007-01-16  FTSE:  2007-01-02\\n\",\n      \"BP:  2007-01-17  FTSE:  2007-01-03\\n\",\n      \"BP:  2007-01-18  FTSE:  2007-01-04\\n\",\n      \"BP:  2007-01-19  FTSE:  2007-01-05\\n\",\n      \"BP:  2007-01-22  FTSE:  2007-01-08\\n\",\n      \"BP:  2007-01-23  FTSE:  2007-01-09\\n\",\n      \"BP:  2007-01-24  FTSE:  2007-01-10\\n\",\n      \"BP:  2007-01-25  FTSE:  2007-01-11\\n\",\n      \"BP:  2007-01-26  FTSE:  2007-01-12\\n\",\n      \"BP:  2007-01-29  FTSE:  2007-01-15\\n\",\n      \"BP:  2007-01-30  FTSE:  2007-01-16\\n\",\n      \"BP:  2007-01-31  FTSE:  2007-01-17\\n\",\n      \"BP:  2007-02-01  FTSE:  2007-01-18\\n\",\n      \"BP:  2007-02-02  FTSE:  2007-01-19\\n\",\n      \"BP:  2007-02-05  FTSE:  2007-01-22\\n\",\n      \"BP:  2007-02-06  FTSE:  2007-01-23\\n\",\n      \"BP:  2007-02-07  FTSE:  2007-01-24\\n\",\n      \"BP:  2007-02-08  FTSE:  2007-01-25\\n\",\n      \"BP:  2007-02-09  FTSE:  2007-01-26\\n\",\n      \"BP:  2007-02-12  FTSE:  2007-01-29\\n\",\n      \"BP:  2007-02-13  FTSE:  2007-01-30\\n\",\n      \"BP:  2007-02-14  FTSE:  2007-01-31\\n\",\n      \"BP:  2007-02-15  FTSE:  2007-02-01\\n\",\n      \"BP:  2007-02-16  FTSE:  2007-02-02\\n\",\n      \"BP:  2007-02-20  FTSE:  2007-02-05\\n\",\n      \"BP:  2007-02-21  FTSE:  2007-02-06\\n\",\n      \"BP:  2007-02-22  FTSE:  2007-02-07\\n\",\n      \"BP:  2007-02-23  FTSE:  2007-02-08\\n\",\n      \"BP:  2007-02-26  FTSE:  2007-02-09\\n\",\n      \"BP:  2007-02-27  FTSE:  2007-02-12\\n\",\n      \"BP:  2007-02-28  FTSE:  2007-02-13\\n\",\n      \"BP:  2007-03-01  FTSE:  2007-02-14\\n\",\n      \"BP:  2007-03-02  FTSE:  2007-02-15\\n\",\n      \"BP:  2007-03-05  FTSE:  2007-02-16\\n\",\n      \"BP:  2007-03-06  FTSE:  2007-02-19\\n\",\n      \"BP:  2007-03-07  FTSE:  2007-02-20\\n\",\n      \"BP:  2007-03-08  FTSE:  2007-02-21\\n\",\n      \"BP:  2007-03-09  FTSE:  2007-02-22\\n\",\n      \"BP:  2007-03-12  FTSE:  2007-02-23\\n\",\n      \"BP:  2007-03-13  FTSE:  2007-02-26\\n\",\n      \"BP:  2007-03-14  FTSE:  2007-02-27\\n\",\n      \"BP:  2007-03-15  FTSE:  2007-02-28\\n\",\n      \"BP:  2007-03-16  FTSE:  2007-03-01\\n\",\n      \"BP:  2007-03-19  FTSE:  2007-03-02\\n\",\n      \"BP:  2007-03-20  FTSE:  2007-03-05\\n\",\n      \"BP:  2007-03-21  FTSE:  2007-03-06\\n\",\n      \"BP:  2007-03-22  FTSE:  2007-03-07\\n\",\n      \"BP:  2007-03-23  FTSE:  2007-03-08\\n\",\n      \"BP:  2007-03-26  FTSE:  2007-03-09\\n\",\n      \"BP:  2007-03-27  FTSE:  2007-03-12\\n\",\n      \"BP:  2007-03-28  FTSE:  2007-03-13\\n\",\n      \"BP:  2007-03-29  FTSE:  2007-03-14\\n\",\n      \"BP:  2007-03-30  FTSE:  2007-03-15\\n\",\n      \"BP:  2007-04-02  FTSE:  2007-03-16\\n\",\n      \"BP:  2007-04-03  FTSE:  2007-03-19\\n\",\n      \"BP:  2007-04-04  FTSE:  2007-03-20\\n\",\n      \"BP:  2007-04-05  FTSE:  2007-03-21\\n\",\n      \"BP:  2007-04-09  FTSE:  2007-03-22\\n\",\n      \"BP:  2007-04-10  FTSE:  2007-03-23\\n\",\n      \"BP:  2007-04-11  FTSE:  2007-03-26\\n\",\n      \"BP:  2007-04-12  FTSE:  2007-03-27\\n\",\n      \"BP:  2007-04-13  FTSE:  2007-03-28\\n\",\n      \"BP:  2007-04-16  FTSE:  2007-03-29\\n\",\n      \"BP:  2007-04-17  FTSE:  2007-03-30\\n\",\n      \"BP:  2007-04-18  FTSE:  2007-04-02\\n\",\n      \"BP:  2007-04-19  FTSE:  2007-04-03\\n\",\n      \"BP:  2007-04-20  FTSE:  2007-04-04\\n\",\n      \"BP:  2007-04-23  FTSE:  2007-04-05\\n\",\n      \"BP:  2007-04-24  FTSE:  2007-04-10\\n\",\n      \"BP:  2007-04-25  FTSE:  2007-04-11\\n\",\n      \"BP:  2007-04-26  FTSE:  2007-04-12\\n\",\n      \"BP:  2007-04-27  FTSE:  2007-04-13\\n\",\n      \"BP:  2007-04-30  FTSE:  2007-04-16\\n\",\n      \"BP:  2007-05-01  FTSE:  2007-04-17\\n\",\n      \"BP:  2007-05-02  FTSE:  2007-04-18\\n\",\n      \"BP:  2007-05-03  FTSE:  2007-04-19\\n\",\n      \"BP:  2007-05-04  FTSE:  2007-04-20\\n\",\n      \"BP:  2007-05-07  FTSE:  2007-04-23\\n\",\n      \"BP:  2007-05-08  FTSE:  2007-04-24\\n\",\n      \"BP:  2007-05-09  FTSE:  2007-04-25\\n\",\n      \"BP:  2007-05-10  FTSE:  2007-04-26\\n\",\n      \"BP:  2007-05-11  FTSE:  2007-04-27\\n\",\n      \"BP:  2007-05-14  FTSE:  2007-04-30\\n\",\n      \"BP:  2007-05-15  FTSE:  2007-05-01\\n\",\n      \"BP:  2007-05-16  FTSE:  2007-05-02\\n\",\n      \"BP:  2007-05-17  FTSE:  2007-05-03\\n\",\n      \"BP:  2007-05-18  FTSE:  2007-05-04\\n\",\n      \"BP:  2007-05-21  FTSE:  2007-05-08\\n\",\n      \"BP:  2007-05-22  FTSE:  2007-05-09\\n\",\n      \"BP:  2007-05-23  FTSE:  2007-05-10\\n\",\n      \"BP:  2007-05-24  FTSE:  2007-05-11\\n\",\n      \"BP:  2007-05-25  FTSE:  2007-05-14\\n\",\n      \"BP:  2007-05-29  FTSE:  2007-05-15\\n\",\n      \"BP:  2007-05-30  FTSE:  2007-05-16\\n\",\n      \"BP:  2007-05-31  FTSE:  2007-05-17\\n\",\n      \"BP:  2007-06-01  FTSE:  2007-05-18\\n\",\n      \"BP:  2007-06-04  FTSE:  2007-05-21\\n\",\n      \"BP:  2007-06-05  FTSE:  2007-05-22\\n\",\n      \"BP:  2007-06-06  FTSE:  2007-05-23\\n\",\n      \"BP:  2007-06-07  FTSE:  2007-05-24\\n\",\n      \"BP:  2007-06-08  FTSE:  2007-05-25\\n\",\n      \"BP:  2007-06-11  FTSE:  2007-05-29\\n\",\n      \"BP:  2007-06-12  FTSE:  2007-05-30\\n\",\n      \"BP:  2007-06-13  FTSE:  2007-05-31\\n\",\n      \"BP:  2007-06-14  FTSE:  2007-06-01\\n\",\n      \"BP:  2007-06-15  FTSE:  2007-06-04\\n\",\n      \"BP:  2007-06-18  FTSE:  2007-06-05\\n\",\n      \"BP:  2007-06-19  FTSE:  2007-06-06\\n\",\n      \"BP:  2007-06-20  FTSE:  2007-06-07\\n\",\n      \"BP:  2007-06-21  FTSE:  2007-06-08\\n\",\n      \"BP:  2007-06-22  FTSE:  2007-06-11\\n\",\n      \"BP:  2007-06-25  FTSE:  2007-06-12\\n\",\n      \"BP:  2007-06-26  FTSE:  2007-06-13\\n\",\n      \"BP:  2007-06-27  FTSE:  2007-06-14\\n\",\n      \"BP:  2007-06-28  FTSE:  2007-06-15\\n\",\n      \"BP:  2007-06-29  FTSE:  2007-06-18\\n\",\n      \"BP:  2007-07-02  FTSE:  2007-06-19\\n\",\n      \"BP:  2007-07-03  FTSE:  2007-06-20\\n\",\n      \"BP:  2007-07-05  FTSE:  2007-06-21\\n\",\n      \"BP:  2007-07-06  FTSE:  2007-06-22\\n\",\n      \"BP:  2007-07-09  FTSE:  2007-06-25\\n\",\n      \"BP:  2007-07-10  FTSE:  2007-06-26\\n\",\n      \"BP:  2007-07-11  FTSE:  2007-06-27\\n\",\n      \"BP:  2007-07-12  FTSE:  2007-06-28\\n\",\n      \"BP:  2007-07-13  FTSE:  2007-06-29\\n\",\n      \"BP:  2007-07-16  FTSE:  2007-07-02\\n\",\n      \"BP:  2007-07-17  FTSE:  2007-07-03\\n\",\n      \"BP:  2007-07-18  FTSE:  2007-07-04\\n\",\n      \"BP:  2007-07-19  FTSE:  2007-07-05\\n\",\n      \"BP:  2007-07-20  FTSE:  2007-07-06\\n\",\n      \"BP:  2007-07-23  FTSE:  2007-07-09\\n\",\n      \"BP:  2007-07-24  FTSE:  2007-07-10\\n\",\n      \"BP:  2007-07-25  FTSE:  2007-07-11\\n\",\n      \"BP:  2007-07-26  FTSE:  2007-07-12\\n\",\n      \"BP:  2007-07-27  FTSE:  2007-07-13\\n\",\n      \"BP:  2007-07-30  FTSE:  2007-07-16\\n\",\n      \"BP:  2007-07-31  FTSE:  2007-07-17\\n\",\n      \"BP:  2007-08-01  FTSE:  2007-07-18\\n\",\n      \"BP:  2007-08-02  FTSE:  2007-07-19\\n\",\n      \"BP:  2007-08-03  FTSE:  2007-07-20\\n\",\n      \"BP:  2007-08-06  FTSE:  2007-07-23\\n\",\n      \"BP:  2007-08-07  FTSE:  2007-07-24\\n\",\n      \"BP:  2007-08-08  FTSE:  2007-07-25\\n\",\n      \"BP:  2007-08-09  FTSE:  2007-07-26\\n\",\n      \"BP:  2007-08-10  FTSE:  2007-07-27\\n\",\n      \"BP:  2007-08-13  FTSE:  2007-07-30\\n\",\n      \"BP:  2007-08-14  FTSE:  2007-07-31\\n\",\n      \"BP:  2007-08-15  FTSE:  2007-08-01\\n\",\n      \"BP:  2007-08-16  FTSE:  2007-08-02\\n\",\n      \"BP:  2007-08-17  FTSE:  2007-08-03\\n\",\n      \"BP:  2007-08-20  FTSE:  2007-08-06\\n\",\n      \"BP:  2007-08-21  FTSE:  2007-08-07\\n\",\n      \"BP:  2007-08-22  FTSE:  2007-08-08\\n\",\n      \"BP:  2007-08-23  FTSE:  2007-08-09\\n\",\n      \"BP:  2007-08-24  FTSE:  2007-08-10\\n\",\n      \"BP:  2007-08-27  FTSE:  2007-08-13\\n\",\n      \"BP:  2007-08-28  FTSE:  2007-08-14\\n\",\n      \"BP:  2007-08-29  FTSE:  2007-08-15\\n\",\n      \"BP:  2007-08-30  FTSE:  2007-08-16\\n\",\n      \"BP:  2007-08-31  FTSE:  2007-08-17\\n\",\n      \"BP:  2007-09-04  FTSE:  2007-08-20\\n\",\n      \"BP:  2007-09-05  FTSE:  2007-08-21\\n\",\n      \"BP:  2007-09-06  FTSE:  2007-08-22\\n\",\n      \"BP:  2007-09-07  FTSE:  2007-08-23\\n\",\n      \"BP:  2007-09-10  FTSE:  2007-08-24\\n\",\n      \"BP:  2007-09-11  FTSE:  2007-08-28\\n\",\n      \"BP:  2007-09-12  FTSE:  2007-08-29\\n\",\n      \"BP:  2007-09-13  FTSE:  2007-08-30\\n\",\n      \"BP:  2007-09-14  FTSE:  2007-08-31\\n\",\n      \"BP:  2007-09-17  FTSE:  2007-09-03\\n\",\n      \"BP:  2007-09-18  FTSE:  2007-09-04\\n\",\n      \"BP:  2007-09-19  FTSE:  2007-09-05\\n\",\n      \"BP:  2007-09-20  FTSE:  2007-09-06\\n\",\n      \"BP:  2007-09-21  FTSE:  2007-09-07\\n\",\n      \"BP:  2007-09-24  FTSE:  2007-09-10\\n\",\n      \"BP:  2007-09-25  FTSE:  2007-09-11\\n\",\n      \"BP:  2007-09-26  FTSE:  2007-09-12\\n\",\n      \"BP:  2007-09-27  FTSE:  2007-09-13\\n\",\n      \"BP:  2007-09-28  FTSE:  2007-09-14\\n\",\n      \"BP:  2007-10-01  FTSE:  2007-09-17\\n\",\n      \"BP:  2007-10-02  FTSE:  2007-09-18\\n\",\n      \"BP:  2007-10-03  FTSE:  2007-09-19\\n\",\n      \"BP:  2007-10-04  FTSE:  2007-09-20\\n\",\n      \"BP:  2007-10-05  FTSE:  2007-09-21\\n\",\n      \"BP:  2007-10-08  FTSE:  2007-09-24\\n\",\n      \"BP:  2007-10-09  FTSE:  2007-09-25\\n\",\n      \"BP:  2007-10-10  FTSE:  2007-09-26\\n\",\n      \"BP:  2007-10-11  FTSE:  2007-09-27\\n\",\n      \"BP:  2007-10-12  FTSE:  2007-09-28\\n\",\n      \"BP:  2007-10-15  FTSE:  2007-10-01\\n\",\n      \"BP:  2007-10-16  FTSE:  2007-10-02\\n\",\n      \"BP:  2007-10-17  FTSE:  2007-10-03\\n\",\n      \"BP:  2007-10-18  FTSE:  2007-10-04\\n\",\n      \"BP:  2007-10-19  FTSE:  2007-10-05\\n\",\n      \"BP:  2007-10-22  FTSE:  2007-10-08\\n\",\n      \"BP:  2007-10-23  FTSE:  2007-10-09\\n\",\n      \"BP:  2007-10-24  FTSE:  2007-10-10\\n\",\n      \"BP:  2007-10-25  FTSE:  2007-10-11\\n\",\n      \"BP:  2007-10-26  FTSE:  2007-10-12\\n\",\n      \"BP:  2007-10-29  FTSE:  2007-10-15\\n\",\n      \"BP:  2007-10-30  FTSE:  2007-10-16\\n\",\n      \"BP:  2007-10-31  FTSE:  2007-10-17\\n\",\n      \"BP:  2007-11-01  FTSE:  2007-10-18\\n\",\n      \"BP:  2007-11-02  FTSE:  2007-10-19\\n\",\n      \"BP:  2007-11-05  FTSE:  2007-10-22\\n\",\n      \"BP:  2007-11-06  FTSE:  2007-10-23\\n\",\n      \"BP:  2007-11-07  FTSE:  2007-10-24\\n\",\n      \"BP:  2007-11-08  FTSE:  2007-10-25\\n\",\n      \"BP:  2007-11-09  FTSE:  2007-10-26\\n\",\n      \"BP:  2007-11-12  FTSE:  2007-10-29\\n\",\n      \"BP:  2007-11-13  FTSE:  2007-10-30\\n\",\n      \"BP:  2007-11-14  FTSE:  2007-10-31\\n\",\n      \"BP:  2007-11-15  FTSE:  2007-11-01\\n\",\n      \"BP:  2007-11-16  FTSE:  2007-11-02\\n\",\n      \"BP:  2007-11-19  FTSE:  2007-11-05\\n\",\n      \"BP:  2007-11-20  FTSE:  2007-11-06\\n\",\n      \"BP:  2007-11-21  FTSE:  2007-11-07\\n\",\n      \"BP:  2007-11-23  FTSE:  2007-11-08\\n\",\n      \"BP:  2007-11-26  FTSE:  2007-11-09\\n\",\n      \"BP:  2007-11-27  FTSE:  2007-11-12\\n\",\n      \"BP:  2007-11-28  FTSE:  2007-11-13\\n\",\n      \"BP:  2007-11-29  FTSE:  2007-11-14\\n\",\n      \"BP:  2007-11-30  FTSE:  2007-11-15\\n\",\n      \"BP:  2007-12-03  FTSE:  2007-11-16\\n\",\n      \"BP:  2007-12-04  FTSE:  2007-11-19\\n\",\n      \"BP:  2007-12-05  FTSE:  2007-11-20\\n\",\n      \"BP:  2007-12-06  FTSE:  2007-11-21\\n\",\n      \"BP:  2007-12-07  FTSE:  2007-11-22\\n\",\n      \"BP:  2007-12-10  FTSE:  2007-11-23\\n\",\n      \"BP:  2007-12-11  FTSE:  2007-11-26\\n\",\n      \"BP:  2007-12-12  FTSE:  2007-11-27\\n\",\n      \"BP:  2007-12-13  FTSE:  2007-11-28\\n\",\n      \"BP:  2007-12-14  FTSE:  2007-11-29\\n\",\n      \"BP:  2007-12-17  FTSE:  2007-11-30\\n\",\n      \"BP:  2007-12-18  FTSE:  2007-12-03\\n\",\n      \"BP:  2007-12-19  FTSE:  2007-12-04\\n\",\n      \"BP:  2007-12-20  FTSE:  2007-12-05\\n\",\n      \"BP:  2007-12-21  FTSE:  2007-12-06\\n\",\n      \"BP:  2007-12-24  FTSE:  2007-12-07\\n\",\n      \"BP:  2007-12-26  FTSE:  2007-12-10\\n\",\n      \"BP:  2007-12-27  FTSE:  2007-12-11\\n\",\n      \"BP:  2007-12-28  FTSE:  2007-12-12\\n\",\n      \"BP:  2007-12-31  FTSE:  2007-12-13\\n\",\n      \"BP:  2008-01-02  FTSE:  2007-12-14\\n\",\n      \"BP:  2008-01-03  FTSE:  2007-12-17\\n\",\n      \"BP:  2008-01-04  FTSE:  2007-12-18\\n\",\n      \"BP:  2008-01-07  FTSE:  2007-12-19\\n\",\n      \"BP:  2008-01-08  FTSE:  2007-12-20\\n\",\n      \"BP:  2008-01-09  FTSE:  2007-12-21\\n\",\n      \"BP:  2008-01-10  FTSE:  2007-12-24\\n\",\n      \"BP:  2008-01-11  FTSE:  2007-12-27\\n\",\n      \"BP:  2008-01-14  FTSE:  2007-12-28\\n\",\n      \"BP:  2008-01-15  FTSE:  2007-12-31\\n\",\n      \"BP:  2008-01-16  FTSE:  2008-01-02\\n\",\n      \"BP:  2008-01-17  FTSE:  2008-01-03\\n\",\n      \"BP:  2008-01-18  FTSE:  2008-01-04\\n\",\n      \"BP:  2008-01-22  FTSE:  2008-01-07\\n\",\n      \"BP:  2008-01-23  FTSE:  2008-01-08\\n\",\n      \"BP:  2008-01-24  FTSE:  2008-01-09\\n\",\n      \"BP:  2008-01-25  FTSE:  2008-01-10\\n\",\n      \"BP:  2008-01-28  FTSE:  2008-01-11\\n\",\n      \"BP:  2008-01-29  FTSE:  2008-01-14\\n\",\n      \"BP:  2008-01-30  FTSE:  2008-01-15\\n\",\n      \"BP:  2008-01-31  FTSE:  2008-01-16\\n\",\n      \"BP:  2008-02-01  FTSE:  2008-01-17\\n\",\n      \"BP:  2008-02-04  FTSE:  2008-01-18\\n\",\n      \"BP:  2008-02-05  FTSE:  2008-01-21\\n\",\n      \"BP:  2008-02-06  FTSE:  2008-01-22\\n\",\n      \"BP:  2008-02-07  FTSE:  2008-01-23\\n\",\n      \"BP:  2008-02-08  FTSE:  2008-01-24\\n\",\n      \"BP:  2008-02-11  FTSE:  2008-01-25\\n\",\n      \"BP:  2008-02-12  FTSE:  2008-01-28\\n\",\n      \"BP:  2008-02-13  FTSE:  2008-01-29\\n\",\n      \"BP:  2008-02-14  FTSE:  2008-01-30\\n\",\n      \"BP:  2008-02-15  FTSE:  2008-01-31\\n\",\n      \"BP:  2008-02-19  FTSE:  2008-02-01\\n\",\n      \"BP:  2008-02-20  FTSE:  2008-02-04\\n\",\n      \"BP:  2008-02-21  FTSE:  2008-02-05\\n\",\n      \"BP:  2008-02-22  FTSE:  2008-02-06\\n\",\n      \"BP:  2008-02-25  FTSE:  2008-02-07\\n\",\n      \"BP:  2008-02-26  FTSE:  2008-02-08\\n\",\n      \"BP:  2008-02-27  FTSE:  2008-02-11\\n\",\n      \"BP:  2008-02-28  FTSE:  2008-02-12\\n\",\n      \"BP:  2008-02-29  FTSE:  2008-02-13\\n\",\n      \"BP:  2008-03-03  FTSE:  2008-02-14\\n\",\n      \"BP:  2008-03-04  FTSE:  2008-02-15\\n\",\n      \"BP:  2008-03-05  FTSE:  2008-02-18\\n\",\n      \"BP:  2008-03-06  FTSE:  2008-02-19\\n\",\n      \"BP:  2008-03-07  FTSE:  2008-02-20\\n\",\n      \"BP:  2008-03-10  FTSE:  2008-02-21\\n\",\n      \"BP:  2008-03-11  FTSE:  2008-02-22\\n\",\n      \"BP:  2008-03-12  FTSE:  2008-02-25\\n\",\n      \"BP:  2008-03-13  FTSE:  2008-02-26\\n\",\n      \"BP:  2008-03-14  FTSE:  2008-02-27\\n\",\n      \"BP:  2008-03-17  FTSE:  2008-02-28\\n\",\n      \"BP:  2008-03-18  FTSE:  2008-02-29\\n\",\n      \"BP:  2008-03-19  FTSE:  2008-03-03\\n\",\n      \"BP:  2008-03-20  FTSE:  2008-03-04\\n\",\n      \"BP:  2008-03-24  FTSE:  2008-03-05\\n\",\n      \"BP:  2008-03-25  FTSE:  2008-03-06\\n\",\n      \"BP:  2008-03-26  FTSE:  2008-03-07\\n\",\n      \"BP:  2008-03-27  FTSE:  2008-03-10\\n\",\n      \"BP:  2008-03-28  FTSE:  2008-03-11\\n\",\n      \"BP:  2008-03-31  FTSE:  2008-03-12\\n\",\n      \"BP:  2008-04-01  FTSE:  2008-03-13\\n\",\n      \"BP:  2008-04-02  FTSE:  2008-03-14\\n\",\n      \"BP:  2008-04-03  FTSE:  2008-03-17\\n\",\n      \"BP:  2008-04-04  FTSE:  2008-03-18\\n\",\n      \"BP:  2008-04-07  FTSE:  2008-03-19\\n\",\n      \"BP:  2008-04-08  FTSE:  2008-03-20\\n\",\n      \"BP:  2008-04-09  FTSE:  2008-03-25\\n\",\n      \"BP:  2008-04-10  FTSE:  2008-03-26\\n\",\n      \"BP:  2008-04-11  FTSE:  2008-03-27\\n\",\n      \"BP:  2008-04-14  FTSE:  2008-03-28\\n\",\n      \"BP:  2008-04-15  FTSE:  2008-03-31\\n\",\n      \"BP:  2008-04-16  FTSE:  2008-04-01\\n\",\n      \"BP:  2008-04-17  FTSE:  2008-04-02\\n\",\n      \"BP:  2008-04-18  FTSE:  2008-04-03\\n\",\n      \"BP:  2008-04-21  FTSE:  2008-04-04\\n\",\n      \"BP:  2008-04-22  FTSE:  2008-04-07\\n\",\n      \"BP:  2008-04-23  FTSE:  2008-04-08\\n\",\n      \"BP:  2008-04-24  FTSE:  2008-04-09\\n\",\n      \"BP:  2008-04-25  FTSE:  2008-04-10\\n\",\n      \"BP:  2008-04-28  FTSE:  2008-04-11\\n\",\n      \"BP:  2008-04-29  FTSE:  2008-04-14\\n\",\n      \"BP:  2008-04-30  FTSE:  2008-04-15\\n\",\n      \"BP:  2008-05-01  FTSE:  2008-04-16\\n\",\n      \"BP:  2008-05-02  FTSE:  2008-04-17\\n\",\n      \"BP:  2008-05-05  FTSE:  2008-04-18\\n\",\n      \"BP:  2008-05-06  FTSE:  2008-04-21\\n\",\n      \"BP:  2008-05-07  FTSE:  2008-04-22\\n\",\n      \"BP:  2008-05-08  FTSE:  2008-04-23\\n\",\n      \"BP:  2008-05-09  FTSE:  2008-04-24\\n\",\n      \"BP:  2008-05-12  FTSE:  2008-04-25\\n\",\n      \"BP:  2008-05-13  FTSE:  2008-04-28\\n\",\n      \"BP:  2008-05-14  FTSE:  2008-04-29\\n\",\n      \"BP:  2008-05-15  FTSE:  2008-04-30\\n\",\n      \"BP:  2008-05-16  FTSE:  2008-05-01\\n\",\n      \"BP:  2008-05-19  FTSE:  2008-05-02\\n\",\n      \"BP:  2008-05-20  FTSE:  2008-05-06\\n\",\n      \"BP:  2008-05-21  FTSE:  2008-05-07\\n\",\n      \"BP:  2008-05-22  FTSE:  2008-05-08\\n\",\n      \"BP:  2008-05-23  FTSE:  2008-05-09\\n\",\n      \"BP:  2008-05-27  FTSE:  2008-05-12\\n\",\n      \"BP:  2008-05-28  FTSE:  2008-05-13\\n\",\n      \"BP:  2008-05-29  FTSE:  2008-05-14\\n\",\n      \"BP:  2008-05-30  FTSE:  2008-05-15\\n\",\n      \"BP:  2008-06-02  FTSE:  2008-05-16\\n\",\n      \"BP:  2008-06-03  FTSE:  2008-05-19\\n\",\n      \"BP:  2008-06-04  FTSE:  2008-05-20\\n\",\n      \"BP:  2008-06-05  FTSE:  2008-05-21\\n\",\n      \"BP:  2008-06-06  FTSE:  2008-05-22\\n\",\n      \"BP:  2008-06-09  FTSE:  2008-05-23\\n\",\n      \"BP:  2008-06-10  FTSE:  2008-05-27\\n\",\n      \"BP:  2008-06-11  FTSE:  2008-05-28\\n\",\n      \"BP:  2008-06-12  FTSE:  2008-05-29\\n\",\n      \"BP:  2008-06-13  FTSE:  2008-05-30\\n\",\n      \"BP:  2008-06-16  FTSE:  2008-06-02\\n\",\n      \"BP:  2008-06-17  FTSE:  2008-06-03\\n\",\n      \"BP:  2008-06-18  FTSE:  2008-06-04\\n\",\n      \"BP:  2008-06-19  FTSE:  2008-06-05\\n\",\n      \"BP:  2008-06-20  FTSE:  2008-06-06\\n\",\n      \"BP:  2008-06-23  FTSE:  2008-06-09\\n\",\n      \"BP:  2008-06-24  FTSE:  2008-06-10\\n\",\n      \"BP:  2008-06-25  FTSE:  2008-06-11\\n\",\n      \"BP:  2008-06-26  FTSE:  2008-06-12\\n\",\n      \"BP:  2008-06-27  FTSE:  2008-06-13\\n\",\n      \"BP:  2008-06-30  FTSE:  2008-06-16\\n\",\n      \"BP:  2008-07-01  FTSE:  2008-06-17\\n\",\n      \"BP:  2008-07-02  FTSE:  2008-06-18\\n\",\n      \"BP:  2008-07-03  FTSE:  2008-06-19\\n\",\n      \"BP:  2008-07-07  FTSE:  2008-06-20\\n\",\n      \"BP:  2008-07-08  FTSE:  2008-06-23\\n\",\n      \"BP:  2008-07-09  FTSE:  2008-06-24\\n\",\n      \"BP:  2008-07-10  FTSE:  2008-06-25\\n\",\n      \"BP:  2008-07-11  FTSE:  2008-06-26\\n\",\n      \"BP:  2008-07-14  FTSE:  2008-06-27\\n\",\n      \"BP:  2008-07-15  FTSE:  2008-06-30\\n\",\n      \"BP:  2008-07-16  FTSE:  2008-07-01\\n\",\n      \"BP:  2008-07-17  FTSE:  2008-07-02\\n\",\n      \"BP:  2008-07-18  FTSE:  2008-07-03\\n\",\n      \"BP:  2008-07-21  FTSE:  2008-07-04\\n\",\n      \"BP:  2008-07-22  FTSE:  2008-07-07\\n\",\n      \"BP:  2008-07-23  FTSE:  2008-07-08\\n\",\n      \"BP:  2008-07-24  FTSE:  2008-07-09\\n\",\n      \"BP:  2008-07-25  FTSE:  2008-07-10\\n\",\n      \"BP:  2008-07-28  FTSE:  2008-07-11\\n\",\n      \"BP:  2008-07-29  FTSE:  2008-07-14\\n\",\n      \"BP:  2008-07-30  FTSE:  2008-07-15\\n\",\n      \"BP:  2008-07-31  FTSE:  2008-07-16\\n\",\n      \"BP:  2008-08-01  FTSE:  2008-07-17\\n\",\n      \"BP:  2008-08-04  FTSE:  2008-07-18\\n\",\n      \"BP:  2008-08-05  FTSE:  2008-07-21\\n\",\n      \"BP:  2008-08-06  FTSE:  2008-07-22\\n\",\n      \"BP:  2008-08-07  FTSE:  2008-07-23\\n\",\n      \"BP:  2008-08-08  FTSE:  2008-07-24\\n\",\n      \"BP:  2008-08-11  FTSE:  2008-07-25\\n\",\n      \"BP:  2008-08-12  FTSE:  2008-07-28\\n\",\n      \"BP:  2008-08-13  FTSE:  2008-07-29\\n\",\n      \"BP:  2008-08-14  FTSE:  2008-07-30\\n\",\n      \"BP:  2008-08-15  FTSE:  2008-07-31\\n\",\n      \"BP:  2008-08-18  FTSE:  2008-08-01\\n\",\n      \"BP:  2008-08-19  FTSE:  2008-08-04\\n\",\n      \"BP:  2008-08-20  FTSE:  2008-08-05\\n\",\n      \"BP:  2008-08-21  FTSE:  2008-08-06\\n\",\n      \"BP:  2008-08-22  FTSE:  2008-08-07\\n\",\n      \"BP:  2008-08-25  FTSE:  2008-08-08\\n\",\n      \"BP:  2008-08-26  FTSE:  2008-08-11\\n\",\n      \"BP:  2008-08-27  FTSE:  2008-08-12\\n\",\n      \"BP:  2008-08-28  FTSE:  2008-08-13\\n\",\n      \"BP:  2008-08-29  FTSE:  2008-08-14\\n\",\n      \"BP:  2008-09-02  FTSE:  2008-08-15\\n\",\n      \"BP:  2008-09-03  FTSE:  2008-08-18\\n\",\n      \"BP:  2008-09-04  FTSE:  2008-08-19\\n\",\n      \"BP:  2008-09-05  FTSE:  2008-08-20\\n\",\n      \"BP:  2008-09-08  FTSE:  2008-08-21\\n\",\n      \"BP:  2008-09-09  FTSE:  2008-08-22\\n\",\n      \"BP:  2008-09-10  FTSE:  2008-08-26\\n\",\n      \"BP:  2008-09-11  FTSE:  2008-08-27\\n\",\n      \"BP:  2008-09-12  FTSE:  2008-08-28\\n\",\n      \"BP:  2008-09-15  FTSE:  2008-08-29\\n\",\n      \"BP:  2008-09-16  FTSE:  2008-09-01\\n\",\n      \"BP:  2008-09-17  FTSE:  2008-09-02\\n\",\n      \"BP:  2008-09-18  FTSE:  2008-09-03\\n\",\n      \"BP:  2008-09-19  FTSE:  2008-09-04\\n\",\n      \"BP:  2008-09-22  FTSE:  2008-09-05\\n\",\n      \"BP:  2008-09-23  FTSE:  2008-09-08\\n\",\n      \"BP:  2008-09-24  FTSE:  2008-09-09\\n\",\n      \"BP:  2008-09-25  FTSE:  2008-09-10\\n\",\n      \"BP:  2008-09-26  FTSE:  2008-09-11\\n\",\n      \"BP:  2008-09-29  FTSE:  2008-09-12\\n\",\n      \"BP:  2008-09-30  FTSE:  2008-09-15\\n\",\n      \"BP:  2008-10-01  FTSE:  2008-09-16\\n\",\n      \"BP:  2008-10-02  FTSE:  2008-09-17\\n\",\n      \"BP:  2008-10-03  FTSE:  2008-09-18\\n\",\n      \"BP:  2008-10-06  FTSE:  2008-09-19\\n\",\n      \"BP:  2008-10-07  FTSE:  2008-09-22\\n\",\n      \"BP:  2008-10-08  FTSE:  2008-09-23\\n\",\n      \"BP:  2008-10-09  FTSE:  2008-09-24\\n\",\n      \"BP:  2008-10-10  FTSE:  2008-09-25\\n\",\n      \"BP:  2008-10-13  FTSE:  2008-09-26\\n\",\n      \"BP:  2008-10-14  FTSE:  2008-09-29\\n\",\n      \"BP:  2008-10-15  FTSE:  2008-09-30\\n\",\n      \"BP:  2008-10-16  FTSE:  2008-10-01\\n\",\n      \"BP:  2008-10-17  FTSE:  2008-10-02\\n\",\n      \"BP:  2008-10-20  FTSE:  2008-10-03\\n\",\n      \"BP:  2008-10-21  FTSE:  2008-10-06\\n\",\n      \"BP:  2008-10-22  FTSE:  2008-10-07\\n\",\n      \"BP:  2008-10-23  FTSE:  2008-10-08\\n\",\n      \"BP:  2008-10-24  FTSE:  2008-10-09\\n\",\n      \"BP:  2008-10-27  FTSE:  2008-10-10\\n\",\n      \"BP:  2008-10-28  FTSE:  2008-10-13\\n\",\n      \"BP:  2008-10-29  FTSE:  2008-10-14\\n\",\n      \"BP:  2008-10-30  FTSE:  2008-10-15\\n\",\n      \"BP:  2008-10-31  FTSE:  2008-10-16\\n\",\n      \"BP:  2008-11-03  FTSE:  2008-10-17\\n\",\n      \"BP:  2008-11-04  FTSE:  2008-10-20\\n\",\n      \"BP:  2008-11-05  FTSE:  2008-10-21\\n\",\n      \"BP:  2008-11-06  FTSE:  2008-10-22\\n\",\n      \"BP:  2008-11-07  FTSE:  2008-10-23\\n\",\n      \"BP:  2008-11-10  FTSE:  2008-10-24\\n\",\n      \"BP:  2008-11-11  FTSE:  2008-10-27\\n\",\n      \"BP:  2008-11-12  FTSE:  2008-10-28\\n\",\n      \"BP:  2008-11-13  FTSE:  2008-10-29\\n\",\n      \"BP:  2008-11-14  FTSE:  2008-10-30\\n\",\n      \"BP:  2008-11-17  FTSE:  2008-10-31\\n\",\n      \"BP:  2008-11-18  FTSE:  2008-11-03\\n\",\n      \"BP:  2008-11-19  FTSE:  2008-11-04\\n\",\n      \"BP:  2008-11-20  FTSE:  2008-11-05\\n\",\n      \"BP:  2008-11-21  FTSE:  2008-11-06\\n\",\n      \"BP:  2008-11-24  FTSE:  2008-11-07\\n\",\n      \"BP:  2008-11-25  FTSE:  2008-11-10\\n\",\n      \"BP:  2008-11-26  FTSE:  2008-11-11\\n\",\n      \"BP:  2008-11-28  FTSE:  2008-11-12\\n\",\n      \"BP:  2008-12-01  FTSE:  2008-11-13\\n\",\n      \"BP:  2008-12-02  FTSE:  2008-11-14\\n\",\n      \"BP:  2008-12-03  FTSE:  2008-11-17\\n\",\n      \"BP:  2008-12-04  FTSE:  2008-11-18\\n\",\n      \"BP:  2008-12-05  FTSE:  2008-11-19\\n\",\n      \"BP:  2008-12-08  FTSE:  2008-11-20\\n\",\n      \"BP:  2008-12-09  FTSE:  2008-11-21\\n\",\n      \"BP:  2008-12-10  FTSE:  2008-11-24\\n\",\n      \"BP:  2008-12-11  FTSE:  2008-11-25\\n\",\n      \"BP:  2008-12-12  FTSE:  2008-11-26\\n\",\n      \"BP:  2008-12-15  FTSE:  2008-11-27\\n\",\n      \"BP:  2008-12-16  FTSE:  2008-11-28\\n\",\n      \"BP:  2008-12-17  FTSE:  2008-12-01\\n\",\n      \"BP:  2008-12-18  FTSE:  2008-12-02\\n\",\n      \"BP:  2008-12-19  FTSE:  2008-12-03\\n\",\n      \"BP:  2008-12-22  FTSE:  2008-12-04\\n\",\n      \"BP:  2008-12-23  FTSE:  2008-12-05\\n\",\n      \"BP:  2008-12-24  FTSE:  2008-12-08\\n\",\n      \"BP:  2008-12-26  FTSE:  2008-12-09\\n\",\n      \"BP:  2008-12-29  FTSE:  2008-12-10\\n\",\n      \"BP:  2008-12-30  FTSE:  2008-12-11\\n\",\n      \"BP:  2008-12-31  FTSE:  2008-12-12\\n\",\n      \"BP:  2009-01-02  FTSE:  2008-12-15\\n\",\n      \"BP:  2009-01-05  FTSE:  2008-12-16\\n\",\n      \"BP:  2009-01-06  FTSE:  2008-12-17\\n\",\n      \"BP:  2009-01-07  FTSE:  2008-12-18\\n\",\n      \"BP:  2009-01-08  FTSE:  2008-12-19\\n\",\n      \"BP:  2009-01-09  FTSE:  2008-12-22\\n\",\n      \"BP:  2009-01-12  FTSE:  2008-12-23\\n\",\n      \"BP:  2009-01-13  FTSE:  2008-12-24\\n\",\n      \"BP:  2009-01-14  FTSE:  2008-12-29\\n\",\n      \"BP:  2009-01-15  FTSE:  2008-12-30\\n\",\n      \"BP:  2009-01-16  FTSE:  2008-12-31\\n\",\n      \"BP:  2009-01-20  FTSE:  2009-01-02\\n\",\n      \"BP:  2009-01-21  FTSE:  2009-01-05\\n\",\n      \"BP:  2009-01-22  FTSE:  2009-01-06\\n\",\n      \"BP:  2009-01-23  FTSE:  2009-01-07\\n\",\n      \"BP:  2009-01-26  FTSE:  2009-01-08\\n\",\n      \"BP:  2009-01-27  FTSE:  2009-01-09\\n\",\n      \"BP:  2009-01-28  FTSE:  2009-01-12\\n\",\n      \"BP:  2009-01-29  FTSE:  2009-01-13\\n\",\n      \"BP:  2009-01-30  FTSE:  2009-01-14\\n\",\n      \"BP:  2009-02-02  FTSE:  2009-01-15\\n\",\n      \"BP:  2009-02-03  FTSE:  2009-01-16\\n\",\n      \"BP:  2009-02-04  FTSE:  2009-01-19\\n\",\n      \"BP:  2009-02-05  FTSE:  2009-01-20\\n\",\n      \"BP:  2009-02-06  FTSE:  2009-01-21\\n\",\n      \"BP:  2009-02-09  FTSE:  2009-01-22\\n\",\n      \"BP:  2009-02-10  FTSE:  2009-01-23\\n\",\n      \"BP:  2009-02-11  FTSE:  2009-01-26\\n\",\n      \"BP:  2009-02-12  FTSE:  2009-01-27\\n\",\n      \"BP:  2009-02-13  FTSE:  2009-01-28\\n\",\n      \"BP:  2009-02-17  FTSE:  2009-01-29\\n\",\n      \"BP:  2009-02-18  FTSE:  2009-01-30\\n\",\n      \"BP:  2009-02-19  FTSE:  2009-02-02\\n\",\n      \"BP:  2009-02-20  FTSE:  2009-02-03\\n\",\n      \"BP:  2009-02-23  FTSE:  2009-02-04\\n\",\n      \"BP:  2009-02-24  FTSE:  2009-02-05\\n\",\n      \"BP:  2009-02-25  FTSE:  2009-02-06\\n\",\n      \"BP:  2009-02-26  FTSE:  2009-02-09\\n\",\n      \"BP:  2009-02-27  FTSE:  2009-02-10\\n\",\n      \"BP:  2009-03-02  FTSE:  2009-02-11\\n\",\n      \"BP:  2009-03-03  FTSE:  2009-02-12\\n\",\n      \"BP:  2009-03-04  FTSE:  2009-02-13\\n\",\n      \"BP:  2009-03-05  FTSE:  2009-02-16\\n\",\n      \"BP:  2009-03-06  FTSE:  2009-02-17\\n\",\n      \"BP:  2009-03-09  FTSE:  2009-02-18\\n\",\n      \"BP:  2009-03-10  FTSE:  2009-02-19\\n\",\n      \"BP:  2009-03-11  FTSE:  2009-02-20\\n\",\n      \"BP:  2009-03-12  FTSE:  2009-02-23\\n\",\n      \"BP:  2009-03-13  FTSE:  2009-02-24\\n\",\n      \"BP:  2009-03-16  FTSE:  2009-02-25\\n\",\n      \"BP:  2009-03-17  FTSE:  2009-02-26\\n\",\n      \"BP:  2009-03-18  FTSE:  2009-02-27\\n\",\n      \"BP:  2009-03-19  FTSE:  2009-03-02\\n\",\n      \"BP:  2009-03-20  FTSE:  2009-03-03\\n\",\n      \"BP:  2009-03-23  FTSE:  2009-03-04\\n\",\n      \"BP:  2009-03-24  FTSE:  2009-03-05\\n\",\n      \"BP:  2009-03-25  FTSE:  2009-03-06\\n\",\n      \"BP:  2009-03-26  FTSE:  2009-03-09\\n\",\n      \"BP:  2009-03-27  FTSE:  2009-03-10\\n\",\n      \"BP:  2009-03-30  FTSE:  2009-03-11\\n\",\n      \"BP:  2009-03-31  FTSE:  2009-03-12\\n\",\n      \"BP:  2009-04-01  FTSE:  2009-03-13\\n\",\n      \"BP:  2009-04-02  FTSE:  2009-03-16\\n\",\n      \"BP:  2009-04-03  FTSE:  2009-03-17\\n\",\n      \"BP:  2009-04-06  FTSE:  2009-03-18\\n\",\n      \"BP:  2009-04-07  FTSE:  2009-03-19\\n\",\n      \"BP:  2009-04-08  FTSE:  2009-03-20\\n\",\n      \"BP:  2009-04-09  FTSE:  2009-03-23\\n\",\n      \"BP:  2009-04-13  FTSE:  2009-03-24\\n\",\n      \"BP:  2009-04-14  FTSE:  2009-03-25\\n\",\n      \"BP:  2009-04-15  FTSE:  2009-03-26\\n\",\n      \"BP:  2009-04-16  FTSE:  2009-03-30\\n\",\n      \"BP:  2009-04-17  FTSE:  2009-03-31\\n\",\n      \"BP:  2009-04-20  FTSE:  2009-04-01\\n\",\n      \"BP:  2009-04-21  FTSE:  2009-04-02\\n\",\n      \"BP:  2009-04-22  FTSE:  2009-04-03\\n\",\n      \"BP:  2009-04-23  FTSE:  2009-04-06\\n\",\n      \"BP:  2009-04-24  FTSE:  2009-04-07\\n\",\n      \"BP:  2009-04-27  FTSE:  2009-04-08\\n\",\n      \"BP:  2009-04-28  FTSE:  2009-04-09\\n\",\n      \"BP:  2009-04-29  FTSE:  2009-04-14\\n\",\n      \"BP:  2009-04-30  FTSE:  2009-04-15\\n\",\n      \"BP:  2009-05-01  FTSE:  2009-04-16\\n\",\n      \"BP:  2009-05-04  FTSE:  2009-04-17\\n\",\n      \"BP:  2009-05-05  FTSE:  2009-04-20\\n\",\n      \"BP:  2009-05-06  FTSE:  2009-04-21\\n\",\n      \"BP:  2009-05-07  FTSE:  2009-04-22\\n\",\n      \"BP:  2009-05-08  FTSE:  2009-04-23\\n\",\n      \"BP:  2009-05-11  FTSE:  2009-04-24\\n\",\n      \"BP:  2009-05-12  FTSE:  2009-04-27\\n\",\n      \"BP:  2009-05-13  FTSE:  2009-04-28\\n\",\n      \"BP:  2009-05-14  FTSE:  2009-04-29\\n\",\n      \"BP:  2009-05-15  FTSE:  2009-04-30\\n\",\n      \"BP:  2009-05-18  FTSE:  2009-05-01\\n\",\n      \"BP:  2009-05-19  FTSE:  2009-05-05\\n\",\n      \"BP:  2009-05-20  FTSE:  2009-05-06\\n\",\n      \"BP:  2009-05-21  FTSE:  2009-05-07\\n\",\n      \"BP:  2009-05-22  FTSE:  2009-05-08\\n\",\n      \"BP:  2009-05-26  FTSE:  2009-05-11\\n\",\n      \"BP:  2009-05-27  FTSE:  2009-05-12\\n\",\n      \"BP:  2009-05-28  FTSE:  2009-05-13\\n\",\n      \"BP:  2009-05-29  FTSE:  2009-05-14\\n\",\n      \"BP:  2009-06-01  FTSE:  2009-05-15\\n\",\n      \"BP:  2009-06-02  FTSE:  2009-05-18\\n\",\n      \"BP:  2009-06-03  FTSE:  2009-05-19\\n\",\n      \"BP:  2009-06-04  FTSE:  2009-05-20\\n\",\n      \"BP:  2009-06-05  FTSE:  2009-05-21\\n\",\n      \"BP:  2009-06-08  FTSE:  2009-05-22\\n\",\n      \"BP:  2009-06-09  FTSE:  2009-05-26\\n\",\n      \"BP:  2009-06-10  FTSE:  2009-05-27\\n\",\n      \"BP:  2009-06-11  FTSE:  2009-05-28\\n\",\n      \"BP:  2009-06-12  FTSE:  2009-05-29\\n\",\n      \"BP:  2009-06-15  FTSE:  2009-06-01\\n\",\n      \"BP:  2009-06-16  FTSE:  2009-06-02\\n\",\n      \"BP:  2009-06-17  FTSE:  2009-06-03\\n\",\n      \"BP:  2009-06-18  FTSE:  2009-06-04\\n\",\n      \"BP:  2009-06-19  FTSE:  2009-06-05\\n\",\n      \"BP:  2009-06-22  FTSE:  2009-06-08\\n\",\n      \"BP:  2009-06-23  FTSE:  2009-06-09\\n\",\n      \"BP:  2009-06-24  FTSE:  2009-06-10\\n\",\n      \"BP:  2009-06-25  FTSE:  2009-06-11\\n\",\n      \"BP:  2009-06-26  FTSE:  2009-06-12\\n\",\n      \"BP:  2009-06-29  FTSE:  2009-06-15\\n\",\n      \"BP:  2009-06-30  FTSE:  2009-06-16\\n\",\n      \"BP:  2009-07-01  FTSE:  2009-06-17\\n\",\n      \"BP:  2009-07-02  FTSE:  2009-06-18\\n\",\n      \"BP:  2009-07-06  FTSE:  2009-06-19\\n\",\n      \"BP:  2009-07-07  FTSE:  2009-06-22\\n\",\n      \"BP:  2009-07-08  FTSE:  2009-06-23\\n\",\n      \"BP:  2009-07-09  FTSE:  2009-06-24\\n\",\n      \"BP:  2009-07-10  FTSE:  2009-06-26\\n\",\n      \"BP:  2009-07-13  FTSE:  2009-06-29\\n\",\n      \"BP:  2009-07-14  FTSE:  2009-06-30\\n\",\n      \"BP:  2009-07-15  FTSE:  2009-07-01\\n\",\n      \"BP:  2009-07-16  FTSE:  2009-07-02\\n\",\n      \"BP:  2009-07-17  FTSE:  2009-07-03\\n\",\n      \"BP:  2009-07-20  FTSE:  2009-07-06\\n\",\n      \"BP:  2009-07-21  FTSE:  2009-07-07\\n\",\n      \"BP:  2009-07-22  FTSE:  2009-07-08\\n\",\n      \"BP:  2009-07-23  FTSE:  2009-07-09\\n\",\n      \"BP:  2009-07-24  FTSE:  2009-07-10\\n\",\n      \"BP:  2009-07-27  FTSE:  2009-07-13\\n\",\n      \"BP:  2009-07-28  FTSE:  2009-07-14\\n\",\n      \"BP:  2009-07-29  FTSE:  2009-07-15\\n\",\n      \"BP:  2009-07-30  FTSE:  2009-07-16\\n\",\n      \"BP:  2009-07-31  FTSE:  2009-07-17\\n\",\n      \"BP:  2009-08-03  FTSE:  2009-07-20\\n\",\n      \"BP:  2009-08-04  FTSE:  2009-07-21\\n\",\n      \"BP:  2009-08-05  FTSE:  2009-07-22\\n\",\n      \"BP:  2009-08-06  FTSE:  2009-07-23\\n\",\n      \"BP:  2009-08-07  FTSE:  2009-07-24\\n\",\n      \"BP:  2009-08-10  FTSE:  2009-07-27\\n\",\n      \"BP:  2009-08-11  FTSE:  2009-07-28\\n\",\n      \"BP:  2009-08-12  FTSE:  2009-07-29\\n\",\n      \"BP:  2009-08-13  FTSE:  2009-07-30\\n\",\n      \"BP:  2009-08-14  FTSE:  2009-07-31\\n\",\n      \"BP:  2009-08-17  FTSE:  2009-08-03\\n\",\n      \"BP:  2009-08-18  FTSE:  2009-08-04\\n\",\n      \"BP:  2009-08-19  FTSE:  2009-08-05\\n\",\n      \"BP:  2009-08-20  FTSE:  2009-08-06\\n\",\n      \"BP:  2009-08-21  FTSE:  2009-08-07\\n\",\n      \"BP:  2009-08-24  FTSE:  2009-08-10\\n\",\n      \"BP:  2009-08-25  FTSE:  2009-08-12\\n\",\n      \"BP:  2009-08-26  FTSE:  2009-08-13\\n\",\n      \"BP:  2009-08-27  FTSE:  2009-08-14\\n\",\n      \"BP:  2009-08-28  FTSE:  2009-08-17\\n\",\n      \"BP:  2009-08-31  FTSE:  2009-08-18\\n\",\n      \"BP:  2009-09-01  FTSE:  2009-08-19\\n\",\n      \"BP:  2009-09-02  FTSE:  2009-08-20\\n\",\n      \"BP:  2009-09-03  FTSE:  2009-08-21\\n\",\n      \"BP:  2009-09-04  FTSE:  2009-08-24\\n\",\n      \"BP:  2009-09-08  FTSE:  2009-08-25\\n\",\n      \"BP:  2009-09-09  FTSE:  2009-08-26\\n\",\n      \"BP:  2009-09-10  FTSE:  2009-08-27\\n\",\n      \"BP:  2009-09-11  FTSE:  2009-08-28\\n\",\n      \"BP:  2009-09-14  FTSE:  2009-09-01\\n\",\n      \"BP:  2009-09-15  FTSE:  2009-09-03\\n\",\n      \"BP:  2009-09-16  FTSE:  2009-09-04\\n\",\n      \"BP:  2009-09-17  FTSE:  2009-09-07\\n\",\n      \"BP:  2009-09-18  FTSE:  2009-09-08\\n\",\n      \"BP:  2009-09-21  FTSE:  2009-09-09\\n\",\n      \"BP:  2009-09-22  FTSE:  2009-09-10\\n\",\n      \"BP:  2009-09-23  FTSE:  2009-09-11\\n\",\n      \"BP:  2009-09-24  FTSE:  2009-09-14\\n\",\n      \"BP:  2009-09-25  FTSE:  2009-09-15\\n\",\n      \"BP:  2009-09-28  FTSE:  2009-09-16\\n\",\n      \"BP:  2009-09-29  FTSE:  2009-09-17\\n\",\n      \"BP:  2009-09-30  FTSE:  2009-09-18\\n\",\n      \"BP:  2009-10-01  FTSE:  2009-09-21\\n\",\n      \"BP:  2009-10-02  FTSE:  2009-09-22\\n\",\n      \"BP:  2009-10-05  FTSE:  2009-09-23\\n\",\n      \"BP:  2009-10-06  FTSE:  2009-09-24\\n\",\n      \"BP:  2009-10-07  FTSE:  2009-09-25\\n\",\n      \"BP:  2009-10-08  FTSE:  2009-09-28\\n\",\n      \"BP:  2009-10-09  FTSE:  2009-09-29\\n\",\n      \"BP:  2009-10-12  FTSE:  2009-09-30\\n\",\n      \"BP:  2009-10-13  FTSE:  2009-10-01\\n\",\n      \"BP:  2009-10-14  FTSE:  2009-10-02\\n\",\n      \"BP:  2009-10-15  FTSE:  2009-10-05\\n\",\n      \"BP:  2009-10-16  FTSE:  2009-10-06\\n\",\n      \"BP:  2009-10-19  FTSE:  2009-10-07\\n\",\n      \"BP:  2009-10-20  FTSE:  2009-10-08\\n\",\n      \"BP:  2009-10-21  FTSE:  2009-10-09\\n\",\n      \"BP:  2009-10-22  FTSE:  2009-10-12\\n\",\n      \"BP:  2009-10-23  FTSE:  2009-10-13\\n\",\n      \"BP:  2009-10-26  FTSE:  2009-10-14\\n\",\n      \"BP:  2009-10-27  FTSE:  2009-10-15\\n\",\n      \"BP:  2009-10-28  FTSE:  2009-10-16\\n\",\n      \"BP:  2009-10-29  FTSE:  2009-10-19\\n\",\n      \"BP:  2009-10-30  FTSE:  2009-10-20\\n\",\n      \"BP:  2009-11-02  FTSE:  2009-10-21\\n\",\n      \"BP:  2009-11-03  FTSE:  2009-10-22\\n\",\n      \"BP:  2009-11-04  FTSE:  2009-10-23\\n\",\n      \"BP:  2009-11-05  FTSE:  2009-10-26\\n\",\n      \"BP:  2009-11-06  FTSE:  2009-10-27\\n\",\n      \"BP:  2009-11-09  FTSE:  2009-10-28\\n\",\n      \"BP:  2009-11-10  FTSE:  2009-10-29\\n\",\n      \"BP:  2009-11-11  FTSE:  2009-10-30\\n\",\n      \"BP:  2009-11-12  FTSE:  2009-11-02\\n\",\n      \"BP:  2009-11-13  FTSE:  2009-11-03\\n\",\n      \"BP:  2009-11-16  FTSE:  2009-11-04\\n\",\n      \"BP:  2009-11-17  FTSE:  2009-11-05\\n\",\n      \"BP:  2009-11-18  FTSE:  2009-11-06\\n\",\n      \"BP:  2009-11-19  FTSE:  2009-11-09\\n\",\n      \"BP:  2009-11-20  FTSE:  2009-11-10\\n\",\n      \"BP:  2009-11-23  FTSE:  2009-11-11\\n\",\n      \"BP:  2009-11-24  FTSE:  2009-11-12\\n\",\n      \"BP:  2009-11-25  FTSE:  2009-11-13\\n\",\n      \"BP:  2009-11-27  FTSE:  2009-11-16\\n\",\n      \"BP:  2009-11-30  FTSE:  2009-11-17\\n\",\n      \"BP:  2009-12-01  FTSE:  2009-11-18\\n\",\n      \"BP:  2009-12-02  FTSE:  2009-11-19\\n\",\n      \"BP:  2009-12-03  FTSE:  2009-11-20\\n\",\n      \"BP:  2009-12-04  FTSE:  2009-11-23\\n\",\n      \"BP:  2009-12-07  FTSE:  2009-11-24\\n\",\n      \"BP:  2009-12-08  FTSE:  2009-11-25\\n\",\n      \"BP:  2009-12-09  FTSE:  2009-11-26\\n\",\n      \"BP:  2009-12-10  FTSE:  2009-11-27\\n\",\n      \"BP:  2009-12-11  FTSE:  2009-11-30\\n\",\n      \"BP:  2009-12-14  FTSE:  2009-12-01\\n\",\n      \"BP:  2009-12-15  FTSE:  2009-12-02\\n\",\n      \"BP:  2009-12-16  FTSE:  2009-12-03\\n\",\n      \"BP:  2009-12-17  FTSE:  2009-12-04\\n\",\n      \"BP:  2009-12-18  FTSE:  2009-12-07\\n\",\n      \"BP:  2009-12-21  FTSE:  2009-12-08\\n\",\n      \"BP:  2009-12-22  FTSE:  2009-12-09\\n\",\n      \"BP:  2009-12-23  FTSE:  2009-12-10\\n\",\n      \"BP:  2009-12-24  FTSE:  2009-12-11\\n\",\n      \"BP:  2009-12-28  FTSE:  2009-12-14\\n\",\n      \"BP:  2009-12-29  FTSE:  2009-12-15\\n\",\n      \"BP:  2009-12-30  FTSE:  2009-12-16\\n\",\n      \"BP:  2009-12-31  FTSE:  2009-12-17\\n\",\n      \"BP:  2010-01-04  FTSE:  2009-12-18\\n\",\n      \"BP:  2010-01-05  FTSE:  2009-12-21\\n\",\n      \"BP:  2010-01-06  FTSE:  2009-12-22\\n\",\n      \"BP:  2010-01-07  FTSE:  2009-12-23\\n\",\n      \"BP:  2010-01-08  FTSE:  2009-12-24\\n\",\n      \"BP:  2010-01-11  FTSE:  2009-12-29\\n\",\n      \"BP:  2010-01-12  FTSE:  2009-12-30\\n\",\n      \"BP:  2010-01-13  FTSE:  2009-12-31\\n\",\n      \"BP:  2010-01-14  FTSE:  2010-01-04\\n\",\n      \"BP:  2010-01-15  FTSE:  2010-01-05\\n\",\n      \"BP:  2010-01-19  FTSE:  2010-01-06\\n\",\n      \"BP:  2010-01-20  FTSE:  2010-01-07\\n\",\n      \"BP:  2010-01-21  FTSE:  2010-01-08\\n\",\n      \"BP:  2010-01-22  FTSE:  2010-01-11\\n\",\n      \"BP:  2010-01-25  FTSE:  2010-01-12\\n\",\n      \"BP:  2010-01-26  FTSE:  2010-01-13\\n\",\n      \"BP:  2010-01-27  FTSE:  2010-01-14\\n\",\n      \"BP:  2010-01-28  FTSE:  2010-01-15\\n\",\n      \"BP:  2010-01-29  FTSE:  2010-01-18\\n\",\n      \"BP:  2010-02-01  FTSE:  2010-01-19\\n\",\n      \"BP:  2010-02-02  FTSE:  2010-01-20\\n\",\n      \"BP:  2010-02-03  FTSE:  2010-01-21\\n\",\n      \"BP:  2010-02-04  FTSE:  2010-01-22\\n\",\n      \"BP:  2010-02-05  FTSE:  2010-01-25\\n\",\n      \"BP:  2010-02-08  FTSE:  2010-01-26\\n\",\n      \"BP:  2010-02-09  FTSE:  2010-01-27\\n\",\n      \"BP:  2010-02-10  FTSE:  2010-01-28\\n\",\n      \"BP:  2010-02-11  FTSE:  2010-01-29\\n\",\n      \"BP:  2010-02-12  FTSE:  2010-02-01\\n\",\n      \"BP:  2010-02-16  FTSE:  2010-02-02\\n\",\n      \"BP:  2010-02-17  FTSE:  2010-02-03\\n\",\n      \"BP:  2010-02-18  FTSE:  2010-02-04\\n\",\n      \"BP:  2010-02-19  FTSE:  2010-02-05\\n\",\n      \"BP:  2010-02-22  FTSE:  2010-02-08\\n\",\n      \"BP:  2010-02-23  FTSE:  2010-02-09\\n\",\n      \"BP:  2010-02-24  FTSE:  2010-02-10\\n\",\n      \"BP:  2010-02-25  FTSE:  2010-02-11\\n\",\n      \"BP:  2010-02-26  FTSE:  2010-02-12\\n\",\n      \"BP:  2010-03-01  FTSE:  2010-02-15\\n\",\n      \"BP:  2010-03-02  FTSE:  2010-02-16\\n\",\n      \"BP:  2010-03-03  FTSE:  2010-02-17\\n\",\n      \"BP:  2010-03-04  FTSE:  2010-02-18\\n\",\n      \"BP:  2010-03-05  FTSE:  2010-02-19\\n\",\n      \"BP:  2010-03-08  FTSE:  2010-02-22\\n\",\n      \"BP:  2010-03-09  FTSE:  2010-02-23\\n\",\n      \"BP:  2010-03-10  FTSE:  2010-02-24\\n\",\n      \"BP:  2010-03-11  FTSE:  2010-02-25\\n\",\n      \"BP:  2010-03-12  FTSE:  2010-02-26\\n\",\n      \"BP:  2010-03-15  FTSE:  2010-03-01\\n\",\n      \"BP:  2010-03-16  FTSE:  2010-03-02\\n\",\n      \"BP:  2010-03-17  FTSE:  2010-03-03\\n\",\n      \"BP:  2010-03-18  FTSE:  2010-03-04\\n\",\n      \"BP:  2010-03-19  FTSE:  2010-03-05\\n\",\n      \"BP:  2010-03-22  FTSE:  2010-03-08\\n\",\n      \"BP:  2010-03-23  FTSE:  2010-03-09\\n\",\n      \"BP:  2010-03-24  FTSE:  2010-03-10\\n\",\n      \"BP:  2010-03-25  FTSE:  2010-03-11\\n\",\n      \"BP:  2010-03-26  FTSE:  2010-03-12\\n\",\n      \"BP:  2010-03-29  FTSE:  2010-03-15\\n\",\n      \"BP:  2010-03-30  FTSE:  2010-03-16\\n\",\n      \"BP:  2010-03-31  FTSE:  2010-03-17\\n\",\n      \"BP:  2010-04-01  FTSE:  2010-03-18\\n\",\n      \"BP:  2010-04-05  FTSE:  2010-03-19\\n\",\n      \"BP:  2010-04-06  FTSE:  2010-03-22\\n\",\n      \"BP:  2010-04-07  FTSE:  2010-03-23\\n\",\n      \"BP:  2010-04-08  FTSE:  2010-03-24\\n\",\n      \"BP:  2010-04-09  FTSE:  2010-03-25\\n\",\n      \"BP:  2010-04-12  FTSE:  2010-03-26\\n\",\n      \"BP:  2010-04-13  FTSE:  2010-03-29\\n\",\n      \"BP:  2010-04-14  FTSE:  2010-03-30\\n\",\n      \"BP:  2010-04-15  FTSE:  2010-03-31\\n\",\n      \"BP:  2010-04-16  FTSE:  2010-04-01\\n\",\n      \"BP:  2010-04-19  FTSE:  2010-04-06\\n\",\n      \"BP:  2010-04-20  FTSE:  2010-04-07\\n\",\n      \"BP:  2010-04-21  FTSE:  2010-04-08\\n\",\n      \"BP:  2010-04-22  FTSE:  2010-04-09\\n\",\n      \"BP:  2010-04-23  FTSE:  2010-04-12\\n\",\n      \"BP:  2010-04-26  FTSE:  2010-04-13\\n\",\n      \"BP:  2010-04-27  FTSE:  2010-04-14\\n\",\n      \"BP:  2010-04-28  FTSE:  2010-04-15\\n\",\n      \"BP:  2010-04-29  FTSE:  2010-04-16\\n\",\n      \"BP:  2010-04-30  FTSE:  2010-04-21\\n\",\n      \"BP:  2010-05-03  FTSE:  2010-04-22\\n\",\n      \"BP:  2010-05-04  FTSE:  2010-04-23\\n\",\n      \"BP:  2010-05-05  FTSE:  2010-04-26\\n\",\n      \"BP:  2010-05-06  FTSE:  2010-04-27\\n\",\n      \"BP:  2010-05-07  FTSE:  2010-04-28\\n\",\n      \"BP:  2010-05-10  FTSE:  2010-04-29\\n\",\n      \"BP:  2010-05-11  FTSE:  2010-04-30\\n\",\n      \"BP:  2010-05-12  FTSE:  2010-05-04\\n\",\n      \"BP:  2010-05-13  FTSE:  2010-05-05\\n\",\n      \"BP:  2010-05-14  FTSE:  2010-05-06\\n\",\n      \"BP:  2010-05-17  FTSE:  2010-05-07\\n\",\n      \"BP:  2010-05-18  FTSE:  2010-05-10\\n\",\n      \"BP:  2010-05-19  FTSE:  2010-05-11\\n\",\n      \"BP:  2010-05-20  FTSE:  2010-05-13\\n\",\n      \"BP:  2010-05-21  FTSE:  2010-05-14\\n\",\n      \"BP:  2010-05-24  FTSE:  2010-05-17\\n\",\n      \"BP:  2010-05-25  FTSE:  2010-05-18\\n\",\n      \"BP:  2010-05-26  FTSE:  2010-05-19\\n\",\n      \"BP:  2010-05-27  FTSE:  2010-05-20\\n\",\n      \"BP:  2010-05-28  FTSE:  2010-05-21\\n\",\n      \"BP:  2010-06-01  FTSE:  2010-05-24\\n\",\n      \"BP:  2010-06-02  FTSE:  2010-05-25\\n\",\n      \"BP:  2010-06-03  FTSE:  2010-05-26\\n\",\n      \"BP:  2010-06-04  FTSE:  2010-05-27\\n\",\n      \"BP:  2010-06-07  FTSE:  2010-05-28\\n\",\n      \"BP:  2010-06-08  FTSE:  2010-06-01\\n\",\n      \"BP:  2010-06-09  FTSE:  2010-06-02\\n\",\n      \"BP:  2010-06-10  FTSE:  2010-06-03\\n\",\n      \"BP:  2010-06-11  FTSE:  2010-06-04\\n\",\n      \"BP:  2010-06-14  FTSE:  2010-06-07\\n\",\n      \"BP:  2010-06-15  FTSE:  2010-06-08\\n\",\n      \"BP:  2010-06-16  FTSE:  2010-06-09\\n\",\n      \"BP:  2010-06-17  FTSE:  2010-06-10\\n\",\n      \"BP:  2010-06-18  FTSE:  2010-06-11\\n\",\n      \"BP:  2010-06-21  FTSE:  2010-06-14\\n\",\n      \"BP:  2010-06-22  FTSE:  2010-06-15\\n\",\n      \"BP:  2010-06-23  FTSE:  2010-06-16\\n\",\n      \"BP:  2010-06-24  FTSE:  2010-06-17\\n\",\n      \"BP:  2010-06-25  FTSE:  2010-06-18\\n\",\n      \"BP:  2010-06-28  FTSE:  2010-06-21\\n\",\n      \"BP:  2010-06-29  FTSE:  2010-06-22\\n\",\n      \"BP:  2010-06-30  FTSE:  2010-06-23\\n\",\n      \"BP:  2010-07-01  FTSE:  2010-06-24\\n\",\n      \"BP:  2010-07-02  FTSE:  2010-06-25\\n\",\n      \"BP:  2010-07-06  FTSE:  2010-06-28\\n\",\n      \"BP:  2010-07-07  FTSE:  2010-06-29\\n\",\n      \"BP:  2010-07-08  FTSE:  2010-06-30\\n\",\n      \"BP:  2010-07-09  FTSE:  2010-07-01\\n\",\n      \"BP:  2010-07-12  FTSE:  2010-07-02\\n\",\n      \"BP:  2010-07-13  FTSE:  2010-07-05\\n\",\n      \"BP:  2010-07-14  FTSE:  2010-07-06\\n\",\n      \"BP:  2010-07-15  FTSE:  2010-07-07\\n\",\n      \"BP:  2010-07-16  FTSE:  2010-07-08\\n\",\n      \"BP:  2010-07-19  FTSE:  2010-07-09\\n\",\n      \"BP:  2010-07-20  FTSE:  2010-07-12\\n\",\n      \"BP:  2010-07-21  FTSE:  2010-07-13\\n\",\n      \"BP:  2010-07-22  FTSE:  2010-07-14\\n\",\n      \"BP:  2010-07-23  FTSE:  2010-07-15\\n\",\n      \"BP:  2010-07-26  FTSE:  2010-07-16\\n\",\n      \"BP:  2010-07-27  FTSE:  2010-07-19\\n\",\n      \"BP:  2010-07-28  FTSE:  2010-07-20\\n\",\n      \"BP:  2010-07-29  FTSE:  2010-07-21\\n\",\n      \"BP:  2010-07-30  FTSE:  2010-07-22\\n\",\n      \"BP:  2010-08-02  FTSE:  2010-07-23\\n\",\n      \"BP:  2010-08-03  FTSE:  2010-07-26\\n\",\n      \"BP:  2010-08-04  FTSE:  2010-07-27\\n\",\n      \"BP:  2010-08-05  FTSE:  2010-07-28\\n\",\n      \"BP:  2010-08-06  FTSE:  2010-07-29\\n\",\n      \"BP:  2010-08-09  FTSE:  2010-07-30\\n\",\n      \"BP:  2010-08-10  FTSE:  2010-08-02\\n\",\n      \"BP:  2010-08-11  FTSE:  2010-08-03\\n\",\n      \"BP:  2010-08-12  FTSE:  2010-08-04\\n\",\n      \"BP:  2010-08-13  FTSE:  2010-08-05\\n\",\n      \"BP:  2010-08-16  FTSE:  2010-08-06\\n\",\n      \"BP:  2010-08-17  FTSE:  2010-08-09\\n\",\n      \"BP:  2010-08-18  FTSE:  2010-08-10\\n\",\n      \"BP:  2010-08-19  FTSE:  2010-08-11\\n\",\n      \"BP:  2010-08-20  FTSE:  2010-08-12\\n\",\n      \"BP:  2010-08-23  FTSE:  2010-08-13\\n\",\n      \"BP:  2010-08-24  FTSE:  2010-08-16\\n\",\n      \"BP:  2010-08-25  FTSE:  2010-08-17\\n\",\n      \"BP:  2010-08-26  FTSE:  2010-08-18\\n\",\n      \"BP:  2010-08-27  FTSE:  2010-08-19\\n\",\n      \"BP:  2010-08-30  FTSE:  2010-08-20\\n\",\n      \"BP:  2010-08-31  FTSE:  2010-08-23\\n\",\n      \"BP:  2010-09-01  FTSE:  2010-08-24\\n\",\n      \"BP:  2010-09-02  FTSE:  2010-08-25\\n\",\n      \"BP:  2010-09-03  FTSE:  2010-08-26\\n\",\n      \"BP:  2010-09-07  FTSE:  2010-08-27\\n\",\n      \"BP:  2010-09-08  FTSE:  2010-08-31\\n\",\n      \"BP:  2010-09-09  FTSE:  2010-09-01\\n\",\n      \"BP:  2010-09-10  FTSE:  2010-09-02\\n\",\n      \"BP:  2010-09-13  FTSE:  2010-09-03\\n\",\n      \"BP:  2010-09-14  FTSE:  2010-09-06\\n\",\n      \"BP:  2010-09-15  FTSE:  2010-09-07\\n\",\n      \"BP:  2010-09-16  FTSE:  2010-09-08\\n\",\n      \"BP:  2010-09-17  FTSE:  2010-09-09\\n\",\n      \"BP:  2010-09-20  FTSE:  2010-09-10\\n\",\n      \"BP:  2010-09-21  FTSE:  2010-09-13\\n\",\n      \"BP:  2010-09-22  FTSE:  2010-09-14\\n\",\n      \"BP:  2010-09-23  FTSE:  2010-09-15\\n\",\n      \"BP:  2010-09-24  FTSE:  2010-09-16\\n\",\n      \"BP:  2010-09-27  FTSE:  2010-09-17\\n\",\n      \"BP:  2010-09-28  FTSE:  2010-09-20\\n\",\n      \"BP:  2010-09-29  FTSE:  2010-09-21\\n\",\n      \"BP:  2010-09-30  FTSE:  2010-09-22\\n\",\n      \"BP:  2010-10-01  FTSE:  2010-09-23\\n\",\n      \"BP:  2010-10-04  FTSE:  2010-09-24\\n\",\n      \"BP:  2010-10-05  FTSE:  2010-09-27\\n\",\n      \"BP:  2010-10-06  FTSE:  2010-09-28\\n\",\n      \"BP:  2010-10-07  FTSE:  2010-09-29\\n\",\n      \"BP:  2010-10-08  FTSE:  2010-09-30\\n\",\n      \"BP:  2010-10-11  FTSE:  2010-10-01\\n\",\n      \"BP:  2010-10-12  FTSE:  2010-10-04\\n\",\n      \"BP:  2010-10-13  FTSE:  2010-10-05\\n\",\n      \"BP:  2010-10-14  FTSE:  2010-10-06\\n\",\n      \"BP:  2010-10-15  FTSE:  2010-10-07\\n\",\n      \"BP:  2010-10-18  FTSE:  2010-10-08\\n\",\n      \"BP:  2010-10-19  FTSE:  2010-10-11\\n\",\n      \"BP:  2010-10-20  FTSE:  2010-10-12\\n\",\n      \"BP:  2010-10-21  FTSE:  2010-10-13\\n\",\n      \"BP:  2010-10-22  FTSE:  2010-10-14\\n\",\n      \"BP:  2010-10-25  FTSE:  2010-10-15\\n\",\n      \"BP:  2010-10-26  FTSE:  2010-10-18\\n\",\n      \"BP:  2010-10-27  FTSE:  2010-10-19\\n\",\n      \"BP:  2010-10-28  FTSE:  2010-10-20\\n\",\n      \"BP:  2010-10-29  FTSE:  2010-10-21\\n\",\n      \"BP:  2010-11-01  FTSE:  2010-10-22\\n\",\n      \"BP:  2010-11-02  FTSE:  2010-10-25\\n\",\n      \"BP:  2010-11-03  FTSE:  2010-10-26\\n\",\n      \"BP:  2010-11-04  FTSE:  2010-10-27\\n\",\n      \"BP:  2010-11-05  FTSE:  2010-10-28\\n\",\n      \"BP:  2010-11-08  FTSE:  2010-10-29\\n\",\n      \"BP:  2010-11-09  FTSE:  2010-11-01\\n\",\n      \"BP:  2010-11-10  FTSE:  2010-11-02\\n\",\n      \"BP:  2010-11-11  FTSE:  2010-11-03\\n\",\n      \"BP:  2010-11-12  FTSE:  2010-11-04\\n\",\n      \"BP:  2010-11-15  FTSE:  2010-11-05\\n\",\n      \"BP:  2010-11-16  FTSE:  2010-11-08\\n\",\n      \"BP:  2010-11-17  FTSE:  2010-11-09\\n\",\n      \"BP:  2010-11-18  FTSE:  2010-11-10\\n\",\n      \"BP:  2010-11-19  FTSE:  2010-11-11\\n\",\n      \"BP:  2010-11-22  FTSE:  2010-11-12\\n\",\n      \"BP:  2010-11-23  FTSE:  2010-11-15\\n\",\n      \"BP:  2010-11-24  FTSE:  2010-11-16\\n\",\n      \"BP:  2010-11-26  FTSE:  2010-11-17\\n\",\n      \"BP:  2010-11-29  FTSE:  2010-11-18\\n\",\n      \"BP:  2010-11-30  FTSE:  2010-11-19\\n\",\n      \"BP:  2010-12-01  FTSE:  2010-11-22\\n\",\n      \"BP:  2010-12-02  FTSE:  2010-11-23\\n\",\n      \"BP:  2010-12-03  FTSE:  2010-11-24\\n\",\n      \"BP:  2010-12-06  FTSE:  2010-11-25\\n\",\n      \"BP:  2010-12-07  FTSE:  2010-11-26\\n\",\n      \"BP:  2010-12-08  FTSE:  2010-11-29\\n\",\n      \"BP:  2010-12-09  FTSE:  2010-11-30\\n\",\n      \"BP:  2010-12-10  FTSE:  2010-12-01\\n\",\n      \"BP:  2010-12-13  FTSE:  2010-12-02\\n\",\n      \"BP:  2010-12-14  FTSE:  2010-12-03\\n\",\n      \"BP:  2010-12-15  FTSE:  2010-12-06\\n\",\n      \"BP:  2010-12-16  FTSE:  2010-12-07\\n\",\n      \"BP:  2010-12-17  FTSE:  2010-12-08\\n\",\n      \"BP:  2010-12-20  FTSE:  2010-12-09\\n\",\n      \"BP:  2010-12-21  FTSE:  2010-12-10\\n\",\n      \"BP:  2010-12-22  FTSE:  2010-12-13\\n\",\n      \"BP:  2010-12-23  FTSE:  2010-12-14\\n\",\n      \"BP:  2010-12-27  FTSE:  2010-12-15\\n\",\n      \"BP:  2010-12-28  FTSE:  2010-12-16\\n\",\n      \"BP:  2010-12-29  FTSE:  2010-12-17\\n\",\n      \"BP:  2010-12-30  FTSE:  2010-12-20\\n\",\n      \"BP:  2010-12-31  FTSE:  2010-12-21\\n\",\n      \"BP:  2011-01-03  FTSE:  2010-12-22\\n\",\n      \"BP:  2011-01-04  FTSE:  2010-12-23\\n\",\n      \"BP:  2011-01-05  FTSE:  2010-12-24\\n\",\n      \"BP:  2011-01-06  FTSE:  2010-12-29\\n\",\n      \"BP:  2011-01-07  FTSE:  2010-12-30\\n\",\n      \"BP:  2011-01-10  FTSE:  2010-12-31\\n\",\n      \"BP:  2011-01-11  FTSE:  2011-01-04\\n\",\n      \"BP:  2011-01-12  FTSE:  2011-01-05\\n\",\n      \"BP:  2011-01-13  FTSE:  2011-01-06\\n\",\n      \"BP:  2011-01-14  FTSE:  2011-01-07\\n\",\n      \"BP:  2011-01-18  FTSE:  2011-01-10\\n\",\n      \"BP:  2011-01-19  FTSE:  2011-01-11\\n\",\n      \"BP:  2011-01-20  FTSE:  2011-01-12\\n\",\n      \"BP:  2011-01-21  FTSE:  2011-01-13\\n\",\n      \"BP:  2011-01-24  FTSE:  2011-01-14\\n\",\n      \"BP:  2011-01-25  FTSE:  2011-01-17\\n\",\n      \"BP:  2011-01-26  FTSE:  2011-01-18\\n\",\n      \"BP:  2011-01-27  FTSE:  2011-01-19\\n\",\n      \"BP:  2011-01-28  FTSE:  2011-01-20\\n\",\n      \"BP:  2011-01-31  FTSE:  2011-01-21\\n\",\n      \"BP:  2011-02-01  FTSE:  2011-01-24\\n\",\n      \"BP:  2011-02-02  FTSE:  2011-01-25\\n\",\n      \"BP:  2011-02-03  FTSE:  2011-01-26\\n\",\n      \"BP:  2011-02-04  FTSE:  2011-01-27\\n\",\n      \"BP:  2011-02-07  FTSE:  2011-01-28\\n\",\n      \"BP:  2011-02-08  FTSE:  2011-01-31\\n\",\n      \"BP:  2011-02-09  FTSE:  2011-02-01\\n\",\n      \"BP:  2011-02-10  FTSE:  2011-02-02\\n\",\n      \"BP:  2011-02-11  FTSE:  2011-02-03\\n\",\n      \"BP:  2011-02-14  FTSE:  2011-02-04\\n\",\n      \"BP:  2011-02-15  FTSE:  2011-02-07\\n\",\n      \"BP:  2011-02-16  FTSE:  2011-02-08\\n\",\n      \"BP:  2011-02-17  FTSE:  2011-02-09\\n\",\n      \"BP:  2011-02-18  FTSE:  2011-02-10\\n\",\n      \"BP:  2011-02-22  FTSE:  2011-02-11\\n\",\n      \"BP:  2011-02-23  FTSE:  2011-02-14\\n\",\n      \"BP:  2011-02-24  FTSE:  2011-02-15\\n\",\n      \"BP:  2011-02-25  FTSE:  2011-02-16\\n\",\n      \"BP:  2011-02-28  FTSE:  2011-02-17\\n\",\n      \"BP:  2011-03-01  FTSE:  2011-02-18\\n\",\n      \"BP:  2011-03-02  FTSE:  2011-02-21\\n\",\n      \"BP:  2011-03-03  FTSE:  2011-02-22\\n\",\n      \"BP:  2011-03-04  FTSE:  2011-02-23\\n\",\n      \"BP:  2011-03-07  FTSE:  2011-02-24\\n\",\n      \"BP:  2011-03-08  FTSE:  2011-02-25\\n\",\n      \"BP:  2011-03-09  FTSE:  2011-02-28\\n\",\n      \"BP:  2011-03-10  FTSE:  2011-03-01\\n\",\n      \"BP:  2011-03-11  FTSE:  2011-03-02\\n\",\n      \"BP:  2011-03-14  FTSE:  2011-03-03\\n\",\n      \"BP:  2011-03-15  FTSE:  2011-03-04\\n\",\n      \"BP:  2011-03-16  FTSE:  2011-03-07\\n\",\n      \"BP:  2011-03-17  FTSE:  2011-03-08\\n\",\n      \"BP:  2011-03-18  FTSE:  2011-03-09\\n\",\n      \"BP:  2011-03-21  FTSE:  2011-03-10\\n\",\n      \"BP:  2011-03-22  FTSE:  2011-03-11\\n\",\n      \"BP:  2011-03-23  FTSE:  2011-03-14\\n\",\n      \"BP:  2011-03-24  FTSE:  2011-03-15\\n\",\n      \"BP:  2011-03-25  FTSE:  2011-03-16\\n\",\n      \"BP:  2011-03-28  FTSE:  2011-03-17\\n\",\n      \"BP:  2011-03-29  FTSE:  2011-03-18\\n\",\n      \"BP:  2011-03-30  FTSE:  2011-03-21\\n\",\n      \"BP:  2011-03-31  FTSE:  2011-03-22\\n\",\n      \"BP:  2011-04-01  FTSE:  2011-03-23\\n\",\n      \"BP:  2011-04-04  FTSE:  2011-03-24\\n\",\n      \"BP:  2011-04-05  FTSE:  2011-03-25\\n\",\n      \"BP:  2011-04-06  FTSE:  2011-03-28\\n\",\n      \"BP:  2011-04-07  FTSE:  2011-03-29\\n\",\n      \"BP:  2011-04-08  FTSE:  2011-03-30\\n\",\n      \"BP:  2011-04-11  FTSE:  2011-03-31\\n\",\n      \"BP:  2011-04-12  FTSE:  2011-04-01\\n\",\n      \"BP:  2011-04-13  FTSE:  2011-04-04\\n\",\n      \"BP:  2011-04-14  FTSE:  2011-04-05\\n\",\n      \"BP:  2011-04-15  FTSE:  2011-04-06\\n\",\n      \"BP:  2011-04-18  FTSE:  2011-04-07\\n\",\n      \"BP:  2011-04-19  FTSE:  2011-04-08\\n\",\n      \"BP:  2011-04-20  FTSE:  2011-04-11\\n\",\n      \"BP:  2011-04-21  FTSE:  2011-04-12\\n\",\n      \"BP:  2011-04-25  FTSE:  2011-04-13\\n\",\n      \"BP:  2011-04-26  FTSE:  2011-04-14\\n\",\n      \"BP:  2011-04-27  FTSE:  2011-04-15\\n\",\n      \"BP:  2011-04-28  FTSE:  2011-04-18\\n\",\n      \"BP:  2011-04-29  FTSE:  2011-04-19\\n\",\n      \"BP:  2011-05-02  FTSE:  2011-04-20\\n\",\n      \"BP:  2011-05-03  FTSE:  2011-04-21\\n\",\n      \"BP:  2011-05-04  FTSE:  2011-04-26\\n\",\n      \"BP:  2011-05-05  FTSE:  2011-04-27\\n\",\n      \"BP:  2011-05-06  FTSE:  2011-04-28\\n\",\n      \"BP:  2011-05-09  FTSE:  2011-05-03\\n\",\n      \"BP:  2011-05-10  FTSE:  2011-05-04\\n\",\n      \"BP:  2011-05-11  FTSE:  2011-05-05\\n\",\n      \"BP:  2011-05-12  FTSE:  2011-05-06\\n\",\n      \"BP:  2011-05-13  FTSE:  2011-05-09\\n\",\n      \"BP:  2011-05-16  FTSE:  2011-05-10\\n\",\n      \"BP:  2011-05-17  FTSE:  2011-05-11\\n\",\n      \"BP:  2011-05-18  FTSE:  2011-05-12\\n\",\n      \"BP:  2011-05-19  FTSE:  2011-05-13\\n\",\n      \"BP:  2011-05-20  FTSE:  2011-05-16\\n\",\n      \"BP:  2011-05-23  FTSE:  2011-05-17\\n\",\n      \"BP:  2011-05-24  FTSE:  2011-05-18\\n\",\n      \"BP:  2011-05-25  FTSE:  2011-05-19\\n\",\n      \"BP:  2011-05-26  FTSE:  2011-05-20\\n\",\n      \"BP:  2011-05-27  FTSE:  2011-05-23\\n\",\n      \"BP:  2011-05-31  FTSE:  2011-05-24\\n\",\n      \"BP:  2011-06-01  FTSE:  2011-05-25\\n\",\n      \"BP:  2011-06-02  FTSE:  2011-05-26\\n\",\n      \"BP:  2011-06-03  FTSE:  2011-05-27\\n\",\n      \"BP:  2011-06-06  FTSE:  2011-05-31\\n\",\n      \"BP:  2011-06-07  FTSE:  2011-06-01\\n\",\n      \"BP:  2011-06-08  FTSE:  2011-06-02\\n\",\n      \"BP:  2011-06-09  FTSE:  2011-06-03\\n\",\n      \"BP:  2011-06-10  FTSE:  2011-06-06\\n\",\n      \"BP:  2011-06-13  FTSE:  2011-06-07\\n\",\n      \"BP:  2011-06-14  FTSE:  2011-06-08\\n\",\n      \"BP:  2011-06-15  FTSE:  2011-06-09\\n\",\n      \"BP:  2011-06-16  FTSE:  2011-06-10\\n\",\n      \"BP:  2011-06-17  FTSE:  2011-06-13\\n\",\n      \"BP:  2011-06-20  FTSE:  2011-06-14\\n\",\n      \"BP:  2011-06-21  FTSE:  2011-06-15\\n\",\n      \"BP:  2011-06-22  FTSE:  2011-06-16\\n\",\n      \"BP:  2011-06-23  FTSE:  2011-06-17\\n\",\n      \"BP:  2011-06-24  FTSE:  2011-06-20\\n\",\n      \"BP:  2011-06-27  FTSE:  2011-06-21\\n\",\n      \"BP:  2011-06-28  FTSE:  2011-06-22\\n\",\n      \"BP:  2011-06-29  FTSE:  2011-06-23\\n\",\n      \"BP:  2011-06-30  FTSE:  2011-06-24\\n\",\n      \"BP:  2011-07-01  FTSE:  2011-06-27\\n\",\n      \"BP:  2011-07-05  FTSE:  2011-06-28\\n\",\n      \"BP:  2011-07-06  FTSE:  2011-06-29\\n\",\n      \"BP:  2011-07-07  FTSE:  2011-06-30\\n\",\n      \"BP:  2011-07-08  FTSE:  2011-07-01\\n\",\n      \"BP:  2011-07-11  FTSE:  2011-07-04\\n\",\n      \"BP:  2011-07-12  FTSE:  2011-07-05\\n\",\n      \"BP:  2011-07-13  FTSE:  2011-07-06\\n\",\n      \"BP:  2011-07-14  FTSE:  2011-07-07\\n\",\n      \"BP:  2011-07-15  FTSE:  2011-07-08\\n\",\n      \"BP:  2011-07-18  FTSE:  2011-07-11\\n\",\n      \"BP:  2011-07-19  FTSE:  2011-07-12\\n\",\n      \"BP:  2011-07-20  FTSE:  2011-07-13\\n\",\n      \"BP:  2011-07-21  FTSE:  2011-07-14\\n\",\n      \"BP:  2011-07-22  FTSE:  2011-07-15\\n\",\n      \"BP:  2011-07-25  FTSE:  2011-07-18\\n\",\n      \"BP:  2011-07-26  FTSE:  2011-07-19\\n\",\n      \"BP:  2011-07-27  FTSE:  2011-07-20\\n\",\n      \"BP:  2011-07-28  FTSE:  2011-07-21\\n\",\n      \"BP:  2011-07-29  FTSE:  2011-07-22\\n\",\n      \"BP:  2011-08-01  FTSE:  2011-07-25\\n\",\n      \"BP:  2011-08-02  FTSE:  2011-07-26\\n\",\n      \"BP:  2011-08-03  FTSE:  2011-07-27\\n\",\n      \"BP:  2011-08-04  FTSE:  2011-07-28\\n\",\n      \"BP:  2011-08-05  FTSE:  2011-07-29\\n\",\n      \"BP:  2011-08-08  FTSE:  2011-08-01\\n\",\n      \"BP:  2011-08-09  FTSE:  2011-08-02\\n\",\n      \"BP:  2011-08-10  FTSE:  2011-08-03\\n\",\n      \"BP:  2011-08-11  FTSE:  2011-08-04\\n\",\n      \"BP:  2011-08-12  FTSE:  2011-08-05\\n\",\n      \"BP:  2011-08-15  FTSE:  2011-08-08\\n\",\n      \"BP:  2011-08-16  FTSE:  2011-08-09\\n\",\n      \"BP:  2011-08-17  FTSE:  2011-08-10\\n\",\n      \"BP:  2011-08-18  FTSE:  2011-08-11\\n\",\n      \"BP:  2011-08-19  FTSE:  2011-08-12\\n\",\n      \"BP:  2011-08-22  FTSE:  2011-08-15\\n\",\n      \"BP:  2011-08-23  FTSE:  2011-08-16\\n\",\n      \"BP:  2011-08-24  FTSE:  2011-08-17\\n\",\n      \"BP:  2011-08-25  FTSE:  2011-08-18\\n\",\n      \"BP:  2011-08-26  FTSE:  2011-08-19\\n\",\n      \"BP:  2011-08-29  FTSE:  2011-08-22\\n\",\n      \"BP:  2011-08-30  FTSE:  2011-08-23\\n\",\n      \"BP:  2011-08-31  FTSE:  2011-08-24\\n\",\n      \"BP:  2011-09-01  FTSE:  2011-08-25\\n\",\n      \"BP:  2011-09-02  FTSE:  2011-08-26\\n\",\n      \"BP:  2011-09-06  FTSE:  2011-08-30\\n\",\n      \"BP:  2011-09-07  FTSE:  2011-08-31\\n\",\n      \"BP:  2011-09-08  FTSE:  2011-09-01\\n\",\n      \"BP:  2011-09-09  FTSE:  2011-09-02\\n\",\n      \"BP:  2011-09-12  FTSE:  2011-09-05\\n\",\n      \"BP:  2011-09-13  FTSE:  2011-09-06\\n\",\n      \"BP:  2011-09-14  FTSE:  2011-09-07\\n\",\n      \"BP:  2011-09-15  FTSE:  2011-09-08\\n\",\n      \"BP:  2011-09-16  FTSE:  2011-09-09\\n\",\n      \"BP:  2011-09-19  FTSE:  2011-09-12\\n\",\n      \"BP:  2011-09-20  FTSE:  2011-09-13\\n\",\n      \"BP:  2011-09-21  FTSE:  2011-09-14\\n\",\n      \"BP:  2011-09-22  FTSE:  2011-09-15\\n\",\n      \"BP:  2011-09-23  FTSE:  2011-09-16\\n\",\n      \"BP:  2011-09-26  FTSE:  2011-09-19\\n\",\n      \"BP:  2011-09-27  FTSE:  2011-09-20\\n\",\n      \"BP:  2011-09-28  FTSE:  2011-09-21\\n\",\n      \"BP:  2011-09-29  FTSE:  2011-09-22\\n\",\n      \"BP:  2011-09-30  FTSE:  2011-09-23\\n\",\n      \"BP:  2011-10-03  FTSE:  2011-09-26\\n\",\n      \"BP:  2011-10-04  FTSE:  2011-09-27\\n\",\n      \"BP:  2011-10-05  FTSE:  2011-09-28\\n\",\n      \"BP:  2011-10-06  FTSE:  2011-09-29\\n\",\n      \"BP:  2011-10-07  FTSE:  2011-09-30\\n\",\n      \"BP:  2011-10-10  FTSE:  2011-10-03\\n\",\n      \"BP:  2011-10-11  FTSE:  2011-10-04\\n\",\n      \"BP:  2011-10-12  FTSE:  2011-10-05\\n\",\n      \"BP:  2011-10-13  FTSE:  2011-10-06\\n\",\n      \"BP:  2011-10-14  FTSE:  2011-10-07\\n\",\n      \"BP:  2011-10-17  FTSE:  2011-10-10\\n\",\n      \"BP:  2011-10-18  FTSE:  2011-10-11\\n\",\n      \"BP:  2011-10-19  FTSE:  2011-10-12\\n\",\n      \"BP:  2011-10-20  FTSE:  2011-10-13\\n\",\n      \"BP:  2011-10-21  FTSE:  2011-10-14\\n\",\n      \"BP:  2011-10-24  FTSE:  2011-10-17\\n\",\n      \"BP:  2011-10-25  FTSE:  2011-10-18\\n\",\n      \"BP:  2011-10-26  FTSE:  2011-10-19\\n\",\n      \"BP:  2011-10-27  FTSE:  2011-10-20\\n\",\n      \"BP:  2011-10-28  FTSE:  2011-10-21\\n\",\n      \"BP:  2011-10-31  FTSE:  2011-10-24\\n\",\n      \"BP:  2011-11-01  FTSE:  2011-10-25\\n\",\n      \"BP:  2011-11-02  FTSE:  2011-10-26\\n\",\n      \"BP:  2011-11-03  FTSE:  2011-10-27\\n\",\n      \"BP:  2011-11-04  FTSE:  2011-10-28\\n\",\n      \"BP:  2011-11-07  FTSE:  2011-10-31\\n\",\n      \"BP:  2011-11-08  FTSE:  2011-11-01\\n\",\n      \"BP:  2011-11-09  FTSE:  2011-11-02\\n\",\n      \"BP:  2011-11-10  FTSE:  2011-11-03\\n\",\n      \"BP:  2011-11-11  FTSE:  2011-11-04\\n\",\n      \"BP:  2011-11-14  FTSE:  2011-11-07\\n\",\n      \"BP:  2011-11-15  FTSE:  2011-11-08\\n\",\n      \"BP:  2011-11-16  FTSE:  2011-11-09\\n\",\n      \"BP:  2011-11-17  FTSE:  2011-11-10\\n\",\n      \"BP:  2011-11-18  FTSE:  2011-11-11\\n\",\n      \"BP:  2011-11-21  FTSE:  2011-11-14\\n\",\n      \"BP:  2011-11-22  FTSE:  2011-11-15\\n\",\n      \"BP:  2011-11-23  FTSE:  2011-11-16\\n\",\n      \"BP:  2011-11-25  FTSE:  2011-11-17\\n\",\n      \"BP:  2011-11-28  FTSE:  2011-11-18\\n\",\n      \"BP:  2011-11-29  FTSE:  2011-11-21\\n\",\n      \"BP:  2011-11-30  FTSE:  2011-11-22\\n\",\n      \"BP:  2011-12-01  FTSE:  2011-11-23\\n\",\n      \"BP:  2011-12-02  FTSE:  2011-11-24\\n\",\n      \"BP:  2011-12-05  FTSE:  2011-11-25\\n\",\n      \"BP:  2011-12-06  FTSE:  2011-11-28\\n\",\n      \"BP:  2011-12-07  FTSE:  2011-11-29\\n\",\n      \"BP:  2011-12-08  FTSE:  2011-11-30\\n\",\n      \"BP:  2011-12-09  FTSE:  2011-12-01\\n\",\n      \"BP:  2011-12-12  FTSE:  2011-12-02\\n\",\n      \"BP:  2011-12-13  FTSE:  2011-12-05\\n\",\n      \"BP:  2011-12-14  FTSE:  2011-12-06\\n\",\n      \"BP:  2011-12-15  FTSE:  2011-12-07\\n\",\n      \"BP:  2011-12-16  FTSE:  2011-12-08\\n\",\n      \"BP:  2011-12-19  FTSE:  2011-12-09\\n\",\n      \"BP:  2011-12-20  FTSE:  2011-12-12\\n\",\n      \"BP:  2011-12-21  FTSE:  2011-12-13\\n\",\n      \"BP:  2011-12-22  FTSE:  2011-12-14\\n\",\n      \"BP:  2011-12-23  FTSE:  2011-12-15\\n\",\n      \"BP:  2011-12-27  FTSE:  2011-12-16\\n\",\n      \"BP:  2011-12-28  FTSE:  2011-12-19\\n\",\n      \"BP:  2011-12-29  FTSE:  2011-12-20\\n\",\n      \"BP:  2011-12-30  FTSE:  2011-12-21\\n\",\n      \"BP:  2012-01-03  FTSE:  2011-12-22\\n\",\n      \"BP:  2012-01-04  FTSE:  2011-12-23\\n\",\n      \"BP:  2012-01-05  FTSE:  2011-12-28\\n\",\n      \"BP:  2012-01-06  FTSE:  2011-12-29\\n\",\n      \"BP:  2012-01-09  FTSE:  2011-12-30\\n\",\n      \"BP:  2012-01-10  FTSE:  2012-01-03\\n\",\n      \"BP:  2012-01-11  FTSE:  2012-01-04\\n\",\n      \"BP:  2012-01-12  FTSE:  2012-01-05\\n\",\n      \"BP:  2012-01-13  FTSE:  2012-01-06\\n\",\n      \"BP:  2012-01-17  FTSE:  2012-01-09\\n\",\n      \"BP:  2012-01-18  FTSE:  2012-01-10\\n\",\n      \"BP:  2012-01-19  FTSE:  2012-01-11\\n\",\n      \"BP:  2012-01-20  FTSE:  2012-01-12\\n\",\n      \"BP:  2012-01-23  FTSE:  2012-01-13\\n\",\n      \"BP:  2012-01-24  FTSE:  2012-01-16\\n\",\n      \"BP:  2012-01-25  FTSE:  2012-01-17\\n\",\n      \"BP:  2012-01-26  FTSE:  2012-01-18\\n\",\n      \"BP:  2012-01-27  FTSE:  2012-01-19\\n\",\n      \"BP:  2012-01-30  FTSE:  2012-01-20\\n\",\n      \"BP:  2012-01-31  FTSE:  2012-01-23\\n\",\n      \"BP:  2012-02-01  FTSE:  2012-01-24\\n\",\n      \"BP:  2012-02-02  FTSE:  2012-01-25\\n\",\n      \"BP:  2012-02-03  FTSE:  2012-01-26\\n\",\n      \"BP:  2012-02-06  FTSE:  2012-01-27\\n\",\n      \"BP:  2012-02-07  FTSE:  2012-01-30\\n\",\n      \"BP:  2012-02-08  FTSE:  2012-01-31\\n\",\n      \"BP:  2012-02-09  FTSE:  2012-02-01\\n\",\n      \"BP:  2012-02-10  FTSE:  2012-02-02\\n\",\n      \"BP:  2012-02-13  FTSE:  2012-02-03\\n\",\n      \"BP:  2012-02-14  FTSE:  2012-02-06\\n\",\n      \"BP:  2012-02-15  FTSE:  2012-02-07\\n\",\n      \"BP:  2012-02-16  FTSE:  2012-02-08\\n\",\n      \"BP:  2012-02-17  FTSE:  2012-02-09\\n\",\n      \"BP:  2012-02-21  FTSE:  2012-02-10\\n\",\n      \"BP:  2012-02-22  FTSE:  2012-02-13\\n\",\n      \"BP:  2012-02-23  FTSE:  2012-02-14\\n\",\n      \"BP:  2012-02-24  FTSE:  2012-02-15\\n\",\n      \"BP:  2012-02-27  FTSE:  2012-02-16\\n\",\n      \"BP:  2012-02-28  FTSE:  2012-02-17\\n\",\n      \"BP:  2012-02-29  FTSE:  2012-02-20\\n\",\n      \"BP:  2012-03-01  FTSE:  2012-02-21\\n\",\n      \"BP:  2012-03-02  FTSE:  2012-02-22\\n\",\n      \"BP:  2012-03-05  FTSE:  2012-02-23\\n\",\n      \"BP:  2012-03-06  FTSE:  2012-02-24\\n\",\n      \"BP:  2012-03-07  FTSE:  2012-02-27\\n\",\n      \"BP:  2012-03-08  FTSE:  2012-02-28\\n\",\n      \"BP:  2012-03-09  FTSE:  2012-02-29\\n\",\n      \"BP:  2012-03-12  FTSE:  2012-03-01\\n\",\n      \"BP:  2012-03-13  FTSE:  2012-03-02\\n\",\n      \"BP:  2012-03-14  FTSE:  2012-03-05\\n\",\n      \"BP:  2012-03-15  FTSE:  2012-03-06\\n\",\n      \"BP:  2012-03-16  FTSE:  2012-03-07\\n\",\n      \"BP:  2012-03-19  FTSE:  2012-03-08\\n\",\n      \"BP:  2012-03-20  FTSE:  2012-03-09\\n\",\n      \"BP:  2012-03-21  FTSE:  2012-03-12\\n\",\n      \"BP:  2012-03-22  FTSE:  2012-03-13\\n\",\n      \"BP:  2012-03-23  FTSE:  2012-03-14\\n\",\n      \"BP:  2012-03-26  FTSE:  2012-03-15\\n\",\n      \"BP:  2012-03-27  FTSE:  2012-03-16\\n\",\n      \"BP:  2012-03-28  FTSE:  2012-03-19\\n\",\n      \"BP:  2012-03-29  FTSE:  2012-03-20\\n\",\n      \"BP:  2012-03-30  FTSE:  2012-03-21\\n\",\n      \"BP:  2012-04-02  FTSE:  2012-03-22\\n\",\n      \"BP:  2012-04-03  FTSE:  2012-03-23\\n\",\n      \"BP:  2012-04-04  FTSE:  2012-03-26\\n\",\n      \"BP:  2012-04-05  FTSE:  2012-03-27\\n\",\n      \"BP:  2012-04-09  FTSE:  2012-03-28\\n\",\n      \"BP:  2012-04-10  FTSE:  2012-03-29\\n\",\n      \"BP:  2012-04-11  FTSE:  2012-03-30\\n\",\n      \"BP:  2012-04-12  FTSE:  2012-04-02\\n\",\n      \"BP:  2012-04-13  FTSE:  2012-04-03\\n\",\n      \"BP:  2012-04-16  FTSE:  2012-04-04\\n\",\n      \"BP:  2012-04-17  FTSE:  2012-04-05\\n\",\n      \"BP:  2012-04-18  FTSE:  2012-04-10\\n\",\n      \"BP:  2012-04-19  FTSE:  2012-04-11\\n\",\n      \"BP:  2012-04-20  FTSE:  2012-04-12\\n\",\n      \"BP:  2012-04-23  FTSE:  2012-04-13\\n\",\n      \"BP:  2012-04-24  FTSE:  2012-04-16\\n\",\n      \"BP:  2012-04-25  FTSE:  2012-04-17\\n\",\n      \"BP:  2012-04-26  FTSE:  2012-04-18\\n\",\n      \"BP:  2012-04-27  FTSE:  2012-04-19\\n\",\n      \"BP:  2012-04-30  FTSE:  2012-04-20\\n\",\n      \"BP:  2012-05-01  FTSE:  2012-04-23\\n\",\n      \"BP:  2012-05-02  FTSE:  2012-04-24\\n\",\n      \"BP:  2012-05-03  FTSE:  2012-04-25\\n\",\n      \"BP:  2012-05-04  FTSE:  2012-04-26\\n\",\n      \"BP:  2012-05-07  FTSE:  2012-04-27\\n\",\n      \"BP:  2012-05-08  FTSE:  2012-04-30\\n\",\n      \"BP:  2012-05-09  FTSE:  2012-05-01\\n\",\n      \"BP:  2012-05-10  FTSE:  2012-05-02\\n\",\n      \"BP:  2012-05-11  FTSE:  2012-05-03\\n\",\n      \"BP:  2012-05-14  FTSE:  2012-05-04\\n\",\n      \"BP:  2012-05-15  FTSE:  2012-05-08\\n\",\n      \"BP:  2012-05-16  FTSE:  2012-05-09\\n\",\n      \"BP:  2012-05-17  FTSE:  2012-05-10\\n\",\n      \"BP:  2012-05-18  FTSE:  2012-05-11\\n\",\n      \"BP:  2012-05-21  FTSE:  2012-05-14\\n\",\n      \"BP:  2012-05-22  FTSE:  2012-05-15\\n\",\n      \"BP:  2012-05-23  FTSE:  2012-05-16\\n\",\n      \"BP:  2012-05-24  FTSE:  2012-05-17\\n\",\n      \"BP:  2012-05-25  FTSE:  2012-05-18\\n\",\n      \"BP:  2012-05-29  FTSE:  2012-05-21\\n\",\n      \"BP:  2012-05-30  FTSE:  2012-05-22\\n\",\n      \"BP:  2012-05-31  FTSE:  2012-05-23\\n\",\n      \"BP:  2012-06-01  FTSE:  2012-05-24\\n\",\n      \"BP:  2012-06-04  FTSE:  2012-05-25\\n\",\n      \"BP:  2012-06-05  FTSE:  2012-05-28\\n\",\n      \"BP:  2012-06-06  FTSE:  2012-05-29\\n\",\n      \"BP:  2012-06-07  FTSE:  2012-05-30\\n\",\n      \"BP:  2012-06-08  FTSE:  2012-05-31\\n\",\n      \"BP:  2012-06-11  FTSE:  2012-06-01\\n\",\n      \"BP:  2012-06-12  FTSE:  2012-06-06\\n\",\n      \"BP:  2012-06-13  FTSE:  2012-06-07\\n\",\n      \"BP:  2012-06-14  FTSE:  2012-06-08\\n\",\n      \"BP:  2012-06-15  FTSE:  2012-06-11\\n\",\n      \"BP:  2012-06-18  FTSE:  2012-06-12\\n\",\n      \"BP:  2012-06-19  FTSE:  2012-06-13\\n\",\n      \"BP:  2012-06-20  FTSE:  2012-06-14\\n\",\n      \"BP:  2012-06-21  FTSE:  2012-06-15\\n\",\n      \"BP:  2012-06-22  FTSE:  2012-06-18\\n\",\n      \"BP:  2012-06-25  FTSE:  2012-06-19\\n\",\n      \"BP:  2012-06-26  FTSE:  2012-06-20\\n\",\n      \"BP:  2012-06-27  FTSE:  2012-06-21\\n\",\n      \"BP:  2012-06-28  FTSE:  2012-06-22\\n\",\n      \"BP:  2012-06-29  FTSE:  2012-06-25\\n\",\n      \"BP:  2012-07-02  FTSE:  2012-06-26\\n\",\n      \"BP:  2012-07-03  FTSE:  2012-06-27\\n\",\n      \"BP:  2012-07-05  FTSE:  2012-06-28\\n\",\n      \"BP:  2012-07-06  FTSE:  2012-06-29\\n\",\n      \"BP:  2012-07-09  FTSE:  2012-07-02\\n\",\n      \"BP:  2012-07-10  FTSE:  2012-07-03\\n\",\n      \"BP:  2012-07-11  FTSE:  2012-07-04\\n\",\n      \"BP:  2012-07-12  FTSE:  2012-07-05\\n\",\n      \"BP:  2012-07-13  FTSE:  2012-07-06\\n\",\n      \"BP:  2012-07-16  FTSE:  2012-07-09\\n\",\n      \"BP:  2012-07-17  FTSE:  2012-07-10\\n\",\n      \"BP:  2012-07-18  FTSE:  2012-07-11\\n\",\n      \"BP:  2012-07-19  FTSE:  2012-07-12\\n\",\n      \"BP:  2012-07-20  FTSE:  2012-07-13\\n\",\n      \"BP:  2012-07-23  FTSE:  2012-07-16\\n\",\n      \"BP:  2012-07-24  FTSE:  2012-07-17\\n\",\n      \"BP:  2012-07-25  FTSE:  2012-07-18\\n\",\n      \"BP:  2012-07-26  FTSE:  2012-07-19\\n\",\n      \"BP:  2012-07-27  FTSE:  2012-07-20\\n\",\n      \"BP:  2012-07-30  FTSE:  2012-07-23\\n\",\n      \"BP:  2012-07-31  FTSE:  2012-07-24\\n\",\n      \"BP:  2012-08-01  FTSE:  2012-07-25\\n\",\n      \"BP:  2012-08-02  FTSE:  2012-07-26\\n\",\n      \"BP:  2012-08-03  FTSE:  2012-07-27\\n\",\n      \"BP:  2012-08-06  FTSE:  2012-07-30\\n\",\n      \"BP:  2012-08-07  FTSE:  2012-07-31\\n\",\n      \"BP:  2012-08-08  FTSE:  2012-08-01\\n\",\n      \"BP:  2012-08-09  FTSE:  2012-08-02\\n\",\n      \"BP:  2012-08-10  FTSE:  2012-08-03\\n\",\n      \"BP:  2012-08-13  FTSE:  2012-08-06\\n\",\n      \"BP:  2012-08-14  FTSE:  2012-08-07\\n\",\n      \"BP:  2012-08-15  FTSE:  2012-08-08\\n\",\n      \"BP:  2012-08-16  FTSE:  2012-08-09\\n\",\n      \"BP:  2012-08-17  FTSE:  2012-08-10\\n\",\n      \"BP:  2012-08-20  FTSE:  2012-08-13\\n\",\n      \"BP:  2012-08-21  FTSE:  2012-08-14\\n\",\n      \"BP:  2012-08-22  FTSE:  2012-08-15\\n\",\n      \"BP:  2012-08-23  FTSE:  2012-08-16\\n\",\n      \"BP:  2012-08-24  FTSE:  2012-08-17\\n\",\n      \"BP:  2012-08-27  FTSE:  2012-08-20\\n\",\n      \"BP:  2012-08-28  FTSE:  2012-08-21\\n\",\n      \"BP:  2012-08-29  FTSE:  2012-08-22\\n\",\n      \"BP:  2012-08-30  FTSE:  2012-08-23\\n\",\n      \"BP:  2012-08-31  FTSE:  2012-08-24\\n\",\n      \"BP:  2012-09-04  FTSE:  2012-08-28\\n\",\n      \"BP:  2012-09-05  FTSE:  2012-08-29\\n\",\n      \"BP:  2012-09-06  FTSE:  2012-08-30\\n\",\n      \"BP:  2012-09-07  FTSE:  2012-08-31\\n\",\n      \"BP:  2012-09-10  FTSE:  2012-09-03\\n\",\n      \"BP:  2012-09-11  FTSE:  2012-09-04\\n\",\n      \"BP:  2012-09-12  FTSE:  2012-09-05\\n\",\n      \"BP:  2012-09-13  FTSE:  2012-09-06\\n\",\n      \"BP:  2012-09-14  FTSE:  2012-09-07\\n\",\n      \"BP:  2012-09-17  FTSE:  2012-09-10\\n\",\n      \"BP:  2012-09-18  FTSE:  2012-09-11\\n\",\n      \"BP:  2012-09-19  FTSE:  2012-09-12\\n\",\n      \"BP:  2012-09-20  FTSE:  2012-09-13\\n\",\n      \"BP:  2012-09-21  FTSE:  2012-09-14\\n\",\n      \"BP:  2012-09-24  FTSE:  2012-09-17\\n\",\n      \"BP:  2012-09-25  FTSE:  2012-09-18\\n\",\n      \"BP:  2012-09-26  FTSE:  2012-09-19\\n\",\n      \"BP:  2012-09-27  FTSE:  2012-09-20\\n\",\n      \"BP:  2012-09-28  FTSE:  2012-09-21\\n\",\n      \"BP:  2012-10-01  FTSE:  2012-09-24\\n\",\n      \"BP:  2012-10-02  FTSE:  2012-09-25\\n\",\n      \"BP:  2012-10-03  FTSE:  2012-09-26\\n\",\n      \"BP:  2012-10-04  FTSE:  2012-09-27\\n\",\n      \"BP:  2012-10-05  FTSE:  2012-09-28\\n\",\n      \"BP:  2012-10-08  FTSE:  2012-10-01\\n\",\n      \"BP:  2012-10-09  FTSE:  2012-10-02\\n\",\n      \"BP:  2012-10-10  FTSE:  2012-10-03\\n\",\n      \"BP:  2012-10-11  FTSE:  2012-10-04\\n\",\n      \"BP:  2012-10-12  FTSE:  2012-10-05\\n\",\n      \"BP:  2012-10-15  FTSE:  2012-10-08\\n\",\n      \"BP:  2012-10-16  FTSE:  2012-10-09\\n\",\n      \"BP:  2012-10-17  FTSE:  2012-10-10\\n\",\n      \"BP:  2012-10-18  FTSE:  2012-10-11\\n\",\n      \"BP:  2012-10-19  FTSE:  2012-10-12\\n\",\n      \"BP:  2012-10-22  FTSE:  2012-10-15\\n\",\n      \"BP:  2012-10-23  FTSE:  2012-10-16\\n\",\n      \"BP:  2012-10-24  FTSE:  2012-10-17\\n\",\n      \"BP:  2012-10-25  FTSE:  2012-10-18\\n\",\n      \"BP:  2012-10-26  FTSE:  2012-10-19\\n\",\n      \"BP:  2012-10-31  FTSE:  2012-10-22\\n\",\n      \"BP:  2012-11-01  FTSE:  2012-10-23\\n\",\n      \"BP:  2012-11-02  FTSE:  2012-10-24\\n\",\n      \"BP:  2012-11-05  FTSE:  2012-10-25\\n\",\n      \"BP:  2012-11-06  FTSE:  2012-10-26\\n\",\n      \"BP:  2012-11-07  FTSE:  2012-10-29\\n\",\n      \"BP:  2012-11-08  FTSE:  2012-10-30\\n\",\n      \"BP:  2012-11-09  FTSE:  2012-10-31\\n\",\n      \"BP:  2012-11-12  FTSE:  2012-11-01\\n\",\n      \"BP:  2012-11-13  FTSE:  2012-11-02\\n\",\n      \"BP:  2012-11-14  FTSE:  2012-11-05\\n\",\n      \"BP:  2012-11-15  FTSE:  2012-11-06\\n\",\n      \"BP:  2012-11-16  FTSE:  2012-11-07\\n\",\n      \"BP:  2012-11-19  FTSE:  2012-11-08\\n\",\n      \"BP:  2012-11-20  FTSE:  2012-11-09\\n\",\n      \"BP:  2012-11-21  FTSE:  2012-11-12\\n\",\n      \"BP:  2012-11-23  FTSE:  2012-11-13\\n\",\n      \"BP:  2012-11-26  FTSE:  2012-11-14\\n\",\n      \"BP:  2012-11-27  FTSE:  2012-11-15\\n\",\n      \"BP:  2012-11-28  FTSE:  2012-11-16\\n\",\n      \"BP:  2012-11-29  FTSE:  2012-11-19\\n\",\n      \"BP:  2012-11-30  FTSE:  2012-11-20\\n\",\n      \"BP:  2012-12-03  FTSE:  2012-11-21\\n\",\n      \"BP:  2012-12-04  FTSE:  2012-11-22\\n\",\n      \"BP:  2012-12-05  FTSE:  2012-11-23\\n\",\n      \"BP:  2012-12-06  FTSE:  2012-11-26\\n\",\n      \"BP:  2012-12-07  FTSE:  2012-11-27\\n\",\n      \"BP:  2012-12-10  FTSE:  2012-11-28\\n\",\n      \"BP:  2012-12-11  FTSE:  2012-11-29\\n\",\n      \"BP:  2012-12-12  FTSE:  2012-11-30\\n\",\n      \"BP:  2012-12-13  FTSE:  2012-12-03\\n\",\n      \"BP:  2012-12-14  FTSE:  2012-12-04\\n\",\n      \"BP:  2012-12-17  FTSE:  2012-12-05\\n\",\n      \"BP:  2012-12-18  FTSE:  2012-12-06\\n\",\n      \"BP:  2012-12-19  FTSE:  2012-12-07\\n\",\n      \"BP:  2012-12-20  FTSE:  2012-12-10\\n\",\n      \"BP:  2012-12-21  FTSE:  2012-12-11\\n\",\n      \"BP:  2012-12-24  FTSE:  2012-12-12\\n\",\n      \"BP:  2012-12-26  FTSE:  2012-12-13\\n\",\n      \"BP:  2012-12-27  FTSE:  2012-12-14\\n\",\n      \"BP:  2012-12-28  FTSE:  2012-12-17\\n\",\n      \"BP:  2012-12-31  FTSE:  2012-12-18\\n\",\n      \"BP:  2013-01-02  FTSE:  2012-12-19\\n\",\n      \"BP:  2013-01-03  FTSE:  2012-12-20\\n\",\n      \"BP:  2013-01-04  FTSE:  2012-12-21\\n\",\n      \"BP:  2013-01-07  FTSE:  2012-12-24\\n\",\n      \"BP:  2013-01-08  FTSE:  2012-12-27\\n\",\n      \"BP:  2013-01-09  FTSE:  2012-12-28\\n\",\n      \"BP:  2013-01-10  FTSE:  2012-12-31\\n\",\n      \"BP:  2013-01-11  FTSE:  2013-01-02\\n\",\n      \"BP:  2013-01-14  FTSE:  2013-01-03\\n\",\n      \"BP:  2013-01-15  FTSE:  2013-01-04\\n\",\n      \"BP:  2013-01-16  FTSE:  2013-01-07\\n\",\n      \"BP:  2013-01-17  FTSE:  2013-01-08\\n\",\n      \"BP:  2013-01-18  FTSE:  2013-01-09\\n\",\n      \"BP:  2013-01-22  FTSE:  2013-01-10\\n\",\n      \"BP:  2013-01-23  FTSE:  2013-01-11\\n\",\n      \"BP:  2013-01-24  FTSE:  2013-01-14\\n\",\n      \"BP:  2013-01-25  FTSE:  2013-01-15\\n\",\n      \"BP:  2013-01-28  FTSE:  2013-01-16\\n\",\n      \"BP:  2013-01-29  FTSE:  2013-01-17\\n\",\n      \"BP:  2013-01-30  FTSE:  2013-01-18\\n\",\n      \"BP:  2013-01-31  FTSE:  2013-01-21\\n\",\n      \"BP:  2013-02-01  FTSE:  2013-01-22\\n\",\n      \"BP:  2013-02-04  FTSE:  2013-01-23\\n\",\n      \"BP:  2013-02-05  FTSE:  2013-01-24\\n\",\n      \"BP:  2013-02-06  FTSE:  2013-01-25\\n\",\n      \"BP:  2013-02-07  FTSE:  2013-01-28\\n\",\n      \"BP:  2013-02-08  FTSE:  2013-01-29\\n\",\n      \"BP:  2013-02-11  FTSE:  2013-01-30\\n\",\n      \"BP:  2013-02-12  FTSE:  2013-01-31\\n\",\n      \"BP:  2013-02-13  FTSE:  2013-02-01\\n\",\n      \"BP:  2013-02-14  FTSE:  2013-02-04\\n\",\n      \"BP:  2013-02-15  FTSE:  2013-02-05\\n\",\n      \"BP:  2013-02-19  FTSE:  2013-02-06\\n\",\n      \"BP:  2013-02-20  FTSE:  2013-02-07\\n\",\n      \"BP:  2013-02-21  FTSE:  2013-02-08\\n\",\n      \"BP:  2013-02-22  FTSE:  2013-02-11\\n\",\n      \"BP:  2013-02-25  FTSE:  2013-02-12\\n\",\n      \"BP:  2013-02-26  FTSE:  2013-02-13\\n\",\n      \"BP:  2013-02-27  FTSE:  2013-02-14\\n\",\n      \"BP:  2013-02-28  FTSE:  2013-02-15\\n\",\n      \"BP:  2013-03-01  FTSE:  2013-02-18\\n\",\n      \"BP:  2013-03-04  FTSE:  2013-02-19\\n\",\n      \"BP:  2013-03-05  FTSE:  2013-02-20\\n\",\n      \"BP:  2013-03-06  FTSE:  2013-02-21\\n\",\n      \"BP:  2013-03-07  FTSE:  2013-02-22\\n\",\n      \"BP:  2013-03-08  FTSE:  2013-02-25\\n\",\n      \"BP:  2013-03-11  FTSE:  2013-02-26\\n\",\n      \"BP:  2013-03-12  FTSE:  2013-02-27\\n\",\n      \"BP:  2013-03-13  FTSE:  2013-02-28\\n\",\n      \"BP:  2013-03-14  FTSE:  2013-03-01\\n\",\n      \"BP:  2013-03-15  FTSE:  2013-03-04\\n\",\n      \"BP:  2013-03-18  FTSE:  2013-03-05\\n\",\n      \"BP:  2013-03-19  FTSE:  2013-03-06\\n\",\n      \"BP:  2013-03-20  FTSE:  2013-03-07\\n\",\n      \"BP:  2013-03-21  FTSE:  2013-03-08\\n\",\n      \"BP:  2013-03-22  FTSE:  2013-03-11\\n\",\n      \"BP:  2013-03-25  FTSE:  2013-03-12\\n\",\n      \"BP:  2013-03-26  FTSE:  2013-03-13\\n\",\n      \"BP:  2013-03-27  FTSE:  2013-03-14\\n\",\n      \"BP:  2013-03-28  FTSE:  2013-03-15\\n\",\n      \"BP:  2013-04-01  FTSE:  2013-03-18\\n\",\n      \"BP:  2013-04-02  FTSE:  2013-03-19\\n\",\n      \"BP:  2013-04-03  FTSE:  2013-03-20\\n\",\n      \"BP:  2013-04-04  FTSE:  2013-03-21\\n\",\n      \"BP:  2013-04-05  FTSE:  2013-03-22\\n\",\n      \"BP:  2013-04-08  FTSE:  2013-03-25\\n\",\n      \"BP:  2013-04-09  FTSE:  2013-03-26\\n\",\n      \"BP:  2013-04-10  FTSE:  2013-03-27\\n\",\n      \"BP:  2013-04-11  FTSE:  2013-03-28\\n\",\n      \"BP:  2013-04-12  FTSE:  2013-04-02\\n\",\n      \"BP:  2013-04-15  FTSE:  2013-04-03\\n\",\n      \"BP:  2013-04-16  FTSE:  2013-04-04\\n\",\n      \"BP:  2013-04-17  FTSE:  2013-04-05\\n\",\n      \"BP:  2013-04-18  FTSE:  2013-04-08\\n\",\n      \"BP:  2013-04-19  FTSE:  2013-04-09\\n\",\n      \"BP:  2013-04-22  FTSE:  2013-04-10\\n\",\n      \"BP:  2013-04-23  FTSE:  2013-04-11\\n\",\n      \"BP:  2013-04-24  FTSE:  2013-04-12\\n\",\n      \"BP:  2013-04-25  FTSE:  2013-04-15\\n\",\n      \"BP:  2013-04-26  FTSE:  2013-04-16\\n\",\n      \"BP:  2013-04-29  FTSE:  2013-04-17\\n\",\n      \"BP:  2013-04-30  FTSE:  2013-04-18\\n\",\n      \"BP:  2013-05-01  FTSE:  2013-04-19\\n\",\n      \"BP:  2013-05-02  FTSE:  2013-04-22\\n\",\n      \"BP:  2013-05-03  FTSE:  2013-04-23\\n\",\n      \"BP:  2013-05-06  FTSE:  2013-04-24\\n\",\n      \"BP:  2013-05-07  FTSE:  2013-04-25\\n\",\n      \"BP:  2013-05-08  FTSE:  2013-04-26\\n\",\n      \"BP:  2013-05-09  FTSE:  2013-04-29\\n\",\n      \"BP:  2013-05-10  FTSE:  2013-04-30\\n\",\n      \"BP:  2013-05-13  FTSE:  2013-05-01\\n\",\n      \"BP:  2013-05-14  FTSE:  2013-05-02\\n\",\n      \"BP:  2013-05-15  FTSE:  2013-05-03\\n\",\n      \"BP:  2013-05-16  FTSE:  2013-05-07\\n\",\n      \"BP:  2013-05-17  FTSE:  2013-05-08\\n\",\n      \"BP:  2013-05-20  FTSE:  2013-05-09\\n\",\n      \"BP:  2013-05-21  FTSE:  2013-05-10\\n\",\n      \"BP:  2013-05-22  FTSE:  2013-05-13\\n\",\n      \"BP:  2013-05-23  FTSE:  2013-05-14\\n\",\n      \"BP:  2013-05-24  FTSE:  2013-05-15\\n\",\n      \"BP:  2013-05-28  FTSE:  2013-05-16\\n\",\n      \"BP:  2013-05-29  FTSE:  2013-05-17\\n\",\n      \"BP:  2013-05-30  FTSE:  2013-05-20\\n\",\n      \"BP:  2013-05-31  FTSE:  2013-05-21\\n\",\n      \"BP:  2013-06-03  FTSE:  2013-05-22\\n\",\n      \"BP:  2013-06-04  FTSE:  2013-05-23\\n\",\n      \"BP:  2013-06-05  FTSE:  2013-05-24\\n\",\n      \"BP:  2013-06-06  FTSE:  2013-05-28\\n\",\n      \"BP:  2013-06-07  FTSE:  2013-05-29\\n\",\n      \"BP:  2013-06-10  FTSE:  2013-05-30\\n\",\n      \"BP:  2013-06-11  FTSE:  2013-05-31\\n\",\n      \"BP:  2013-06-12  FTSE:  2013-06-03\\n\",\n      \"BP:  2013-06-13  FTSE:  2013-06-04\\n\",\n      \"BP:  2013-06-14  FTSE:  2013-06-05\\n\",\n      \"BP:  2013-06-17  FTSE:  2013-06-06\\n\",\n      \"BP:  2013-06-18  FTSE:  2013-06-07\\n\",\n      \"BP:  2013-06-19  FTSE:  2013-06-10\\n\",\n      \"BP:  2013-06-20  FTSE:  2013-06-11\\n\",\n      \"BP:  2013-06-21  FTSE:  2013-06-12\\n\",\n      \"BP:  2013-06-24  FTSE:  2013-06-13\\n\",\n      \"BP:  2013-06-25  FTSE:  2013-06-14\\n\",\n      \"BP:  2013-06-26  FTSE:  2013-06-17\\n\",\n      \"BP:  2013-06-27  FTSE:  2013-06-18\\n\",\n      \"BP:  2013-06-28  FTSE:  2013-06-19\\n\",\n      \"BP:  2013-07-01  FTSE:  2013-06-20\\n\",\n      \"BP:  2013-07-02  FTSE:  2013-06-21\\n\",\n      \"BP:  2013-07-03  FTSE:  2013-06-24\\n\",\n      \"BP:  2013-07-05  FTSE:  2013-06-25\\n\",\n      \"BP:  2013-07-08  FTSE:  2013-06-26\\n\",\n      \"BP:  2013-07-09  FTSE:  2013-06-27\\n\",\n      \"BP:  2013-07-10  FTSE:  2013-06-28\\n\",\n      \"BP:  2013-07-11  FTSE:  2013-07-01\\n\",\n      \"BP:  2013-07-12  FTSE:  2013-07-02\\n\",\n      \"BP:  2013-07-15  FTSE:  2013-07-03\\n\",\n      \"BP:  2013-07-16  FTSE:  2013-07-04\\n\",\n      \"BP:  2013-07-17  FTSE:  2013-07-05\\n\",\n      \"BP:  2013-07-18  FTSE:  2013-07-08\\n\",\n      \"BP:  2013-07-19  FTSE:  2013-07-09\\n\",\n      \"BP:  2013-07-22  FTSE:  2013-07-10\\n\",\n      \"BP:  2013-07-23  FTSE:  2013-07-11\\n\",\n      \"BP:  2013-07-24  FTSE:  2013-07-12\\n\",\n      \"BP:  2013-07-25  FTSE:  2013-07-15\\n\",\n      \"BP:  2013-07-26  FTSE:  2013-07-16\\n\",\n      \"BP:  2013-07-29  FTSE:  2013-07-17\\n\",\n      \"BP:  2013-07-30  FTSE:  2013-07-18\\n\",\n      \"BP:  2013-07-31  FTSE:  2013-07-19\\n\",\n      \"BP:  2013-08-01  FTSE:  2013-07-22\\n\",\n      \"BP:  2013-08-02  FTSE:  2013-07-23\\n\",\n      \"BP:  2013-08-05  FTSE:  2013-07-24\\n\",\n      \"BP:  2013-08-06  FTSE:  2013-07-25\\n\",\n      \"BP:  2013-08-07  FTSE:  2013-07-26\\n\",\n      \"BP:  2013-08-08  FTSE:  2013-07-29\\n\",\n      \"BP:  2013-08-09  FTSE:  2013-07-30\\n\",\n      \"BP:  2013-08-12  FTSE:  2013-07-31\\n\",\n      \"BP:  2013-08-13  FTSE:  2013-08-01\\n\",\n      \"BP:  2013-08-14  FTSE:  2013-08-02\\n\",\n      \"BP:  2013-08-15  FTSE:  2013-08-05\\n\",\n      \"BP:  2013-08-16  FTSE:  2013-08-06\\n\",\n      \"BP:  2013-08-19  FTSE:  2013-08-07\\n\",\n      \"BP:  2013-08-20  FTSE:  2013-08-08\\n\",\n      \"BP:  2013-08-21  FTSE:  2013-08-09\\n\",\n      \"BP:  2013-08-22  FTSE:  2013-08-12\\n\",\n      \"BP:  2013-08-23  FTSE:  2013-08-13\\n\",\n      \"BP:  2013-08-26  FTSE:  2013-08-14\\n\",\n      \"BP:  2013-08-27  FTSE:  2013-08-15\\n\",\n      \"BP:  2013-08-28  FTSE:  2013-08-16\\n\",\n      \"BP:  2013-08-29  FTSE:  2013-08-19\\n\",\n      \"BP:  2013-08-30  FTSE:  2013-08-20\\n\",\n      \"BP:  2013-09-03  FTSE:  2013-08-21\\n\",\n      \"BP:  2013-09-04  FTSE:  2013-08-22\\n\",\n      \"BP:  2013-09-05  FTSE:  2013-08-23\\n\",\n      \"BP:  2013-09-06  FTSE:  2013-08-27\\n\",\n      \"BP:  2013-09-09  FTSE:  2013-08-28\\n\",\n      \"BP:  2013-09-10  FTSE:  2013-08-29\\n\",\n      \"BP:  2013-09-11  FTSE:  2013-08-30\\n\",\n      \"BP:  2013-09-12  FTSE:  2013-09-02\\n\",\n      \"BP:  2013-09-13  FTSE:  2013-09-03\\n\",\n      \"BP:  2013-09-16  FTSE:  2013-09-04\\n\",\n      \"BP:  2013-09-17  FTSE:  2013-09-05\\n\",\n      \"BP:  2013-09-18  FTSE:  2013-09-06\\n\",\n      \"BP:  2013-09-19  FTSE:  2013-09-09\\n\",\n      \"BP:  2013-09-20  FTSE:  2013-09-10\\n\",\n      \"BP:  2013-09-23  FTSE:  2013-09-11\\n\",\n      \"BP:  2013-09-24  FTSE:  2013-09-12\\n\",\n      \"BP:  2013-09-25  FTSE:  2013-09-13\\n\",\n      \"BP:  2013-09-26  FTSE:  2013-09-16\\n\",\n      \"BP:  2013-09-27  FTSE:  2013-09-17\\n\",\n      \"BP:  2013-09-30  FTSE:  2013-09-18\\n\",\n      \"BP:  2013-10-01  FTSE:  2013-09-19\\n\",\n      \"BP:  2013-10-02  FTSE:  2013-09-20\\n\",\n      \"BP:  2013-10-03  FTSE:  2013-09-24\\n\",\n      \"BP:  2013-10-04  FTSE:  2013-09-25\\n\",\n      \"BP:  2013-10-07  FTSE:  2013-09-26\\n\",\n      \"BP:  2013-10-08  FTSE:  2013-09-27\\n\",\n      \"BP:  2013-10-09  FTSE:  2013-09-30\\n\",\n      \"BP:  2013-10-10  FTSE:  2013-10-01\\n\",\n      \"BP:  2013-10-11  FTSE:  2013-10-02\\n\",\n      \"BP:  2013-10-14  FTSE:  2013-10-03\\n\",\n      \"BP:  2013-10-15  FTSE:  2013-10-04\\n\",\n      \"BP:  2013-10-16  FTSE:  2013-10-07\\n\",\n      \"BP:  2013-10-17  FTSE:  2013-10-08\\n\",\n      \"BP:  2013-10-18  FTSE:  2013-10-09\\n\",\n      \"BP:  2013-10-21  FTSE:  2013-10-10\\n\",\n      \"BP:  2013-10-22  FTSE:  2013-10-11\\n\",\n      \"BP:  2013-10-23  FTSE:  2013-10-14\\n\",\n      \"BP:  2013-10-24  FTSE:  2013-10-15\\n\",\n      \"BP:  2013-10-25  FTSE:  2013-10-16\\n\",\n      \"BP:  2013-10-28  FTSE:  2013-10-17\\n\",\n      \"BP:  2013-10-29  FTSE:  2013-10-18\\n\",\n      \"BP:  2013-10-30  FTSE:  2013-10-21\\n\",\n      \"BP:  2013-10-31  FTSE:  2013-10-22\\n\",\n      \"BP:  2013-11-01  FTSE:  2013-10-23\\n\",\n      \"BP:  2013-11-04  FTSE:  2013-10-24\\n\",\n      \"BP:  2013-11-05  FTSE:  2013-10-25\\n\",\n      \"BP:  2013-11-06  FTSE:  2013-10-28\\n\",\n      \"BP:  2013-11-07  FTSE:  2013-10-29\\n\",\n      \"BP:  2013-11-08  FTSE:  2013-10-30\\n\",\n      \"BP:  2013-11-11  FTSE:  2013-10-31\\n\",\n      \"BP:  2013-11-12  FTSE:  2013-11-01\\n\",\n      \"BP:  2013-11-13  FTSE:  2013-11-04\\n\",\n      \"BP:  2013-11-14  FTSE:  2013-11-05\\n\",\n      \"BP:  2013-11-15  FTSE:  2013-11-06\\n\",\n      \"BP:  2013-11-18  FTSE:  2013-11-07\\n\",\n      \"BP:  2013-11-19  FTSE:  2013-11-08\\n\",\n      \"BP:  2013-11-20  FTSE:  2013-11-11\\n\",\n      \"BP:  2013-11-21  FTSE:  2013-11-12\\n\",\n      \"BP:  2013-11-22  FTSE:  2013-11-13\\n\",\n      \"BP:  2013-11-25  FTSE:  2013-11-14\\n\",\n      \"BP:  2013-11-26  FTSE:  2013-11-15\\n\",\n      \"BP:  2013-11-27  FTSE:  2013-11-18\\n\",\n      \"BP:  2013-11-29  FTSE:  2013-11-19\\n\",\n      \"BP:  2013-12-02  FTSE:  2013-11-20\\n\",\n      \"BP:  2013-12-03  FTSE:  2013-11-21\\n\",\n      \"BP:  2013-12-04  FTSE:  2013-11-22\\n\",\n      \"BP:  2013-12-05  FTSE:  2013-11-25\\n\",\n      \"BP:  2013-12-06  FTSE:  2013-11-26\\n\",\n      \"BP:  2013-12-09  FTSE:  2013-11-27\\n\",\n      \"BP:  2013-12-10  FTSE:  2013-11-28\\n\",\n      \"BP:  2013-12-11  FTSE:  2013-11-29\\n\",\n      \"BP:  2013-12-12  FTSE:  2013-12-02\\n\",\n      \"BP:  2013-12-13  FTSE:  2013-12-03\\n\",\n      \"BP:  2013-12-16  FTSE:  2013-12-04\\n\",\n      \"BP:  2013-12-17  FTSE:  2013-12-05\\n\",\n      \"BP:  2013-12-18  FTSE:  2013-12-06\\n\",\n      \"BP:  2013-12-19  FTSE:  2013-12-09\\n\",\n      \"BP:  2013-12-20  FTSE:  2013-12-10\\n\",\n      \"BP:  2013-12-23  FTSE:  2013-12-11\\n\",\n      \"BP:  2013-12-24  FTSE:  2013-12-12\\n\",\n      \"BP:  2013-12-26  FTSE:  2013-12-13\\n\",\n      \"BP:  2013-12-27  FTSE:  2013-12-16\\n\",\n      \"BP:  2013-12-30  FTSE:  2013-12-17\\n\",\n      \"BP:  2013-12-31  FTSE:  2013-12-18\\n\",\n      \"BP:  2014-01-02  FTSE:  2013-12-19\\n\",\n      \"BP:  2014-01-03  FTSE:  2013-12-20\\n\",\n      \"BP:  2014-01-06  FTSE:  2013-12-23\\n\",\n      \"BP:  2014-01-07  FTSE:  2013-12-24\\n\",\n      \"BP:  2014-01-08  FTSE:  2013-12-27\\n\",\n      \"BP:  2014-01-09  FTSE:  2013-12-30\\n\",\n      \"BP:  2014-01-10  FTSE:  2013-12-31\\n\",\n      \"BP:  2014-01-13  FTSE:  2014-01-02\\n\",\n      \"BP:  2014-01-14  FTSE:  2014-01-03\\n\",\n      \"BP:  2014-01-15  FTSE:  2014-01-06\\n\",\n      \"BP:  2014-01-16  FTSE:  2014-01-07\\n\",\n      \"BP:  2014-01-17  FTSE:  2014-01-08\\n\",\n      \"BP:  2014-01-21  FTSE:  2014-01-09\\n\",\n      \"BP:  2014-01-22  FTSE:  2014-01-10\\n\",\n      \"BP:  2014-01-23  FTSE:  2014-01-13\\n\",\n      \"BP:  2014-01-24  FTSE:  2014-01-14\\n\",\n      \"BP:  2014-01-27  FTSE:  2014-01-15\\n\",\n      \"BP:  2014-01-28  FTSE:  2014-01-16\\n\",\n      \"BP:  2014-01-29  FTSE:  2014-01-17\\n\",\n      \"BP:  2014-01-30  FTSE:  2014-01-20\\n\",\n      \"BP:  2014-01-31  FTSE:  2014-01-21\\n\",\n      \"BP:  2014-02-03  FTSE:  2014-01-22\\n\",\n      \"BP:  2014-02-04  FTSE:  2014-01-23\\n\",\n      \"BP:  2014-02-05  FTSE:  2014-01-24\\n\",\n      \"BP:  2014-02-06  FTSE:  2014-01-27\\n\",\n      \"BP:  2014-02-07  FTSE:  2014-01-28\\n\",\n      \"BP:  2014-02-10  FTSE:  2014-01-29\\n\",\n      \"BP:  2014-02-11  FTSE:  2014-01-30\\n\",\n      \"BP:  2014-02-12  FTSE:  2014-01-31\\n\",\n      \"BP:  2014-02-13  FTSE:  2014-02-03\\n\",\n      \"BP:  2014-02-14  FTSE:  2014-02-04\\n\",\n      \"BP:  2014-02-18  FTSE:  2014-02-05\\n\",\n      \"BP:  2014-02-19  FTSE:  2014-02-06\\n\",\n      \"BP:  2014-02-20  FTSE:  2014-02-07\\n\",\n      \"BP:  2014-02-21  FTSE:  2014-02-10\\n\",\n      \"BP:  2014-02-24  FTSE:  2014-02-11\\n\",\n      \"BP:  2014-02-25  FTSE:  2014-02-12\\n\",\n      \"BP:  2014-02-26  FTSE:  2014-02-13\\n\",\n      \"BP:  2014-02-27  FTSE:  2014-02-14\\n\",\n      \"BP:  2014-02-28  FTSE:  2014-02-17\\n\",\n      \"BP:  2014-03-03  FTSE:  2014-02-18\\n\",\n      \"BP:  2014-03-04  FTSE:  2014-02-19\\n\",\n      \"BP:  2014-03-05  FTSE:  2014-02-20\\n\",\n      \"BP:  2014-03-06  FTSE:  2014-02-21\\n\",\n      \"BP:  2014-03-07  FTSE:  2014-02-24\\n\",\n      \"BP:  2014-03-10  FTSE:  2014-02-25\\n\",\n      \"BP:  2014-03-11  FTSE:  2014-02-26\\n\",\n      \"BP:  2014-03-12  FTSE:  2014-02-27\\n\",\n      \"BP:  2014-03-13  FTSE:  2014-02-28\\n\",\n      \"BP:  2014-03-14  FTSE:  2014-03-03\\n\",\n      \"BP:  2014-03-17  FTSE:  2014-03-04\\n\",\n      \"BP:  2014-03-18  FTSE:  2014-03-05\\n\",\n      \"BP:  2014-03-19  FTSE:  2014-03-06\\n\",\n      \"BP:  2014-03-20  FTSE:  2014-03-07\\n\",\n      \"BP:  2014-03-21  FTSE:  2014-03-10\\n\",\n      \"BP:  2014-03-24  FTSE:  2014-03-11\\n\",\n      \"BP:  2014-03-25  FTSE:  2014-03-12\\n\",\n      \"BP:  2014-03-26  FTSE:  2014-03-13\\n\",\n      \"BP:  2014-03-27  FTSE:  2014-03-14\\n\",\n      \"BP:  2014-03-28  FTSE:  2014-03-17\\n\",\n      \"BP:  2014-03-31  FTSE:  2014-03-18\\n\",\n      \"BP:  2014-04-01  FTSE:  2014-03-19\\n\",\n      \"BP:  2014-04-02  FTSE:  2014-03-20\\n\",\n      \"BP:  2014-04-03  FTSE:  2014-03-21\\n\",\n      \"BP:  2014-04-04  FTSE:  2014-03-24\\n\",\n      \"BP:  2014-04-07  FTSE:  2014-03-25\\n\",\n      \"BP:  2014-04-08  FTSE:  2014-03-26\\n\",\n      \"BP:  2014-04-09  FTSE:  2014-03-27\\n\",\n      \"BP:  2014-04-10  FTSE:  2014-03-28\\n\",\n      \"BP:  2014-04-11  FTSE:  2014-03-31\\n\",\n      \"BP:  2014-04-14  FTSE:  2014-04-01\\n\",\n      \"BP:  2014-04-15  FTSE:  2014-04-02\\n\",\n      \"BP:  2014-04-16  FTSE:  2014-04-03\\n\",\n      \"BP:  2014-04-17  FTSE:  2014-04-04\\n\",\n      \"BP:  2014-04-21  FTSE:  2014-04-07\\n\",\n      \"BP:  2014-04-22  FTSE:  2014-04-08\\n\",\n      \"BP:  2014-04-23  FTSE:  2014-04-09\\n\",\n      \"BP:  2014-04-24  FTSE:  2014-04-10\\n\",\n      \"BP:  2014-04-25  FTSE:  2014-04-11\\n\",\n      \"BP:  2014-04-28  FTSE:  2014-04-14\\n\",\n      \"BP:  2014-04-29  FTSE:  2014-04-15\\n\",\n      \"BP:  2014-04-30  FTSE:  2014-04-16\\n\",\n      \"BP:  2014-05-01  FTSE:  2014-04-17\\n\",\n      \"BP:  2014-05-02  FTSE:  2014-04-22\\n\",\n      \"BP:  2014-05-05  FTSE:  2014-04-23\\n\",\n      \"BP:  2014-05-06  FTSE:  2014-04-24\\n\",\n      \"BP:  2014-05-07  FTSE:  2014-04-25\\n\",\n      \"BP:  2014-05-08  FTSE:  2014-04-28\\n\",\n      \"BP:  2014-05-09  FTSE:  2014-04-29\\n\",\n      \"BP:  2014-05-12  FTSE:  2014-04-30\\n\",\n      \"BP:  2014-05-13  FTSE:  2014-05-01\\n\",\n      \"BP:  2014-05-14  FTSE:  2014-05-02\\n\",\n      \"BP:  2014-05-15  FTSE:  2014-05-06\\n\",\n      \"BP:  2014-05-16  FTSE:  2014-05-07\\n\",\n      \"BP:  2014-05-19  FTSE:  2014-05-08\\n\",\n      \"BP:  2014-05-20  FTSE:  2014-05-09\\n\",\n      \"BP:  2014-05-21  FTSE:  2014-05-12\\n\",\n      \"BP:  2014-05-22  FTSE:  2014-05-13\\n\",\n      \"BP:  2014-05-23  FTSE:  2014-05-14\\n\",\n      \"BP:  2014-05-27  FTSE:  2014-05-15\\n\",\n      \"BP:  2014-05-28  FTSE:  2014-05-16\\n\",\n      \"BP:  2014-05-29  FTSE:  2014-05-19\\n\",\n      \"BP:  2014-05-30  FTSE:  2014-05-20\\n\",\n      \"BP:  2014-06-02  FTSE:  2014-05-21\\n\",\n      \"BP:  2014-06-03  FTSE:  2014-05-22\\n\",\n      \"BP:  2014-06-04  FTSE:  2014-05-23\\n\",\n      \"BP:  2014-06-05  FTSE:  2014-05-27\\n\",\n      \"BP:  2014-06-06  FTSE:  2014-05-28\\n\",\n      \"BP:  2014-06-09  FTSE:  2014-05-29\\n\",\n      \"BP:  2014-06-10  FTSE:  2014-05-30\\n\",\n      \"BP:  2014-06-11  FTSE:  2014-06-02\\n\",\n      \"BP:  2014-06-12  FTSE:  2014-06-03\\n\",\n      \"BP:  2014-06-13  FTSE:  2014-06-04\\n\",\n      \"BP:  2014-06-16  FTSE:  2014-06-05\\n\",\n      \"BP:  2014-06-17  FTSE:  2014-06-06\\n\",\n      \"BP:  2014-06-18  FTSE:  2014-06-09\\n\",\n      \"BP:  2014-06-19  FTSE:  2014-06-10\\n\",\n      \"BP:  2014-06-20  FTSE:  2014-06-11\\n\",\n      \"BP:  2014-06-23  FTSE:  2014-06-12\\n\",\n      \"BP:  2014-06-24  FTSE:  2014-06-13\\n\",\n      \"BP:  2014-06-25  FTSE:  2014-06-16\\n\",\n      \"BP:  2014-06-26  FTSE:  2014-06-17\\n\",\n      \"BP:  2014-06-27  FTSE:  2014-06-18\\n\",\n      \"BP:  2014-06-30  FTSE:  2014-06-19\\n\",\n      \"BP:  2014-07-01  FTSE:  2014-06-20\\n\",\n      \"BP:  2014-07-02  FTSE:  2014-06-23\\n\",\n      \"BP:  2014-07-03  FTSE:  2014-06-24\\n\",\n      \"BP:  2014-07-07  FTSE:  2014-06-25\\n\",\n      \"BP:  2014-07-08  FTSE:  2014-06-26\\n\",\n      \"BP:  2014-07-09  FTSE:  2014-06-27\\n\",\n      \"BP:  2014-07-10  FTSE:  2014-06-30\\n\",\n      \"BP:  2014-07-11  FTSE:  2014-07-01\\n\",\n      \"BP:  2014-07-14  FTSE:  2014-07-02\\n\",\n      \"BP:  2014-07-15  FTSE:  2014-07-03\\n\",\n      \"BP:  2014-07-16  FTSE:  2014-07-04\\n\",\n      \"BP:  2014-07-17  FTSE:  2014-07-07\\n\",\n      \"BP:  2014-07-18  FTSE:  2014-07-08\\n\",\n      \"BP:  2014-07-21  FTSE:  2014-07-09\\n\",\n      \"BP:  2014-07-22  FTSE:  2014-07-10\\n\",\n      \"BP:  2014-07-23  FTSE:  2014-07-11\\n\",\n      \"BP:  2014-07-24  FTSE:  2014-07-14\\n\",\n      \"BP:  2014-07-25  FTSE:  2014-07-15\\n\",\n      \"BP:  2014-07-28  FTSE:  2014-07-16\\n\",\n      \"BP:  2014-07-29  FTSE:  2014-07-17\\n\",\n      \"BP:  2014-07-30  FTSE:  2014-07-18\\n\",\n      \"BP:  2014-07-31  FTSE:  2014-07-21\\n\",\n      \"BP:  2014-08-01  FTSE:  2014-07-22\\n\",\n      \"BP:  2014-08-04  FTSE:  2014-07-23\\n\",\n      \"BP:  2014-08-05  FTSE:  2014-07-24\\n\",\n      \"BP:  2014-08-06  FTSE:  2014-07-25\\n\",\n      \"BP:  2014-08-07  FTSE:  2014-07-28\\n\",\n      \"BP:  2014-08-08  FTSE:  2014-07-29\\n\",\n      \"BP:  2014-08-11  FTSE:  2014-07-30\\n\",\n      \"BP:  2014-08-12  FTSE:  2014-07-31\\n\",\n      \"BP:  2014-08-13  FTSE:  2014-08-01\\n\",\n      \"BP:  2014-08-14  FTSE:  2014-08-04\\n\",\n      \"BP:  2014-08-15  FTSE:  2014-08-05\\n\",\n      \"BP:  2014-08-18  FTSE:  2014-08-06\\n\",\n      \"BP:  2014-08-19  FTSE:  2014-08-07\\n\",\n      \"BP:  2014-08-20  FTSE:  2014-08-08\\n\",\n      \"BP:  2014-08-21  FTSE:  2014-08-11\\n\",\n      \"BP:  2014-08-22  FTSE:  2014-08-12\\n\",\n      \"BP:  2014-08-25  FTSE:  2014-08-13\\n\",\n      \"BP:  2014-08-26  FTSE:  2014-08-14\\n\",\n      \"BP:  2014-08-27  FTSE:  2014-08-15\\n\",\n      \"BP:  2014-08-28  FTSE:  2014-08-18\\n\",\n      \"BP:  2014-08-29  FTSE:  2014-08-19\\n\",\n      \"BP:  2014-09-02  FTSE:  2014-08-20\\n\",\n      \"BP:  2014-09-03  FTSE:  2014-08-21\\n\",\n      \"BP:  2014-09-04  FTSE:  2014-08-22\\n\",\n      \"BP:  2014-09-05  FTSE:  2014-08-26\\n\",\n      \"BP:  2014-09-08  FTSE:  2014-08-27\\n\",\n      \"BP:  2014-09-09  FTSE:  2014-08-28\\n\",\n      \"BP:  2014-09-10  FTSE:  2014-08-29\\n\",\n      \"BP:  2014-09-11  FTSE:  2014-09-01\\n\",\n      \"BP:  2014-09-12  FTSE:  2014-09-02\\n\",\n      \"BP:  2014-09-15  FTSE:  2014-09-03\\n\",\n      \"BP:  2014-09-16  FTSE:  2014-09-04\\n\",\n      \"BP:  2014-09-17  FTSE:  2014-09-05\\n\",\n      \"BP:  2014-09-18  FTSE:  2014-09-08\\n\",\n      \"BP:  2014-09-19  FTSE:  2014-09-09\\n\",\n      \"BP:  2014-09-22  FTSE:  2014-09-10\\n\",\n      \"BP:  2014-09-23  FTSE:  2014-09-11\\n\",\n      \"BP:  2014-09-24  FTSE:  2014-09-12\\n\",\n      \"BP:  2014-09-25  FTSE:  2014-09-15\\n\",\n      \"BP:  2014-09-26  FTSE:  2014-09-16\\n\",\n      \"BP:  2014-09-29  FTSE:  2014-09-17\\n\",\n      \"BP:  2014-09-30  FTSE:  2014-09-18\\n\",\n      \"BP:  2014-10-01  FTSE:  2014-09-19\\n\",\n      \"BP:  2014-10-02  FTSE:  2014-09-22\\n\",\n      \"BP:  2014-10-03  FTSE:  2014-09-23\\n\",\n      \"BP:  2014-10-06  FTSE:  2014-09-24\\n\",\n      \"BP:  2014-10-07  FTSE:  2014-09-25\\n\",\n      \"BP:  2014-10-08  FTSE:  2014-09-26\\n\",\n      \"BP:  2014-10-09  FTSE:  2014-09-29\\n\",\n      \"BP:  2014-10-10  FTSE:  2014-09-30\\n\",\n      \"BP:  2014-10-13  FTSE:  2014-10-01\\n\",\n      \"BP:  2014-10-14  FTSE:  2014-10-02\\n\",\n      \"BP:  2014-10-15  FTSE:  2014-10-03\\n\",\n      \"BP:  2014-10-16  FTSE:  2014-10-06\\n\",\n      \"BP:  2014-10-17  FTSE:  2014-10-07\\n\",\n      \"BP:  2014-10-20  FTSE:  2014-10-08\\n\",\n      \"BP:  2014-10-21  FTSE:  2014-10-09\\n\",\n      \"BP:  2014-10-22  FTSE:  2014-10-10\\n\",\n      \"BP:  2014-10-23  FTSE:  2014-10-13\\n\",\n      \"BP:  2014-10-24  FTSE:  2014-10-14\\n\",\n      \"BP:  2014-10-27  FTSE:  2014-10-15\\n\",\n      \"BP:  2014-10-28  FTSE:  2014-10-16\\n\",\n      \"BP:  2014-10-29  FTSE:  2014-10-17\\n\",\n      \"BP:  2014-10-30  FTSE:  2014-10-20\\n\",\n      \"BP:  2014-10-31  FTSE:  2014-10-21\\n\",\n      \"BP:  2014-11-03  FTSE:  2014-10-22\\n\",\n      \"BP:  2014-11-04  FTSE:  2014-10-23\\n\",\n      \"BP:  2014-11-05  FTSE:  2014-10-24\\n\",\n      \"BP:  2014-11-06  FTSE:  2014-10-27\\n\",\n      \"BP:  2014-11-07  FTSE:  2014-10-28\\n\",\n      \"BP:  2014-11-10  FTSE:  2014-10-29\\n\",\n      \"BP:  2014-11-11  FTSE:  2014-10-30\\n\",\n      \"BP:  2014-11-12  FTSE:  2014-10-31\\n\",\n      \"BP:  2014-11-13  FTSE:  2014-11-03\\n\",\n      \"BP:  2014-11-14  FTSE:  2014-11-04\\n\",\n      \"BP:  2014-11-17  FTSE:  2014-11-05\\n\",\n      \"BP:  2014-11-18  FTSE:  2014-11-06\\n\",\n      \"BP:  2014-11-19  FTSE:  2014-11-07\\n\",\n      \"BP:  2014-11-20  FTSE:  2014-11-10\\n\",\n      \"BP:  2014-11-21  FTSE:  2014-11-11\\n\",\n      \"BP:  2014-11-24  FTSE:  2014-11-12\\n\",\n      \"BP:  2014-11-25  FTSE:  2014-11-13\\n\",\n      \"BP:  2014-11-26  FTSE:  2014-11-14\\n\",\n      \"BP:  2014-11-28  FTSE:  2014-11-17\\n\",\n      \"BP:  2014-12-01  FTSE:  2014-11-18\\n\",\n      \"BP:  2014-12-02  FTSE:  2014-11-19\\n\",\n      \"BP:  2014-12-03  FTSE:  2014-11-20\\n\",\n      \"BP:  2014-12-04  FTSE:  2014-11-21\\n\",\n      \"BP:  2014-12-05  FTSE:  2014-11-24\\n\",\n      \"BP:  2014-12-08  FTSE:  2014-11-25\\n\",\n      \"BP:  2014-12-09  FTSE:  2014-11-26\\n\",\n      \"BP:  2014-12-10  FTSE:  2014-11-27\\n\",\n      \"BP:  2014-12-11  FTSE:  2014-11-28\\n\",\n      \"BP:  2014-12-12  FTSE:  2014-12-01\\n\",\n      \"BP:  2014-12-15  FTSE:  2014-12-02\\n\",\n      \"BP:  2014-12-16  FTSE:  2014-12-03\\n\",\n      \"BP:  2014-12-17  FTSE:  2014-12-04\\n\",\n      \"BP:  2014-12-18  FTSE:  2014-12-05\\n\",\n      \"BP:  2014-12-19  FTSE:  2014-12-08\\n\",\n      \"BP:  2014-12-22  FTSE:  2014-12-09\\n\",\n      \"BP:  2014-12-23  FTSE:  2014-12-10\\n\",\n      \"BP:  2014-12-24  FTSE:  2014-12-11\\n\",\n      \"BP:  2014-12-26  FTSE:  2014-12-12\\n\",\n      \"BP:  2014-12-29  FTSE:  2014-12-15\\n\",\n      \"BP:  2014-12-30  FTSE:  2014-12-16\\n\",\n      \"BP:  2014-12-31  FTSE:  2014-12-17\\n\",\n      \"BP:  2015-01-02  FTSE:  2014-12-18\\n\",\n      \"BP:  2015-01-05  FTSE:  2014-12-19\\n\",\n      \"BP:  2015-01-06  FTSE:  2014-12-22\\n\",\n      \"BP:  2015-01-07  FTSE:  2014-12-23\\n\",\n      \"BP:  2015-01-08  FTSE:  2014-12-24\\n\",\n      \"BP:  2015-01-09  FTSE:  2014-12-29\\n\",\n      \"BP:  2015-01-12  FTSE:  2014-12-30\\n\",\n      \"BP:  2015-01-13  FTSE:  2014-12-31\\n\",\n      \"BP:  2015-01-14  FTSE:  2015-01-05\\n\",\n      \"BP:  2015-01-15  FTSE:  2015-01-06\\n\",\n      \"BP:  2015-01-16  FTSE:  2015-01-07\\n\",\n      \"BP:  2015-01-20  FTSE:  2015-01-08\\n\",\n      \"BP:  2015-01-21  FTSE:  2015-01-09\\n\",\n      \"BP:  2015-01-22  FTSE:  2015-01-12\\n\",\n      \"BP:  2015-01-23  FTSE:  2015-01-13\\n\",\n      \"BP:  2015-01-26  FTSE:  2015-01-14\\n\",\n      \"BP:  2015-01-28  FTSE:  2015-01-15\\n\",\n      \"BP:  2015-01-29  FTSE:  2015-01-16\\n\",\n      \"BP:  2015-01-30  FTSE:  2015-01-19\\n\",\n      \"BP:  2015-02-02  FTSE:  2015-01-20\\n\",\n      \"BP:  2015-02-03  FTSE:  2015-01-21\\n\",\n      \"BP:  2015-02-04  FTSE:  2015-01-22\\n\",\n      \"BP:  2015-02-05  FTSE:  2015-01-23\\n\",\n      \"BP:  2015-02-06  FTSE:  2015-01-26\\n\",\n      \"BP:  2015-02-09  FTSE:  2015-01-27\\n\",\n      \"BP:  2015-02-10  FTSE:  2015-01-28\\n\",\n      \"BP:  2015-02-11  FTSE:  2015-01-29\\n\",\n      \"BP:  2015-02-12  FTSE:  2015-01-30\\n\",\n      \"BP:  2015-02-13  FTSE:  2015-02-02\\n\",\n      \"BP:  2015-02-17  FTSE:  2015-02-03\\n\",\n      \"BP:  2015-02-18  FTSE:  2015-02-04\\n\",\n      \"BP:  2015-02-19  FTSE:  2015-02-05\\n\",\n      \"BP:  2015-02-20  FTSE:  2015-02-06\\n\",\n      \"BP:  2015-02-23  FTSE:  2015-02-09\\n\",\n      \"BP:  2015-02-24  FTSE:  2015-02-10\\n\",\n      \"BP:  2015-02-25  FTSE:  2015-02-11\\n\",\n      \"BP:  2015-02-26  FTSE:  2015-02-12\\n\",\n      \"BP:  2015-02-27  FTSE:  2015-02-13\\n\",\n      \"BP:  2015-03-02  FTSE:  2015-02-16\\n\",\n      \"BP:  2015-03-03  FTSE:  2015-02-17\\n\",\n      \"BP:  2015-03-04  FTSE:  2015-02-18\\n\",\n      \"BP:  2015-03-05  FTSE:  2015-02-19\\n\",\n      \"BP:  2015-03-06  FTSE:  2015-02-20\\n\",\n      \"BP:  2015-03-09  FTSE:  2015-02-23\\n\",\n      \"BP:  2015-03-10  FTSE:  2015-02-24\\n\",\n      \"BP:  2015-03-11  FTSE:  2015-02-25\\n\",\n      \"BP:  2015-03-12  FTSE:  2015-02-26\\n\",\n      \"BP:  2015-03-13  FTSE:  2015-02-27\\n\",\n      \"BP:  2015-03-16  FTSE:  2015-03-02\\n\",\n      \"BP:  2015-03-17  FTSE:  2015-03-03\\n\",\n      \"BP:  2015-03-18  FTSE:  2015-03-04\\n\",\n      \"BP:  2015-03-19  FTSE:  2015-03-05\\n\",\n      \"BP:  2015-03-20  FTSE:  2015-03-06\\n\",\n      \"BP:  2015-03-23  FTSE:  2015-03-09\\n\",\n      \"BP:  2015-03-24  FTSE:  2015-03-10\\n\",\n      \"BP:  2015-03-25  FTSE:  2015-03-11\\n\",\n      \"BP:  2015-03-26  FTSE:  2015-03-12\\n\",\n      \"BP:  2015-03-27  FTSE:  2015-03-13\\n\",\n      \"BP:  2015-03-30  FTSE:  2015-03-16\\n\",\n      \"BP:  2015-03-31  FTSE:  2015-03-17\\n\",\n      \"BP:  2015-04-01  FTSE:  2015-03-18\\n\",\n      \"BP:  2015-04-02  FTSE:  2015-03-19\\n\",\n      \"BP:  2015-04-06  FTSE:  2015-03-20\\n\",\n      \"BP:  2015-04-07  FTSE:  2015-03-23\\n\",\n      \"BP:  2015-04-08  FTSE:  2015-03-24\\n\",\n      \"BP:  2015-04-09  FTSE:  2015-03-25\\n\",\n      \"BP:  2015-04-10  FTSE:  2015-03-26\\n\",\n      \"BP:  2015-04-13  FTSE:  2015-03-27\\n\",\n      \"BP:  2015-04-14  FTSE:  2015-03-30\\n\",\n      \"BP:  2015-04-15  FTSE:  2015-03-31\\n\",\n      \"BP:  2015-04-16  FTSE:  2015-04-01\\n\",\n      \"BP:  2015-04-17  FTSE:  2015-04-02\\n\",\n      \"BP:  2015-04-20  FTSE:  2015-04-07\\n\",\n      \"BP:  2015-04-21  FTSE:  2015-04-08\\n\",\n      \"BP:  2015-04-22  FTSE:  2015-04-09\\n\",\n      \"BP:  2015-04-23  FTSE:  2015-04-10\\n\",\n      \"BP:  2015-04-24  FTSE:  2015-04-13\\n\",\n      \"BP:  2015-04-27  FTSE:  2015-04-14\\n\",\n      \"BP:  2015-04-28  FTSE:  2015-04-15\\n\",\n      \"BP:  2015-04-29  FTSE:  2015-04-16\\n\",\n      \"BP:  2015-04-30  FTSE:  2015-04-17\\n\",\n      \"BP:  2015-05-01  FTSE:  2015-04-20\\n\",\n      \"BP:  2015-05-04  FTSE:  2015-04-21\\n\",\n      \"BP:  2015-05-05  FTSE:  2015-04-22\\n\",\n      \"BP:  2015-05-06  FTSE:  2015-04-23\\n\",\n      \"BP:  2015-05-07  FTSE:  2015-04-24\\n\",\n      \"BP:  2015-05-08  FTSE:  2015-04-27\\n\",\n      \"BP:  2015-05-11  FTSE:  2015-04-28\\n\",\n      \"BP:  2015-05-12  FTSE:  2015-04-29\\n\",\n      \"BP:  2015-05-13  FTSE:  2015-04-30\\n\",\n      \"BP:  2015-05-14  FTSE:  2015-05-01\\n\",\n      \"BP:  2015-05-15  FTSE:  2015-05-05\\n\",\n      \"BP:  2015-05-18  FTSE:  2015-05-06\\n\",\n      \"BP:  2015-05-19  FTSE:  2015-05-07\\n\",\n      \"BP:  2015-05-20  FTSE:  2015-05-08\\n\",\n      \"BP:  2015-05-21  FTSE:  2015-05-11\\n\",\n      \"BP:  2015-05-22  FTSE:  2015-05-12\\n\",\n      \"BP:  2015-05-26  FTSE:  2015-05-13\\n\",\n      \"BP:  2015-05-27  FTSE:  2015-05-14\\n\",\n      \"BP:  2015-05-28  FTSE:  2015-05-15\\n\",\n      \"BP:  2015-05-29  FTSE:  2015-05-18\\n\",\n      \"BP:  2015-06-01  FTSE:  2015-05-19\\n\",\n      \"BP:  2015-06-02  FTSE:  2015-05-20\\n\",\n      \"BP:  2015-06-03  FTSE:  2015-05-21\\n\",\n      \"BP:  2015-06-04  FTSE:  2015-05-22\\n\",\n      \"BP:  2015-06-05  FTSE:  2015-05-26\\n\",\n      \"BP:  2015-06-08  FTSE:  2015-05-27\\n\",\n      \"BP:  2015-06-09  FTSE:  2015-05-28\\n\",\n      \"BP:  2015-06-10  FTSE:  2015-05-29\\n\",\n      \"BP:  2015-06-11  FTSE:  2015-06-01\\n\",\n      \"BP:  2015-06-12  FTSE:  2015-06-02\\n\",\n      \"BP:  2015-06-15  FTSE:  2015-06-03\\n\",\n      \"BP:  2015-06-16  FTSE:  2015-06-04\\n\",\n      \"BP:  2015-06-17  FTSE:  2015-06-05\\n\",\n      \"BP:  2015-06-18  FTSE:  2015-06-08\\n\",\n      \"BP:  2015-06-19  FTSE:  2015-06-09\\n\",\n      \"BP:  2015-06-22  FTSE:  2015-06-10\\n\",\n      \"BP:  2015-06-23  FTSE:  2015-06-11\\n\",\n      \"BP:  2015-06-24  FTSE:  2015-06-12\\n\",\n      \"BP:  2015-06-25  FTSE:  2015-06-15\\n\",\n      \"BP:  2015-06-26  FTSE:  2015-06-16\\n\",\n      \"BP:  2015-06-29  FTSE:  2015-06-17\\n\",\n      \"BP:  2015-06-30  FTSE:  2015-06-18\\n\",\n      \"BP:  2015-07-01  FTSE:  2015-06-19\\n\",\n      \"BP:  2015-07-02  FTSE:  2015-06-22\\n\",\n      \"BP:  2015-07-06  FTSE:  2015-06-23\\n\",\n      \"BP:  2015-07-07  FTSE:  2015-06-24\\n\",\n      \"BP:  2015-07-08  FTSE:  2015-06-25\\n\",\n      \"BP:  2015-07-09  FTSE:  2015-06-26\\n\",\n      \"BP:  2015-07-10  FTSE:  2015-06-29\\n\",\n      \"BP:  2015-07-14  FTSE:  2015-06-30\\n\",\n      \"BP:  2015-07-15  FTSE:  2015-07-01\\n\",\n      \"BP:  2015-07-16  FTSE:  2015-07-02\\n\",\n      \"BP:  2015-07-17  FTSE:  2015-07-03\\n\",\n      \"BP:  2015-07-20  FTSE:  2015-07-06\\n\",\n      \"BP:  2015-07-21  FTSE:  2015-07-07\\n\",\n      \"BP:  2015-07-22  FTSE:  2015-07-08\\n\",\n      \"BP:  2015-07-23  FTSE:  2015-07-09\\n\",\n      \"BP:  2015-07-24  FTSE:  2015-07-10\\n\",\n      \"BP:  2015-07-27  FTSE:  2015-07-13\\n\",\n      \"BP:  2015-07-28  FTSE:  2015-07-14\\n\",\n      \"BP:  2015-07-29  FTSE:  2015-07-15\\n\",\n      \"BP:  2015-07-30  FTSE:  2015-07-16\\n\",\n      \"BP:  2015-07-31  FTSE:  2015-07-17\\n\",\n      \"BP:  2015-08-03  FTSE:  2015-07-20\\n\",\n      \"BP:  2015-08-04  FTSE:  2015-07-21\\n\",\n      \"BP:  2015-08-05  FTSE:  2015-07-22\\n\",\n      \"BP:  2015-08-06  FTSE:  2015-07-23\\n\",\n      \"BP:  2015-08-07  FTSE:  2015-07-24\\n\",\n      \"BP:  2015-08-10  FTSE:  2015-07-27\\n\",\n      \"BP:  2015-08-11  FTSE:  2015-07-28\\n\",\n      \"BP:  2015-08-12  FTSE:  2015-07-29\\n\",\n      \"BP:  2015-08-13  FTSE:  2015-07-30\\n\",\n      \"BP:  2015-08-14  FTSE:  2015-07-31\\n\",\n      \"BP:  2015-08-17  FTSE:  2015-08-03\\n\",\n      \"BP:  2015-08-18  FTSE:  2015-08-04\\n\",\n      \"BP:  2015-08-19  FTSE:  2015-08-05\\n\",\n      \"BP:  2015-08-20  FTSE:  2015-08-06\\n\",\n      \"BP:  2015-08-21  FTSE:  2015-08-07\\n\",\n      \"BP:  2015-08-24  FTSE:  2015-08-10\\n\",\n      \"BP:  2015-08-25  FTSE:  2015-08-11\\n\",\n      \"BP:  2015-08-26  FTSE:  2015-08-12\\n\",\n      \"BP:  2015-08-27  FTSE:  2015-08-13\\n\",\n      \"BP:  2015-08-28  FTSE:  2015-08-14\\n\",\n      \"BP:  2015-08-31  FTSE:  2015-08-17\\n\",\n      \"BP:  2015-09-01  FTSE:  2015-08-18\\n\",\n      \"BP:  2015-09-02  FTSE:  2015-08-19\\n\",\n      \"BP:  2015-09-03  FTSE:  2015-08-20\\n\",\n      \"BP:  2015-09-04  FTSE:  2015-08-21\\n\",\n      \"BP:  2015-09-08  FTSE:  2015-08-24\\n\",\n      \"BP:  2015-09-09  FTSE:  2015-08-25\\n\",\n      \"BP:  2015-09-10  FTSE:  2015-08-26\\n\",\n      \"BP:  2015-09-11  FTSE:  2015-08-27\\n\",\n      \"BP:  2015-09-14  FTSE:  2015-08-28\\n\",\n      \"BP:  2015-09-15  FTSE:  2015-09-01\\n\",\n      \"BP:  2015-09-16  FTSE:  2015-09-02\\n\",\n      \"BP:  2015-09-17  FTSE:  2015-09-03\\n\",\n      \"BP:  2015-09-18  FTSE:  2015-09-04\\n\",\n      \"BP:  2015-09-21  FTSE:  2015-09-07\\n\",\n      \"BP:  2015-09-22  FTSE:  2015-09-08\\n\",\n      \"BP:  2015-09-23  FTSE:  2015-09-09\\n\",\n      \"BP:  2015-09-24  FTSE:  2015-09-10\\n\",\n      \"BP:  2015-09-25  FTSE:  2015-09-11\\n\",\n      \"BP:  2015-09-28  FTSE:  2015-09-14\\n\",\n      \"BP:  2015-09-29  FTSE:  2015-09-15\\n\",\n      \"BP:  2015-09-30  FTSE:  2015-09-16\\n\",\n      \"BP:  2015-10-01  FTSE:  2015-09-17\\n\",\n      \"BP:  2015-10-02  FTSE:  2015-09-18\\n\",\n      \"BP:  2015-10-05  FTSE:  2015-09-21\\n\",\n      \"BP:  2015-10-06  FTSE:  2015-09-22\\n\",\n      \"BP:  2015-10-07  FTSE:  2015-09-23\\n\",\n      \"BP:  2015-10-08  FTSE:  2015-09-24\\n\",\n      \"BP:  2015-10-09  FTSE:  2015-09-25\\n\",\n      \"BP:  2015-10-12  FTSE:  2015-09-28\\n\",\n      \"BP:  2015-10-13  FTSE:  2015-09-29\\n\",\n      \"BP:  2015-10-14  FTSE:  2015-09-30\\n\",\n      \"BP:  2015-10-15  FTSE:  2015-10-01\\n\",\n      \"BP:  2015-10-16  FTSE:  2015-10-02\\n\",\n      \"BP:  2015-10-19  FTSE:  2015-10-05\\n\",\n      \"BP:  2015-10-20  FTSE:  2015-10-06\\n\",\n      \"BP:  2015-10-21  FTSE:  2015-10-07\\n\",\n      \"BP:  2015-10-22  FTSE:  2015-10-08\\n\",\n      \"BP:  2015-10-23  FTSE:  2015-10-09\\n\",\n      \"BP:  2015-10-26  FTSE:  2015-10-12\\n\",\n      \"BP:  2015-10-27  FTSE:  2015-10-13\\n\",\n      \"BP:  2015-10-28  FTSE:  2015-10-14\\n\",\n      \"BP:  2015-10-29  FTSE:  2015-10-15\\n\",\n      \"BP:  2015-10-30  FTSE:  2015-10-16\\n\",\n      \"BP:  2015-11-02  FTSE:  2015-10-19\\n\",\n      \"BP:  2015-11-03  FTSE:  2015-10-20\\n\",\n      \"BP:  2015-11-04  FTSE:  2015-10-21\\n\",\n      \"BP:  2015-11-05  FTSE:  2015-10-22\\n\",\n      \"BP:  2015-11-06  FTSE:  2015-10-23\\n\",\n      \"BP:  2015-11-09  FTSE:  2015-10-26\\n\",\n      \"BP:  2015-11-10  FTSE:  2015-10-27\\n\",\n      \"BP:  2015-11-11  FTSE:  2015-10-28\\n\",\n      \"BP:  2015-11-12  FTSE:  2015-10-29\\n\",\n      \"BP:  2015-11-13  FTSE:  2015-10-30\\n\",\n      \"BP:  2015-11-16  FTSE:  2015-11-02\\n\",\n      \"BP:  2015-11-17  FTSE:  2015-11-03\\n\",\n      \"BP:  2015-11-18  FTSE:  2015-11-04\\n\",\n      \"BP:  2015-11-19  FTSE:  2015-11-05\\n\",\n      \"BP:  2015-11-20  FTSE:  2015-11-06\\n\",\n      \"BP:  2015-11-23  FTSE:  2015-11-09\\n\",\n      \"BP:  2015-11-24  FTSE:  2015-11-10\\n\",\n      \"BP:  2015-11-25  FTSE:  2015-11-11\\n\",\n      \"BP:  2015-11-27  FTSE:  2015-11-12\\n\",\n      \"BP:  2015-11-30  FTSE:  2015-11-13\\n\",\n      \"BP:  2015-12-01  FTSE:  2015-11-16\\n\",\n      \"BP:  2015-12-02  FTSE:  2015-11-17\\n\",\n      \"BP:  2015-12-03  FTSE:  2015-11-18\\n\",\n      \"BP:  2015-12-04  FTSE:  2015-11-19\\n\",\n      \"BP:  2015-12-07  FTSE:  2015-11-20\\n\",\n      \"BP:  2015-12-08  FTSE:  2015-11-23\\n\",\n      \"BP:  2015-12-09  FTSE:  2015-11-24\\n\",\n      \"BP:  2015-12-10  FTSE:  2015-11-25\\n\",\n      \"BP:  2015-12-11  FTSE:  2015-11-26\\n\",\n      \"BP:  2015-12-14  FTSE:  2015-11-27\\n\",\n      \"BP:  2015-12-15  FTSE:  2015-11-30\\n\",\n      \"BP:  2015-12-16  FTSE:  2015-12-01\\n\",\n      \"BP:  2015-12-17  FTSE:  2015-12-02\\n\",\n      \"BP:  2015-12-18  FTSE:  2015-12-03\\n\",\n      \"BP:  2015-12-21  FTSE:  2015-12-04\\n\",\n      \"BP:  2015-12-22  FTSE:  2015-12-07\\n\",\n      \"BP:  2015-12-23  FTSE:  2015-12-08\\n\",\n      \"BP:  2015-12-24  FTSE:  2015-12-09\\n\",\n      \"BP:  2015-12-28  FTSE:  2015-12-10\\n\",\n      \"BP:  2015-12-29  FTSE:  2015-12-11\\n\",\n      \"BP:  2015-12-30  FTSE:  2015-12-14\\n\",\n      \"BP:  2015-12-31  FTSE:  2015-12-15\\n\",\n      \"BP:  2016-01-04  FTSE:  2015-12-16\\n\",\n      \"BP:  2016-01-05  FTSE:  2015-12-18\\n\",\n      \"BP:  2016-01-06  FTSE:  2015-12-21\\n\",\n      \"BP:  2016-01-07  FTSE:  2015-12-22\\n\",\n      \"BP:  2016-01-08  FTSE:  2015-12-23\\n\",\n      \"BP:  2016-01-11  FTSE:  2015-12-24\\n\",\n      \"BP:  2016-01-12  FTSE:  2015-12-29\\n\",\n      \"BP:  2016-01-13  FTSE:  2015-12-30\\n\",\n      \"BP:  2016-01-14  FTSE:  2015-12-31\\n\",\n      \"BP:  2016-01-15  FTSE:  2016-01-04\\n\",\n      \"BP:  2016-01-19  FTSE:  2016-01-05\\n\",\n      \"BP:  2016-01-20  FTSE:  2016-01-06\\n\",\n      \"BP:  2016-01-21  FTSE:  2016-01-07\\n\",\n      \"BP:  2016-01-22  FTSE:  2016-01-08\\n\",\n      \"BP:  2016-01-25  FTSE:  2016-01-11\\n\",\n      \"BP:  2016-01-26  FTSE:  2016-01-12\\n\",\n      \"BP:  2016-01-27  FTSE:  2016-01-13\\n\",\n      \"BP:  2016-01-28  FTSE:  2016-01-14\\n\",\n      \"BP:  2016-01-29  FTSE:  2016-01-15\\n\",\n      \"BP:  2016-02-01  FTSE:  2016-01-18\\n\",\n      \"BP:  2016-02-02  FTSE:  2016-01-19\\n\",\n      \"BP:  2016-02-03  FTSE:  2016-01-20\\n\",\n      \"BP:  2016-02-04  FTSE:  2016-01-21\\n\",\n      \"BP:  2016-02-05  FTSE:  2016-01-22\\n\",\n      \"BP:  2016-02-08  FTSE:  2016-01-25\\n\",\n      \"BP:  2016-02-09  FTSE:  2016-01-26\\n\",\n      \"BP:  2016-02-10  FTSE:  2016-01-27\\n\",\n      \"BP:  2016-02-11  FTSE:  2016-01-28\\n\",\n      \"BP:  2016-02-12  FTSE:  2016-01-29\\n\",\n      \"BP:  2016-02-16  FTSE:  2016-02-01\\n\",\n      \"BP:  2016-02-17  FTSE:  2016-02-02\\n\",\n      \"BP:  2016-02-18  FTSE:  2016-02-03\\n\",\n      \"BP:  2016-02-19  FTSE:  2016-02-04\\n\",\n      \"BP:  2016-02-22  FTSE:  2016-02-05\\n\",\n      \"BP:  2016-02-23  FTSE:  2016-02-08\\n\",\n      \"BP:  2016-02-24  FTSE:  2016-02-09\\n\",\n      \"BP:  2016-02-25  FTSE:  2016-02-10\\n\",\n      \"BP:  2016-02-26  FTSE:  2016-02-11\\n\",\n      \"BP:  2016-02-29  FTSE:  2016-02-12\\n\",\n      \"BP:  2016-03-01  FTSE:  2016-02-15\\n\",\n      \"BP:  2016-03-02  FTSE:  2016-02-16\\n\",\n      \"BP:  2016-03-03  FTSE:  2016-02-17\\n\",\n      \"BP:  2016-03-04  FTSE:  2016-02-18\\n\",\n      \"BP:  2016-03-07  FTSE:  2016-02-19\\n\",\n      \"BP:  2016-03-08  FTSE:  2016-02-22\\n\",\n      \"BP:  2016-03-09  FTSE:  2016-02-23\\n\",\n      \"BP:  2016-03-10  FTSE:  2016-02-24\\n\",\n      \"BP:  2016-03-11  FTSE:  2016-02-25\\n\",\n      \"BP:  2016-03-14  FTSE:  2016-02-26\\n\",\n      \"BP:  2016-03-15  FTSE:  2016-02-29\\n\",\n      \"BP:  2016-03-16  FTSE:  2016-03-01\\n\",\n      \"BP:  2016-03-17  FTSE:  2016-03-02\\n\",\n      \"BP:  2016-03-18  FTSE:  2016-03-03\\n\",\n      \"BP:  2016-03-21  FTSE:  2016-03-04\\n\",\n      \"BP:  2016-03-22  FTSE:  2016-03-07\\n\",\n      \"BP:  2016-03-23  FTSE:  2016-03-08\\n\",\n      \"BP:  2016-03-24  FTSE:  2016-03-09\\n\",\n      \"BP:  2016-03-28  FTSE:  2016-03-10\\n\",\n      \"BP:  2016-03-29  FTSE:  2016-03-11\\n\",\n      \"BP:  2016-03-30  FTSE:  2016-03-14\\n\",\n      \"BP:  2016-03-31  FTSE:  2016-03-15\\n\",\n      \"BP:  2016-04-01  FTSE:  2016-03-16\\n\",\n      \"BP:  2016-04-04  FTSE:  2016-03-17\\n\",\n      \"BP:  2016-04-05  FTSE:  2016-03-18\\n\",\n      \"BP:  2016-04-06  FTSE:  2016-03-21\\n\",\n      \"BP:  2016-04-07  FTSE:  2016-03-22\\n\",\n      \"BP:  2016-04-08  FTSE:  2016-03-23\\n\",\n      \"BP:  2016-04-11  FTSE:  2016-03-24\\n\",\n      \"BP:  2016-04-12  FTSE:  2016-03-29\\n\",\n      \"BP:  2016-04-13  FTSE:  2016-03-30\\n\",\n      \"BP:  2016-04-14  FTSE:  2016-03-31\\n\",\n      \"BP:  2016-04-15  FTSE:  2016-04-01\\n\",\n      \"BP:  2016-04-18  FTSE:  2016-04-04\\n\",\n      \"BP:  2016-04-19  FTSE:  2016-04-05\\n\",\n      \"BP:  2016-04-20  FTSE:  2016-04-06\\n\",\n      \"BP:  2016-04-21  FTSE:  2016-04-07\\n\",\n      \"BP:  2016-04-22  FTSE:  2016-04-08\\n\",\n      \"BP:  2016-04-25  FTSE:  2016-04-11\\n\",\n      \"BP:  2016-04-26  FTSE:  2016-04-12\\n\",\n      \"BP:  2016-04-27  FTSE:  2016-04-13\\n\",\n      \"BP:  2016-04-28  FTSE:  2016-04-14\\n\",\n      \"BP:  2016-04-29  FTSE:  2016-04-15\\n\",\n      \"BP:  2016-05-02  FTSE:  2016-04-18\\n\",\n      \"BP:  2016-05-03  FTSE:  2016-04-19\\n\",\n      \"BP:  2016-05-04  FTSE:  2016-04-20\\n\",\n      \"BP:  2016-05-05  FTSE:  2016-04-21\\n\",\n      \"BP:  2016-05-06  FTSE:  2016-04-22\\n\",\n      \"BP:  2016-05-09  FTSE:  2016-04-25\\n\",\n      \"BP:  2016-05-10  FTSE:  2016-04-26\\n\",\n      \"BP:  2016-05-11  FTSE:  2016-04-27\\n\",\n      \"BP:  2016-05-12  FTSE:  2016-04-28\\n\",\n      \"BP:  2016-05-13  FTSE:  2016-04-29\\n\",\n      \"BP:  2016-05-16  FTSE:  2016-05-03\\n\",\n      \"BP:  2016-05-17  FTSE:  2016-05-04\\n\",\n      \"BP:  2016-05-18  FTSE:  2016-05-05\\n\",\n      \"BP:  2016-05-19  FTSE:  2016-05-06\\n\",\n      \"BP:  2016-05-20  FTSE:  2016-05-09\\n\",\n      \"BP:  2016-05-23  FTSE:  2016-05-10\\n\",\n      \"BP:  2016-05-24  FTSE:  2016-05-11\\n\",\n      \"BP:  2016-05-25  FTSE:  2016-05-12\\n\",\n      \"BP:  2016-05-26  FTSE:  2016-05-13\\n\",\n      \"BP:  2016-05-27  FTSE:  2016-05-16\\n\",\n      \"BP:  2016-05-31  FTSE:  2016-05-17\\n\",\n      \"BP:  2016-06-01  FTSE:  2016-05-18\\n\",\n      \"BP:  2016-06-02  FTSE:  2016-05-19\\n\",\n      \"BP:  2016-06-03  FTSE:  2016-05-20\\n\",\n      \"BP:  2016-06-06  FTSE:  2016-05-23\\n\",\n      \"BP:  2016-06-07  FTSE:  2016-05-24\\n\",\n      \"BP:  2016-06-08  FTSE:  2016-05-25\\n\",\n      \"BP:  2016-06-09  FTSE:  2016-05-26\\n\",\n      \"BP:  2016-06-10  FTSE:  2016-05-27\\n\",\n      \"BP:  2016-06-13  FTSE:  2016-05-31\\n\",\n      \"BP:  2016-06-14  FTSE:  2016-06-01\\n\",\n      \"BP:  2016-06-15  FTSE:  2016-06-02\\n\",\n      \"BP:  2016-06-16  FTSE:  2016-06-03\\n\",\n      \"BP:  2016-06-17  FTSE:  2016-06-06\\n\",\n      \"BP:  2016-06-20  FTSE:  2016-06-07\\n\",\n      \"BP:  2016-06-21  FTSE:  2016-06-08\\n\",\n      \"BP:  2016-06-22  FTSE:  2016-06-09\\n\",\n      \"BP:  2016-06-23  FTSE:  2016-06-10\\n\",\n      \"BP:  2016-06-24  FTSE:  2016-06-13\\n\",\n      \"BP:  2016-06-27  FTSE:  2016-06-14\\n\",\n      \"BP:  2016-06-28  FTSE:  2016-06-15\\n\",\n      \"BP:  2016-06-29  FTSE:  2016-06-16\\n\",\n      \"BP:  2016-06-30  FTSE:  2016-06-17\\n\",\n      \"BP:  2016-07-01  FTSE:  2016-06-20\\n\",\n      \"BP:  2016-07-05  FTSE:  2016-06-21\\n\",\n      \"BP:  2016-07-06  FTSE:  2016-06-22\\n\",\n      \"BP:  2016-07-07  FTSE:  2016-06-23\\n\",\n      \"BP:  2016-07-08  FTSE:  2016-06-24\\n\",\n      \"BP:  2016-07-11  FTSE:  2016-06-27\\n\",\n      \"BP:  2016-07-12  FTSE:  2016-06-28\\n\",\n      \"BP:  2016-07-13  FTSE:  2016-06-29\\n\",\n      \"BP:  2016-07-14  FTSE:  2016-06-30\\n\",\n      \"BP:  2016-07-15  FTSE:  2016-07-01\\n\",\n      \"BP:  2016-07-18  FTSE:  2016-07-04\\n\",\n      \"BP:  2016-07-19  FTSE:  2016-07-05\\n\",\n      \"BP:  2016-07-20  FTSE:  2016-07-06\\n\",\n      \"BP:  2016-07-21  FTSE:  2016-07-07\\n\",\n      \"BP:  2016-07-22  FTSE:  2016-07-08\\n\",\n      \"BP:  2016-07-25  FTSE:  2016-07-11\\n\",\n      \"BP:  2016-07-26  FTSE:  2016-07-12\\n\",\n      \"BP:  2016-07-27  FTSE:  2016-07-13\\n\",\n      \"BP:  2016-07-28  FTSE:  2016-07-14\\n\",\n      \"BP:  2016-07-29  FTSE:  2016-07-15\\n\",\n      \"BP:  2016-08-01  FTSE:  2016-07-18\\n\",\n      \"BP:  2016-08-02  FTSE:  2016-07-19\\n\",\n      \"BP:  2016-08-03  FTSE:  2016-07-20\\n\",\n      \"BP:  2016-08-04  FTSE:  2016-07-21\\n\",\n      \"BP:  2016-08-05  FTSE:  2016-07-22\\n\",\n      \"BP:  2016-08-08  FTSE:  2016-07-25\\n\",\n      \"BP:  2016-08-09  FTSE:  2016-07-26\\n\",\n      \"BP:  2016-08-10  FTSE:  2016-07-27\\n\",\n      \"BP:  2016-08-11  FTSE:  2016-07-28\\n\",\n      \"BP:  2016-08-12  FTSE:  2016-07-29\\n\",\n      \"BP:  2016-08-15  FTSE:  2016-08-01\\n\",\n      \"BP:  2016-08-16  FTSE:  2016-08-02\\n\",\n      \"BP:  2016-08-17  FTSE:  2016-08-03\\n\",\n      \"BP:  2016-08-18  FTSE:  2016-08-04\\n\",\n      \"BP:  2016-08-19  FTSE:  2016-08-05\\n\",\n      \"BP:  2016-08-22  FTSE:  2016-08-08\\n\",\n      \"BP:  2016-08-23  FTSE:  2016-08-09\\n\",\n      \"BP:  2016-08-24  FTSE:  2016-08-10\\n\",\n      \"BP:  2016-08-25  FTSE:  2016-08-11\\n\",\n      \"BP:  2016-08-26  FTSE:  2016-08-12\\n\",\n      \"BP:  2016-08-29  FTSE:  2016-08-15\\n\",\n      \"BP:  2016-08-30  FTSE:  2016-08-16\\n\",\n      \"BP:  2016-08-31  FTSE:  2016-08-17\\n\",\n      \"BP:  2016-09-01  FTSE:  2016-08-18\\n\",\n      \"BP:  2016-09-02  FTSE:  2016-08-19\\n\",\n      \"BP:  2016-09-06  FTSE:  2016-08-22\\n\",\n      \"BP:  2016-09-07  FTSE:  2016-08-23\\n\",\n      \"BP:  2016-09-08  FTSE:  2016-08-24\\n\",\n      \"BP:  2016-09-09  FTSE:  2016-08-25\\n\",\n      \"BP:  nan  FTSE:  2016-08-26\\n\",\n      \"BP:  nan  FTSE:  2016-08-30\\n\",\n      \"BP:  nan  FTSE:  2016-08-31\\n\",\n      \"BP:  nan  FTSE:  2016-09-01\\n\",\n      \"BP:  nan  FTSE:  2016-09-02\\n\",\n      \"BP:  nan  FTSE:  2016-09-05\\n\",\n      \"BP:  nan  FTSE:  2016-09-06\\n\",\n      \"BP:  nan  FTSE:  2016-09-07\\n\",\n      \"BP:  nan  FTSE:  2016-09-08\\n\",\n      \"BP:  nan  FTSE:  2016-09-09\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for i in range(ftse_gaia_intersect_length):\\n\",\n    \"    bp_date = bp.loc[bp_ftse_start+i, 'Date']\\n\",\n    \"    ftse_date = bp.loc[bp_ftse_start+i, 'FTSE Date']\\n\",\n    \"    if bp_date != ftse_date:\\n\",\n    \"        print(\\\"BP: \\\", bp_date, \\\" FTSE: \\\", ftse_date)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol                               BP\\n\",\n       \"Date                         1993-07-20\\n\",\n       \"Open                              52.25\\n\",\n       \"High                                 53\\n\",\n       \"Low                               52.12\\n\",\n       \"Close                                53\\n\",\n       \"Volume                           961600\\n\",\n       \"Ex-Dividend                           0\\n\",\n       \"Split Ratio                           1\\n\",\n       \"Adj. Open                       5.96843\\n\",\n       \"Adj. High                        6.0541\\n\",\n       \"Adj. Low                        5.95358\\n\",\n       \"Adj. Close                       6.0541\\n\",\n       \"Adj. Volume                  3.8464e+06\\n\",\n       \"Daily Variation                    0.88\\n\",\n       \"Percentage Variation            1.68421\\n\",\n       \"Adj. Daily Variation           0.100521\\n\",\n       \"Adj. Percentage Variation       1.68421\\n\",\n       \"GAIA Date                           NaN\\n\",\n       \"GAIA Adj. Open                      NaN\\n\",\n       \"GAIA Adj. High                      NaN\\n\",\n       \"GAIA Adj. Low                       NaN\\n\",\n       \"GAIA Adj. Close                     NaN\\n\",\n       \"FTSE Date                    1993-07-21\\n\",\n       \"FTSE Open                        2827.2\\n\",\n       \"FTSE High                        2827.2\\n\",\n       \"FTSE Low                         2801.8\\n\",\n       \"FTSE Close                       2814.1\\n\",\n       \"Name: 1927281, dtype: object\"\n      ]\n     },\n     \"execution_count\": 18,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.loc[bp_ftse_start+2350]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Date</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924931</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>45.62</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>45.50</td>\\n\",\n       \"      <td>46.00</td>\\n\",\n       \"      <td>209700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.748742</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-02</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>1108.1</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924932</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>46.12</td>\\n\",\n       \"      <td>46.50</td>\\n\",\n       \"      <td>45.88</td>\\n\",\n       \"      <td>46.38</td>\\n\",\n       \"      <td>148900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.800788</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-03</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924933</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>46.62</td>\\n\",\n       \"      <td>48.00</td>\\n\",\n       \"      <td>283800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.852835</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-04</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>1095.4</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924934</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>48.38</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>166400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>5.036040</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-05</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>1102.2</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1924935</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>47.12</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>47.00</td>\\n\",\n       \"      <td>47.50</td>\\n\",\n       \"      <td>81500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>4.904882</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1984-04-06</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>1096.3</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>5 rows × 28 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1924931     BP  1984-04-02  45.62  46.38  45.50  46.00  209700.0          0.0   \\n\",\n       \"1924932     BP  1984-04-03  46.12  46.50  45.88  46.38  148900.0          0.0   \\n\",\n       \"1924933     BP  1984-04-04  46.62  48.00  46.62  48.00  283800.0          0.0   \\n\",\n       \"1924934     BP  1984-04-05  48.38  48.38  47.00  47.50  166400.0          0.0   \\n\",\n       \"1924935     BP  1984-04-06  47.12  47.50  47.00  47.50   81500.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open     ...      GAIA Date  GAIA Adj. Open  \\\\\\n\",\n       \"1924931          1.0   4.748742     ...            NaN             NaN   \\n\",\n       \"1924932          1.0   4.800788     ...            NaN             NaN   \\n\",\n       \"1924933          1.0   4.852835     ...            NaN             NaN   \\n\",\n       \"1924934          1.0   5.036040     ...            NaN             NaN   \\n\",\n       \"1924935          1.0   4.904882     ...            NaN             NaN   \\n\",\n       \"\\n\",\n       \"         GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close   FTSE Date  \\\\\\n\",\n       \"1924931             NaN            NaN              NaN  1984-04-02   \\n\",\n       \"1924932             NaN            NaN              NaN  1984-04-03   \\n\",\n       \"1924933             NaN            NaN              NaN  1984-04-04   \\n\",\n       \"1924934             NaN            NaN              NaN  1984-04-05   \\n\",\n       \"1924935             NaN            NaN              NaN  1984-04-06   \\n\",\n       \"\\n\",\n       \"         FTSE Open  FTSE High FTSE Low  FTSE Close  \\n\",\n       \"1924931        NaN     1108.1   1108.1         NaN  \\n\",\n       \"1924932        NaN     1095.4   1095.4         NaN  \\n\",\n       \"1924933        NaN     1095.4   1095.4         NaN  \\n\",\n       \"1924934        NaN     1102.2   1102.2         NaN  \\n\",\n       \"1924935        NaN     1096.3   1096.3         NaN  \\n\",\n       \"\\n\",\n       \"[5 rows x 28 columns]\"\n      ]\n     },\n     \"execution_count\": 19,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Add FTSE data to BP dataframe\\n\",\n    \"# bp.iloc[1832] has date 1984-04-02.\\n\",\n    \"# BP is of row 1923099 to 1933108 in df\\n\",\n    \"\\n\",\n    \"bp_with_ftse = bp.loc[1832+1923099:]\\n\",\n    \"bp_with_ftse.loc[:,'FTSE Open'] = sorted_ftse100.loc[:,'Open']\\n\",\n    \"bp_with_ftse.loc[:,'FTSE Close'] = sorted_ftse100.loc[:,'Close']\\n\",\n    \"\\n\",\n    \"bp_with_ftse.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 1.2.3 N-day moving averages\\n\",\n    \"\\n\",\n    \"Only applying this to specific stocks because this takes much computational power.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:132: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self._setitem_with_indexer(indexer, value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:9: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>GAIA Adj. Open</th>\\n\",\n       \"      <th>GAIA Adj. High</th>\\n\",\n       \"      <th>GAIA Adj. Low</th>\\n\",\n       \"      <th>GAIA Adj. Close</th>\\n\",\n       \"      <th>FTSE Date</th>\\n\",\n       \"      <th>FTSE Open</th>\\n\",\n       \"      <th>FTSE High</th>\\n\",\n       \"      <th>FTSE Low</th>\\n\",\n       \"      <th>FTSE Close</th>\\n\",\n       \"      <th>7-day Moving Average</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.6200</td>\\n\",\n       \"      <td>76.5000</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.0000</td>\\n\",\n       \"      <td>76.7500</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.0000</td>\\n\",\n       \"      <td>74.5000</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.5000</td>\\n\",\n       \"      <td>74.5000</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.3800</td>\\n\",\n       \"      <td>74.6200</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-10</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.7500</td>\\n\",\n       \"      <td>74.5000</td>\\n\",\n       \"      <td>75.62</td>\\n\",\n       \"      <td>13000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-11</td>\\n\",\n       \"      <td>75.62</td>\\n\",\n       \"      <td>76.3800</td>\\n\",\n       \"      <td>74.7500</td>\\n\",\n       \"      <td>75.00</td>\\n\",\n       \"      <td>13300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.967886</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-12</td>\\n\",\n       \"      <td>74.75</td>\\n\",\n       \"      <td>74.7500</td>\\n\",\n       \"      <td>73.5000</td>\\n\",\n       \"      <td>74.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.945246</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-13</td>\\n\",\n       \"      <td>74.25</td>\\n\",\n       \"      <td>76.0000</td>\\n\",\n       \"      <td>74.1200</td>\\n\",\n       \"      <td>76.00</td>\\n\",\n       \"      <td>27300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.932234</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-14</td>\\n\",\n       \"      <td>76.00</td>\\n\",\n       \"      <td>76.0000</td>\\n\",\n       \"      <td>75.0000</td>\\n\",\n       \"      <td>75.00</td>\\n\",\n       \"      <td>10400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923109</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-17</td>\\n\",\n       \"      <td>75.00</td>\\n\",\n       \"      <td>75.2500</td>\\n\",\n       \"      <td>74.5000</td>\\n\",\n       \"      <td>75.25</td>\\n\",\n       \"      <td>5000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923110</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-18</td>\\n\",\n       \"      <td>75.00</td>\\n\",\n       \"      <td>75.0000</td>\\n\",\n       \"      <td>74.7500</td>\\n\",\n       \"      <td>74.88</td>\\n\",\n       \"      <td>7400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923111</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-19</td>\\n\",\n       \"      <td>75.00</td>\\n\",\n       \"      <td>77.2500</td>\\n\",\n       \"      <td>75.0000</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>33800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923112</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-20</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.5000</td>\\n\",\n       \"      <td>76.0000</td>\\n\",\n       \"      <td>76.00</td>\\n\",\n       \"      <td>13900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923113</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-21</td>\\n\",\n       \"      <td>76.00</td>\\n\",\n       \"      <td>76.2500</td>\\n\",\n       \"      <td>75.6200</td>\\n\",\n       \"      <td>75.62</td>\\n\",\n       \"      <td>6300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923114</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-24</td>\\n\",\n       \"      <td>75.75</td>\\n\",\n       \"      <td>76.6200</td>\\n\",\n       \"      <td>75.7500</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>18700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.971269</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923115</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-25</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>76.8800</td>\\n\",\n       \"      <td>76.0000</td>\\n\",\n       \"      <td>76.62</td>\\n\",\n       \"      <td>11400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923116</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-26</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.3800</td>\\n\",\n       \"      <td>76.7500</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>7800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923117</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-27</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.0000</td>\\n\",\n       \"      <td>76.7500</td>\\n\",\n       \"      <td>76.88</td>\\n\",\n       \"      <td>7800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923118</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-28</td>\\n\",\n       \"      <td>76.88</td>\\n\",\n       \"      <td>77.6200</td>\\n\",\n       \"      <td>76.7500</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>23000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.000676</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923119</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-31</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.6200</td>\\n\",\n       \"      <td>76.5000</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>39600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923120</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-01</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.2500</td>\\n\",\n       \"      <td>76.5000</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>13000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923121</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-02</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.3800</td>\\n\",\n       \"      <td>76.5000</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>46600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923122</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-03</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.1200</td>\\n\",\n       \"      <td>76.5000</td>\\n\",\n       \"      <td>76.62</td>\\n\",\n       \"      <td>11800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923123</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-04</td>\\n\",\n       \"      <td>76.88</td>\\n\",\n       \"      <td>77.5000</td>\\n\",\n       \"      <td>76.8800</td>\\n\",\n       \"      <td>77.12</td>\\n\",\n       \"      <td>10400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.000676</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923124</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-07</td>\\n\",\n       \"      <td>77.12</td>\\n\",\n       \"      <td>78.2500</td>\\n\",\n       \"      <td>77.1200</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>10300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.006921</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923125</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-08</td>\\n\",\n       \"      <td>79.12</td>\\n\",\n       \"      <td>81.2500</td>\\n\",\n       \"      <td>79.1200</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>39300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.058968</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923126</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-09</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>85.0000</td>\\n\",\n       \"      <td>83.0000</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>87300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923127</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-10</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.3800</td>\\n\",\n       \"      <td>83.7500</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>53200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923128</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-02-11</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.6200</td>\\n\",\n       \"      <td>83.5000</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>38900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933089</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-12</td>\\n\",\n       \"      <td>33.79</td>\\n\",\n       \"      <td>33.8700</td>\\n\",\n       \"      <td>33.6050</td>\\n\",\n       \"      <td>33.74</td>\\n\",\n       \"      <td>4278935.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.790000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-07-29</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6740.47</td>\\n\",\n       \"      <td>6691.13</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933090</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-15</td>\\n\",\n       \"      <td>33.92</td>\\n\",\n       \"      <td>34.0600</td>\\n\",\n       \"      <td>33.7900</td>\\n\",\n       \"      <td>33.87</td>\\n\",\n       \"      <td>4087756.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.920000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-01</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6769.41</td>\\n\",\n       \"      <td>6678.45</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933091</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-16</td>\\n\",\n       \"      <td>34.08</td>\\n\",\n       \"      <td>34.3200</td>\\n\",\n       \"      <td>33.9700</td>\\n\",\n       \"      <td>34.21</td>\\n\",\n       \"      <td>6455172.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.080000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-02</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6694.14</td>\\n\",\n       \"      <td>6630.76</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933092</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-17</td>\\n\",\n       \"      <td>34.04</td>\\n\",\n       \"      <td>34.2350</td>\\n\",\n       \"      <td>33.8000</td>\\n\",\n       \"      <td>34.20</td>\\n\",\n       \"      <td>4977785.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.040000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-03</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6673.63</td>\\n\",\n       \"      <td>6621.42</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933093</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-18</td>\\n\",\n       \"      <td>34.29</td>\\n\",\n       \"      <td>34.6700</td>\\n\",\n       \"      <td>34.2200</td>\\n\",\n       \"      <td>34.65</td>\\n\",\n       \"      <td>4607627.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.290000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-04</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6749.67</td>\\n\",\n       \"      <td>6615.83</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933094</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-19</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>34.3900</td>\\n\",\n       \"      <td>34.1610</td>\\n\",\n       \"      <td>34.33</td>\\n\",\n       \"      <td>4033734.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.350000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-05</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6802.41</td>\\n\",\n       \"      <td>6738.57</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933095</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-22</td>\\n\",\n       \"      <td>33.83</td>\\n\",\n       \"      <td>34.0280</td>\\n\",\n       \"      <td>33.6961</td>\\n\",\n       \"      <td>33.96</td>\\n\",\n       \"      <td>4230680.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.830000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-08</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6829.47</td>\\n\",\n       \"      <td>6781.47</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933096</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-23</td>\\n\",\n       \"      <td>34.08</td>\\n\",\n       \"      <td>34.3100</td>\\n\",\n       \"      <td>33.9500</td>\\n\",\n       \"      <td>34.13</td>\\n\",\n       \"      <td>6736722.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.080000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-09</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6863.10</td>\\n\",\n       \"      <td>6807.76</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933097</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-24</td>\\n\",\n       \"      <td>34.27</td>\\n\",\n       \"      <td>34.4000</td>\\n\",\n       \"      <td>34.1200</td>\\n\",\n       \"      <td>34.27</td>\\n\",\n       \"      <td>4876906.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.270000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-10</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"      <td>6820.04</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933098</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-25</td>\\n\",\n       \"      <td>34.33</td>\\n\",\n       \"      <td>34.5300</td>\\n\",\n       \"      <td>34.1700</td>\\n\",\n       \"      <td>34.22</td>\\n\",\n       \"      <td>4649044.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.330000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-11</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"      <td>6812.73</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-26</td>\\n\",\n       \"      <td>34.38</td>\\n\",\n       \"      <td>34.8000</td>\\n\",\n       \"      <td>34.0135</td>\\n\",\n       \"      <td>34.16</td>\\n\",\n       \"      <td>6259955.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.380000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-12</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6931.04</td>\\n\",\n       \"      <td>6896.04</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-29</td>\\n\",\n       \"      <td>33.90</td>\\n\",\n       \"      <td>34.3193</td>\\n\",\n       \"      <td>33.9000</td>\\n\",\n       \"      <td>34.24</td>\\n\",\n       \"      <td>2849481.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.900000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-15</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6955.34</td>\\n\",\n       \"      <td>6907.17</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-30</td>\\n\",\n       \"      <td>34.23</td>\\n\",\n       \"      <td>34.3200</td>\\n\",\n       \"      <td>34.0500</td>\\n\",\n       \"      <td>34.10</td>\\n\",\n       \"      <td>4608200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.230000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-16</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-08-31</td>\\n\",\n       \"      <td>33.99</td>\\n\",\n       \"      <td>34.0900</td>\\n\",\n       \"      <td>33.7500</td>\\n\",\n       \"      <td>33.86</td>\\n\",\n       \"      <td>4989062.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.990000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-17</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6920.76</td>\\n\",\n       \"      <td>6849.90</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-01</td>\\n\",\n       \"      <td>33.81</td>\\n\",\n       \"      <td>33.8300</td>\\n\",\n       \"      <td>33.4348</td>\\n\",\n       \"      <td>33.66</td>\\n\",\n       \"      <td>3722531.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>33.810000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-18</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6893.35</td>\\n\",\n       \"      <td>6850.61</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.7500</td>\\n\",\n       \"      <td>34.1600</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.250000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-19</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6871.48</td>\\n\",\n       \"      <td>6840.94</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.7600</td>\\n\",\n       \"      <td>34.3800</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.550000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-22</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6884.61</td>\\n\",\n       \"      <td>6812.07</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.9100</td>\\n\",\n       \"      <td>34.6500</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.780000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-23</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6885.39</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.1750</td>\\n\",\n       \"      <td>34.6600</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.890000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-24</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"      <td>6825.22</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.7000</td>\\n\",\n       \"      <td>34.2350</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.630000</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-25</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6836.22</td>\\n\",\n       \"      <td>6779.15</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933109</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-26</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6857.29</td>\\n\",\n       \"      <td>6798.82</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933110</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-30</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6851.83</td>\\n\",\n       \"      <td>6808.07</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933111</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-08-31</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6832.89</td>\\n\",\n       \"      <td>6779.54</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933112</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-01</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6826.22</td>\\n\",\n       \"      <td>6723.21</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933113</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6928.25</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933114</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933115</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933116</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933117</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933118</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.30</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>10020 rows × 29 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open     High      Low  Close     Volume  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.6200  76.5000  77.62    12400.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.0000  76.7500  77.00    19300.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.0000  74.5000  74.50    17900.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.5000  74.5000  75.12    23900.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.3800  74.6200  75.12    41700.0   \\n\",\n       \"1923104     BP  1977-01-10  75.12  75.7500  74.5000  75.62    13000.0   \\n\",\n       \"1923105     BP  1977-01-11  75.62  76.3800  74.7500  75.00    13300.0   \\n\",\n       \"1923106     BP  1977-01-12  74.75  74.7500  73.5000  74.25    21000.0   \\n\",\n       \"1923107     BP  1977-01-13  74.25  76.0000  74.1200  76.00    27300.0   \\n\",\n       \"1923108     BP  1977-01-14  76.00  76.0000  75.0000  75.00    10400.0   \\n\",\n       \"1923109     BP  1977-01-17  75.00  75.2500  74.5000  75.25     5000.0   \\n\",\n       \"1923110     BP  1977-01-18  75.00  75.0000  74.7500  74.88     7400.0   \\n\",\n       \"1923111     BP  1977-01-19  75.00  77.2500  75.0000  77.25    33800.0   \\n\",\n       \"1923112     BP  1977-01-20  77.25  77.5000  76.0000  76.00    13900.0   \\n\",\n       \"1923113     BP  1977-01-21  76.00  76.2500  75.6200  75.62     6300.0   \\n\",\n       \"1923114     BP  1977-01-24  75.75  76.6200  75.7500  76.50    18700.0   \\n\",\n       \"1923115     BP  1977-01-25  76.50  76.8800  76.0000  76.62    11400.0   \\n\",\n       \"1923116     BP  1977-01-26  76.75  77.3800  76.7500  77.00     7800.0   \\n\",\n       \"1923117     BP  1977-01-27  77.00  77.0000  76.7500  76.88     7800.0   \\n\",\n       \"1923118     BP  1977-01-28  76.88  77.6200  76.7500  77.00    23000.0   \\n\",\n       \"1923119     BP  1977-01-31  77.00  77.6200  76.5000  76.50    39600.0   \\n\",\n       \"1923120     BP  1977-02-01  76.50  77.2500  76.5000  76.75    13000.0   \\n\",\n       \"1923121     BP  1977-02-02  76.75  77.3800  76.5000  76.75    46600.0   \\n\",\n       \"1923122     BP  1977-02-03  76.75  77.1200  76.5000  76.62    11800.0   \\n\",\n       \"1923123     BP  1977-02-04  76.88  77.5000  76.8800  77.12    10400.0   \\n\",\n       \"1923124     BP  1977-02-07  77.12  78.2500  77.1200  78.25    10300.0   \\n\",\n       \"1923125     BP  1977-02-08  79.12  81.2500  79.1200  80.75    39300.0   \\n\",\n       \"1923126     BP  1977-02-09  83.00  85.0000  83.0000  83.50    87300.0   \\n\",\n       \"1923127     BP  1977-02-10  83.75  84.3800  83.7500  84.25    53200.0   \\n\",\n       \"1923128     BP  1977-02-11  84.25  84.6200  83.5000  84.25    38900.0   \\n\",\n       \"...        ...         ...    ...      ...      ...    ...        ...   \\n\",\n       \"1933089     BP  2016-08-12  33.79  33.8700  33.6050  33.74  4278935.0   \\n\",\n       \"1933090     BP  2016-08-15  33.92  34.0600  33.7900  33.87  4087756.0   \\n\",\n       \"1933091     BP  2016-08-16  34.08  34.3200  33.9700  34.21  6455172.0   \\n\",\n       \"1933092     BP  2016-08-17  34.04  34.2350  33.8000  34.20  4977785.0   \\n\",\n       \"1933093     BP  2016-08-18  34.29  34.6700  34.2200  34.65  4607627.0   \\n\",\n       \"1933094     BP  2016-08-19  34.35  34.3900  34.1610  34.33  4033734.0   \\n\",\n       \"1933095     BP  2016-08-22  33.83  34.0280  33.6961  33.96  4230680.0   \\n\",\n       \"1933096     BP  2016-08-23  34.08  34.3100  33.9500  34.13  6736722.0   \\n\",\n       \"1933097     BP  2016-08-24  34.27  34.4000  34.1200  34.27  4876906.0   \\n\",\n       \"1933098     BP  2016-08-25  34.33  34.5300  34.1700  34.22  4649044.0   \\n\",\n       \"1933099     BP  2016-08-26  34.38  34.8000  34.0135  34.16  6259955.0   \\n\",\n       \"1933100     BP  2016-08-29  33.90  34.3193  33.9000  34.24  2849481.0   \\n\",\n       \"1933101     BP  2016-08-30  34.23  34.3200  34.0500  34.10  4608200.0   \\n\",\n       \"1933102     BP  2016-08-31  33.99  34.0900  33.7500  33.86  4989062.0   \\n\",\n       \"1933103     BP  2016-09-01  33.81  33.8300  33.4348  33.66  3722531.0   \\n\",\n       \"1933104     BP  2016-09-02  34.25  34.7500  34.1600  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.7600  34.3800  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.9100  34.6500  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.1750  34.6600  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.7000  34.2350  34.35  5434710.0   \\n\",\n       \"1933109    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933110    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933111    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933112    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933113    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933114    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933115    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933116    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933117    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"1933118    NaN         NaN    NaN      NaN      NaN    NaN        NaN   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open          ...           \\\\\\n\",\n       \"1923099          0.0          1.0   1.990787          ...            \\n\",\n       \"1923100          0.0          1.0   2.019933          ...            \\n\",\n       \"1923101          0.0          1.0   2.003798          ...            \\n\",\n       \"1923102          0.0          1.0   1.938740          ...            \\n\",\n       \"1923103          0.0          1.0   1.954874          ...            \\n\",\n       \"1923104          0.0          1.0   1.954874          ...            \\n\",\n       \"1923105          0.0          1.0   1.967886          ...            \\n\",\n       \"1923106          0.0          1.0   1.945246          ...            \\n\",\n       \"1923107          0.0          1.0   1.932234          ...            \\n\",\n       \"1923108          0.0          1.0   1.977775          ...            \\n\",\n       \"1923109          0.0          1.0   1.951752          ...            \\n\",\n       \"1923110          0.0          1.0   1.951752          ...            \\n\",\n       \"1923111          0.0          1.0   1.951752          ...            \\n\",\n       \"1923112          0.0          1.0   2.010304          ...            \\n\",\n       \"1923113          0.0          1.0   1.977775          ...            \\n\",\n       \"1923114          0.0          1.0   1.971269          ...            \\n\",\n       \"1923115          0.0          1.0   1.990787          ...            \\n\",\n       \"1923116          0.0          1.0   1.997292          ...            \\n\",\n       \"1923117          0.0          1.0   2.003798          ...            \\n\",\n       \"1923118          0.0          1.0   2.000676          ...            \\n\",\n       \"1923119          0.0          1.0   2.003798          ...            \\n\",\n       \"1923120          0.0          1.0   1.990787          ...            \\n\",\n       \"1923121          0.0          1.0   1.997292          ...            \\n\",\n       \"1923122          0.0          1.0   1.997292          ...            \\n\",\n       \"1923123          0.0          1.0   2.000676          ...            \\n\",\n       \"1923124          0.0          1.0   2.006921          ...            \\n\",\n       \"1923125          0.0          1.0   2.058968          ...            \\n\",\n       \"1923126          0.0          1.0   2.159938          ...            \\n\",\n       \"1923127          0.0          1.0   2.179456          ...            \\n\",\n       \"1923128          0.0          1.0   2.192468          ...            \\n\",\n       \"...              ...          ...        ...          ...            \\n\",\n       \"1933089          0.0          1.0  33.790000          ...            \\n\",\n       \"1933090          0.0          1.0  33.920000          ...            \\n\",\n       \"1933091          0.0          1.0  34.080000          ...            \\n\",\n       \"1933092          0.0          1.0  34.040000          ...            \\n\",\n       \"1933093          0.0          1.0  34.290000          ...            \\n\",\n       \"1933094          0.0          1.0  34.350000          ...            \\n\",\n       \"1933095          0.0          1.0  33.830000          ...            \\n\",\n       \"1933096          0.0          1.0  34.080000          ...            \\n\",\n       \"1933097          0.0          1.0  34.270000          ...            \\n\",\n       \"1933098          0.0          1.0  34.330000          ...            \\n\",\n       \"1933099          0.0          1.0  34.380000          ...            \\n\",\n       \"1933100          0.0          1.0  33.900000          ...            \\n\",\n       \"1933101          0.0          1.0  34.230000          ...            \\n\",\n       \"1933102          0.0          1.0  33.990000          ...            \\n\",\n       \"1933103          0.0          1.0  33.810000          ...            \\n\",\n       \"1933104          0.0          1.0  34.250000          ...            \\n\",\n       \"1933105          0.0          1.0  34.550000          ...            \\n\",\n       \"1933106          0.0          1.0  34.780000          ...            \\n\",\n       \"1933107          0.0          1.0  34.890000          ...            \\n\",\n       \"1933108          0.0          1.0  34.630000          ...            \\n\",\n       \"1933109          NaN          NaN        NaN          ...            \\n\",\n       \"1933110          NaN          NaN        NaN          ...            \\n\",\n       \"1933111          NaN          NaN        NaN          ...            \\n\",\n       \"1933112          NaN          NaN        NaN          ...            \\n\",\n       \"1933113          NaN          NaN        NaN          ...            \\n\",\n       \"1933114          NaN          NaN        NaN          ...            \\n\",\n       \"1933115          NaN          NaN        NaN          ...            \\n\",\n       \"1933116          NaN          NaN        NaN          ...            \\n\",\n       \"1933117          NaN          NaN        NaN          ...            \\n\",\n       \"1933118          NaN          NaN        NaN          ...            \\n\",\n       \"\\n\",\n       \"         GAIA Adj. Open  GAIA Adj. High  GAIA Adj. Low  GAIA Adj. Close  \\\\\\n\",\n       \"1923099             NaN             NaN            NaN              NaN   \\n\",\n       \"1923100             NaN             NaN            NaN              NaN   \\n\",\n       \"1923101             NaN             NaN            NaN              NaN   \\n\",\n       \"1923102             NaN             NaN            NaN              NaN   \\n\",\n       \"1923103             NaN             NaN            NaN              NaN   \\n\",\n       \"1923104             NaN             NaN            NaN              NaN   \\n\",\n       \"1923105             NaN             NaN            NaN              NaN   \\n\",\n       \"1923106             NaN             NaN            NaN              NaN   \\n\",\n       \"1923107             NaN             NaN            NaN              NaN   \\n\",\n       \"1923108             NaN             NaN            NaN              NaN   \\n\",\n       \"1923109             NaN             NaN            NaN              NaN   \\n\",\n       \"1923110             NaN             NaN            NaN              NaN   \\n\",\n       \"1923111             NaN             NaN            NaN              NaN   \\n\",\n       \"1923112             NaN             NaN            NaN              NaN   \\n\",\n       \"1923113             NaN             NaN            NaN              NaN   \\n\",\n       \"1923114             NaN             NaN            NaN              NaN   \\n\",\n       \"1923115             NaN             NaN            NaN              NaN   \\n\",\n       \"1923116             NaN             NaN            NaN              NaN   \\n\",\n       \"1923117             NaN             NaN            NaN              NaN   \\n\",\n       \"1923118             NaN             NaN            NaN              NaN   \\n\",\n       \"1923119             NaN             NaN            NaN              NaN   \\n\",\n       \"1923120             NaN             NaN            NaN              NaN   \\n\",\n       \"1923121             NaN             NaN            NaN              NaN   \\n\",\n       \"1923122             NaN             NaN            NaN              NaN   \\n\",\n       \"1923123             NaN             NaN            NaN              NaN   \\n\",\n       \"1923124             NaN             NaN            NaN              NaN   \\n\",\n       \"1923125             NaN             NaN            NaN              NaN   \\n\",\n       \"1923126             NaN             NaN            NaN              NaN   \\n\",\n       \"1923127             NaN             NaN            NaN              NaN   \\n\",\n       \"1923128             NaN             NaN            NaN              NaN   \\n\",\n       \"...                 ...             ...            ...              ...   \\n\",\n       \"1933089             NaN             NaN            NaN              NaN   \\n\",\n       \"1933090             NaN             NaN            NaN              NaN   \\n\",\n       \"1933091             NaN             NaN            NaN              NaN   \\n\",\n       \"1933092             NaN             NaN            NaN              NaN   \\n\",\n       \"1933093             NaN             NaN            NaN              NaN   \\n\",\n       \"1933094             NaN             NaN            NaN              NaN   \\n\",\n       \"1933095             NaN             NaN            NaN              NaN   \\n\",\n       \"1933096             NaN             NaN            NaN              NaN   \\n\",\n       \"1933097             NaN             NaN            NaN              NaN   \\n\",\n       \"1933098             NaN             NaN            NaN              NaN   \\n\",\n       \"1933099             NaN             NaN            NaN              NaN   \\n\",\n       \"1933100             NaN             NaN            NaN              NaN   \\n\",\n       \"1933101             NaN             NaN            NaN              NaN   \\n\",\n       \"1933102             NaN             NaN            NaN              NaN   \\n\",\n       \"1933103             NaN             NaN            NaN              NaN   \\n\",\n       \"1933104             NaN             NaN            NaN              NaN   \\n\",\n       \"1933105             NaN             NaN            NaN              NaN   \\n\",\n       \"1933106             NaN             NaN            NaN              NaN   \\n\",\n       \"1933107             NaN             NaN            NaN              NaN   \\n\",\n       \"1933108             NaN             NaN            NaN              NaN   \\n\",\n       \"1933109             NaN             NaN            NaN              NaN   \\n\",\n       \"1933110             NaN             NaN            NaN              NaN   \\n\",\n       \"1933111             NaN             NaN            NaN              NaN   \\n\",\n       \"1933112             NaN             NaN            NaN              NaN   \\n\",\n       \"1933113             NaN             NaN            NaN              NaN   \\n\",\n       \"1933114             NaN             NaN            NaN              NaN   \\n\",\n       \"1933115             NaN             NaN            NaN              NaN   \\n\",\n       \"1933116             NaN             NaN            NaN              NaN   \\n\",\n       \"1933117             NaN             NaN            NaN              NaN   \\n\",\n       \"1933118             NaN             NaN            NaN              NaN   \\n\",\n       \"\\n\",\n       \"          FTSE Date  FTSE Open  FTSE High  FTSE Low FTSE Close  \\\\\\n\",\n       \"1923099         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923100         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923101         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923102         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923103         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923104         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923105         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923106         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923107         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923108         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923109         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923110         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923111         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923112         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923113         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923114         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923115         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923116         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923117         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923118         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923119         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923120         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923121         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923122         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923123         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923124         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923125         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923126         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923127         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"1923128         NaN        NaN        NaN       NaN        NaN   \\n\",\n       \"...             ...        ...        ...       ...        ...   \\n\",\n       \"1933089  2016-07-29        NaN    6740.47   6691.13        NaN   \\n\",\n       \"1933090  2016-08-01        NaN    6769.41   6678.45        NaN   \\n\",\n       \"1933091  2016-08-02        NaN    6694.14   6630.76        NaN   \\n\",\n       \"1933092  2016-08-03        NaN    6673.63   6621.42        NaN   \\n\",\n       \"1933093  2016-08-04        NaN    6749.67   6615.83        NaN   \\n\",\n       \"1933094  2016-08-05        NaN    6802.41   6738.57        NaN   \\n\",\n       \"1933095  2016-08-08        NaN    6829.47   6781.47        NaN   \\n\",\n       \"1933096  2016-08-09        NaN    6863.10   6807.76        NaN   \\n\",\n       \"1933097  2016-08-10        NaN    6866.42   6820.04        NaN   \\n\",\n       \"1933098  2016-08-11        NaN    6914.71   6812.73        NaN   \\n\",\n       \"1933099  2016-08-12        NaN    6931.04   6896.04        NaN   \\n\",\n       \"1933100  2016-08-15        NaN    6955.34   6907.17        NaN   \\n\",\n       \"1933101  2016-08-16        NaN    6941.19   6893.92        NaN   \\n\",\n       \"1933102  2016-08-17        NaN    6920.76   6849.90        NaN   \\n\",\n       \"1933103  2016-08-18        NaN    6893.35   6850.61        NaN   \\n\",\n       \"1933104  2016-08-19        NaN    6871.48   6840.94        NaN   \\n\",\n       \"1933105  2016-08-22        NaN    6884.61   6812.07        NaN   \\n\",\n       \"1933106  2016-08-23        NaN    6885.39   6828.54        NaN   \\n\",\n       \"1933107  2016-08-24        NaN    6868.51   6825.22        NaN   \\n\",\n       \"1933108  2016-08-25        NaN    6836.22   6779.15        NaN   \\n\",\n       \"1933109  2016-08-26        NaN    6857.29   6798.82        NaN   \\n\",\n       \"1933110  2016-08-30        NaN    6851.83   6808.07        NaN   \\n\",\n       \"1933111  2016-08-31        NaN    6832.89   6779.54        NaN   \\n\",\n       \"1933112  2016-09-01        NaN    6826.22   6723.21        NaN   \\n\",\n       \"1933113  2016-09-02        NaN    6928.25   6745.97        NaN   \\n\",\n       \"1933114  2016-09-05        NaN    6910.66   6867.08        NaN   \\n\",\n       \"1933115  2016-09-06        NaN    6887.92   6818.96        NaN   \\n\",\n       \"1933116  2016-09-07        NaN    6856.12   6814.87        NaN   \\n\",\n       \"1933117  2016-09-08        NaN    6889.64   6819.82        NaN   \\n\",\n       \"1933118  2016-09-09        NaN    6862.38   6762.30        NaN   \\n\",\n       \"\\n\",\n       \"         7-day Moving Average  \\n\",\n       \"1923099                     0  \\n\",\n       \"1923100                     0  \\n\",\n       \"1923101                     0  \\n\",\n       \"1923102                     0  \\n\",\n       \"1923103                     0  \\n\",\n       \"1923104                     0  \\n\",\n       \"1923105                     0  \\n\",\n       \"1923106                     0  \\n\",\n       \"1923107                     0  \\n\",\n       \"1923108                     0  \\n\",\n       \"1923109                     0  \\n\",\n       \"1923110                     0  \\n\",\n       \"1923111                     0  \\n\",\n       \"1923112                     0  \\n\",\n       \"1923113                     0  \\n\",\n       \"1923114                     0  \\n\",\n       \"1923115                     0  \\n\",\n       \"1923116                     0  \\n\",\n       \"1923117                     0  \\n\",\n       \"1923118                     0  \\n\",\n       \"1923119                     0  \\n\",\n       \"1923120                     0  \\n\",\n       \"1923121                     0  \\n\",\n       \"1923122                     0  \\n\",\n       \"1923123                     0  \\n\",\n       \"1923124                     0  \\n\",\n       \"1923125                     0  \\n\",\n       \"1923126                     0  \\n\",\n       \"1923127                     0  \\n\",\n       \"1923128                     0  \\n\",\n       \"...                       ...  \\n\",\n       \"1933089                     0  \\n\",\n       \"1933090                     0  \\n\",\n       \"1933091                     0  \\n\",\n       \"1933092                     0  \\n\",\n       \"1933093                     0  \\n\",\n       \"1933094                     0  \\n\",\n       \"1933095                     0  \\n\",\n       \"1933096                     0  \\n\",\n       \"1933097                     0  \\n\",\n       \"1933098                     0  \\n\",\n       \"1933099                     0  \\n\",\n       \"1933100                     0  \\n\",\n       \"1933101                     0  \\n\",\n       \"1933102                     0  \\n\",\n       \"1933103                     0  \\n\",\n       \"1933104                     0  \\n\",\n       \"1933105                     0  \\n\",\n       \"1933106                     0  \\n\",\n       \"1933107                     0  \\n\",\n       \"1933108                     0  \\n\",\n       \"1933109                     0  \\n\",\n       \"1933110                     0  \\n\",\n       \"1933111                     0  \\n\",\n       \"1933112                     0  \\n\",\n       \"1933113                     0  \\n\",\n       \"1933114                     0  \\n\",\n       \"1933115                     0  \\n\",\n       \"1933116                     0  \\n\",\n       \"1933117                     0  \\n\",\n       \"1933118                     0  \\n\",\n       \"\\n\",\n       \"[10020 rows x 29 columns]\"\n      ]\n     },\n     \"execution_count\": 20,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# N-day moving averages of adjusted close prices\\n\",\n    \"\\n\",\n    \"def n_day_moving_average(df, moving_average):\\n\",\n    \"    # Create a column `N-day moving Average`.\\n\",\n    \"    df['%s-day Moving Average' % str(moving_average)] = 0\\n\",\n    \"\\n\",\n    \"    for i in range(moving_average, len(bp)):\\n\",\n    \"        m_average = sum(df.iloc[i-moving_average:i]['Adj. Close'])/moving_average\\n\",\n    \"        df.iloc[i].loc['%s-day Moving Average' % str(moving_average)] = m_average\\n\",\n    \"    \\n\",\n    \"    return df\\n\",\n    \"\\n\",\n    \"n_day_moving_average(bp, 7)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Implementation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.1 Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def prepare_train_test(days, periods, target='Adj. Close', test_size=0.2, buffer=0, target_days=7):  \\n\",\n    \"    \\\"\\\"\\\"Returns X_train, X_test, y_train, y_test for parameters.\\n\",\n    \"    Predicts prices `target_days` ahead.\\n\",\n    \"    `days` = number of days prior we consider\\\"\\\"\\\"\\n\",\n    \"    # Columns\\n\",\n    \"    columns = []\\n\",\n    \"    for j in range(1,days+1):\\n\",\n    \"        columns.append('i-%s' % str(j))\\n\",\n    \"    columns.append('Adj. High')\\n\",\n    \"    columns.append('Adj. Low')\\n\",\n    \"\\n\",\n    \"    # Columns: Prices (predict multiple day)\\n\",\n    \"    nday_columns = []\\n\",\n    \"    for j in range(1,target_days+1):\\n\",\n    \"        nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"\\n\",\n    \"    # Index\\n\",\n    \"    start_date = bp.iloc[days+buffer][\\\"Date\\\"]\\n\",\n    \"    index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"    # Create empty dataframes for features and prices\\n\",\n    \"    features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"    prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"    nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"    # Prepare test and training sets\\n\",\n    \"    for i in range(periods):\\n\",\n    \"        # Fill in Target df\\n\",\n    \"#        prices.iloc[i]['Target'] = bp.iloc[i+days][target]\\n\",\n    \"        for j in range(target_days):\\n\",\n    \"            nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[buffer+i+days+j][target]\\n\",\n    \"        # Fill in Features df\\n\",\n    \"        for j in range(days):\\n\",\n    \"            features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[buffer+i+j][target]\\n\",\n    \"        features.iloc[i]['Adj. High'] = max(bp[buffer+i:buffer+i+days]['Adj. High'])\\n\",\n    \"        features.iloc[i]['Adj. Low'] = min(bp[buffer+i:buffer+i+days]['Adj. Low'])\\n\",\n    \"    print(\\\"Features\\\", features.head())\\n\",\n    \"    # print(\\\"Prices\\\", prices.head())\\n\",\n    \"                \\n\",\n    \"    X = features\\n\",\n    \"    y = nday_prices\\n\",\n    \"    \\n\",\n    \"    # Train-test split\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    \\n\",\n    \"    return X_train, X_test, y_train, y_test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Features                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1977-05-25  2.31608  2.34522  2.35199  2.36813  2.35511  2.32909   2.3421   \\n\",\n      \"1977-05-26  2.26715  2.31608  2.34522  2.35199  2.36813  2.35511  2.32909   \\n\",\n      \"1977-05-27  2.27054  2.26715  2.31608  2.34522  2.35199  2.36813  2.35511   \\n\",\n      \"1977-05-28  2.26091  2.27054  2.26715  2.31608  2.34522  2.35199  2.36813   \\n\",\n      \"1977-05-29  2.26403  2.26091  2.27054  2.26715  2.31608  2.34522  2.35199   \\n\",\n      \"\\n\",\n      \"                i-8      i-9     i-10   ...        i-93     i-94     i-95  \\\\\\n\",\n      \"1977-05-25  2.32258  2.31608  2.32258   ...     1.93223  1.95175  1.96789   \\n\",\n      \"1977-05-26   2.3421  2.32258  2.31608   ...     1.97777  1.93223  1.95175   \\n\",\n      \"1977-05-27  2.32909   2.3421  2.32258   ...     1.95175  1.97777  1.93223   \\n\",\n      \"1977-05-28  2.35511  2.32909   2.3421   ...     1.95826  1.95175  1.97777   \\n\",\n      \"1977-05-29  2.36813  2.35511  2.32909   ...     1.94863  1.95826  1.95175   \\n\",\n      \"\\n\",\n      \"               i-96     i-97     i-98     i-99    i-100 Adj. High Adj. Low  \\n\",\n      \"1977-05-25  1.95487  1.95487  1.93874   2.0038  2.01993   2.37463  1.91272  \\n\",\n      \"1977-05-26  1.96789  1.95487  1.95487  1.93874   2.0038   2.37463  1.91272  \\n\",\n      \"1977-05-27  1.95175  1.96789  1.95487  1.95487  1.93874   2.37463  1.91272  \\n\",\n      \"1977-05-28  1.93223  1.95175  1.96789  1.95487  1.95487   2.37463  1.91272  \\n\",\n      \"1977-05-29  1.97777  1.93223  1.95175  1.96789  1.95487   2.37463  1.91272  \\n\",\n      \"\\n\",\n      \"[5 rows x 102 columns]\\n\",\n      \"Train shapes (X,y):  (800, 102) (800, 7)\\n\",\n      \"Test shapes (X,y):  (200, 102) (200, 7)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Initialise variables\\n\",\n    \"# Number of days prior that we consider\\n\",\n    \"days = 100\\n\",\n    \"# Number of train and test examples combined\\n\",\n    \"periods = 1000\\n\",\n    \"# Entries that we exclude from consideration completely\\n\",\n    \"buffer = 0 \\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = prepare_train_test(days, periods, buffer=buffer)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape)\\n\",\n    \"print(\\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2.2 Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import MultiOutputRegressor to handle predicting multiple outputs\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"\\n\",\n    \"# Import metrics\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Helper functions for metrics\\n\",\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2))\\n\",\n    \"\\n\",\n    \"def print_metrics(test, pred):\\n\",\n    \"    print(\\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred))\\n\",\n    \"    print(\\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred))\\n\",\n    \"    print(\\\"Explained Variance Score: \\\", explained_variance_score(test, pred))\\n\",\n    \"    print(\\\"Mean Squared Error: \\\", mean_squared_error(test, pred))\\n\",\n    \"    print(\\\"R2 score: \\\", r2_score(test, pred))\\n\",\n    \"#    print(\\\"Median Absolute Error: \\\", median_absolute_error(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Import Classifiers\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Apply Classifier and Print Metrics\\n\",\n    \"def classify_and_metrics(clf=LinearRegression()):\\n\",\n    \"    \\\"\\\"\\\"Trains and tests classifier on training and test datasets.\\n\",\n    \"    Prints performance metrics.\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    clf = MultiOutputRegressor(clf)\\n\",\n    \"    clf.fit(X_train, y_train)\\n\",\n    \"    pred = clf.predict(X_test)\\n\",\n    \"    \\n\",\n    \"    # Print metrics\\n\",\n    \"    print(\\\"# Days used to predict: %s\\\" % str(days))\\n\",\n    \"    print(\\\"\\\\n%s-day predictions\\\" % str(target_days)) \\n\",\n    \"    print_metrics(y_test, pred)\\n\",\n    \"    return rmsp(y_test, pred)\\n\",\n    \"#    return clf, pred\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0\\n\",\n      \"Features                 i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1977-01-12  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038  2.01993   \\n\",\n      \"1977-01-13  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038   \\n\",\n      \"1977-01-14  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   \\n\",\n      \"1977-01-15  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487   \\n\",\n      \"1977-01-16  1.95826  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1977-01-12   2.02982  1.93874  \\n\",\n      \"1977-01-13   2.02982  1.91272  \\n\",\n      \"1977-01-14    2.0038  1.91272  \\n\",\n      \"1977-01-15   1.98766  1.91272  \\n\",\n      \"1977-01-16   1.98766  1.91272  \\n\",\n      \"# Days used to predict: 100\\n\"\n     ]\n    },\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'target_days' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-27-693ceaf0f8ad>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      7\\u001b[0m     \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mbuffer\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      8\\u001b[0m     \\u001b[0mX_train\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mX_test\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0my_train\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0my_test\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mprepare_train_test\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mdays\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;36m7\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mperiods\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;36m1000\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mbuffer\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0mbuffer\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 9\\u001b[0;31m     \\u001b[0merrors\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mappend\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mclassify_and_metrics\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     10\\u001b[0m \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0merrors\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m<ipython-input-26-6e42630138f4>\\u001b[0m in \\u001b[0;36mclassify_and_metrics\\u001b[0;34m(clf)\\u001b[0m\\n\\u001b[1;32m     10\\u001b[0m     \\u001b[0;31m# Print metrics\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     11\\u001b[0m     \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m\\\"# Days used to predict: %s\\\"\\u001b[0m \\u001b[0;34m%\\u001b[0m \\u001b[0mstr\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mdays\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 12\\u001b[0;31m     \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m\\\"\\\\n%s-day predictions\\\"\\u001b[0m \\u001b[0;34m%\\u001b[0m \\u001b[0mstr\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mtarget_days\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     13\\u001b[0m     \\u001b[0mprint_metrics\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0my_test\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mpred\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     14\\u001b[0m     \\u001b[0;32mreturn\\u001b[0m \\u001b[0mrmsp\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0my_test\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mpred\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'target_days' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Do multiple train-test cycles on different train-test sets and see\\n\",\n    \"# if they all produce reliable results\\n\",\n    \"errors=[]\\n\",\n    \"daily_average = []\\n\",\n    \"for segment in range(5):\\n\",\n    \"    buffer = segment*1000\\n\",\n    \"    print(buffer)\\n\",\n    \"    X_train, X_test, y_train, y_test = prepare_train_test(days=7, periods=1000, buffer=buffer)\\n\",\n    \"    errors.append(classify_and_metrics())\\n\",\n    \"print(errors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"average_daily_error = []\\n\",\n    \"for target_day in range(7):\\n\",\n    \"    average_daily_error.append([])\\n\",\n    \"for segment in range(5):\\n\",\n    \"    for target_day in range(7):\\n\",\n    \"        average_daily_error[target_day].append(errors[segment][target_day])\\n\",\n    \"average_daily_error\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"# Classifier for one-day predictions\\n\",\n    \"from sklearn import svm\\n\",\n    \"from sklearn.linear_model import LinearRegression\\n\",\n    \"\\n\",\n    \"# CHANGE MODEL HERE\\n\",\n    \"# Other models used: svm.SVR()\\n\",\n    \"model = LinearRegression()\\n\",\n    \"# model = svm.SVR()\\n\",\n    \"clf = model\\n\",\n    \"\\n\",\n    \"clf.fit(X_train, y_train)\\n\",\n    \"pred = clf.predict(X_test)\\n\",\n    \"\\n\",\n    \"# Classifier for multi-day predictions\\n\",\n    \"\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"clf_nd = MultiOutputRegressor(model)\\n\",\n    \"\\n\",\n    \"clf_nd.fit(Xnd_train, ynd_train)\\n\",\n    \"pred_nd = clf_nd.predict(Xnd_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Metrics\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"def rmsp(test, pred):\\n\",\n    \"    return np.sqrt(np.mean(((test - pred)/test)**2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"def print_metrics(test, pred):\\n\",\n    \"    print(\\\"Root Mean Squared Percentage Error\\\", rmsp(test, pred))\\n\",\n    \"    print(\\\"Mean Absolute Error: \\\", mean_absolute_error(test, pred))\\n\",\n    \"    print(\\\"Explained Variance Score: \\\", explained_variance_score(test, pred))\\n\",\n    \"    print(\\\"Mean Squared Error: \\\", mean_squared_error(test, pred))\\n\",\n    \"    print(\\\"R2 score: \\\", r2_score(test, pred))\\n\",\n    \"    print(\\\"Median Absolute Error: \\\", median_absolute_error(test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"print(\\\"# Days used to predict: %s\\\" % str(days))\\n\",\n    \"print(\\\"\\\\nOne day predictions\\\")\\n\",\n    \"print_metrics(y_test, pred)\\n\",\n    \"print(\\\"\\\\n%s-day predictions\\\" % str(target_days)) \\n\",\n    \"print_metrics(ynd_test, pred_nd)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Some results\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"svm.SVR():\\n\",\n    \"\\n\",\n    \"One day predictions\\n\",\n    \"Mean Absolute Error:  11.1829830122\\n\",\n    \"Explained Variance Score:  -1.66635035086\\n\",\n    \"Mean Squared Error:  211.531318796\\n\",\n    \"R2 score:  -5.40633919704\\n\",\n    \"Median Absolute Error:  9.17554533596\\n\",\n    \"\\n\",\n    \"N-day predictions\\n\",\n    \"Mean Absolute Error:  11.2383724498\\n\",\n    \"Explained Variance Score:  -1.63454082875\\n\",\n    \"Mean Squared Error:  210.05844132\\n\",\n    \"R2 score:  -5.36029037396\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"LinearRegression():\\n\",\n    \"\\n\",\n    \"One day predictions\\n\",\n    \"Mean Absolute Error:  0.504769429579\\n\",\n    \"Explained Variance Score:  0.984898917427\\n\",\n    \"Mean Squared Error:  0.498980708615\\n\",\n    \"R2 score:  0.984888102195\\n\",\n    \"Median Absolute Error:  0.383303136963\\n\",\n    \"\\n\",\n    \"N-day predictions\\n\",\n    \"Mean Absolute Error:  0.988972868667\\n\",\n    \"Explained Variance Score:  0.944785820963\\n\",\n    \"Mean Squared Error:  1.83053746507\\n\",\n    \"R2 score:  0.944573758878\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Refinement\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3.1 Tuning model parameters\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"columns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Conclusion: Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Visualisation 1: Plotting predictions compared with actual prices\\n\",\n    \"# Plot predictions\\n\",\n    \"# Plot actual adjusted close prices\\n\",\n    \"\\n\",\n    \"bp.plot('Adjusted Close').set_title(\\\"Model Predictions against BP Actual Adjusted Close Prices\\\")\\n\",\n    \"\\n\",\n    \"# bp.plot('7-day Predictions', secondary_y=True)\\n\",\n    \"\\n\",\n    \"# Visualisation 2: Plotting error for each day compared with percentage\\n\",\n    \"# variation\\n\",\n    \"\\n\",\n    \"# TODO: Plot error for each day\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Visualisation 2:\\n\",\n    \"# bp.plot('Percentage Error')\\n\",\n    \"ax = bp.plot(secondary_y=['Percentage Variation', mark_right=False])\\n\",\n    \"ax.set_ylabel('RMS Percentage Error Scale')\\n\",\n    \"ax.right_ax.set_ylabel('Percentage Variation Scale')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deprecated\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"# Initialise variables\\n\",\n    \"# Number of days prior that we consider\\n\",\n    \"days = 100\\n\",\n    \"# Number of train and test examples combined\\n\",\n    \"periods = 9000\\n\",\n    \"\\n\",\n    \"# Columns\\n\",\n    \"columns = []\\n\",\n    \"for j in range(1,days+1):\\n\",\n    \"    columns.append('i-%s' % str(j))\\n\",\n    \"columns.append('Adj. High')\\n\",\n    \"columns.append('Adj. Low')\\n\",\n    \"print(columns)\\n\",\n    \"\\n\",\n    \"# Index\\n\",\n    \"start_date = bp.iloc[days][\\\"Date\\\"]\\n\",\n    \"print(\\\"Start date: \\\", start_date)\\n\",\n    \"index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"# Create empty dataframes for features and prices\\n\",\n    \"features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"\\n\",\n    \"# Prepare test and training sets\\n\",\n    \"for i in range(periods):\\n\",\n    \"    prices.iloc[i]['Target'] = bp.iloc[i+days]['Adj. Close']\\n\",\n    \"    for j in range(days):\\n\",\n    \"        features.iloc[i]['i-%s' % str(days-j)] = bp.iloc[i+j]['Adj. Close']\\n\",\n    \"    features.iloc[i]['Adj. High'] = max(bp[i:i+days]['Adj. High'])\\n\",\n    \"    features.iloc[i]['Adj. Low'] = min(bp[i:i+days]['Adj. Low'])\\n\",\n    \"print(features.head())\\n\",\n    \"print(prices.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"# N-day prices target\\n\",\n    \"\\n\",\n    \"# Initialise variables\\n\",\n    \"target_days = 7\\n\",\n    \"\\n\",\n    \"# Create target dataframe\\n\",\n    \"nday_columns = []\\n\",\n    \"for j in range(1,target_days+1):\\n\",\n    \"    nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"# Fill target dataframe\\n\",\n    \"for i in range(periods):\\n\",\n    \"    for j in range(target_days):\\n\",\n    \"        nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[i+days+j]['Adj. Close']\\n\",\n    \"nday_prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"# Train-test split (predict prices one day ahead)\\n\",\n    \"def train_test_split_noshuffle(X, y, test_size=0.2):\\n\",\n    \"    if len(X) != len(y):\\n\",\n    \"        return \\\"Error\\\"\\n\",\n    \"    split_index = int(len(X) * (1-test_size))\\n\",\n    \"    X_train = X[:split_index]\\n\",\n    \"    X_test = X[split_index:]\\n\",\n    \"    y_train = y[:split_index]\\n\",\n    \"    y_test = y[split_index:]\\n\",\n    \"    return X_train, X_test, y_train, y_test\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split_noshuffle(features, prices, test_size=0.2)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape)\\n\",\n    \"print(\\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"source\": [\n    \"# Train-test split (predict prices `target_days` days ahead)\\n\",\n    \"\\n\",\n    \"Xnd_train, Xnd_test, ynd_train, ynd_test = train_test_split_noshuffle(features, nday_prices, test_size=0.2)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (Xnd,ynd): \\\", Xnd_train.shape, ynd_train.shape)\\n\",\n    \"print(\\\"Test shapes (Xnd,ynd): \\\", Xnd_test.shape, ynd_test.shape)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/lse-list.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# LSE list\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### For (1) Finding the stocks that are relevant to BP and (2) Finding out more about BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Contextual Information\\n\",\n    \"I also supplemented this information with a **list of Companies and Securities from the London Stock Exchange** (spreadsheet `list-of-all-securites-ex-debt` from [this page](http://www.londonstockexchange.com/statistics/companies-and-issuers/companies-and-issuers.htm). The spreadsheet includes the following attributes for all securities (excluding debt) that were listed on the LSE as of the end of August 2016:\\n\",\n    \"* Security Start Date, \\n\",\n    \"* Company Name, \\n\",\n    \"* Country of Incorporation, \\n\",\n    \"* LSE Market\\t(UK Main Market, International Main Market, AIM (Alternative Investment Market)...), \\n\",\n    \"* FCA Listing Category (Standard Shares, Standard Debt...) (FCA stands for Financial Conduct Authority), \\n\",\n    \"* ISIN (International Securities Identification Number), \\n\",\n    \"* Security Name (code, e.g. PELS'90' 20/11/17(WORLD BASKET P/WT)GBP1 for Barclays Bank PLC),\\n\",\n    \"* TIDM (stock symbol: Tradable Instrument Display Mnemonic), \\n\",\n    \"* Mkt Cap £m, \\t\\n\",\n    \"* Shares in Issue, \\n\",\n    \"* Industry, \\n\",\n    \"* Supersector, \\n\",\n    \"* Sector, \\n\",\n    \"* Subsector, \\n\",\n    \"* Group (a number, e.g. 8355 for banks), \\n\",\n    \"* MarketSegmentCode, \\n\",\n    \"* MarketSectorCode, and \\n\",\n    \"* Trading Currency (GBX, USD, EUR).\\n\",\n    \"\\n\",\n    \"Not every column of every row of this spreadsheet is filled. There are some blank cells.\\n\",\n    \"\\n\",\n    \"I converted the spreadsheet to a CSV and imported it below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import pandas as pd\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>2-Aug-06</td>\\n\",\n       \"      <td>1PM PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00BCDBXK43</td>\\n\",\n       \"      <td>ORD GBP0.1</td>\\n\",\n       \"      <td>OPM</td>\\n\",\n       \"      <td>33.884729</td>\\n\",\n       \"      <td>52,534,463.00</td>\\n\",\n       \"      <td>Financials</td>\\n\",\n       \"      <td>Financial Services</td>\\n\",\n       \"      <td>Financial Services</td>\\n\",\n       \"      <td>Specialty Finance</td>\\n\",\n       \"      <td>8775</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2-Feb-09</td>\\n\",\n       \"      <td>1SPATIAL PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00B09LQS34</td>\\n\",\n       \"      <td>ORD GBP0.01</td>\\n\",\n       \"      <td>SPA</td>\\n\",\n       \"      <td>32.293431</td>\\n\",\n       \"      <td>738,135,558.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Support Services</td>\\n\",\n       \"      <td>Business Support Services</td>\\n\",\n       \"      <td>2791</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>15-Apr-05</td>\\n\",\n       \"      <td>21ST CENTURY TECHNOLOGY PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB0008866310</td>\\n\",\n       \"      <td>ORD GBP0.065</td>\\n\",\n       \"      <td>C21</td>\\n\",\n       \"      <td>1.748245</td>\\n\",\n       \"      <td>93,239,755.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Support Services</td>\\n\",\n       \"      <td>Business Support Services</td>\\n\",\n       \"      <td>2791</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>23-Sep-05</td>\\n\",\n       \"      <td>32RED</td>\\n\",\n       \"      <td>GI</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GI000A0F56M0</td>\\n\",\n       \"      <td>ORD GBP0.002</td>\\n\",\n       \"      <td>TTR</td>\\n\",\n       \"      <td>108.901996</td>\\n\",\n       \"      <td>83,690,295.00</td>\\n\",\n       \"      <td>Consumer Services</td>\\n\",\n       \"      <td>Travel &amp; Leisure</td>\\n\",\n       \"      <td>Travel &amp; Leisure</td>\\n\",\n       \"      <td>Gambling</td>\\n\",\n       \"      <td>5752</td>\\n\",\n       \"      <td>AMSM</td>\\n\",\n       \"      <td>ASM6</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>21-Aug-15</td>\\n\",\n       \"      <td>365 AGILE GROUP PLC</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GB00BYY8NN14</td>\\n\",\n       \"      <td>ORD GBP0.30</td>\\n\",\n       \"      <td>365</td>\\n\",\n       \"      <td>5.012229</td>\\n\",\n       \"      <td>18,914,073.00</td>\\n\",\n       \"      <td>Industrials</td>\\n\",\n       \"      <td>Industrial Goods &amp; Services</td>\\n\",\n       \"      <td>Electronic &amp; Electrical Equipment</td>\\n\",\n       \"      <td>Electrical Components &amp; Equipment</td>\\n\",\n       \"      <td>2733</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"  Security Start Date                         Company Name  \\\\\\n\",\n       \"0            2-Aug-06  1PM PLC                               \\n\",\n       \"1            2-Feb-09  1SPATIAL PLC                          \\n\",\n       \"2           15-Apr-05  21ST CENTURY TECHNOLOGY PLC           \\n\",\n       \"3           23-Sep-05  32RED                                 \\n\",\n       \"4           21-Aug-15  365 AGILE GROUP PLC                   \\n\",\n       \"\\n\",\n       \"  Country of Incorporation LSE Market FCA Listing Category          ISIN  \\\\\\n\",\n       \"0                       GB        AIM                  NaN  GB00BCDBXK43   \\n\",\n       \"1                       GB        AIM                  NaN  GB00B09LQS34   \\n\",\n       \"2                       GB        AIM                  NaN  GB0008866310   \\n\",\n       \"3                       GI        AIM                  NaN  GI000A0F56M0   \\n\",\n       \"4                       GB        AIM                  NaN  GB00BYY8NN14   \\n\",\n       \"\\n\",\n       \"                              Security Name   TIDM  Mkt Cap £m  \\\\\\n\",\n       \"0  ORD GBP0.1                                OPM     33.884729   \\n\",\n       \"1  ORD GBP0.01                               SPA     32.293431   \\n\",\n       \"2  ORD GBP0.065                              C21      1.748245   \\n\",\n       \"3  ORD GBP0.002                              TTR    108.901996   \\n\",\n       \"4  ORD GBP0.30                               365      5.012229   \\n\",\n       \"\\n\",\n       \"  Shares in Issue           Industry                  Supersector  \\\\\\n\",\n       \"0   52,534,463.00         Financials           Financial Services   \\n\",\n       \"1  738,135,558.00        Industrials  Industrial Goods & Services   \\n\",\n       \"2   93,239,755.00        Industrials  Industrial Goods & Services   \\n\",\n       \"3   83,690,295.00  Consumer Services             Travel & Leisure   \\n\",\n       \"4   18,914,073.00        Industrials  Industrial Goods & Services   \\n\",\n       \"\\n\",\n       \"                              Sector                          Subsector  \\\\\\n\",\n       \"0                 Financial Services                  Specialty Finance   \\n\",\n       \"1                   Support Services          Business Support Services   \\n\",\n       \"2                   Support Services          Business Support Services   \\n\",\n       \"3                   Travel & Leisure                           Gambling   \\n\",\n       \"4  Electronic & Electrical Equipment  Electrical Components & Equipment   \\n\",\n       \"\\n\",\n       \"   Group MarketSegmentCode MarketSectorCode Trading Currency  \\n\",\n       \"0   8775              AIM              AIM               GBX  \\n\",\n       \"1   2791              AIM              AIM               GBX  \\n\",\n       \"2   2791              AIM              AIM               GBX  \\n\",\n       \"3   5752              AMSM             ASM6              GBX  \\n\",\n       \"4   2733              ASQ1             AMQ1              GBX  \"\n      ]\n     },\n     \"execution_count\": 2,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lse_list = pd.read_csv(\\\"list-of-all-securities-ex-debt.csv\\\")\\n\",\n    \"# Delete extra columns of NaNs\\n\",\n    \"for i in range(18,36):\\n\",\n    \"    del lse_list['Unnamed: %s' % str(i)]\\n\",\n    \"lse_list.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>368</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385474</td>\\n\",\n       \"      <td>9% CUM 2ND PRF GBP1</td>\\n\",\n       \"      <td>BP.B</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>5,473,414.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>369</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385250</td>\\n\",\n       \"      <td>8% CUM 1ST PRF GBP1</td>\\n\",\n       \"      <td>BP.A</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>7,232,838.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>370</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB0007980591</td>\\n\",\n       \"      <td>ORD USD0.25</td>\\n\",\n       \"      <td>BP.</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>18,758,751,584.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"    Security Start Date                         Company Name  \\\\\\n\",\n       \"368           20-Dec-54  BP                                    \\n\",\n       \"369           20-Dec-54  BP                                    \\n\",\n       \"370           20-Dec-54  BP                                    \\n\",\n       \"\\n\",\n       \"    Country of Incorporation      LSE Market  \\\\\\n\",\n       \"368                       GB  UK Main Market   \\n\",\n       \"369                       GB  UK Main Market   \\n\",\n       \"370                       GB  UK Main Market   \\n\",\n       \"\\n\",\n       \"                    FCA Listing Category          ISIN  \\\\\\n\",\n       \"368                      Standard Shares  GB0001385474   \\n\",\n       \"369                      Standard Shares  GB0001385250   \\n\",\n       \"370  Premium Equity Commercial Companies  GB0007980591   \\n\",\n       \"\\n\",\n       \"                                Security Name  TIDM    Mkt Cap £m  \\\\\\n\",\n       \"368  9% CUM 2ND PRF GBP1                       BP.B  80288.531993   \\n\",\n       \"369  8% CUM 1ST PRF GBP1                       BP.A  80288.531993   \\n\",\n       \"370  ORD USD0.25                               BP.   80288.531993   \\n\",\n       \"\\n\",\n       \"       Shares in Issue   Industry Supersector               Sector  \\\\\\n\",\n       \"368       5,473,414.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"369       7,232,838.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"370  18,758,751,584.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"\\n\",\n       \"                Subsector  Group MarketSegmentCode MarketSectorCode  \\\\\\n\",\n       \"368  Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"369  Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"370  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"\\n\",\n       \"    Trading Currency  \\n\",\n       \"368              GBX  \\n\",\n       \"369              GBX  \\n\",\n       \"370              GBX  \"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lse_list[368:371]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And let's look at all the stocks that are in that group:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Number of companies:  27\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Security Start Date</th>\\n\",\n       \"      <th>Company Name</th>\\n\",\n       \"      <th>Country of Incorporation</th>\\n\",\n       \"      <th>LSE Market</th>\\n\",\n       \"      <th>FCA Listing Category</th>\\n\",\n       \"      <th>ISIN</th>\\n\",\n       \"      <th>Security Name</th>\\n\",\n       \"      <th>TIDM</th>\\n\",\n       \"      <th>Mkt Cap £m</th>\\n\",\n       \"      <th>Shares in Issue</th>\\n\",\n       \"      <th>Industry</th>\\n\",\n       \"      <th>Supersector</th>\\n\",\n       \"      <th>Sector</th>\\n\",\n       \"      <th>Subsector</th>\\n\",\n       \"      <th>Group</th>\\n\",\n       \"      <th>MarketSegmentCode</th>\\n\",\n       \"      <th>MarketSectorCode</th>\\n\",\n       \"      <th>Trading Currency</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>368</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385474</td>\\n\",\n       \"      <td>9% CUM 2ND PRF GBP1</td>\\n\",\n       \"      <td>BP.B</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>5,473,414.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>369</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>GB0001385250</td>\\n\",\n       \"      <td>8% CUM 1ST PRF GBP1</td>\\n\",\n       \"      <td>BP.A</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>7,232,838.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSQ3</td>\\n\",\n       \"      <td>SQS3</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>370</th>\\n\",\n       \"      <td>20-Dec-54</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB0007980591</td>\\n\",\n       \"      <td>ORD USD0.25</td>\\n\",\n       \"      <td>BP.</td>\\n\",\n       \"      <td>80288.531993</td>\\n\",\n       \"      <td>18,758,751,584.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>499</th>\\n\",\n       \"      <td>18-Oct-00</td>\\n\",\n       \"      <td>CHINA PETROLEUM &amp; CHEMICAL CORP</td>\\n\",\n       \"      <td>CN</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US16941R1086</td>\\n\",\n       \"      <td>ADS EACH REP 100'H'SHS CNY1</td>\\n\",\n       \"      <td>SNP</td>\\n\",\n       \"      <td>8820.761210</td>\\n\",\n       \"      <td>192,975,620.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLU</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>996</th>\\n\",\n       \"      <td>15-Nov-99</td>\\n\",\n       \"      <td>GAIL(INDIA)</td>\\n\",\n       \"      <td>IN</td>\\n\",\n       \"      <td>PSM</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US36268T1079</td>\\n\",\n       \"      <td>GDR EACH REP 6 ORD INR10 144A</td>\\n\",\n       \"      <td>GAIA</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INPE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>997</th>\\n\",\n       \"      <td>15-Nov-99</td>\\n\",\n       \"      <td>GAIL(INDIA)</td>\\n\",\n       \"      <td>IN</td>\\n\",\n       \"      <td>PSM</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US36268T2069</td>\\n\",\n       \"      <td>GDR EACH REP 6 ORD INR10 REG'S'</td>\\n\",\n       \"      <td>GAID</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>25,833,333.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>IPHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1009</th>\\n\",\n       \"      <td>12-Jun-06</td>\\n\",\n       \"      <td>GAZPROM NEFT PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US36829G1076</td>\\n\",\n       \"      <td>LEVEL 1 ADR EACH REPR 5 ORD SHS</td>\\n\",\n       \"      <td>GAZ</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>20,348,882.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>INHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1010</th>\\n\",\n       \"      <td>28-Oct-96</td>\\n\",\n       \"      <td>GAZPROM OAO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US3682871088</td>\\n\",\n       \"      <td>ADS EACH REP 10 ORD REGD 144A</td>\\n\",\n       \"      <td>81JK</td>\\n\",\n       \"      <td>36475.696309</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1011</th>\\n\",\n       \"      <td>28-Oct-96</td>\\n\",\n       \"      <td>GAZPROM OAO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US3682872078</td>\\n\",\n       \"      <td>ADS EACH REPR 2 ORD SHS</td>\\n\",\n       \"      <td>OGZD</td>\\n\",\n       \"      <td>36475.696309</td>\\n\",\n       \"      <td>11,836,756,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1083</th>\\n\",\n       \"      <td>27-Oct-14</td>\\n\",\n       \"      <td>GREEN DRAGON GAS LTD</td>\\n\",\n       \"      <td>KY</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>KYG409381053</td>\\n\",\n       \"      <td>ORD USD0.0001 (DI)</td>\\n\",\n       \"      <td>GDG</td>\\n\",\n       \"      <td>359.348630</td>\\n\",\n       \"      <td>142,316,289.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSMU</td>\\n\",\n       \"      <td>SMEW</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1164</th>\\n\",\n       \"      <td>30-Jun-98</td>\\n\",\n       \"      <td>HELLENIC PETROLEUM SA</td>\\n\",\n       \"      <td>GR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US4233231046</td>\\n\",\n       \"      <td>GDS EACH REPR 1 ORD SH'144A'</td>\\n\",\n       \"      <td>98LQ</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1165</th>\\n\",\n       \"      <td>30-Jun-98</td>\\n\",\n       \"      <td>HELLENIC PETROLEUM SA</td>\\n\",\n       \"      <td>GR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US4233232036</td>\\n\",\n       \"      <td>GDS EACH REPR 1 ORD REG'S'</td>\\n\",\n       \"      <td>HLPD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>23,215,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1562</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US69343P2048</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD RUB0.025 SPON 144A</td>\\n\",\n       \"      <td>LKOE</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>3,450,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1563</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US69343P1057</td>\\n\",\n       \"      <td>ADR EACH REPR 1 ORD RUB0.025 SPON</td>\\n\",\n       \"      <td>LKOD</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>850,563,000.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1564</th>\\n\",\n       \"      <td>7-May-97</td>\\n\",\n       \"      <td>LUKOIL PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>RU0009024277</td>\\n\",\n       \"      <td>RUB0.025</td>\\n\",\n       \"      <td>LKOH</td>\\n\",\n       \"      <td>58934.583841</td>\\n\",\n       \"      <td>850,563,255.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSX4</td>\\n\",\n       \"      <td>SXSN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1582</th>\\n\",\n       \"      <td>27-Sep-04</td>\\n\",\n       \"      <td>MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR</td>\\n\",\n       \"      <td>HU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US6084642023</td>\\n\",\n       \"      <td>ADR EACH REP 0.50 ORD SHS(REG'S')</td>\\n\",\n       \"      <td>MOLD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>INLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1601</th>\\n\",\n       \"      <td>2-Jun-95</td>\\n\",\n       \"      <td>MANDO MACHINERY CORP</td>\\n\",\n       \"      <td>KR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>USY576241019</td>\\n\",\n       \"      <td>GDR EACH REP 1/2 ORD</td>\\n\",\n       \"      <td>MNMD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>806,234.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBU</td>\\n\",\n       \"      <td>LLLN</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1602</th>\\n\",\n       \"      <td>2-Jun-95</td>\\n\",\n       \"      <td>MANDO MACHINERY CORP</td>\\n\",\n       \"      <td>KR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US5626651096</td>\\n\",\n       \"      <td>GDR EACH REPR 1/2 SHARE(144A)</td>\\n\",\n       \"      <td>05IS</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2177</th>\\n\",\n       \"      <td>19-Jul-06</td>\\n\",\n       \"      <td>ROSNEFT OIL CO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US67812M1080</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD '144A'</td>\\n\",\n       \"      <td>40XT</td>\\n\",\n       \"      <td>38202.664097</td>\\n\",\n       \"      <td>0.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>MISC</td>\\n\",\n       \"      <td>INTM</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2178</th>\\n\",\n       \"      <td>19-Jul-06</td>\\n\",\n       \"      <td>ROSNEFT OIL CO</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US67812M2070</td>\\n\",\n       \"      <td>GDR EACH REPR 1 ORD 'REGS'</td>\\n\",\n       \"      <td>ROSN</td>\\n\",\n       \"      <td>38202.664097</td>\\n\",\n       \"      <td>9,597,430,705.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2204</th>\\n\",\n       \"      <td>20-Jul-05</td>\\n\",\n       \"      <td>ROYAL DUTCH SHELL</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB00B03MLX29</td>\\n\",\n       \"      <td>'A'ORD EUR0.07</td>\\n\",\n       \"      <td>RDSA</td>\\n\",\n       \"      <td>153220.715397</td>\\n\",\n       \"      <td>4,325,899,655.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2205</th>\\n\",\n       \"      <td>20-Jul-05</td>\\n\",\n       \"      <td>ROYAL DUTCH SHELL</td>\\n\",\n       \"      <td>GB</td>\\n\",\n       \"      <td>UK Main Market</td>\\n\",\n       \"      <td>Premium Equity Commercial Companies</td>\\n\",\n       \"      <td>GB00B03MM408</td>\\n\",\n       \"      <td>ORD EUR0.07 B</td>\\n\",\n       \"      <td>RDSB</td>\\n\",\n       \"      <td>153220.715397</td>\\n\",\n       \"      <td>3,745,486,731.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SET0</td>\\n\",\n       \"      <td>FE00</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2222</th>\\n\",\n       \"      <td>8-Apr-11</td>\\n\",\n       \"      <td>SACOIL HLDGS LTD</td>\\n\",\n       \"      <td>ZA</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>ZAE000127460</td>\\n\",\n       \"      <td>NPV(DI)</td>\\n\",\n       \"      <td>SAC</td>\\n\",\n       \"      <td>30.352694</td>\\n\",\n       \"      <td>3,195,020,413.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2470</th>\\n\",\n       \"      <td>27-Sep-04</td>\\n\",\n       \"      <td>SURGUTNEFTEGAZ</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>Trading Only</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>US8688612048</td>\\n\",\n       \"      <td>ADR EACH REPR 10 ORD</td>\\n\",\n       \"      <td>SGGD</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>340,597,744.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>INHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2504</th>\\n\",\n       \"      <td>13-Dec-96</td>\\n\",\n       \"      <td>TATNEFT PJSC</td>\\n\",\n       \"      <td>RU</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard GDRs</td>\\n\",\n       \"      <td>US8766292051</td>\\n\",\n       \"      <td>ADR EACH REP 6 ORD SHS REGS</td>\\n\",\n       \"      <td>ATAD</td>\\n\",\n       \"      <td>8160.571386</td>\\n\",\n       \"      <td>363,116,666.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>IOBE</td>\\n\",\n       \"      <td>LLHE</td>\\n\",\n       \"      <td>USD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2564</th>\\n\",\n       \"      <td>26-Sep-73</td>\\n\",\n       \"      <td>TOTAL SA</td>\\n\",\n       \"      <td>FR</td>\\n\",\n       \"      <td>International Main Market</td>\\n\",\n       \"      <td>Standard Shares</td>\\n\",\n       \"      <td>FR0000120271</td>\\n\",\n       \"      <td>EUR2.5</td>\\n\",\n       \"      <td>TTA</td>\\n\",\n       \"      <td>88787.079286</td>\\n\",\n       \"      <td>2,444,133,158.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>SSMU</td>\\n\",\n       \"      <td>SMEU</td>\\n\",\n       \"      <td>EUR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2797</th>\\n\",\n       \"      <td>18-Jun-14</td>\\n\",\n       \"      <td>ZOLTAV RESOURCES INC</td>\\n\",\n       \"      <td>KY</td>\\n\",\n       \"      <td>AIM</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>KYG9895N1198</td>\\n\",\n       \"      <td>ORD USD0.2 (DI)</td>\\n\",\n       \"      <td>ZOL</td>\\n\",\n       \"      <td>31.883712</td>\\n\",\n       \"      <td>141,705,386.00</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas</td>\\n\",\n       \"      <td>Oil &amp; Gas Producers</td>\\n\",\n       \"      <td>Integrated Oil &amp; Gas</td>\\n\",\n       \"      <td>537</td>\\n\",\n       \"      <td>ASQ1</td>\\n\",\n       \"      <td>AMQ1</td>\\n\",\n       \"      <td>GBX</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"     Security Start Date                         Company Name  \\\\\\n\",\n       \"368            20-Dec-54  BP                                    \\n\",\n       \"369            20-Dec-54  BP                                    \\n\",\n       \"370            20-Dec-54  BP                                    \\n\",\n       \"499            18-Oct-00  CHINA PETROLEUM & CHEMICAL CORP       \\n\",\n       \"996            15-Nov-99  GAIL(INDIA)                           \\n\",\n       \"997            15-Nov-99  GAIL(INDIA)                           \\n\",\n       \"1009           12-Jun-06  GAZPROM NEFT PJSC                     \\n\",\n       \"1010           28-Oct-96  GAZPROM OAO                           \\n\",\n       \"1011           28-Oct-96  GAZPROM OAO                           \\n\",\n       \"1083           27-Oct-14  GREEN DRAGON GAS LTD                  \\n\",\n       \"1164           30-Jun-98  HELLENIC PETROLEUM SA                 \\n\",\n       \"1165           30-Jun-98  HELLENIC PETROLEUM SA                 \\n\",\n       \"1562            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1563            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1564            7-May-97  LUKOIL PJSC                           \\n\",\n       \"1582           27-Sep-04  MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR   \\n\",\n       \"1601            2-Jun-95  MANDO MACHINERY CORP                  \\n\",\n       \"1602            2-Jun-95  MANDO MACHINERY CORP                  \\n\",\n       \"2177           19-Jul-06  ROSNEFT OIL CO                        \\n\",\n       \"2178           19-Jul-06  ROSNEFT OIL CO                        \\n\",\n       \"2204           20-Jul-05  ROYAL DUTCH SHELL                     \\n\",\n       \"2205           20-Jul-05  ROYAL DUTCH SHELL                     \\n\",\n       \"2222            8-Apr-11  SACOIL HLDGS LTD                      \\n\",\n       \"2470           27-Sep-04  SURGUTNEFTEGAZ                        \\n\",\n       \"2504           13-Dec-96  TATNEFT PJSC                          \\n\",\n       \"2564           26-Sep-73  TOTAL SA                              \\n\",\n       \"2797           18-Jun-14  ZOLTAV RESOURCES INC                  \\n\",\n       \"\\n\",\n       \"     Country of Incorporation                 LSE Market  \\\\\\n\",\n       \"368                        GB             UK Main Market   \\n\",\n       \"369                        GB             UK Main Market   \\n\",\n       \"370                        GB             UK Main Market   \\n\",\n       \"499                        CN  International Main Market   \\n\",\n       \"996                        IN                        PSM   \\n\",\n       \"997                        IN                        PSM   \\n\",\n       \"1009                       RU               Trading Only   \\n\",\n       \"1010                       RU  International Main Market   \\n\",\n       \"1011                       RU  International Main Market   \\n\",\n       \"1083                       KY  International Main Market   \\n\",\n       \"1164                       GR  International Main Market   \\n\",\n       \"1165                       GR  International Main Market   \\n\",\n       \"1562                       RU  International Main Market   \\n\",\n       \"1563                       RU  International Main Market   \\n\",\n       \"1564                       RU  International Main Market   \\n\",\n       \"1582                       HU               Trading Only   \\n\",\n       \"1601                       KR  International Main Market   \\n\",\n       \"1602                       KR  International Main Market   \\n\",\n       \"2177                       RU  International Main Market   \\n\",\n       \"2178                       RU  International Main Market   \\n\",\n       \"2204                       GB             UK Main Market   \\n\",\n       \"2205                       GB             UK Main Market   \\n\",\n       \"2222                       ZA                        AIM   \\n\",\n       \"2470                       RU               Trading Only   \\n\",\n       \"2504                       RU  International Main Market   \\n\",\n       \"2564                       FR  International Main Market   \\n\",\n       \"2797                       KY                        AIM   \\n\",\n       \"\\n\",\n       \"                     FCA Listing Category          ISIN  \\\\\\n\",\n       \"368                       Standard Shares  GB0001385474   \\n\",\n       \"369                       Standard Shares  GB0001385250   \\n\",\n       \"370   Premium Equity Commercial Companies  GB0007980591   \\n\",\n       \"499                         Standard GDRs  US16941R1086   \\n\",\n       \"996                         Standard GDRs  US36268T1079   \\n\",\n       \"997                         Standard GDRs  US36268T2069   \\n\",\n       \"1009                                  NaN  US36829G1076   \\n\",\n       \"1010                        Standard GDRs  US3682871088   \\n\",\n       \"1011                        Standard GDRs  US3682872078   \\n\",\n       \"1083                      Standard Shares  KYG409381053   \\n\",\n       \"1164                        Standard GDRs  US4233231046   \\n\",\n       \"1165                        Standard GDRs  US4233232036   \\n\",\n       \"1562                        Standard GDRs  US69343P2048   \\n\",\n       \"1563                        Standard GDRs  US69343P1057   \\n\",\n       \"1564                      Standard Shares  RU0009024277   \\n\",\n       \"1582                                  NaN  US6084642023   \\n\",\n       \"1601                        Standard GDRs  USY576241019   \\n\",\n       \"1602                        Standard GDRs  US5626651096   \\n\",\n       \"2177                        Standard GDRs  US67812M1080   \\n\",\n       \"2178                        Standard GDRs  US67812M2070   \\n\",\n       \"2204  Premium Equity Commercial Companies  GB00B03MLX29   \\n\",\n       \"2205  Premium Equity Commercial Companies  GB00B03MM408   \\n\",\n       \"2222                                  NaN  ZAE000127460   \\n\",\n       \"2470                                  NaN  US8688612048   \\n\",\n       \"2504                        Standard GDRs  US8766292051   \\n\",\n       \"2564                      Standard Shares  FR0000120271   \\n\",\n       \"2797                                  NaN  KYG9895N1198   \\n\",\n       \"\\n\",\n       \"                                 Security Name   TIDM     Mkt Cap £m  \\\\\\n\",\n       \"368   9% CUM 2ND PRF GBP1                        BP.B   80288.531993   \\n\",\n       \"369   8% CUM 1ST PRF GBP1                        BP.A   80288.531993   \\n\",\n       \"370   ORD USD0.25                                BP.    80288.531993   \\n\",\n       \"499   ADS EACH REP 100'H'SHS CNY1                SNP     8820.761210   \\n\",\n       \"996   GDR EACH REP 6 ORD INR10 144A              GAIA       0.000000   \\n\",\n       \"997   GDR EACH REP 6 ORD INR10 REG'S'            GAID       0.000000   \\n\",\n       \"1009  LEVEL 1 ADR EACH REPR 5 ORD SHS            GAZ        0.000000   \\n\",\n       \"1010  ADS EACH REP 10 ORD REGD 144A              81JK   36475.696309   \\n\",\n       \"1011  ADS EACH REPR 2 ORD SHS                    OGZD   36475.696309   \\n\",\n       \"1083  ORD USD0.0001 (DI)                         GDG      359.348630   \\n\",\n       \"1164  GDS EACH REPR 1 ORD SH'144A'               98LQ       0.000000   \\n\",\n       \"1165  GDS EACH REPR 1 ORD REG'S'                 HLPD       0.000000   \\n\",\n       \"1562  GDR EACH REPR 1 ORD RUB0.025 SPON 144A     LKOE   58934.583841   \\n\",\n       \"1563  ADR EACH REPR 1 ORD RUB0.025 SPON          LKOD   58934.583841   \\n\",\n       \"1564  RUB0.025                                   LKOH   58934.583841   \\n\",\n       \"1582  ADR EACH REP 0.50 ORD SHS(REG'S')          MOLD       0.000000   \\n\",\n       \"1601  GDR EACH REP 1/2 ORD                       MNMD       0.000000   \\n\",\n       \"1602  GDR EACH REPR 1/2 SHARE(144A)              05IS       0.000000   \\n\",\n       \"2177  GDR EACH REPR 1 ORD '144A'                 40XT   38202.664097   \\n\",\n       \"2178  GDR EACH REPR 1 ORD 'REGS'                 ROSN   38202.664097   \\n\",\n       \"2204  'A'ORD EUR0.07                             RDSA  153220.715397   \\n\",\n       \"2205  ORD EUR0.07 B                              RDSB  153220.715397   \\n\",\n       \"2222  NPV(DI)                                   SAC        30.352694   \\n\",\n       \"2470  ADR EACH REPR 10 ORD                       SGGD       0.000000   \\n\",\n       \"2504  ADR EACH REP 6 ORD SHS REGS                ATAD    8160.571386   \\n\",\n       \"2564  EUR2.5                                     TTA    88787.079286   \\n\",\n       \"2797  ORD USD0.2 (DI)                           ZOL        31.883712   \\n\",\n       \"\\n\",\n       \"        Shares in Issue   Industry Supersector               Sector  \\\\\\n\",\n       \"368        5,473,414.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"369        7,232,838.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"370   18,758,751,584.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"499      192,975,620.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"996                0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"997       25,833,333.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1009      20,348,882.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1010               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1011  11,836,756,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1083     142,316,289.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1164               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1165      23,215,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1562       3,450,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1563     850,563,000.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1564     850,563,255.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1582               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1601         806,234.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"1602               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2177               0.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2178   9,597,430,705.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2204   4,325,899,655.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2205   3,745,486,731.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2222   3,195,020,413.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2470     340,597,744.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2504     363,116,666.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2564   2,444,133,158.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"2797     141,705,386.00  Oil & Gas   Oil & Gas  Oil & Gas Producers   \\n\",\n       \"\\n\",\n       \"                 Subsector  Group MarketSegmentCode MarketSectorCode  \\\\\\n\",\n       \"368   Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"369   Integrated Oil & Gas    537              SSQ3             SQS3   \\n\",\n       \"370   Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"499   Integrated Oil & Gas    537              IOBU             LLLU   \\n\",\n       \"996   Integrated Oil & Gas    537              MISC             INPE   \\n\",\n       \"997   Integrated Oil & Gas    537              IOBE             IPHE   \\n\",\n       \"1009  Integrated Oil & Gas    537              IOBE             INHE   \\n\",\n       \"1010  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1011  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"1083  Integrated Oil & Gas    537              SSMU             SMEW   \\n\",\n       \"1164  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1165  Integrated Oil & Gas    537              IOBU             LLLN   \\n\",\n       \"1562  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"1563  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"1564  Integrated Oil & Gas    537              SSX4             SXSN   \\n\",\n       \"1582  Integrated Oil & Gas    537              IOBU             INLN   \\n\",\n       \"1601  Integrated Oil & Gas    537              IOBU             LLLN   \\n\",\n       \"1602  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"2177  Integrated Oil & Gas    537              MISC             INTM   \\n\",\n       \"2178  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"2204  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"2205  Integrated Oil & Gas    537              SET0             FE00   \\n\",\n       \"2222  Integrated Oil & Gas    537              ASQ1             AMQ1   \\n\",\n       \"2470  Integrated Oil & Gas    537              IOBE             INHE   \\n\",\n       \"2504  Integrated Oil & Gas    537              IOBE             LLHE   \\n\",\n       \"2564  Integrated Oil & Gas    537              SSMU             SMEU   \\n\",\n       \"2797  Integrated Oil & Gas    537              ASQ1             AMQ1   \\n\",\n       \"\\n\",\n       \"     Trading Currency  \\n\",\n       \"368               GBX  \\n\",\n       \"369               GBX  \\n\",\n       \"370               GBX  \\n\",\n       \"499               USD  \\n\",\n       \"996               USD  \\n\",\n       \"997               USD  \\n\",\n       \"1009              USD  \\n\",\n       \"1010              USD  \\n\",\n       \"1011              USD  \\n\",\n       \"1083              GBX  \\n\",\n       \"1164              USD  \\n\",\n       \"1165              USD  \\n\",\n       \"1562              USD  \\n\",\n       \"1563              USD  \\n\",\n       \"1564              USD  \\n\",\n       \"1582              USD  \\n\",\n       \"1601              USD  \\n\",\n       \"1602              USD  \\n\",\n       \"2177              USD  \\n\",\n       \"2178              USD  \\n\",\n       \"2204              GBX  \\n\",\n       \"2205              GBX  \\n\",\n       \"2222              GBX  \\n\",\n       \"2470              USD  \\n\",\n       \"2504              USD  \\n\",\n       \"2564              EUR  \\n\",\n       \"2797              GBX  \"\n      ]\n     },\n     \"execution_count\": 4,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"print(\\\"Number of companies: \\\", len(lse_list[lse_list['Group'] == 537]))\\n\",\n    \"lse_list[lse_list['Group'] == 537]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array(['BP                                 ',\\n\",\n       \"       'CHINA PETROLEUM & CHEMICAL CORP    ',\\n\",\n       \"       'GAIL(INDIA)                        ',\\n\",\n       \"       'GAZPROM NEFT PJSC                  ',\\n\",\n       \"       'GAZPROM OAO                        ',\\n\",\n       \"       'GREEN DRAGON GAS LTD               ',\\n\",\n       \"       'HELLENIC PETROLEUM SA              ',\\n\",\n       \"       'LUKOIL PJSC                        ',\\n\",\n       \"       'MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR',\\n\",\n       \"       'MANDO MACHINERY CORP               ',\\n\",\n       \"       'ROSNEFT OIL CO                     ',\\n\",\n       \"       'ROYAL DUTCH SHELL                  ',\\n\",\n       \"       'SACOIL HLDGS LTD                   ',\\n\",\n       \"       'SURGUTNEFTEGAZ                     ',\\n\",\n       \"       'TATNEFT PJSC                       ',\\n\",\n       \"       'TOTAL SA                           ',\\n\",\n       \"       'ZOLTAV RESOURCES INC               '], dtype=object)\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Print only company names\\n\",\n    \"lse_list[lse_list['Group'] == 537]['Company Name'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array(['BP.B', 'BP.A', 'BP. ', 'SNP ', 'GAIA', 'GAID', 'GAZ ', '81JK',\\n\",\n       \"       'OGZD', 'GDG ', '98LQ', 'HLPD', 'LKOE', 'LKOD', 'LKOH', 'MOLD',\\n\",\n       \"       'MNMD', '05IS', '40XT', 'ROSN', 'RDSA', 'RDSB', 'SAC  ', 'SGGD',\\n\",\n       \"       'ATAD', 'TTA ', 'ZOL  '], dtype=object)\"\n      ]\n     },\n     \"execution_count\": 20,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Print only company names\\n\",\n    \"oil_symbols = lse_list[lse_list['Group'] == 537]['TIDM'].unique()\\n\",\n    \"oil_symbols\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'df' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-6-c3e9646facf6>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mcompanies\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mdf\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m'Symbol'\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0munique\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      2\\u001b[0m \\u001b[0mcompanies\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'df' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"companies = df['Symbol'].unique()\\n\",\n    \"companies\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"OMG do I have to compile the freaking FTSE100 myself??\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>ticker</th>\\n\",\n       \"      <th>name</th>\\n\",\n       \"      <th>premium_code</th>\\n\",\n       \"      <th>free_code</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>ADN</td>\\n\",\n       \"      <td>Aberdeen Asset Management</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ADN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>ADM</td>\\n\",\n       \"      <td>Admiral Group</td>\\n\",\n       \"      <td>EOD/ADM</td>\\n\",\n       \"      <td>GOOG/LON_ADM</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>AGK</td>\\n\",\n       \"      <td>Aggreko</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_AGK</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>AMEC</td>\\n\",\n       \"      <td>AMEC</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_AMEC</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>AAL</td>\\n\",\n       \"      <td>Anglo American plc</td>\\n\",\n       \"      <td>EOD/AAL</td>\\n\",\n       \"      <td>GOOG/LON_AAL</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>ANTO</td>\\n\",\n       \"      <td>Antofagasta</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ANTO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>ARM</td>\\n\",\n       \"      <td>ARM Holdings</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ARM</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>ABF</td>\\n\",\n       \"      <td>Associated British Foods</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ABF</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>AZN</td>\\n\",\n       \"      <td>AstraZeneca</td>\\n\",\n       \"      <td>EOD/AZN</td>\\n\",\n       \"      <td>GOOG/LON_AZN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>AV</td>\\n\",\n       \"      <td>Aviva</td>\\n\",\n       \"      <td>EOD/AV</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>BAB</td>\\n\",\n       \"      <td>Babcock International</td>\\n\",\n       \"      <td>EOD/BAB</td>\\n\",\n       \"      <td>GOOG/LON_BAB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>11</th>\\n\",\n       \"      <td>BA</td>\\n\",\n       \"      <td>BAE Systems</td>\\n\",\n       \"      <td>EOD/BA</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>12</th>\\n\",\n       \"      <td>BARC</td>\\n\",\n       \"      <td>Barclays</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BARC</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13</th>\\n\",\n       \"      <td>BG</td>\\n\",\n       \"      <td>BG Group</td>\\n\",\n       \"      <td>EOD/BG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>14</th>\\n\",\n       \"      <td>BLT</td>\\n\",\n       \"      <td>BHP Billiton</td>\\n\",\n       \"      <td>EOD/BLT</td>\\n\",\n       \"      <td>GOOG/LON_BLT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>15</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>EOD/BP</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>16</th>\\n\",\n       \"      <td>BTI</td>\\n\",\n       \"      <td>British American Tobacco</td>\\n\",\n       \"      <td>EOD/BTI</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>17</th>\\n\",\n       \"      <td>BLND</td>\\n\",\n       \"      <td>British Land Co</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BLND</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>18</th>\\n\",\n       \"      <td>BSY</td>\\n\",\n       \"      <td>BSkyB</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BSY</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>19</th>\\n\",\n       \"      <td>BT_A</td>\\n\",\n       \"      <td>BT Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BT_A</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>20</th>\\n\",\n       \"      <td>BNZL</td>\\n\",\n       \"      <td>Bunzl</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BNZL</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>21</th>\\n\",\n       \"      <td>BRBY</td>\\n\",\n       \"      <td>Burberry Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_BRBY</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>22</th>\\n\",\n       \"      <td>CPI</td>\\n\",\n       \"      <td>Capita</td>\\n\",\n       \"      <td>EOD/CPI</td>\\n\",\n       \"      <td>GOOG/LON_CPI</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>23</th>\\n\",\n       \"      <td>CUK</td>\\n\",\n       \"      <td>Carnival plc</td>\\n\",\n       \"      <td>EOD/CUK</td>\\n\",\n       \"      <td>GOOG/LON_CUK</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>24</th>\\n\",\n       \"      <td>CNA</td>\\n\",\n       \"      <td>Centrica</td>\\n\",\n       \"      <td>EOD/CNA</td>\\n\",\n       \"      <td>GOOG/LON_CNA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25</th>\\n\",\n       \"      <td>CCH</td>\\n\",\n       \"      <td>Coca-Cola HBC AG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>26</th>\\n\",\n       \"      <td>CPG</td>\\n\",\n       \"      <td>Compass Group</td>\\n\",\n       \"      <td>EOD/CPG</td>\\n\",\n       \"      <td>GOOG/LON_CPG</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>27</th>\\n\",\n       \"      <td>CRH</td>\\n\",\n       \"      <td>CRH plc</td>\\n\",\n       \"      <td>EOD/CRH</td>\\n\",\n       \"      <td>GOOG/LON_CRH</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>28</th>\\n\",\n       \"      <td>CRDA</td>\\n\",\n       \"      <td>Croda International</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_CRDA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>29</th>\\n\",\n       \"      <td>DGE</td>\\n\",\n       \"      <td>Diageo</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_DGE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>68</th>\\n\",\n       \"      <td>RIO</td>\\n\",\n       \"      <td>Rio Tinto Group</td>\\n\",\n       \"      <td>EOD/RIO</td>\\n\",\n       \"      <td>GOOG/LON_RIO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>69</th>\\n\",\n       \"      <td>RR</td>\\n\",\n       \"      <td>Rolls-Royce Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>70</th>\\n\",\n       \"      <td>RBS</td>\\n\",\n       \"      <td>Royal Bank of Scotland Group</td>\\n\",\n       \"      <td>EOD/RBS</td>\\n\",\n       \"      <td>GOOG/LON_RBS</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>71</th>\\n\",\n       \"      <td>RDSA</td>\\n\",\n       \"      <td>Royal Dutch Shell</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_RDSA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>72</th>\\n\",\n       \"      <td>RSA</td>\\n\",\n       \"      <td>RSA Insurance Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_RSA</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>73</th>\\n\",\n       \"      <td>SAB</td>\\n\",\n       \"      <td>SABMiller</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SAB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>74</th>\\n\",\n       \"      <td>SGE</td>\\n\",\n       \"      <td>Sage Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SGE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75</th>\\n\",\n       \"      <td>SDR</td>\\n\",\n       \"      <td>Schroders</td>\\n\",\n       \"      <td>EOD/SDR</td>\\n\",\n       \"      <td>GOOG/LON_SDR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>76</th>\\n\",\n       \"      <td>SRP</td>\\n\",\n       \"      <td>Serco</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SRP</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>77</th>\\n\",\n       \"      <td>SVT</td>\\n\",\n       \"      <td>Severn Trent</td>\\n\",\n       \"      <td>EOD/SVT</td>\\n\",\n       \"      <td>GOOG/LON_SVT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>78</th>\\n\",\n       \"      <td>SHPG</td>\\n\",\n       \"      <td>Shire plc</td>\\n\",\n       \"      <td>EOD/SHPG</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>79</th>\\n\",\n       \"      <td>SNN</td>\\n\",\n       \"      <td>Smith &amp; Nephew</td>\\n\",\n       \"      <td>EOD/SNN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>80</th>\\n\",\n       \"      <td>SMIN</td>\\n\",\n       \"      <td>Smiths Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_SMIN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>81</th>\\n\",\n       \"      <td>SSE</td>\\n\",\n       \"      <td>SSE plc</td>\\n\",\n       \"      <td>EOD/SSE</td>\\n\",\n       \"      <td>GOOG/LON_SSE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>82</th>\\n\",\n       \"      <td>STAN</td>\\n\",\n       \"      <td>Standard Chartered</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_STAN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>83</th>\\n\",\n       \"      <td>SL</td>\\n\",\n       \"      <td>Standard Life</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>84</th>\\n\",\n       \"      <td>TATE</td>\\n\",\n       \"      <td>Tate &amp; Lyle</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_TATE</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>85</th>\\n\",\n       \"      <td>TSCO</td>\\n\",\n       \"      <td>Tesco</td>\\n\",\n       \"      <td>EOD/TSCO</td>\\n\",\n       \"      <td>GOOG/LON_TSCO</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>86</th>\\n\",\n       \"      <td>TT</td>\\n\",\n       \"      <td>TUI Travel</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>87</th>\\n\",\n       \"      <td>TLW</td>\\n\",\n       \"      <td>Tullow Oil</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_TLW</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>88</th>\\n\",\n       \"      <td>ULVR</td>\\n\",\n       \"      <td>Unilever</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_ULVR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>89</th>\\n\",\n       \"      <td>UU</td>\\n\",\n       \"      <td>United Utilities</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>90</th>\\n\",\n       \"      <td>VED</td>\\n\",\n       \"      <td>Vedanta Resources</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_VED</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>91</th>\\n\",\n       \"      <td>VOD</td>\\n\",\n       \"      <td>Vodafone Group</td>\\n\",\n       \"      <td>EOD/VOD</td>\\n\",\n       \"      <td>GOOG/LON_VOD</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>92</th>\\n\",\n       \"      <td>WEIR</td>\\n\",\n       \"      <td>Weir Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WEIR</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>93</th>\\n\",\n       \"      <td>WTB</td>\\n\",\n       \"      <td>Whitbread</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WTB</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>94</th>\\n\",\n       \"      <td>WOS</td>\\n\",\n       \"      <td>Wolseley plc</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WOS</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>95</th>\\n\",\n       \"      <td>WG_</td>\\n\",\n       \"      <td>Wood Group</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_WG_</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>96</th>\\n\",\n       \"      <td>WPP</td>\\n\",\n       \"      <td>WPP plc</td>\\n\",\n       \"      <td>EOD/WPP</td>\\n\",\n       \"      <td>GOOG/LON_WPP</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>97</th>\\n\",\n       \"      <td>XTA</td>\\n\",\n       \"      <td>Xstrata</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>GOOG/LON_XTA</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>98 rows × 4 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   ticker                          name premium_code      free_code\\n\",\n       \"0     ADN     Aberdeen Asset Management          NaN   GOOG/LON_ADN\\n\",\n       \"1     ADM                 Admiral Group      EOD/ADM   GOOG/LON_ADM\\n\",\n       \"2     AGK                       Aggreko          NaN   GOOG/LON_AGK\\n\",\n       \"3    AMEC                          AMEC          NaN  GOOG/LON_AMEC\\n\",\n       \"4     AAL            Anglo American plc      EOD/AAL   GOOG/LON_AAL\\n\",\n       \"5    ANTO                   Antofagasta          NaN  GOOG/LON_ANTO\\n\",\n       \"6     ARM                  ARM Holdings          NaN   GOOG/LON_ARM\\n\",\n       \"7     ABF      Associated British Foods          NaN   GOOG/LON_ABF\\n\",\n       \"8     AZN                   AstraZeneca      EOD/AZN   GOOG/LON_AZN\\n\",\n       \"9      AV                         Aviva       EOD/AV            NaN\\n\",\n       \"10    BAB         Babcock International      EOD/BAB   GOOG/LON_BAB\\n\",\n       \"11     BA                   BAE Systems       EOD/BA            NaN\\n\",\n       \"12   BARC                      Barclays          NaN  GOOG/LON_BARC\\n\",\n       \"13     BG                      BG Group       EOD/BG            NaN\\n\",\n       \"14    BLT                  BHP Billiton      EOD/BLT   GOOG/LON_BLT\\n\",\n       \"15     BP                            BP       EOD/BP            NaN\\n\",\n       \"16    BTI      British American Tobacco      EOD/BTI            NaN\\n\",\n       \"17   BLND               British Land Co          NaN  GOOG/LON_BLND\\n\",\n       \"18    BSY                         BSkyB          NaN   GOOG/LON_BSY\\n\",\n       \"19   BT_A                      BT Group          NaN  GOOG/LON_BT_A\\n\",\n       \"20   BNZL                         Bunzl          NaN  GOOG/LON_BNZL\\n\",\n       \"21   BRBY                Burberry Group          NaN  GOOG/LON_BRBY\\n\",\n       \"22    CPI                        Capita      EOD/CPI   GOOG/LON_CPI\\n\",\n       \"23    CUK                  Carnival plc      EOD/CUK   GOOG/LON_CUK\\n\",\n       \"24    CNA                      Centrica      EOD/CNA   GOOG/LON_CNA\\n\",\n       \"25    CCH              Coca-Cola HBC AG          NaN            NaN\\n\",\n       \"26    CPG                 Compass Group      EOD/CPG   GOOG/LON_CPG\\n\",\n       \"27    CRH                       CRH plc      EOD/CRH   GOOG/LON_CRH\\n\",\n       \"28   CRDA           Croda International          NaN  GOOG/LON_CRDA\\n\",\n       \"29    DGE                        Diageo          NaN   GOOG/LON_DGE\\n\",\n       \"..    ...                           ...          ...            ...\\n\",\n       \"68    RIO               Rio Tinto Group      EOD/RIO   GOOG/LON_RIO\\n\",\n       \"69     RR             Rolls-Royce Group          NaN            NaN\\n\",\n       \"70    RBS  Royal Bank of Scotland Group      EOD/RBS   GOOG/LON_RBS\\n\",\n       \"71   RDSA             Royal Dutch Shell          NaN  GOOG/LON_RDSA\\n\",\n       \"72    RSA           RSA Insurance Group          NaN   GOOG/LON_RSA\\n\",\n       \"73    SAB                     SABMiller          NaN   GOOG/LON_SAB\\n\",\n       \"74    SGE                    Sage Group          NaN   GOOG/LON_SGE\\n\",\n       \"75    SDR                     Schroders      EOD/SDR   GOOG/LON_SDR\\n\",\n       \"76    SRP                         Serco          NaN   GOOG/LON_SRP\\n\",\n       \"77    SVT                  Severn Trent      EOD/SVT   GOOG/LON_SVT\\n\",\n       \"78   SHPG                     Shire plc     EOD/SHPG            NaN\\n\",\n       \"79    SNN                Smith & Nephew      EOD/SNN            NaN\\n\",\n       \"80   SMIN                  Smiths Group          NaN  GOOG/LON_SMIN\\n\",\n       \"81    SSE                       SSE plc      EOD/SSE   GOOG/LON_SSE\\n\",\n       \"82   STAN            Standard Chartered          NaN  GOOG/LON_STAN\\n\",\n       \"83     SL                 Standard Life          NaN            NaN\\n\",\n       \"84   TATE                   Tate & Lyle          NaN  GOOG/LON_TATE\\n\",\n       \"85   TSCO                         Tesco     EOD/TSCO  GOOG/LON_TSCO\\n\",\n       \"86     TT                    TUI Travel          NaN            NaN\\n\",\n       \"87    TLW                    Tullow Oil          NaN   GOOG/LON_TLW\\n\",\n       \"88   ULVR                      Unilever          NaN  GOOG/LON_ULVR\\n\",\n       \"89     UU              United Utilities          NaN            NaN\\n\",\n       \"90    VED             Vedanta Resources          NaN   GOOG/LON_VED\\n\",\n       \"91    VOD                Vodafone Group      EOD/VOD   GOOG/LON_VOD\\n\",\n       \"92   WEIR                    Weir Group          NaN  GOOG/LON_WEIR\\n\",\n       \"93    WTB                     Whitbread          NaN   GOOG/LON_WTB\\n\",\n       \"94    WOS                  Wolseley plc          NaN   GOOG/LON_WOS\\n\",\n       \"95    WG_                    Wood Group          NaN   GOOG/LON_WG_\\n\",\n       \"96    WPP                       WPP plc      EOD/WPP   GOOG/LON_WPP\\n\",\n       \"97    XTA                       Xstrata          NaN   GOOG/LON_XTA\\n\",\n       \"\\n\",\n       \"[98 rows x 4 columns]\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-list.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Why are there only 98 rows?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'ADN'\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100 = ftse100_csv['ticker'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>Date</td>\\n\",\n       \"      <td>Open</td>\\n\",\n       \"      <td>High</td>\\n\",\n       \"      <td>Low</td>\\n\",\n       \"      <td>Close</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>6858.7</td>\\n\",\n       \"      <td>6862.38</td>\\n\",\n       \"      <td>6762.3</td>\\n\",\n       \"      <td>6776.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"      <td>6889.64</td>\\n\",\n       \"      <td>6819.82</td>\\n\",\n       \"      <td>6858.7</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"      <td>6856.12</td>\\n\",\n       \"      <td>6814.87</td>\\n\",\n       \"      <td>6846.58</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"      <td>6887.92</td>\\n\",\n       \"      <td>6818.96</td>\\n\",\n       \"      <td>6826.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>2016-09-05</td>\\n\",\n       \"      <td>6894.6</td>\\n\",\n       \"      <td>6910.66</td>\\n\",\n       \"      <td>6867.08</td>\\n\",\n       \"      <td>6879.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"      <td>6928.25</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"      <td>6894.6</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>2016-09-01</td>\\n\",\n       \"      <td>6781.51</td>\\n\",\n       \"      <td>6826.22</td>\\n\",\n       \"      <td>6723.21</td>\\n\",\n       \"      <td>6745.97</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>2016-08-31</td>\\n\",\n       \"      <td>6820.79</td>\\n\",\n       \"      <td>6832.89</td>\\n\",\n       \"      <td>6779.54</td>\\n\",\n       \"      <td>6781.51</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>2016-08-30</td>\\n\",\n       \"      <td>6838.05</td>\\n\",\n       \"      <td>6851.83</td>\\n\",\n       \"      <td>6808.07</td>\\n\",\n       \"      <td>6820.79</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>2016-08-26</td>\\n\",\n       \"      <td>6816.9</td>\\n\",\n       \"      <td>6857.29</td>\\n\",\n       \"      <td>6798.82</td>\\n\",\n       \"      <td>6838.05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>11</th>\\n\",\n       \"      <td>2016-08-25</td>\\n\",\n       \"      <td>6835.78</td>\\n\",\n       \"      <td>6836.22</td>\\n\",\n       \"      <td>6779.15</td>\\n\",\n       \"      <td>6816.9</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>12</th>\\n\",\n       \"      <td>2016-08-24</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"      <td>6825.22</td>\\n\",\n       \"      <td>6835.78</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>13</th>\\n\",\n       \"      <td>2016-08-23</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"      <td>6885.39</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"      <td>6868.51</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>14</th>\\n\",\n       \"      <td>2016-08-22</td>\\n\",\n       \"      <td>6858.95</td>\\n\",\n       \"      <td>6884.61</td>\\n\",\n       \"      <td>6812.07</td>\\n\",\n       \"      <td>6828.54</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>15</th>\\n\",\n       \"      <td>2016-08-19</td>\\n\",\n       \"      <td>6868.96</td>\\n\",\n       \"      <td>6871.48</td>\\n\",\n       \"      <td>6840.94</td>\\n\",\n       \"      <td>6858.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>16</th>\\n\",\n       \"      <td>2016-08-18</td>\\n\",\n       \"      <td>6859.15</td>\\n\",\n       \"      <td>6893.35</td>\\n\",\n       \"      <td>6850.61</td>\\n\",\n       \"      <td>6868.96</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>17</th>\\n\",\n       \"      <td>2016-08-17</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"      <td>6920.76</td>\\n\",\n       \"      <td>6849.9</td>\\n\",\n       \"      <td>6859.15</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>18</th>\\n\",\n       \"      <td>2016-08-16</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"      <td>6893.92</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>19</th>\\n\",\n       \"      <td>2016-08-15</td>\\n\",\n       \"      <td>6916.02</td>\\n\",\n       \"      <td>6955.34</td>\\n\",\n       \"      <td>6907.17</td>\\n\",\n       \"      <td>6941.19</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>20</th>\\n\",\n       \"      <td>2016-08-12</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"      <td>6931.04</td>\\n\",\n       \"      <td>6896.04</td>\\n\",\n       \"      <td>6916.02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>21</th>\\n\",\n       \"      <td>2016-08-11</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"      <td>6812.73</td>\\n\",\n       \"      <td>6914.71</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>22</th>\\n\",\n       \"      <td>2016-08-10</td>\\n\",\n       \"      <td>6851.3</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"      <td>6820.04</td>\\n\",\n       \"      <td>6866.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>23</th>\\n\",\n       \"      <td>2016-08-09</td>\\n\",\n       \"      <td>6809.13</td>\\n\",\n       \"      <td>6863.1</td>\\n\",\n       \"      <td>6807.76</td>\\n\",\n       \"      <td>6851.3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>24</th>\\n\",\n       \"      <td>2016-08-08</td>\\n\",\n       \"      <td>6793.47</td>\\n\",\n       \"      <td>6829.47</td>\\n\",\n       \"      <td>6781.47</td>\\n\",\n       \"      <td>6809.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25</th>\\n\",\n       \"      <td>2016-08-05</td>\\n\",\n       \"      <td>6740.16</td>\\n\",\n       \"      <td>6802.41</td>\\n\",\n       \"      <td>6738.57</td>\\n\",\n       \"      <td>6793.47</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>26</th>\\n\",\n       \"      <td>2016-08-04</td>\\n\",\n       \"      <td>6634.4</td>\\n\",\n       \"      <td>6749.67</td>\\n\",\n       \"      <td>6615.83</td>\\n\",\n       \"      <td>6740.16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>27</th>\\n\",\n       \"      <td>2016-08-03</td>\\n\",\n       \"      <td>6645.4</td>\\n\",\n       \"      <td>6673.63</td>\\n\",\n       \"      <td>6621.42</td>\\n\",\n       \"      <td>6634.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>28</th>\\n\",\n       \"      <td>2016-08-02</td>\\n\",\n       \"      <td>6693.95</td>\\n\",\n       \"      <td>6694.14</td>\\n\",\n       \"      <td>6630.76</td>\\n\",\n       \"      <td>6645.4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>29</th>\\n\",\n       \"      <td>2016-08-01</td>\\n\",\n       \"      <td>6724.43</td>\\n\",\n       \"      <td>6769.41</td>\\n\",\n       \"      <td>6678.45</td>\\n\",\n       \"      <td>6693.95</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>30</th>\\n\",\n       \"      <td>2016-07-29</td>\\n\",\n       \"      <td>6721.06</td>\\n\",\n       \"      <td>6740.47</td>\\n\",\n       \"      <td>6691.13</td>\\n\",\n       \"      <td>6724.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>31</th>\\n\",\n       \"      <td>2016-07-28</td>\\n\",\n       \"      <td>6750.43</td>\\n\",\n       \"      <td>6762.72</td>\\n\",\n       \"      <td>6718.9</td>\\n\",\n       \"      <td>6721.06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>32</th>\\n\",\n       \"      <td>2016-07-27</td>\\n\",\n       \"      <td>6724.03</td>\\n\",\n       \"      <td>6780.05</td>\\n\",\n       \"      <td>6723.71</td>\\n\",\n       \"      <td>6750.43</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>33</th>\\n\",\n       \"      <td>2016-07-26</td>\\n\",\n       \"      <td>6710.13</td>\\n\",\n       \"      <td>6744.8</td>\\n\",\n       \"      <td>6708.58</td>\\n\",\n       \"      <td>6724.03</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>34</th>\\n\",\n       \"      <td>2016-07-25</td>\\n\",\n       \"      <td>6730.48</td>\\n\",\n       \"      <td>6756.13</td>\\n\",\n       \"      <td>6691.03</td>\\n\",\n       \"      <td>6710.13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>35</th>\\n\",\n       \"      <td>2016-07-22</td>\\n\",\n       \"      <td>6699.89</td>\\n\",\n       \"      <td>6735.94</td>\\n\",\n       \"      <td>6663.72</td>\\n\",\n       \"      <td>6730.48</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>36</th>\\n\",\n       \"      <td>2016-07-21</td>\\n\",\n       \"      <td>6728.99</td>\\n\",\n       \"      <td>6732.07</td>\\n\",\n       \"      <td>6694.52</td>\\n\",\n       \"      <td>6699.89</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>37</th>\\n\",\n       \"      <td>2016-07-20</td>\\n\",\n       \"      <td>6697.37</td>\\n\",\n       \"      <td>6736.57</td>\\n\",\n       \"      <td>6694.36</td>\\n\",\n       \"      <td>6728.99</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>38</th>\\n\",\n       \"      <td>2016-07-19</td>\\n\",\n       \"      <td>6695.42</td>\\n\",\n       \"      <td>6711.69</td>\\n\",\n       \"      <td>6660.87</td>\\n\",\n       \"      <td>6697.37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>39</th>\\n\",\n       \"      <td>2016-07-18</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"      <td>6715.58</td>\\n\",\n       \"      <td>6653.67</td>\\n\",\n       \"      <td>6695.42</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>40</th>\\n\",\n       \"      <td>2016-07-15</td>\\n\",\n       \"      <td>6654.47</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"      <td>6616.51</td>\\n\",\n       \"      <td>6669.24</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"          Date     Open     High      Low    Close\\n\",\n       \"0         Date     Open     High      Low    Close\\n\",\n       \"1   2016-09-09   6858.7  6862.38   6762.3  6776.95\\n\",\n       \"2   2016-09-08  6846.58  6889.64  6819.82   6858.7\\n\",\n       \"3   2016-09-07  6826.05  6856.12  6814.87  6846.58\\n\",\n       \"4   2016-09-06  6879.42  6887.92  6818.96  6826.05\\n\",\n       \"5   2016-09-05   6894.6  6910.66  6867.08  6879.42\\n\",\n       \"6   2016-09-02  6745.97  6928.25  6745.97   6894.6\\n\",\n       \"7   2016-09-01  6781.51  6826.22  6723.21  6745.97\\n\",\n       \"8   2016-08-31  6820.79  6832.89  6779.54  6781.51\\n\",\n       \"9   2016-08-30  6838.05  6851.83  6808.07  6820.79\\n\",\n       \"10  2016-08-26   6816.9  6857.29  6798.82  6838.05\\n\",\n       \"11  2016-08-25  6835.78  6836.22  6779.15   6816.9\\n\",\n       \"12  2016-08-24  6868.51  6868.51  6825.22  6835.78\\n\",\n       \"13  2016-08-23  6828.54  6885.39  6828.54  6868.51\\n\",\n       \"14  2016-08-22  6858.95  6884.61  6812.07  6828.54\\n\",\n       \"15  2016-08-19  6868.96  6871.48  6840.94  6858.95\\n\",\n       \"16  2016-08-18  6859.15  6893.35  6850.61  6868.96\\n\",\n       \"17  2016-08-17  6893.92  6920.76   6849.9  6859.15\\n\",\n       \"18  2016-08-16  6941.19  6941.19  6893.92  6893.92\\n\",\n       \"19  2016-08-15  6916.02  6955.34  6907.17  6941.19\\n\",\n       \"20  2016-08-12  6914.71  6931.04  6896.04  6916.02\\n\",\n       \"21  2016-08-11  6866.42  6914.71  6812.73  6914.71\\n\",\n       \"22  2016-08-10   6851.3  6866.42  6820.04  6866.42\\n\",\n       \"23  2016-08-09  6809.13   6863.1  6807.76   6851.3\\n\",\n       \"24  2016-08-08  6793.47  6829.47  6781.47  6809.13\\n\",\n       \"25  2016-08-05  6740.16  6802.41  6738.57  6793.47\\n\",\n       \"26  2016-08-04   6634.4  6749.67  6615.83  6740.16\\n\",\n       \"27  2016-08-03   6645.4  6673.63  6621.42   6634.4\\n\",\n       \"28  2016-08-02  6693.95  6694.14  6630.76   6645.4\\n\",\n       \"29  2016-08-01  6724.43  6769.41  6678.45  6693.95\\n\",\n       \"30  2016-07-29  6721.06  6740.47  6691.13  6724.43\\n\",\n       \"31  2016-07-28  6750.43  6762.72   6718.9  6721.06\\n\",\n       \"32  2016-07-27  6724.03  6780.05  6723.71  6750.43\\n\",\n       \"33  2016-07-26  6710.13   6744.8  6708.58  6724.03\\n\",\n       \"34  2016-07-25  6730.48  6756.13  6691.03  6710.13\\n\",\n       \"35  2016-07-22  6699.89  6735.94  6663.72  6730.48\\n\",\n       \"36  2016-07-21  6728.99  6732.07  6694.52  6699.89\\n\",\n       \"37  2016-07-20  6697.37  6736.57  6694.36  6728.99\\n\",\n       \"38  2016-07-19  6695.42  6711.69  6660.87  6697.37\\n\",\n       \"39  2016-07-18  6669.24  6715.58  6653.67  6695.42\\n\",\n       \"40  2016-07-15  6654.47  6669.24  6616.51  6669.24\"\n      ]\n     },\n     \"execution_count\": 18,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/ml-for-trading/.ipynb_checkpoints/2. Computational Investment-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Computational Investment\\n\",\n    \"\\n\",\n    \"Types of funds:\\n\",\n    \"<table>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"1. ETFs (Exchange Traded Funds)\\n\",\n    \"    - Like stocks: Buy or sell ETFs like stocks on a stock exchange.\\n\",\n    \"    - Represent baskets of stocks (or other instruments). They publish what they're holding.\\n\",\n    \"    - 4 or 3 - letter abbreviations (e.g. DSUM, SPLV)\\n\",\n    \"    - Transparent and liquid.\\n\",\n    \"    - Portfolio Managers compensated by Expense Ratio, a percentage e.g. 0.01% (1 bip) to 1.00% (unusual) of AUM.\\n\",\n    \"2. Mutual Funds\\n\",\n    \"    - Declared goal e.g. tracking the S&P 500.\\n\",\n    \"    - Buy or sell at the end of the day only.\\n\",\n    \"    - Disclose what they're holding once every quarter.\\n\",\n    \"    - 5-letter abbreviations (VTINX, FAGIX)\\n\",\n    \"    - Less but still somewhat transparent.\\n\",\n    \"    - Compensated by Expense Ratio 0.5% - 3.00% of AUM. Because management requires more 'skill'. Fund managers have more discretion as to what the fund comprises.\\n\",\n    \"3. Hedge Funds\\n\",\n    \"    - Buy or sell shares by agreement (the terms of which you're not allowed to reveal publicly). Often have minimum holding time, might not be allowed to withdraw all investment in one go.\\n\",\n    \"    - No disclosure (disclosure not required even to investors in hedge funds).\\n\",\n    \"    - Usually have no more than 100 investors.\\n\",\n    \"    - Not transparent.\\n\",\n    \"    - Compensated by 'Two and Twenty': 2% of AUM and 20% of the profits. Contains a component related to profits whereas ETFs and Mutual Funds don't. BUT now rates are usually much lower, e.g. One and Ten. SAC Capital charges Four and Forty. \\n\",\n    \"        - 2% of AUM could be initial amount or final amount (including P&L), depends on the hedge fund.\\n\",\n    \"\\n\",\n    \"**Liquid**: The ease with which one can buy or sell shares in a particular holding. (Higher liquidity -> higher ease.) Stocks and ETFs are liquid. \\n\",\n    \"**Large cap**: Cap = capitalisation, i.e. how much is the company worth according to # shares * price of stock? Apple has a capitalisation of hundreds of billions of dollars -> it is a large cap stock.\\n\",\n    \"Note: the price of a stock alone doesn't indicate the value of a company.\\n\",\n    \"\\n\",\n    \"Quiz: What type of fund is it?\\n\",\n    \"\\n\",\n    \"Incentives: How are the managers of these funds compensated?\\n\",\n    \"\\n\",\n    \"**AUM Assets under management**: How much money is being managed by the fund.\\n\",\n    \"\\n\",\n    \"Incentives (comparative):\\n\",\n    \"- Expense Ratio:\\n\",\n    \"    - AUM accumulation\\n\",\n    \"- Two and Twenty:\\n\",\n    \"    - Profits\\n\",\n    \"    - Risk taking\\n\",\n    \"    \\n\",\n    \"### How funds attract investors    \\n\",\n    \"Assuming you want to be a hedge fund manager.\\n\",\n    \"Can only have up to around 100 investors, so want each investor to invest a significant amount.\\n\",\n    \"\\n\",\n    \"Who:\\n\",\n    \"1. Individuals (wealthy people)\\n\",\n    \"2. Institutions (e.g. large retirement funds, university foundations e.g. the Harvard Uni Foundation)\\n\",\n    \"3. Funds of funds.\\n\",\n    \"\\n\",\n    \"Why (would these people invest in your hedge fund):\\n\",\n    \"1. Track record (prefer good track record for at least 5 years)\\n\",\n    \"2. Simulation (backtest your strategy) + compelling tory describing that strategy\\n\",\n    \"3. Portfolio fit (E.g. if you're doing small cap growth stocks and they haven't got that part of their portfolio filled)\\n\",\n    \"\\n\",\n    \"### Hedge fund goals and metrics\\n\",\n    \"Potential investors will want to know these.\\n\",\n    \"Goals (types hedge funds typically go after):\\n\",\n    \"1. Beat a benchmark e.g. SP500 because you think you can select which out of SP500 will outperform and discard the bad ones. \\n\",\n    \"    - Can still attain goal if it goes down as long as the index is going down more.\\n\",\n    \"2. Absolute return\\n\",\n    \"    - Usually Long/Short. Objective to make slow gradual positive returns no matter what. They usually have lower returns than benchmark-beating funds, but when the market takes a big hit, they often don't.\\n\",\n    \"\\n\",\n    \"Metrics\\n\",\n    \"1. Cumulative return\\n\",\n    \"    - \\n\",\n    \"2. Volatility\\n\",\n    \"3. Risk / Reward\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/ml-for-trading/.ipynb_checkpoints/3. ML for Trading Algorithms-checkpoint.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 03-01 \\n\",\n    \"\\n\",\n    \"### Predictive Process\\n\",\n    \"\\n\",\n    \"Process of predicting:\\n\",\n    \"1. Select predictive factors x1, x2, x3 (e.g. Bollinger Bands, P/E ratios)\\n\",\n    \"2. Select Y (e.g. Change in price, market relative change in price, future price.)\\n\",\n    \"3. Select Time period, stock universe\\n\",\n    \"4. Train model (e.g. KNN, Linear Regression, Decision Trees)\\n\",\n    \"5. Predict\\n\",\n    \"\\n\",\n    \"(Backtest)\\n\",\n    \"\\n\",\n    \"### An Example\\n\",\n    \"**Predictive factors:**\\n\",\n    \"- Average Run-up (%)\\n\",\n    \"- Beta\\n\",\n    \"- EMA (%)\\n\",\n    \"- Financial Stress Index\\n\",\n    \"- PEG Ratio\\n\",\n    \"- SMA (%)\\n\",\n    \"- SMA Momentum\\n\",\n    \"- SP500 SMA Change (%)\\n\",\n    \"- SP500 Volatility\\n\",\n    \"- Volatility\\n\",\n    \"\\n\",\n    \"Used genetic algorithm to discover these predictive factors.\\n\",\n    \"\\n\",\n    \"**E.g. query**\\n\",\n    \"Forecast: 1 month\\n\",\n    \"Lookback: 3 months\\n\",\n    \"\\n\",\n    \"**Outputs:**\\n\",\n    \"Confidence Intervals (Star rating): When use KNN, how diverse are the Ys that come back (standard deviation)? Greater STD -> Less confident.\\n\",\n    \"\\n\",\n    \"### Problems with regression\\n\",\n    \"Regression strategy in the video didn't beat the SP500 spectacularly.\\n\",\n    \"- Noisy and uncertain -> Value accumulated over many trades.\\n\",\n    \"- Challenging to estimate confidence (SD of nearest neighbours is an okayish measure)\\n\",\n    \"- Holding time, allocation (Unclear how long you should hold a position or how you should allocate to position.) -> Can address using reinforcement learning.\\n\",\n    \"\\n\",\n    \"### Problem in this class\\n\",\n    \"Train model on 2009 data. \\n\",\n    \"Test it over years 2010-2011.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 03-02\\n\",\n    \"\\n\",\n    \"Parametric models:\\n\",\n    \"Non-parametric (Instance-based) models: KNN or kernel regression (weighted by distance)\\n\",\n    \"\\n\",\n    \"### KNN\\n\",\n    \"- Horizontal lines i n edges -> can't extropolate.\\n\",\n    \"- Decrease K: more likely to overfit.\\n\",\n    \"\\n\",\n    \"### Polynomial model of degree d\\n\",\n    \"- More likely to overfit as d increases.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/ml-for-trading/2. Computational Investment.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Computational Investment\\n\",\n    \"\\n\",\n    \"Types of funds:\\n\",\n    \"<table>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"1. ETFs (Exchange Traded Funds)\\n\",\n    \"    - Like stocks: Buy or sell ETFs like stocks on a stock exchange.\\n\",\n    \"    - Represent baskets of stocks (or other instruments). They publish what they're holding.\\n\",\n    \"    - 4 or 3 - letter abbreviations (e.g. DSUM, SPLV)\\n\",\n    \"    - Transparent and liquid.\\n\",\n    \"    - Portfolio Managers compensated by Expense Ratio, a percentage e.g. 0.01% (1 bip) to 1.00% (unusual) of AUM.\\n\",\n    \"2. Mutual Funds\\n\",\n    \"    - Declared goal e.g. tracking the S&P 500.\\n\",\n    \"    - Buy or sell at the end of the day only.\\n\",\n    \"    - Disclose what they're holding once every quarter.\\n\",\n    \"    - 5-letter abbreviations (VTINX, FAGIX)\\n\",\n    \"    - Less but still somewhat transparent.\\n\",\n    \"    - Compensated by Expense Ratio 0.5% - 3.00% of AUM. Because management requires more 'skill'. Fund managers have more discretion as to what the fund comprises.\\n\",\n    \"3. Hedge Funds\\n\",\n    \"    - Buy or sell shares by agreement (the terms of which you're not allowed to reveal publicly). Often have minimum holding time, might not be allowed to withdraw all investment in one go.\\n\",\n    \"    - No disclosure (disclosure not required even to investors in hedge funds).\\n\",\n    \"    - Usually have no more than 100 investors.\\n\",\n    \"    - Not transparent.\\n\",\n    \"    - Compensated by 'Two and Twenty': 2% of AUM and 20% of the profits. Contains a component related to profits whereas ETFs and Mutual Funds don't. BUT now rates are usually much lower, e.g. One and Ten. SAC Capital charges Four and Forty. \\n\",\n    \"        - 2% of AUM could be initial amount or final amount (including P&L), depends on the hedge fund.\\n\",\n    \"\\n\",\n    \"**Liquid**: The ease with which one can buy or sell shares in a particular holding. (Higher liquidity -> higher ease.) Stocks and ETFs are liquid. \\n\",\n    \"**Large cap**: Cap = capitalisation, i.e. how much is the company worth according to # shares * price of stock? Apple has a capitalisation of hundreds of billions of dollars -> it is a large cap stock.\\n\",\n    \"Note: the price of a stock alone doesn't indicate the value of a company.\\n\",\n    \"\\n\",\n    \"Quiz: What type of fund is it?\\n\",\n    \"\\n\",\n    \"Incentives: How are the managers of these funds compensated?\\n\",\n    \"\\n\",\n    \"**AUM Assets under management**: How much money is being managed by the fund.\\n\",\n    \"\\n\",\n    \"Incentives (comparative):\\n\",\n    \"- Expense Ratio:\\n\",\n    \"    - AUM accumulation\\n\",\n    \"- Two and Twenty:\\n\",\n    \"    - Profits\\n\",\n    \"    - Risk taking\\n\",\n    \"    \\n\",\n    \"### How funds attract investors    \\n\",\n    \"Assuming you want to be a hedge fund manager.\\n\",\n    \"Can only have up to around 100 investors, so want each investor to invest a significant amount.\\n\",\n    \"\\n\",\n    \"Who:\\n\",\n    \"1. Individuals (wealthy people)\\n\",\n    \"2. Institutions (e.g. large retirement funds, university foundations e.g. the Harvard Uni Foundation)\\n\",\n    \"3. Funds of funds.\\n\",\n    \"\\n\",\n    \"Why (would these people invest in your hedge fund):\\n\",\n    \"1. Track record (prefer good track record for at least 5 years)\\n\",\n    \"2. Simulation (backtest your strategy) + compelling tory describing that strategy\\n\",\n    \"3. Portfolio fit (E.g. if you're doing small cap growth stocks and they haven't got that part of their portfolio filled)\\n\",\n    \"\\n\",\n    \"### Hedge fund goals and metrics\\n\",\n    \"Potential investors will want to know these.\\n\",\n    \"Goals (types hedge funds typically go after):\\n\",\n    \"1. Beat a benchmark e.g. SP500 because you think you can select which out of SP500 will outperform and discard the bad ones. \\n\",\n    \"    - Can still attain goal if it goes down as long as the index is going down more.\\n\",\n    \"2. Absolute return\\n\",\n    \"    - Usually Long/Short. Objective to make slow gradual positive returns no matter what. They usually have lower returns than benchmark-beating funds, but when the market takes a big hit, they often don't.\\n\",\n    \"\\n\",\n    \"Metrics\\n\",\n    \"1. Cumulative return\\n\",\n    \"    - \\n\",\n    \"2. Volatility\\n\",\n    \"3. Risk / Reward\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/ml-for-trading/3. ML for Trading Algorithms.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 03-01 \\n\",\n    \"\\n\",\n    \"### Predictive Process\\n\",\n    \"\\n\",\n    \"Process of predicting:\\n\",\n    \"1. Select predictive factors x1, x2, x3 (e.g. Bollinger Bands, P/E ratios)\\n\",\n    \"2. Select Y (e.g. Change in price, market relative change in price, future price.)\\n\",\n    \"3. Select Time period, stock universe\\n\",\n    \"4. Train model (e.g. KNN, Linear Regression, Decision Trees)\\n\",\n    \"5. Predict\\n\",\n    \"\\n\",\n    \"(Backtest)\\n\",\n    \"\\n\",\n    \"### An Example\\n\",\n    \"**Predictive factors:**\\n\",\n    \"- Average Run-up (%)\\n\",\n    \"- Beta\\n\",\n    \"- EMA (%)\\n\",\n    \"- Financial Stress Index\\n\",\n    \"- PEG Ratio\\n\",\n    \"- SMA (%)\\n\",\n    \"- SMA Momentum\\n\",\n    \"- SP500 SMA Change (%)\\n\",\n    \"- SP500 Volatility\\n\",\n    \"- Volatility\\n\",\n    \"\\n\",\n    \"Used genetic algorithm to discover these predictive factors.\\n\",\n    \"\\n\",\n    \"**E.g. query**\\n\",\n    \"Forecast: 1 month\\n\",\n    \"Lookback: 3 months\\n\",\n    \"\\n\",\n    \"**Outputs:**\\n\",\n    \"Confidence Intervals (Star rating): When use KNN, how diverse are the Ys that come back (standard deviation)? Greater STD -> Less confident.\\n\",\n    \"\\n\",\n    \"### Problems with regression\\n\",\n    \"Regression strategy in the video didn't beat the SP500 spectacularly.\\n\",\n    \"- Noisy and uncertain -> Value accumulated over many trades.\\n\",\n    \"- Challenging to estimate confidence (SD of nearest neighbours is an okayish measure)\\n\",\n    \"- Holding time, allocation (Unclear how long you should hold a position or how you should allocate to position.) -> Can address using reinforcement learning.\\n\",\n    \"\\n\",\n    \"### Problem in this class\\n\",\n    \"Train model on 2009 data. \\n\",\n    \"Test it over years 2010-2011.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 03-02\\n\",\n    \"\\n\",\n    \"Parametric models:\\n\",\n    \"Non-parametric (Instance-based) models: KNN or kernel regression (weighted by distance)\\n\",\n    \"\\n\",\n    \"### KNN\\n\",\n    \"- Horizontal lines i n edges -> can't extropolate.\\n\",\n    \"- Decrease K: more likely to overfit.\\n\",\n    \"\\n\",\n    \"### Polynomial model of degree d\\n\",\n    \"- More likely to overfit as d increases.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/p5.2-4-code.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Analysis, Methodology, Results\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"%matplotlib inline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# LSE daily data: Description and exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"header_names = ['Symbol',\\n\",\n    \" 'Date',\\n\",\n    \" 'Open',\\n\",\n    \" 'High',\\n\",\n    \" 'Low',\\n\",\n    \" 'Close',\\n\",\n    \" 'Volume',\\n\",\n    \" 'Ex-Dividend',\\n\",\n    \" 'Split Ratio',\\n\",\n    \" 'Adj. Open',\\n\",\n    \" 'Adj. High',\\n\",\n    \" 'Adj. Low',\\n\",\n    \" 'Adj. Close',\\n\",\n    \" 'Adj. Volume']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a data sample:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 43,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923200</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-26</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>16700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>267200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923201</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-27</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>86.25</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>15100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.244514</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>241600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923202</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-05-31</td>\\n\",\n       \"      <td>86.88</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>86.12</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.260909</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.241131</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923203</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-01</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>22700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>363200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923204</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-02</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>86.62</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>19100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.254143</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>305600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923205</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-03</td>\\n\",\n       \"      <td>86.75</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>86.50</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>30600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.257526</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.251020</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>489600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923206</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-06</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923207</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-07</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>27900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>446400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923208</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-08</td>\\n\",\n       \"      <td>87.62</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>20700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.280166</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>331200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923209</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-09</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.38</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.273921</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923210</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-10</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923211</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-13</td>\\n\",\n       \"      <td>87.25</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>31600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.270538</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>505600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923212</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-14</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>34100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>545600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923213</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-15</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>21000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>336000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923214</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-16</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>19500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>312000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923215</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-17</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>88.12</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>27200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.293178</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>435200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923216</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-20</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>18400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>294400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923217</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-21</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>22900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>366400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923218</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-22</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>19800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>316800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923219</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-23</td>\\n\",\n       \"      <td>88.88</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>14800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.312956</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>236800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923220</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-24</td>\\n\",\n       \"      <td>89.88</td>\\n\",\n       \"      <td>90.25</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>47400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.338979</td>\\n\",\n       \"      <td>2.348608</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>758400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923221</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-27</td>\\n\",\n       \"      <td>89.62</td>\\n\",\n       \"      <td>90.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>19900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.332213</td>\\n\",\n       \"      <td>2.342102</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>318400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923222</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-28</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.25</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>12800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.322584</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>204800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923223</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-29</td>\\n\",\n       \"      <td>89.38</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>16100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.325967</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>257600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923224</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-06-30</td>\\n\",\n       \"      <td>89.50</td>\\n\",\n       \"      <td>89.75</td>\\n\",\n       \"      <td>88.25</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>44700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.329090</td>\\n\",\n       \"      <td>2.335596</td>\\n\",\n       \"      <td>2.296561</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>715200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923225</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-01</td>\\n\",\n       \"      <td>88.75</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>88.50</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>12000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.309573</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.303067</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>192000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923226</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-05</td>\\n\",\n       \"      <td>88.62</td>\\n\",\n       \"      <td>89.00</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>40700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.306190</td>\\n\",\n       \"      <td>2.316079</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923227</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-06</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>88.00</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>21100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.290055</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>337600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923228</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-07</td>\\n\",\n       \"      <td>87.50</td>\\n\",\n       \"      <td>87.75</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>9700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.277044</td>\\n\",\n       \"      <td>2.283549</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>155200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923229</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-08</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>87.88</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>39400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.286932</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>630400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923230</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-11</td>\\n\",\n       \"      <td>87.00</td>\\n\",\n       \"      <td>87.12</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>45700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.264032</td>\\n\",\n       \"      <td>2.267155</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>731200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923231</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-12</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>81.25</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>131600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.114398</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2105600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923232</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-13</td>\\n\",\n       \"      <td>83.25</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>165700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.166444</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2651200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923233</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-15</td>\\n\",\n       \"      <td>83.75</td>\\n\",\n       \"      <td>84.12</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>91200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.179456</td>\\n\",\n       \"      <td>2.189085</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>1459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923234</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-18</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.50</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>83.38</td>\\n\",\n       \"      <td>45100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.172950</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.169827</td>\\n\",\n       \"      <td>721600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923235</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-19</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>32500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>520000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923236</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-20</td>\\n\",\n       \"      <td>84.38</td>\\n\",\n       \"      <td>84.75</td>\\n\",\n       \"      <td>83.12</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>28700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.195851</td>\\n\",\n       \"      <td>2.205479</td>\\n\",\n       \"      <td>2.163061</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>459200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923237</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-21</td>\\n\",\n       \"      <td>84.00</td>\\n\",\n       \"      <td>84.50</td>\\n\",\n       \"      <td>82.75</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>297900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.185962</td>\\n\",\n       \"      <td>2.198973</td>\\n\",\n       \"      <td>2.153433</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>4766400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923238</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-22</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>84.25</td>\\n\",\n       \"      <td>26100.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.192468</td>\\n\",\n       \"      <td>417600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923239</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-25</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.88</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>83.00</td>\\n\",\n       \"      <td>13800.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.182839</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>2.159938</td>\\n\",\n       \"      <td>220800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923240</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-26</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>82.50</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.50</td>\\n\",\n       \"      <td>74400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.146927</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.094880</td>\\n\",\n       \"      <td>1190400.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923241</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-27</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>80.25</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>48000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.088374</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>768000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923242</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-28</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>80.75</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>76000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.101386</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>1216000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923243</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-07-29</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>80.00</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>25200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.081868</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>403200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923244</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-01</td>\\n\",\n       \"      <td>79.75</td>\\n\",\n       \"      <td>79.88</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>11600.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.075363</td>\\n\",\n       \"      <td>2.078746</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>185600.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923245</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-02</td>\\n\",\n       \"      <td>79.38</td>\\n\",\n       \"      <td>79.50</td>\\n\",\n       \"      <td>78.12</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>30200.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.065734</td>\\n\",\n       \"      <td>2.068857</td>\\n\",\n       \"      <td>2.032944</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>483200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923246</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-03</td>\\n\",\n       \"      <td>78.25</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.25</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>25500.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.036328</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>408000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923247</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-04</td>\\n\",\n       \"      <td>77.50</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.016810</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1227200.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923248</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-05</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>78.50</td>\\n\",\n       \"      <td>50300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.045956</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>2.042833</td>\\n\",\n       \"      <td>804800.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923249</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-08-08</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>78.38</td>\\n\",\n       \"      <td>77.75</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>11000.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.039711</td>\\n\",\n       \"      <td>2.023316</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>176000.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close    Volume  Ex-Dividend  \\\\\\n\",\n       \"1923200     BP  1977-05-26  87.12  87.75  86.75  87.25   16700.0          0.0   \\n\",\n       \"1923201     BP  1977-05-27  87.00  87.00  86.25  86.88   15100.0          0.0   \\n\",\n       \"1923202     BP  1977-05-31  86.88  87.12  86.12  87.00   19100.0          0.0   \\n\",\n       \"1923203     BP  1977-06-01  87.00  87.62  86.50  87.25   22700.0          0.0   \\n\",\n       \"1923204     BP  1977-06-02  87.25  87.62  86.62  86.75   19100.0          0.0   \\n\",\n       \"1923205     BP  1977-06-03  86.75  87.38  86.50  87.38   30600.0          0.0   \\n\",\n       \"1923206     BP  1977-06-06  87.62  88.75  87.62  88.12   25200.0          0.0   \\n\",\n       \"1923207     BP  1977-06-07  88.12  88.25  87.62  87.62   27900.0          0.0   \\n\",\n       \"1923208     BP  1977-06-08  87.62  88.00  87.00  88.00   20700.0          0.0   \\n\",\n       \"1923209     BP  1977-06-09  87.88  87.88  87.38  87.88   25200.0          0.0   \\n\",\n       \"1923210     BP  1977-06-10  87.88  88.00  87.25  87.25   19300.0          0.0   \\n\",\n       \"1923211     BP  1977-06-13  87.25  87.50  87.00  87.50   31600.0          0.0   \\n\",\n       \"1923212     BP  1977-06-14  88.00  89.25  88.00  89.25   34100.0          0.0   \\n\",\n       \"1923213     BP  1977-06-15  89.25  89.38  88.50  89.25   21000.0          0.0   \\n\",\n       \"1923214     BP  1977-06-16  89.25  89.25  88.25  89.00   19500.0          0.0   \\n\",\n       \"1923215     BP  1977-06-17  89.00  89.38  88.12  88.75   27200.0          0.0   \\n\",\n       \"1923216     BP  1977-06-20  88.75  89.00  88.50  88.62   18400.0          0.0   \\n\",\n       \"1923217     BP  1977-06-21  88.62  89.50  88.62  89.00   22900.0          0.0   \\n\",\n       \"1923218     BP  1977-06-22  89.00  89.00  88.25  88.88   19800.0          0.0   \\n\",\n       \"1923219     BP  1977-06-23  88.88  89.88  88.75  89.88   14800.0          0.0   \\n\",\n       \"1923220     BP  1977-06-24  89.88  90.25  89.62  89.62   47400.0          0.0   \\n\",\n       \"1923221     BP  1977-06-27  89.62  90.00  89.50  89.50   19900.0          0.0   \\n\",\n       \"1923222     BP  1977-06-28  89.50  89.75  89.25  89.38   12800.0          0.0   \\n\",\n       \"1923223     BP  1977-06-29  89.38  89.75  89.00  89.50   16100.0          0.0   \\n\",\n       \"1923224     BP  1977-06-30  89.50  89.75  88.25  88.75   44700.0          0.0   \\n\",\n       \"1923225     BP  1977-07-01  88.75  89.00  88.50  88.62   12000.0          0.0   \\n\",\n       \"1923226     BP  1977-07-05  88.62  89.00  87.75  87.75   40700.0          0.0   \\n\",\n       \"1923227     BP  1977-07-06  87.75  88.00  87.50  87.50   21100.0          0.0   \\n\",\n       \"1923228     BP  1977-07-07  87.50  87.75  87.00  87.12    9700.0          0.0   \\n\",\n       \"1923229     BP  1977-07-08  87.12  87.88  87.00  87.00   39400.0          0.0   \\n\",\n       \"1923230     BP  1977-07-11  87.00  87.12  84.25  84.25   45700.0          0.0   \\n\",\n       \"1923231     BP  1977-07-12  83.50  83.50  81.25  83.25  131600.0          0.0   \\n\",\n       \"1923232     BP  1977-07-13  83.25  83.75  83.00  83.75  165700.0          0.0   \\n\",\n       \"1923233     BP  1977-07-15  83.75  84.12  83.00  83.50   91200.0          0.0   \\n\",\n       \"1923234     BP  1977-07-18  83.50  83.50  83.12  83.38   45100.0          0.0   \\n\",\n       \"1923235     BP  1977-07-19  83.88  84.50  83.88  84.38   32500.0          0.0   \\n\",\n       \"1923236     BP  1977-07-20  84.38  84.75  83.12  84.00   28700.0          0.0   \\n\",\n       \"1923237     BP  1977-07-21  84.00  84.50  82.75  83.00  297900.0          0.0   \\n\",\n       \"1923238     BP  1977-07-22  83.00  84.25  83.00  84.25   26100.0          0.0   \\n\",\n       \"1923239     BP  1977-07-25  83.88  83.88  83.00  83.00   13800.0          0.0   \\n\",\n       \"1923240     BP  1977-07-26  82.50  82.50  80.25  80.50   74400.0          0.0   \\n\",\n       \"1923241     BP  1977-07-27  80.25  80.25  77.25  78.25   48000.0          0.0   \\n\",\n       \"1923242     BP  1977-07-28  78.25  80.75  77.25  80.00   76000.0          0.0   \\n\",\n       \"1923243     BP  1977-07-29  80.00  80.00  78.25  79.75   25200.0          0.0   \\n\",\n       \"1923244     BP  1977-08-01  79.75  79.88  79.38  79.38   11600.0          0.0   \\n\",\n       \"1923245     BP  1977-08-02  79.38  79.50  78.12  78.25   30200.0          0.0   \\n\",\n       \"1923246     BP  1977-08-03  78.25  78.38  77.25  77.50   25500.0          0.0   \\n\",\n       \"1923247     BP  1977-08-04  77.50  78.00  76.75  78.00   76700.0          0.0   \\n\",\n       \"1923248     BP  1977-08-05  78.00  78.62  78.00  78.50   50300.0          0.0   \\n\",\n       \"1923249     BP  1977-08-08  78.38  78.38  77.75  78.00   11000.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\n\",\n       \"1923200          1.0   2.267155   2.283549  2.257526    2.270538     267200.0  \\n\",\n       \"1923201          1.0   2.264032   2.264032  2.244514    2.260909     241600.0  \\n\",\n       \"1923202          1.0   2.260909   2.267155  2.241131    2.264032     305600.0  \\n\",\n       \"1923203          1.0   2.264032   2.280166  2.251020    2.270538     363200.0  \\n\",\n       \"1923204          1.0   2.270538   2.280166  2.254143    2.257526     305600.0  \\n\",\n       \"1923205          1.0   2.257526   2.273921  2.251020    2.273921     489600.0  \\n\",\n       \"1923206          1.0   2.280166   2.309573  2.280166    2.293178     403200.0  \\n\",\n       \"1923207          1.0   2.293178   2.296561  2.280166    2.280166     446400.0  \\n\",\n       \"1923208          1.0   2.280166   2.290055  2.264032    2.290055     331200.0  \\n\",\n       \"1923209          1.0   2.286932   2.286932  2.273921    2.286932     403200.0  \\n\",\n       \"1923210          1.0   2.286932   2.290055  2.270538    2.270538     308800.0  \\n\",\n       \"1923211          1.0   2.270538   2.277044  2.264032    2.277044     505600.0  \\n\",\n       \"1923212          1.0   2.290055   2.322584  2.290055    2.322584     545600.0  \\n\",\n       \"1923213          1.0   2.322584   2.325967  2.303067    2.322584     336000.0  \\n\",\n       \"1923214          1.0   2.322584   2.322584  2.296561    2.316079     312000.0  \\n\",\n       \"1923215          1.0   2.316079   2.325967  2.293178    2.309573     435200.0  \\n\",\n       \"1923216          1.0   2.309573   2.316079  2.303067    2.306190     294400.0  \\n\",\n       \"1923217          1.0   2.306190   2.329090  2.306190    2.316079     366400.0  \\n\",\n       \"1923218          1.0   2.316079   2.316079  2.296561    2.312956     316800.0  \\n\",\n       \"1923219          1.0   2.312956   2.338979  2.309573    2.338979     236800.0  \\n\",\n       \"1923220          1.0   2.338979   2.348608  2.332213    2.332213     758400.0  \\n\",\n       \"1923221          1.0   2.332213   2.342102  2.329090    2.329090     318400.0  \\n\",\n       \"1923222          1.0   2.329090   2.335596  2.322584    2.325967     204800.0  \\n\",\n       \"1923223          1.0   2.325967   2.335596  2.316079    2.329090     257600.0  \\n\",\n       \"1923224          1.0   2.329090   2.335596  2.296561    2.309573     715200.0  \\n\",\n       \"1923225          1.0   2.309573   2.316079  2.303067    2.306190     192000.0  \\n\",\n       \"1923226          1.0   2.306190   2.316079  2.283549    2.283549     651200.0  \\n\",\n       \"1923227          1.0   2.283549   2.290055  2.277044    2.277044     337600.0  \\n\",\n       \"1923228          1.0   2.277044   2.283549  2.264032    2.267155     155200.0  \\n\",\n       \"1923229          1.0   2.267155   2.286932  2.264032    2.264032     630400.0  \\n\",\n       \"1923230          1.0   2.264032   2.267155  2.192468    2.192468     731200.0  \\n\",\n       \"1923231          1.0   2.172950   2.172950  2.114398    2.166444    2105600.0  \\n\",\n       \"1923232          1.0   2.166444   2.179456  2.159938    2.179456    2651200.0  \\n\",\n       \"1923233          1.0   2.179456   2.189085  2.159938    2.172950    1459200.0  \\n\",\n       \"1923234          1.0   2.172950   2.172950  2.163061    2.169827     721600.0  \\n\",\n       \"1923235          1.0   2.182839   2.198973  2.182839    2.195851     520000.0  \\n\",\n       \"1923236          1.0   2.195851   2.205479  2.163061    2.185962     459200.0  \\n\",\n       \"1923237          1.0   2.185962   2.198973  2.153433    2.159938    4766400.0  \\n\",\n       \"1923238          1.0   2.159938   2.192468  2.159938    2.192468     417600.0  \\n\",\n       \"1923239          1.0   2.182839   2.182839  2.159938    2.159938     220800.0  \\n\",\n       \"1923240          1.0   2.146927   2.146927  2.088374    2.094880    1190400.0  \\n\",\n       \"1923241          1.0   2.088374   2.088374  2.010304    2.036328     768000.0  \\n\",\n       \"1923242          1.0   2.036328   2.101386  2.010304    2.081868    1216000.0  \\n\",\n       \"1923243          1.0   2.081868   2.081868  2.036328    2.075363     403200.0  \\n\",\n       \"1923244          1.0   2.075363   2.078746  2.065734    2.065734     185600.0  \\n\",\n       \"1923245          1.0   2.065734   2.068857  2.032944    2.036328     483200.0  \\n\",\n       \"1923246          1.0   2.036328   2.039711  2.010304    2.016810     408000.0  \\n\",\n       \"1923247          1.0   2.016810   2.029822  1.997292    2.029822    1227200.0  \\n\",\n       \"1923248          1.0   2.029822   2.045956  2.029822    2.042833     804800.0  \\n\",\n       \"1923249          1.0   2.039711   2.039711  2.023316    2.029822     176000.0  \"\n      ]\n     },\n     \"execution_count\": 43,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"i = 1923200\\n\",\n    \"df.iloc[i:i+50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 44,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Symbol          object\\n\",\n       \"Date            object\\n\",\n       \"Open           float64\\n\",\n       \"High           float64\\n\",\n       \"Low            float64\\n\",\n       \"Close          float64\\n\",\n       \"Volume         float64\\n\",\n       \"Ex-Dividend    float64\\n\",\n       \"Split Ratio    float64\\n\",\n       \"Adj. Open      float64\\n\",\n       \"Adj. High      float64\\n\",\n       \"Adj. Low       float64\\n\",\n       \"Adj. Close     float64\\n\",\n       \"Adj. Volume    float64\\n\",\n       \"dtype: object\"\n      ]\n     },\n     \"execution_count\": 44,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.dtypes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Summary statistics across the entire dataset are not that informative:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/numpy/lib/function_base.py:3834: RuntimeWarning: Invalid value encountered in percentile\\n\",\n      \"  RuntimeWarning)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432935e+07</td>\\n\",\n       \"      <td>1.432932e+07</td>\\n\",\n       \"      <td>1.432922e+07</td>\\n\",\n       \"      <td>1.432819e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432886e+07</td>\\n\",\n       \"      <td>1.432913e+07</td>\\n\",\n       \"      <td>1.432934e+07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>7.092291e+01</td>\\n\",\n       \"      <td>7.188109e+01</td>\\n\",\n       \"      <td>7.047024e+01</td>\\n\",\n       \"      <td>7.120251e+01</td>\\n\",\n       \"      <td>1.182026e+06</td>\\n\",\n       \"      <td>1.982789e-03</td>\\n\",\n       \"      <td>1.000210e+00</td>\\n\",\n       \"      <td>7.518079e+01</td>\\n\",\n       \"      <td>7.633755e+01</td>\\n\",\n       \"      <td>7.451613e+01</td>\\n\",\n       \"      <td>7.544570e+01</td>\\n\",\n       \"      <td>1.402925e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>2.193723e+03</td>\\n\",\n       \"      <td>2.220224e+03</td>\\n\",\n       \"      <td>2.191789e+03</td>\\n\",\n       \"      <td>2.206792e+03</td>\\n\",\n       \"      <td>8.868551e+06</td>\\n\",\n       \"      <td>3.370723e-01</td>\\n\",\n       \"      <td>2.165061e-02</td>\\n\",\n       \"      <td>2.266636e+03</td>\\n\",\n       \"      <td>2.295340e+03</td>\\n\",\n       \"      <td>2.261718e+03</td>\\n\",\n       \"      <td>2.279264e+03</td>\\n\",\n       \"      <td>6.620816e+06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>1.000000e-02</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"      <td>NaN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>6.674913e+09</td>\\n\",\n       \"      <td>9.625000e+02</td>\\n\",\n       \"      <td>5.000000e+01</td>\\n\",\n       \"      <td>2.281800e+05</td>\\n\",\n       \"      <td>2.293740e+05</td>\\n\",\n       \"      <td>2.275300e+05</td>\\n\",\n       \"      <td>2.293000e+05</td>\\n\",\n       \"      <td>2.304019e+09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  1.432819e+07  1.432886e+07  1.432886e+07  1.432913e+07  1.432935e+07   \\n\",\n       \"mean   7.092291e+01  7.188109e+01  7.047024e+01  7.120251e+01  1.182026e+06   \\n\",\n       \"std    2.193723e+03  2.220224e+03  2.191789e+03  2.206792e+03  8.868551e+06   \\n\",\n       \"min    0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    2.281800e+05  2.293740e+05  2.275300e+05  2.293000e+05  6.674913e+09   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  1.432932e+07  1.432922e+07  1.432819e+07  1.432886e+07  1.432886e+07   \\n\",\n       \"mean   1.982789e-03  1.000210e+00  7.518079e+01  7.633755e+01  7.451613e+01   \\n\",\n       \"std    3.370723e-01  2.165061e-02  2.266636e+03  2.295340e+03  2.261718e+03   \\n\",\n       \"min    0.000000e+00  1.000000e-02  0.000000e+00  0.000000e+00  0.000000e+00   \\n\",\n       \"25%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"50%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"75%             NaN           NaN           NaN           NaN           NaN   \\n\",\n       \"max    9.625000e+02  5.000000e+01  2.281800e+05  2.293740e+05  2.275300e+05   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  \\n\",\n       \"count  1.432913e+07  1.432934e+07  \\n\",\n       \"mean   7.544570e+01  1.402925e+06  \\n\",\n       \"std    2.279264e+03  6.620816e+06  \\n\",\n       \"min    0.000000e+00  0.000000e+00  \\n\",\n       \"25%             NaN           NaN  \\n\",\n       \"50%             NaN           NaN  \\n\",\n       \"75%             NaN           NaN  \\n\",\n       \"max    2.293000e+05  2.304019e+09  \"\n      ]\n     },\n     \"execution_count\": 45,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"df.loc[:,'Daily Variation'] = df.loc[:,'High'] - df.loc[:,'Low']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# BP Data: Exploratory\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* Total 10010 rows. \\n\",\n    \"* Start date: 1977 January 3\\n\",\n    \"* End date: 2016 Sept 9\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"bp = df[1923099:1933109]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\\n\",\n    \"\\n\",\n    \"# 1923099 - 1933108\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>76.50</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>12400.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>198400.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>77.62</td>\\n\",\n       \"      <td>78.00</td>\\n\",\n       \"      <td>76.75</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>19300.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"      <td>2.029822</td>\\n\",\n       \"      <td>1.997292</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>308800.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>77.00</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>17900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>286400.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.50</td>\\n\",\n       \"      <td>74.50</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>23900.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.964763</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>382400.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>75.38</td>\\n\",\n       \"      <td>74.62</td>\\n\",\n       \"      <td>75.12</td>\\n\",\n       \"      <td>41700.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>1.961640</td>\\n\",\n       \"      <td>1.941863</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"      <td>667200.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open   High    Low  Close   Volume  Ex-Dividend  \\\\\\n\",\n       \"1923099     BP  1977-01-03  76.50  77.62  76.50  77.62  12400.0          0.0   \\n\",\n       \"1923100     BP  1977-01-04  77.62  78.00  76.75  77.00  19300.0          0.0   \\n\",\n       \"1923101     BP  1977-01-05  77.00  77.00  74.50  74.50  17900.0          0.0   \\n\",\n       \"1923102     BP  1977-01-06  74.50  75.50  74.50  75.12  23900.0          0.0   \\n\",\n       \"1923103     BP  1977-01-07  75.12  75.38  74.62  75.12  41700.0          0.0   \\n\",\n       \"\\n\",\n       \"         Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  Adj. Volume  \\\\\\n\",\n       \"1923099          1.0   1.990787   2.019933  1.990787    2.019933     198400.0   \\n\",\n       \"1923100          1.0   2.019933   2.029822  1.997292    2.003798     308800.0   \\n\",\n       \"1923101          1.0   2.003798   2.003798  1.938740    1.938740     286400.0   \\n\",\n       \"1923102          1.0   1.938740   1.964763  1.938740    1.954874     382400.0   \\n\",\n       \"1923103          1.0   1.954874   1.961640  1.941863    1.954874     667200.0   \\n\",\n       \"\\n\",\n       \"         Daily Variation  \\n\",\n       \"1923099                0  \\n\",\n       \"1923100                0  \\n\",\n       \"1923101                0  \\n\",\n       \"1923102                0  \\n\",\n       \"1923103                0  \"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Symbol</th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933104</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-02</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.25</td>\\n\",\n       \"      <td>34.750</td>\\n\",\n       \"      <td>34.160</td>\\n\",\n       \"      <td>34.50</td>\\n\",\n       \"      <td>6896283.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933105</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-06</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.55</td>\\n\",\n       \"      <td>34.760</td>\\n\",\n       \"      <td>34.380</td>\\n\",\n       \"      <td>34.69</td>\\n\",\n       \"      <td>4090421.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933106</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-07</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.78</td>\\n\",\n       \"      <td>34.910</td>\\n\",\n       \"      <td>34.650</td>\\n\",\n       \"      <td>34.76</td>\\n\",\n       \"      <td>3902827.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933107</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-08</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.89</td>\\n\",\n       \"      <td>35.175</td>\\n\",\n       \"      <td>34.660</td>\\n\",\n       \"      <td>35.08</td>\\n\",\n       \"      <td>5161379.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1933108</th>\\n\",\n       \"      <td>BP</td>\\n\",\n       \"      <td>2016-09-09</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"      <td>1.0</td>\\n\",\n       \"      <td>34.63</td>\\n\",\n       \"      <td>34.700</td>\\n\",\n       \"      <td>34.235</td>\\n\",\n       \"      <td>34.35</td>\\n\",\n       \"      <td>5434710.0</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        Symbol        Date   Open    High     Low  Close     Volume  \\\\\\n\",\n       \"1933104     BP  2016-09-02  34.25  34.750  34.160  34.50  6896283.0   \\n\",\n       \"1933105     BP  2016-09-06  34.55  34.760  34.380  34.69  4090421.0   \\n\",\n       \"1933106     BP  2016-09-07  34.78  34.910  34.650  34.76  3902827.0   \\n\",\n       \"1933107     BP  2016-09-08  34.89  35.175  34.660  35.08  5161379.0   \\n\",\n       \"1933108     BP  2016-09-09  34.63  34.700  34.235  34.35  5434710.0   \\n\",\n       \"\\n\",\n       \"         Ex-Dividend  Split Ratio  Adj. Open  Adj. High  Adj. Low  Adj. Close  \\\\\\n\",\n       \"1933104          0.0          1.0      34.25     34.750    34.160       34.50   \\n\",\n       \"1933105          0.0          1.0      34.55     34.760    34.380       34.69   \\n\",\n       \"1933106          0.0          1.0      34.78     34.910    34.650       34.76   \\n\",\n       \"1933107          0.0          1.0      34.89     35.175    34.660       35.08   \\n\",\n       \"1933108          0.0          1.0      34.63     34.700    34.235       34.35   \\n\",\n       \"\\n\",\n       \"         Adj. Volume  Daily Variation  \\n\",\n       \"1933104    6896283.0                0  \\n\",\n       \"1933105    4090421.0                0  \\n\",\n       \"1933106    3902827.0                0  \\n\",\n       \"1933107    5161379.0                0  \\n\",\n       \"1933108    5434710.0                0  \"\n      ]\n     },\n     \"execution_count\": 14,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Open</th>\\n\",\n       \"      <th>High</th>\\n\",\n       \"      <th>Low</th>\\n\",\n       \"      <th>Close</th>\\n\",\n       \"      <th>Volume</th>\\n\",\n       \"      <th>Ex-Dividend</th>\\n\",\n       \"      <th>Split Ratio</th>\\n\",\n       \"      <th>Adj. Open</th>\\n\",\n       \"      <th>Adj. High</th>\\n\",\n       \"      <th>Adj. Low</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"      <th>Adj. Volume</th>\\n\",\n       \"      <th>Daily Variation</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>count</th>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>10010.000000</td>\\n\",\n       \"      <td>1.001000e+04</td>\\n\",\n       \"      <td>10010.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>mean</th>\\n\",\n       \"      <td>59.428433</td>\\n\",\n       \"      <td>59.908222</td>\\n\",\n       \"      <td>58.943809</td>\\n\",\n       \"      <td>59.446137</td>\\n\",\n       \"      <td>2.816082e+06</td>\\n\",\n       \"      <td>0.004626</td>\\n\",\n       \"      <td>1.000400</td>\\n\",\n       \"      <td>18.705367</td>\\n\",\n       \"      <td>18.855246</td>\\n\",\n       \"      <td>18.547576</td>\\n\",\n       \"      <td>18.707358</td>\\n\",\n       \"      <td>3.408274e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>std</th>\\n\",\n       \"      <td>20.589378</td>\\n\",\n       \"      <td>20.676885</td>\\n\",\n       \"      <td>20.513272</td>\\n\",\n       \"      <td>20.598500</td>\\n\",\n       \"      <td>7.217241e+06</td>\\n\",\n       \"      <td>0.048270</td>\\n\",\n       \"      <td>0.019987</td>\\n\",\n       \"      <td>14.127674</td>\\n\",\n       \"      <td>14.228791</td>\\n\",\n       \"      <td>14.011973</td>\\n\",\n       \"      <td>14.122609</td>\\n\",\n       \"      <td>7.532096e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>min</th>\\n\",\n       \"      <td>27.250000</td>\\n\",\n       \"      <td>27.850000</td>\\n\",\n       \"      <td>26.500000</td>\\n\",\n       \"      <td>27.020000</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>1.528872</td>\\n\",\n       \"      <td>1.503109</td>\\n\",\n       \"      <td>1.522366</td>\\n\",\n       \"      <td>0.000000e+00</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>25%</th>\\n\",\n       \"      <td>44.750000</td>\\n\",\n       \"      <td>45.162500</td>\\n\",\n       \"      <td>44.250000</td>\\n\",\n       \"      <td>44.770000</td>\\n\",\n       \"      <td>1.831500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>5.426399</td>\\n\",\n       \"      <td>5.493816</td>\\n\",\n       \"      <td>5.373302</td>\\n\",\n       \"      <td>5.442764</td>\\n\",\n       \"      <td>7.536000e+05</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>50%</th>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>54.360000</td>\\n\",\n       \"      <td>53.500000</td>\\n\",\n       \"      <td>53.940000</td>\\n\",\n       \"      <td>6.371500e+05</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>15.077767</td>\\n\",\n       \"      <td>15.165769</td>\\n\",\n       \"      <td>15.033179</td>\\n\",\n       \"      <td>15.099474</td>\\n\",\n       \"      <td>1.904100e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>75%</th>\\n\",\n       \"      <td>69.750000</td>\\n\",\n       \"      <td>70.230000</td>\\n\",\n       \"      <td>69.327500</td>\\n\",\n       \"      <td>69.795000</td>\\n\",\n       \"      <td>3.784475e+06</td>\\n\",\n       \"      <td>0.000000</td>\\n\",\n       \"      <td>1.000000</td>\\n\",\n       \"      <td>31.849522</td>\\n\",\n       \"      <td>32.207689</td>\\n\",\n       \"      <td>31.524772</td>\\n\",\n       \"      <td>31.889513</td>\\n\",\n       \"      <td>4.051675e+06</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>max</th>\\n\",\n       \"      <td>147.120000</td>\\n\",\n       \"      <td>147.380000</td>\\n\",\n       \"      <td>146.380000</td>\\n\",\n       \"      <td>146.500000</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.840000</td>\\n\",\n       \"      <td>2.000000</td>\\n\",\n       \"      <td>50.669004</td>\\n\",\n       \"      <td>50.988683</td>\\n\",\n       \"      <td>50.039144</td>\\n\",\n       \"      <td>50.533702</td>\\n\",\n       \"      <td>2.408085e+08</td>\\n\",\n       \"      <td>0.0</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Open          High           Low         Close        Volume  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  1.001000e+04   \\n\",\n       \"mean      59.428433     59.908222     58.943809     59.446137  2.816082e+06   \\n\",\n       \"std       20.589378     20.676885     20.513272     20.598500  7.217241e+06   \\n\",\n       \"min       27.250000     27.850000     26.500000     27.020000  0.000000e+00   \\n\",\n       \"25%       44.750000     45.162500     44.250000     44.770000  1.831500e+05   \\n\",\n       \"50%       53.940000     54.360000     53.500000     53.940000  6.371500e+05   \\n\",\n       \"75%       69.750000     70.230000     69.327500     69.795000  3.784475e+06   \\n\",\n       \"max      147.120000    147.380000    146.380000    146.500000  2.408085e+08   \\n\",\n       \"\\n\",\n       \"        Ex-Dividend   Split Ratio     Adj. Open     Adj. High      Adj. Low  \\\\\\n\",\n       \"count  10010.000000  10010.000000  10010.000000  10010.000000  10010.000000   \\n\",\n       \"mean       0.004626      1.000400     18.705367     18.855246     18.547576   \\n\",\n       \"std        0.048270      0.019987     14.127674     14.228791     14.011973   \\n\",\n       \"min        0.000000      1.000000      1.522366      1.528872      1.503109   \\n\",\n       \"25%        0.000000      1.000000      5.426399      5.493816      5.373302   \\n\",\n       \"50%        0.000000      1.000000     15.077767     15.165769     15.033179   \\n\",\n       \"75%        0.000000      1.000000     31.849522     32.207689     31.524772   \\n\",\n       \"max        0.840000      2.000000     50.669004     50.988683     50.039144   \\n\",\n       \"\\n\",\n       \"         Adj. Close   Adj. Volume  Daily Variation  \\n\",\n       \"count  10010.000000  1.001000e+04          10010.0  \\n\",\n       \"mean      18.707358  3.408274e+06              0.0  \\n\",\n       \"std       14.122609  7.532096e+06              0.0  \\n\",\n       \"min        1.522366  0.000000e+00              0.0  \\n\",\n       \"25%        5.442764  7.536000e+05              0.0  \\n\",\n       \"50%       15.099474  1.904100e+06              0.0  \\n\",\n       \"75%       31.889513  4.051675e+06              0.0  \\n\",\n       \"max       50.533702  2.408085e+08              0.0  \"\n      ]\n     },\n     \"execution_count\": 15,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.describe()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:465: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self.obj[item] = s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"bp.loc[:,'Daily Variation'] = bp.loc[:,'High'] - bp.loc[:,'Low']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  app.launch_new_instance()\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:4: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:5: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:6: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model\\n\",\n    \"bp['Daily Variation'] = bp['High'] - bp['Low']\\n\",\n    \"bp['Percentage Variation'] = bp['Daily Variation'] / bp['Open'] * 100\\n\",\n    \"bp['Adj. Daily Variation'] = bp['Adj. High'] - bp['Adj. Low']\\n\",\n    \"bp['Adj. Percentage Variation'] = bp['Adj. Daily Variation'] / bp['Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plots\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11b7375c0>\"\n      ]\n     },\n     \"execution_count\": 48,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b5bc400>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nyww8ifgAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11b747a90>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plot Open and Adjusted Open\\n\",\n    \"\\n\",\n    \"bp.plot(x='Date', y='Open', title='BP Open Prices 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Open', title='BP Adjusted Open Prices 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It is extraordinary: the adjusted open and the open are radically different for BP, whereas with stock 'A' in the first few rows of the df, Adj. Open and Open had similar values. We are predicting the Adjusted Close - my guess is that the Adjusted figures will be more useful in predicting the adjusted price. The non-adjusted figures may be good for predicting momentum though.\\n\",\n    \"\\n\",\n    \"The stock price looks volatile. From the descriptive statistics, the mean daily percentage variation is 1.72% and the maximum daily percentage variation is 16.0%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.axes._subplots.AxesSubplot at 0x11e3a1e10>\"\n      ]\n     },\n     \"execution_count\": 50,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nAQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11ba68128>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\nWjvRWwMHAmcBB2EJke7+XsjLyw068PS02hXita8WMXb4uW7X9iypESrNmjVyuzdmwjK/6ajysjEs\\nJycz6DR6+tnKy8tl8vyNVFZWMeDI2grZ+OlrwOHgjLxct7JokpvlM47MzHS3Zz3LMKdxls9yrUt5\\nxwJn+uI9nU5at25CTnZG9e8tBaXVf3vLQzD58nwm0Due9/eVuQ+gnnhvdq02Eu+0bNGYvNaNfd4P\\nqn6k4KZ25LXOJTU1PoRKotRvX0RLgOwA/hSRCmCZMWafMaa1iGz39UJ+fvCeb32N1DzDePubRTX3\\ntgc3yegMw9uxt3v2BK+xeAqg/Pwinh0zG4BDD2wOwOYdJWzIL6Fv9za89tkfAJzRv7NbPoqLS/FF\\nWVmF27Oe+S8pKfVZrnUp71iQn19EXl5u3KfTyfbtxTTKqmlOu3fXzMt5y0Mw+XJ9Jpiy8LxfWlbb\\nJJYo5elk585i0h2+l8IHkx9PUZG/vShu3KCE+z1iLYCiZcKaApwOYIzZH8jBEiox4+UvFtbtBS8y\\nKtJ17sE3ZzLyq0UU+BES/ifRI5seJXLESf+U9IyZIFz99ES+m7E2+Je03USMqAgQEfkWmGeM+R34\\nGrhZRBLmsy1evZP3vl8aVhh1yWykJ0+daB+mJDvOlY6f/bIyxilpmETNG6+I3BetsKPN8I/ne72+\\nZefekMNUtyJKfRNJd+dl5ZWkpaWQlpqQW8eC5uspq9mYX8zN5x8W66QkBAnpzn3rTu/7PqKNt5Ve\\nwfLcR96FEgTQVsJQIxJG5UsCkt2ceOPwX2mRm8XwW46LdVLqTK1Nnjjw1bC+tjcMVzkccTNPEs8k\\n93Aiprj3KLESeooSKXYV+Zmri2vqLgh2FKjFIBhUgESJiI1Iw9mJrjRokqF6uGbB72ITP4SiSLzx\\nzWKK6rDqsqGiAiSB8ewfyiuq+OH3dTX3k6EHSRjqVtY6J1Z3dhSGKEBCeGfVpkK+UW8SAVEB4oHn\\n5qtEYtLcDUnnYK6isiopBeE73/0Z9TjKK/QUQm8EW53KorQ60pW5y/K59cXfyN/te4FOQXEpv87f\\n6HVvWqxRAeLBF79GxnOuv0+93U9lqUUdhk9bdoW+Sixeuf65X/j3f2fHOhkB8fe9vZ0JU7wnOEeA\\n4TDmB4l6HAlBHM+Fv/71Ikr2VfDr/E0+nxn+8Xze+174/c+t9Ziy4IgbAbJuaxEvfPIHhSWxtTv+\\n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\\n\",\n      \"text/plain\": [\n       \"<matplotlib.figure.Figure at 0x11db95a20>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bp.plot(x='Date', y='Percentage Variation', title='BP Percentage Variation 3 Jan 1997-Sept 9 2016')\\n\",\n    \"bp.plot(x='Date', y='Adj. Percentage Variation', title='BP Adj. Percentage Variation 3 Jan 1997-Sept 9 2016')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Adjusted Percentage Variation and Percentage Variation look similar, however.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Feature Engineering\\n\",\n    \"x-day running averages\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"collapsed\": false,\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:7: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame.\\n\",\n      \"Try using .loc[row_indexer,col_indexer] = value instead\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/pandas/core/indexing.py:132: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\",\n      \"  self._setitem_with_indexer(indexer, value)\\n\",\n      \"/Users/jessica/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:11: SettingWithCopyWarning: \\n\",\n      \"A value is trying to be set on a copy of a slice from a DataFrame\\n\",\n      \"\\n\",\n      \"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# N-day running averages\\n\",\n    \"moving_average = 30\\n\",\n    \"\\n\",\n    \"# 3-day, 7-day, 10-day, 14-day moving averages.\\n\",\n    \"def n_day_moving_average(df, moving_average):\\n\",\n    \"    # Create a column `N-day moving Average`.\\n\",\n    \"    df['%s-day Moving Average' % str(moving_average)] = 0\\n\",\n    \"\\n\",\n    \"    for i in range(moving_average, len(bp)):\\n\",\n    \"        m_average = sum(df.iloc[i-moving_average:i]['Adj. Close'])/moving_average\\n\",\n    \"        df.iloc[i].loc['%s-day Moving Average' % str(moving_average)] = m_average\\n\",\n    \"\\n\",\n    \"n_day_moving_average(bp, 30)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0\"\n      ]\n     },\n     \"execution_count\": 39,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.iloc[40].loc['%s-day Moving Average' % str(moving_average)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"for i in range(moving_average, 40):\\n\",\n    \"    bp.iloc[i].loc['%s-day Moving Average' % str(moving_average)] = m_average\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"1933104    0\\n\",\n       \"1933105    0\\n\",\n       \"1933106    0\\n\",\n       \"1933107    0\\n\",\n       \"1933108    0\\n\",\n       \"Name: 30-day Moving Average, dtype: int64\"\n      ]\n     },\n     \"execution_count\": 36,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.tail()['30-day Moving Average']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding the stocks that are relevant to BP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Stock symbols:\\n\",\n    \"China Petroleum and Chemical Corp: SNP,\\n\",\n    \"GAIL (India): GAIA or GAID,\\n\",\n    \"Gazprom: GAZ or 81jk or OGZD,\\n\",\n    \"Green Dragon Gas Ltd: GDG,\\n\",\n    \"Hellenic Petroleum SA: 98LQ or HLPD,\\n\",\n    \"Lukoil PJSC: LKOE, LKOD or LKOH,\\n\",\n    \"Magyar Olaj-es Gazipare Reszvenytar: MOLD,\\n\",\n    \"Mando Machinery Corp: MNMD or 05IS,\\n\",\n    \"Rosneft Oil Co: 40XT or ROSN,\\n\",\n    \"Royal Dutch Shell: RDSA or RDSB,\\n\",\n    \"Sacoil Hldgs Ltd: SAC,\\n\",\n    \"Surgutneftegaz: SGGD,\\n\",\n    \"Tatneft PJSC: ATAD,\\n\",\n    \"Total SA: TTA,\\n\",\n    \"Zoltav Resources Inc: ZOL\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Feat: FTSE 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I scraped data from Google Finance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"NameError\",\n     \"evalue\": \"name 'pd' is not defined\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mNameError\\u001b[0m                                 Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-1-f6771d6e1a41>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[0;32m----> 1\\u001b[0;31m \\u001b[0mftse100_csv\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mpd\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mread_csv\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m\\\"ftse100-figures.csv\\\"\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      2\\u001b[0m \\u001b[0mftse100_csv\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mNameError\\u001b[0m: name 'pd' is not defined\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"ftse100_csv = pd.read_csv(\\\"ftse100-figures.csv\\\")\\n\",\n    \"ftse100_csv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Raw cells because I've done this above.\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Read HUGE csv that has all the daily LSE data from 1977\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Extract df with only BP data in it\\n\",\n    \"bp = df[df['Symbol'] == 'BP']\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Create additional features\\n\",\n    \"# These features are not used in the current model\\n\",\n    \"bp['Daily Variation'] = bp['High'] - bp['Low']\\n\",\n    \"bp['Percentage Variation'] = bp['Daily Variation'] / bp['Open'] * 100\\n\",\n    \"bp['Adj. Daily Variation'] = bp['Adj. High'] - bp['Adj. Low']\\n\",\n    \"bp['Adj. Percentage Variation'] = bp['Adj. Daily Variation'] / bp['Adj. Open'] * 100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Build training and test sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 197,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"['i-1', 'i-2', 'i-3', 'i-4', 'i-5', 'i-6', 'i-7', 'Adj. High', 'Adj. Low']\\n\",\n      \"Start date:  1977-01-12\\n\",\n      \"                i-1      i-2      i-3      i-4      i-5      i-6      i-7  \\\\\\n\",\n      \"1977-01-12  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038  2.01993   \\n\",\n      \"1977-01-13  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   2.0038   \\n\",\n      \"1977-01-14  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487  1.93874   \\n\",\n      \"1977-01-15  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487  1.95487   \\n\",\n      \"1977-01-16  1.95826  1.95175  1.97777  1.93223  1.95175  1.96789  1.95487   \\n\",\n      \"\\n\",\n      \"           Adj. High Adj. Low  \\n\",\n      \"1977-01-12   2.02982  1.93874  \\n\",\n      \"1977-01-13   2.02982  1.91272  \\n\",\n      \"1977-01-14    2.0038  1.91272  \\n\",\n      \"1977-01-15   1.98766  1.91272  \\n\",\n      \"1977-01-16   1.98766  1.91272  \\n\",\n      \"             Target\\n\",\n      \"1977-01-12  1.93223\\n\",\n      \"1977-01-13  1.97777\\n\",\n      \"1977-01-14  1.95175\\n\",\n      \"1977-01-15  1.95826\\n\",\n      \"1977-01-16  1.94863\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Initialise variables\\n\",\n    \"# Number of days prior that we consider\\n\",\n    \"days = 7\\n\",\n    \"# Number of train and test examples combined\\n\",\n    \"periods = 9000\\n\",\n    \"\\n\",\n    \"# Columns\\n\",\n    \"columns = []\\n\",\n    \"for j in range(1,days+1):\\n\",\n    \"    columns.append('i-%s' % str(j))\\n\",\n    \"columns.append('Adj. High')\\n\",\n    \"columns.append('Adj. Low')\\n\",\n    \"print(columns)\\n\",\n    \"\\n\",\n    \"# Index\\n\",\n    \"start_date = bp.iloc[days][\\\"Date\\\"]\\n\",\n    \"print(\\\"Start date: \\\", start_date)\\n\",\n    \"index = pd.date_range(start_date, periods=periods, freq='D')\\n\",\n    \"\\n\",\n    \"# Create empty dataframes for features and prices\\n\",\n    \"features = pd.DataFrame(index=index, columns=columns)\\n\",\n    \"prices = pd.DataFrame(index=index, columns=[\\\"Target\\\"])\\n\",\n    \"\\n\",\n    \"# Prepare test and training sets\\n\",\n    \"for i in range(periods):\\n\",\n    \"    prices.iloc[i]['Target'] = bp.iloc[i+days]['Adj. Close']\\n\",\n    \"    for j in range(days):\\n\",\n    \"        features.iloc[i]['i-%s' % str(7-j)] = bp.iloc[i+j]['Adj. Close']\\n\",\n    \"    features.iloc[i]['Adj. High'] = max(bp[i:i+days]['Adj. High'])\\n\",\n    \"    features.iloc[i]['Adj. Low'] = min(bp[i:i+days]['Adj. Low'])\\n\",\n    \"print(features.head())\\n\",\n    \"print(prices.head())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 202,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Date</th>\\n\",\n       \"      <th>Adj. Close</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923099</th>\\n\",\n       \"      <td>1977-01-03</td>\\n\",\n       \"      <td>2.019933</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923100</th>\\n\",\n       \"      <td>1977-01-04</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923101</th>\\n\",\n       \"      <td>1977-01-05</td>\\n\",\n       \"      <td>1.938740</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923102</th>\\n\",\n       \"      <td>1977-01-06</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923103</th>\\n\",\n       \"      <td>1977-01-07</td>\\n\",\n       \"      <td>1.954874</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923104</th>\\n\",\n       \"      <td>1977-01-10</td>\\n\",\n       \"      <td>1.967886</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923105</th>\\n\",\n       \"      <td>1977-01-11</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923106</th>\\n\",\n       \"      <td>1977-01-12</td>\\n\",\n       \"      <td>1.932234</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923107</th>\\n\",\n       \"      <td>1977-01-13</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923108</th>\\n\",\n       \"      <td>1977-01-14</td>\\n\",\n       \"      <td>1.951752</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923109</th>\\n\",\n       \"      <td>1977-01-17</td>\\n\",\n       \"      <td>1.958257</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923110</th>\\n\",\n       \"      <td>1977-01-18</td>\\n\",\n       \"      <td>1.948629</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923111</th>\\n\",\n       \"      <td>1977-01-19</td>\\n\",\n       \"      <td>2.010304</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923112</th>\\n\",\n       \"      <td>1977-01-20</td>\\n\",\n       \"      <td>1.977775</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923113</th>\\n\",\n       \"      <td>1977-01-21</td>\\n\",\n       \"      <td>1.967886</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923114</th>\\n\",\n       \"      <td>1977-01-24</td>\\n\",\n       \"      <td>1.990787</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923115</th>\\n\",\n       \"      <td>1977-01-25</td>\\n\",\n       \"      <td>1.993909</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923116</th>\\n\",\n       \"      <td>1977-01-26</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923117</th>\\n\",\n       \"      <td>1977-01-27</td>\\n\",\n       \"      <td>2.000676</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1923118</th>\\n\",\n       \"      <td>1977-01-28</td>\\n\",\n       \"      <td>2.003798</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               Date  Adj. Close\\n\",\n       \"1923099  1977-01-03    2.019933\\n\",\n       \"1923100  1977-01-04    2.003798\\n\",\n       \"1923101  1977-01-05    1.938740\\n\",\n       \"1923102  1977-01-06    1.954874\\n\",\n       \"1923103  1977-01-07    1.954874\\n\",\n       \"1923104  1977-01-10    1.967886\\n\",\n       \"1923105  1977-01-11    1.951752\\n\",\n       \"1923106  1977-01-12    1.932234\\n\",\n       \"1923107  1977-01-13    1.977775\\n\",\n       \"1923108  1977-01-14    1.951752\\n\",\n       \"1923109  1977-01-17    1.958257\\n\",\n       \"1923110  1977-01-18    1.948629\\n\",\n       \"1923111  1977-01-19    2.010304\\n\",\n       \"1923112  1977-01-20    1.977775\\n\",\n       \"1923113  1977-01-21    1.967886\\n\",\n       \"1923114  1977-01-24    1.990787\\n\",\n       \"1923115  1977-01-25    1.993909\\n\",\n       \"1923116  1977-01-26    2.003798\\n\",\n       \"1923117  1977-01-27    2.000676\\n\",\n       \"1923118  1977-01-28    2.003798\"\n      ]\n     },\n     \"execution_count\": 202,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"bp.iloc[:20][['Date', 'Adj. Close']]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 203,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>Day 0</th>\\n\",\n       \"      <th>Day 1</th>\\n\",\n       \"      <th>Day 2</th>\\n\",\n       \"      <th>Day 3</th>\\n\",\n       \"      <th>Day 4</th>\\n\",\n       \"      <th>Day 5</th>\\n\",\n       \"      <th>Day 6</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-12</th>\\n\",\n       \"      <td>1.93223</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-13</th>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-14</th>\\n\",\n       \"      <td>1.95175</td>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-15</th>\\n\",\n       \"      <td>1.95826</td>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-16</th>\\n\",\n       \"      <td>1.94863</td>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-17</th>\\n\",\n       \"      <td>2.0103</td>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-18</th>\\n\",\n       \"      <td>1.97777</td>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-19</th>\\n\",\n       \"      <td>1.96789</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-20</th>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-21</th>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-22</th>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-23</th>\\n\",\n       \"      <td>2.00068</td>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-24</th>\\n\",\n       \"      <td>2.0038</td>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-25</th>\\n\",\n       \"      <td>1.99079</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-26</th>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-27</th>\\n\",\n       \"      <td>1.99729</td>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-28</th>\\n\",\n       \"      <td>1.99391</td>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-29</th>\\n\",\n       \"      <td>2.00692</td>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-30</th>\\n\",\n       \"      <td>2.03633</td>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-01-31</th>\\n\",\n       \"      <td>2.10139</td>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-01</th>\\n\",\n       \"      <td>2.17295</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-02</th>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-03</th>\\n\",\n       \"      <td>2.19247</td>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-04</th>\\n\",\n       \"      <td>2.17946</td>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-05</th>\\n\",\n       \"      <td>2.18596</td>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-06</th>\\n\",\n       \"      <td>2.16644</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-07</th>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-08</th>\\n\",\n       \"      <td>2.12741</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-09</th>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"      <td>2.1438</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1977-02-10</th>\\n\",\n       \"      <td>2.1144</td>\\n\",\n       \"      <td>2.08837</td>\\n\",\n       \"      <td>2.09176</td>\\n\",\n       \"      <td>2.09488</td>\\n\",\n       \"      <td>2.1209</td>\\n\",\n       \"      <td>2.1438</td>\\n\",\n       \"      <td>2.16306</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-04</th>\\n\",\n       \"      <td>31.7411</td>\\n\",\n       \"      <td>31.9399</td>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-05</th>\\n\",\n       \"      <td>31.9399</td>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-06</th>\\n\",\n       \"      <td>31.7808</td>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-07</th>\\n\",\n       \"      <td>32.64</td>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-08</th>\\n\",\n       \"      <td>32.99</td>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-09</th>\\n\",\n       \"      <td>33.8094</td>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-10</th>\\n\",\n       \"      <td>33.9844</td>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-11</th>\\n\",\n       \"      <td>33.9683</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-12</th>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-13</th>\\n\",\n       \"      <td>33.8637</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-14</th>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-15</th>\\n\",\n       \"      <td>34.1453</td>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-16</th>\\n\",\n       \"      <td>34.3947</td>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-17</th>\\n\",\n       \"      <td>34.3706</td>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-18</th>\\n\",\n       \"      <td>34.3465</td>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-19</th>\\n\",\n       \"      <td>34.1131</td>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-20</th>\\n\",\n       \"      <td>34.3062</td>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-21</th>\\n\",\n       \"      <td>33.9925</td>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-22</th>\\n\",\n       \"      <td>33.9442</td>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-23</th>\\n\",\n       \"      <td>33.9522</td>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-24</th>\\n\",\n       \"      <td>33.9361</td>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-25</th>\\n\",\n       \"      <td>33.7672</td>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-26</th>\\n\",\n       \"      <td>33.7189</td>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-27</th>\\n\",\n       \"      <td>33.8396</td>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-28</th>\\n\",\n       \"      <td>33.4936</td>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-29</th>\\n\",\n       \"      <td>32.4719</td>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-30</th>\\n\",\n       \"      <td>33.1316</td>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-08-31</th>\\n\",\n       \"      <td>33.735</td>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-09-01</th>\\n\",\n       \"      <td>33.8235</td>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"      <td>34.4913</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2001-09-02</th>\\n\",\n       \"      <td>34.2499</td>\\n\",\n       \"      <td>34.258</td>\\n\",\n       \"      <td>35.0947</td>\\n\",\n       \"      <td>35.2878</td>\\n\",\n       \"      <td>34.8131</td>\\n\",\n       \"      <td>34.4913</td>\\n\",\n       \"      <td>34.6683</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>9000 rows × 7 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"              Day 0    Day 1    Day 2    Day 3    Day 4    Day 5    Day 6\\n\",\n       \"1977-01-12  1.93223  1.97777  1.95175  1.95826  1.94863   2.0103  1.97777\\n\",\n       \"1977-01-13  1.97777  1.95175  1.95826  1.94863   2.0103  1.97777  1.96789\\n\",\n       \"1977-01-14  1.95175  1.95826  1.94863   2.0103  1.97777  1.96789  1.99079\\n\",\n       \"1977-01-15  1.95826  1.94863   2.0103  1.97777  1.96789  1.99079  1.99391\\n\",\n       \"1977-01-16  1.94863   2.0103  1.97777  1.96789  1.99079  1.99391   2.0038\\n\",\n       \"1977-01-17   2.0103  1.97777  1.96789  1.99079  1.99391   2.0038  2.00068\\n\",\n       \"1977-01-18  1.97777  1.96789  1.99079  1.99391   2.0038  2.00068   2.0038\\n\",\n       \"1977-01-19  1.96789  1.99079  1.99391   2.0038  2.00068   2.0038  1.99079\\n\",\n       \"1977-01-20  1.99079  1.99391   2.0038  2.00068   2.0038  1.99079  1.99729\\n\",\n       \"1977-01-21  1.99391   2.0038  2.00068   2.0038  1.99079  1.99729  1.99729\\n\",\n       \"1977-01-22   2.0038  2.00068   2.0038  1.99079  1.99729  1.99729  1.99391\\n\",\n       \"1977-01-23  2.00068   2.0038  1.99079  1.99729  1.99729  1.99391  2.00692\\n\",\n       \"1977-01-24   2.0038  1.99079  1.99729  1.99729  1.99391  2.00692  2.03633\\n\",\n       \"1977-01-25  1.99079  1.99729  1.99729  1.99391  2.00692  2.03633  2.10139\\n\",\n       \"1977-01-26  1.99729  1.99729  1.99391  2.00692  2.03633  2.10139  2.17295\\n\",\n       \"1977-01-27  1.99729  1.99391  2.00692  2.03633  2.10139  2.17295  2.19247\\n\",\n       \"1977-01-28  1.99391  2.00692  2.03633  2.10139  2.17295  2.19247  2.19247\\n\",\n       \"1977-01-29  2.00692  2.03633  2.10139  2.17295  2.19247  2.19247  2.17946\\n\",\n       \"1977-01-30  2.03633  2.10139  2.17295  2.19247  2.19247  2.17946  2.18596\\n\",\n       \"1977-01-31  2.10139  2.17295  2.19247  2.19247  2.17946  2.18596  2.16644\\n\",\n       \"1977-02-01  2.17295  2.19247  2.19247  2.17946  2.18596  2.16644  2.12741\\n\",\n       \"1977-02-02  2.19247  2.19247  2.17946  2.18596  2.16644  2.12741  2.12741\\n\",\n       \"1977-02-03  2.19247  2.17946  2.18596  2.16644  2.12741  2.12741   2.1144\\n\",\n       \"1977-02-04  2.17946  2.18596  2.16644  2.12741  2.12741   2.1144   2.1144\\n\",\n       \"1977-02-05  2.18596  2.16644  2.12741  2.12741   2.1144   2.1144  2.08837\\n\",\n       \"1977-02-06  2.16644  2.12741  2.12741   2.1144   2.1144  2.08837  2.09176\\n\",\n       \"1977-02-07  2.12741  2.12741   2.1144   2.1144  2.08837  2.09176  2.09488\\n\",\n       \"1977-02-08  2.12741   2.1144   2.1144  2.08837  2.09176  2.09488   2.1209\\n\",\n       \"1977-02-09   2.1144   2.1144  2.08837  2.09176  2.09488   2.1209   2.1438\\n\",\n       \"1977-02-10   2.1144  2.08837  2.09176  2.09488   2.1209   2.1438  2.16306\\n\",\n       \"...             ...      ...      ...      ...      ...      ...      ...\\n\",\n       \"2001-08-04  31.7411  31.9399  31.7808    32.64    32.99  33.8094  33.9844\\n\",\n       \"2001-08-05  31.9399  31.7808    32.64    32.99  33.8094  33.9844  33.9683\\n\",\n       \"2001-08-06  31.7808    32.64    32.99  33.8094  33.9844  33.9683  34.1131\\n\",\n       \"2001-08-07    32.64    32.99  33.8094  33.9844  33.9683  34.1131  33.8637\\n\",\n       \"2001-08-08    32.99  33.8094  33.9844  33.9683  34.1131  33.8637  33.9361\\n\",\n       \"2001-08-09  33.8094  33.9844  33.9683  34.1131  33.8637  33.9361  34.1453\\n\",\n       \"2001-08-10  33.9844  33.9683  34.1131  33.8637  33.9361  34.1453  34.3947\\n\",\n       \"2001-08-11  33.9683  34.1131  33.8637  33.9361  34.1453  34.3947  34.3706\\n\",\n       \"2001-08-12  34.1131  33.8637  33.9361  34.1453  34.3947  34.3706  34.3465\\n\",\n       \"2001-08-13  33.8637  33.9361  34.1453  34.3947  34.3706  34.3465  34.1131\\n\",\n       \"2001-08-14  33.9361  34.1453  34.3947  34.3706  34.3465  34.1131  34.3062\\n\",\n       \"2001-08-15  34.1453  34.3947  34.3706  34.3465  34.1131  34.3062  33.9925\\n\",\n       \"2001-08-16  34.3947  34.3706  34.3465  34.1131  34.3062  33.9925  33.9442\\n\",\n       \"2001-08-17  34.3706  34.3465  34.1131  34.3062  33.9925  33.9442  33.9522\\n\",\n       \"2001-08-18  34.3465  34.1131  34.3062  33.9925  33.9442  33.9522  33.9361\\n\",\n       \"2001-08-19  34.1131  34.3062  33.9925  33.9442  33.9522  33.9361  33.7672\\n\",\n       \"2001-08-20  34.3062  33.9925  33.9442  33.9522  33.9361  33.7672  33.7189\\n\",\n       \"2001-08-21  33.9925  33.9442  33.9522  33.9361  33.7672  33.7189  33.8396\\n\",\n       \"2001-08-22  33.9442  33.9522  33.9361  33.7672  33.7189  33.8396  33.4936\\n\",\n       \"2001-08-23  33.9522  33.9361  33.7672  33.7189  33.8396  33.4936  32.4719\\n\",\n       \"2001-08-24  33.9361  33.7672  33.7189  33.8396  33.4936  32.4719  33.1316\\n\",\n       \"2001-08-25  33.7672  33.7189  33.8396  33.4936  32.4719  33.1316   33.735\\n\",\n       \"2001-08-26  33.7189  33.8396  33.4936  32.4719  33.1316   33.735  33.8235\\n\",\n       \"2001-08-27  33.8396  33.4936  32.4719  33.1316   33.735  33.8235  34.2499\\n\",\n       \"2001-08-28  33.4936  32.4719  33.1316   33.735  33.8235  34.2499   34.258\\n\",\n       \"2001-08-29  32.4719  33.1316   33.735  33.8235  34.2499   34.258  35.0947\\n\",\n       \"2001-08-30  33.1316   33.735  33.8235  34.2499   34.258  35.0947  35.2878\\n\",\n       \"2001-08-31   33.735  33.8235  34.2499   34.258  35.0947  35.2878  34.8131\\n\",\n       \"2001-09-01  33.8235  34.2499   34.258  35.0947  35.2878  34.8131  34.4913\\n\",\n       \"2001-09-02  34.2499   34.258  35.0947  35.2878  34.8131  34.4913  34.6683\\n\",\n       \"\\n\",\n       \"[9000 rows x 7 columns]\"\n      ]\n     },\n     \"execution_count\": 203,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# N-day prices target\\n\",\n    \"\\n\",\n    \"# Initialise variables\\n\",\n    \"target_days = 7\\n\",\n    \"\\n\",\n    \"# Create target dataframe\\n\",\n    \"nday_columns = []\\n\",\n    \"for j in range(1,target_days+1):\\n\",\n    \"    nday_columns.append('Day %s' % str(j-1))\\n\",\n    \"nday_prices = pd.DataFrame(index=index, columns=nday_columns)\\n\",\n    \"\\n\",\n    \"# Fill target dataframe\\n\",\n    \"for i in range(periods):\\n\",\n    \"    for j in range(target_days):\\n\",\n    \"        nday_prices.iloc[i]['Day %s' % str(j)] = bp.iloc[i+days+j]['Adj. Close']\\n\",\n    \"nday_prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 206,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (X,y):  (7200, 9) (7200, 1)\\n\",\n      \"Test shapes (X,y):  (1800, 9) (1800, 1)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"from sklearn.cross_validation import train_test_split\\n\",\n    \"\\n\",\n    \"X_train, X_test, y_train, y_test = train_test_split(train, prices, test_size=0.2, random_state=0)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (X,y): \\\", X_train.shape, y_train.shape)\\n\",\n    \"print(\\\"Test shapes (X,y): \\\", X_test.shape, y_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 207,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Train shapes (Xnd,ynd):  (7200, 9) (7200, 7)\\n\",\n      \"Test shapes (Xnd,ynd):  (1800, 9) (1800, 7)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Train-test split\\n\",\n    \"\\n\",\n    \"Xnd_train, Xnd_test, ynd_train, ynd_test = train_test_split(train, nday_prices, test_size=0.2, random_state=0)\\n\",\n    \"\\n\",\n    \"print(\\\"Train shapes (Xnd,ynd): \\\", Xnd_train.shape, ynd_train.shape)\\n\",\n    \"print(\\\"Test shapes (Xnd,ynd): \\\", Xnd_test.shape, ynd_test.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 218,\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"outputs\": [\n    {\n     \"ename\": \"ImportError\",\n     \"evalue\": \"cannot import name 'parallel_helper'\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mImportError\\u001b[0m                               Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-218-79b0717949c0>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m      4\\u001b[0m \\u001b[0;31m# clf = svm.SVR()\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 6\\u001b[0;31m \\u001b[0;32mfrom\\u001b[0m \\u001b[0msklearn\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mmultioutput\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mMultiOutputRegressor\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m      7\\u001b[0m \\u001b[0mclf\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mMultiOutputRegressor\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0msvm\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mSVR\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mrandom_state\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      8\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m/Users/jessica/anaconda/lib/python3.5/site-packages/sklearn/multioutput.py\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m()\\u001b[0m\\n\\u001b[1;32m     21\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mbase\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mRegressorMixin\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mClassifierMixin\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     22\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mcheck_array\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mcheck_X_y\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 23\\u001b[0;31m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mfixes\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mparallel_helper\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     24\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mutils\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mvalidation\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mcheck_is_fitted\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mhas_fit_parameter\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     25\\u001b[0m \\u001b[0;32mfrom\\u001b[0m \\u001b[0;34m.\\u001b[0m\\u001b[0mexternals\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mjoblib\\u001b[0m \\u001b[0;32mimport\\u001b[0m \\u001b[0mParallel\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mdelayed\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mImportError\\u001b[0m: cannot import name 'parallel_helper'\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Classifier\\n\",\n    \"\\n\",\n    \"from sklearn import svm\\n\",\n    \"# clf = svm.SVR()\\n\",\n    \"\\n\",\n    \"from sklearn.multioutput import MultiOutputRegressor\\n\",\n    \"clf = MultiOutputRegressor(svm.SVR(random_state=0))\\n\",\n    \"\\n\",\n    \"clf.fit(Xnd_train, ynd_train)\\n\",\n    \"pred = clf.predict(Xnd_test)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Metrics\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# Metrics\\n\",\n    \"\\n\",\n    \"from sklearn.metrics import mean_absolute_error\\n\",\n    \"from sklearn.metrics import explained_variance_score\\n\",\n    \"from sklearn.metrics import mean_squared_error\\n\",\n    \"from sklearn.metrics import r2_score\\n\",\n    \"from sklearn.metrics import median_absolute_error\\n\",\n    \"\\n\",\n    \"print(\\\"Mean Absolute Error: \\\", mean_absolute_error(y_test, pred))\\n\",\n    \"print(\\\"Explained Variance Score: \\\", explained_variance_score(y_test, pred))\\n\",\n    \"print(\\\"Mean Squared Error: \\\", mean_squared_error(y_test, pred))\\n\",\n    \"print(\\\"R2 score: \\\", r2_score(y_test, pred))\\n\",\n    \"print(\\\"Median Absolute Error: \\\", median_absolute_error(y_test, pred))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Issues\\n\",\n    \"If `train_test_split` shuffles, we may have seen some data in the test set before.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/report-drafts/p5.1-definition.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# I. Definition\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Project Overview\\n\",\n    \"\\n\",\n    \"### Introduction\\n\",\n    \"People have used machine learning in trading for decades. Hedge funds, high-frequency trading shops and sole traders use all sorts of strategies, from Bayesian statistics to physics related strategies.\\n\",\n    \"\\n\",\n    \"### Scope of this project\\n\",\n    \"We will investigate **using machine learning in trading equities**, specifically to **predict equity prices for a 7-day period**. Equities are stocks - shares of companies like Apple and Google that are publically listed on the stock exchange. That means any licensed stock broker can trade those stocks. By trading, we mean buying and selling these shares on the stock exchange.\\n\",\n    \"\\n\",\n    \"We will only tackle trading equities and not other more complex financial products because calculating returns for those products is more complex and equities are sufficiently interesting.\\n\",\n    \"\\n\",\n    \"### Why trading is an interesting domain for machine learning\\n\",\n    \"1. Firstly, there are many non-engineered features. If we include only equities, we already have over 10,000 equities globally. That makes for at least 10,000 potential non-engineered features. \\n\",\n    \"\\n\",\n    \"2. Secondly, there are many datapoints. Even access to only daily trading information gives us 30 years * 365 days = over 10,000 datapoints for each of many stocks. (This is only an estimate because trading does not take place on Sundays in all non-Israeli exchanges.) If we were to look at intraday figures, there's even more data: in January 2009, an average of 881,609 trades were made per day in equities on the London Stock Exchange [(Source: LSE Group)](http://www.lseg.com/media-centre/news/corporate-press-releases/185-million-electronic-equity-trades-across-london-stock-exchange-group-order-books-january).\\n\",\n    \"\\n\",\n    \"3. It is also interesting because research in machine learning and statistics has affected how markets behave. There is no strategy or algorithm that will solve this problem or remain forever 'optimal' - if a profitable strategy is found, it may be copied by other people and so be priced in or it may be fought against or taken advantage of. This is more relevant to high-frequency trading than daily trading but nonetheless has an impact. \\n\",\n    \"\\n\",\n    \"### Aim of this project\\n\",\n    \"\\n\",\n    \"The aim of this exploratory study is to get a feel for what types of features are involved in predicting stock prices and how different models perform in this setting. The challenges will be discussed in more detail in the Problem Statement.\\n\",\n    \"\\n\",\n    \"Predicting stock prices accurately is difficult: there are many factors that influence stock prices and a lot of noise.\\n\",\n    \"\\n\",\n    \"This exploratory study does not aim to produce a state-of-the-art, better-than-benchmark-buy-and-hold (transaction costs included) trading strategy - that is extremely difficult and is a challenge even for top trading firms. \\n\",\n    \"\\n\",\n    \"### Data used in this project\\n\",\n    \"\\n\",\n    \"There is one primary dataset for this project and two supplementary datasets.\\n\",\n    \"\\n\",\n    \"* The primary dataset is a CSV with all the daily stock prices from 1977 for stocks listed on the the London Stock Exchange. This dataset was downloaded from Quandl. \\n\",\n    \"* The first supplementary dataset is a spreadsheet listing the stocks currently listed on the London Stock Exchange with information such as what each listed company's stock symbol is and which sector they belong to. This spreadsheet was downloaded from the London Stock Exchange website.\\n\",\n    \"* The second supplementary dataset is a CSV with Open, High, Low, and Close data for the FTSE100 from April 1, 1984 to Sept 9, 2016. This data was scraped from Google Finance and is used for feature engineering.\\n\",\n    \"\\n\",\n    \"The features and characteristics of the primary dataset will be discussed more thoroughly in Section II: Data Exploration.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Problem Statement\\n\",\n    \"\\n\",\n    \"### Problem\\n\",\n    \"\\n\",\n    \"Build a stock price predictor that satifies:\\n\",\n    \"<table>\\n\",\n    \"<th>Category</th><th>Details</th>\\n\",\n    \"<tr><td>Input</td><td>Daily trade data over a `start_date - end_date`. Daily trade data consists of adjusted and unadjusted Open, High, Low, Close figures for a set of stocks S.</td></tr>\\n\",\n    \"<tr><td>Output</td><td><ul><li>Projected estimates of Adjusted Close prices for query dates for pre-chosen stock BP in S.</li><li>Results satisfy predicted stock value 7 days out is within +/- 5% of actual value, on average.</li></td></tr>\\n\",\n    \"<tr><td>Optional Output</td><td>Suggested trades</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Glossary:\\n\",\n    \"* **Adjusted prices** are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.\\n\",\n    \"* **BP** is the stock symbol for British Petroleum, an energy company.\\n\",\n    \"\\n\",\n    \"### Interesting characteristics of this problem\\n\",\n    \"There are a few interesting characteristics of this problem compared to previous projects in the Machine Learning Engineer Nanodegree.\\n\",\n    \"\\n\",\n    \"1. Predicting multiple outputs: We will predict the adjusted close prices for 7 days after the last input date.\\n\",\n    \"\\n\",\n    \"### Challenges\\n\",\n    \"1. The model has to be run for dates not within the training set for the model to be 'fair'. But given there may be big shifts in how people view the markets from year to year, it may be hard for the model to generalise from one year to the next.\\n\",\n    \"2. Energy companies' stock prices are volatile so they may be harder to predict.\\n\",\n    \"\\n\",\n    \"### Analysis of Problem\\n\",\n    \"\\n\",\n    \"This is a regression problem (as opposed to a classification problem) because we are predicting daily Adjusted Close prices for a stock. These prices are continuous.\\n\",\n    \"\\n\",\n    \"Compare this to a related problem: If this were high-frequency trading and we were trying to predict the stock price in the next nanosecond we could tackle price prediction as a binary classification problem instead (does the price go up or down?).\\n\",\n    \"\\n\",\n    \"It's not immediately obvious what kind of model will be best.\\n\",\n    \"\\n\",\n    \"Characteristic of problem: \\n\",\n    \"- Time-series data.\\n\",\n    \"- Noisy data\\n\",\n    \"- Datapoints (prices of different stocks) are not independent of each other -> Naive Bayes is not appropriate\\n\",\n    \"- Many features. (Daily open, high, low, adjusted close for many stocks) -> \\n\",\n    \"- Regression problem (continuous output).\\n\",\n    \"- Training cost or time: it is not critical to keep this lower than 12 hours because we are predicting daily prices based on stats from prior days' trading. \\n\",\n    \"- Prediction time: Again not critical to keep this low. Anything within an hour would do.\\n\",\n    \"\\n\",\n    \"### Strategy\\n\",\n    \"I intend to do the following:\\n\",\n    \"\\n\",\n    \"1. Explore the data\\n\",\n    \"- Come up with a basic model with which I can predict the next day's prices and then the next 7 days' prices as a benchmark\\n\",\n    \"- Try adding different features and using different algorithms\\n\",\n    \"    - Features include x-day moving averages of BP stocks, stocks in the oil industry, and indices such as the FTSE 100. \\n\",\n    \"- Assess which model is best using the metric described below.\\n\",\n    \"\\n\",\n    \"### Expected Solution\\n\",\n    \"\\n\",\n    \"The solution will be 7 predicted prices for each trading day within 7 trading days after the last date in the input date range. We will compare the 7 predicted prices with the actual adjusted close prices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Metrics\\n\",\n    \"\\n\",\n    \"We will measure performance as the **root mean squared percentage error** (difference between the stock's actual and predicted Adjusted Close prices). This represents the error between the actual price and the predicted price. \\n\",\n    \"\\n\",\n    \"Reasoning: We have to square it and then take the square root because if we don't square it, errors from overestimates and underestimates will cancel each other out.\\n\",\n    \"\\n\",\n    \"We will also consider **the range of root mean squared percentage error** as a secondary metric - we want a model with lower error variance because a series of small good trades (gaining \\\\$1 ten times) can be more than cancelled out by a single large-magnitude bad trade (losing \\\\$50 once).\\n\",\n    \"\\n\",\n    \"We will not consider transaction costs (you have to pay every time you trade and that will reduce profits).\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/report-drafts/p5.2-4-report.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# II. Analysis\\n\",\n    \"\\n\",\n    \"## Data Exploration\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Description of Primary Dataset\\n\",\n    \"The primary dataset used is daily stock data for stocks on the London Stock Exchange (LSE). The date range for stock data varies depending on when the stock went public. The furthest date was in the year 1954. The most recent date in the dataset was 9 September 2016. The data was taken from Quandl's free access database.\\n\",\n    \"\\n\",\n    \"All the data is in one comma-separated value file (CSV), with each row being one datapoint. There are over 14 million datapoints in the dataset. \\n\",\n    \"\\n\",\n    \"Each row has 14 columns. That means we have 14 features for each stock on every trading day since the year when the stock was tradable (from 1954 onwards). Unless otherwise indicated, the column values are all floats.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Column</th><th>Format or accuracy if float</th><th>Meaning</th>\\n\",\n    \"<tr><td>Stock symbol</td><td>string</td><td>How the stock is represented on the London Stock Exchange. E.g. GOOGLE's stock symbol is GOOGL.</td></tr>\\n\",\n    \"<tr><td>Date</td><td>YYYY-MM-DD</td><td></td></tr>\\n\",\n    \"<tr><td>Open</td><td>given to 2 decimal places (2 d.p.)</td><td>Price of stock when the market opened on that day in GBP £.</td></tr>\\n\",\n    \"<tr><td>High</td><td>2 d.p.</td><td>Maximum price of the stock during the trading day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Low</td><td>2 d.p.</td><td>Minimum price of the stock during the trading day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Close</td><td>2 d.p.</td><td>Price of stock when the market closed on that day in GBP £.</td></tr>\\n\",\n    \"<tr><td>Volume</td><td>1 d.p.</td><td>The number of shares of that stock traded on that day.</td></tr>\\n\",\n    \"<tr><td>Ex-Dividend</td><td>1 d.p.</td><td>The value of the declared or upcoming dividend that will belong to the seller of the stock share rather than the buyer. Dividend is profits distributed to shareholders. If the upcoming dividend will be given to the buyer, Ex-Dividend = 0.</td></tr>\\n\",\n    \"<tr><td>Split Ratio</td><td>1 d.p.</td><td>A company may choose to split their stock. E.g. a 2.0 (2:1) split ratio means shareholders get two new shares for every share they hold. This halves the price to preserve the market capitalisation (total value) of the company.</td></tr>\\n\",\n    \"<tr><td>Adjusted Open</td><td>6 d.p.</td><td>Adjusted opening price (price of stock when the market opened on that day). Adjusted prices are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.</td></tr>\\n\",\n    \"<tr><td>Adjusted High</td><td>6 d.p.</td><td>See Adjusted Open and High.</td></tr>\\n\",\n    \"<tr><td>Adjusted Low</td><td>6 d.p.</td><td>See Adjusted Open and Low.</td></tr>\\n\",\n    \"<tr><td>Adjusted Close</td><td>6 d.p.</td><td>See Adjusted Open and Close.</td></tr>\\n\",\n    \"<tr><td>Adjusted Volume</td><td>1 d.p.</td><td>See Adjusted Open and  Volume.</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Reference: [Definition of Ex-Dividend (Investopedia)](http://www.investopedia.com/terms/e/ex-dividend.asp)\\n\",\n    \"\\n\",\n    \"#### Data sample\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>0</td><td>A</td><td>1999-11-18</td><td>45.50</td><td>50.00</td><td>40.00</td><td>44.00</td><td>44739900.0</td><td>0.0</td><td>1.0</td><td>43.471810</td><td>47.771219</td><td>38.216975</td><td>42.038673</td><td>44739900.0</td></tr>\\n\",\n    \"<tr><td>1</td><td>A</td><td>1999-11-19</td><td>42.94</td><td>43.00</td><td>39.81</td><td>40.38</td><td>10897100.0</td><td>0.0</td><td>1.0</td><td>41.025923</td><td>41.083249</td><td>38.035445</td><td>38.580037</td><td>10897100.0</td></tr>\\n\",\n    \"<tr><td>2</td><td>A</td><td>1999-11-22</td><td>41.31</td><td>44.00</td><td>40.06</td><td>44.00</td><td>4705200.0</td><td>0.0</td><td>1.0</td><td>39.468581</td><td>42.038673</td><td>38.274301</td><td>42.038673</td><td>4705200.0</td></tr>\\n\",\n    \"<tr><td>3</td><td>A</td><td>1999-11-23</td><td>42.50</td><td>43.63</td><td>40.25</td><td>40.25</td><td>4274400.0</td><td>0.0</td><td>1.0</td><td>40.605536</td><td>41.685166</td><td>38.455832</td><td>38.455832</td><td>4274400.0</td></tr>\\n\",\n    \"<tr><td>4</td><td>A</td><td>1999-11-24</td><td>40.13</td><td>41.94</td><td>40.00</td><td>41.06</td><td>3464400.0</td><td>0.0</td><td>1.0</td><td>38.341181</td><td>40.070499</td><td>38.216975</td><td>39.229725</td><td>3464400.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"*Obtained using `df.head()`*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Description of supplementary dataset (FTSE100)\\n\",\n    \"\\n\",\n    \"I wanted to add features that corresponded to the general market trend and thought the FTSE100 would be a good representation. The FTSE100 as a single index was not included in my primary dataset, so I obtained the data by scraping Google Finance with a python script (see `google-finance-scraper.py`).\\n\",\n    \"\\n\",\n    \"The supplementary dataset has Open, High, Low, Close data in the date range April 1, 1984 - September 9, 2016.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Defining Characteristics about Stock Data\\n\",\n    \"1. **Limit Down Circuit Breakers**: When the stock price falls by Limit Down during one trading day, trading curbs may kick in. This may mean no further trading of that stock is allowed on that day unless the trading prices are above the Limit Down. Curbs and Limit Downs vary by exchange.\\n\",\n    \"    - This reduces the maximum daily variation of stock prices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dataset Statistics \\n\",\n    \"\\n\",\n    \"The summary statistics for the dataset are not too meaningful, but it gives us an idea of the **variance within the dataset**. The standard deviation of the adjusted close price is of magnitude 10^3 ($1000), and the standard deviation of adjusted volume is of magnitude 10^6 (1,000,000 shares). \\n\",\n    \"\\n\",\n    \"The summary statistics suggest that the data is **positively skewed**. \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>mean</td><td>7.092291e+01</td><td>7.188109e+01</td><td>7.047024e+01</td><td>7.120251e+01</td><td>1.182026e+06</td><td>1.982789e-03</td><td>1.000210e+00</td><td>7.518079e+01</td><td>7.633755e+01</td><td>7.451613e+01</td><td>7.544570e+01</td><td>1.402925e+06</td></tr>\\n\",\n    \"<tr><td>std</td><td>2.193723e+03</td><td>2.220224e+03</td><td>2.191789e+03</td><td>2.206792e+03</td><td>8.868551e+06</td><td>3.370723e-01</td><td>2.165061e-02</td><td>2.266636e+03</td><td>2.295340e+03</td><td>2.261718e+03</td><td>2.279264e+03</td><td>6.620816e+06</td></tr>\\n\",\n    \"<tr><td>min</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>1.000000e-02</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td></tr>\\n\",\n    \"<tr><td>max</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>6.674913e+09</td><td>9.625000e+02</td><td>5.000000e+01</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>2.304019e+09</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"I have checked the count is constant across all columns, i.e. that there are no missing values.\\n\",\n    \"\\n\",\n    \"### Interesting observations: Abnormalities in dataset\\n\",\n    \"The minimum Open, High, Low and Close are all zero. If a stock trades at a price of zero, it kind of doesn't exist. I will examine this in the Data Preprocessing section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### BP Statistics\\n\",\n    \"\\n\",\n    \"More meaningful than the summary statistics for all 3,000+ stocks is the summary statistics for one stock. Since one of the stocks we are hoping to predict is that of BP (British Petroleum), let's examine the corresponding summary statistics.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th><th>Daily Variation</th></tr>\\n\",\n    \"<tr><td>mean</td><td>59.428433</td><td>59.908222</td><td>58.943809</td><td>59.446137</td><td>2.816082e+06</td><td>0.004626</td><td>1.000400</td><td>18.705367</td><td>18.855246</td><td>18.547576</td><td>18.707358</td><td>3.408274e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>std</td><td>20.589378</td><td>20.676885</td><td>20.513272</td><td>20.598500</td><td>7.217241e+06</td><td>0.048270</td><td>0.019987</td><td>14.127674</td><td>14.228791</td><td>14.011973</td><td>14.122609</td><td>7.532096e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>min</td><td>27.250000</td><td>27.850000</td><td>26.500000</td><td>27.020000</td><td>0.000000e+00</td><td>0.000000</td><td>1.000000</td><td>1.522366</td><td>1.528872</td><td>1.503109</td><td>1.522366</td><td>0.000000e+00</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>25%</td><td>44.750000</td><td>45.162500</td><td>44.250000</td><td>44.770000</td><td>1.831500e+05</td><td>0.000000</td><td>1.000000</td><td>5.426399</td><td>5.493816</td><td>5.373302</td><td>5.442764</td><td>7.536000e+05</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>50%</td><td>53.940000</td><td>54.360000</td><td>53.500000</td><td>53.940000</td><td>6.371500e+05</td><td>0.000000</td><td>1.000000</td><td>15.077767</td><td>15.165769</td><td>15.033179</td><td>15.099474</td><td>1.904100e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>75%</td><td>69.750000</td><td>70.230000</td><td>69.327500</td><td>69.795000</td><td>3.784475e+06</td><td>0.000000</td><td>1.000000</td><td>31.849522</td><td>32.207689</td><td>31.524772</td><td>31.889513</td><td>4.051675e+06</td><td>0.0</td></tr>\\n\",\n    \"<tr><td>max</td><td>147.120000</td><td>147.380000</td><td>146.380000</td><td>146.500000</td><td>2.408085e+08</td><td>0.840000</td><td>2.000000</td><td>50.669004</td><td>50.988683</td><td>50.039144</td><td>50.533702</td><td>2.408085e+08</td><td>0.0</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"I have checked the count is 10010 across all columns, i.e. that there are no missing values.\\n\",\n    \"\\n\",\n    \"This is much better understood with a visualisation of the BP data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Exploratory Visualisations\\n\",\n    \"\\n\",\n    \"### Open and Adjusted Open Prices\\n\",\n    \"Let's first get an idea of the open and adjusted open prices. This is equivalent to visualising the the close and adjusted close prices - the variable we want to predict - shifted by one day.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/bp-open-prices.png\\\" />\\n\",\n    \"<img src=\\\"images/bp-adj-open-prices.png\\\" />\\n\",\n    \"\\n\",\n    \"*Prices are in GBP £.*\\n\",\n    \"\\n\",\n    \"#### Observations\\n\",\n    \"1. **Adjusted vs non-adjusted figures** It is extraordinary: the adjusted open and the open are radically different for BP, whereas with stock 'A' in the first few rows of the df, Adj. Open and Open had similar values. This makes sense because some stocks that have few corporate actions e.g. stocks that don't have stock splits or give out dividends will require little value adjustment.\\n\",\n    \"    - Since we are predicting the Adjusted Close, my guess is that the Adjusted figures (Open, High, Low, Volume) will be more useful in predicting the adjusted price. The non-adjusted figures (specifically Volume) may still useful in predicting momentum.\\n\",\n    \"\\n\",\n    \"2. **Trend** The non-adjusted prices do not show an upward trend. The adjusted open prices show somewhat of an upward trend but it has been too volatile in recent years to draw any conclusions.\\n\",\n    \"\\n\",\n    \"3. **Volatility** The stock price looks volatile, which is expected for an oil stock. From the descriptive statistics, the mean daily percentage variation is 1.72% and the maximum daily percentage variation is 16.0%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Volatility: Percentage Variation\\n\",\n    \"\\n\",\n    \"To examine the volatility of BP stock, I constructed the features Percentage Variation and Adj. Percentage Variation, where\\n\",\n    \"\\n\",\n    \"`Percentage Variation = (High - Low)/Open * 100`.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/bp-percentage-variation.png\\\" />\\n\",\n    \"<img src=\\\"images/bp-adj-percentage-variation.png\\\" />\\n\",\n    \"\\n\",\n    \"#### Observations\\n\",\n    \"The Adjusted Percentage Variation and Percentage Variation look similar. There does not seem to be marked trends. It is of note that the stocks are consistently volatile with typical percentage variation of 0-4% in recent years, punctuated with spikes of extremely volatile periods of up to 16% variation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Algorithms and techniques\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"### Algorithm\\n\",\n    \"\\n\",\n    \"I intend to use **linear regression**. \\n\",\n    \"\\n\",\n    \"#### Algorithm Description\\n\",\n    \"\\n\",\n    \"Linear Regression is a way of modelling data by observing data and constructing an equation that minimises error. This regression is linear because the equation takes the form\\n\",\n    \"$$\\\\hat y = \\\\sum \\\\beta_i x_i$$\\n\",\n    \"\\n\",\n    \"where $y$ is what we want to predict (stock prices) and $x_i$s are features such as the date. The hat on top of $y$ indicates it is an estimate.\\n\",\n    \"\\n\",\n    \"That is, this regression is linear because the $x_i$s all have degree 1.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"#### Algorithm Justification\\n\",\n    \"1. I am using a **linear algorithm** because the the **signal-to-noise ratio in trading is low** and more complicated models seem like they would overfit.\\n\",\n    \"2. A linear regression is appropriate because this is a **regression problem** - that is, the output are continuous. \\n\",\n    \"    - Note that *regression* in linear regression does not mean the same thing as *regression* in a regression problem.\\n\",\n    \"\\n\",\n    \"#### Algorithm Parameters\\n\",\n    \"There are only four parameters for `LinearRegression`:\\n\",\n    \"- `fit_intercept` is set to True by default; setting it to false assumes the data is centered and will not produce better results.\\n\",\n    \"- `normalize` normalizes the regressors X before regression. It is set to `False` by default.\\n\",\n    \"- `copy_X` alters whether or not X may be overwritten, which does not affect the result.\\n\",\n    \"- `n_jobs` can provide a speedup if the problem is large and you ask the algorithm to use more CPUs, but it will not change error measures.\\n\",\n    \"\\n\",\n    \"Within these, there is only one parameter that it may be useful to adjust (`normalize`) to improve the error of the result.\\n\",\n    \"\\n\",\n    \"### Techniques\\n\",\n    \"\\n\",\n    \"1. **Time-series train-test split**\\n\",\n    \"    - We will train our model on what we'll call the **training set**, a subset of the data that we have.\\n\",\n    \"    - To make sure our model generalises, we need to test it on some data it has not seen before and evaluate how well it does predicting on that data. \\n\",\n    \"    - To do this, we need to set aside data for testing our model - the **test set**.\\n\",\n    \"    - Because our data is time series data (there is some ordering to it and the ordering influences prices), we cannot shuffle the data.\\n\",\n    \"    - If the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\\n\",\n    \"    - So we cannot use sklearn's `train_test_split` function which automatically shuffles the data. Instead, I will write my own function.\\n\",\n    \"2. **Time-series cross-validation**\\n\",\n    \"    - But testing on only one test set and training on only one training set isn't robust enough. What if the test or training sets we choose have special characteristics that aren't common to other datasets?\\n\",\n    \"    - To make our evaluation more robust so we choose the best model, it's better if we can run multiple train-test cycles. \\n\",\n    \"    - To do this, I wrote the function `execute()`. In this function, I set a number of train-test cycles (`steps`), a total length of the train-test data (`periods` datapoints) and a number of datapoints between the starting points of each consecutive train-test cycle (`buffer_step`).\\n\",\n    \"  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Benchmark\\n\",\n    \"\\n\",\n    \"The benchmark given in the project outline was +/- 5% of the stock price 7 days out. That seems reasonable to start.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## III. Methodology\\n\",\n    \"_(approx. 3-5 pages)_\\n\",\n    \"\\n\",\n    \"### Data Preprocessing\\n\",\n    \"In this section, all of your preprocessing steps will need to be clearly documented, if any were necessary. From the previous section, any of the abnormalities or characteristics that you identified about the dataset will be addressed and corrected here. Questions to ask yourself when writing this section:\\n\",\n    \"- _If the algorithms chosen require preprocessing steps like feature selection or feature transformations, have they been properly documented?_\\n\",\n    \"- _Based on the **Data Exploration** section, if there were abnormalities or characteristics that needed to be addressed, have they been properly corrected?_\\n\",\n    \"- _If no preprocessing is needed, has it been made clear why?_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# III. Methodology\\n\",\n    \"\\n\",\n    \"## Data Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Minor edits\\n\",\n    \"1. On opening the CSV and sampling it with `df.head()`, I realised the CSV had no header. I added a header to the CSV:\\n\",\n    \"```python\\n\",\n    \"df = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\\n\",\n    \"```\\n\",\n    \"where `header_names` was an slightly edited header I'd obtained from downloading the data for an individual stock from Quandl.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Examining Abnormalities\\n\",\n    \"\\n\",\n    \"I noted above that there were datapoints with opening price, high, low and closing price of 0.0. Were these mistakes? On investigating the data, it is plausble these were not mistakes.\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\\n\",\n    \"<tr><td>1047193</td><td>ARWR</td><td>2002-10-11</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>65000.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>100.000000</td></tr>\\n\",\n    \"<tr><td>1047194</td><td>ARWR</td><td>2002-10-14</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>0.000000</td></tr>\\n\",\n    \"<tr><td>7608936</td><td>LFVN</td><td>2003-02-21</td><td>0.0</td><td>0.01</td><td>0.0</td><td>0.01</td><td>27200.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>4.76</td><td>0.0</td><td>4.760000</td><td>57.142857</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"I've included three examples in the table above. The third example shows that the figures may not actually be zero but may be zero to one or two decimal places: the open and low prices were 0.0, but the high and close prices were 0.01.\\n\",\n    \"\\n\",\n    \"I assembled a list of stocks where the open or close was equal to 0 and will examine individual stocks on the list if they end up as features I'd like to use in my model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feature Engineering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1. Daily and Percentage Variation\\n\",\n    \"\\n\",\n    \"Reasoning: This is an indicator of how volatile prices have been. If the daily variation has been higher recently, that may mean there is a lot of uncertainty and that we can expect more fluctuations or that we shouldn't take big one-day changes too seriously when considering long-term predictions. \\n\",\n    \"\\n\",\n    \"I calculated the daily absolute and percentage variation (adjusted and unadjusted) for the entire data frame.\\n\",\n    \"\\n\",\n    \"### 2. Prices of related stocks (Oil stocks)\\n\",\n    \"\\n\",\n    \"Reasoning: BP's stock price is affected by how people feel about oil in general. Thus prices of oil stocks may correlate positively or negatively (if they are direct competitors) with BP's prices.\\n\",\n    \"\\n\",\n    \"I obtained a list of oil companies listed on the LSE by searching for stocks with the same group code (537 for oil) in `list-of-all-securities-ex-debt.csv`.\\n\",\n    \"\\n\",\n    \"Unfortunately there was only one other oil stock on my list that I found in this database (`GAIA`), so instead of creating an aggregated dataframe, I only included `GAIA`'s data in my additional set of features.\\n\",\n    \"\\n\",\n    \"Improvement for future studies: Collect data from another data source to come up with a more informative feature.\\n\",\n    \"\\n\",\n    \"#### Adding GAIA Features\\n\",\n    \"The GAIA trading dates started on 1999-10-29 whereas the BP trading dates started much earlier, so that cut out a large portion of the dataset. Data had to be taken out because it did not make sense to create proxy values for 20+ years' of volatile price data.\\n\",\n    \"\\n\",\n    \"**Complications** There was also a discrepancy in the trading dates. We have data for BP and GAIA on every trading day from 1999-10-29 to 2014-10-02, but beyond that the data for GAIA is incomplete. There was no information on GAIA trading on the second, fourth or fifth of October 2014 (whereas there was for BP). Thus our dataset is pared down even further to a size of 3754 as opposed to 10010 for BP. This is a huge cut.\\n\",\n    \"\\n\",\n    \"### 3. Prices of FTSE100\\n\",\n    \"\\n\",\n    \"Reasoning: Stock prices are also affected by how people feel about the market in general. The FTSE100 is fairly representative of the performance of the market in general, so including it as a feature can help us account for that aspect.\\n\",\n    \"\\n\",\n    \"**Complications** There were 158 dates for which we had BP trading data but not FTSE trading data. (This is unexpected because the FTSE should have values on all trading days. The discrepancy is likely due to problems with the data source. This is unexpected because the data source for FTSE prices was Google Finance, which should be reliable.) \\n\",\n    \"\\n\",\n    \"But because there were only 158 NaNs and they were spread thinly over 8000 datapoints, it made it impossible to truncate a large section with no NaNs that would be large enough to do multiple rounds of meaningful training and testing on. \\n\",\n    \"\\n\",\n    \"I thus proxied the missing prices by taking the means of the the FTSE prices from the trading day before and the trading day after. If those were also NaNs, I moved either one day forward or one day backward. (See `# Proxy remaining NaNs` in 1.2.2.3.) Since the FTSE does not usually fluctuate wildly, I considered the mean to be a reasonable proxy.\\n\",\n    \"\\n\",\n    \"As with prices of oil stocks, an improvement would be to consult another data source to fill in the gaps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Initial implementation\\n\",\n    \"I initially implemented the Linear Regression algorithm with the following basic features:\\n\",\n    \"* Adjusted Close prices on each of the 7 days prior to the first prediction date\\n\",\n    \"* Max Adjusted High and Min Adjusted Low for that 7-day period prior to the first prediction date.\\n\",\n    \"\\n\",\n    \"### Process:\\n\",\n    \"1. Construct dataframe `X` containing initial features and dataframe `y` with 'Adjusted Close' prices.\\n\",\n    \"    - This required some setting up to extract the relevant features from the dataset and put them in an appropriately formatted dataframe. This is in the first half of `prepare_train_test()` function in part 2.1 of `III. Methodology - Code.ipynb`.\\n\",\n    \"    - The `y` target `nday_prices` had prices for the next `n` days.\\n\",\n    \"2. Split `X` and `y` into training and test datasets.\\n\",\n    \"    - I wrote my own function to do this (initially in `train_test_split_noshuffle` before I absorbed it into `prepare_train_test()`) instead of using sklearn's `train_test_split`. This was because sklearn's function automatically shuffles the data. Shuffling the data is okay and desired for situations in which data is not ordered, but is not okay for time-series data. \\n\",\n    \"    - As stated in the *Algorithms and Techniques* section, if the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\\n\",\n    \"3. Train model on training data.\\n\",\n    \"    - Because there were multiple outputs to predict in `nday_prices` (the model had to forecast prices for each of the 7 trading days after the last date it was given), I wrapped `MultiOutputRegressor` from sklearn's `multioutput` module around my classifier.\\n\",\n    \"    - This is in the first half of the function `classify_and_metrics` in `2.2 Classifier` in `III. Methodology - Code.ipynb`.\\n\",\n    \"4. Ask model to predict prices on test features.\\n\",\n    \"5. Print metrics\\n\",\n    \"    - I included this in `classify_and_metrics()` using my helper functions `rmsp()` (root mean squared percentage error) and `print_metrics()`. See Section `2.2 Classifier` in `III. Methodology - Code.ipynb`.\\n\",\n    \"\\n\",\n    \"#### Refactoring\\n\",\n    \"I refactored the code so that I could run a full (1) train-test split, (2) train classifier, (3) test classifier and print metrics cycle using only one line. To do this, I wrapped all the functions those processes with the `execute()` function.\\n\",\n    \"\\n\",\n    \"### Initial Results\\n\",\n    \"The results are shown below. I also tried using an SVM regression for comparison. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Linear Regression\\n\",\n    \"<table>\\n\",\n    \"<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"Mean R2 score: 0.807. Ranged from 0.606 to 0.936.\\n\",\n    \"\\n\",\n    \"#### SVM.SVR\\n\",\n    \"<table>\\n\",\n    \"<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\\n\",\n    \"<tr><td>1</td><td>11.230</td></tr>\\n\",\n    \"<tr><td>2</td><td>11.460</td></tr>\\n\",\n    \"<tr><td>3</td><td>11.761</td></tr>\\n\",\n    \"<tr><td>4</td><td>12.022</td></tr>\\n\",\n    \"<tr><td>5</td><td>12.323</td></tr>\\n\",\n    \"<tr><td>6</td><td>12.667</td></tr>\\n\",\n    \"<tr><td>7</td><td>13.060</td></tr>\\n\",\n    \"</table>\\n\",\n    \"Mean R2 score: -2.044. Ranged from -9.156 to 0.822.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Linear Regression did surprisingly well, with a mean R2 score above 0.807 overall for 7-day predictions and a mean RMS percentage error of under 5% for forecasts 7 days away. \\n\",\n    \"\\n\",\n    \"The SVM regression did horribly - it had a negative mean R2 score (-2.044) and negative median R2 score, which means it was worse than guessing randomly. It had a mean RMS percentage error of over 24% for all number-of-days ahead predicted.\\n\",\n    \"\\n\",\n    \"It is impressive that the Linear Regression model did so well with such basic features.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# TODO: Insert plot of predictions vs actual prices\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Refinement\\n\",\n    \"\\n\",\n    \"### 1. Adjusting parameters\\n\",\n    \"\\n\",\n    \"As discussed in Analysis: Algorithm Parameters, there is only one parameter that it may be useful to adjust (`normalize`).\\n\",\n    \"\\n\",\n    \"I ran the algorithm with `normalize=True` to see if it produced better results. The metrics returned were exactly the same as when, by default, `normalize=False`.\\n\",\n    \"\\n\",\n    \"### 2. Add features (Feature Selection)\\n\",\n    \"\\n\",\n    \"I then experimented with adding the features I'd engineered earlier. (See *Data Preprocessing: Feature Engineering* for more details on how these features came about.)\\n\",\n    \"\\n\",\n    \"#### 2.1 Adding more of the same type of features:\\n\",\n    \"\\n\",\n    \"In the first implementation, I only used prices from the 7 days running up to the first prediction day. I then tried using prices from 10, 14, 21 and 30 days running up to the first prediction day. \\n\",\n    \"\\n\",\n    \"Reasoning: If we have more data, it makes sense to use it if we are confident it will give us better results.\\n\",\n    \"\\n\",\n    \"To do this, I changed the value of the parameter `days` in the function `execute`, which trains and tests the classifier and prints metrics. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"#### Mean Daily Error across 15 trials\\n\",\n    \"<table>\\n\",\n    \"<th>Day to predict</th><th>7d (used)</th><th>10d</th><th>14d</th><th>21d</th><th>30d</th><th>100d</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.732</td><td>1.729</td><td>1.746</td><td>1.784</td><td>1.924</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.543</td><td>2.526</td><td>2.555</td><td>2.593</td><td>2.768</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>3.138</td><td>3.103</td><td>3.113</td><td>3.152</td><td>3.370</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.579</td><td>3.586</td><td>3.586</td><td>3.633</td><td>3.890</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.939</td><td>4.002</td><td>3.991</td><td>4.048</td><td>4.355</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>4.269</td><td>4.372</td><td>4.342</td><td>4.392</td><td>4.769</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.543</td><td>4.702</td><td>4.658</td><td>4.705</td><td>5.163</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that mean RMS percentage error is slightly smaller in one instance (using 10d instead of 7d to predict precisely 7 days ahead),but otherwise that mean RMS percentage error is greater as the number of days of data given increases.\\n\",\n    \"\\n\",\n    \"This is because more days' of data in this case means more features (e.g. for 100 days' of data we have 102 features). This increases the risk of overfitting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2.2 Adding GAIA (Oil Stock) Prices\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"There were far fewer datapoints to work with because because of date inconsistencies (3753 datapoints vs 10010 for the BP-only model), so I decreased the step length (the difference between start dates) between consecutive trials to 200 from 500. This does not affect individual trial performance, but reduces the variety of data used for trials. We should bear this in mind when comparing performance of adding GAIA prices as features and not adding GAIA prices as features. \\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Day to predict</th><th>7d (no GAIA)</th><th>7d (GAIA)</th><th>10d (no GAIA)</th><th>10d (GAIA)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.744</td><td>1.732</td><td>1.751</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.444</td><td>2.543</td><td>2.467</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>2.938</td><td>3.138</td><td>2.978</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.424</td><td>3.579</td><td>3.479</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.881</td><td>3.939</td><td>3.946</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>4.294</td><td>4.269</td><td>4.368</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.702</td><td>4.543</td><td>4.816</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"*Trial information: (1) Not GAIA: Mean over 15 trials, buffer step = 500. \\n\",\n    \"(2) GAIA: Mean over 13 trials, buffer step = 200. 1000 periods used (800 to train, 200 to test) per trial*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When considering 7 days' worth of data, adding GAIA features produces predictions with a similar mean RMS percentage error. The mean error is higher for 6 out of 7 days-ahead (the exception being 3 days ahead).\\n\",\n    \"\\n\",\n    \"When considering 10 days' worth of data, adding GAIA features performs slightly better for 2-4 days-ahead (0.08%, 0.16%, 0.1% improved) and slightly worse for all other days-ahead (0.02%, 0.01%, 0.1%, 0.27% worse). But these mean RMS percentage errors are all larger than the 7-day no-GAIA mean RMS percentage errors.\\n\",\n    \"\\n\",\n    \"**Action**: I conclude that adding GAIA features in this way does not reliably produce better results, likely because additional features increase the risk of overfitting.\\n\",\n    \"\\n\",\n    \"**Interpretation**: It makes sense because BP prices would not correlate perfectly in one direction or the other with GAIA prices: oil companies' stock prices incorporate sentiment about oil but companies are also often in different regions and compete against each other, muddying correlations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2.3 Adding related features: FTSE100\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The timespan used for no-FTSE and with-FTSE trials was similar (since we had over 8000 FTSE datapoints), so we can compare the two more readily than we could compare the no-GAIA and with-GAIA figures.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<table>\\n\",\n    \"    <th>Day to predict</th><th>7d (no FTSE)</th><th>7d (FTSE)</th><th>10d (no FTSE)</th><th>10d (FTSE)</th>\\n\",\n    \"<tr><td>1</td><td>1.669</td><td>1.518</td><td>1.732</td><td>1.531</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.422</td><td>2.222</td><td>2.543</td><td>2.230</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.968</td><td>2.733</td><td>3.138</td><td>2.743</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.407</td><td>3.179</td><td>3.579</td><td>3.187</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.834</td><td>3.545</td><td>3.939</td><td>3.574</td></tr>\\n\",\n    \"<tr><td>6</td><td>4.230</td><td>3.857</td><td>4.269</td><td>3.910</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.590</td><td>4.162</td><td>4.543</td><td>4.236</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"*Trial information: (1) Not FTSE: Mean over 15 trials, buffer step = 500. \\n\",\n    \"(2) FTSE: Mean over 15 trials, buffer step = 450. 1000 periods used (800 to train, 200 to test) per trial*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally something that performs better than the initial model!\\n\",\n    \"\\n\",\n    \"Adding FTSE features makes the model perform better than not adding FTSE features when considering 7 days' or 10 days' worth of data. Using 7 days' worth of data is better than using 10 days' worth of data (reduces overfitting), but it's worth noting that adding FTSE features and using 10 days' worth of data is better than using 7 days' of data but not including FTSE data. \\n\",\n    \"\\n\",\n    \"This is a significant improvement. Note that the percentage error reduction increases the further away the prediction is (0.4% reduction for 6-7 days ahead vs 0.15% reduction for 1 day ahead).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Improvement (Implementation): Generalise functions `prepare_train_test_with_ftse()` so I don't have to write a function for each dataframe join.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# IV. Results\\n\",\n    \"\\n\",\n    \"## Model Evaluation and Validation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Model Choice\\n\",\n    \"\\n\",\n    \"The final model is \\n\",\n    \"- Features:\\n\",\n    \"    - BP Adjusted Close, max BP Adjusted High, min BP Adjusted Low\\n\",\n    \"    - FTSE Close, max FTSE High and min FTSE Low \\n\",\n    \"for 7 days prior to the first prediction date.\\n\",\n    \"- Classifier:\\n\",\n    \"    - Default Linear Regression\\n\",\n    \"\\n\",\n    \"This model had the **lowest mean root mean squared percentage error** across over 10 trials (across timespans of around 30 years) out of all the models I tried.\\n\",\n    \"\\n\",\n    \"Insight: Most of the improvements I tried to make only made the model worse. This goes to show that added complexity doesn't necessarily make a model better, especially when that complexity contains much noise.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Generalisability\\n\",\n    \"When we evaluated the model in the previous section, each iteration of the model was run on 13-15 training and test sets. We then looked at the mean daily root mean squared percentage error. This **variation of input data** is to ensure that the model can generalise well and does not only perform well on one set of data.\\n\",\n    \"\\n\",\n    \"There are two types of metrics we need to look at: mean performance and variance of performance. Both are encapsulated in mean daily RMS percentage error because (1) it measures the performance (error) and (2) it penalises larger errors more because we sum the squared percentage errors before taking the square root. Additionally, by observation, the error of our chosen model does not vary significantly from trial to trial.\\n\",\n    \"\\n\",\n    \"#### Performance Metrics\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"    <th>Day to predict</th><th>Mean root mean squared percentage error across 15 trials</th>\\n\",\n    \"<tr><td>1</td><td>1.518</td></tr>\\n\",\n    \"<tr><td>2</td><td>2.222</td></tr>\\n\",\n    \"<tr><td>3</td><td>2.733</td></tr>\\n\",\n    \"<tr><td>4</td><td>3.179</td></tr>\\n\",\n    \"<tr><td>5</td><td>3.545</td></tr>\\n\",\n    \"<tr><td>6</td><td>3.857</td></tr>\\n\",\n    \"<tr><td>7</td><td>4.162</td></tr>\\n\",\n    \"</table>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Justification (Comparison with expectations)\\n\",\n    \"\\n\",\n    \"Overall, this model aligns with solution expectations and on average performs slightly better than the benchmark of predicting within +/- 5% of the stock's adjusted closing price 7 days after the last training date. The model has mean performance of 4.162% error predicting adjusted closing price 7 days ahead. \\n\",\n    \"\\n\",\n    \"The solution gives a reasonably accurate predictions but it **is not significant enough** to reliably give advice on trades because a 5% error is significant in trading. There are also transaction costs with every trade, which would cut into profits.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/report-drafts/p5.5-conclusion.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# V. Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"collapsed\": true\n   },\n   \"source\": [\n    \"## Free-Form Visualisation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualisation 1: Plotting predictions compared with actual prices\\n\",\n    \"\\n\",\n    \"This graph visualises the 7th-day predictions compared with the actual adjusted close prices.\\n\",\n    \"By 7th-day predictions, I am referring to the price predicted for e.g. Sept 7 if we are given training data up till Aug 30th. The purpose is to see how predictions vary with actual prices. I picked 200 datapoints to visualise because visualising all the points at once does not provide much insight.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/freeform-viz-200-points.png\\\" />\\n\",\n    \"\\n\",\n    \"Here is the visualisation with all points for reference:\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/freeform-viz-all-points.png\\\" />\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Reflection\\n\",\n    \"\\n\",\n    \"### Summary\\n\",\n    \"\\n\",\n    \"In this project, we predicted BP's stock price. \\n\",\n    \"\\n\",\n    \"Initially we used a linear regression only on BP stock prices from the past 7 days, which produced impressive results, with 7-day predictions having a root mean squared percentage error of 5.4%.\\n\",\n    \"\\n\",\n    \"In this initial iteration, we perfomed the following steps:\\n\",\n    \"1. Import data (CSV) and format it as a Pandas Dataframe\\n\",\n    \"2. Create features  dataframe: Select features we wanted to use and put it into a separate dataframe\\n\",\n    \"3. Create target dataframe (Prices for 7 days following the last date provided in the features).\\n\",\n    \"4. Split into training and testing sets. (No shuffle because we are dealing with time series data.)\\n\",\n    \"5. Train chosen classifier.\\n\",\n    \"6. Predict test target.\\n\",\n    \"7. Evaluate test target and print evaluation metrics.\\n\",\n    \"\\n\",\n    \"After the initial iteration, I then repeated the process firstly with different classifiers (altering parameters, tried SVM regression) and then with new features (more days' worth of data, GAIA data, FTSE data). \\n\",\n    \"\\n\",\n    \"I then chose the model with the lowest mean root mean squared percentage error, which was a Linear Regression classifier trained on 7 days of BP and FTSE data (Close, max High and min Low prices. Adjusted for BP, not adjusted for FTSE).\\n\",\n    \"\\n\",\n    \"### Interesting Aspects of the Project\\n\",\n    \"1. **Coming up with new features from scratch as opposed to selecting them from a given set**. This resulted in much analysis paralysis because the universe of possible features is so large.\\n\",\n    \"2. **Collating data from different sources.** I wanted to use FTSE prices that weren't in the Quandl database I downloaded, so I wrote a Python script to scrape the data from Google Finance. I then had to combine this data with the BP price data. This was made more tedious because there were missing data values when I joined the two dataframes by dates, so I also had to **proxy data values**.\\n\",\n    \"2. **A simple model turned out to be better than several more complex models.** E.g. Linear Regression did better than SVM regression, and adding GAIA features or increasing the number of days' worth of data we considered both made increased RMS percentage error.\\n\",\n    \"\\n\",\n    \"### Difficult Aspects of the Project\\n\",\n    \"1. It was hard **selecting the algorithm** to use for this problem. \\n\",\n    \"    - It seemed as though any regression algorithm could work - and there are so many of them! I dealt with this by (1) first implementing an SVM regression to get the code to implement the algorithm down on the page so things would feel more concrete. Then I (2) chose the simplest algorithm that seemed to fit the problem and tried that.\\n\",\n    \"    - I was also conflicted as to whether or not I should use reinforcement learning. On the one hand there are profits that can act as rewards, but on the other hand trading would not impact the environment.\\n\",\n    \"2. **Putting different features together** in a dataframe took effort. \\n\",\n    \"    - Different stocks or indices had data for different dates (e.g. some had data for 1984-04-20, some didn't). I had to find these differences and decide what to do with missing data. \\n\",\n    \"3. There were **many possible features**. \\n\",\n    \"    - The project just got longer and longer and I hadn't even looked through half of the features I wanted to investigate or tried different algorithms. I decided to test out only a few features in this exploratory study and leave the rest for another study.\\n\",\n    \"    \\n\",\n    \"It is worth noting that the interesting and difficult parts of this project overlapped.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improvements\\n\",\n    \"\\n\",\n    \"<table>\\n\",\n    \"<th>Improvement</th><th>Expected Change</th>\\n\",\n    \"<tr><td>1. Try a wider selection of features.\\n\",\n    \"    - Stocks from other stock markets (e.g. NYSE)\\n\",\n    \"    - Company-specific figures such as P/E ratios</td><td>More accurate model</td></tr>\\n\",\n    \"<tr><td>2. Obtain and combine data from different data sources to minimise missing data\\n\",\n    \"    - e.g. FTSE100 prices because they must exist somewhere.</td><td>Increase number of datapoints with accurate data and so improve predictive range and capabilities</td></tr>\\n\",\n    \"<tr><td>3. Add measure of confidence for predictions (Probabilities)</td><td>Better idea of how reliable each prediction is so we can then recommend trades for high-confidence, postive-profit predictions.</td></tr>\\n\",\n    \"</table>\\n\",\n    \"\\n\",\n    \"### Things to Explore\\n\",\n    \"1. Try more algorithms (different classes).\\n\",\n    \"    - Different types of regressions\\n\",\n    \"    - Reinforcement Learning\\n\",\n    \"    - Deep Learning, Ensembles</td><td>Generically \\n\",\n    \"\\n\",\n    \"2. It would also be interesting to try this as a binary classification problem (predicting whether the price would go up or down) as opposed to predicting the exact price.\\n\",\n    \"\\n\",\n    \"### A Better Solution?\\n\",\n    \"Given the openness of this problem and the large universe it is contained in, I am confident that better solutions exist. That is a beautiful characteristic of this problem - than many things (even things which are beyond the scope of financial figures and stock prices, such as Wikipedia page views) can be used as features or proxies for stock prices.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.5.1\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/maze.py",
    "content": "import numpy as np\n\nclass Maze(object):\n    def __init__(self, filename):\n        '''\n        Maze objects have two main attributes:\n        - dim: mazes should be square, with sides of even length. (integer)\n        - walls: passages are coded as a 4-bit number, with a bit value taking\n            0 if there is a wall and 1 if there is no wall. The 1s register\n            corresponds with a square's top edge, 2s register the right edge,\n            4s register the bottom edge, and 8s register the left edge. (numpy\n            array)\n\n        The initialization function also performs some consistency checks for\n        wall positioning.\n        '''\n        with open(filename, 'rb') as f_in:\n\n            # First line should be an integer with the maze dimensions\n            self.dim = int(f_in.next())\n\n            # Subsequent lines describe the permissability of walls\n            walls = []\n            for line in f_in:\n                walls.append(map(int,line.split(',')))\n            self.walls = np.array(walls)\n\n        # Perform validation on maze\n        # Maze dimensions\n        if self.dim % 2:\n            raise Exception('Maze dimensions must be even in length!')\n        if self.walls.shape != (self.dim, self.dim):\n            raise Exception('Maze shape does not match dimension attribute!')\n\n        # Wall permeability\n        wall_errors = []\n        # vertical walls\n        for x in range(self.dim-1):\n            for y in range(self.dim):\n                if (self.walls[x,y] & 2 != 0) != (self.walls[x+1,y] & 8 != 0):\n                    wall_errors.append([(x,y), 'v'])\n        # horizontal walls\n        for y in range(self.dim-1):\n            for x in range(self.dim):\n                if (self.walls[x,y] & 1 != 0) != (self.walls[x,y+1] & 4 != 0):\n                    wall_errors.append([(x,y), 'h'])\n\n        if wall_errors:\n            for cell, wall_type in wall_errors:\n                if wall_type == 'v':\n                    cell2 = (cell[0]+1, cell[1])\n                    print 'Inconsistent vertical wall betweeen {} and {}'.format(cell, cell2)\n                else:\n                    cell2 = (cell[0], cell[1]+1)\n                    print 'Inconsistent horizontal wall betweeen {} and {}'.format(cell, cell2)\n            raise Exception('Consistency errors found in wall specifications!')\n\n\n    def is_permissible(self, cell, direction):\n        \"\"\"\n        Returns a boolean designating whether or not a cell is passable in the\n        given direction. Cell is input as a list. Directions may be\n        input as single letter 'u', 'r', 'd', 'l', or complete words 'up', \n        'right', 'down', 'left'.\n        \"\"\"\n        dir_int = {'u': 1, 'r': 2, 'd': 4, 'l': 8,\n                   'up': 1, 'right': 2, 'down': 4, 'left': 8}\n        try:\n            return (self.walls[tuple(cell)] & dir_int[direction] != 0)\n        except:\n            print 'Invalid direction provided!'\n\n\n    def dist_to_wall(self, cell, direction):\n        \"\"\"\n        Returns a number designating the number of open cells to the nearest\n        wall in the indicated direction. Cell is input as a list. Directions\n        may be input as a single letter 'u', 'r', 'd', 'l', or complete words\n        'up', 'right', 'down', 'left'.\n        \"\"\"\n        dir_move = {'u': [0, 1], 'r': [1, 0], 'd': [0, -1], 'l': [-1, 0],\n                    'up': [0, 1], 'right': [1, 0], 'down': [0, -1], 'left': [-1, 0]}\n\n        sensing = True\n        distance = 0\n        curr_cell = list(cell) # make copy to preserve original\n        while sensing:\n            if self.is_permissible(curr_cell, direction):\n                distance += 1\n                curr_cell[0] += dir_move[direction][0]\n                curr_cell[1] += dir_move[direction][1]\n            else:\n                sensing = False\n        return distance"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/robot.py",
    "content": "import numpy as np\n\nclass Robot(object):\n    def __init__(self, maze_dim):\n        '''\n        Use the initialization function to set up attributes that your robot\n        will use to learn and navigate the maze. Some initial attributes are\n        provided based on common information, including the size of the maze\n        the robot is placed in.\n        '''\n\n        self.location = [0, 0]\n        self.heading = 'up'\n        self.maze_dim = maze_dim\n\n    def next_move(self, sensors):\n        '''\n        Use this function to determine the next move the robot should make,\n        based on the input from the sensors after its previous move. Sensor\n        inputs are a list of three distances from the robot's left, front, and\n        right-facing sensors, in that order.\n\n        Outputs should be a tuple of two values. The first value indicates\n        robot rotation (if any), as a number: 0 for no rotation, +90 for a\n        90-degree rotation clockwise, and -90 for a 90-degree rotation\n        counterclockwise. Other values will result in no rotation. The second\n        value indicates robot movement, and the robot will attempt to move the\n        number of indicated squares: a positive number indicates forwards\n        movement, while a negative number indicates backwards movement. The\n        robot may move a maximum of three units per turn. Any excess movement\n        is ignored.\n\n        If the robot wants to end a run (e.g. during the first training run in\n        the maze) then returing the tuple ('Reset', 'Reset') will indicate to\n        the tester to end the run and return the robot to the start.\n        '''\n\n        rotation = 0\n        movement = 0\n\n        return rotation, movement"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/showmaze.py",
    "content": "from maze import Maze\nimport turtle\nimport sys\n\nif __name__ == '__main__':\n    '''\n    This function uses Python's turtle library to draw a picture of the maze\n    given as an argument when running the script.\n    '''\n\n    # Create a maze based on input argument on command line.\n    testmaze = Maze( str(sys.argv[1]) )\n\n    # Intialize the window and drawing turtle.\n    window = turtle.Screen()\n    wally = turtle.Turtle()\n    wally.speed(0)\n    wally.hideturtle()\n    wally.penup()\n\n    # maze centered on (0,0), squares are 20 units in length.\n    sq_size = 20\n    origin = testmaze.dim * sq_size / -2\n\n    # iterate through squares one by one to decide where to draw walls\n    for x in range(testmaze.dim):\n        for y in range(testmaze.dim):\n            if not testmaze.is_permissible([x,y], 'up'):\n                wally.goto(origin + sq_size * x, origin + sq_size * (y+1))\n                wally.setheading(0)\n                wally.pendown()\n                wally.forward(sq_size)\n                wally.penup()\n\n            if not testmaze.is_permissible([x,y], 'right'):\n                wally.goto(origin + sq_size * (x+1), origin + sq_size * y)\n                wally.setheading(90)\n                wally.pendown()\n                wally.forward(sq_size)\n                wally.penup()\n\n            # only check bottom wall if on lowest row\n            if y == 0 and not testmaze.is_permissible([x,y], 'down'):\n                wally.goto(origin + sq_size * x, origin)\n                wally.setheading(0)\n                wally.pendown()\n                wally.forward(sq_size)\n                wally.penup()\n\n            # only check left wall if on leftmost column\n            if x == 0 and not testmaze.is_permissible([x,y], 'left'):\n                wally.goto(origin, origin + sq_size * y)\n                wally.setheading(90)\n                wally.pendown()\n                wally.forward(sq_size)\n                wally.penup()\n\n    window.exitonclick()"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/test_maze_01.txt",
    "content": "12\n1,5,7,5,5,5,7,5,7,5,5,6\n3,5,14,3,7,5,15,4,9,5,7,12\n11,6,10,10,9,7,13,6,3,5,13,4\n10,9,13,12,3,13,5,12,9,5,7,6\n9,5,6,3,15,5,5,7,7,4,10,10\n3,5,15,14,10,3,6,10,11,6,10,10\n9,7,12,11,12,9,14,9,14,11,13,14\n3,13,5,12,2,3,13,6,9,14,3,14\n11,4,1,7,15,13,7,13,6,9,14,10\n11,5,6,10,9,7,13,5,15,7,14,8\n11,5,12,10,2,9,5,6,10,8,9,6\n9,5,5,13,13,5,5,12,9,5,5,12"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/test_maze_02.txt",
    "content": "14\n1,5,5,7,7,5,5,6,3,6,3,5,5,6\n3,5,6,10,9,5,5,15,14,11,14,3,7,14\n11,6,11,14,1,7,6,10,10,10,11,12,8,10\n10,9,12,10,3,12,11,14,11,14,10,3,5,14\n11,5,6,8,11,7,12,8,10,9,12,9,7,12\n11,7,13,7,14,11,5,5,13,5,4,3,13,6\n8,9,5,14,9,12,3,7,6,3,6,11,6,10\n3,5,5,14,3,6,9,12,11,12,10,10,10,10\n10,3,5,13,14,10,3,5,13,7,14,8,9,14\n9,14,3,6,11,14,9,5,6,10,10,3,6,10\n3,13,14,11,14,11,4,3,13,15,13,14,10,10\n10,3,15,12,9,12,3,13,5,14,3,12,11,14\n11,12,11,7,5,6,10,1,5,15,13,7,12,10\n9,5,12,9,5,13,13,5,5,12,1,13,5,12"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/test_maze_03.txt",
    "content": "16\n1,5,5,6,3,7,5,5,5,5,7,5,5,5,5,6\n3,5,6,10,10,9,6,3,5,5,13,7,5,5,6,10\n11,6,11,15,15,5,14,8,2,3,5,13,5,6,10,10\n10,10,10,10,11,5,13,5,12,9,7,6,3,15,13,14\n10,10,10,9,12,3,5,6,3,6,10,11,14,11,6,10\n9,14,9,4,3,13,6,11,14,10,9,12,11,12,10,10\n1,13,6,3,14,3,15,12,9,15,6,3,13,7,12,10\n3,6,10,10,9,14,8,3,6,8,10,9,7,13,7,12\n10,10,10,10,3,13,7,13,12,3,14,3,13,7,13,6\n10,10,10,11,12,3,14,3,6,10,10,10,3,15,7,14\n10,9,12,9,7,14,11,14,10,8,10,10,10,10,10,10\n11,5,5,6,10,11,14,11,15,6,9,13,14,10,10,10\n11,7,6,10,9,14,9,14,10,10,3,7,15,14,10,10\n10,10,9,12,2,9,5,15,14,10,10,10,10,11,14,10\n10,11,5,5,12,3,5,12,10,11,13,12,10,10,9,14\n9,13,5,5,5,13,5,5,13,13,5,5,12,9,5,12"
  },
  {
    "path": "p5-capstone/archive/robot_motion_planning/tester.py",
    "content": "from maze import Maze\nfrom robot import Robot\nimport sys\n\n# global dictionaries for robot movement and sensing\ndir_sensors = {'u': ['l', 'u', 'r'], 'r': ['u', 'r', 'd'],\n               'd': ['r', 'd', 'l'], 'l': ['d', 'l', 'u'],\n               'up': ['l', 'u', 'r'], 'right': ['u', 'r', 'd'],\n               'down': ['r', 'd', 'l'], 'left': ['d', 'l', 'u']}\ndir_move = {'u': [0, 1], 'r': [1, 0], 'd': [0, -1], 'l': [-1, 0],\n            'up': [0, 1], 'right': [1, 0], 'down': [0, -1], 'left': [-1, 0]}\ndir_reverse = {'u': 'd', 'r': 'l', 'd': 'u', 'l': 'r',\n               'up': 'd', 'right': 'l', 'down': 'u', 'left': 'r'}\n\n# test and score parameters\nmax_time = 1000\ntrain_score_mult = 1/30.\n\nif __name__ == '__main__':\n    '''\n    This script tests a robot based on the code in robot.py on a maze given\n    as an argument when running the script.\n    '''\n\n    # Create a maze based on input argument on command line.\n    testmaze = Maze( str(sys.argv[1]) )\n\n    # Intitialize a robot; robot receives info about maze dimensions.\n    testrobot = Robot(testmaze.dim)\n\n    # Record robot performance over two runs.\n    runtimes = []\n    total_time = 0\n    for run in range(2):\n        print \"Starting run {}.\".format(run)\n\n        # Set the robot in the start position. Note that robot position\n        # parameters are independent of the robot itself.\n        robot_pos = {'location': [0, 0], 'heading': 'up'}\n\n        run_active = True\n        hit_goal = False\n        while run_active:\n            # check for end of time\n            total_time += 1\n            if total_time > max_time:\n                run_active = False\n                print \"Allotted time exceeded.\"\n                break\n\n            # provide robot with sensor information, get actions\n            sensing = [testmaze.dist_to_wall(robot_pos['location'], heading)\n                       for heading in dir_sensors[robot_pos['heading']]]\n            rotation, movement = testrobot.next_move(sensing)\n\n            # check for a reset\n            if (rotation, movement) == ('Reset', 'Reset'):\n                if run == 0 and hit_goal:\n                    run_active = False\n                    runtimes.append(total_time)\n                    print \"Ending first run. Starting next run.\"\n                    break\n                elif run == 0 and not hit_goal:\n                    print \"Cannot reset - robot has not hit goal yet.\"\n                    continue\n                else:\n                    print \"Cannot reset on runs after the first.\"\n                    continue\n\n            # perform rotation\n            if rotation == -90:\n                robot_pos['heading'] = dir_sensors[robot_pos['heading']][0]\n            elif rotation == 90:\n                robot_pos['heading'] = dir_sensors[robot_pos['heading']][2]\n            elif rotation == 0:\n                pass\n            else:\n                print \"Invalid rotation value, no rotation performed.\"\n\n            # perform movement\n            if abs(movement) > 3:\n                print \"Movement limited to three squares in a turn.\"\n            movement = max(min(int(movement), 3), -3) # fix to range [-3, 3]\n            while movement:\n                if movement > 0:\n                    if testmaze.is_permissible(robot_pos['location'], robot_pos['heading']):\n                        robot_pos['location'][0] += dir_move[robot_pos['heading']][0]\n                        robot_pos['location'][1] += dir_move[robot_pos['heading']][1]\n                        movement -= 1\n                    else:\n                        print \"Movement stopped by wall.\"\n                        movement = 0\n                else:\n                    rev_heading = dir_reverse[robot_pos['heading']]\n                    if testmaze.is_permissible(robot_pos['location'], rev_heading):\n                        robot_pos['location'][0] += dir_move[rev_heading][0]\n                        robot_pos['location'][1] += dir_move[rev_heading][1]\n                        movement += 1\n                    else:\n                        print \"Movement stopped by wall.\"\n                        movement = 0\n\n            # check for goal entered\n            goal_bounds = [testmaze.dim/2 - 1, testmaze.dim/2]\n            if robot_pos['location'][0] in goal_bounds and robot_pos['location'][1] in goal_bounds:\n                hit_goal = True\n                if run != 0:\n                    runtimes.append(total_time - sum(runtimes))\n                    run_active = False\n                    print \"Goal found; run {} completed!\".format(run)\n\n    # Report score if robot is successful.\n    if len(runtimes) == 2:\n        print \"Task complete! Score: {:4.3f}\".format(runtimes[1] + train_score_mult*runtimes[0])"
  },
  {
    "path": "p5-capstone/archive/udacity-materials/project_report_template.md",
    "content": "# Capstone Project\n## Machine Learning Engineer Nanodegree\nJoe Udacity  \nDecember 31st, 2050\n\n## I. Definition\n_(approx. 1-2 pages)_\n\n### Project Overview\nIn this section, look to provide a high-level overview of the project in layman’s terms. Questions to ask yourself when writing this section:\n- _Has an overview of the project been provided, such as the problem domain, project origin, and related datasets or input data?_\n- _Has enough background information been given so that an uninformed reader would understand the problem domain and following problem statement?_\n\n### Problem Statement\nIn this section, you will want to clearly define the problem that you are trying to solve, including the strategy (outline of tasks) you will use to achieve the desired solution. You should also thoroughly discuss what the intended solution will be for this problem. Questions to ask yourself when writing this section:\n- _Is the problem statement clearly defined? Will the reader understand what you are expecting to solve?_\n- _Have you thoroughly discussed how you will attempt to solve the problem?_\n- _Is an anticipated solution clearly defined? Will the reader understand what results you are looking for?_\n\n### Metrics\nIn this section, you will need to clearly define the metrics or calculations you will use to measure performance of a model or result in your project. These calculations and metrics should be justified based on the characteristics of the problem and problem domain. Questions to ask yourself when writing this section:\n- _Are the metrics you’ve chosen to measure the performance of your models clearly discussed and defined?_\n- _Have you provided reasonable justification for the metrics chosen based on the problem and solution?_\n\n\n## II. Analysis\n_(approx. 2-4 pages)_\n\n### Data Exploration\nIn this section, you will be expected to analyze the data you are using for the problem. This data can either be in the form of a dataset (or datasets), input data (or input files), or even an environment. The type of data should be thoroughly described and, if possible, have basic statistics and information presented (such as discussion of input features or defining characteristics about the input or environment). Any abnormalities or interesting qualities about the data that may need to be addressed have been identified (such as features that need to be transformed or the possibility of outliers). Questions to ask yourself when writing this section:\n- _If a dataset is present for this problem, have you thoroughly discussed certain features about the dataset? Has a data sample been provided to the reader?_\n- _If a dataset is present for this problem, are statistics about the dataset calculated and reported? Have any relevant results from this calculation been discussed?_\n- _If a dataset is **not** present for this problem, has discussion been made about the input space or input data for your problem?_\n- _Are there any abnormalities or characteristics about the input space or dataset that need to be addressed? (categorical variables, missing values, outliers, etc.)_\n\n### Exploratory Visualization\nIn this section, you will need to provide some form of visualization that summarizes or extracts a relevant characteristic or feature about the data. The visualization should adequately support the data being used. Discuss why this visualization was chosen and how it is relevant. Questions to ask yourself when writing this section:\n- _Have you visualized a relevant characteristic or feature about the dataset or input data?_\n- _Is the visualization thoroughly analyzed and discussed?_\n- _If a plot is provided, are the axes, title, and datum clearly defined?_\n\n### Algorithms and Techniques\nIn this section, you will need to discuss the algorithms and techniques you intend to use for solving the problem. You should justify the use of each one based on the characteristics of the problem and the problem domain. Questions to ask yourself when writing this section:\n- _Are the algorithms you will use, including any default variables/parameters in the project clearly defined?_\n- _Are the techniques to be used thoroughly discussed and justified?_\n- _Is it made clear how the input data or datasets will be handled by the algorithms and techniques chosen?_\n\n### Benchmark\nIn this section, you will need to provide a clearly defined benchmark result or threshold for comparing across performances obtained by your solution. The reasoning behind the benchmark (in the case where it is not an established result) should be discussed. Questions to ask yourself when writing this section:\n- _Has some result or value been provided that acts as a benchmark for measuring performance?_\n- _Is it clear how this result or value was obtained (whether by data or by hypothesis)?_\n\n\n## III. Methodology\n_(approx. 3-5 pages)_\n\n### Data Preprocessing\nIn this section, all of your preprocessing steps will need to be clearly documented, if any were necessary. From the previous section, any of the abnormalities or characteristics that you identified about the dataset will be addressed and corrected here. Questions to ask yourself when writing this section:\n- _If the algorithms chosen require preprocessing steps like feature selection or feature transformations, have they been properly documented?_\n- _Based on the **Data Exploration** section, if there were abnormalities or characteristics that needed to be addressed, have they been properly corrected?_\n- _If no preprocessing is needed, has it been made clear why?_\n\n### Implementation\nIn this section, the process for which metrics, algorithms, and techniques that you implemented for the given data will need to be clearly documented. It should be abundantly clear how the implementation was carried out, and discussion should be made regarding any complications that occurred during this process. Questions to ask yourself when writing this section:\n- _Is it made clear how the algorithms and techniques were implemented with the given datasets or input data?_\n- _Were there any complications with the original metrics or techniques that required changing prior to acquiring a solution?_\n- _Was there any part of the coding process (e.g., writing complicated functions) that should be documented?_\n\n### Refinement\nIn this section, you will need to discuss the process of improvement you made upon the algorithms and techniques you used in your implementation. For example, adjusting parameters for certain models to acquire improved solutions would fall under the refinement category. Your initial and final solutions should be reported, as well as any significant intermediate results as necessary. Questions to ask yourself when writing this section:\n- _Has an initial solution been found and clearly reported?_\n- _Is the process of improvement clearly documented, such as what techniques were used?_\n- _Are intermediate and final solutions clearly reported as the process is improved?_\n\n\n## IV. Results\n_(approx. 2-3 pages)_\n\n### Model Evaluation and Validation\nIn this section, the final model and any supporting qualities should be evaluated in detail. It should be clear how the final model was derived and why this model was chosen. In addition, some type of analysis should be used to validate the robustness of this model and its solution, such as manipulating the input data or environment to see how the model’s solution is affected (this is called sensitivity analysis). Questions to ask yourself when writing this section:\n- _Is the final model reasonable and aligning with solution expectations? Are the final parameters of the model appropriate?_\n- _Has the final model been tested with various inputs to evaluate whether the model generalizes well to unseen data?_\n- _Is the model robust enough for the problem? Do small perturbations (changes) in training data or the input space greatly affect the results?_\n- _Can results found from the model be trusted?_\n\n### Justification\nIn this section, your model’s final solution and its results should be compared to the benchmark you established earlier in the project using some type of statistical analysis. You should also justify whether these results and the solution are significant enough to have solved the problem posed in the project. Questions to ask yourself when writing this section:\n- _Are the final results found stronger than the benchmark result reported earlier?_\n- _Have you thoroughly analyzed and discussed the final solution?_\n- _Is the final solution significant enough to have solved the problem?_\n\n\n## V. Conclusion\n_(approx. 1-2 pages)_\n\n### Free-Form Visualization\nIn this section, you will need to provide some form of visualization that emphasizes an important quality about the project. It is much more free-form, but should reasonably support a significant result or characteristic about the problem that you want to discuss. Questions to ask yourself when writing this section:\n- _Have you visualized a relevant or important quality about the problem, dataset, input data, or results?_\n- _Is the visualization thoroughly analyzed and discussed?_\n- _If a plot is provided, are the axes, title, and datum clearly defined?_\n\n### Reflection\nIn this section, you will summarize the entire end-to-end problem solution and discuss one or two particular aspects of the project you found interesting or difficult. You are expected to reflect on the project as a whole to show that you have a firm understanding of the entire process employed in your work. Questions to ask yourself when writing this section:\n- _Have you thoroughly summarized the entire process you used for this project?_\n- _Were there any interesting aspects of the project?_\n- _Were there any difficult aspects of the project?_\n- _Does the final model and solution fit your expectations for the problem, and should it be used in a general setting to solve these types of problems?_\n\n### Improvement\nIn this section, you will need to provide discussion as to how one aspect of the implementation you designed could be improved. As an example, consider ways your implementation can be made more general, and what would need to be modified. You do not need to make this improvement, but the potential solutions resulting from these changes are considered and compared/contrasted to your current solution. Questions to ask yourself when writing this section:\n- _Are there further improvements that could be made on the algorithms or techniques you used in this project?_\n- _Were there algorithms or techniques you researched that you did not know how to implement, but would consider using if you knew how?_\n- _If you used your final solution as the new benchmark, do you think an even better solution exists?_\n\n-----------\n\n**Before submitting, ask yourself. . .**\n\n- Does the project report you’ve written follow a well-organized structure similar to that of the project template?\n- Is each section (particularly **Analysis** and **Methodology**) written in a clear, concise and specific fashion? Are there any ambiguous terms or phrases that need clarification?\n- Would the intended audience of your project be able to understand your analysis, methods, and results?\n- Have you properly proof-read your project report to assure there are minimal grammatical and spelling mistakes?\n- Are all the resources used for this project correctly cited and referenced?\n- Is the code that implements your solution easily readable and properly commented?\n- Does the code execute without error and produce results similar to those reported?\n"
  },
  {
    "path": "p5-capstone/ftse100-figures.csv",
    "content": "Date,Open,High,Low,Close\n2016-09-09,6858.7,6862.38,6762.3,6776.95\n2016-09-08,6846.58,6889.64,6819.82,6858.7\n2016-09-07,6826.05,6856.12,6814.87,6846.58\n2016-09-06,6879.42,6887.92,6818.96,6826.05\n2016-09-05,6894.6,6910.66,6867.08,6879.42\n2016-09-02,6745.97,6928.25,6745.97,6894.6\n2016-09-01,6781.51,6826.22,6723.21,6745.97\n2016-08-31,6820.79,6832.89,6779.54,6781.51\n2016-08-30,6838.05,6851.83,6808.07,6820.79\n2016-08-26,6816.9,6857.29,6798.82,6838.05\n2016-08-25,6835.78,6836.22,6779.15,6816.9\n2016-08-24,6868.51,6868.51,6825.22,6835.78\n2016-08-23,6828.54,6885.39,6828.54,6868.51\n2016-08-22,6858.95,6884.61,6812.07,6828.54\n2016-08-19,6868.96,6871.48,6840.94,6858.95\n2016-08-18,6859.15,6893.35,6850.61,6868.96\n2016-08-17,6893.92,6920.76,6849.9,6859.15\n2016-08-16,6941.19,6941.19,6893.92,6893.92\n2016-08-15,6916.02,6955.34,6907.17,6941.19\n2016-08-12,6914.71,6931.04,6896.04,6916.02\n2016-08-11,6866.42,6914.71,6812.73,6914.71\n2016-08-10,6851.3,6866.42,6820.04,6866.42\n2016-08-09,6809.13,6863.1,6807.76,6851.3\n2016-08-08,6793.47,6829.47,6781.47,6809.13\n2016-08-05,6740.16,6802.41,6738.57,6793.47\n2016-08-04,6634.4,6749.67,6615.83,6740.16\n2016-08-03,6645.4,6673.63,6621.42,6634.4\n2016-08-02,6693.95,6694.14,6630.76,6645.4\n2016-08-01,6724.43,6769.41,6678.45,6693.95\n2016-07-29,6721.06,6740.47,6691.13,6724.43\n2016-07-28,6750.43,6762.72,6718.9,6721.06\n2016-07-27,6724.03,6780.05,6723.71,6750.43\n2016-07-26,6710.13,6744.8,6708.58,6724.03\n2016-07-25,6730.48,6756.13,6691.03,6710.13\n2016-07-22,6699.89,6735.94,6663.72,6730.48\n2016-07-21,6728.99,6732.07,6694.52,6699.89\n2016-07-20,6697.37,6736.57,6694.36,6728.99\n2016-07-19,6695.42,6711.69,6660.87,6697.37\n2016-07-18,6669.24,6715.58,6653.67,6695.42\n2016-07-15,6654.47,6669.24,6616.51,6669.24\n2016-07-14,6670.4,6743.42,6648.4,6654.47\n2016-07-13,6680.69,6717.17,6654.64,6670.4\n2016-07-12,6682.86,6703.09,6663.66,6680.69\n2016-07-11,6590.64,6695.07,6590.64,6682.86\n2016-07-08,6533.79,6605.83,6515.24,6590.64\n2016-07-07,6463.59,6579.25,6463.59,6533.79\n2016-07-06,6545.37,6580.32,6432.47,6463.59\n2016-07-05,6522.26,6561.58,6472.25,6545.37\n2016-07-04,6577.83,6612.13,6514.81,6522.26\n2016-07-01,6504.33,6587.44,6498.56,6577.83\n2016-06-30,6360.06,6504.33,6309.98,6504.33\n2016-06-29,6140.39,6360.06,6140.39,6360.06\n2016-06-28,5982.2,6170.26,5982.2,6140.39\n2016-06-27,6138.69,6138.69,5958.66,5982.2\n2016-06-24,6338.1,6338.55,5788.74,6138.69\n2016-06-23,6261.19,6380.58,6261.19,6338.1\n2016-06-22,6226.55,6315.62,6222.01,6261.19\n2016-06-21,6204.0,6250.19,6156.23,6226.55\n2016-06-20,6021.09,6236.53,6021.09,6204.0\n2016-06-17,5950.48,6046.1,5950.48,6021.09\n2016-06-16,5966.8,5966.8,5899.97,5950.48\n2016-06-15,5923.53,6007.49,5923.39,5966.8\n2016-06-14,6044.97,6044.97,5921.72,5923.53\n2016-06-13,6115.76,6115.76,6044.97,6044.97\n2016-06-10,6231.89,6231.89,6097.24,6115.76\n2016-06-09,6301.52,6301.73,6229.07,6231.89\n2016-06-08,6284.53,6304.51,6263.8,6301.52\n2016-06-07,6273.4,6322.6,6273.4,6284.53\n2016-06-06,6209.63,6301.56,6209.63,6273.4\n2016-06-03,6185.61,6251.74,6168.19,6209.63\n2016-06-02,6191.93,6220.27,6173.05,6185.61\n2016-06-01,6230.79,6233.18,6151.9,6191.93\n2016-05-31,6270.79,6290.07,6230.11,6230.79\n2016-05-27,6265.65,6275.9,6250.27,6270.79\n2016-05-26,6262.85,6281.73,6243.49,6265.65\n2016-05-25,6219.26,6270.25,6219.26,6262.85\n2016-05-24,6136.43,6231.85,6109.58,6219.26\n2016-05-23,6156.32,6173.06,6122.57,6136.43\n2016-05-20,6053.35,6156.5,6053.35,6156.32\n2016-05-19,6165.8,6165.8,6050.21,6053.35\n2016-05-18,6167.77,6169.33,6115.99,6165.8\n2016-05-17,6151.4,6215.88,6147.16,6167.77\n2016-05-16,6138.5,6157.24,6092.21,6151.4\n2016-05-13,6104.19,6138.5,6060.1,6138.5\n2016-05-12,6162.49,6193.21,6094.14,6104.19\n2016-05-11,6156.65,6172.72,6131.22,6162.49\n2016-05-10,6114.81,6180.19,6114.81,6156.65\n2016-05-09,6125.7,6177.6,6108.37,6114.81\n2016-05-06,6117.25,6129.9,6054.74,6125.7\n2016-05-05,6112.02,6152.59,6102.29,6117.25\n2016-05-04,6185.59,6185.59,6100.76,6112.02\n2016-05-03,6241.89,6270.03,6159.86,6185.59\n2016-04-29,6322.4,6322.4,6241.89,6241.89\n2016-04-28,6319.91,6322.4,6224.47,6322.4\n2016-04-27,6284.52,6319.91,6255.2,6319.91\n2016-04-26,6260.92,6297.88,6260.92,6284.52\n2016-04-25,6310.44,6324.6,6249.34,6260.92\n2016-04-22,6381.44,6381.58,6289.34,6310.44\n2016-04-21,6410.26,6427.32,6352.93,6381.44\n2016-04-20,6405.35,6421.91,6367.36,6410.26\n2016-04-19,6353.52,6418.25,6353.49,6405.35\n2016-04-18,6343.75,6354.88,6261.71,6353.52\n2016-04-15,6365.1,6372.52,6328.19,6343.75\n2016-04-14,6362.89,6373.93,6335.4,6365.1\n2016-04-13,6242.39,6362.89,6242.39,6362.89\n2016-04-12,6200.12,6248.27,6176.28,6242.39\n2016-04-11,6204.41,6229.66,6165.46,6200.12\n2016-04-08,6136.89,6216.28,6136.89,6204.41\n2016-04-07,6161.63,6204.11,6119.38,6136.89\n2016-04-06,6091.23,6161.63,6091.23,6161.63\n2016-04-05,6164.72,6164.74,6061.85,6091.23\n2016-04-04,6146.05,6201.95,6132.9,6164.72\n2016-04-01,6174.9,6174.9,6076.89,6146.05\n2016-03-31,6203.17,6203.39,6149.82,6174.9\n2016-03-30,6105.9,6221.8,6105.9,6203.17\n2016-03-29,6106.48,6156.67,6070.77,6105.9\n2016-03-24,6199.11,6199.11,6090.03,6106.48\n2016-03-23,6192.74,6216.76,6171.13,6199.11\n2016-03-22,6184.58,6193.47,6110.39,6192.74\n2016-03-21,6189.64,6215.3,6154.12,6184.58\n2016-03-18,6201.12,6237.02,6186.24,6189.64\n2016-03-17,6175.49,6220.02,6125.7,6201.12\n2016-03-16,6139.97,6186.18,6134.27,6175.49\n2016-03-15,6174.57,6174.57,6114.77,6139.97\n2016-03-14,6139.79,6197.83,6139.79,6174.57\n2016-03-11,6036.7,6150.88,6036.7,6139.79\n2016-03-10,6146.32,6203.4,6036.7,6036.7\n2016-03-09,6125.44,6174.82,6118.23,6146.32\n2016-03-08,6182.4,6182.45,6101.89,6125.44\n2016-03-07,6199.43,6216.1,6125.64,6182.4\n2016-03-04,6130.46,6204.14,6130.46,6199.43\n2016-03-03,6147.06,6173.7,6108.35,6130.46\n2016-03-02,6152.88,6194.01,6097.77,6147.06\n2016-03-01,6097.09,6153.75,6070.51,6152.88\n2016-02-29,6096.01,6104.98,6033.21,6097.09\n2016-02-26,6012.81,6115.37,6012.81,6096.01\n2016-02-25,5867.18,6028.97,5867.18,6012.81\n2016-02-24,5962.31,5966.73,5845.55,5867.18\n2016-02-23,6037.73,6037.73,5954.18,5962.31\n2016-02-22,5950.23,6065.81,5950.23,6037.73\n2016-02-19,5971.95,6001.22,5916.26,5950.23\n2016-02-18,6030.32,6036.46,5948.25,5971.95\n2016-02-17,5862.17,6030.32,5862.17,6030.32\n2016-02-16,5824.28,5880.72,5812.49,5862.17\n2016-02-15,5707.6,5844.53,5707.6,5824.28\n2016-02-12,5536.97,5707.6,5536.97,5707.6\n2016-02-11,5672.3,5672.3,5499.51,5536.97\n2016-02-10,5632.19,5712.78,5616.88,5672.3\n2016-02-09,5689.36,5739.25,5596.26,5632.19\n2016-02-08,5848.06,5882.43,5666.13,5689.36\n2016-02-05,5898.76,5945.9,5839.36,5848.06\n2016-02-04,5837.14,5938.12,5831.12,5898.76\n2016-02-03,5922.01,5924.58,5791.04,5837.14\n2016-02-02,6060.1,6060.45,5889.6,5922.01\n2016-02-01,6083.79,6115.11,5993.84,6060.1\n2016-01-29,5931.78,6083.79,5931.78,6083.79\n2016-01-28,5990.37,6020.54,5889.37,5931.78\n2016-01-27,5911.46,5990.37,5870.75,5990.37\n2016-01-26,5877.0,5919.17,5771.37,5911.46\n2016-01-25,5900.01,5933.47,5851.83,5877.0\n2016-01-22,5773.79,5926.94,5773.79,5900.01\n2016-01-21,5673.58,5781.24,5659.15,5773.79\n2016-01-20,5876.8,5876.8,5639.88,5673.58\n2016-01-19,5779.92,5915.69,5779.92,5876.8\n2016-01-18,5804.1,5852.09,5766.5,5779.92\n2016-01-15,5918.23,5934.62,5769.23,5804.1\n2016-01-14,5960.97,5960.97,5829.26,5918.23\n2016-01-13,5929.24,6011.13,5929.24,5960.97\n2016-01-12,5871.83,5985.8,5866.67,5929.24\n2016-01-11,5912.44,5941.93,5871.83,5871.83\n2016-01-08,5954.08,6013.38,5912.44,5912.44\n2016-01-07,6073.38,6073.38,5887.97,5954.08\n2016-01-06,6137.24,6137.24,6018.65,6073.38\n2016-01-05,6093.43,6166.26,6079.23,6137.24\n2016-01-04,6242.32,6242.32,6071.01,6093.43\n2015-12-31,6274.05,6278.31,6233.03,6242.32\n2015-12-30,6314.57,6314.57,6261.48,6274.05\n2015-12-29,6254.64,6314.57,6245.24,6314.57\n2015-12-24,6240.98,6259.86,6236.85,6254.64\n2015-12-23,6083.1,6248.5,6083.1,6240.98\n2015-12-22,6034.84,6090.58,6031.82,6083.1\n2015-12-21,6052.42,6113.96,6034.84,6034.84\n2015-12-18,6102.54,6105.57,6051.74,6052.42\n2015-12-16,6017.79,6089.31,6016.25,6061.19\n2015-12-15,5874.06,6036.68,5874.06,6017.79\n2015-12-14,5952.78,6009.92,5871.88,5874.06\n2015-12-11,6088.05,6088.05,5949.84,5952.78\n2015-12-10,6126.68,6127.09,6079.96,6088.05\n2015-12-09,6135.22,6175.75,6101.22,6126.68\n2015-12-08,6223.52,6224.86,6120.68,6135.22\n2015-12-07,6238.29,6287.23,6215.17,6223.52\n2015-12-04,6275.0,6277.59,6219.5,6238.29\n2015-12-03,6420.93,6444.72,6275.0,6275.0\n2015-12-02,6395.65,6447.34,6395.2,6420.93\n2015-12-01,6356.09,6402.36,6356.09,6395.65\n2015-11-30,6375.15,6387.11,6329.92,6356.09\n2015-11-27,6393.13,6393.13,6345.3,6375.15\n2015-11-26,6337.64,6395.33,6333.92,6393.13\n2015-11-25,6277.23,6348.05,6277.23,6337.64\n2015-11-24,6305.49,6305.49,6221.33,6277.23\n2015-11-23,6334.63,6334.63,6267.05,6305.49\n2015-11-20,6329.93,6360.73,6311.76,6334.63\n2015-11-19,6278.97,6366.85,6278.97,6329.93\n2015-11-18,6268.76,6283.9,6228.15,6278.97\n2015-11-17,6146.38,6269.44,6146.38,6268.76\n2015-11-16,6118.28,6161.9,6079.79,6146.38\n2015-11-13,6178.68,6178.95,6088.76,6118.28\n2015-11-12,6297.2,6300.9,6178.68,6178.68\n2015-11-11,6275.28,6327.16,6272.69,6297.2\n2015-11-10,6295.16,6329.69,6250.31,6275.28\n2015-11-09,6353.83,6380.42,6292.05,6295.16\n2015-11-06,6364.9,6395.19,6332.73,6353.83\n2015-11-05,6412.88,6421.81,6358.12,6364.9\n2015-11-04,6383.61,6459.46,6383.04,6412.88\n2015-11-03,6361.8,6383.61,6344.7,6383.61\n2015-11-02,6361.09,6364.42,6317.29,6361.8\n2015-10-30,6395.8,6410.28,6337.65,6361.09\n2015-10-29,6437.8,6437.85,6358.16,6395.8\n2015-10-28,6365.27,6448.46,6355.78,6437.8\n2015-10-27,6417.02,6419.62,6365.27,6365.27\n2015-10-26,6444.08,6453.0,6405.38,6417.02\n2015-10-23,6376.28,6487.89,6376.28,6444.08\n2015-10-22,6348.42,6387.28,6321.65,6376.28\n2015-10-21,6345.13,6387.29,6316.3,6348.42\n2015-10-20,6352.33,6367.75,6319.25,6345.13\n2015-10-19,6378.04,6408.09,6336.27,6352.33\n2015-10-16,6338.67,6398.23,6338.67,6378.04\n2015-10-15,6269.61,6351.43,6269.61,6338.67\n2015-10-14,6342.28,6342.28,6268.29,6269.61\n2015-10-13,6371.18,6371.18,6303.02,6342.28\n2015-10-12,6416.16,6416.16,6351.34,6371.18\n2015-10-09,6374.82,6453.22,6374.82,6416.16\n2015-10-08,6336.35,6380.3,6303.46,6374.82\n2015-10-07,6326.16,6396.34,6319.77,6336.35\n2015-10-06,6298.92,6343.71,6255.1,6326.16\n2015-10-05,6129.98,6301.05,6129.98,6298.92\n2015-10-02,6072.47,6176.2,6051.62,6129.98\n2015-10-01,6061.61,6172.78,6053.26,6072.47\n2015-09-30,5909.24,6061.61,5909.24,6061.61\n2015-09-29,5958.86,5958.86,5877.08,5909.24\n2015-09-28,6109.01,6110.31,5958.86,5958.86\n2015-09-25,5961.49,6120.67,5961.49,6109.01\n2015-09-24,6032.24,6055.64,5947.19,5961.49\n2015-09-23,5935.84,6067.56,5933.23,6032.24\n2015-09-22,6108.71,6111.57,5935.84,5935.84\n2015-09-21,6104.11,6168.74,6083.64,6108.71\n2015-09-18,6186.99,6188.74,6053.87,6104.11\n2015-09-17,6229.21,6239.86,6182.63,6186.99\n2015-09-16,6137.6,6244.94,6137.6,6229.21\n2015-09-15,6084.59,6158.08,6019.92,6137.6\n2015-09-14,6117.76,6191.82,6065.43,6084.59\n2015-09-11,6155.81,6174.28,6113.1,6117.76\n2015-09-10,6229.01,6229.01,6127.52,6155.81\n2015-09-09,6146.1,6284.17,6146.1,6229.01\n2015-09-08,6074.52,6196.47,6074.52,6146.1\n2015-09-07,6042.92,6125.67,6042.92,6074.52\n2015-09-04,6194.1,6194.1,6040.49,6042.92\n2015-09-03,6083.31,6215.74,6083.31,6194.1\n2015-09-02,6058.54,6161.68,6021.36,6083.31\n2015-09-01,6247.94,6247.94,6028.71,6058.54\n2015-08-28,6192.03,6247.94,6152.01,6247.94\n2015-08-27,5979.2,6212.48,5979.2,6192.03\n2015-08-26,6081.34,6095.05,5949.94,5979.2\n2015-08-25,5898.87,6115.74,5898.87,6081.34\n2015-08-24,6187.65,6187.65,5768.22,5898.87\n2015-08-21,6367.89,6367.89,6187.65,6187.65\n2015-08-20,6403.45,6408.61,6359.71,6367.89\n2015-08-19,6526.29,6526.52,6403.45,6403.45\n2015-08-18,6550.3,6564.55,6505.69,6526.29\n2015-08-17,6550.74,6585.88,6507.76,6550.3\n2015-08-14,6568.33,6603.17,6544.42,6550.74\n2015-08-13,6571.19,6634.71,6553.45,6568.33\n2015-08-12,6664.54,6664.54,6536.41,6571.19\n2015-08-11,6736.22,6736.22,6663.98,6664.54\n2015-08-10,6718.49,6751.49,6653.65,6736.22\n2015-08-07,6747.09,6754.77,6718.49,6718.49\n2015-08-06,6752.41,6763.34,6717.49,6747.09\n2015-08-05,6686.57,6764.82,6686.57,6752.41\n2015-08-04,6688.62,6715.51,6644.65,6686.57\n2015-08-03,6696.28,6710.79,6668.18,6688.62\n2015-07-31,6668.87,6705.42,6646.26,6696.28\n2015-07-30,6631.0,6697.4,6631.0,6668.87\n2015-07-29,6555.28,6634.04,6555.28,6631.0\n2015-07-28,6505.13,6569.45,6505.13,6555.28\n2015-07-27,6579.81,6589.48,6495.67,6505.13\n2015-07-24,6655.01,6684.81,6573.96,6579.81\n2015-07-23,6667.34,6711.49,6644.85,6655.01\n2015-07-22,6769.07,6769.07,6653.39,6667.34\n2015-07-21,6788.69,6800.13,6758.75,6769.07\n2015-07-20,6775.08,6813.41,6772.09,6788.69\n2015-07-17,6796.45,6799.78,6764.8,6775.08\n2015-07-16,6753.75,6805.14,6752.09,6796.45\n2015-07-15,6753.75,6775.91,6728.49,6753.75\n2015-07-14,6737.95,6753.75,6710.62,6753.75\n2015-07-13,6673.38,6743.05,6673.38,6737.95\n2015-07-10,6581.63,6687.57,6581.63,6673.38\n2015-07-09,6490.7,6594.18,6490.7,6581.63\n2015-07-08,6432.21,6515.06,6430.36,6490.7\n2015-07-07,6535.68,6543.8,6432.21,6432.21\n2015-07-06,6585.78,6585.78,6506.71,6535.68\n2015-07-03,6630.47,6630.75,6572.46,6585.78\n2015-07-02,6608.59,6647.7,6600.37,6630.47\n2015-07-01,6520.98,6637.34,6520.98,6608.59\n2015-06-30,6620.48,6620.75,6520.98,6520.98\n2015-06-29,6753.7,6753.7,6598.64,6620.48\n2015-06-26,6807.82,6807.82,6731.13,6753.7\n2015-06-25,6844.8,6869.04,6798.8,6807.82\n2015-06-24,6834.87,6873.43,6834.32,6844.8\n2015-06-23,6825.67,6856.49,6825.67,6834.87\n2015-06-22,6710.45,6825.67,6710.45,6825.67\n2015-06-19,6707.88,6759.29,6691.82,6710.45\n2015-06-18,6680.55,6707.88,6625.16,6707.88\n2015-06-17,6710.1,6731.54,6665.95,6680.55\n2015-06-16,6710.52,6723.49,6656.9,6710.1\n2015-06-15,6784.92,6784.92,6708.5,6710.52\n2015-06-12,6846.74,6846.74,6760.06,6784.92\n2015-06-11,6830.27,6870.19,6807.29,6846.74\n2015-06-10,6753.8,6843.57,6734.15,6830.27\n2015-06-09,6790.04,6803.75,6736.88,6753.8\n2015-06-08,6804.6,6827.16,6781.66,6790.04\n2015-06-05,6859.24,6859.24,6785.15,6804.6\n2015-06-04,6950.46,6950.46,6838.95,6859.24\n2015-06-03,6928.27,6985.69,6901.79,6950.46\n2015-06-02,6953.58,6972.25,6872.12,6928.27\n2015-06-01,6984.43,7037.58,6942.66,6953.58\n2015-05-29,7040.92,7069.93,6967.92,6984.43\n2015-05-28,7033.33,7049.62,7005.88,7040.92\n2015-05-27,6948.99,7054.14,6948.62,7033.33\n2015-05-26,7031.72,7039.55,6930.28,6948.99\n2015-05-22,7013.47,7061.66,7013.47,7031.72\n2015-05-21,7007.26,7026.01,6994.26,7013.47\n2015-05-20,6995.1,7018.7,6962.06,7007.26\n2015-05-19,6968.87,7011.35,6968.87,6995.1\n2015-05-18,6960.49,7015.49,6931.64,6968.87\n2015-05-15,6973.04,7009.41,6937.12,6960.49\n2015-05-14,6949.63,6977.93,6884.63,6973.04\n2015-05-13,6933.8,6989.91,6920.65,6949.63\n2015-05-12,7029.85,7029.85,6887.52,6933.8\n2015-05-11,7046.82,7083.72,7025.17,7029.85\n2015-05-08,6886.95,7046.82,6885.79,7046.82\n2015-05-07,6933.74,6933.74,6810.05,6886.95\n2015-05-06,6927.58,6974.82,6913.46,6933.74\n2015-05-05,6985.95,7053.18,6927.58,6927.58\n2015-05-01,6960.63,6995.41,6919.39,6985.95\n2015-04-30,6946.28,6970.34,6906.24,6960.63\n2015-04-29,7030.53,7058.19,6945.56,6946.28\n2015-04-28,7103.98,7103.99,6983.97,7030.53\n2015-04-27,7070.7,7122.74,7025.27,7103.98\n2015-04-24,7053.67,7102.59,7051.17,7070.7\n2015-04-23,7028.24,7055.15,6995.79,7053.67\n2015-04-22,7062.93,7092.34,6997.15,7028.24\n2015-04-21,7052.13,7105.13,7030.0,7062.93\n2015-04-20,6994.63,7067.84,6994.63,7052.13\n2015-04-17,7060.45,7093.52,6979.32,6994.63\n2015-04-16,7096.78,7119.35,7057.74,7060.45\n2015-04-15,7075.26,7111.72,7058.34,7096.78\n2015-04-14,7064.3,7086.06,7044.6,7075.26\n2015-04-13,7089.77,7089.84,7046.68,7064.3\n2015-04-10,7015.36,7095.36,7015.36,7089.77\n2015-04-09,6937.41,7016.99,6937.41,7015.36\n2015-04-08,6961.77,7012.06,6931.59,6937.41\n2015-04-07,6833.46,6967.69,6833.46,6961.77\n2015-04-02,6809.5,6849.91,6801.27,6833.46\n2015-04-01,6773.04,6856.43,6765.4,6809.5\n2015-03-31,6891.43,6910.07,6765.05,6773.04\n2015-03-30,6855.02,6914.6,6855.02,6891.43\n2015-03-27,6895.33,6910.55,6839.88,6855.02\n2015-03-26,6990.97,6990.97,6876.84,6895.33\n2015-03-25,7019.68,7035.11,6983.94,6990.97\n2015-03-24,7037.67,7065.08,7012.51,7019.68\n2015-03-23,7022.51,7037.67,6991.43,7037.67\n2015-03-20,6962.32,7024.21,6960.81,7022.51\n2015-03-19,6945.2,6982.79,6929.73,6962.32\n2015-03-18,6837.61,6945.2,6837.26,6945.2\n2015-03-17,6804.08,6846.9,6798.47,6837.61\n2015-03-16,6740.58,6809.08,6740.58,6804.08\n2015-03-13,6761.07,6777.77,6713.5,6740.58\n2015-03-12,6721.51,6799.84,6721.51,6761.07\n2015-03-11,6702.84,6738.95,6693.8,6721.51\n2015-03-10,6876.47,6876.86,6702.84,6702.84\n2015-03-09,6911.8,6911.8,6859.81,6876.47\n2015-03-06,6961.14,6961.23,6911.8,6911.8\n2015-03-05,6919.24,6968.64,6914.06,6961.14\n2015-03-04,6889.13,6919.24,6862.87,6919.24\n2015-03-03,6940.64,6963.55,6889.13,6889.13\n2015-03-02,6946.66,6974.26,6924.33,6940.64\n2015-02-27,6949.73,6967.24,6929.84,6946.66\n2015-02-26,6935.38,6949.98,6920.54,6949.73\n2015-02-25,6949.63,6955.41,6904.88,6935.38\n2015-02-24,6912.16,6958.89,6899.59,6949.63\n2015-02-23,6915.2,6943.61,6885.89,6912.16\n2015-02-20,6888.9,6920.51,6884.77,6915.2\n2015-02-19,6898.08,6907.3,6858.67,6888.9\n2015-02-18,6898.13,6921.32,6876.3,6898.08\n2015-02-17,6857.05,6898.13,6819.78,6898.13\n2015-02-16,6873.52,6878.66,6851.77,6857.05\n2015-02-13,6828.11,6887.57,6828.11,6873.52\n2015-02-12,6818.17,6854.62,6817.23,6828.11\n2015-02-11,6829.12,6838.33,6786.12,6818.17\n2015-02-10,6837.15,6843.9,6788.89,6829.12\n2015-02-09,6853.44,6853.44,6777.99,6837.15\n2015-02-06,6865.93,6886.22,6835.48,6853.44\n2015-02-05,6860.02,6870.1,6808.19,6865.93\n2015-02-04,6871.8,6883.49,6804.1,6860.02\n2015-02-03,6782.55,6886.31,6782.39,6871.8\n2015-02-02,6749.4,6795.52,6731.99,6782.55\n2015-01-30,6810.6,6843.98,6749.4,6749.4\n2015-01-29,6825.94,6825.94,6750.22,6810.6\n2015-01-28,6811.61,6863.0,6777.08,6825.94\n2015-01-27,6852.4,6864.97,6773.54,6811.61\n2015-01-26,6832.83,6855.92,6790.13,6852.4\n2015-01-23,6796.63,6841.73,6796.58,6832.83\n2015-01-22,6728.04,6808.18,6726.24,6796.63\n2015-01-21,6620.1,6728.04,6620.1,6728.04\n2015-01-20,6585.53,6640.44,6585.53,6620.1\n2015-01-19,6550.27,6598.89,6548.0,6585.53\n2015-01-16,6498.78,6553.2,6443.28,6550.27\n2015-01-15,6388.46,6498.78,6298.15,6498.78\n2015-01-14,6542.2,6542.2,6353.65,6388.46\n2015-01-13,6501.42,6558.83,6465.19,6542.2\n2015-01-12,6501.14,6542.43,6447.91,6501.42\n2015-01-09,6569.96,6570.24,6471.38,6501.14\n2015-01-08,6419.83,6580.82,6419.83,6569.96\n2015-01-07,6366.51,6459.74,6366.51,6419.83\n2015-01-06,6417.16,6452.66,6328.59,6366.51\n2015-01-05,6547.8,6576.74,6404.49,6417.16\n2014-12-31,6547.0,6578.24,6547.0,6566.09\n2014-12-30,6633.51,6633.51,6528.89,6547.0\n2014-12-29,6609.93,6651.96,6587.87,6633.51\n2014-12-24,6598.18,6618.09,6586.05,6609.93\n2014-12-23,6576.74,6620.47,6576.74,6598.18\n2014-12-22,6545.27,6620.95,6545.27,6576.74\n2014-12-19,6466.0,6566.9,6466.0,6545.27\n2014-12-18,6336.48,6466.0,6336.48,6466.0\n2014-12-17,6331.83,6359.68,6240.32,6336.48\n2014-12-16,6182.72,6331.83,6144.72,6331.83\n2014-12-15,6300.63,6356.34,6182.72,6182.72\n2014-12-12,6461.7,6461.7,6297.44,6300.63\n2014-12-11,6500.04,6521.66,6441.28,6461.7\n2014-12-10,6529.47,6565.77,6500.04,6500.04\n2014-12-09,6672.15,6672.15,6529.47,6529.47\n2014-12-08,6742.84,6742.84,6672.15,6672.15\n2014-12-05,6679.37,6751.32,6679.37,6742.84\n2014-12-04,6716.63,6733.96,6672.67,6679.37\n2014-12-03,6742.1,6753.19,6713.81,6716.63\n2014-12-02,6656.37,6744.31,6656.37,6742.1\n2014-12-01,6722.62,6722.62,6637.39,6656.37\n2014-11-28,6723.42,6734.71,6667.08,6722.62\n2014-11-27,6729.17,6749.91,6713.76,6723.42\n2014-11-26,6731.14,6765.01,6718.53,6729.17\n2014-11-25,6729.79,6750.87,6709.31,6731.14\n2014-11-24,6750.76,6763.97,6720.09,6729.79\n2014-11-21,6678.9,6773.14,6678.9,6750.76\n2014-11-20,6696.6,6696.82,6641.14,6678.9\n2014-11-19,6709.13,6718.88,6678.13,6696.6\n2014-11-18,6671.97,6714.12,6671.75,6709.13\n2014-11-17,6654.37,6681.55,6616.12,6671.97\n2014-11-14,6635.45,6654.37,6610.13,6654.37\n2014-11-13,6611.04,6645.9,6596.89,6635.45\n2014-11-12,6627.4,6629.33,6588.93,6611.04\n2014-11-11,6611.25,6632.57,6605.34,6627.4\n2014-11-10,6567.24,6611.25,6566.78,6611.25\n2014-11-07,6551.15,6608.23,6551.15,6567.24\n2014-11-06,6539.14,6580.21,6503.81,6551.15\n2014-11-05,6453.97,6539.14,6453.97,6539.14\n2014-11-04,6487.97,6510.31,6444.89,6453.97\n2014-11-03,6546.47,6559.56,6478.49,6487.97\n2014-10-31,6463.55,6553.37,6463.55,6546.47\n2014-10-30,6453.87,6483.24,6378.15,6463.55\n2014-10-29,6402.17,6475.35,6402.17,6453.87\n2014-10-28,6363.46,6412.0,6363.46,6402.17\n2014-10-27,6388.73,6443.76,6336.06,6363.46\n2014-10-24,6419.15,6419.15,6372.43,6388.73\n2014-10-23,6399.73,6430.32,6313.32,6419.15\n2014-10-22,6372.33,6401.51,6341.39,6399.73\n2014-10-21,6267.07,6372.33,6229.4,6372.33\n2014-10-20,6310.29,6320.31,6238.6,6267.07\n2014-10-17,6195.91,6312.97,6188.04,6310.29\n2014-10-16,6211.64,6282.95,6072.68,6195.91\n2014-10-15,6392.68,6404.96,6211.64,6211.64\n2014-10-14,6366.24,6403.43,6304.27,6392.68\n2014-10-13,6339.97,6387.36,6294.64,6366.24\n2014-10-10,6431.85,6431.85,6328.39,6339.97\n2014-10-09,6482.24,6544.21,6425.16,6431.85\n2014-10-08,6495.58,6502.36,6453.81,6482.24\n2014-10-07,6563.65,6563.84,6495.58,6495.58\n2014-10-06,6527.91,6588.31,6527.91,6563.65\n2014-10-03,6446.39,6542.87,6446.39,6527.91\n2014-10-02,6557.52,6557.67,6446.39,6446.39\n2014-10-01,6622.72,6622.81,6539.73,6557.52\n2014-09-30,6646.6,6658.91,6601.62,6622.72\n2014-09-29,6649.39,6653.94,6608.66,6646.6\n2014-09-26,6639.71,6664.0,6615.12,6649.39\n2014-09-25,6706.27,6726.4,6621.48,6639.71\n2014-09-24,6676.08,6707.26,6651.98,6706.27\n2014-09-23,6773.63,6777.27,6647.21,6676.08\n2014-09-22,6837.92,6838.35,6766.89,6773.63\n2014-09-19,6819.29,6876.0,6819.29,6837.92\n2014-09-18,6780.9,6822.6,6769.58,6819.29\n2014-09-17,6792.24,6816.89,6780.9,6780.9\n2014-09-16,6804.21,6804.34,6748.09,6792.24\n2014-09-15,6806.96,6813.87,6771.69,6804.21\n2014-09-12,6799.62,6832.16,6799.39,6806.96\n2014-09-11,6830.11,6857.54,6764.86,6799.62\n2014-09-10,6829.0,6847.79,6800.04,6830.11\n2014-09-09,6834.77,6846.18,6812.5,6829.0\n2014-09-08,6855.1,6855.1,6773.78,6834.77\n2014-09-05,6877.97,6884.96,6829.1,6855.1\n2014-09-04,6873.58,6904.86,6866.25,6877.97\n2014-09-03,6829.17,6898.62,6826.73,6873.58\n2014-09-02,6825.31,6849.28,6812.31,6829.17\n2014-09-01,6819.75,6825.31,6798.33,6825.31\n2014-08-29,6805.8,6828.92,6782.63,6819.75\n2014-08-28,6830.66,6831.19,6796.86,6805.8\n2014-08-27,6822.76,6830.66,6813.24,6830.66\n2014-08-26,6775.25,6827.32,6775.25,6822.76\n2014-08-22,6777.66,6784.63,6746.37,6775.25\n2014-08-21,6755.48,6780.73,6752.7,6777.66\n2014-08-20,6779.31,6781.23,6739.76,6755.48\n2014-08-19,6741.25,6782.9,6740.65,6779.31\n2014-08-18,6689.08,6745.72,6689.08,6741.25\n2014-08-15,6685.26,6742.82,6685.25,6689.08\n2014-08-14,6656.68,6694.64,6641.81,6685.26\n2014-08-13,6632.42,6664.34,6625.98,6656.68\n2014-08-12,6632.82,6643.7,6612.52,6632.42\n2014-08-11,6567.36,6645.83,6567.36,6632.82\n2014-08-08,6597.37,6597.37,6528.73,6567.36\n2014-08-07,6636.16,6649.05,6589.78,6597.37\n2014-08-06,6682.48,6682.48,6588.43,6636.16\n2014-08-05,6677.52,6713.52,6671.46,6682.48\n2014-08-04,6679.18,6715.56,6669.93,6677.52\n2014-08-01,6730.11,6730.11,6624.72,6679.18\n2014-07-31,6773.44,6797.09,6716.29,6730.11\n2014-07-30,6807.75,6815.29,6758.24,6773.44\n2014-07-29,6788.07,6833.67,6784.04,6807.75\n2014-07-28,6791.55,6809.61,6761.77,6788.07\n2014-07-25,6821.46,6830.77,6780.65,6791.55\n2014-07-24,6798.15,6821.46,6767.33,6821.46\n2014-07-23,6795.34,6822.65,6773.11,6798.15\n2014-07-22,6728.44,6801.84,6728.44,6795.34\n2014-07-21,6749.45,6753.42,6715.78,6728.44\n2014-07-18,6738.32,6749.89,6690.9,6749.45\n2014-07-17,6784.67,6784.67,6727.71,6738.32\n2014-07-16,6710.45,6792.55,6710.45,6784.67\n2014-07-15,6746.14,6764.0,6709.15,6710.45\n2014-07-14,6690.17,6760.73,6690.17,6746.14\n2014-07-11,6672.37,6696.1,6663.67,6690.17\n2014-07-10,6718.04,6724.8,6643.62,6672.37\n2014-07-09,6738.45,6740.82,6692.77,6718.04\n2014-07-08,6823.51,6831.02,6738.45,6738.45\n2014-07-07,6866.05,6866.37,6817.6,6823.51\n2014-07-04,6865.21,6875.31,6856.35,6866.05\n2014-07-03,6816.37,6866.56,6815.45,6865.21\n2014-07-02,6802.92,6829.49,6796.61,6816.37\n2014-07-01,6743.94,6805.9,6743.94,6802.92\n2014-06-30,6757.77,6777.11,6730.45,6743.94\n2014-06-27,6735.12,6767.63,6735.12,6757.77\n2014-06-26,6733.62,6753.25,6701.59,6735.12\n2014-06-25,6787.07,6787.07,6716.35,6733.62\n2014-06-24,6800.56,6824.45,6776.8,6787.07\n2014-06-23,6825.2,6829.76,6785.83,6800.56\n2014-06-20,6808.11,6840.62,6791.2,6825.2\n2014-06-19,6778.56,6837.57,6778.56,6808.11\n2014-06-18,6766.77,6799.59,6766.77,6778.56\n2014-06-17,6754.64,6774.87,6736.11,6766.77\n2014-06-16,6777.85,6779.4,6748.04,6754.64\n2014-06-13,6843.11,6843.11,6758.15,6777.85\n2014-06-12,6838.87,6853.18,6827.03,6843.11\n2014-06-11,6873.55,6873.55,6825.24,6838.87\n2014-06-10,6875.0,6875.24,6835.8,6873.55\n2014-06-09,6858.21,6878.96,6857.7,6875.0\n2014-06-06,6813.49,6862.91,6813.49,6858.21\n2014-06-05,6818.63,6847.0,6795.27,6813.49\n2014-06-04,6836.3,6840.6,6800.1,6818.63\n2014-06-03,6864.1,6865.38,6817.96,6836.3\n2014-06-02,6844.51,6874.38,6844.51,6864.1\n2014-05-30,6871.29,6874.33,6831.99,6844.51\n2014-05-29,6851.22,6882.14,6848.06,6871.29\n2014-05-28,6844.94,6855.83,6833.61,6851.22\n2014-05-27,6815.75,6857.1,6815.37,6844.94\n2014-05-23,6820.56,6825.53,6793.47,6815.75\n2014-05-22,6821.04,6846.57,6810.19,6820.56\n2014-05-21,6802.0,6821.04,6782.8,6821.04\n2014-05-20,6844.55,6848.36,6792.51,6802.0\n2014-05-19,6855.81,6862.2,6804.31,6844.55\n2014-05-16,6840.89,6855.94,6813.5,6855.81\n2014-05-15,6878.49,6894.88,6821.66,6840.89\n2014-05-14,6873.08,6880.07,6854.02,6878.49\n2014-05-13,6851.75,6877.39,6845.95,6873.08\n2014-05-12,6814.57,6851.75,6814.57,6851.75\n2014-05-09,6839.25,6839.42,6805.39,6814.57\n2014-05-08,6796.44,6840.37,6796.44,6839.25\n2014-05-07,6798.56,6799.34,6766.84,6796.44\n2014-05-06,6822.42,6828.62,6785.32,6798.56\n2014-05-02,6808.87,6838.17,6798.61,6822.42\n2014-05-01,6780.03,6811.64,6773.69,6808.87\n2014-04-30,6769.91,6794.88,6748.76,6780.03\n2014-04-29,6700.16,6769.91,6700.1,6769.91\n2014-04-28,6685.69,6720.33,6682.9,6700.16\n2014-04-25,6703.0,6704.37,6657.3,6685.69\n2014-04-24,6674.74,6724.58,6667.65,6703.0\n2014-04-23,6681.76,6694.82,6661.42,6674.74\n2014-04-22,6625.25,6706.19,6625.25,6681.76\n2014-04-17,6584.17,6627.25,6559.35,6625.25\n2014-04-16,6541.61,6596.99,6541.61,6584.17\n2014-04-15,6583.76,6594.24,6534.2,6541.61\n2014-04-14,6561.7,6583.76,6507.08,6583.76\n2014-04-11,6641.97,6641.97,6538.75,6561.7\n2014-04-10,6635.61,6688.28,6620.39,6641.97\n2014-04-09,6590.69,6654.05,6590.41,6635.61\n2014-04-08,6622.84,6625.19,6549.75,6590.69\n2014-04-07,6695.55,6695.55,6614.73,6622.84\n2014-04-04,6649.14,6706.34,6649.14,6695.55\n2014-04-03,6659.04,6680.78,6638.52,6649.14\n2014-04-02,6652.61,6672.73,6639.63,6659.04\n2014-04-01,6598.37,6660.27,6598.37,6652.61\n2014-03-31,6615.58,6658.4,6583.09,6598.37\n2014-03-28,6588.32,6631.48,6585.73,6615.58\n2014-03-27,6605.3,6605.3,6561.39,6588.32\n2014-03-26,6604.89,6643.58,6601.78,6605.3\n2014-03-25,6520.39,6604.89,6520.39,6604.89\n2014-03-24,6557.17,6568.96,6506.42,6520.39\n2014-03-21,6542.44,6572.09,6537.89,6557.17\n2014-03-20,6573.13,6573.13,6492.62,6542.44\n2014-03-19,6605.28,6609.46,6566.85,6573.13\n2014-03-18,6568.35,6628.2,6534.86,6605.28\n2014-03-17,6527.89,6592.37,6527.87,6568.35\n2014-03-14,6553.78,6553.78,6500.37,6527.89\n2014-03-13,6620.9,6631.38,6552.46,6553.78\n2014-03-12,6685.52,6685.52,6598.36,6620.9\n2014-03-11,6689.45,6718.3,6660.59,6685.52\n2014-03-10,6712.67,6757.0,6671.62,6689.45\n2014-03-07,6788.49,6800.66,6706.38,6712.67\n2014-03-06,6775.42,6806.62,6770.95,6788.49\n2014-03-05,6823.77,6824.16,6771.5,6775.42\n2014-03-04,6708.35,6827.22,6708.35,6823.77\n2014-03-03,6809.7,6809.7,6671.89,6708.35\n2014-02-28,6810.27,6833.82,6785.54,6809.7\n2014-02-27,6799.15,6819.24,6733.54,6810.27\n2014-02-26,6830.5,6834.09,6785.28,6799.15\n2014-02-25,6862.73,6866.35,6790.93,6830.5\n2014-02-24,6838.06,6865.86,6797.83,6865.86\n2014-02-21,6812.99,6859.91,6812.99,6838.06\n2014-02-20,6796.71,6812.99,6732.03,6812.99\n2014-02-19,6796.43,6810.48,6759.86,6796.71\n2014-02-18,6736.0,6802.89,6716.64,6796.43\n2014-02-17,6663.62,6745.63,6661.47,6736.0\n2014-02-14,6659.42,6672.21,6646.47,6663.62\n2014-02-13,6675.03,6675.24,6608.09,6659.42\n2014-02-12,6672.66,6708.17,6669.06,6675.03\n2014-02-11,6591.55,6672.66,6591.55,6672.66\n2014-02-10,6571.68,6597.0,6565.3,6591.55\n2014-02-07,6558.28,6596.28,6540.81,6571.68\n2014-02-06,6457.89,6566.01,6457.89,6558.28\n2014-02-05,6449.27,6483.73,6423.79,6457.89\n2014-02-04,6465.66,6478.16,6416.72,6449.27\n2014-02-03,6510.44,6538.3,6459.95,6465.66\n2014-01-31,6538.45,6548.46,6421.26,6510.44\n2014-01-30,6544.28,6573.92,6503.25,6538.45\n2014-01-29,6572.33,6645.23,6482.74,6544.28\n2014-01-28,6550.66,6590.66,6550.65,6572.33\n2014-01-27,6663.74,6665.39,6539.33,6550.66\n2014-01-24,6773.28,6784.42,6654.86,6663.74\n2014-01-23,6826.33,6837.21,6760.63,6773.28\n2014-01-22,6834.26,6864.87,6821.8,6826.33\n2014-01-21,6836.73,6867.42,6822.31,6834.26\n2014-01-20,6829.3,6837.53,6810.62,6836.73\n2014-01-17,6815.42,6840.5,6800.0,6829.3\n2014-01-16,6819.86,6831.74,6811.16,6815.42\n2014-01-15,6766.86,6825.2,6766.86,6819.86\n2014-01-14,6757.15,6772.63,6694.08,6766.86\n2014-01-13,6739.94,6765.6,6730.97,6757.15\n2014-01-10,6691.34,6769.94,6691.34,6739.94\n2014-01-09,6721.78,6746.41,6679.31,6691.34\n2014-01-08,6755.45,6755.53,6713.39,6721.78\n2014-01-07,6730.73,6768.89,6718.07,6755.45\n2014-01-06,6730.67,6751.98,6714.64,6730.73\n2014-01-03,6717.91,6747.33,6699.27,6730.67\n2014-01-02,6749.09,6759.37,6707.48,6717.91\n2013-12-31,6731.27,6756.98,6731.25,6749.09\n2013-12-30,6750.87,6768.44,6718.16,6731.27\n2013-12-27,6694.17,6754.11,6694.17,6750.87\n2013-12-24,6678.61,6712.1,6672.22,6694.17\n2013-12-23,6606.58,6678.61,6606.2,6678.61\n2013-12-20,6584.7,6616.8,6576.79,6606.58\n2013-12-19,6492.08,6584.7,6492.08,6584.7\n2013-12-18,6486.19,6524.46,6486.19,6492.08\n2013-12-17,6522.2,6522.2,6482.59,6486.19\n2013-12-16,6439.96,6531.16,6422.23,6522.2\n2013-12-13,6445.25,6462.76,6433.51,6439.96\n2013-12-12,6507.72,6507.72,6435.99,6445.25\n2013-12-11,6523.31,6555.57,6507.72,6507.72\n2013-12-10,6559.48,6571.91,6519.0,6523.31\n2013-12-09,6551.99,6568.44,6534.74,6559.48\n2013-12-06,6498.33,6555.73,6496.33,6551.99\n2013-12-05,6509.97,6518.88,6487.15,6498.33\n2013-12-04,6532.43,6544.7,6479.73,6509.97\n2013-12-03,6595.33,6595.48,6531.34,6532.43\n2013-12-02,6650.57,6657.41,6595.2,6595.33\n2013-11-29,6654.47,6681.57,6648.53,6650.57\n2013-11-28,6649.47,6679.51,6642.57,6654.47\n2013-11-27,6636.22,6664.14,6635.71,6649.47\n2013-11-26,6694.62,6696.95,6636.22,6636.22\n2013-11-25,6674.3,6709.08,6674.3,6694.62\n2013-11-22,6681.33,6711.03,6661.04,6674.3\n2013-11-21,6681.08,6697.69,6643.47,6681.33\n2013-11-20,6698.01,6711.42,6661.7,6681.08\n2013-11-19,6723.46,6723.46,6677.85,6698.01\n2013-11-18,6693.44,6732.1,6671.63,6723.46\n2013-11-15,6666.13,6703.12,6665.45,6693.44\n2013-11-14,6630.0,6696.16,6630.0,6666.13\n2013-11-13,6726.79,6726.81,6613.98,6630.0\n2013-11-12,6728.37,6728.37,6693.26,6726.79\n2013-11-11,6708.42,6744.77,6702.01,6728.37\n2013-11-08,6697.22,6713.9,6643.86,6708.42\n2013-11-07,6741.69,6779.18,6679.99,6697.22\n2013-11-06,6746.84,6768.16,6735.64,6741.69\n2013-11-05,6763.62,6773.86,6708.52,6746.84\n2013-11-04,6734.74,6780.11,6734.56,6763.62\n2013-11-01,6731.43,6760.87,6715.3,6734.74\n2013-10-31,6777.7,6778.27,6719.51,6731.43\n2013-10-30,6774.73,6819.86,6763.66,6777.7\n2013-10-29,6725.82,6777.16,6718.85,6774.73\n2013-10-28,6721.34,6739.66,6704.15,6725.82\n2013-10-25,6713.18,6729.74,6700.37,6721.34\n2013-10-24,6674.48,6719.25,6674.16,6713.18\n2013-10-23,6695.66,6695.92,6655.2,6674.48\n2013-10-22,6654.2,6719.27,6653.7,6695.66\n2013-10-21,6622.58,6654.2,6617.81,6654.2\n2013-10-18,6576.16,6622.7,6576.16,6622.58\n2013-10-17,6571.59,6576.16,6529.16,6576.16\n2013-10-16,6549.11,6584.39,6504.27,6571.59\n2013-10-15,6507.65,6569.28,6507.65,6549.11\n2013-10-14,6487.19,6507.8,6464.44,6507.65\n2013-10-11,6430.49,6489.16,6430.47,6487.19\n2013-10-10,6337.91,6446.22,6337.91,6430.49\n2013-10-09,6365.83,6372.63,6316.91,6337.91\n2013-10-08,6437.28,6437.73,6364.97,6365.83\n2013-10-07,6453.88,6453.88,6391.47,6437.28\n2013-10-04,6449.04,6473.58,6428.96,6453.88\n2013-10-03,6437.5,6472.43,6436.21,6449.04\n2013-10-02,6460.01,6460.01,6386.18,6437.5\n2013-10-01,6462.22,6466.3,6424.37,6460.01\n2013-09-30,6512.66,6512.66,6438.72,6462.22\n2013-09-27,6565.59,6568.94,6487.3,6512.66\n2013-09-26,6551.53,6580.94,6535.78,6565.59\n2013-09-25,6571.46,6587.97,6526.42,6551.53\n2013-09-24,6557.37,6585.4,6549.92,6571.46\n2013-09-20,6625.39,6629.93,6594.17,6596.43\n2013-09-19,6558.82,6659.12,6558.82,6625.39\n2013-09-18,6570.17,6587.58,6532.5,6558.82\n2013-09-17,6622.86,6623.04,6570.17,6570.17\n2013-09-16,6583.8,6652.66,6583.8,6622.86\n2013-09-13,6588.98,6588.98,6561.78,6583.8\n2013-09-12,6588.43,6606.12,6558.61,6588.98\n2013-09-11,6583.99,6589.85,6559.72,6588.43\n2013-09-10,6530.74,6599.51,6530.74,6583.99\n2013-09-09,6547.33,6555.86,6508.76,6530.74\n2013-09-06,6532.44,6568.18,6492.49,6547.33\n2013-09-05,6474.74,6543.22,6461.68,6532.44\n2013-09-04,6468.41,6486.4,6423.51,6474.74\n2013-09-03,6506.19,6523.16,6456.95,6468.41\n2013-09-02,6412.93,6532.3,6412.93,6506.19\n2013-08-30,6483.05,6502.19,6409.6,6412.93\n2013-08-29,6430.06,6500.51,6429.95,6483.05\n2013-08-28,6440.97,6440.97,6393.65,6430.06\n2013-08-27,6492.1,6494.2,6424.0,6440.97\n2013-08-23,6446.87,6516.71,6422.35,6492.1\n2013-08-22,6390.84,6468.88,6390.62,6446.87\n2013-08-21,6453.46,6453.55,6386.72,6390.84\n2013-08-20,6465.73,6465.73,6398.63,6453.46\n2013-08-19,6499.99,6506.59,6457.73,6465.73\n2013-08-16,6483.34,6502.27,6461.3,6499.99\n2013-08-15,6587.43,6587.88,6460.12,6483.34\n2013-08-14,6611.94,6627.96,6582.58,6587.43\n2013-08-13,6574.34,6620.43,6568.44,6611.94\n2013-08-12,6583.39,6598.39,6547.0,6574.34\n2013-08-09,6529.68,6601.21,6529.48,6583.39\n2013-08-08,6511.21,6558.59,6507.24,6529.68\n2013-08-07,6604.21,6624.99,6511.21,6511.21\n2013-08-06,6619.58,6630.14,6562.32,6604.21\n2013-08-05,6647.87,6684.95,6590.1,6619.58\n2013-08-02,6681.98,6696.63,6623.85,6647.87\n2013-08-01,6621.06,6681.98,6607.27,6681.98\n2013-07-31,6570.95,6659.35,6556.65,6621.06\n2013-07-30,6560.25,6600.72,6560.25,6570.95\n2013-07-29,6554.79,6606.36,6544.14,6560.25\n2013-07-26,6587.95,6629.89,6535.18,6554.79\n2013-07-25,6620.43,6625.35,6540.42,6587.95\n2013-07-24,6597.44,6662.19,6581.61,6620.43\n2013-07-23,6623.17,6657.66,6597.44,6597.44\n2013-07-22,6630.67,6645.01,6608.17,6623.17\n2013-07-19,6634.36,6635.22,6592.1,6630.67\n2013-07-18,6571.93,6657.38,6555.82,6634.36\n2013-07-17,6556.35,6595.62,6517.38,6571.93\n2013-07-16,6586.11,6606.42,6556.35,6556.35\n2013-07-15,6544.94,6605.9,6544.94,6586.11\n2013-07-12,6543.41,6583.9,6540.24,6544.94\n2013-07-11,6504.96,6585.74,6504.96,6543.41\n2013-07-10,6513.08,6535.91,6472.41,6504.96\n2013-07-09,6450.07,6530.86,6450.07,6513.08\n2013-07-08,6375.52,6476.09,6375.52,6450.07\n2013-07-05,6421.67,6498.59,6364.38,6375.52\n2013-07-04,6229.87,6431.41,6229.87,6421.67\n2013-07-03,6303.94,6303.94,6185.21,6229.87\n2013-07-02,6307.78,6314.13,6266.5,6303.94\n2013-07-01,6215.47,6317.02,6215.44,6307.78\n2013-06-28,6243.4,6268.84,6207.72,6215.47\n2013-06-27,6165.48,6271.8,6165.45,6243.4\n2013-06-26,6101.91,6177.92,6089.21,6165.48\n2013-06-25,6029.1,6114.61,6029.1,6101.91\n2013-06-24,6116.17,6136.11,6023.44,6029.1\n2013-06-21,6159.51,6244.17,6116.17,6116.17\n2013-06-20,6348.82,6348.82,6144.98,6159.51\n2013-06-19,6374.21,6383.61,6327.01,6348.82\n2013-06-18,6330.49,6397.33,6311.35,6374.21\n2013-06-17,6308.26,6370.75,6308.26,6330.49\n2013-06-14,6304.63,6343.51,6290.62,6308.26\n2013-06-13,6299.45,6310.95,6205.71,6304.63\n2013-06-12,6340.08,6364.26,6295.92,6299.45\n2013-06-11,6400.45,6401.18,6280.08,6340.08\n2013-06-10,6411.99,6421.24,6379.62,6400.45\n2013-06-07,6336.11,6421.37,6313.6,6411.99\n2013-06-06,6419.31,6435.39,6336.11,6336.11\n2013-06-05,6558.58,6558.58,6419.31,6419.31\n2013-06-04,6525.12,6577.0,6525.12,6558.58\n2013-06-03,6583.09,6583.09,6514.08,6525.12\n2013-05-31,6656.99,6657.07,6577.75,6583.09\n2013-05-30,6627.17,6656.99,6611.03,6656.99\n2013-05-29,6762.01,6762.01,6620.82,6627.17\n2013-05-28,6654.34,6790.7,6654.34,6762.01\n2013-05-24,6696.79,6720.08,6640.08,6654.34\n2013-05-23,6840.27,6840.27,6658.77,6696.79\n2013-05-22,6803.87,6875.62,6781.45,6840.27\n2013-05-21,6755.63,6803.87,6744.2,6803.87\n2013-05-20,6723.06,6755.63,6709.14,6755.63\n2013-05-17,6687.8,6726.9,6669.93,6723.06\n2013-05-16,6693.55,6714.48,6677.15,6687.8\n2013-05-15,6686.06,6701.68,6669.04,6693.55\n2013-05-14,6631.76,6686.06,6618.36,6686.06\n2013-05-13,6624.98,6633.26,6602.82,6631.76\n2013-05-10,6592.74,6637.84,6591.58,6624.98\n2013-05-09,6583.48,6597.26,6571.73,6592.74\n2013-05-08,6557.3,6587.39,6547.0,6583.48\n2013-05-07,6521.46,6563.9,6521.43,6557.3\n2013-05-03,6460.71,6541.69,6451.5,6521.46\n2013-05-02,6451.29,6470.34,6409.81,6460.71\n2013-05-01,6430.12,6475.87,6429.8,6451.29\n2013-04-30,6458.02,6483.08,6412.69,6430.12\n2013-04-29,6426.42,6458.02,6419.27,6458.02\n2013-04-26,6442.59,6442.59,6399.37,6426.42\n2013-04-25,6431.76,6467.11,6411.94,6442.59\n2013-04-24,6406.12,6438.93,6396.19,6431.76\n2013-04-23,6280.62,6406.14,6278.48,6406.12\n2013-04-22,6286.59,6341.98,6258.98,6280.62\n2013-04-19,6243.67,6288.7,6243.67,6286.59\n2013-04-18,6244.21,6277.79,6225.86,6243.67\n2013-04-17,6304.58,6334.44,6225.16,6244.21\n2013-04-16,6343.6,6343.6,6297.53,6304.58\n2013-04-15,6384.39,6384.42,6300.12,6343.6\n2013-04-12,6416.14,6416.14,6368.2,6384.39\n2013-04-11,6387.37,6423.56,6377.54,6416.14\n2013-04-10,6313.21,6405.2,6313.2,6387.37\n2013-04-09,6276.94,6326.54,6276.94,6313.21\n2013-04-08,6249.78,6289.59,6249.78,6276.94\n2013-04-05,6344.12,6346.82,6214.36,6249.78\n2013-04-04,6420.28,6426.37,6341.43,6344.12\n2013-04-03,6490.66,6491.84,6416.67,6420.28\n2013-04-02,6411.74,6501.78,6408.84,6490.66\n2013-03-28,6387.56,6447.86,6381.99,6411.74\n2013-03-27,6399.37,6420.9,6344.19,6387.56\n2013-03-26,6378.38,6404.52,6369.58,6399.37\n2013-03-25,6392.76,6458.53,6366.62,6378.38\n2013-03-22,6388.55,6426.45,6374.51,6392.76\n2013-03-21,6432.7,6435.59,6364.0,6388.55\n2013-03-20,6441.32,6475.61,6421.29,6432.7\n2013-03-19,6457.92,6474.57,6414.45,6441.32\n2013-03-18,6489.65,6489.65,6386.17,6457.92\n2013-03-15,6529.41,6533.78,6470.1,6489.65\n2013-03-14,6481.5,6532.57,6478.54,6529.41\n2013-03-13,6510.62,6510.62,6437.61,6481.5\n2013-03-12,6503.63,6533.99,6491.75,6510.62\n2013-03-11,6483.58,6505.3,6473.56,6503.63\n2013-03-08,6439.16,6489.54,6439.16,6483.58\n2013-03-07,6427.64,6459.68,6427.31,6439.16\n2013-03-06,6431.95,6460.96,6418.72,6427.64\n2013-03-05,6345.63,6437.34,6344.78,6431.95\n2013-03-04,6378.6,6379.29,6333.17,6345.63\n2013-03-01,6360.81,6391.67,6308.56,6378.6\n2013-02-28,6325.88,6372.0,6325.88,6360.81\n2013-02-27,6270.44,6335.9,6269.26,6325.88\n2013-02-26,6355.37,6355.37,6258.62,6270.44\n2013-02-25,6335.7,6390.09,6323.98,6355.37\n2013-02-22,6291.54,6347.25,6291.49,6335.7\n2013-02-21,6395.37,6395.37,6277.96,6291.54\n2013-02-20,6379.07,6412.44,6368.2,6395.37\n2013-02-19,6318.19,6385.14,6304.4,6379.07\n2013-02-18,6328.26,6330.17,6306.83,6318.19\n2013-02-15,6327.36,6352.2,6309.78,6328.26\n2013-02-14,6359.11,6364.72,6302.0,6327.36\n2013-02-13,6338.38,6384.7,6311.59,6359.11\n2013-02-12,6277.06,6338.38,6259.82,6338.38\n2013-02-11,6263.93,6294.81,6252.31,6277.06\n2013-02-08,6228.42,6278.07,6228.42,6263.93\n2013-02-07,6295.34,6313.0,6216.72,6228.42\n2013-02-06,6282.76,6321.45,6265.55,6295.34\n2013-02-05,6246.84,6296.47,6244.07,6282.76\n2013-02-04,6347.24,6347.26,6236.66,6246.84\n2013-02-01,6276.88,6353.95,6275.5,6347.24\n2013-01-31,6323.11,6451.01,6142.02,6276.88\n2013-01-30,6339.19,6354.46,6316.29,6323.11\n2013-01-29,6294.41,6346.37,6285.77,6339.19\n2013-01-28,6284.45,6311.26,6277.04,6294.41\n2013-01-25,6264.91,6284.45,6247.33,6284.45\n2013-01-24,6197.64,6271.4,6186.48,6264.91\n2013-01-23,6179.17,6200.49,6178.47,6197.64\n2013-01-22,6180.98,6188.58,6149.18,6179.17\n2013-01-21,6154.41,6182.23,6154.41,6180.98\n2013-01-18,6132.36,6172.49,6131.93,6154.41\n2013-01-17,6103.98,6135.89,6087.49,6132.36\n2013-01-16,6117.31,6117.33,6076.12,6103.98\n2013-01-15,6107.86,6117.31,6086.21,6117.31\n2013-01-14,6121.58,6134.17,6104.9,6107.86\n2013-01-11,6101.51,6121.58,6095.07,6121.58\n2013-01-10,6098.65,6118.3,6090.61,6101.51\n2013-01-09,6053.63,6112.27,6053.63,6098.65\n2013-01-08,6064.58,6088.18,6053.63,6053.63\n2013-01-07,6089.84,6091.5,6060.75,6064.58\n2013-01-04,6047.34,6089.84,6038.02,6089.84\n2013-01-03,6027.37,6051.3,6016.8,6047.34\n2013-01-02,5897.81,6044.57,5897.81,6027.37\n2012-12-31,5925.37,5925.43,5873.43,5897.81\n2012-12-28,5954.3,5975.97,5915.32,5925.37\n2012-12-27,5954.18,5997.04,5942.44,5954.3\n2012-12-24,5939.99,5957.69,5937.1,5954.18\n2012-12-21,5958.34,5958.34,5894.1,5939.99\n2012-12-20,5961.59,5970.87,5950.07,5958.34\n2012-12-19,5935.9,5977.82,5935.9,5961.59\n2012-12-18,5912.15,5946.41,5911.1,5935.9\n2012-12-17,5921.76,5923.92,5881.01,5912.15\n2012-12-14,5929.61,5944.5,5915.34,5921.76\n2012-12-13,5945.85,5947.85,5918.57,5929.61\n2012-12-12,5924.97,5948.5,5915.91,5945.85\n2012-12-11,5921.63,5937.93,5908.32,5924.97\n2012-12-10,5914.4,5923.97,5891.33,5921.63\n2012-12-07,5901.42,5923.11,5889.92,5914.4\n2012-12-06,5892.08,5923.91,5889.65,5901.42\n2012-12-05,5869.04,5902.66,5869.04,5892.08\n2012-12-04,5871.24,5885.36,5852.88,5869.04\n2012-12-03,5866.82,5902.0,5859.56,5871.24\n2012-11-30,5870.3,5904.39,5860.27,5866.82\n2012-11-29,5803.28,5883.98,5803.28,5870.3\n2012-11-28,5799.71,5808.34,5755.23,5803.28\n2012-11-27,5786.72,5823.18,5786.72,5799.71\n2012-11-26,5819.14,5819.14,5773.86,5786.72\n2012-11-23,5791.03,5830.53,5781.43,5819.14\n2012-11-22,5752.03,5796.47,5752.03,5791.03\n2012-11-21,5748.1,5760.12,5727.86,5752.03\n2012-11-20,5737.66,5751.82,5706.7,5748.1\n2012-11-19,5605.59,5739.74,5605.59,5737.66\n2012-11-16,5677.75,5682.68,5605.59,5605.59\n2012-11-15,5722.01,5722.01,5674.26,5677.75\n2012-11-14,5786.25,5786.25,5719.61,5722.01\n2012-11-13,5767.27,5786.25,5710.99,5786.25\n2012-11-12,5769.68,5795.25,5762.01,5767.27\n2012-11-09,5776.05,5786.43,5715.23,5769.68\n2012-11-08,5791.63,5824.36,5770.7,5776.05\n2012-11-07,5884.9,5921.78,5789.43,5791.63\n2012-11-06,5839.06,5885.16,5839.06,5884.9\n2012-11-05,5868.55,5868.55,5825.55,5839.06\n2012-11-02,5861.92,5890.11,5844.3,5868.55\n2012-11-01,5782.7,5866.76,5777.96,5861.92\n2012-10-31,5849.9,5866.67,5782.7,5782.7\n2012-10-30,5795.1,5852.17,5794.92,5849.9\n2012-10-29,5806.71,5812.67,5763.51,5795.1\n2012-10-26,5805.05,5817.94,5753.31,5806.71\n2012-10-25,5804.78,5840.57,5802.22,5805.05\n2012-10-24,5797.91,5823.24,5776.64,5804.78\n2012-10-23,5882.91,5893.43,5788.96,5797.91\n2012-10-22,5896.15,5911.03,5869.88,5882.91\n2012-10-19,5917.05,5919.73,5892.23,5896.15\n2012-10-18,5910.91,5928.27,5896.49,5917.05\n2012-10-17,5870.54,5915.59,5868.68,5910.91\n2012-10-16,5805.61,5878.09,5805.61,5870.54\n2012-10-15,5793.32,5827.87,5786.03,5805.61\n2012-10-12,5829.75,5829.75,5793.32,5793.32\n2012-10-11,5776.71,5846.3,5766.69,5829.75\n2012-10-10,5810.25,5810.52,5776.71,5776.71\n2012-10-09,5841.74,5856.42,5795.18,5810.25\n2012-10-08,5871.02,5871.02,5818.76,5841.74\n2012-10-05,5827.78,5885.57,5827.61,5871.02\n2012-10-04,5825.81,5854.16,5803.22,5827.78\n2012-10-03,5809.45,5832.48,5785.0,5825.81\n2012-10-02,5820.45,5840.36,5781.42,5809.45\n2012-10-01,5742.07,5843.54,5738.59,5820.45\n2012-09-28,5779.42,5807.82,5740.52,5742.07\n2012-09-27,5768.09,5804.09,5762.98,5779.42\n2012-09-26,5859.71,5859.71,5751.35,5768.09\n2012-09-25,5838.84,5869.17,5828.34,5859.71\n2012-09-24,5852.62,5852.62,5806.09,5838.84\n2012-09-21,5854.64,5887.57,5838.86,5852.62\n2012-09-20,5888.48,5888.48,5824.36,5854.64\n2012-09-19,5868.16,5894.39,5861.01,5888.48\n2012-09-18,5893.52,5893.52,5837.52,5868.16\n2012-09-17,5915.55,5915.68,5883.22,5893.52\n2012-09-14,5819.92,5932.62,5819.92,5915.55\n2012-09-13,5782.08,5826.57,5770.26,5819.92\n2012-09-12,5792.19,5821.24,5757.58,5782.08\n2012-09-11,5793.2,5796.56,5764.22,5792.19\n2012-09-10,5794.8,5806.79,5777.07,5793.2\n2012-09-07,5777.34,5807.57,5772.87,5794.8\n2012-09-06,5657.86,5785.98,5657.86,5777.34\n2012-09-05,5672.01,5675.91,5634.88,5657.86\n2012-09-04,5758.41,5758.41,5658.34,5672.01\n2012-09-03,5711.48,5758.41,5701.06,5758.41\n2012-08-31,5719.45,5763.77,5707.99,5711.48\n2012-08-30,5743.53,5743.53,5705.65,5719.45\n2012-08-29,5775.71,5775.76,5739.23,5743.53\n2012-08-28,5776.69,5779.49,5749.75,5775.71\n2012-08-24,5776.6,5791.39,5739.41,5776.6\n2012-08-23,5774.2,5809.26,5764.02,5776.6\n2012-08-22,5857.52,5857.52,5771.22,5774.2\n2012-08-21,5824.37,5872.59,5824.37,5857.52\n2012-08-20,5852.42,5857.5,5802.91,5824.37\n2012-08-17,5834.51,5854.72,5834.39,5852.42\n2012-08-16,5833.04,5846.7,5811.31,5834.51\n2012-08-15,5864.78,5864.78,5822.25,5833.04\n2012-08-14,5831.88,5876.22,5831.88,5864.78\n2012-08-13,5847.11,5852.79,5813.63,5831.88\n2012-08-10,5851.51,5858.56,5827.71,5847.11\n2012-08-09,5845.92,5860.16,5828.44,5851.51\n2012-08-08,5841.24,5845.92,5801.08,5845.92\n2012-08-07,5808.77,5841.24,5785.01,5841.24\n2012-08-06,5787.28,5837.61,5767.1,5808.77\n2012-08-03,5662.3,5794.01,5662.3,5787.28\n2012-08-02,5712.82,5765.81,5657.25,5662.3\n2012-08-01,5635.28,5712.82,5632.97,5712.82\n2012-07-31,5693.63,5695.54,5635.28,5635.28\n2012-07-30,5627.21,5706.47,5625.67,5693.63\n2012-07-27,5573.16,5631.0,5550.9,5627.21\n2012-07-26,5498.32,5594.51,5478.04,5573.16\n2012-07-25,5499.23,5526.09,5478.02,5498.32\n2012-07-24,5533.87,5556.63,5486.99,5499.23\n2012-07-23,5651.77,5651.77,5510.92,5533.87\n2012-07-20,5714.19,5714.19,5644.93,5651.77\n2012-07-19,5685.77,5718.61,5685.77,5714.19\n2012-07-18,5629.09,5688.29,5624.54,5685.77\n2012-07-17,5662.43,5676.47,5621.19,5629.09\n2012-07-16,5666.13,5670.6,5640.88,5662.43\n2012-07-13,5608.25,5675.62,5608.25,5666.13\n2012-07-12,5664.48,5664.48,5588.84,5608.25\n2012-07-11,5664.07,5674.65,5625.6,5664.48\n2012-07-10,5627.33,5688.66,5622.29,5664.07\n2012-07-09,5662.63,5669.75,5610.71,5627.33\n2012-07-06,5692.63,5695.06,5647.47,5662.63\n2012-07-05,5684.47,5727.45,5662.48,5692.63\n2012-07-04,5687.73,5699.85,5669.73,5684.47\n2012-07-03,5640.64,5689.0,5636.05,5687.73\n2012-07-02,5590.14,5640.64,5582.25,5640.64\n2012-06-29,5493.06,5619.65,5493.06,5571.15\n2012-06-28,5523.92,5533.75,5436.5,5493.06\n2012-06-27,5446.96,5525.14,5446.96,5523.92\n2012-06-26,5450.65,5476.5,5436.27,5446.96\n2012-06-25,5513.69,5513.69,5435.46,5450.65\n2012-06-22,5566.36,5566.36,5499.97,5513.69\n2012-06-21,5622.29,5622.29,5564.79,5566.36\n2012-06-20,5586.31,5623.85,5566.0,5622.29\n2012-06-19,5491.09,5603.14,5491.03,5586.31\n2012-06-18,5478.81,5555.32,5461.08,5491.09\n2012-06-15,5467.05,5522.87,5465.09,5478.81\n2012-06-14,5483.81,5483.81,5424.4,5467.05\n2012-06-13,5473.74,5507.65,5436.67,5483.81\n2012-06-12,5432.37,5478.63,5414.64,5473.74\n2012-06-11,5435.08,5536.27,5419.56,5432.37\n2012-06-08,5447.79,5447.79,5381.83,5435.08\n2012-06-07,5384.11,5494.54,5384.11,5447.79\n2012-06-06,5260.19,5388.03,5260.19,5384.11\n2012-06-01,5320.86,5354.45,5229.76,5260.19\n2012-05-31,5297.28,5352.05,5272.66,5306.95\n2012-05-30,5391.14,5391.14,5284.42,5297.28\n2012-05-29,5356.34,5404.66,5342.46,5391.14\n2012-05-28,5351.53,5413.83,5341.34,5356.34\n2012-05-25,5350.05,5385.17,5312.2,5351.53\n2012-05-24,5266.41,5371.75,5266.41,5350.05\n2012-05-23,5403.28,5403.67,5262.9,5266.41\n2012-05-22,5304.48,5408.65,5304.48,5403.28\n2012-05-21,5267.62,5324.36,5253.92,5304.48\n2012-05-18,5338.38,5338.38,5256.61,5267.62\n2012-05-17,5405.25,5413.32,5309.75,5338.38\n2012-05-16,5437.62,5448.38,5354.0,5405.25\n2012-05-15,5465.52,5507.65,5411.82,5437.62\n2012-05-14,5575.52,5575.65,5436.69,5465.52\n2012-05-11,5543.95,5585.5,5499.27,5575.52\n2012-05-10,5530.05,5566.14,5490.54,5543.95\n2012-05-09,5554.55,5571.71,5464.41,5530.05\n2012-05-08,5655.06,5668.09,5550.09,5554.55\n2012-05-04,5766.55,5766.55,5639.79,5655.06\n2012-05-03,5758.11,5800.81,5745.23,5766.55\n2012-05-02,5812.23,5819.93,5736.64,5758.11\n2012-05-01,5737.78,5819.0,5732.16,5812.23\n2012-04-30,5777.11,5792.97,5728.87,5737.78\n2012-04-27,5748.72,5788.99,5707.95,5777.11\n2012-04-26,5718.89,5761.14,5691.72,5748.72\n2012-04-25,5709.49,5745.0,5703.21,5718.89\n2012-04-24,5665.57,5714.17,5658.49,5709.49\n2012-04-23,5772.15,5772.15,5637.73,5665.57\n2012-04-20,5744.55,5775.67,5724.2,5772.15\n2012-04-19,5745.29,5792.07,5738.11,5744.55\n2012-04-18,5766.95,5783.88,5730.91,5745.29\n2012-04-17,5666.28,5773.73,5651.53,5766.95\n2012-04-16,5651.79,5707.96,5641.07,5666.28\n2012-04-13,5710.46,5710.82,5643.51,5651.79\n2012-04-12,5634.74,5727.87,5602.56,5710.46\n2012-04-11,5595.55,5655.87,5576.37,5634.74\n2012-04-10,5723.67,5723.67,5595.55,5595.55\n2012-04-05,5703.77,5731.67,5663.32,5723.67\n2012-04-04,5838.34,5838.34,5685.65,5703.77\n2012-04-03,5874.89,5890.16,5838.34,5838.34\n2012-04-02,5768.45,5874.89,5748.63,5874.89\n2012-03-30,5742.03,5782.71,5742.03,5768.45\n2012-03-29,5808.99,5812.17,5726.5,5742.03\n2012-03-28,5869.55,5877.94,5808.99,5808.99\n2012-03-27,5902.7,5941.9,5863.83,5869.55\n2012-03-26,5854.89,5913.06,5854.47,5902.7\n2012-03-23,5845.65,5875.73,5801.72,5854.89\n2012-03-22,5891.95,5891.95,5825.91,5845.65\n2012-03-21,5891.41,5921.68,5880.79,5891.95\n2012-03-20,5961.11,5961.11,5876.42,5891.41\n2012-03-19,5965.58,5968.89,5928.45,5961.11\n2012-03-16,5940.72,5974.05,5940.72,5965.58\n2012-03-15,5945.43,5958.17,5919.21,5940.72\n2012-03-14,5955.91,5989.07,5945.43,5945.43\n2012-03-13,5892.75,5957.94,5892.75,5955.91\n2012-03-12,5887.49,5894.07,5860.42,5892.75\n2012-03-09,5859.73,5897.6,5842.94,5887.49\n2012-03-08,5791.41,5874.34,5791.41,5859.73\n2012-03-07,5765.8,5801.12,5755.69,5791.41\n2012-03-06,5874.82,5874.82,5758.42,5765.8\n2012-03-05,5911.13,5911.13,5865.38,5874.82\n2012-03-02,5931.25,5939.97,5908.48,5911.13\n2012-03-01,5871.51,5936.07,5858.85,5931.25\n2012-02-29,5927.91,5944.75,5871.51,5871.51\n2012-02-28,5915.55,5937.02,5899.99,5927.91\n2012-02-27,5935.13,5935.13,5865.85,5915.55\n2012-02-24,5937.89,5964.02,5925.47,5935.13\n2012-02-23,5916.55,5952.47,5900.5,5937.89\n2012-02-22,5928.2,5937.96,5894.6,5916.55\n2012-02-21,5945.25,5948.84,5916.58,5928.2\n2012-02-20,5905.07,5956.33,5905.07,5945.25\n2012-02-17,5885.38,5923.62,5885.38,5905.07\n2012-02-16,5892.16,5892.36,5829.38,5885.38\n2012-02-15,5899.87,5923.78,5880.62,5892.16\n2012-02-14,5905.7,5920.61,5877.21,5899.87\n2012-02-13,5852.39,5920.09,5852.39,5905.7\n2012-02-10,5895.47,5895.47,5839.85,5852.39\n2012-02-09,5875.93,5916.31,5870.55,5895.47\n2012-02-08,5890.26,5916.2,5871.33,5875.93\n2012-02-07,5892.2,5906.65,5850.49,5890.26\n2012-02-06,5901.07,5901.07,5863.55,5892.2\n2012-02-03,5796.07,5901.07,5784.23,5901.07\n2012-02-02,5790.72,5809.82,5765.72,5796.07\n2012-02-01,5681.61,5790.72,5680.67,5790.72\n2012-01-31,5671.09,5730.32,5671.09,5681.61\n2012-01-30,5733.45,5733.45,5651.56,5671.09\n2012-01-27,5795.2,5795.2,5728.96,5733.45\n2012-01-26,5723.0,5806.24,5722.83,5795.2\n2012-01-25,5751.9,5777.69,5694.05,5723.0\n2012-01-24,5782.56,5782.56,5719.86,5751.9\n2012-01-23,5728.55,5789.85,5723.09,5782.56\n2012-01-20,5741.15,5749.77,5721.61,5728.55\n2012-01-19,5702.37,5743.93,5693.16,5741.15\n2012-01-18,5693.95,5709.87,5647.92,5702.37\n2012-01-17,5657.44,5724.41,5657.44,5693.95\n2012-01-16,5636.64,5662.88,5609.87,5657.44\n2012-01-13,5662.42,5709.22,5583.45,5636.64\n2012-01-12,5670.82,5699.57,5640.3,5662.42\n2012-01-11,5696.7,5700.75,5644.75,5670.82\n2012-01-10,5612.26,5711.89,5612.26,5696.7\n2012-01-09,5649.68,5673.82,5604.62,5612.26\n2012-01-06,5624.26,5682.78,5623.36,5649.68\n2012-01-05,5668.45,5689.33,5614.38,5624.26\n2012-01-04,5699.91,5719.83,5646.36,5668.45\n2012-01-03,5572.28,5699.91,5572.28,5699.91\n2011-12-30,5572.28,5572.28,5572.28,5572.28\n2011-12-29,5507.4,5566.77,5496.87,5566.77\n2011-12-28,5512.7,5567.86,5490.96,5507.4\n2011-12-23,5512.7,5512.7,5512.7,5512.7\n2011-12-22,5389.74,5469.03,5389.74,5456.97\n2011-12-21,5419.6,5479.19,5371.65,5389.74\n2011-12-20,5364.99,5426.28,5328.67,5419.6\n2011-12-19,5387.34,5410.06,5343.08,5364.99\n2011-12-16,5400.85,5452.65,5387.34,5387.34\n2011-12-15,5366.8,5434.02,5366.8,5400.85\n2011-12-14,5490.15,5490.15,5366.8,5366.8\n2011-12-13,5427.86,5525.96,5413.7,5490.15\n2011-12-12,5529.21,5529.21,5427.86,5427.86\n2011-12-09,5483.77,5540.52,5440.86,5529.21\n2011-12-08,5546.91,5605.27,5483.77,5483.77\n2011-12-07,5568.72,5631.88,5497.96,5546.91\n2011-12-06,5567.96,5592.95,5521.91,5568.72\n2011-12-05,5552.29,5602.8,5545.93,5567.96\n2011-12-02,5489.34,5595.54,5489.07,5552.29\n2011-12-01,5505.42,5553.89,5486.87,5489.34\n2011-11-30,5337.0,5538.96,5274.95,5505.42\n2011-11-29,5312.76,5344.18,5272.44,5337.0\n2011-11-28,5164.65,5327.76,5164.65,5312.76\n2011-11-25,5127.57,5200.31,5075.22,5164.65\n2011-11-24,5139.78,5184.26,5098.99,5127.57\n2011-11-23,5206.82,5206.82,5139.78,5139.78\n2011-11-22,5222.6,5281.95,5206.82,5206.82\n2011-11-21,5362.94,5362.94,5221.69,5222.6\n2011-11-18,5423.14,5423.14,5347.89,5362.94\n2011-11-17,5509.02,5509.02,5366.12,5423.14\n2011-11-16,5517.44,5562.91,5450.24,5509.02\n2011-11-15,5519.04,5551.38,5428.6,5517.44\n2011-11-14,5545.38,5575.19,5489.25,5519.04\n2011-11-11,5444.82,5548.75,5439.81,5545.38\n2011-11-10,5460.38,5497.2,5360.19,5444.82\n2011-11-09,5567.34,5615.84,5426.25,5460.38\n2011-11-08,5510.82,5616.0,5509.57,5567.34\n2011-11-07,5527.16,5557.76,5432.16,5510.82\n2011-11-04,5545.64,5599.46,5495.38,5527.16\n2011-11-03,5484.1,5564.54,5402.63,5545.64\n2011-11-02,5421.57,5493.29,5383.37,5484.1\n2011-11-01,5544.22,5544.22,5338.36,5421.57\n2011-10-31,5702.24,5702.24,5544.22,5544.22\n2011-10-28,5713.82,5746.88,5684.95,5702.24\n2011-10-27,5553.24,5747.33,5553.24,5713.82\n2011-10-26,5525.54,5576.63,5498.51,5553.24\n2011-10-25,5548.06,5574.13,5465.52,5525.54\n2011-10-24,5488.65,5552.79,5487.21,5548.06\n2011-10-21,5384.68,5500.54,5384.68,5488.65\n2011-10-20,5450.49,5450.49,5363.16,5384.68\n2011-10-19,5410.35,5483.79,5410.35,5450.49\n2011-10-18,5436.7,5436.7,5348.64,5410.35\n2011-10-17,5466.36,5543.72,5405.2,5436.7\n2011-10-14,5403.38,5501.39,5395.57,5466.36\n2011-10-13,5441.8,5456.09,5368.37,5403.38\n2011-10-12,5395.7,5458.02,5348.16,5441.8\n2011-10-11,5399.0,5399.0,5330.42,5395.7\n2011-10-10,5303.4,5413.43,5303.4,5399.0\n2011-10-07,5291.26,5370.89,5261.43,5303.4\n2011-10-06,5102.17,5291.26,5102.17,5291.26\n2011-10-05,4944.44,5121.4,4944.44,5102.17\n2011-10-04,5075.5,5075.5,4868.6,4944.44\n2011-10-03,5128.48,5128.48,4983.28,5075.5\n2011-09-30,5196.84,5197.33,5068.63,5128.48\n2011-09-29,5217.63,5250.18,5160.77,5196.84\n2011-09-28,5294.05,5314.29,5191.36,5217.63\n2011-09-27,5089.37,5294.05,5089.37,5294.05\n2011-09-26,5066.81,5148.81,4974.03,5089.37\n2011-09-23,5041.61,5105.38,4928.14,5066.81\n2011-09-22,5288.41,5288.41,5013.55,5041.61\n2011-09-21,5363.71,5366.09,5268.82,5288.41\n2011-09-20,5259.56,5377.39,5219.09,5363.71\n2011-09-19,5368.41,5368.41,5231.62,5259.56\n2011-09-16,5337.54,5406.1,5337.54,5368.41\n2011-09-15,5227.02,5366.74,5227.02,5337.54\n2011-09-14,5174.25,5270.42,5146.39,5227.02\n2011-09-13,5129.62,5203.07,5069.52,5174.25\n2011-09-12,5214.65,5214.65,5059.22,5129.62\n2011-09-09,5340.38,5352.03,5202.24,5214.65\n2011-09-08,5318.59,5369.82,5269.7,5340.38\n2011-09-07,5156.84,5322.21,5156.84,5318.59\n2011-09-06,5102.58,5190.27,5086.79,5156.84\n2011-09-05,5292.03,5292.03,5097.71,5102.58\n2011-09-02,5418.65,5418.65,5258.5,5292.03\n2011-09-01,5394.53,5449.67,5346.7,5418.65\n2011-08-31,5268.66,5411.6,5258.62,5394.53\n2011-08-30,5129.92,5283.6,5129.92,5268.66\n2011-08-26,5129.92,5129.92,5129.92,5129.92\n2011-08-25,5205.85,5254.17,5102.06,5131.1\n2011-08-24,5129.42,5250.59,5098.14,5205.85\n2011-08-23,5095.3,5193.17,5076.74,5129.42\n2011-08-22,5040.76,5182.98,4993.34,5095.3\n2011-08-19,5092.23,5107.91,4929.55,5040.76\n2011-08-18,5331.6,5331.6,5041.59,5092.23\n2011-08-17,5357.63,5371.08,5279.93,5331.6\n2011-08-16,5350.58,5362.15,5265.83,5357.63\n2011-08-15,5320.03,5377.23,5319.38,5350.58\n2011-08-12,5162.83,5320.03,5099.31,5320.03\n2011-08-11,5007.16,5172.66,4943.01,5162.83\n2011-08-10,5164.92,5262.72,4990.79,5007.16\n2011-08-09,5068.95,5175.6,4791.01,5164.92\n2011-08-08,5246.99,5295.78,5062.42,5068.95\n2011-08-05,5393.14,5393.14,5202.62,5246.99\n2011-08-04,5584.51,5644.05,5393.14,5393.14\n2011-08-03,5718.39,5718.39,5557.74,5584.51\n2011-08-02,5774.43,5778.92,5705.34,5718.39\n2011-08-01,5815.19,5913.46,5767.06,5774.43\n2011-07-29,5873.21,5873.21,5772.43,5815.19\n2011-07-28,5856.58,5882.56,5801.58,5873.21\n2011-07-27,5929.73,5932.0,5841.03,5856.58\n2011-07-26,5925.26,5951.34,5895.58,5929.73\n2011-07-25,5935.02,5938.55,5892.64,5925.26\n2011-07-22,5899.89,5966.84,5899.89,5935.02\n2011-07-21,5853.82,5934.28,5797.48,5899.89\n2011-07-20,5789.99,5856.36,5789.99,5853.82\n2011-07-19,5752.81,5801.99,5752.81,5789.99\n2011-07-18,5843.66,5843.66,5752.81,5752.81\n2011-07-15,5846.95,5863.57,5805.99,5843.66\n2011-07-14,5906.43,5906.43,5841.17,5846.95\n2011-07-13,5868.96,5911.0,5850.96,5906.43\n2011-07-12,5929.16,5929.16,5793.04,5868.96\n2011-07-11,5990.58,5998.58,5900.75,5929.16\n2011-07-08,6054.55,6084.08,5981.73,5990.58\n2011-07-07,6002.92,6071.67,6002.92,6054.55\n2011-07-06,6024.03,6026.48,5973.82,6002.92\n2011-07-05,6017.54,6036.31,6011.07,6024.03\n2011-07-04,5989.76,6030.82,5985.69,6017.54\n2011-07-01,5945.71,5999.04,5936.96,5989.76\n2011-06-30,5855.95,5945.71,5855.95,5945.71\n2011-06-29,5766.88,5860.92,5766.88,5855.95\n2011-06-28,5722.34,5795.1,5722.34,5766.88\n2011-06-27,5697.72,5728.43,5679.6,5722.34\n2011-06-24,5674.38,5768.54,5674.38,5697.72\n2011-06-23,5772.99,5772.99,5663.3,5674.38\n2011-06-22,5775.31,5789.12,5741.82,5772.99\n2011-06-21,5693.39,5778.07,5692.97,5775.31\n2011-06-20,5714.94,5714.94,5647.23,5693.39\n2011-06-17,5698.81,5733.2,5644.98,5714.94\n2011-06-16,5742.55,5742.55,5644.38,5698.81\n2011-06-15,5803.13,5803.35,5742.55,5742.55\n2011-06-14,5773.46,5822.6,5773.46,5803.13\n2011-06-13,5765.8,5793.84,5763.42,5773.46\n2011-06-10,5856.34,5866.95,5758.33,5765.8\n2011-06-09,5808.89,5861.17,5795.0,5856.34\n2011-06-08,5864.65,5864.65,5791.8,5808.89\n2011-06-07,5863.16,5890.58,5849.23,5864.65\n2011-06-06,5855.01,5881.06,5827.51,5863.16\n2011-06-03,5847.92,5868.19,5802.67,5855.01\n2011-06-02,5928.61,5928.61,5847.92,5847.92\n2011-06-01,5989.99,5995.22,5911.68,5928.61\n2011-05-31,5938.87,6009.98,5938.87,5989.99\n2011-05-27,5938.87,5938.87,5938.87,5938.87\n2011-05-26,5870.14,5910.77,5866.67,5880.99\n2011-05-25,5858.41,5881.18,5810.46,5870.14\n2011-05-24,5835.89,5884.66,5835.89,5858.41\n2011-05-23,5948.49,5948.49,5833.44,5835.89\n2011-05-20,5955.99,6017.56,5927.74,5948.49\n2011-05-19,5923.49,6003.92,5923.49,5955.99\n2011-05-18,5861.0,5934.51,5860.65,5923.49\n2011-05-17,5923.69,5942.81,5861.0,5861.0\n2011-05-16,5925.87,5936.19,5862.16,5923.69\n2011-05-13,5944.96,6001.33,5919.91,5925.87\n2011-05-12,5976.0,5976.44,5882.39,5944.96\n2011-05-11,6018.89,6040.24,5965.26,5976.0\n2011-05-10,5942.69,6023.11,5940.06,6018.89\n2011-05-09,5976.77,5999.9,5922.23,5942.69\n2011-05-06,5919.98,5984.92,5871.57,5976.77\n2011-05-05,5984.07,6009.1,5912.61,5919.98\n2011-05-04,6082.88,6083.84,5972.83,5984.07\n2011-05-03,6069.9,6103.73,6050.71,6082.88\n2011-04-28,6069.9,6069.9,6069.9,6069.9\n2011-04-27,6069.36,6089.4,6045.87,6068.16\n2011-04-26,6018.3,6070.59,6006.95,6069.36\n2011-04-21,6018.3,6018.3,6018.3,6018.3\n2011-04-20,5896.87,6033.79,5896.87,6022.26\n2011-04-19,5870.08,5922.21,5870.08,5896.87\n2011-04-18,5996.01,5997.46,5858.32,5870.08\n2011-04-15,5963.8,5996.76,5963.55,5996.01\n2011-04-14,6010.44,6010.48,5943.75,5963.8\n2011-04-13,5964.47,6043.36,5964.47,6010.44\n2011-04-12,6053.44,6053.63,5958.28,5964.47\n2011-04-11,6055.75,6070.78,6044.52,6053.44\n2011-04-08,6007.37,6066.39,6007.37,6055.75\n2011-04-07,6041.13,6053.12,6007.37,6007.37\n2011-04-06,6007.06,6056.37,6007.06,6041.13\n2011-04-05,6016.98,6026.3,5989.05,6007.06\n2011-04-04,6009.92,6035.12,5987.7,6016.98\n2011-04-01,5908.76,6014.77,5908.76,6009.92\n2011-03-31,5948.3,5972.8,5908.76,5908.76\n2011-03-30,5932.17,5970.98,5932.17,5948.3\n2011-03-29,5904.49,5932.73,5879.9,5932.17\n2011-03-28,5900.76,5922.99,5900.6,5904.49\n2011-03-25,5880.87,5918.73,5878.22,5900.76\n2011-03-24,5795.88,5888.7,5780.41,5880.87\n2011-03-23,5762.71,5802.44,5731.4,5795.88\n2011-03-22,5786.09,5813.81,5742.62,5762.71\n2011-03-21,5718.13,5798.78,5718.13,5786.09\n2011-03-18,5696.11,5758.17,5696.11,5718.13\n2011-03-17,5598.23,5707.68,5598.23,5696.11\n2011-03-16,5695.28,5720.92,5598.23,5598.23\n2011-03-15,5775.24,5775.24,5591.59,5695.28\n2011-03-14,5828.67,5842.04,5769.04,5775.24\n2011-03-11,5845.29,5845.29,5796.44,5828.67\n2011-03-10,5937.3,5937.3,5833.23,5845.29\n2011-03-09,5974.76,5979.33,5922.66,5937.3\n2011-03-08,5973.78,5999.93,5911.0,5974.76\n2011-03-07,5990.39,6043.12,5967.68,5973.78\n2011-03-04,6005.09,6052.08,5983.21,5990.39\n2011-03-03,5914.89,6017.08,5914.89,6005.09\n2011-03-02,5935.76,5941.82,5865.92,5914.89\n2011-03-01,5994.01,6040.43,5927.43,5935.76\n2011-02-28,6001.2,6022.33,5963.58,5994.01\n2011-02-25,5919.98,6011.5,5919.98,6001.2\n2011-02-24,5923.53,5936.68,5860.95,5919.98\n2011-02-23,5996.76,5996.76,5915.52,5923.53\n2011-02-22,6014.8,6028.56,5926.55,5996.76\n2011-02-21,6082.99,6105.77,6013.14,6014.8\n2011-02-18,6087.38,6096.78,6048.83,6082.99\n2011-02-17,6085.27,6101.42,6066.71,6087.38\n2011-02-16,6037.08,6095.76,6033.51,6085.27\n2011-02-15,6060.09,6072.07,6023.77,6037.08\n2011-02-14,6062.9,6091.48,6042.1,6060.09\n2011-02-11,6020.01,6071.4,5973.44,6062.9\n2011-02-10,6052.29,6052.29,5986.48,6020.01\n2011-02-09,6091.33,6091.33,6049.5,6052.29\n2011-02-08,6051.03,6091.33,6032.88,6091.33\n2011-02-07,5997.38,6054.09,5996.61,6051.03\n2011-02-04,5983.34,6023.41,5983.33,5997.38\n2011-02-03,6000.07,6000.29,5951.82,5983.34\n2011-02-02,5957.82,6020.46,5957.82,6000.07\n2011-02-01,5862.94,5963.72,5862.94,5957.82\n2011-01-31,5881.37,5881.72,5815.44,5862.94\n2011-01-28,5965.08,5965.84,5877.88,5881.37\n2011-01-27,5969.21,5997.33,5950.72,5965.08\n2011-01-26,5917.71,6003.28,5917.71,5969.21\n2011-01-25,5943.85,5964.69,5904.33,5917.71\n2011-01-24,5896.25,5960.55,5887.6,5943.85\n2011-01-21,5867.91,5939.33,5867.91,5896.25\n2011-01-20,5976.7,5977.5,5867.29,5867.91\n2011-01-19,6056.43,6077.06,5974.79,5976.7\n2011-01-18,5985.7,6065.71,5985.48,6056.43\n2011-01-17,6002.07,6013.4,5975.64,5985.7\n2011-01-14,6023.88,6031.74,5948.47,6002.07\n2011-01-13,6050.72,6055.47,6005.51,6023.88\n2011-01-12,6014.03,6050.72,6013.87,6050.72\n2011-01-11,5956.3,6035.89,5956.3,6014.03\n2011-01-10,5984.33,5984.33,5939.89,5956.3\n2011-01-07,6019.51,6023.7,5973.41,5984.33\n2011-01-06,6043.86,6090.49,6004.56,6019.51\n2011-01-05,6013.87,6043.86,5964.43,6043.86\n2011-01-04,5899.94,6049.45,5899.94,6013.87\n2010-12-31,5899.94,5899.94,5899.94,5899.94\n2010-12-30,5996.36,6009.84,5969.71,5971.01\n2010-12-29,6008.92,6021.46,5976.98,5996.36\n2010-12-24,6008.92,6008.92,6008.92,6008.92\n2010-12-23,5983.49,6000.55,5982.16,5996.07\n2010-12-22,5951.8,5991.9,5936.3,5983.49\n2010-12-21,5891.61,5953.94,5891.14,5951.8\n2010-12-20,5871.75,5913.83,5865.51,5891.61\n2010-12-17,5881.12,5902.53,5857.33,5871.75\n2010-12-16,5882.18,5907.1,5862.86,5881.12\n2010-12-15,5891.21,5898.04,5858.11,5882.18\n2010-12-14,5860.75,5891.21,5847.15,5891.21\n2010-12-13,5812.95,5873.71,5812.94,5860.75\n2010-12-10,5807.96,5827.59,5794.51,5812.95\n2010-12-09,5794.53,5837.96,5794.53,5807.96\n2010-12-08,5808.45,5826.59,5774.28,5794.53\n2010-12-07,5770.28,5850.4,5769.67,5808.45\n2010-12-06,5745.32,5785.7,5728.46,5770.28\n2010-12-03,5767.56,5784.26,5720.2,5745.32\n2010-12-02,5642.5,5770.94,5642.5,5767.56\n2010-12-01,5528.27,5656.22,5528.27,5642.5\n2010-11-30,5550.95,5597.0,5519.19,5528.27\n2010-11-29,5668.7,5722.7,5550.95,5550.95\n2010-11-26,5698.93,5699.02,5599.29,5668.7\n2010-11-25,5657.1,5707.92,5654.7,5698.93\n2010-11-24,5581.28,5671.87,5573.33,5657.1\n2010-11-23,5680.83,5681.06,5581.28,5581.28\n2010-11-22,5732.83,5783.14,5668.48,5680.83\n2010-11-19,5768.71,5774.07,5684.49,5732.83\n2010-11-18,5692.56,5782.98,5692.56,5768.71\n2010-11-17,5681.9,5704.39,5659.65,5692.56\n2010-11-16,5820.41,5820.43,5680.87,5681.9\n2010-11-15,5796.87,5832.88,5755.68,5820.41\n2010-11-12,5815.23,5831.81,5711.73,5796.87\n2010-11-11,5816.94,5846.45,5792.56,5815.23\n2010-11-10,5875.19,5876.97,5796.23,5816.94\n2010-11-09,5849.96,5902.11,5847.43,5875.19\n2010-11-08,5875.35,5880.99,5841.29,5849.96\n2010-11-05,5862.79,5899.37,5834.03,5875.35\n2010-11-04,5748.97,5876.03,5748.97,5862.79\n2010-11-03,5757.43,5773.73,5730.47,5748.97\n2010-11-02,5694.62,5771.63,5690.44,5757.43\n2010-11-01,5675.16,5733.01,5667.39,5694.62\n2010-10-29,5677.89,5699.23,5647.05,5675.16\n2010-10-28,5646.02,5711.82,5645.96,5677.89\n2010-10-27,5707.3,5707.3,5630.85,5646.02\n2010-10-26,5751.98,5754.2,5677.2,5707.3\n2010-10-25,5741.37,5794.31,5741.37,5751.98\n2010-10-22,5757.86,5758.01,5724.31,5741.37\n2010-10-21,5728.93,5786.73,5698.02,5757.86\n2010-10-20,5703.89,5729.96,5680.43,5728.93\n2010-10-19,5742.52,5761.93,5690.58,5703.89\n2010-10-18,5703.37,5748.81,5670.07,5742.52\n2010-10-15,5727.21,5743.92,5665.95,5703.37\n2010-10-14,5747.35,5770.92,5712.88,5727.21\n2010-10-13,5661.59,5760.49,5661.59,5747.35\n2010-10-12,5672.4,5677.02,5597.46,5661.59\n2010-10-11,5657.61,5685.95,5655.7,5672.4\n2010-10-08,5662.13,5663.74,5606.6,5657.61\n2010-10-07,5681.39,5707.33,5650.78,5662.13\n2010-10-06,5635.76,5695.51,5635.76,5681.39\n2010-10-05,5555.97,5646.08,5550.57,5635.76\n2010-10-04,5592.9,5601.22,5550.79,5555.97\n2010-10-01,5548.62,5615.14,5547.55,5592.9\n2010-09-30,5569.27,5650.33,5539.06,5548.62\n2010-09-29,5578.44,5624.5,5544.72,5569.27\n2010-09-28,5573.42,5582.05,5506.07,5578.44\n2010-09-27,5598.48,5615.78,5569.89,5573.42\n2010-09-24,5547.08,5612.54,5516.46,5598.48\n2010-09-23,5551.91,5588.79,5471.69,5547.08\n2010-09-22,5576.19,5597.55,5516.86,5551.91\n2010-09-21,5602.54,5635.72,5576.19,5576.19\n2010-09-20,5508.45,5607.31,5508.45,5602.54\n2010-09-17,5540.14,5612.89,5508.45,5508.45\n2010-09-16,5555.56,5564.46,5533.96,5540.14\n2010-09-15,5567.41,5578.69,5535.95,5555.56\n2010-09-14,5565.53,5582.46,5541.5,5567.41\n2010-09-13,5501.64,5571.39,5501.64,5565.53\n2010-09-10,5494.16,5511.52,5475.94,5501.64\n2010-09-09,5429.74,5505.66,5412.48,5494.16\n2010-09-08,5407.82,5445.62,5361.42,5429.74\n2010-09-07,5439.19,5439.21,5381.07,5407.82\n2010-09-06,5428.15,5459.4,5428.15,5439.19\n2010-09-03,5371.04,5454.01,5371.04,5428.15\n2010-09-02,5366.41,5383.72,5346.96,5371.04\n2010-09-01,5225.22,5366.41,5225.22,5366.41\n2010-08-31,5201.56,5225.22,5129.66,5225.22\n2010-08-27,5155.84,5211.58,5121.0,5201.56\n2010-08-26,5109.4,5167.76,5109.4,5155.84\n2010-08-25,5155.95,5168.46,5070.94,5109.4\n2010-08-24,5234.84,5234.84,5109.88,5155.95\n2010-08-23,5195.28,5268.43,5186.92,5234.84\n2010-08-20,5211.29,5233.02,5160.43,5195.28\n2010-08-19,5302.87,5336.35,5205.64,5211.29\n2010-08-18,5350.55,5350.55,5296.93,5302.87\n2010-08-17,5276.1,5351.45,5276.1,5350.55\n2010-08-16,5275.44,5304.64,5228.64,5276.1\n2010-08-13,5266.06,5308.84,5225.91,5275.44\n2010-08-12,5245.21,5272.5,5210.55,5266.06\n2010-08-11,5376.41,5376.41,5245.03,5245.21\n2010-08-10,5410.52,5411.56,5348.11,5376.41\n2010-08-09,5332.39,5418.58,5332.39,5410.52\n2010-08-06,5365.78,5408.06,5307.6,5332.39\n2010-08-05,5386.16,5416.76,5356.83,5365.78\n2010-08-04,5396.48,5406.83,5318.79,5386.16\n2010-08-03,5397.11,5397.26,5353.49,5396.48\n2010-08-02,5258.02,5401.69,5258.02,5397.11\n2010-07-30,5313.95,5322.67,5245.52,5258.02\n2010-07-29,5319.68,5375.23,5313.95,5313.95\n2010-07-28,5365.67,5398.1,5314.57,5319.68\n2010-07-27,5351.12,5411.45,5351.12,5365.67\n2010-07-26,5312.62,5351.92,5301.29,5351.12\n2010-07-23,5313.81,5328.51,5272.67,5312.62\n2010-07-22,5214.64,5319.48,5180.98,5313.81\n2010-07-21,5139.46,5244.88,5139.46,5214.64\n2010-07-20,5148.28,5179.99,5090.57,5139.46\n2010-07-19,5158.85,5196.77,5111.89,5148.28\n2010-07-16,5211.29,5273.58,5153.29,5158.85\n2010-07-15,5253.52,5268.41,5187.46,5211.29\n2010-07-14,5271.02,5287.28,5205.78,5253.52\n2010-07-13,5167.02,5272.3,5167.01,5271.02\n2010-07-12,5132.94,5193.22,5128.6,5167.02\n2010-07-09,5105.45,5150.64,5098.79,5132.94\n2010-07-08,5014.82,5123.53,5014.82,5105.45\n2010-07-07,4965.0,5014.82,4891.97,5014.82\n2010-07-06,4823.53,4967.65,4823.53,4965.0\n2010-07-05,4838.09,4863.35,4821.09,4823.53\n2010-07-02,4805.75,4880.88,4805.75,4838.09\n2010-07-01,4916.87,4916.87,4790.04,4805.75\n2010-06-30,4914.22,4961.9,4898.51,4916.87\n2010-06-29,5071.68,5071.68,4899.02,4914.22\n2010-06-28,5046.47,5085.65,5024.7,5071.68\n2010-06-25,5100.23,5130.5,5031.72,5046.47\n2010-06-24,5178.52,5211.8,5090.96,5100.23\n2010-06-23,5246.98,5247.85,5165.82,5178.52\n2010-06-22,5299.11,5299.11,5210.02,5246.98\n2010-06-21,5250.84,5331.46,5250.84,5299.11\n2010-06-18,5253.89,5289.14,5239.37,5250.84\n2010-06-17,5237.92,5293.76,5233.2,5253.89\n2010-06-16,5217.82,5257.26,5209.39,5237.92\n2010-06-15,5202.13,5242.08,5149.13,5217.82\n2010-06-14,5163.68,5215.22,5163.68,5202.13\n2010-06-11,5132.5,5184.37,5116.72,5163.68\n2010-06-10,5085.86,5149.69,5030.93,5132.5\n2010-06-09,5028.15,5085.86,4998.06,5085.86\n2010-06-08,5069.06,5084.13,4984.66,5028.15\n2010-06-07,5126.0,5126.0,5040.26,5069.06\n2010-06-04,5211.18,5261.71,5102.05,5126.0\n2010-06-03,5151.32,5262.5,5151.32,5211.18\n2010-06-02,5163.3,5163.3,5072.53,5151.32\n2010-06-01,5188.43,5192.08,5063.2,5163.3\n2010-05-28,5195.17,5240.27,5186.04,5188.43\n2010-05-27,5038.08,5195.37,5038.08,5195.17\n2010-05-26,4940.68,5097.91,4940.48,5038.08\n2010-05-25,5069.61,5069.61,4898.49,4940.68\n2010-05-24,5062.93,5109.44,5021.6,5069.61\n2010-05-21,5073.13,5083.96,4957.06,5062.93\n2010-05-20,5158.08,5230.18,5000.76,5073.13\n2010-05-19,5307.34,5307.34,5158.08,5158.08\n2010-05-18,5262.54,5341.41,5262.54,5307.34\n2010-05-17,5262.85,5327.46,5231.6,5262.54\n2010-05-14,5433.73,5433.73,5245.38,5262.85\n2010-05-13,5383.45,5435.99,5381.55,5433.73\n2010-05-11,5387.42,5387.42,5257.15,5334.21\n2010-05-10,5123.02,5399.75,5123.02,5387.42\n2010-05-07,5260.99,5264.48,5045.3,5123.02\n2010-05-06,5341.93,5371.54,5251.28,5260.99\n2010-05-05,5411.11,5428.77,5304.61,5341.93\n2010-05-04,5553.29,5565.99,5398.86,5411.11\n2010-04-30,5617.84,5643.87,5540.6,5553.29\n2010-04-29,5586.61,5638.82,5579.69,5617.84\n2010-04-28,5603.52,5639.98,5533.6,5586.61\n2010-04-27,5753.85,5758.64,5603.52,5603.52\n2010-04-26,5723.65,5800.66,5723.65,5753.85\n2010-04-23,5665.33,5740.88,5665.33,5723.65\n2010-04-22,5723.43,5761.36,5652.35,5665.33\n2010-04-21,5783.69,5796.99,5721.28,5723.43\n2010-04-16,5825.01,5833.73,5726.35,5743.96\n2010-04-15,5796.25,5832.34,5778.37,5825.01\n2010-04-14,5761.66,5812.84,5761.66,5796.25\n2010-04-13,5777.65,5778.92,5741.92,5761.66\n2010-04-12,5770.98,5803.71,5755.78,5777.65\n2010-04-09,5712.7,5773.6,5712.7,5770.98\n2010-04-08,5762.06,5762.06,5684.52,5712.7\n2010-04-07,5780.35,5782.25,5753.42,5762.06\n2010-04-06,5744.89,5790.4,5744.59,5780.35\n2010-04-01,5679.64,5744.89,5679.48,5744.89\n2010-03-31,5672.32,5698.47,5646.29,5679.64\n2010-03-30,5710.66,5742.75,5662.84,5672.32\n2010-03-29,5703.02,5733.11,5684.62,5710.66\n2010-03-26,5727.65,5727.65,5695.5,5703.02\n2010-03-25,5677.88,5737.1,5673.14,5727.65\n2010-03-24,5673.63,5698.87,5636.01,5677.88\n2010-03-23,5644.54,5695.94,5644.54,5673.63\n2010-03-22,5650.12,5650.12,5583.49,5644.54\n2010-03-19,5642.62,5691.22,5633.53,5650.13\n2010-03-18,5644.63,5660.99,5619.17,5642.62\n2010-03-17,5620.43,5657.77,5620.43,5644.63\n2010-03-16,5593.85,5637.7,5593.85,5620.43\n2010-03-15,5625.65,5627.02,5588.2,5593.85\n2010-03-12,5617.26,5646.68,5612.39,5625.65\n2010-03-11,5640.57,5642.87,5594.74,5617.26\n2010-03-10,5602.3,5645.25,5585.35,5640.57\n2010-03-09,5606.72,5618.43,5563.14,5602.3\n2010-03-08,5599.76,5621.15,5579.16,5606.72\n2010-03-05,5527.16,5605.38,5527.16,5599.76\n2010-03-04,5533.21,5544.23,5501.08,5527.16\n2010-03-03,5484.06,5541.81,5465.29,5533.21\n2010-03-02,5405.94,5485.01,5403.73,5484.06\n2010-03-01,5354.52,5420.83,5354.52,5405.94\n2010-02-26,5278.22,5367.75,5278.22,5354.52\n2010-02-25,5342.92,5370.44,5259.71,5278.23\n2010-02-24,5315.09,5357.87,5298.23,5342.92\n2010-02-23,5352.07,5395.48,5302.03,5315.09\n2010-02-22,5358.17,5387.03,5348.15,5352.07\n2010-02-19,5325.09,5366.14,5281.41,5358.17\n2010-02-18,5276.64,5326.42,5261.71,5325.09\n2010-02-17,5244.06,5304.54,5244.06,5276.64\n2010-02-16,5167.47,5248.08,5167.47,5244.06\n2010-02-15,5142.45,5194.29,5142.45,5167.47\n2010-02-12,5161.48,5207.73,5117.38,5142.45\n2010-02-11,5131.99,5201.82,5114.53,5161.48\n2010-02-10,5111.84,5181.21,5105.3,5131.99\n2010-02-09,5092.33,5132.93,5084.75,5111.84\n2010-02-08,5060.92,5118.12,5033.01,5092.33\n2010-02-05,5139.31,5139.31,5033.78,5060.92\n2010-02-04,5253.15,5262.22,5123.86,5139.31\n2010-02-03,5283.31,5305.41,5237.72,5253.15\n2010-02-02,5247.41,5289.05,5208.21,5283.31\n2010-02-01,5188.52,5250.07,5163.57,5247.41\n2010-01-29,5145.74,5230.16,5145.74,5188.52\n2010-01-28,5217.47,5280.36,5145.74,5145.74\n2010-01-27,5276.85,5276.85,5192.58,5217.47\n2010-01-26,5260.31,5276.85,5215.73,5276.85\n2010-01-25,5302.99,5330.61,5252.92,5260.31\n2010-01-22,5335.1,5345.6,5253.04,5302.99\n2010-01-21,5420.8,5468.38,5331.56,5335.1\n2010-01-20,5513.14,5513.14,5404.03,5420.8\n2010-01-19,5494.39,5531.93,5431.25,5513.14\n2010-01-18,5455.37,5504.0,5454.31,5494.39\n2010-01-15,5498.2,5527.02,5450.38,5455.37\n2010-01-14,5473.48,5521.9,5473.48,5498.2\n2010-01-13,5498.71,5509.67,5450.85,5473.48\n2010-01-12,5538.07,5549.61,5459.94,5498.71\n2010-01-11,5534.24,5600.48,5527.89,5538.07\n2010-01-08,5526.72,5549.25,5494.79,5534.24\n2010-01-07,5530.04,5551.66,5499.8,5526.72\n2010-01-06,5522.5,5536.48,5497.65,5530.04\n2010-01-05,5500.34,5536.38,5480.71,5522.5\n2010-01-04,5412.88,5500.34,5410.82,5500.34\n2009-12-31,5397.86,5431.9,5390.39,5412.88\n2009-12-30,5437.61,5442.82,5390.58,5397.86\n2009-12-29,5402.41,5445.17,5402.41,5437.61\n2009-12-24,5372.38,5402.41,5367.84,5402.41\n2009-12-23,5328.66,5386.6,5328.66,5372.38\n2009-12-22,5293.99,5361.9,5293.99,5328.66\n2009-12-21,5196.81,5319.98,5196.81,5293.99\n2009-12-18,5217.61,5287.62,5196.81,5196.81\n2009-12-17,5320.26,5320.26,5217.61,5217.61\n2009-12-16,5285.77,5335.32,5283.89,5320.26\n2009-12-15,5315.34,5328.11,5250.78,5285.77\n2009-12-14,5261.57,5330.96,5261.57,5315.34\n2009-12-11,5244.37,5311.98,5244.37,5261.57\n2009-12-10,5203.89,5254.52,5194.49,5244.37\n2009-12-09,5223.13,5245.94,5175.66,5203.89\n2009-12-08,5310.66,5323.36,5206.38,5223.13\n2009-12-07,5322.36,5328.78,5250.98,5310.66\n2009-12-04,5313.0,5373.94,5272.75,5322.36\n2009-12-03,5327.39,5372.39,5311.85,5313.0\n2009-12-02,5312.17,5348.45,5283.04,5327.39\n2009-12-01,5190.68,5312.17,5190.68,5312.17\n2009-11-30,5245.73,5270.36,5190.68,5190.68\n2009-11-27,5194.13,5270.99,5103.78,5245.73\n2009-11-26,5364.81,5364.81,5189.38,5194.13\n2009-11-25,5323.96,5372.22,5323.96,5364.81\n2009-11-24,5355.5,5374.89,5309.13,5323.96\n2009-11-23,5251.41,5379.48,5251.41,5355.5\n2009-11-20,5267.7,5309.39,5224.01,5251.41\n2009-11-19,5342.13,5343.82,5254.18,5267.7\n2009-11-18,5345.93,5372.1,5331.64,5342.13\n2009-11-17,5382.67,5382.67,5337.01,5345.93\n2009-11-16,5296.38,5396.96,5296.38,5382.67\n2009-11-13,5276.5,5297.44,5251.27,5296.38\n2009-11-12,5266.75,5304.94,5254.11,5276.5\n2009-11-11,5230.55,5301.14,5230.55,5266.75\n2009-11-10,5235.18,5264.32,5221.51,5230.55\n2009-11-09,5142.72,5240.02,5142.72,5235.18\n2009-11-06,5125.64,5159.04,5077.86,5142.72\n2009-11-05,5107.14,5154.63,5036.91,5125.64\n2009-11-04,5037.21,5120.82,5037.21,5107.89\n2009-11-03,5104.5,5104.5,4985.09,5037.21\n2009-11-02,5044.55,5115.7,5022.52,5104.5\n2009-10-30,5137.72,5169.85,5024.43,5044.55\n2009-10-29,5080.42,5145.58,5042.66,5137.72\n2009-10-28,5200.97,5200.97,5074.11,5080.42\n2009-10-27,5191.74,5230.57,5181.91,5200.97\n2009-10-26,5242.57,5281.12,5166.44,5191.74\n2009-10-23,5207.36,5299.57,5207.36,5242.57\n2009-10-22,5257.85,5257.85,5166.46,5207.36\n2009-10-21,5243.4,5267.98,5174.48,5257.85\n2009-10-20,5281.54,5298.54,5243.4,5243.4\n2009-10-19,5190.24,5281.54,5190.24,5281.54\n2009-10-16,5222.95,5272.92,5176.38,5190.24\n2009-10-15,5256.1,5267.9,5218.92,5222.95\n2009-10-14,5154.15,5261.26,5154.15,5256.1\n2009-10-13,5210.17,5221.65,5154.15,5154.15\n2009-10-12,5161.87,5231.19,5161.87,5210.17\n2009-10-09,5154.64,5171.53,5130.37,5161.87\n2009-10-08,5108.9,5172.82,5108.9,5154.64\n2009-10-07,5137.98,5156.21,5104.49,5108.9\n2009-10-06,5024.33,5149.9,5024.33,5137.98\n2009-10-05,4988.7,5024.33,4976.88,5024.33\n2009-10-02,5047.81,5047.81,4954.98,4988.7\n2009-10-01,5133.9,5164.37,5043.98,5047.81\n2009-09-30,5159.72,5190.0,5092.75,5133.9\n2009-09-29,5165.7,5184.05,5136.49,5159.72\n2009-09-28,5087.72,5170.81,5050.78,5165.7\n2009-09-25,5079.27,5121.9,5079.02,5082.2\n2009-09-24,5139.37,5165.41,5073.35,5079.27\n2009-09-23,5142.6,5175.1,5126.6,5139.37\n2009-09-22,5134.36,5189.88,5134.36,5142.6\n2009-09-21,5172.89,5182.23,5107.71,5134.36\n2009-09-18,5163.95,5183.88,5147.13,5172.89\n2009-09-17,5124.13,5173.13,5124.13,5163.95\n2009-09-16,5042.13,5131.26,5042.13,5124.13\n2009-09-15,5018.85,5062.69,4996.52,5042.13\n2009-09-14,5011.47,5020.86,4953.71,5018.85\n2009-09-11,4987.68,5038.76,4987.68,5011.47\n2009-09-10,5004.3,5035.34,4956.56,4987.68\n2009-09-09,4947.34,5004.3,4928.39,5004.3\n2009-09-08,4933.18,4971.99,4926.05,4947.34\n2009-09-07,4851.7,4941.7,4851.7,4933.18\n2009-09-04,4796.75,4873.78,4796.75,4851.7\n2009-09-03,4817.55,4841.51,4788.89,4796.75\n2009-09-01,4908.9,4921.16,4819.7,4819.7\n2009-08-28,4869.35,4944.16,4869.35,4908.9\n2009-08-27,4890.58,4906.2,4855.32,4869.35\n2009-08-26,4916.8,4927.05,4872.35,4890.58\n2009-08-25,4896.23,4923.28,4858.94,4916.8\n2009-08-24,4850.89,4911.41,4850.89,4896.23\n2009-08-21,4756.58,4858.53,4735.78,4850.89\n2009-08-20,4689.67,4766.85,4689.67,4756.58\n2009-08-19,4685.78,4698.5,4625.44,4689.67\n2009-08-18,4645.01,4688.22,4645.01,4685.78\n2009-08-17,4713.97,4713.97,4610.34,4645.01\n2009-08-14,4755.46,4790.18,4699.5,4713.97\n2009-08-13,4716.76,4789.98,4716.76,4755.46\n2009-08-12,4671.34,4722.55,4631.7,4716.76\n2009-08-10,4731.56,4731.56,4688.77,4722.2\n2009-08-07,4690.53,4743.62,4632.16,4731.56\n2009-08-06,4647.13,4729.58,4647.13,4690.53\n2009-08-05,4671.37,4696.64,4630.63,4647.13\n2009-08-04,4682.46,4682.46,4627.71,4671.37\n2009-08-03,4608.36,4710.23,4595.58,4682.46\n2009-07-31,4631.61,4645.5,4599.72,4608.36\n2009-07-30,4547.53,4646.86,4547.53,4631.61\n2009-07-29,4528.84,4581.78,4512.1,4547.53\n2009-07-28,4586.13,4616.44,4520.26,4528.84\n2009-07-27,4576.61,4615.12,4553.09,4586.13\n2009-07-24,4559.8,4603.21,4536.45,4576.61\n2009-07-23,4493.73,4566.77,4472.07,4559.8\n2009-07-22,4481.17,4497.98,4449.19,4493.73\n2009-07-21,4443.62,4502.12,4437.81,4481.17\n2009-07-20,4410.9,4464.81,4396.75,4443.62\n2009-07-17,4361.84,4411.91,4361.84,4388.75\n2009-07-16,4346.46,4385.15,4329.43,4361.84\n2009-07-15,4237.68,4346.46,4237.68,4346.46\n2009-07-14,4202.13,4256.37,4198.74,4237.68\n2009-07-13,4127.17,4209.25,4096.08,4202.13\n2009-07-10,4158.66,4160.48,4123.49,4127.17\n2009-07-09,4140.23,4186.41,4140.23,4158.66\n2009-07-08,4187.0,4197.55,4130.56,4140.23\n2009-07-07,4194.91,4242.07,4184.36,4187.0\n2009-07-06,4236.28,4236.28,4172.33,4194.91\n2009-07-03,4234.27,4264.81,4221.19,4236.28\n2009-07-02,4340.71,4340.71,4230.76,4234.27\n2009-07-01,4249.21,4353.03,4249.21,4340.71\n2009-06-30,4294.03,4311.23,4230.63,4249.21\n2009-06-29,4241.01,4303.55,4235.19,4294.03\n2009-06-26,4252.57,4307.16,4216.46,4241.01\n2009-06-24,4230.02,4293.0,4218.39,4279.98\n2009-06-23,4234.05,4264.0,4214.88,4230.02\n2009-06-22,4345.93,4345.93,4234.05,4234.05\n2009-06-19,4280.86,4370.26,4279.85,4345.93\n2009-06-18,4278.46,4305.43,4239.74,4280.86\n2009-06-17,4328.57,4328.69,4254.62,4278.46\n2009-06-16,4326.01,4372.85,4321.56,4328.57\n2009-06-15,4441.95,4441.95,4319.79,4326.01\n2009-06-12,4461.87,4471.95,4427.24,4441.95\n2009-06-11,4436.75,4478.42,4409.15,4461.87\n2009-06-10,4404.79,4505.89,4404.79,4436.75\n2009-06-09,4405.22,4445.54,4387.34,4404.79\n2009-06-08,4438.56,4438.56,4370.55,4405.22\n2009-06-05,4386.94,4495.94,4386.94,4438.56\n2009-06-04,4383.42,4436.25,4359.66,4386.94\n2009-06-03,4477.02,4477.18,4359.33,4383.42\n2009-06-02,4506.19,4506.19,4435.92,4477.02\n2009-06-01,4417.94,4517.6,4417.94,4506.19\n2009-05-29,4387.54,4469.43,4387.54,4417.94\n2009-05-28,4416.23,4416.23,4341.08,4387.54\n2009-05-27,4411.72,4439.79,4390.23,4416.23\n2009-05-26,4365.29,4423.64,4294.98,4411.72\n2009-05-22,4345.47,4393.07,4335.01,4365.29\n2009-05-21,4468.41,4468.41,4325.77,4345.47\n2009-05-20,4482.25,4504.2,4445.09,4468.41\n2009-05-19,4446.45,4512.7,4445.48,4482.25\n2009-05-18,4348.11,4446.45,4307.72,4446.45\n2009-05-15,4362.58,4400.72,4317.23,4348.11\n2009-05-14,4331.37,4371.28,4295.19,4362.58\n2009-05-13,4425.54,4447.96,4328.17,4331.37\n2009-05-12,4435.5,4457.46,4397.41,4425.54\n2009-05-11,4462.09,4470.05,4401.52,4435.5\n2009-05-08,4398.68,4487.5,4398.68,4462.09\n2009-05-07,4396.49,4520.82,4380.27,4398.68\n2009-05-06,4336.94,4437.61,4317.05,4396.49\n2009-05-05,4243.22,4375.35,4243.22,4336.94\n2009-05-01,4243.71,4251.57,4210.75,4243.22\n2009-04-30,4189.59,4293.63,4189.59,4243.71\n2009-04-29,4096.4,4193.32,4089.46,4189.59\n2009-04-28,4167.01,4167.01,4058.73,4096.4\n2009-04-27,4155.99,4179.17,4088.67,4167.01\n2009-04-24,4018.23,4155.99,4018.23,4155.99\n2009-04-23,4030.66,4082.31,3999.06,4018.23\n2009-04-22,3987.46,4036.03,3948.22,4030.66\n2009-04-21,3990.86,4019.16,3897.25,3987.46\n2009-04-20,4092.8,4112.75,3962.87,3990.86\n2009-04-17,4052.98,4114.32,4043.21,4092.8\n2009-04-16,3968.4,4052.98,3963.57,4052.98\n2009-04-15,3988.99,4023.35,3941.61,3968.4\n2009-04-14,3983.71,4039.67,3939.61,3988.99\n2009-04-09,3925.52,3986.28,3911.99,3983.71\n2009-04-08,3930.52,3940.42,3876.11,3925.52\n2009-04-07,3993.54,4039.52,3909.88,3930.52\n2009-04-06,4029.67,4097.17,3959.6,3993.54\n2009-04-03,4124.97,4132.93,4015.59,4029.67\n2009-04-02,3955.61,4137.85,3955.61,4124.97\n2009-04-01,3926.14,3972.68,3838.22,3955.61\n2009-03-31,3762.91,3930.62,3762.91,3926.14\n2009-03-30,3898.85,3898.85,3762.91,3762.91\n2009-03-26,3900.25,3929.54,3877.79,3925.2\n2009-03-25,3911.46,3939.16,3852.96,3900.25\n2009-03-24,3952.81,3992.42,3878.42,3911.46\n2009-03-23,3842.85,3978.6,3842.85,3952.81\n2009-03-20,3816.93,3854.87,3777.73,3842.85\n2009-03-19,3804.99,3912.64,3793.7,3816.93\n2009-03-18,3857.1,3901.65,3768.5,3804.99\n2009-03-17,3863.99,3863.99,3793.13,3857.1\n2009-03-16,3753.68,3863.99,3753.68,3863.99\n2009-03-13,3712.06,3816.02,3712.06,3753.68\n2009-03-12,3693.81,3725.6,3616.5,3712.06\n2009-03-11,3715.23,3763.24,3652.01,3693.81\n2009-03-10,3542.4,3726.31,3516.3,3715.23\n2009-03-09,3530.73,3564.75,3460.71,3542.4\n2009-03-06,3529.86,3590.22,3492.1,3530.73\n2009-03-05,3645.87,3645.87,3526.41,3529.86\n2009-03-04,3512.09,3649.5,3512.09,3645.87\n2009-03-03,3625.83,3676.86,3497.27,3512.09\n2009-03-02,3830.09,3830.09,3625.83,3625.83\n2009-02-27,3915.64,3915.64,3760.7,3830.09\n2009-02-26,3848.98,3948.22,3848.98,3915.64\n2009-02-25,3852.6,3884.06,3803.92,3848.98\n2009-02-24,3850.73,3852.25,3772.45,3816.44\n2009-02-23,3889.06,3959.98,3844.9,3850.73\n2009-02-20,4018.37,4018.37,3877.76,3889.06\n2009-02-19,4006.83,4045.2,3983.91,4018.37\n2009-02-18,4034.13,4056.48,3938.12,4006.83\n2009-02-17,4134.75,4134.75,3995.39,4034.13\n2009-02-16,4189.59,4189.59,4127.26,4134.75\n2009-02-13,4202.24,4291.57,4168.01,4189.59\n2009-02-12,4234.26,4234.26,4135.07,4202.24\n2009-02-11,4213.08,4244.53,4182.1,4234.26\n2009-02-10,4307.61,4309.49,4210.46,4213.08\n2009-02-09,4291.87,4333.97,4244.04,4307.61\n2009-02-06,4228.93,4330.73,4225.62,4291.87\n2009-02-05,4228.6,4235.28,4133.52,4228.93\n2009-02-04,4164.46,4262.73,4160.43,4228.6\n2009-02-03,4077.78,4173.24,4043.37,4164.46\n2009-02-02,4149.64,4149.64,4036.93,4077.78\n2009-01-30,4190.11,4228.0,4125.2,4149.64\n2009-01-29,4295.2,4295.2,4147.7,4190.11\n2009-01-28,4194.41,4317.61,4194.41,4295.2\n2009-01-27,4209.01,4211.03,4130.79,4194.41\n2009-01-26,4052.47,4225.21,4039.41,4209.01\n2009-01-23,4052.23,4070.75,3956.67,4052.47\n2009-01-22,4059.88,4153.88,4046.37,4052.23\n2009-01-21,4091.4,4112.84,4001.35,4059.88\n2009-01-20,4108.47,4184.25,4060.57,4091.4\n2009-01-19,4147.06,4251.92,4032.39,4108.47\n2009-01-16,4121.11,4251.68,4121.11,4147.06\n2009-01-15,4180.64,4199.39,4090.87,4121.11\n2009-01-14,4399.15,4426.47,4115.43,4180.64\n2009-01-13,4426.19,4426.19,4321.34,4399.15\n2009-01-12,4448.54,4471.34,4402.29,4426.19\n2009-01-09,4505.37,4534.81,4431.88,4448.54\n2009-01-08,4507.51,4514.71,4410.48,4505.37\n2009-01-07,4638.92,4638.92,4477.99,4507.51\n2009-01-06,4579.64,4675.68,4562.01,4638.92\n2009-01-05,4561.79,4618.11,4520.76,4579.64\n2009-01-02,4434.17,4561.79,4430.02,4561.79\n2008-12-31,4392.68,4456.19,4392.68,4434.17\n2008-12-30,4319.35,4406.07,4319.35,4392.68\n2008-12-29,4216.59,4326.25,4216.59,4319.35\n2008-12-24,4255.98,4255.98,4205.18,4216.59\n2008-12-23,4249.16,4307.09,4244.17,4255.98\n2008-12-22,4286.93,4305.43,4219.82,4249.16\n2008-12-19,4330.66,4330.66,4200.71,4286.93\n2008-12-18,4324.19,4352.68,4282.6,4330.66\n2008-12-17,4309.08,4341.12,4231.13,4324.19\n2008-12-16,4277.56,4330.13,4246.1,4309.08\n2008-12-15,4280.35,4340.7,4238.87,4277.56\n2008-12-12,4388.69,4388.69,4201.86,4280.35\n2008-12-11,4367.28,4430.28,4307.83,4388.69\n2008-12-10,4381.26,4407.13,4329.95,4367.28\n2008-12-09,4300.06,4412.96,4232.62,4381.26\n2008-12-08,4049.37,4318.0,4049.37,4300.06\n2008-12-05,4163.61,4163.61,4002.21,4049.37\n2008-12-04,4169.96,4261.07,4090.04,4163.61\n2008-12-03,4122.86,4190.93,4042.31,4169.96\n2008-12-02,4065.49,4137.11,3973.26,4122.86\n2008-12-01,4288.01,4288.01,4038.45,4065.49\n2008-11-28,4226.1,4288.01,4192.46,4288.01\n2008-11-27,4152.69,4241.7,4152.69,4226.1\n2008-11-26,4171.25,4198.74,4050.67,4152.69\n2008-11-25,4152.96,4268.34,4069.34,4171.25\n2008-11-24,3780.96,4153.08,3780.96,4152.96\n2008-11-21,3874.99,3946.67,3734.07,3780.96\n2008-11-20,4005.68,4005.68,3812.19,3874.99\n2008-11-19,4208.55,4213.2,3999.13,4005.68\n2008-11-18,4132.16,4208.55,4033.4,4208.55\n2008-11-17,4232.97,4236.41,4110.68,4132.16\n2008-11-14,4169.21,4342.29,4169.21,4232.97\n2008-11-13,4182.02,4198.67,4079.62,4169.21\n2008-11-12,4246.69,4333.37,4134.51,4182.02\n2008-11-11,4403.92,4403.92,4231.49,4246.69\n2008-11-10,4364.96,4524.87,4364.96,4403.92\n2008-11-07,4272.41,4408.1,4263.78,4364.96\n2008-11-06,4530.73,4530.73,4260.26,4272.41\n2008-11-05,4639.5,4639.5,4495.7,4530.73\n2008-11-04,4443.28,4639.5,4404.2,4639.5\n2008-11-03,4377.34,4443.28,4348.29,4443.28\n2008-10-31,4291.65,4383.9,4195.15,4377.34\n2008-10-30,4242.54,4352.47,4200.24,4291.65\n2008-10-29,3926.38,4242.54,3926.38,4242.54\n2008-10-28,3852.59,4034.02,3847.55,3926.38\n2008-10-27,3883.36,3911.61,3665.21,3852.59\n2008-10-24,4087.83,4087.83,3715.24,3883.36\n2008-10-23,4040.89,4108.36,3927.57,4087.83\n2008-10-22,4229.73,4229.73,4031.79,4040.89\n2008-10-21,4282.67,4347.69,4212.37,4229.73\n2008-10-20,4063.01,4282.67,4063.01,4282.67\n2008-10-17,3861.39,4077.58,3861.29,4063.01\n2008-10-16,4079.59,4079.59,3808.11,3861.39\n2008-10-15,4394.21,4394.21,4051.98,4079.59\n2008-10-14,4256.9,4534.35,4256.9,4394.21\n2008-10-13,3932.06,4256.9,3932.06,4256.9\n2008-10-10,4313.8,4313.8,3873.99,3932.06\n2008-10-09,4366.69,4512.45,4274.4,4313.8\n2008-10-08,4605.22,4654.18,4245.29,4366.69\n2008-10-07,4589.19,4745.01,4517.47,4605.22\n2008-10-06,4980.25,4980.25,4549.66,4589.19\n2008-10-03,4870.34,5003.9,4832.1,4980.25\n2008-10-02,4959.59,5052.0,4862.11,4870.34\n2008-10-01,4902.45,5012.24,4891.46,4959.59\n2008-09-30,4818.77,4953.4,4671.02,4902.45\n2008-09-29,5088.47,5088.47,4818.77,4818.77\n2008-09-26,5197.02,5197.02,5057.33,5088.47\n2008-09-25,5095.57,5211.64,5060.74,5197.02\n2008-09-24,5136.12,5167.36,5087.3,5095.57\n2008-09-23,5236.26,5236.26,5076.32,5136.12\n2008-09-22,5311.33,5339.25,5236.26,5236.26\n2008-09-19,4880.0,5351.2,4857.1,5311.3\n2008-09-18,4912.4,5015.9,4860.7,4880.0\n2008-09-17,5025.6,5124.4,4903.3,4912.4\n2008-09-16,5204.2,5204.2,4961.2,5025.6\n2008-09-15,5416.7,5416.7,5124.9,5204.2\n2008-09-12,5318.4,5416.7,5318.4,5416.7\n2008-09-11,5366.2,5377.9,5258.1,5318.4\n2008-09-10,5415.6,5419.5,5327.8,5366.2\n2008-09-09,5446.3,5524.8,5386.9,5415.6\n2008-09-08,5240.7,5447.6,5240.7,5446.3\n2008-09-05,5362.1,5362.1,5227.6,5240.7\n2008-09-04,5499.7,5541.7,5362.1,5362.1\n2008-09-03,5620.7,5620.7,5492.1,5499.7\n2008-09-02,5602.8,5646.5,5574.9,5620.7\n2008-09-01,5636.6,5636.6,5573.8,5602.8\n2008-08-29,5601.2,5649.1,5587.4,5636.6\n2008-08-28,5528.1,5634.0,5496.9,5601.2\n2008-08-27,5470.7,5540.8,5434.7,5528.1\n2008-08-26,5505.6,5505.6,5369.3,5470.7\n2008-08-22,5370.2,5505.6,5368.0,5505.6\n2008-08-21,5371.8,5408.0,5311.4,5370.2\n2008-08-20,5320.4,5384.2,5320.4,5371.8\n2008-08-19,5450.2,5450.2,5317.1,5320.4\n2008-08-18,5454.8,5498.7,5425.3,5450.2\n2008-08-15,5497.4,5538.8,5432.2,5454.8\n2008-08-14,5448.6,5539.6,5445.6,5497.4\n2008-08-13,5534.5,5534.5,5437.1,5448.6\n2008-08-12,5541.8,5569.2,5491.3,5534.5\n2008-08-11,5489.2,5541.8,5477.7,5541.8\n2008-08-08,5477.5,5507.2,5410.8,5489.2\n2008-08-07,5486.1,5539.3,5450.9,5477.5\n2008-08-06,5454.5,5498.6,5440.1,5486.1\n2008-08-05,5320.2,5454.5,5299.7,5454.5\n2008-08-04,5354.7,5414.7,5310.3,5320.2\n2008-08-01,5411.9,5411.9,5321.3,5354.7\n2008-07-31,5420.7,5456.1,5371.3,5411.9\n2008-07-30,5319.2,5435.9,5319.2,5420.7\n2008-07-29,5312.6,5354.6,5261.4,5319.2\n2008-07-28,5352.6,5365.8,5308.4,5312.6\n2008-07-25,5362.3,5375.2,5291.4,5352.6\n2008-07-24,5449.9,5463.7,5345.1,5362.3\n2008-07-23,5364.1,5467.2,5364.1,5449.9\n2008-07-22,5404.3,5404.3,5282.8,5364.1\n2008-07-21,5376.4,5445.8,5334.6,5404.3\n2008-07-18,5286.3,5376.4,5216.6,5376.4\n2008-07-17,5150.6,5320.5,5150.6,5286.3\n2008-07-16,5171.9,5210.1,5071.1,5150.6\n2008-07-15,5300.4,5300.4,5119.0,5171.9\n2008-07-14,5261.6,5373.2,5261.6,5300.4\n2008-07-11,5406.8,5461.8,5261.6,5261.6\n2008-07-10,5529.6,5529.6,5392.6,5406.8\n2008-07-09,5440.5,5538.2,5440.5,5529.6\n2008-07-08,5512.7,5512.7,5358.7,5440.5\n2008-07-07,5412.8,5516.4,5400.1,5512.7\n2008-07-04,5476.6,5490.2,5394.0,5412.8\n2008-07-03,5426.3,5490.6,5358.5,5476.6\n2008-07-02,5479.9,5566.8,5426.3,5426.3\n2008-07-01,5625.9,5625.9,5466.3,5479.9\n2008-06-30,5529.9,5625.9,5520.2,5625.9\n2008-06-27,5518.2,5555.2,5470.9,5529.9\n2008-06-26,5666.1,5666.1,5518.2,5518.2\n2008-06-25,5634.7,5669.6,5634.7,5666.1\n2008-06-24,5667.2,5693.8,5581.6,5634.7\n2008-06-23,5620.8,5679.2,5603.2,5667.2\n2008-06-20,5708.4,5731.9,5597.0,5620.8\n2008-06-19,5756.9,5786.4,5707.2,5708.4\n2008-06-18,5861.9,5861.9,5735.4,5756.9\n2008-06-17,5794.6,5930.3,5794.6,5861.9\n2008-06-16,5802.8,5832.6,5759.6,5794.6\n2008-06-13,5790.5,5818.3,5719.5,5802.8\n2008-06-12,5723.3,5797.8,5719.8,5790.5\n2008-06-11,5827.3,5859.4,5708.3,5723.3\n2008-06-10,5877.6,5877.6,5813.4,5827.3\n2008-06-09,5906.8,5938.5,5869.6,5877.6\n2008-06-06,5995.3,6074.5,5906.5,5906.8\n2008-06-05,5970.1,6005.1,5941.0,5995.3\n2008-06-04,6057.7,6057.7,5933.3,5970.1\n2008-06-03,6007.6,6059.0,5993.3,6057.7\n2008-06-02,6053.5,6060.8,5978.4,6007.6\n2008-05-30,6068.1,6111.6,6044.7,6053.5\n2008-05-29,6069.6,6130.5,6041.1,6068.1\n2008-05-28,6058.5,6122.2,6052.5,6069.6\n2008-05-27,6087.3,6141.7,6048.7,6058.5\n2008-05-23,6181.6,6182.9,6087.3,6087.3\n2008-05-22,6198.1,6226.2,6159.4,6181.6\n2008-05-21,6191.6,6257.3,6183.5,6198.1\n2008-05-20,6376.5,6376.5,6191.6,6191.6\n2008-05-19,6304.3,6377.0,6302.8,6376.5\n2008-05-16,6251.8,6348.6,6251.8,6304.3\n2008-05-15,6216.0,6258.5,6168.8,6251.8\n2008-05-14,6211.9,6253.1,6167.9,6216.0\n2008-05-13,6220.6,6268.1,6142.3,6211.9\n2008-05-12,6204.7,6251.9,6184.8,6220.6\n2008-05-09,6270.8,6270.8,6167.6,6204.7\n2008-05-08,6256.5,6273.3,6217.0,6270.8\n2008-05-07,6215.2,6275.0,6214.1,6261.0\n2008-05-06,6215.5,6233.7,6155.9,6215.2\n2008-05-02,6087.3,6223.9,6087.3,6215.5\n2008-05-01,6087.3,6118.2,6066.0,6087.3\n2008-04-30,6089.4,6120.3,6035.8,6087.3\n2008-04-29,6090.4,6133.5,6051.6,6089.4\n2008-04-28,6091.4,6134.5,6083.5,6090.4\n2008-04-25,6050.7,6098.8,6045.5,6091.4\n2008-04-24,6083.6,6083.6,5951.9,6050.7\n2008-04-23,6034.7,6083.6,5978.8,6083.6\n2008-04-22,6053.0,6072.0,6007.5,6034.7\n2008-04-21,6056.5,6089.5,6021.2,6053.0\n2008-04-18,5980.4,6062.1,5974.3,6056.5\n2008-04-17,6046.2,6086.4,5973.9,5980.4\n2008-04-16,5906.9,6046.2,5906.9,6046.2\n2008-04-15,5831.6,5943.3,5831.6,5906.9\n2008-04-14,5895.5,5895.5,5827.0,5831.6\n2008-04-11,5965.1,6016.3,5866.1,5895.5\n2008-04-10,5983.9,6003.2,5881.9,5965.1\n2008-04-09,5990.2,6015.6,5947.2,5983.9\n2008-04-08,6014.8,6014.8,5942.2,5990.2\n2008-04-07,5947.1,6014.8,5947.1,6014.8\n2008-04-04,5891.3,5948.0,5888.0,5947.1\n2008-04-03,5915.9,5935.2,5864.0,5891.3\n2008-04-02,5852.6,5920.1,5827.2,5915.9\n2008-04-01,5702.1,5865.8,5670.4,5852.6\n2008-03-31,5692.9,5715.1,5585.6,5702.1\n2008-03-28,5717.5,5747.2,5673.7,5692.9\n2008-03-27,5660.4,5735.0,5650.9,5717.5\n2008-03-26,5689.1,5689.1,5639.1,5660.4\n2008-03-25,5495.2,5704.3,5495.2,5689.1\n2008-03-20,5545.6,5545.6,5461.9,5495.2\n2008-03-19,5605.8,5653.6,5524.8,5545.6\n2008-03-18,5414.4,5610.0,5414.4,5605.8\n2008-03-17,5631.7,5631.7,5414.4,5414.4\n2008-03-14,5692.4,5782.0,5595.8,5631.7\n2008-03-13,5776.4,5776.4,5628.9,5692.4\n2008-03-12,5690.4,5812.7,5690.4,5776.4\n2008-03-11,5629.1,5783.4,5629.1,5690.4\n2008-03-10,5699.9,5718.8,5616.6,5629.1\n2008-03-07,5766.4,5766.4,5655.7,5699.9\n2008-03-06,5853.5,5871.1,5753.1,5766.4\n2008-03-05,5767.7,5860.5,5763.9,5853.5\n2008-03-04,5818.6,5872.9,5719.8,5767.7\n2008-03-03,5884.3,5884.3,5770.1,5818.6\n2008-02-29,5965.7,5986.2,5859.3,5884.3\n2008-02-28,6076.5,6090.8,5960.3,5965.7\n2008-02-27,6087.4,6104.5,5989.0,6076.5\n2008-02-26,5999.5,6092.5,5991.6,6087.4\n2008-02-25,5888.5,6011.7,5888.5,5999.5\n2008-02-22,5932.2,5970.9,5863.8,5888.5\n2008-02-21,5893.6,6004.4,5893.6,5932.2\n2008-02-20,5966.9,5966.9,5847.4,5893.6\n2008-02-19,5946.6,6033.7,5884.8,5966.9\n2008-02-18,5787.6,5951.9,5787.6,5946.6\n2008-02-15,5879.3,5915.0,5763.5,5787.6\n2008-02-14,5880.1,5938.5,5859.4,5879.3\n2008-02-13,5910.0,5915.0,5814.8,5880.1\n2008-02-12,5707.7,5910.0,5707.7,5910.0\n2008-02-11,5784.0,5789.6,5681.5,5707.7\n2008-02-08,5724.1,5805.3,5703.1,5784.0\n2008-02-07,5875.4,5875.4,5708.8,5724.1\n2008-02-06,5868.0,5892.6,5816.4,5875.4\n2008-02-05,6026.2,6026.2,5852.8,5868.0\n2008-02-04,6029.2,6071.3,6000.2,6026.2\n2008-02-01,5879.8,6044.9,5879.8,6029.2\n2008-01-31,5837.3,5899.5,5689.4,5879.8\n2008-01-30,5885.2,5885.2,5818.6,5837.3\n2008-01-29,5788.9,5885.2,5788.9,5885.2\n2008-01-28,5869.0,5869.0,5705.1,5788.9\n2008-01-25,5875.8,5973.3,5848.5,5869.0\n2008-01-24,5609.3,5882.3,5609.3,5875.8\n2008-01-23,5740.1,5844.9,5518.3,5609.3\n2008-01-22,5578.2,5764.0,5338.7,5740.1\n2008-01-21,5901.7,5901.7,5571.0,5578.2\n2008-01-18,5902.4,6030.9,5856.8,5901.7\n2008-01-17,5942.9,6028.4,5895.4,5902.4\n2008-01-16,6025.6,6031.5,5908.5,5942.9\n2008-01-15,6215.7,6215.7,6025.6,6025.6\n2008-01-14,6202.0,6247.3,6173.0,6215.7\n2008-01-11,6222.7,6251.8,6147.0,6202.0\n2008-01-10,6272.7,6314.5,6213.0,6222.7\n2008-01-09,6356.5,6356.5,6241.8,6272.7\n2008-01-08,6335.7,6399.6,6335.7,6356.5\n2008-01-07,6348.5,6376.5,6275.2,6335.7\n2008-01-04,6479.4,6534.7,6333.2,6348.5\n2008-01-03,6416.7,6487.8,6394.6,6479.4\n2008-01-02,6456.9,6512.3,6402.6,6416.7\n2007-12-31,6476.9,6480.2,6432.8,6456.9\n2007-12-28,6497.8,6497.8,6436.8,6476.9\n2007-12-27,6479.3,6504.7,6468.7,6497.8\n2007-12-24,6434.1,6485.6,6431.2,6479.3\n2007-12-21,6345.6,6451.8,6345.6,6434.1\n2007-12-20,6284.5,6367.7,6284.5,6345.6\n2007-12-19,6279.3,6319.1,6251.8,6284.5\n2007-12-18,6277.8,6344.3,6254.5,6279.3\n2007-12-17,6397.0,6397.0,6264.3,6277.8\n2007-12-14,6364.2,6426.2,6336.7,6397.0\n2007-12-13,6559.8,6559.8,6364.2,6364.2\n2007-12-12,6536.9,6610.9,6429.5,6559.8\n2007-12-11,6565.4,6597.5,6513.4,6536.9\n2007-12-10,6554.9,6596.7,6523.7,6565.4\n2007-12-07,6485.6,6577.8,6485.6,6554.9\n2007-12-06,6493.8,6591.8,6437.8,6485.6\n2007-12-05,6315.2,6493.8,6315.2,6493.8\n2007-12-04,6386.6,6398.2,6289.3,6315.2\n2007-12-03,6432.5,6456.1,6379.9,6386.6\n2007-11-30,6349.1,6455.8,6334.0,6432.5\n2007-11-29,6306.2,6363.5,6273.4,6349.1\n2007-11-28,6140.7,6307.4,6109.6,6306.2\n2007-11-27,6180.5,6197.1,6061.8,6140.7\n2007-11-26,6262.1,6307.8,6180.5,6180.5\n2007-11-23,6155.3,6262.1,6153.6,6262.1\n2007-11-22,6070.9,6155.3,6026.9,6155.3\n2007-11-21,6226.5,6226.5,6041.8,6070.9\n2007-11-20,6120.8,6227.7,6078.7,6226.5\n2007-11-19,6291.2,6331.7,6120.8,6120.8\n2007-11-16,6359.6,6359.6,6283.9,6291.2\n2007-11-15,6432.1,6465.4,6335.5,6359.6\n2007-11-14,6362.4,6460.8,6362.4,6432.1\n2007-11-13,6337.9,6387.4,6279.7,6362.4\n2007-11-12,6304.9,6365.2,6268.6,6337.9\n2007-11-09,6381.9,6442.9,6268.9,6304.9\n2007-11-08,6385.1,6432.3,6290.3,6381.9\n2007-11-07,6474.9,6519.2,6381.3,6385.1\n2007-11-06,6461.4,6512.1,6456.4,6474.9\n2007-11-05,6530.6,6530.6,6420.4,6461.4\n2007-11-02,6586.1,6586.1,6483.4,6530.6\n2007-11-01,6721.6,6723.7,6549.7,6586.1\n2007-10-31,6659.0,6721.6,6636.9,6721.6\n2007-10-30,6706.0,6706.0,6653.8,6659.0\n2007-10-29,6661.3,6726.9,6661.3,6706.0\n2007-10-26,6576.3,6684.1,6567.1,6661.3\n2007-10-25,6482.0,6587.6,6482.0,6576.3\n2007-10-24,6514.0,6550.9,6460.9,6482.0\n2007-10-23,6459.3,6562.7,6459.3,6514.0\n2007-10-22,6527.9,6527.9,6413.4,6459.3\n2007-10-19,6609.4,6615.8,6523.6,6527.9\n2007-10-18,6677.7,6722.0,6584.9,6609.4\n2007-10-17,6614.3,6690.5,6594.9,6677.7\n2007-10-16,6644.5,6644.5,6596.3,6614.3\n2007-10-15,6730.7,6751.7,6632.1,6644.5\n2007-10-12,6724.5,6730.7,6660.0,6730.7\n2007-10-11,6633.0,6730.1,6633.0,6724.5\n2007-10-10,6615.4,6633.0,6587.7,6633.0\n2007-10-09,6540.9,6625.3,6527.5,6615.4\n2007-10-08,6595.8,6605.6,6540.9,6540.9\n2007-10-05,6547.9,6605.1,6547.9,6595.8\n2007-10-04,6535.2,6593.3,6507.2,6547.9\n2007-10-03,6500.4,6542.8,6495.0,6535.2\n2007-10-02,6506.2,6567.0,6489.6,6500.4\n2007-10-01,6466.8,6514.5,6419.2,6506.2\n2007-09-28,6486.4,6500.4,6411.8,6466.8\n2007-09-27,6433.0,6508.0,6433.0,6486.4\n2007-09-26,6396.9,6484.4,6396.9,6433.0\n2007-09-25,6465.9,6465.9,6367.0,6396.9\n2007-09-24,6456.7,6494.2,6437.3,6465.9\n2007-09-21,6429.0,6481.6,6409.9,6456.7\n2007-09-20,6460.0,6460.0,6395.1,6429.0\n2007-09-19,6283.3,6512.4,6283.3,6460.0\n2007-09-18,6182.8,6298.5,6158.8,6283.3\n2007-09-17,6289.3,6289.3,6168.0,6182.8\n2007-09-14,6363.9,6363.9,6209.1,6289.3\n2007-09-13,6306.2,6374.5,6280.2,6363.9\n2007-09-12,6280.7,6317.1,6232.0,6306.2\n2007-09-11,6134.1,6280.7,6134.1,6280.7\n2007-09-10,6191.2,6232.1,6123.1,6134.1\n2007-09-07,6313.3,6342.7,6179.1,6191.2\n2007-09-06,6270.7,6327.3,6217.5,6313.3\n2007-09-05,6376.8,6390.5,6264.5,6270.7\n2007-09-04,6315.2,6378.0,6274.9,6376.8\n2007-09-03,6303.3,6334.4,6303.2,6315.2\n2007-08-31,6212.0,6309.5,6212.0,6303.3\n2007-08-30,6132.2,6220.8,6122.5,6212.0\n2007-08-29,6102.2,6137.9,6056.5,6132.2\n2007-08-28,6220.1,6220.1,6083.9,6102.2\n2007-08-24,6196.9,6232.2,6182.4,6220.1\n2007-08-23,6196.0,6287.2,6194.4,6196.9\n2007-08-22,6086.1,6196.6,6086.1,6196.0\n2007-08-21,6078.7,6118.9,6031.8,6086.1\n2007-08-20,6064.2,6163.4,6064.2,6078.7\n2007-08-17,5858.9,6134.0,5821.7,6064.2\n2007-08-16,6109.3,6109.3,5858.9,5858.9\n2007-08-15,6143.5,6143.5,6041.7,6109.3\n2007-08-14,6219.0,6264.9,6132.2,6143.5\n2007-08-13,6038.3,6237.8,6038.3,6219.0\n2007-08-10,6271.2,6271.2,6038.3,6038.3\n2007-08-09,6393.9,6393.9,6228.0,6271.2\n2007-08-08,6308.8,6406.3,6308.8,6393.9\n2007-08-07,6189.1,6308.8,6189.1,6308.8\n2007-08-06,6224.3,6245.9,6161.5,6189.1\n2007-08-03,6300.3,6333.5,6212.2,6224.3\n2007-08-02,6250.6,6319.3,6250.6,6300.3\n2007-08-01,6360.1,6360.1,6187.2,6250.6\n2007-07-31,6206.1,6361.1,6206.1,6360.1\n2007-07-30,6215.2,6256.5,6186.2,6206.1\n2007-07-27,6251.2,6315.2,6192.3,6215.2\n2007-07-26,6454.3,6474.7,6251.2,6251.2\n2007-07-25,6498.7,6533.6,6436.7,6454.3\n2007-07-24,6624.4,6624.4,6498.7,6498.7\n2007-07-23,6585.2,6624.4,6583.5,6624.4\n2007-07-20,6640.2,6674.3,6580.0,6585.2\n2007-07-19,6567.1,6658.8,6567.1,6640.2\n2007-07-18,6659.1,6659.1,6567.1,6567.1\n2007-07-17,6697.7,6698.5,6628.1,6659.1\n2007-07-16,6716.7,6735.8,6679.2,6697.7\n2007-07-13,6697.7,6754.1,6697.7,6716.7\n2007-07-12,6615.1,6697.7,6594.7,6697.7\n2007-07-11,6630.9,6630.9,6574.2,6615.1\n2007-07-10,6712.7,6734.3,6620.5,6630.9\n2007-07-09,6690.1,6725.9,6690.1,6712.7\n2007-07-06,6635.2,6690.4,6635.2,6690.1\n2007-07-05,6673.1,6691.8,6625.8,6635.2\n2007-07-04,6639.8,6682.9,6639.8,6673.1\n2007-07-03,6590.6,6645.3,6590.6,6639.8\n2007-07-02,6607.9,6612.8,6570.5,6590.6\n2007-06-29,6571.3,6607.9,6519.6,6607.9\n2007-06-28,6527.6,6575.5,6527.6,6571.3\n2007-06-27,6559.3,6559.3,6496.4,6527.6\n2007-06-26,6588.4,6593.5,6539.9,6559.3\n2007-06-25,6567.4,6591.4,6522.3,6588.4\n2007-06-22,6596.0,6612.3,6562.2,6567.4\n2007-06-21,6649.3,6649.3,6563.9,6596.0\n2007-06-20,6650.2,6692.6,6647.6,6649.3\n2007-06-19,6703.5,6721.4,6650.2,6650.2\n2007-06-18,6732.4,6751.3,6696.8,6703.5\n2007-06-15,6649.9,6734.2,6649.9,6732.4\n2007-06-14,6559.6,6654.3,6559.6,6649.9\n2007-06-13,6520.4,6567.3,6483.6,6559.6\n2007-06-12,6567.5,6586.6,6513.7,6520.4\n2007-06-11,6505.1,6567.5,6505.1,6567.5\n2007-06-08,6505.1,6519.4,6451.4,6505.1\n2007-06-07,6522.7,6574.9,6478.0,6505.1\n2007-06-06,6632.8,6636.9,6511.7,6522.7\n2007-06-05,6664.1,6686.6,6625.7,6632.8\n2007-06-04,6676.7,6686.1,6641.2,6664.1\n2007-06-01,6621.4,6676.7,6621.3,6676.7\n2007-05-31,6602.1,6650.2,6602.1,6621.4\n2007-05-30,6606.5,6606.5,6533.5,6602.1\n2007-05-29,6570.5,6613.4,6570.5,6606.5\n2007-05-25,6565.4,6575.2,6532.5,6570.5\n2007-05-24,6616.4,6619.5,6560.5,6565.4\n2007-05-23,6606.6,6643.8,6602.5,6616.4\n2007-05-22,6636.8,6641.9,6594.6,6606.6\n2007-05-21,6640.9,6675.0,6619.4,6636.8\n2007-05-18,6579.3,6656.3,6579.1,6640.9\n2007-05-17,6559.5,6588.7,6553.6,6579.3\n2007-05-16,6568.6,6578.6,6539.4,6559.5\n2007-05-15,6555.5,6579.0,6532.9,6568.6\n2007-05-14,6565.7,6596.3,6530.3,6555.5\n2007-05-11,6524.1,6577.0,6451.9,6565.7\n2007-05-10,6549.6,6565.1,6515.0,6524.1\n2007-05-09,6550.4,6592.4,6529.0,6549.6\n2007-05-08,6603.7,6603.7,6537.5,6550.4\n2007-05-04,6537.8,6614.7,6537.8,6603.7\n2007-05-03,6484.5,6542.5,6484.5,6537.8\n2007-05-02,6419.6,6489.0,6419.6,6484.5\n2007-05-01,6449.2,6449.2,6395.5,6419.6\n2007-04-30,6418.7,6474.7,6410.5,6449.2\n2007-04-27,6469.4,6469.4,6410.6,6418.7\n2007-04-26,6461.9,6511.1,6443.7,6469.4\n2007-04-25,6429.5,6479.0,6429.5,6461.9\n2007-04-24,6479.7,6493.1,6408.4,6429.5\n2007-04-23,6486.8,6504.5,6466.1,6479.7\n2007-04-20,6440.6,6508.9,6440.6,6486.8\n2007-04-19,6449.4,6451.8,6386.2,6440.6\n2007-04-18,6497.8,6497.8,6440.8,6449.4\n2007-04-17,6516.2,6516.2,6456.4,6497.8\n2007-04-16,6462.4,6516.2,6462.4,6516.2\n2007-04-13,6416.4,6462.4,6416.4,6462.4\n2007-04-12,6413.3,6419.6,6376.4,6416.4\n2007-04-11,6417.8,6445.9,6401.9,6413.3\n2007-04-10,6397.3,6431.7,6394.3,6417.8\n2007-04-05,6364.7,6398.7,6350.3,6397.3\n2007-04-04,6366.1,6380.5,6345.9,6364.7\n2007-04-03,6315.5,6366.1,6315.5,6366.1\n2007-04-02,6308.0,6342.2,6293.9,6315.5\n2007-03-30,6324.2,6330.0,6291.1,6308.0\n2007-03-29,6267.2,6334.7,6267.2,6324.2\n2007-03-28,6292.6,6304.9,6250.1,6267.2\n2007-03-27,6291.9,6337.7,6276.8,6292.6\n2007-03-26,6339.4,6355.3,6274.1,6291.9\n2007-03-23,6318.0,6350.4,6296.6,6339.4\n2007-03-22,6256.8,6342.1,6256.8,6318.0\n2007-03-21,6220.3,6287.5,6207.7,6256.8\n2007-03-20,6189.4,6220.3,6159.4,6220.3\n2007-03-19,6130.6,6200.6,6130.6,6189.4\n2007-03-16,6133.2,6142.2,6094.7,6130.6\n2007-03-15,6000.7,6133.2,6000.7,6133.2\n2007-03-14,6161.2,6161.2,6000.7,6000.7\n2007-03-13,6233.3,6240.7,6161.2,6161.2\n2007-03-12,6245.2,6276.3,6219.3,6233.3\n2007-03-09,6227.7,6255.8,6190.3,6245.2\n2007-03-08,6156.5,6233.1,6156.5,6227.7\n2007-03-07,6138.5,6167.6,6106.1,6156.5\n2007-03-06,6058.7,6138.5,6058.7,6138.5\n2007-03-05,6116.2,6116.2,5989.6,6058.7\n2007-03-02,6116.0,6164.4,6085.6,6116.2\n2007-03-01,6171.5,6230.7,6038.9,6116.0\n2007-02-28,6286.1,6286.1,6166.2,6171.5\n2007-02-27,6434.7,6434.7,6270.5,6286.1\n2007-02-26,6401.5,6446.8,6401.5,6434.7\n2007-02-23,6380.9,6401.5,6357.1,6401.5\n2007-02-22,6357.1,6416.0,6357.1,6380.9\n2007-02-21,6412.3,6430.4,6352.1,6357.1\n2007-02-20,6444.4,6448.1,6392.4,6412.3\n2007-02-19,6419.5,6451.4,6419.5,6444.4\n2007-02-16,6433.3,6439.2,6407.3,6419.5\n2007-02-15,6421.2,6435.3,6397.2,6433.3\n2007-02-14,6381.8,6421.2,6378.6,6421.2\n2007-02-13,6353.5,6381.8,6353.5,6381.8\n2007-02-12,6382.8,6383.1,6344.7,6353.5\n2007-02-09,6346.4,6395.4,6346.4,6382.8\n2007-02-08,6369.5,6375.0,6330.1,6346.4\n2007-02-07,6346.3,6379.8,6338.2,6369.5\n2007-02-06,6317.9,6369.7,6317.9,6346.3\n2007-02-05,6310.9,6328.9,6294.7,6317.9\n2007-02-02,6282.2,6329.0,6282.2,6310.9\n2007-02-01,6203.1,6300.3,6203.1,6282.2\n2007-01-31,6242.0,6257.3,6197.5,6203.1\n2007-01-30,6239.9,6250.1,6212.5,6242.0\n2007-01-29,6228.0,6253.7,6216.0,6239.9\n2007-01-26,6269.3,6271.4,6226.4,6228.0\n2007-01-25,6314.8,6335.1,6262.1,6269.3\n2007-01-24,6227.6,6320.9,6227.6,6314.8\n2007-01-23,6218.4,6240.7,6189.2,6227.6\n2007-01-22,6237.2,6270.9,6215.8,6218.4\n2007-01-19,6210.3,6243.3,6178.0,6237.2\n2007-01-18,6204.5,6257.2,6204.5,6210.3\n2007-01-17,6215.7,6227.0,6163.5,6204.5\n2007-01-16,6263.5,6266.4,6206.4,6215.7\n2007-01-15,6239.0,6279.7,6239.0,6263.5\n2007-01-12,6230.1,6247.6,6204.3,6239.0\n2007-01-11,6160.7,6233.1,6130.2,6230.1\n2007-01-10,6196.1,6196.1,6142.0,6160.7\n2007-01-09,6194.2,6218.5,6190.4,6196.1\n2007-01-08,6220.1,6246.0,6187.0,6194.2\n2007-01-05,6287.0,6287.0,6220.1,6220.1\n2007-01-04,6319.0,6319.0,6261.0,6287.0\n2007-01-03,6310.9,6322.0,6296.0,6319.0\n2007-01-02,6220.8,6312.5,6220.8,6310.9\n2006-12-29,6240.9,6245.2,6207.6,6220.8\n2006-12-28,6245.2,6258.7,6232.3,6240.9\n2006-12-27,6190.0,6248.1,6190.0,6245.2\n2006-12-22,6183.7,6191.1,6175.5,6190.0\n2006-12-21,6198.6,6203.5,6171.2,6183.7\n2006-12-20,6203.9,6240.1,6197.9,6198.6\n2006-12-19,6247.4,6247.4,6192.0,6203.9\n2006-12-18,6260.0,6269.1,6240.1,6247.4\n2006-12-15,6228.0,6271.4,6228.0,6260.0\n2006-12-14,6192.5,6230.6,6192.5,6228.0\n2006-12-13,6156.4,6196.6,6149.4,6192.5\n2006-12-12,6159.8,6164.8,6137.8,6156.4\n2006-12-11,6152.4,6187.0,6147.1,6159.8\n2006-12-08,6131.5,6157.1,6106.6,6152.4\n2006-12-07,6090.3,6145.3,6082.8,6131.5\n2006-12-06,6086.4,6105.7,6068.1,6090.3\n2006-12-05,6050.4,6097.4,6047.1,6086.4\n2006-12-04,6021.5,6058.1,6019.4,6050.4\n2006-12-01,6048.8,6087.4,5985.2,6021.5\n2006-11-30,6084.4,6108.9,6043.9,6048.8\n2006-11-29,6025.9,6098.6,6025.9,6084.4\n2006-11-28,6050.1,6062.8,6011.8,6025.9\n2006-11-27,6122.1,6129.5,6050.1,6050.1\n2006-11-24,6140.0,6140.0,6068.1,6122.1\n2006-11-23,6160.3,6181.7,6115.1,6140.0\n2006-11-22,6202.6,6233.1,6146.3,6160.3\n2006-11-21,6204.5,6228.4,6199.7,6202.6\n2006-11-20,6192.0,6218.9,6148.3,6204.5\n2006-11-17,6254.9,6254.9,6178.9,6192.0\n2006-11-16,6229.8,6256.8,6212.1,6254.9\n2006-11-15,6186.6,6229.8,6186.6,6229.8\n2006-11-14,6194.2,6223.9,6167.3,6186.6\n2006-11-13,6208.4,6239.8,6171.9,6194.2\n2006-11-10,6231.5,6233.1,6198.6,6208.4\n2006-11-09,6239.0,6250.4,6205.1,6231.5\n2006-11-08,6244.0,6244.0,6205.7,6239.0\n2006-11-07,6224.5,6244.5,6219.7,6244.0\n2006-11-06,6148.1,6224.5,6146.5,6224.5\n2006-11-03,6149.3,6177.3,6134.0,6148.1\n2006-11-02,6149.6,6172.0,6112.9,6149.3\n2006-11-01,6129.2,6180.7,6129.2,6149.6\n2006-10-31,6126.8,6149.9,6110.9,6129.2\n2006-10-30,6160.9,6160.9,6112.9,6126.8\n2006-10-27,6184.8,6206.0,6132.7,6160.9\n2006-10-26,6214.6,6244.6,6179.7,6184.8\n2006-10-25,6182.5,6216.1,6178.8,6214.6\n2006-10-24,6166.1,6186.9,6161.3,6182.5\n2006-10-23,6155.2,6181.1,6129.1,6166.1\n2006-10-20,6156.0,6199.8,6134.3,6155.2\n2006-10-19,6150.4,6183.5,6113.1,6156.0\n2006-10-18,6108.6,6166.8,6108.6,6150.4\n2006-10-17,6172.4,6174.7,6105.8,6108.6\n2006-10-16,6157.3,6184.3,6149.3,6172.4\n2006-10-13,6121.3,6170.5,6105.3,6157.3\n2006-10-12,6073.5,6121.7,6069.0,6121.3\n2006-10-11,6072.7,6081.9,6044.7,6073.5\n2006-10-10,6030.9,6076.3,6030.2,6072.7\n2006-10-09,6001.2,6044.5,5994.8,6030.9\n2006-10-06,6004.5,6014.3,5978.1,6001.2\n2006-10-05,5966.5,6016.7,5966.5,6004.5\n2006-10-04,5937.1,5969.1,5921.5,5966.5\n2006-10-03,5957.8,5957.8,5897.3,5937.1\n2006-10-02,5960.8,5985.5,5950.9,5957.8\n2006-09-29,5971.3,6002.9,5950.1,5960.8\n2006-09-28,5930.1,5978.8,5930.1,5971.3\n2006-09-27,5873.6,5942.2,5872.8,5930.1\n2006-09-26,5798.3,5879.2,5798.3,5873.6\n2006-09-25,5822.3,5847.0,5774.5,5798.3\n2006-09-22,5896.7,5896.7,5820.4,5822.3\n2006-09-21,5866.2,5898.1,5848.5,5896.7\n2006-09-20,5831.8,5880.8,5820.9,5866.2\n2006-09-19,5890.2,5897.4,5831.8,5831.8\n2006-09-18,5877.0,5911.9,5870.4,5890.2\n2006-09-15,5877.2,5899.2,5864.8,5877.0\n2006-09-14,5892.2,5943.7,5869.0,5877.2\n2006-09-13,5895.5,5913.4,5874.5,5892.2\n2006-09-12,5850.8,5896.9,5824.2,5895.5\n2006-09-11,5879.3,5879.3,5820.0,5850.8\n2006-09-08,5858.1,5899.0,5858.1,5879.3\n2006-09-07,5929.3,5929.3,5853.3,5858.1\n2006-09-06,5981.7,5981.7,5926.2,5929.3\n2006-09-05,5986.6,5991.2,5956.3,5981.7\n2006-09-04,5949.1,5986.6,5947.7,5986.6\n2006-09-01,5906.1,5967.7,5906.1,5949.1\n2006-08-31,5929.3,5937.0,5895.0,5906.1\n2006-08-30,5888.3,5945.3,5888.2,5929.3\n2006-08-29,5878.6,5921.3,5878.6,5888.3\n2006-08-25,5869.1,5893.6,5858.6,5878.6\n2006-08-24,5860.0,5892.3,5832.5,5869.1\n2006-08-23,5902.6,5906.3,5853.8,5860.0\n2006-08-22,5915.2,5939.2,5878.4,5902.6\n2006-08-21,5903.4,5936.6,5883.8,5915.2\n2006-08-18,5900.4,5932.5,5900.2,5903.4\n2006-08-17,5896.6,5915.0,5888.8,5900.4\n2006-08-16,5897.9,5902.8,5848.7,5896.6\n2006-08-15,5870.9,5903.2,5845.0,5897.9\n2006-08-14,5820.1,5870.9,5820.1,5870.9\n2006-08-11,5823.4,5848.2,5797.0,5820.1\n2006-08-10,5860.5,5860.5,5752.6,5823.4\n2006-08-09,5818.1,5865.9,5778.2,5860.5\n2006-08-08,5828.8,5866.6,5818.1,5818.1\n2006-08-07,5889.4,5889.4,5820.9,5828.8\n2006-08-04,5838.4,5893.3,5836.5,5889.4\n2006-08-03,5932.1,5940.7,5827.1,5838.4\n2006-08-02,5880.8,5932.1,5880.8,5932.1\n2006-08-01,5928.3,5949.8,5867.4,5880.8\n2006-07-31,5974.9,5977.2,5928.3,5928.3\n2006-07-28,5929.5,5982.5,5904.7,5974.9\n2006-07-27,5877.1,5936.8,5877.1,5929.5\n2006-07-26,5851.2,5878.7,5851.2,5877.1\n2006-07-25,5833.9,5872.8,5825.8,5851.2\n2006-07-24,5719.7,5835.2,5719.7,5833.9\n2006-07-21,5770.9,5770.9,5700.7,5719.7\n2006-07-20,5778.0,5819.7,5756.4,5770.9\n2006-07-19,5681.7,5785.3,5680.8,5778.0\n2006-07-18,5701.0,5712.6,5658.3,5681.7\n2006-07-17,5707.6,5721.1,5654.6,5701.0\n2006-07-14,5765.0,5765.0,5707.6,5707.6\n2006-07-13,5860.6,5860.6,5751.9,5765.0\n2006-07-12,5857.3,5899.3,5842.7,5860.6\n2006-07-11,5896.9,5896.9,5844.0,5857.3\n2006-07-10,5888.9,5901.0,5856.5,5896.9\n2006-07-07,5890.0,5908.5,5858.4,5888.9\n2006-07-06,5826.7,5897.1,5826.7,5890.0\n2006-07-05,5883.5,5883.5,5815.7,5826.7\n2006-07-04,5884.4,5884.5,5848.3,5883.5\n2006-07-03,5833.4,5884.4,5833.4,5884.4\n2006-06-30,5791.5,5865.7,5791.5,5833.4\n2006-06-29,5678.6,5791.7,5678.6,5791.5\n2006-06-28,5652.3,5702.9,5633.8,5678.6\n2006-06-27,5681.2,5729.8,5650.0,5652.3\n2006-06-26,5692.1,5716.5,5677.5,5681.2\n2006-06-23,5684.1,5716.7,5667.8,5692.1\n2006-06-22,5665.0,5736.8,5657.2,5684.1\n2006-06-21,5658.2,5673.5,5610.8,5665.0\n2006-06-20,5626.1,5658.2,5585.0,5658.2\n2006-06-19,5597.4,5665.7,5597.4,5626.1\n2006-06-16,5619.3,5701.5,5594.3,5597.4\n2006-06-15,5506.8,5636.8,5506.8,5619.3\n2006-06-14,5519.6,5544.4,5475.6,5506.8\n2006-06-13,5620.9,5620.9,5467.4,5519.6\n2006-06-12,5655.2,5666.3,5612.3,5620.9\n2006-06-09,5562.9,5673.6,5562.9,5655.2\n2006-06-08,5706.3,5706.3,5562.9,5562.9\n2006-06-07,5669.8,5720.6,5638.5,5706.3\n2006-06-06,5762.1,5762.1,5656.6,5669.8\n2006-06-05,5764.6,5789.8,5738.9,5762.1\n2006-06-02,5749.7,5802.9,5745.7,5764.6\n2006-06-01,5723.8,5754.8,5680.6,5749.7\n2006-05-31,5652.0,5743.8,5591.5,5723.8\n2006-05-30,5791.0,5793.6,5643.3,5652.0\n2006-05-26,5677.7,5791.0,5677.7,5791.0\n2006-05-25,5587.1,5677.7,5562.0,5677.7\n2006-05-24,5678.7,5678.7,5563.5,5587.1\n2006-05-23,5532.7,5705.9,5532.7,5678.7\n2006-05-22,5657.4,5657.4,5510.5,5532.7\n2006-05-19,5671.6,5715.0,5645.4,5657.4\n2006-05-18,5675.5,5719.7,5618.7,5671.6\n2006-05-17,5846.2,5871.6,5675.5,5675.5\n2006-05-16,5841.3,5883.2,5807.1,5846.2\n2006-05-15,5912.1,5912.1,5755.4,5841.3\n2006-05-12,6042.0,6042.0,5912.1,5912.1\n2006-05-11,6083.4,6114.5,6039.9,6042.0\n2006-05-10,6105.6,6110.0,6079.6,6083.4\n2006-05-09,6067.1,6109.7,6054.6,6105.6\n2006-05-08,6091.7,6133.5,6058.8,6067.1\n2006-05-05,6036.9,6093.1,6033.9,6091.7\n2006-05-04,6010.0,6045.8,6001.1,6036.9\n2006-05-03,6082.1,6100.0,6008.7,6010.0\n2006-05-02,6023.1,6090.7,6022.3,6082.1\n2006-04-28,6060.0,6060.0,6023.1,6023.1\n2006-04-27,6104.3,6104.6,6026.2,6060.0\n2006-04-26,6086.6,6126.5,6086.6,6104.3\n2006-04-25,6098.7,6128.8,6084.6,6086.6\n2006-04-24,6132.7,6136.5,6098.7,6098.7\n2006-04-21,6081.4,6137.1,6077.9,6132.7\n2006-04-20,6089.8,6113.4,6074.2,6081.4\n2006-04-19,6044.1,6100.6,6044.1,6089.8\n2006-04-18,6029.4,6056.1,6026.1,6044.1\n2006-04-13,6000.8,6033.7,5987.2,6029.4\n2006-04-12,6016.5,6020.0,5974.5,6000.8\n2006-04-11,6067.0,6092.5,6012.9,6016.5\n2006-04-10,6026.1,6067.0,6024.3,6067.0\n2006-04-07,6045.7,6074.2,6020.6,6026.1\n2006-04-06,6044.1,6073.3,6037.6,6045.7\n2006-04-05,6004.7,6047.5,5983.5,6044.1\n2006-04-04,6024.3,6024.3,5984.3,6004.7\n2006-04-03,5964.6,6033.5,5964.6,6024.3\n2006-03-31,6015.2,6019.2,5961.4,5964.6\n2006-03-30,5959.2,6036.0,5959.2,6015.2\n2006-03-29,5935.7,5979.7,5927.2,5959.2\n2006-03-28,5972.2,6004.3,5929.7,5935.7\n2006-03-27,6036.3,6047.0,5971.4,5972.2\n2006-03-24,5990.1,6037.9,5990.1,6036.3\n2006-03-23,6007.5,6029.4,5974.8,5990.1\n2006-03-22,5991.3,6012.6,5957.8,6007.5\n2006-03-21,5991.7,5992.9,5956.7,5991.3\n2006-03-20,5999.4,6039.1,5986.9,5991.7\n2006-03-17,5993.2,6044.0,5992.8,5999.4\n2006-03-16,5965.1,5995.2,5951.0,5993.2\n2006-03-15,5950.6,5980.5,5950.6,5965.1\n2006-03-14,5952.8,5978.6,5940.7,5950.6\n2006-03-13,5907.9,5959.9,5907.9,5952.8\n2006-03-10,5855.9,5909.1,5838.2,5907.9\n2006-03-09,5812.9,5857.1,5812.9,5855.9\n2006-03-08,5857.4,5857.6,5790.9,5812.9\n2006-03-07,5897.8,5897.8,5830.7,5857.4\n2006-03-06,5858.7,5924.5,5858.7,5897.8\n2006-03-03,5833.0,5864.0,5803.8,5858.7\n2006-03-02,5844.1,5880.0,5803.7,5833.0\n2006-03-01,5791.5,5844.1,5783.9,5844.1\n2006-02-28,5875.9,5877.4,5788.7,5791.5\n2006-02-27,5860.5,5893.3,5860.5,5875.9\n2006-02-24,5836.0,5864.0,5836.0,5860.5\n2006-02-23,5872.4,5878.8,5829.4,5836.0\n2006-02-22,5857.7,5877.6,5836.8,5872.4\n2006-02-21,5863.0,5888.0,5856.9,5857.7\n2006-02-20,5846.2,5866.7,5839.4,5863.0\n2006-02-17,5828.9,5863.3,5822.4,5846.2\n2006-02-16,5791.5,5828.9,5791.5,5828.9\n2006-02-15,5792.3,5814.5,5780.9,5791.5\n2006-02-14,5793.5,5828.6,5773.7,5792.3\n2006-02-13,5764.1,5793.5,5760.3,5793.5\n2006-02-10,5808.7,5808.7,5764.1,5764.1\n2006-02-09,5725.1,5808.9,5725.1,5808.7\n2006-02-08,5746.8,5746.8,5681.9,5725.1\n2006-02-07,5772.4,5781.3,5734.7,5746.8\n2006-02-06,5759.3,5790.4,5759.3,5772.4\n2006-02-03,5747.3,5766.7,5728.2,5759.3\n2006-02-02,5801.6,5811.8,5743.0,5747.3\n2006-02-01,5760.3,5816.0,5746.2,5801.6\n2006-01-31,5779.8,5792.5,5760.3,5760.3\n2006-01-30,5786.8,5796.1,5772.7,5779.8\n2006-01-27,5722.6,5788.2,5722.6,5786.8\n2006-01-26,5704.4,5744.0,5698.5,5722.6\n2006-01-25,5633.8,5704.4,5633.8,5704.4\n2006-01-24,5660.9,5679.0,5630.4,5633.8\n2006-01-23,5672.4,5672.4,5625.0,5660.9\n2006-01-20,5693.2,5729.8,5666.5,5672.4\n2006-01-19,5663.7,5710.0,5663.7,5693.2\n2006-01-18,5699.0,5699.0,5634.8,5663.7\n2006-01-17,5740.2,5740.2,5693.1,5699.0\n2006-01-16,5711.0,5740.2,5707.2,5740.2\n2006-01-13,5735.1,5735.1,5690.9,5711.0\n2006-01-12,5731.5,5744.6,5724.9,5735.1\n2006-01-11,5688.8,5731.5,5688.8,5731.5\n2006-01-10,5731.5,5731.5,5686.1,5688.8\n2006-01-09,5731.8,5750.3,5725.9,5731.5\n2006-01-06,5691.2,5731.8,5691.2,5731.8\n2006-01-05,5714.6,5722.4,5686.4,5691.2\n2006-01-04,5681.5,5716.4,5681.5,5714.6\n2006-01-03,5618.8,5682.2,5618.8,5681.5\n2005-12-30,5638.3,5640.0,5596.8,5618.8\n2005-12-29,5622.8,5647.2,5622.8,5638.3\n2005-12-28,5595.4,5622.8,5591.9,5622.8\n2005-12-23,5597.0,5608.2,5588.0,5595.4\n2005-12-22,5587.4,5599.3,5584.8,5597.0\n2005-12-21,5547.9,5590.2,5547.9,5587.4\n2005-12-20,5539.8,5552.2,5524.7,5547.9\n2005-12-19,5531.6,5548.4,5525.7,5539.8\n2005-12-16,5495.3,5552.6,5495.3,5531.6\n2005-12-15,5521.1,5530.2,5489.3,5495.3\n2005-12-14,5507.2,5525.0,5503.5,5521.1\n2005-12-13,5501.5,5527.2,5499.2,5507.2\n2005-12-12,5525.0,5525.6,5494.2,5501.5\n2005-12-09,5531.1,5531.1,5504.4,5517.4\n2005-12-08,5528.8,5531.9,5492.8,5531.1\n2005-12-07,5538.8,5574.0,5518.4,5528.8\n2005-12-06,5510.4,5546.9,5505.9,5538.8\n2005-12-05,5528.1,5532.5,5498.3,5510.4\n2005-12-02,5486.1,5528.1,5485.0,5528.1\n2005-12-01,5423.2,5494.7,5423.2,5486.1\n2005-11-30,5491.0,5491.0,5423.2,5423.2\n2005-11-29,5477.4,5507.4,5451.3,5491.0\n2005-11-28,5523.8,5554.9,5477.4,5477.4\n2005-11-25,5511.0,5531.4,5511.0,5523.8\n2005-11-24,5531.7,5539.0,5499.5,5511.0\n2005-11-23,5517.2,5532.7,5507.1,5531.7\n2005-11-22,5497.9,5522.4,5497.9,5517.2\n2005-11-21,5498.9,5509.4,5486.2,5497.9\n2005-11-18,5460.0,5531.6,5460.0,5498.9\n2005-11-17,5430.0,5480.1,5430.0,5460.0\n2005-11-16,5439.6,5442.2,5391.7,5430.0\n2005-11-15,5470.0,5470.0,5424.6,5439.6\n2005-11-14,5465.1,5485.9,5455.6,5470.0\n2005-11-11,5423.5,5468.8,5423.5,5465.1\n2005-11-10,5439.8,5463.9,5423.5,5423.5\n2005-11-09,5460.9,5469.4,5439.0,5439.8\n2005-11-08,5460.8,5481.7,5451.1,5460.9\n2005-11-07,5423.6,5471.0,5415.5,5460.8\n2005-11-04,5431.9,5446.4,5418.0,5423.6\n2005-11-03,5358.6,5431.9,5358.6,5431.9\n2005-11-02,5344.3,5364.7,5316.0,5358.6\n2005-11-01,5317.3,5350.3,5304.9,5344.3\n2005-10-31,5213.4,5318.4,5213.4,5317.3\n2005-10-28,5182.8,5226.9,5157.6,5213.4\n2005-10-27,5227.8,5227.8,5168.2,5182.8\n2005-10-26,5182.1,5236.5,5182.1,5227.8\n2005-10-25,5207.6,5222.4,5182.1,5182.1\n2005-10-24,5142.1,5210.1,5140.1,5207.6\n2005-10-21,5164.1,5164.1,5130.9,5142.1\n2005-10-20,5167.8,5234.0,5146.7,5164.1\n2005-10-19,5263.9,5263.9,5167.8,5167.8\n2005-10-18,5286.5,5303.2,5259.6,5263.9\n2005-10-17,5275.0,5297.1,5272.5,5286.5\n2005-10-14,5265.2,5293.8,5245.6,5275.0\n2005-10-13,5342.2,5342.2,5256.3,5265.2\n2005-10-12,5380.7,5380.7,5342.2,5342.2\n2005-10-11,5374.5,5404.4,5373.9,5380.7\n2005-10-10,5362.3,5395.8,5362.3,5374.5\n2005-10-07,5372.4,5394.4,5355.7,5362.3\n2005-10-06,5427.8,5427.8,5358.1,5372.4\n2005-10-05,5494.4,5494.4,5427.8,5427.8\n2005-10-04,5501.5,5501.5,5475.2,5494.4\n2005-10-03,5477.7,5515.0,5474.9,5501.5\n2005-09-30,5478.2,5506.1,5462.6,5477.7\n2005-09-29,5494.8,5508.4,5467.1,5478.2\n2005-09-28,5447.3,5494.8,5447.3,5494.8\n2005-09-27,5453.1,5471.2,5442.7,5447.3\n2005-09-26,5413.6,5456.9,5413.6,5453.1\n2005-09-23,5385.7,5417.4,5383.6,5413.6\n2005-09-22,5369.7,5395.5,5354.3,5385.7\n2005-09-21,5416.4,5416.4,5369.7,5369.7\n2005-09-20,5429.7,5446.6,5410.9,5416.4\n2005-09-19,5407.9,5435.8,5388.3,5429.7\n2005-09-16,5383.5,5418.7,5375.3,5407.9\n2005-09-15,5347.4,5387.1,5342.5,5383.5\n2005-09-14,5338.0,5349.7,5327.1,5347.4\n2005-09-13,5375.1,5377.8,5329.3,5338.0\n2005-09-12,5359.3,5380.7,5359.3,5375.1\n2005-09-09,5340.8,5362.4,5340.3,5359.3\n2005-09-08,5365.9,5365.9,5338.4,5340.8\n2005-09-07,5359.2,5376.1,5358.0,5365.9\n2005-09-06,5337.8,5366.6,5337.8,5359.2\n2005-09-05,5326.8,5341.8,5320.6,5337.8\n2005-09-02,5328.5,5338.1,5319.6,5326.8\n2005-09-01,5296.9,5342.1,5296.9,5328.5\n2005-08-31,5255.8,5300.0,5255.8,5296.9\n2005-08-30,5228.1,5270.2,5228.1,5255.8\n2005-08-26,5255.7,5282.1,5228.1,5228.1\n2005-08-25,5275.2,5275.2,5248.8,5255.7\n2005-08-24,5300.2,5300.2,5270.0,5275.2\n2005-08-23,5318.4,5318.4,5294.8,5300.2\n2005-08-22,5312.6,5329.7,5312.6,5318.4\n2005-08-19,5269.3,5313.1,5269.3,5312.6\n2005-08-18,5292.7,5304.7,5263.7,5269.3\n2005-08-17,5322.3,5322.3,5284.1,5292.7\n2005-08-16,5344.2,5358.7,5316.1,5322.3\n2005-08-15,5345.8,5367.8,5339.4,5344.2\n2005-08-12,5358.6,5374.4,5343.5,5345.8\n2005-08-11,5377.5,5379.6,5355.1,5358.6\n2005-08-10,5363.7,5386.4,5351.2,5377.5\n2005-08-09,5344.3,5363.7,5342.7,5363.7\n2005-08-08,5314.7,5351.3,5314.7,5344.3\n2005-08-05,5315.5,5341.8,5306.7,5314.7\n2005-08-04,5332.3,5335.4,5300.0,5315.5\n2005-08-03,5327.5,5332.3,5304.0,5332.3\n2005-08-02,5290.8,5330.6,5290.8,5327.5\n2005-08-01,5299.0,5300.8,5283.1,5290.8\n2005-07-29,5270.3,5308.6,5270.3,5282.3\n2005-07-28,5263.6,5282.3,5262.3,5270.3\n2005-07-27,5256.2,5275.2,5253.5,5263.6\n2005-07-26,5270.7,5279.4,5253.9,5256.2\n2005-07-25,5241.8,5273.5,5241.8,5270.7\n2005-07-22,5221.6,5244.6,5202.7,5241.8\n2005-07-21,5215.2,5256.0,5180.2,5221.6\n2005-07-20,5201.5,5249.5,5193.5,5215.2\n2005-07-19,5214.2,5230.9,5191.0,5201.5\n2005-07-18,5230.8,5258.4,5212.0,5214.2\n2005-07-15,5259.7,5261.5,5222.6,5230.8\n2005-07-14,5245.9,5283.9,5245.9,5259.7\n2005-07-13,5217.2,5252.0,5217.2,5245.9\n2005-07-12,5242.4,5249.4,5216.2,5217.2\n2005-07-11,5232.2,5257.9,5232.2,5242.4\n2005-07-08,5158.3,5232.2,5158.3,5232.2\n2005-07-07,5229.6,5229.6,5022.1,5158.3\n2005-07-06,5190.1,5237.6,5190.1,5229.6\n2005-07-05,5184.3,5194.2,5173.8,5190.1\n2005-07-04,5161.0,5188.6,5161.0,5184.3\n2005-07-01,5113.2,5162.6,5106.6,5161.0\n2005-06-30,5109.1,5138.2,5097.1,5113.2\n2005-06-29,5090.4,5119.5,5090.2,5109.1\n2005-06-28,5043.5,5090.4,5043.5,5090.4\n2005-06-27,5079.0,5079.0,5036.9,5043.5\n2005-06-24,5114.4,5114.4,5069.1,5079.0\n2005-06-23,5099.3,5121.9,5099.1,5114.4\n2005-06-22,5082.1,5110.5,5076.6,5099.3\n2005-06-21,5072.0,5091.0,5072.0,5082.1\n2005-06-20,5077.6,5078.0,5057.9,5072.0\n2005-06-17,5045.0,5098.5,5044.6,5077.6\n2005-06-16,5019.5,5046.4,5019.5,5045.0\n2005-06-15,5046.8,5060.8,5013.4,5019.5\n2005-06-14,5050.4,5054.3,5037.5,5046.8\n2005-06-13,5030.4,5051.0,5026.1,5050.4\n2005-06-10,5009.2,5047.3,5009.2,5030.4\n2005-06-09,5003.7,5009.8,4984.2,5009.2\n2005-06-08,5025.2,5025.2,4995.1,5003.7\n2005-06-07,4980.4,5027.9,4980.4,5025.2\n2005-06-06,4999.4,5006.8,4976.2,4980.4\n2005-06-03,5005.0,5016.6,4987.2,4999.4\n2005-06-02,5011.0,5014.9,4996.5,5005.0\n2005-06-01,4964.0,5011.0,4964.0,5011.0\n2005-05-31,4986.3,4999.7,4964.0,4964.0\n2005-05-27,4994.9,5002.0,4976.6,4986.3\n2005-05-26,4971.5,5004.3,4956.8,4994.9\n2005-05-25,4982.5,4983.6,4964.1,4971.5\n2005-05-24,4989.8,4990.2,4974.2,4982.5\n2005-05-23,4971.8,4991.6,4971.8,4989.8\n2005-05-20,4962.7,4981.1,4962.7,4971.8\n2005-05-19,4949.4,4972.9,4949.4,4962.7\n2005-05-18,4898.5,4956.9,4898.5,4949.4\n2005-05-17,4884.2,4902.0,4880.7,4898.5\n2005-05-16,4886.5,4887.7,4869.0,4884.2\n2005-05-13,4893.2,4893.2,4854.2,4886.5\n2005-05-12,4875.4,4909.8,4875.4,4893.2\n2005-05-11,4892.4,4896.6,4868.2,4875.4\n2005-05-10,4910.3,4929.1,4880.2,4892.4\n2005-05-09,4918.9,4928.7,4895.1,4910.3\n2005-05-06,4902.3,4924.6,4897.6,4918.9\n2005-05-05,4882.5,4917.6,4882.5,4902.3\n2005-05-04,4861.2,4882.5,4847.9,4882.5\n2005-05-03,4801.7,4862.9,4801.7,4861.2\n2005-04-29,4790.2,4824.4,4773.7,4801.7\n2005-04-28,4789.4,4820.7,4775.5,4790.2\n2005-04-27,4845.5,4845.5,4780.6,4789.4\n2005-04-26,4864.9,4879.6,4831.5,4845.5\n2005-04-25,4849.3,4867.8,4841.3,4864.9\n2005-04-22,4819.6,4859.0,4819.6,4849.3\n2005-04-21,4822.0,4839.1,4805.5,4819.6\n2005-04-20,4855.6,4873.6,4817.8,4822.0\n2005-04-19,4827.1,4862.6,4827.1,4855.6\n2005-04-18,4891.6,4891.6,4794.8,4827.1\n2005-04-15,4945.4,4945.4,4891.6,4891.6\n2005-04-14,4954.4,4960.8,4937.0,4945.4\n2005-04-13,4946.9,4973.8,4946.9,4960.8\n2005-04-12,4971.7,4973.8,4941.1,4946.2\n2005-04-11,4982.4,4982.4,4964.0,4973.2\n2005-04-08,4979.7,4994.1,4975.0,4983.6\n2005-04-07,4947.9,4984.5,4947.9,4977.0\n2005-04-06,4947.1,4953.6,4937.4,4947.4\n2005-04-05,4898.0,4943.8,4898.0,4942.9\n2005-04-04,4914.1,4923.3,4877.0,4896.7\n2005-04-01,4899.2,4942.0,4899.2,4914.0\n2005-03-31,4915.0,4933.8,4894.4,4894.4\n2005-03-30,4905.9,4905.9,4886.5,4900.7\n2005-03-29,4924.3,4924.3,4892.8,4919.0\n2005-03-24,4906.8,4933.7,4904.5,4922.5\n2005-03-23,4937.1,4937.1,4887.2,4910.4\n2005-03-22,4933.3,4946.8,4908.5,4937.3\n2005-03-21,4926.8,4952.2,4925.3,4933.5\n2005-03-18,4927.7,4947.9,4922.1,4923.3\n2005-03-17,4945.2,4952.9,4920.0,4922.1\n2005-03-16,4994.8,4994.8,4928.1,4937.6\n2005-03-15,4977.9,5006.1,4976.3,5000.2\n2005-03-14,4981.3,4995.0,4947.9,4975.0\n2005-03-11,4968.0,4991.6,4968.0,4982.0\n2005-03-10,4992.2,4992.2,4956.8,4962.1\n2005-03-09,5011.8,5038.9,4992.9,4996.1\n2005-03-08,5029.6,5029.6,5001.9,5010.9\n2005-03-07,5032.7,5041.3,5014.5,5027.2\n2005-03-04,5016.0,5042.0,5011.7,5036.3\n2005-03-03,4993.0,5024.0,4992.9,5014.8\n2005-03-02,5000.9,5000.9,4965.9,4992.8\n2005-03-01,4968.8,5004.9,4966.9,5000.5\n2005-02-28,5005.5,5030.2,4968.4,4968.5\n2005-02-25,4972.1,5010.8,4972.8,5006.8\n2005-02-24,4990.9,5002.5,4972.1,4972.1\n2005-02-23,5030.9,5030.9,4970.8,4988.5\n2005-02-22,5061.6,5063.3,5013.2,5032.9\n2005-02-21,5063.7,5077.8,5047.5,5060.8\n2005-02-18,5057.3,5066.5,5045.5,5057.2\n2005-02-17,5055.3,5077.6,5051.8,5057.4\n2005-02-16,5050.5,5059.5,5035.5,5053.2\n2005-02-15,5041.2,5065.7,5036.1,5058.9\n2005-02-14,5044.3,5049.6,5030.5,5041.8\n2005-02-11,5000.1,5045.0,5000.1,5044.2\n2005-02-10,4989.4,5014.8,4977.3,5000.0\n2005-02-09,4996.2,5003.0,4974.5,4990.4\n2005-02-08,4978.6,4995.5,4968.7,4995.5\n2005-02-07,4950.1,4982.8,4950.1,4979.8\n2005-02-04,4916.5,4947.4,4916.5,4941.5\n2005-02-03,4914.2,4924.1,4898.4,4908.3\n2005-02-02,4912.8,4918.8,4897.5,4916.2\n2005-02-01,4854.2,4906.2,4854.2,4906.2\n2005-01-31,4847.2,4879.5,4847.2,4852.3\n2005-01-28,4857.0,4860.4,4827.3,4832.8\n2005-01-27,4850.0,4860.3,4835.0,4853.4\n2005-01-26,4843.3,4860.3,4839.0,4847.1\n2005-01-25,4809.9,4850.0,4803.7,4843.2\n2005-01-24,4796.0,4814.0,4770.1,4812.5\n2005-01-21,4801.8,4813.9,4785.6,4803.3\n2005-01-20,4812.3,4812.3,4783.3,4800.8\n2005-01-19,4823.3,4845.4,4817.5,4818.3\n2005-01-18,4847.4,4852.8,4800.8,4823.9\n2005-01-17,4827.5,4846.7,4827.5,4846.7\n2005-01-14,4800.1,4831.6,4786.5,4820.8\n2005-01-13,4784.3,4809.8,4782.5,4800.3\n2005-01-12,4816.1,4823.2,4765.4,4783.6\n2005-01-11,4841.3,4847.6,4805.0,4818.7\n2005-01-10,4857.2,4858.9,4833.4,4840.7\n2005-01-07,4824.7,4863.5,4819.8,4854.1\n2005-01-06,4806.7,4833.3,4806.7,4824.3\n2005-01-05,4827.3,4827.3,4806.0,4806.0\n2005-01-04,4809.4,4851.6,4809.4,4847.0\n2004-12-31,4818.4,4822.3,4801.1,4814.3\n2004-12-30,4819.2,4826.2,4813.5,4820.1\n2004-12-29,4788.7,4819.8,4787.4,4819.8\n2004-12-24,4787.5,4807.8,4780.9,4798.1\n2004-12-23,4777.6,4789.5,4774.9,4787.7\n2004-12-22,4746.8,4783.7,4746.8,4777.4\n2004-12-21,4737.7,4742.1,4731.4,4733.0\n2004-12-20,4710.8,4744.4,4710.6,4731.1\n2004-12-17,4738.8,4747.3,4689.6,4696.8\n2004-12-16,4740.8,4747.7,4729.7,4735.2\n2004-12-15,4724.3,4750.1,4724.3,4728.2\n2004-12-14,4741.7,4755.0,4709.7,4722.8\n2004-12-13,4688.7,4737.5,4688.7,4736.8\n2004-12-10,4695.1,4719.2,4682.2,4694.0\n2004-12-09,4704.8,4719.2,4675.0,4688.4\n2004-12-08,4701.2,4714.3,4695.6,4703.9\n2004-12-07,4720.7,4741.5,4717.3,4728.7\n2004-12-06,4732.9,4735.8,4707.1,4722.8\n2004-12-03,4752.4,4771.2,4734.8,4747.9\n2004-12-02,4741.3,4758.5,4733.3,4751.2\n2004-12-01,4703.5,4748.6,4703.1,4735.7\n2004-11-30,4754.0,4759.9,4696.8,4703.2\n2004-11-29,4740.2,4791.0,4739.5,4749.8\n2004-11-26,4749.2,4749.2,4726.1,4741.5\n2004-11-25,4720.0,4753.4,4720.0,4753.4\n2004-11-24,4744.7,4750.9,4713.6,4719.4\n2004-11-23,4733.3,4767.7,4733.3,4742.4\n2004-11-22,4756.8,4756.8,4717.4,4733.1\n2004-11-19,4804.3,4804.3,4756.5,4760.8\n2004-11-18,4805.3,4805.3,4805.3,4805.3\n2004-11-17,4770.2,4800.4,4770.2,4795.9\n2004-11-16,4805.0,4807.8,4761.5,4770.4\n2004-11-15,4805.3,4823.8,4789.0,4803.1\n2004-11-12,4784.0,4798.7,4777.4,4793.9\n2004-11-11,4735.8,4779.5,4728.7,4776.9\n2004-11-10,4718.4,4746.4,4718.4,4734.5\n2004-11-09,4716.8,4727.0,4712.0,4717.7\n2004-11-08,4739.2,4739.2,4706.4,4716.6\n2004-11-05,4730.3,4761.9,4728.0,4739.8\n2004-11-04,4714.0,4728.3,4698.2,4728.3\n2004-11-03,4704.4,4723.6,4704.4,4718.5\n2004-11-02,4686.5,4696.9,4675.6,4693.2\n2004-11-01,4637.5,4681.6,4629.6,4673.8\n2004-10-29,4642.0,4649.1,4624.2,4624.2\n2004-10-28,4647.1,4663.4,4620.0,4642.8\n2004-10-27,4583.8,4630.6,4583.8,4630.1\n2004-10-26,4575.8,4585.4,4562.0,4583.4\n2004-10-25,4615.1,4615.1,4551.6,4564.5\n2004-10-22,4616.4,4642.3,4614.2,4615.4\n2004-10-21,4616.6,4642.3,4592.2,4617.4\n2004-10-20,4645.4,4645.4,4599.3,4616.4\n2004-10-19,4627.4,4675.8,4627.4,4655.2\n2004-10-18,4622.8,4638.6,4610.9,4626.6\n2004-10-15,4626.0,4629.9,4605.8,4622.7\n2004-10-14,4634.7,4642.5,4617.0,4629.4\n2004-10-13,4654.6,4675.8,4633.4,4634.8\n2004-10-12,4688.9,4689.4,4634.4,4647.9\n2004-10-11,4698.3,4706.9,4684.1,4685.5\n2004-10-08,4694.1,4724.4,4679.7,4698.9\n2004-10-07,4712.0,4732.9,4686.0,4698.7\n2004-10-06,4710.7,4713.4,4689.2,4706.3\n2004-10-05,4682.1,4714.9,4674.6,4707.1\n2004-10-04,4676.2,4701.5,4676.0,4681.8\n2004-10-01,4571.4,4663.9,4571.4,4659.6\n2004-09-30,4591.7,4607.8,4569.1,4570.8\n2004-09-29,4570.2,4600.9,4570.2,4588.1\n2004-09-28,4535.9,4576.2,4528.1,4567.3\n2004-09-27,4577.6,4577.6,4532.0,4541.2\n2004-09-24,4563.4,4581.9,4557.2,4578.1\n2004-09-23,4591.9,4598.6,4560.7,4568.3\n2004-09-22,4607.7,4630.7,4592.3,4592.3\n2004-09-21,4578.7,4615.9,4578.7,4608.4\n2004-09-20,4590.6,4590.6,4562.0,4579.5\n2004-09-17,4551.1,4602.1,4544.4,4591.0\n2004-09-16,4551.3,4564.0,4545.1,4556.5\n2004-09-15,4548.4,4575.2,4541.9,4548.4\n2004-09-14,4558.1,4561.6,4539.0,4545.6\n2004-09-13,4545.9,4568.0,4543.3,4558.5\n2004-09-10,4540.0,4565.1,4538.9,4545.0\n2004-09-09,4554.8,4554.8,4529.6,4538.0\n2004-09-08,4562.2,4574.0,4553.6,4558.4\n2004-09-07,4565.0,4572.3,4547.3,4565.6\n2004-09-06,4548.2,4569.5,4547.1,4563.8\n2004-09-03,4523.1,4553.4,4508.3,4550.8\n2004-09-02,4509.6,4531.9,4487.5,4518.6\n2004-09-01,4460.8,4502.4,4460.8,4502.0\n2004-08-31,4478.9,4488.7,4458.8,4459.3\n2004-08-27,4453.8,4490.1,4453.6,4490.1\n2004-08-26,4412.7,4453.9,4412.7,4453.9\n2004-08-25,4413.9,4419.3,4399.8,4411.6\n2004-08-24,4404.8,4421.2,4402.4,4407.5\n2004-08-23,4374.4,4423.7,4374.4,4405.3\n2004-08-20,4361.8,4373.2,4349.5,4369.2\n2004-08-19,4359.8,4381.4,4353.2,4362.6\n2004-08-18,4351.0,4360.3,4331.6,4355.2\n2004-08-17,4349.1,4373.7,4338.6,4358.7\n2004-08-16,4301.7,4353.4,4283.0,4350.2\n2004-08-13,4326.6,4334.4,4297.0,4301.5\n2004-08-12,4317.3,4342.9,4312.9,4328.1\n2004-08-11,4356.3,4356.9,4289.6,4312.2\n2004-08-10,4314.7,4350.9,4313.1,4350.9\n2004-08-09,4340.1,4349.2,4293.5,4314.4\n2004-08-06,4411.8,4411.8,4337.9,4337.9\n2004-08-05,4416.2,4432.5,4413.4,4413.4\n2004-08-04,4429.3,4429.3,4376.8,4408.1\n2004-08-03,4422.0,4429.7,4408.1,4429.7\n2004-08-02,4410.8,4419.8,4390.9,4415.7\n2004-07-30,4418.9,4425.3,4398.0,4413.1\n2004-07-29,4357.2,4420.0,4357.2,4418.7\n2004-07-28,4341.5,4370.9,4341.5,4356.2\n2004-07-27,4289.3,4324.9,4288.8,4324.9\n2004-07-26,4324.8,4333.5,4283.2,4287.0\n2004-07-23,4321.6,4349.6,4319.8,4326.3\n2004-07-22,4363.3,4363.3,4306.3,4306.3\n2004-07-21,4343.0,4391.5,4343.0,4377.3\n2004-07-20,4321.1,4348.8,4297.5,4339.4\n2004-07-19,4339.1,4349.3,4321.1,4321.1\n2004-07-16,4344.8,4357.4,4328.3,4339.2\n2004-07-15,4372.4,4372.4,4340.7,4340.7\n2004-07-14,4357.0,4373.2,4324.5,4372.6\n2004-07-13,4367.6,4379.9,4352.6,4357.7\n2004-07-12,4387.4,4395.6,4354.3,4360.0\n2004-07-09,4380.8,4393.2,4356.8,4393.2\n2004-07-08,4353.5,4383.4,4324.1,4381.1\n2004-07-07,4379.3,4392.9,4354.7,4358.4\n2004-07-06,4404.2,4414.3,4365.3,4370.7\n2004-07-05,4410.2,4423.3,4403.3,4403.3\n2004-07-02,4427.9,4430.9,4398.3,4407.4\n2004-07-01,4471.8,4487.9,4424.7,4424.7\n2004-06-30,4512.2,4512.8,4464.1,4464.1\n2004-06-29,4518.5,4518.5,4492.1,4512.4\n2004-06-28,4492.3,4535.1,4478.5,4518.7\n2004-06-25,4494.9,4503.9,4485.2,4494.1\n2004-06-24,4497.8,4516.7,4488.7,4503.2\n2004-06-23,4469.2,4498.1,4469.2,4486.7\n2004-06-22,4501.7,4501.7,4459.8,4468.5\n2004-06-21,4507.8,4511.1,4485.1,4502.2\n2004-06-18,4491.9,4510.5,4474.4,4505.8\n2004-06-17,4489.0,4504.7,4482.0,4493.3\n2004-06-16,4458.5,4508.3,4454.8,4491.1\n2004-06-15,4436.3,4462.3,4434.5,4458.6\n2004-06-14,4484.1,4484.1,4430.3,4433.2\n2004-06-11,4487.0,4492.3,4463.0,4484.0\n2004-06-10,4485.5,4494.4,4475.8,4486.1\n2004-06-09,4505.4,4513.7,4481.2,4489.5\n2004-06-08,4495.1,4515.2,4486.9,4504.8\n2004-06-07,4459.2,4496.3,4459.2,4491.6\n2004-06-04,4435.5,4457.0,4428.3,4454.4\n2004-06-03,4425.0,4435.4,4400.7,4435.4\n2004-06-02,4426.5,4462.1,4422.8,4422.8\n2004-06-01,4447.8,4448.4,4411.4,4422.7\n2004-05-28,4460.3,4471.3,4423.1,4430.7\n2004-05-27,4435.4,4470.3,4429.0,4453.6\n2004-05-26,4449.6,4460.6,4415.3,4438.3\n2004-05-25,4424.9,4424.9,4396.6,4418.0\n2004-05-24,4431.5,4466.5,4427.3,4428.9\n2004-05-21,4428.3,4453.5,4414.4,4431.4\n2004-05-20,4470.9,4470.9,4418.8,4428.7\n2004-05-19,4418.0,4471.8,4418.0,4471.8\n2004-05-18,4415.4,4422.1,4403.9,4414.4\n2004-05-17,4431.8,4431.8,4363.0,4403.0\n2004-05-14,4452.6,4452.6,4412.3,4441.8\n2004-05-13,4415.4,4454.1,4415.4,4453.8\n2004-05-12,4445.4,4448.3,4410.0,4412.9\n2004-05-11,4405.6,4454.7,4405.6,4454.7\n2004-05-10,4498.1,4498.1,4395.2,4395.2\n2004-05-07,4520.2,4531.2,4463.2,4498.4\n2004-05-06,4568.2,4571.1,4511.7,4516.2\n2004-05-05,4545.4,4573.7,4528.6,4569.5\n2004-05-04,4501.4,4553.8,4500.9,4547.2\n2004-04-30,4519.4,4529.0,4489.7,4489.7\n2004-04-29,4524.3,4540.8,4494.6,4519.5\n2004-04-28,4575.5,4584.5,4524.5,4524.5\n2004-04-27,4578.0,4582.3,4550.2,4575.7\n2004-04-26,4568.8,4586.9,4566.3,4571.8\n2004-04-23,4575.9,4601.6,4565.3,4570.0\n2004-04-22,4539.3,4575.6,4524.5,4571.8\n2004-04-21,4551.3,4551.3,4527.2,4539.9\n2004-04-20,4548.1,4581.7,4548.1,4569.0\n2004-04-19,4536.0,4548.2,4519.8,4546.2\n2004-04-16,4505.1,4540.2,4505.1,4537.3\n2004-04-15,4485.7,4512.1,4478.3,4505.5\n2004-04-14,4513.9,4513.9,4456.2,4485.4\n2004-04-13,4511.2,4525.0,4498.3,4515.8\n2004-04-08,4475.9,4504.7,4475.9,4489.7\n2004-04-07,4471.8,4499.8,4468.7,4468.7\n2004-04-06,4484.7,4495.2,4462.0,4472.8\n2004-04-05,4466.4,4483.1,4451.4,4480.7\n2004-04-02,4412.5,4471.3,4408.0,4465.6\n2004-04-01,4397.5,4419.4,4385.1,4410.7\n2004-03-31,4412.6,4427.2,4382.8,4385.7\n2004-03-30,4411.2,4415.9,4393.5,4412.8\n2004-03-29,4358.0,4417.2,4358.0,4406.7\n2004-03-26,4376.2,4386.9,4345.0,4357.5\n2004-03-25,4316.6,4373.6,4316.6,4373.6\n2004-03-24,4324.9,4341.4,4291.3,4309.4\n2004-03-23,4336.2,4360.6,4318.5,4318.5\n2004-03-22,4415.2,4415.2,4319.5,4333.8\n2004-03-19,4419.0,4428.2,4402.5,4417.7\n2004-03-18,4457.0,4460.0,4397.9,4397.9\n2004-03-17,4429.1,4463.0,4412.8,4456.8\n2004-03-16,4414.9,4438.7,4394.6,4428.9\n2004-03-15,4468.8,4471.2,4412.9,4412.9\n2004-03-12,4443.5,4468.4,4374.5,4467.4\n2004-03-11,4543.3,4543.3,4429.2,4445.2\n2004-03-10,4541.8,4549.8,4520.6,4545.3\n2004-03-09,4542.7,4552.6,4529.2,4542.0\n2004-03-08,4547.6,4562.0,4543.5,4553.8\n2004-03-05,4559.8,4566.2,4521.5,4547.1\n2004-03-04,4524.7,4562.8,4524.7,4559.1\n2004-03-03,4539.3,4539.3,4508.1,4525.1\n2004-03-02,4556.4,4559.2,4522.7,4540.1\n2004-03-01,4493.2,4540.7,4493.2,4537.0\n2004-02-27,4522.5,4556.9,4492.2,4492.2\n2004-02-26,4506.6,4526.9,4500.5,4515.9\n2004-02-25,4491.6,4513.9,4478.7,4507.5\n2004-02-24,4522.3,4537.5,4476.7,4496.8\n2004-02-23,4522.0,4556.4,4520.7,4524.3\n2004-02-20,4513.2,4549.6,4499.2,4515.0\n2004-02-19,4444.8,4517.3,4444.8,4515.6\n2004-02-18,4461.1,4468.9,4442.9,4442.9\n2004-02-17,4408.0,4465.0,4397.3,4461.5\n2004-02-16,4412.9,4412.9,4389.9,4408.1\n2004-02-13,4379.8,4423.9,4379.8,4412.0\n2004-02-12,4396.1,4416.4,4370.2,4377.7\n2004-02-11,4407.7,4416.0,4377.3,4396.0\n2004-02-10,4432.1,4432.1,4400.8,4404.9\n2004-02-09,4404.2,4436.8,4404.2,4434.4\n2004-02-06,4394.8,4407.5,4384.1,4402.7\n2004-02-05,4398.0,4404.0,4378.4,4384.4\n2004-02-04,4389.1,4409.3,4369.1,4398.5\n2004-02-03,4391.5,4392.1,4357.4,4390.6\n2004-02-02,4396.8,4411.6,4366.9,4381.4\n2004-01-30,4420.3,4436.2,4390.7,4390.7\n2004-01-29,4466.7,4466.7,4410.2,4411.5\n2004-01-28,4446.3,4474.2,4426.8,4468.1\n2004-01-27,4447.6,4479.5,4444.8,4447.0\n2004-01-26,4469.9,4482.5,4432.9,4445.5\n2004-01-23,4479.1,4483.0,4438.6,4460.8\n2004-01-22,4528.6,4531.4,4476.8,4476.8\n2004-01-21,4500.7,4511.2,4486.9,4511.2\n2004-01-20,4518.5,4527.5,4498.5,4499.3\n2004-01-19,4487.7,4526.3,4487.7,4518.1\n2004-01-16,4457.2,4491.7,4457.2,4487.9\n2004-01-15,4459.3,4474.0,4443.3,4456.1\n2004-01-14,4438.6,4464.5,4431.1,4461.4\n2004-01-13,4448.3,4477.9,4436.6,4440.1\n2004-01-12,4466.0,4466.0,4443.4,4449.6\n2004-01-09,4495.8,4495.8,4445.1,4466.3\n2004-01-08,4480.0,4520.1,4480.0,4494.2\n2004-01-07,4505.7,4512.1,4466.2,4473.0\n2004-01-06,4513.9,4522.9,4489.9,4505.2\n2004-01-05,4510.3,4515.2,4494.9,4513.3\n2004-01-02,4477.8,4518.0,4477.8,4510.2\n2003-12-31,4471.48,4491.77,4471.48,4476.9\n2003-12-30,4457.6,4477.0,4452.8,4470.4\n2003-12-29,4443.2,4460.9,4432.8,4457.5\n2003-12-24,4441.0,4457.4,4432.9,4444.7\n2003-12-23,4437.0,4440.9,4411.5,4440.9\n2003-12-22,4412.0,4431.5,4392.4,4424.0\n2003-12-19,4400.3,4427.8,4389.0,4412.3\n2003-12-18,4354.5,4402.7,4347.7,4397.3\n2003-12-17,4333.1,4366.5,4333.1,4354.2\n2003-12-16,4336.4,4351.0,4329.0,4333.0\n2003-12-15,4376.1,4397.2,4348.0,4348.0\n2003-12-12,4334.7,4366.8,4329.8,4347.6\n2003-12-11,4335.3,4347.2,4316.2,4331.3\n2003-12-10,4379.3,4379.3,4312.5,4335.4\n2003-12-09,4360.7,4407.5,4360.7,4379.6\n2003-12-08,4367.3,4367.3,4338.3,4359.8\n2003-12-05,4377.4,4385.4,4337.7,4367.0\n2003-12-04,4391.3,4391.3,4371.5,4378.2\n2003-12-03,4374.9,4401.6,4373.0,4392.0\n2003-12-02,4411.7,4416.5,4359.9,4378.9\n2003-12-01,4350.8,4410.0,4350.8,4410.0\n2003-11-28,4363.6,4380.2,4333.2,4342.6\n2003-11-27,4380.7,4390.4,4350.7,4361.1\n2003-11-26,4388.7,4423.6,4366.7,4370.3\n2003-11-25,4382.3,4409.4,4378.1,4388.7\n2003-11-24,4320.8,4384.5,4320.8,4382.4\n2003-11-21,4305.2,4324.0,4295.6,4319.0\n2003-11-20,4336.5,4356.5,4270.5,4308.0\n2003-11-19,4334.9,4340.3,4316.1,4327.4\n2003-11-18,4339.6,4375.3,4339.6,4354.7\n2003-11-17,4390.7,4390.7,4337.3,4338.9\n2003-11-14,4375.1,4411.3,4375.1,4397.0\n2003-11-13,4377.7,4406.8,4361.2,4373.0\n2003-11-12,4343.6,4372.7,4336.2,4371.2\n2003-11-11,4337.3,4349.2,4313.5,4345.1\n2003-11-10,4371.7,4373.9,4338.6,4341.8\n2003-11-07,4325.9,4389.2,4325.9,4376.9\n2003-11-06,4306.0,4337.7,4283.4,4324.2\n2003-11-05,4327.5,4327.5,4288.1,4303.4\n2003-11-04,4329.2,4352.6,4322.4,4330.3\n2003-11-03,4287.3,4338.1,4286.1,4332.6\n2003-10-31,4290.6,4292.3,4274.0,4287.6\n2003-10-30,4266.8,4332.9,4260.3,4300.9\n2003-10-29,4278.4,4293.1,4256.2,4265.7\n2003-10-28,4264.0,4280.1,4255.6,4272.9\n2003-10-27,4246.2,4267.0,4238.1,4251.3\n2003-10-24,4239.6,4248.7,4219.0,4239.0\n2003-10-23,4277.6,4277.6,4212.5,4240.2\n2003-10-22,4353.5,4359.4,4266.1,4285.6\n2003-10-21,4350.2,4377.6,4347.1,4352.3\n2003-10-20,4336.9,4370.4,4329.4,4347.5\n2003-10-17,4343.8,4360.1,4334.5,4344.0\n2003-10-16,4359.2,4371.2,4326.4,4339.7\n2003-10-15,4341.0,4393.8,4341.0,4368.8\n2003-10-14,4372.0,4375.0,4323.9,4334.1\n2003-10-13,4362.3,4362.3,4362.3,4362.3\n2003-10-10,4311.0,4311.0,4311.0,4311.0\n2003-10-09,4272.2,4316.8,4259.2,4313.9\n2003-10-08,4268.6,4268.6,4268.6,4268.6\n2003-10-07,4272.0,4272.0,4272.0,4272.0\n2003-10-06,4270.1,4270.1,4270.1,4270.1\n2003-10-03,4274.0,4274.0,4274.0,4274.0\n2003-10-02,4172.0,4209.1,4172.0,4209.1\n2003-10-01,4169.2,4169.2,4169.2,4169.2\n2003-09-30,4091.3,4091.3,4091.3,4091.3\n2003-09-29,4142.7,4142.7,4142.7,4142.7\n2003-09-26,4157.1,4157.1,4157.1,4157.1\n2003-09-25,4225.4,4225.4,4176.5,4202.2\n2003-09-24,4236.4,4236.4,4236.4,4236.4\n2003-09-23,4221.7,4221.7,4221.7,4221.7\n2003-09-22,4228.2,4228.2,4228.2,4228.2\n2003-09-19,4257.0,4257.0,4257.0,4257.0\n2003-09-18,4314.7,4314.7,4314.7,4314.7\n2003-09-17,4293.0,4293.0,4293.0,4293.0\n2003-09-16,4299.0,4299.0,4299.0,4299.0\n2003-09-15,4260.9,4260.9,4260.9,4260.9\n2003-09-12,4247.7,4276.2,4229.6,4237.8\n2003-09-11,4242.2,4242.2,4242.2,4242.2\n2003-09-10,4252.1,4252.1,4252.1,4252.1\n2003-09-09,4263.9,4263.9,4263.9,4263.9\n2003-09-08,4292.1,4292.1,4292.1,4292.1\n2003-09-05,4257.2,4257.2,4257.2,4257.2\n2003-09-04,4262.1,4270.2,4240.7,4248.8\n2003-09-03,4204.4,4279.1,4204.4,4262.1\n2003-09-02,4204.4,4218.5,4193.3,4204.4\n2003-09-01,4161.1,4222.1,4161.1,4204.4\n2003-08-29,4198.0,4227.7,4161.1,4161.1\n2003-08-28,4206.4,4229.0,4182.5,4198.0\n2003-08-27,4177.4,4214.3,4177.4,4206.4\n2003-08-26,4225.9,4227.8,4171.6,4177.4\n2003-08-22,4223.5,4265.3,4222.0,4225.9\n2003-08-21,4217.4,4250.4,4217.1,4223.5\n2003-08-20,4250.8,4254.4,4196.5,4217.4\n2003-08-19,4272.1,4286.9,4246.3,4250.8\n2003-08-18,4247.3,4272.6,4244.6,4272.1\n2003-08-15,4237.8,4266.4,4233.5,4247.3\n2003-08-14,4180.7,4242.8,4180.7,4237.8\n2003-08-13,4185.6,4216.8,4175.1,4180.7\n2003-08-12,4176.7,4203.5,4170.9,4185.6\n2003-08-11,4147.8,4181.7,4147.8,4176.7\n2003-08-08,4095.6,4160.7,4095.6,4147.8\n2003-08-07,4070.4,4095.6,4059.7,4095.6\n2003-08-06,4121.0,4121.0,4044.9,4070.4\n2003-08-05,4100.1,4131.0,4091.1,4121.0\n2003-08-04,4098.4,4147.4,4086.2,4100.1\n2003-08-01,4157.0,4157.0,4096.7,4098.4\n2003-07-31,4141.2,4171.0,4114.1,4157.0\n2003-07-30,4137.0,4159.3,4131.7,4141.2\n2003-07-29,4148.8,4164.4,4125.0,4137.0\n2003-07-28,4131.2,4183.0,4131.2,4148.8\n2003-07-25,4149.6,4149.6,4116.3,4131.2\n2003-07-24,4086.5,4155.2,4086.5,4149.6\n2003-07-23,4079.7,4115.2,4077.9,4086.5\n2003-07-22,4044.3,4079.7,4043.5,4079.7\n2003-07-21,4073.2,4097.9,4043.8,4044.3\n2003-07-18,4056.6,4090.3,4056.6,4073.2\n2003-07-17,4077.1,4082.6,4031.9,4056.6\n2003-07-16,4102.5,4132.0,4077.1,4077.1\n2003-07-15,4127.6,4135.6,4102.5,4102.5\n2003-07-14,4058.1,4135.9,4058.1,4127.6\n2003-07-11,4028.8,4064.2,4013.7,4058.1\n2003-07-10,4054.7,4068.2,4014.5,4028.8\n2003-07-09,4073.6,4086.6,4048.6,4054.7\n2003-07-08,4074.8,4088.2,4051.4,4073.6\n2003-07-07,4021.5,4076.8,4021.1,4074.8\n2003-07-04,4024.8,4031.4,4001.3,4021.5\n2003-07-03,4006.9,4031.4,3980.3,4024.8\n2003-07-02,3963.9,4025.8,3963.9,4006.9\n2003-07-01,4031.2,4040.7,3951.5,3963.9\n2003-06-30,4067.8,4099.0,4021.6,4031.2\n2003-06-27,4041.7,4073.1,4040.8,4067.8\n2003-06-26,4067.9,4077.2,4029.2,4041.7\n2003-06-25,4060.9,4089.9,4049.8,4067.9\n2003-06-24,4087.9,4094.9,4052.4,4060.9\n2003-06-23,4160.1,4160.1,4081.3,4087.9\n2003-06-20,4131.5,4169.1,4119.0,4160.1\n2003-06-19,4207.0,4210.8,4128.7,4131.5\n2003-06-18,4190.4,4218.8,4172.8,4207.0\n2003-06-17,4152.9,4199.1,4152.9,4190.4\n2003-06-16,4134.1,4174.3,4112.4,4152.9\n2003-06-13,4161.3,4180.1,4124.9,4134.1\n2003-06-12,4150.1,4193.6,4150.0,4161.3\n2003-06-11,4113.0,4162.1,4113.0,4150.1\n2003-06-10,4129.1,4132.4,4108.6,4113.0\n2003-06-09,4150.8,4150.8,4101.1,4129.1\n2003-06-06,4104.3,4178.5,4104.3,4150.8\n2003-06-05,4126.6,4148.4,4083.1,4104.3\n2003-06-04,4115.7,4143.5,4093.1,4126.6\n2003-06-03,4129.3,4129.3,4074.4,4115.7\n2003-06-02,4048.1,4129.3,4048.1,4129.3\n2003-05-30,4083.6,4096.0,4048.1,4048.1\n2003-05-29,4071.9,4095.5,4044.4,4083.6\n2003-05-28,3992.4,4073.1,3992.4,4071.9\n2003-05-27,3979.8,4000.7,3920.2,3992.4\n2003-05-23,3990.4,4012.0,3954.0,3979.8\n2003-05-22,3936.4,3990.4,3936.4,3990.4\n2003-05-21,3971.6,3971.6,3907.8,3936.4\n2003-05-20,3941.3,3985.0,3928.4,3971.6\n2003-05-19,4049.0,4049.0,3932.5,3941.3\n2003-05-16,4011.1,4080.8,4011.1,4049.0\n2003-05-15,3975.0,4020.3,3965.6,4011.1\n2003-05-14,3999.9,4023.2,3971.7,3975.0\n2003-05-13,3987.4,4008.8,3976.1,3999.9\n2003-05-12,3969.4,3991.0,3941.1,3987.4\n2003-05-09,3928.9,3974.5,3912.8,3969.4\n2003-05-08,3992.9,3992.9,3919.5,3928.9\n2003-05-07,4006.4,4038.5,3981.7,3992.9\n2003-05-06,3952.6,4007.0,3952.6,4006.4\n2003-05-02,3880.1,3952.6,3880.1,3952.6\n2003-05-01,3926.0,3926.0,3875.3,3880.1\n2003-04-30,3927.8,3943.0,3912.3,3926.0\n2003-04-29,3940.3,3976.2,3915.0,3927.8\n2003-04-28,3870.2,3943.0,3855.5,3940.3\n2003-04-25,3899.0,3919.4,3859.9,3870.2\n2003-04-24,3966.5,3977.8,3892.2,3899.0\n2003-04-23,3917.7,3997.3,3917.7,3966.5\n2003-04-22,3889.2,3924.2,3873.9,3917.7\n2003-04-17,3854.9,3904.6,3826.1,3889.2\n2003-04-16,3916.8,3967.8,3849.5,3854.9\n2003-04-15,3849.4,3926.5,3849.4,3916.8\n2003-04-14,3808.1,3857.4,3800.7,3849.4\n2003-04-11,0.0,3808.08,3808.08,3808.08\n2003-04-10,0.0,3803.27,3803.27,3803.27\n2003-04-09,3868.8,3907.1,3824.5,3861.4\n2003-04-08,3935.8,3935.8,3868.5,3868.8\n2003-04-07,0.0,3935.82,3935.82,3935.82\n2003-04-04,0.0,3814.36,3814.36,3814.36\n2003-04-03,0.0,3771.05,3771.05,3771.05\n2003-04-02,0.0,3753.41,3753.41,3753.41\n2003-04-01,0.0,3684.78,3684.78,3684.78\n2003-03-31,0.0,3613.28,3613.28,3613.28\n2003-03-28,0.0,3708.53,3708.53,3708.53\n2003-03-27,0.0,3729.05,3729.05,3729.05\n2003-03-26,0.0,3793.12,3793.12,3793.12\n2003-03-25,0.0,3761.96,3761.96,3761.96\n2003-03-24,0.0,3743.27,3743.27,3743.27\n2003-03-21,0.0,3861.07,3861.07,3861.07\n2003-03-20,0.0,3765.66,3765.66,3765.66\n2003-03-19,0.0,3765.43,3765.43,3765.43\n2003-03-18,0.0,3747.28,3747.28,3747.28\n2003-03-17,0.0,3722.27,3722.27,3722.27\n2003-03-14,0.0,3601.83,3601.83,3601.83\n2003-03-13,0.0,3486.9,3486.9,3486.9\n2003-03-12,0.0,3287.04,3287.04,3287.04\n2003-03-11,0.0,3452.73,3452.73,3452.73\n2003-03-10,0.0,3436.05,3436.05,3436.05\n2003-03-07,0.0,3491.59,3491.59,3491.59\n2003-03-06,0.0,3555.42,3555.42,3555.42\n2003-03-05,0.0,3563.54,3563.54,3563.54\n2003-03-04,0.0,3625.34,3625.34,3625.34\n2003-03-03,0.0,3684.67,3684.67,3684.67\n2003-02-28,0.0,3655.58,3655.58,3655.58\n2003-02-27,0.0,3569.88,3569.88,3569.88\n2003-02-26,0.0,3593.29,3593.29,3593.29\n2003-02-25,0.0,3621.47,3621.47,3621.47\n2003-02-24,0.0,3701.84,3701.84,3701.84\n2003-02-21,0.0,3727.11,3727.11,3727.11\n2003-02-20,0.0,3687.25,3687.25,3687.25\n2003-02-19,0.0,3658.3,3658.3,3658.3\n2003-02-18,0.0,3729.54,3729.54,3729.54\n2003-02-17,0.0,3692.37,3692.37,3692.37\n2003-02-14,0.0,3611.9,3611.9,3611.9\n2003-02-13,0.0,3610.82,3610.82,3610.82\n2003-02-12,0.0,3616.12,3616.12,3616.12\n2003-02-11,0.0,3669.21,3669.21,3669.21\n2003-02-10,0.0,3579.07,3579.07,3579.07\n2003-02-07,0.0,3599.16,3599.16,3599.16\n2003-02-06,0.0,3597.04,3597.04,3597.04\n2003-02-05,0.0,3678.72,3678.72,3678.72\n2003-02-04,0.0,3590.09,3590.09,3590.09\n2003-02-03,0.0,3689.36,3689.36,3689.36\n2003-01-31,0.0,3567.41,3567.41,3567.41\n2003-01-30,0.0,3578.67,3578.67,3578.67\n2003-01-29,0.0,3483.79,3483.79,3483.79\n2003-01-28,0.0,3489.98,3489.98,3489.98\n2003-01-27,0.0,3480.83,3480.83,3480.83\n2003-01-24,0.0,3603.72,3603.72,3603.72\n2003-01-23,0.0,3622.16,3622.16,3622.16\n2003-01-22,0.0,3677.98,3677.98,3677.98\n2003-01-21,0.0,3736.69,3736.69,3736.69\n2003-01-20,0.0,3778.61,3778.61,3778.61\n2003-01-17,0.0,3820.57,3820.57,3820.57\n2003-01-16,0.0,3881.81,3881.81,3881.81\n2003-01-15,0.0,3887.75,3887.75,3887.75\n2003-01-14,0.0,3945.59,3945.59,3945.59\n2003-01-13,0.0,3948.27,3948.27,3948.27\n2003-01-10,0.0,3974.12,3974.12,3974.12\n2003-01-09,0.0,3933.98,3933.98,3933.98\n2003-01-08,0.0,3924.82,3924.82,3924.82\n2003-01-07,0.0,3957.39,3957.39,3957.39\n2003-01-06,0.0,4001.37,4001.37,4001.37\n2003-01-03,0.0,4004.95,4004.95,4004.95\n2003-01-02,0.0,4009.46,4009.46,4009.46\n2002-12-31,0.0,3940.36,3940.36,3940.36\n2002-12-30,0.0,3900.62,3900.62,3900.62\n2002-12-27,0.0,3829.39,3829.39,3829.39\n2002-12-24,3936.9,3957.7,3923.4,3942.1\n2002-12-23,0.0,3936.87,3936.87,3936.87\n2002-12-20,0.0,3889.86,3889.86,3889.86\n2002-12-19,0.0,3841.41,3841.41,3841.41\n2002-12-18,0.0,3835.18,3835.18,3835.18\n2002-12-17,0.0,3908.71,3908.71,3908.71\n2002-12-16,0.0,3983.97,3983.97,3983.97\n2002-12-13,0.0,3878.07,3878.07,3878.07\n2002-12-12,0.0,3935.31,3935.31,3935.31\n2002-12-11,0.0,3974.87,3974.87,3974.87\n2002-12-10,0.0,3925.0,3925.0,3925.0\n2002-12-09,0.0,3933.93,3933.93,3933.93\n2002-12-06,0.0,4013.46,4013.46,4013.46\n2002-12-05,0.0,4032.42,4032.42,4032.42\n2002-12-04,0.0,4048.6,4048.6,4048.6\n2002-12-03,0.0,4075.39,4075.39,4075.39\n2002-12-02,0.0,4154.27,4154.27,4154.27\n2002-11-29,0.0,4169.41,4169.41,4169.41\n2002-11-28,0.0,4185.4,4185.4,4185.4\n2002-11-27,0.0,4144.19,4144.19,4144.19\n2002-11-26,0.0,4070.96,4070.96,4070.96\n2002-11-25,0.0,4122.21,4122.21,4122.21\n2002-11-22,0.0,4175.23,4175.23,4175.23\n2002-11-21,0.0,4190.0,4190.0,4190.0\n2002-11-20,0.0,4094.86,4094.86,4094.86\n2002-11-19,0.0,4096.51,4096.51,4096.51\n2002-11-18,0.0,4115.99,4115.99,4115.99\n2002-11-15,0.0,4091.62,4091.62,4091.62\n2002-11-14,0.0,4053.14,4053.14,4053.14\n2002-11-13,0.0,4029.38,4029.38,4029.38\n2002-11-12,0.0,4085.05,4085.05,4085.05\n2002-11-11,0.0,4015.58,4015.58,4015.58\n2002-11-08,0.0,4034.58,4034.58,4034.58\n2002-11-07,0.0,4081.26,4081.26,4081.26\n2002-11-06,0.0,4103.72,4103.72,4103.72\n2002-11-05,0.0,4146.13,4146.13,4146.13\n2002-11-04,0.0,4141.46,4141.46,4141.46\n2002-11-01,0.0,3996.98,3996.98,3996.98\n2002-10-31,0.0,4039.66,4039.66,4039.66\n2002-10-30,0.0,4002.65,4002.65,4002.65\n2002-10-29,0.0,3935.93,3935.93,3935.93\n2002-10-28,0.0,4090.46,4090.46,4090.46\n2002-10-25,0.0,4051.09,4051.09,4051.09\n2002-10-24,0.0,4103.69,4103.69,4103.69\n2002-10-23,0.0,4006.91,4006.91,4006.91\n2002-10-22,0.0,4118.88,4118.88,4118.88\n2002-10-21,0.0,4133.77,4133.77,4133.77\n2002-10-18,0.0,4130.54,4130.54,4130.54\n2002-10-17,0.0,4170.68,4170.68,4170.68\n2002-10-16,0.0,4057.71,4057.71,4057.71\n2002-10-15,0.0,4130.33,4130.33,4130.33\n2002-10-14,0.0,3931.64,3931.64,3931.64\n2002-10-11,0.0,3953.38,3953.38,3953.38\n2002-10-10,0.0,3777.28,3777.28,3777.28\n2002-10-09,0.0,3742.4,3742.4,3742.4\n2002-10-08,0.0,3730.47,3730.47,3730.47\n2002-10-07,0.0,3780.93,3780.93,3780.93\n2002-10-04,0.0,3813.77,3813.77,3813.77\n2002-10-03,0.0,3880.34,3880.34,3880.34\n2002-10-02,0.0,3905.25,3905.25,3905.25\n2002-10-01,0.0,3797.4,3797.4,3797.4\n2002-09-30,0.0,3721.75,3721.75,3721.75\n2002-09-27,0.0,3907.2,3907.2,3907.2\n2002-09-26,0.0,3850.61,3850.61,3850.61\n2002-09-25,0.0,3696.25,3696.25,3696.25\n2002-09-24,0.0,3671.13,3671.13,3671.13\n2002-09-23,0.0,3739.37,3739.37,3739.37\n2002-09-20,0.0,3860.1,3860.1,3860.1\n2002-09-19,0.0,3813.53,3813.53,3813.53\n2002-09-18,0.0,3865.41,3865.41,3865.41\n2002-09-17,0.0,4025.15,4025.15,4025.15\n2002-09-16,0.0,4044.25,4044.25,4044.25\n2002-09-13,0.0,4008.02,4008.02,4008.02\n2002-09-12,0.0,4084.9,4084.9,4084.9\n2002-09-11,0.0,4210.66,4210.66,4210.66\n2002-09-10,0.0,4175.52,4175.52,4175.52\n2002-09-09,0.0,4062.44,4062.44,4062.44\n2002-09-06,0.0,4107.22,4107.22,4107.22\n2002-09-05,0.0,4011.01,4011.01,4011.01\n2002-09-04,0.0,4026.95,4026.95,4026.95\n2002-09-03,0.0,4028.65,4028.65,4028.65\n2002-09-02,0.0,4180.88,4180.88,4180.88\n2002-08-30,0.0,4227.28,4227.28,4227.28\n2002-08-29,0.0,4209.31,4209.31,4209.31\n2002-08-28,0.0,4274.02,4274.02,4274.02\n2002-08-27,0.0,4449.72,4449.72,4449.72\n2002-08-23,0.0,4389.82,4389.82,4389.82\n2002-08-22,0.0,4434.72,4434.72,4434.72\n2002-08-21,0.0,4364.8,4364.8,4364.8\n2002-08-20,0.0,4368.89,4368.89,4368.89\n2002-08-19,0.0,4426.85,4426.85,4426.85\n2002-08-16,0.0,4329.97,4329.97,4329.97\n2002-08-15,0.0,4327.45,4327.45,4327.45\n2002-08-14,0.0,4171.06,4171.06,4171.06\n2002-08-13,0.0,4271.66,4271.66,4271.66\n2002-08-12,0.0,4221.56,4221.56,4221.56\n2002-08-09,0.0,4322.36,4322.36,4322.36\n2002-08-08,0.0,4240.47,4240.47,4240.47\n2002-08-07,0.0,4094.43,4094.43,4094.43\n2002-08-06,0.0,4131.03,4131.03,4131.03\n2002-08-05,0.0,3996.41,3996.41,3996.41\n2002-08-02,0.0,4075.55,4075.55,4075.55\n2002-08-01,0.0,4044.52,4044.52,4044.52\n2002-07-31,0.0,4246.21,4246.21,4246.21\n2002-07-30,0.0,4180.92,4180.92,4180.92\n2002-07-29,4202.7,4202.7,4202.7,4202.7\n2002-07-26,0.0,4016.65,4016.65,4016.65\n2002-07-25,0.0,3965.89,3965.89,3965.89\n2002-07-24,0.0,3777.13,3777.13,3777.13\n2002-07-23,0.0,3857.99,3857.99,3857.99\n2002-07-22,0.0,3895.5,3895.5,3895.5\n2002-07-19,0.0,4098.32,4098.32,4098.32\n2002-07-18,0.0,4297.3,4297.3,4297.3\n2002-07-17,0.0,4190.63,4190.63,4190.63\n2002-07-16,0.0,4021.93,4021.93,4021.93\n2002-07-15,0.0,3994.5,3994.5,3994.5\n2002-07-12,0.0,4224.11,4224.11,4224.11\n2002-07-11,0.0,4230.05,4230.05,4230.05\n2002-07-10,0.0,4420.13,4420.13,4420.13\n2002-07-09,0.0,4542.94,4542.94,4542.94\n2002-07-08,0.0,4601.29,4601.29,4601.29\n2002-07-05,0.0,4615.65,4615.65,4615.65\n2002-07-04,0.0,4471.19,4471.19,4471.19\n2002-07-03,0.0,4392.55,4392.55,4392.55\n2002-07-02,0.0,4546.77,4546.77,4546.77\n2002-07-01,0.0,4685.76,4685.76,4685.76\n2002-06-28,0.0,4656.36,4656.36,4656.36\n2002-06-27,0.0,4540.65,4540.65,4540.65\n2002-06-26,0.0,4531.01,4531.01,4531.01\n2002-06-25,0.0,4630.96,4630.96,4630.96\n2002-06-24,0.0,4541.87,4541.87,4541.87\n2002-06-21,0.0,4605.35,4605.35,4605.35\n2002-06-20,0.0,4580.34,4580.34,4580.34\n2002-06-19,0.0,4652.43,4652.43,4652.43\n2002-06-18,0.0,4702.01,4702.01,4702.01\n2002-06-17,0.0,4756.75,4756.75,4756.75\n2002-06-14,0.0,4630.77,4630.77,4630.77\n2002-06-13,0.0,4771.91,4771.91,4771.91\n2002-06-12,0.0,4851.67,4851.67,4851.67\n2002-06-11,0.0,4934.82,4934.82,4934.82\n2002-06-10,0.0,4928.21,4928.21,4928.21\n2002-06-07,0.0,4920.4,4920.4,4920.4\n2002-06-06,0.0,4957.63,4957.63,4957.63\n2002-06-05,0.0,4989.15,4989.15,4989.15\n2002-05-31,0.0,5085.07,5085.07,5085.07\n2002-05-30,0.0,5040.75,5040.75,5040.75\n2002-05-29,0.0,5082.98,5082.98,5082.98\n2002-05-28,0.0,5074.22,5074.22,5074.22\n2002-05-27,0.0,5136.26,5136.26,5136.26\n2002-05-24,0.0,5169.07,5169.07,5169.07\n2002-05-23,0.0,5175.31,5175.31,5175.31\n2002-05-22,0.0,5151.89,5151.89,5151.89\n2002-05-21,0.0,5197.21,5197.21,5197.21\n2002-05-20,0.0,5208.1,5208.1,5208.1\n2002-05-17,0.0,5217.98,5217.98,5217.98\n2002-05-16,0.0,5248.53,5248.53,5248.53\n2002-05-15,0.0,5259.11,5259.11,5259.11\n2002-05-14,0.0,5239.47,5239.47,5239.47\n2002-05-13,0.0,5204.84,5204.84,5204.84\n2002-05-10,0.0,5171.24,5171.24,5171.24\n2002-05-09,0.0,5197.58,5197.58,5197.58\n2002-05-08,0.0,5209.1,5209.1,5209.1\n2002-05-07,0.0,5119.9,5119.9,5119.9\n2002-05-03,0.0,5203.05,5203.05,5203.05\n2002-05-02,0.0,5174.06,5174.06,5174.06\n2002-05-01,0.0,5125.51,5125.51,5125.51\n2002-04-30,0.0,5165.58,5165.58,5165.58\n2002-04-29,0.0,5153.86,5153.86,5153.86\n2002-04-26,0.0,5159.01,5159.01,5159.01\n2002-04-25,0.0,5197.54,5197.54,5197.54\n2002-04-24,0.0,5218.17,5218.17,5218.17\n2002-04-23,0.0,5190.99,5190.99,5190.99\n2002-04-22,0.0,5221.47,5221.47,5221.47\n2002-04-19,0.0,5243.6,5243.6,5243.6\n2002-04-18,0.0,5229.37,5229.37,5229.37\n2002-04-17,0.0,5263.88,5263.88,5263.88\n2002-04-16,0.0,5259.88,5259.88,5259.88\n2002-04-15,0.0,5201.44,5201.44,5201.44\n2002-04-12,0.0,5161.02,5161.02,5161.02\n2002-04-11,0.0,5137.43,5137.43,5137.43\n2002-04-10,0.0,5229.12,5229.12,5229.12\n2002-04-09,0.0,5179.56,5179.56,5179.56\n2002-04-08,0.0,5178.55,5178.55,5178.55\n2002-04-05,0.0,5233.63,5233.63,5233.63\n2002-04-04,0.0,5209.46,5209.46,5209.46\n2002-04-03,0.0,5247.84,5247.84,5247.84\n2002-04-02,0.0,5251.44,5251.44,5251.44\n2002-03-28,0.0,5271.76,5271.76,5271.76\n2002-03-27,0.0,5214.7,5214.7,5214.7\n2002-03-26,0.0,5195.46,5195.46,5195.46\n2002-03-25,0.0,5203.61,5203.61,5203.61\n2002-03-22,0.0,5250.5,5250.5,5250.5\n2002-03-21,5253.3,5253.3,5253.3,5253.3\n2002-03-20,0.0,5266.9,5253.3,5253.3\n2002-03-19,0.0,5316.07,5266.9,5316.07\n2002-03-18,0.0,5299.93,5299.93,5299.93\n2002-03-15,0.0,5292.73,5292.73,5292.73\n2002-03-14,0.0,5261.42,5261.42,5261.42\n2002-03-13,0.0,5271.96,5271.96,5271.96\n2002-03-12,0.0,5252.5,5252.5,5252.5\n2002-03-11,0.0,5258.93,5258.93,5258.93\n2002-03-08,0.0,5285.65,5285.65,5285.65\n2002-03-07,0.0,5282.14,5282.14,5282.14\n2002-03-06,0.0,5245.54,5245.54,5245.54\n2002-03-05,0.0,5214.03,5214.03,5214.03\n2002-03-04,0.0,5241.98,5241.98,5241.98\n2002-03-01,0.0,5169.02,5169.02,5169.02\n2002-02-28,0.0,5100.96,5100.96,5100.96\n2002-02-27,0.0,5178.44,5178.44,5178.44\n2002-02-26,0.0,5138.95,5138.95,5138.95\n2002-02-25,0.0,5100.74,5100.74,5100.74\n2002-02-22,0.0,5050.84,5050.84,5050.84\n2002-02-21,0.0,5073.31,5073.31,5073.31\n2002-02-20,0.0,5024.15,5024.15,5024.15\n2002-02-19,0.0,5092.5,5092.5,5092.5\n2002-02-18,0.0,5154.29,5154.29,5154.29\n2002-02-15,0.0,5182.48,5182.48,5182.48\n2002-02-14,0.0,5208.75,5208.75,5208.75\n2002-02-13,0.0,5153.92,5153.92,5153.92\n2002-02-12,0.0,5135.71,5135.71,5135.71\n2002-02-11,0.0,5161.78,5161.78,5161.78\n2002-02-08,0.0,5128.09,5128.09,5128.09\n2002-02-07,0.0,5127.03,5127.03,5127.03\n2002-02-06,0.0,5073.81,5073.81,5073.81\n2002-02-05,0.0,5093.36,5093.36,5093.36\n2002-02-04,0.0,5167.31,5167.31,5167.31\n2002-02-01,0.0,5189.68,5189.68,5189.68\n2002-01-31,0.0,5164.78,5164.78,5164.78\n2002-01-30,0.0,5089.32,5089.32,5089.32\n2002-01-29,0.0,5131.4,5131.4,5131.4\n2002-01-28,0.0,5223.62,5223.62,5223.62\n2002-01-25,5233.1,5233.1,5162.6,5193.0\n2002-01-24,0.0,5233.14,5233.14,5233.14\n2002-01-23,0.0,5180.65,5180.65,5180.65\n2002-01-22,0.0,5149.19,5149.19,5149.19\n2002-01-21,0.0,5138.53,5138.53,5138.53\n2002-01-18,0.0,5126.79,5126.79,5126.79\n2002-01-17,0.0,5138.45,5138.45,5138.45\n2002-01-16,0.0,5127.58,5127.58,5127.58\n2002-01-15,0.0,5166.0,5166.0,5166.0\n2002-01-14,0.0,5113.5,5113.5,5113.5\n2002-01-11,0.0,5198.57,5198.57,5198.57\n2002-01-10,0.0,5190.7,5190.7,5190.7\n2002-01-09,0.0,5228.46,5228.46,5228.46\n2002-01-08,0.0,5250.37,5250.37,5250.37\n2002-01-07,0.0,5293.57,5293.57,5293.57\n2002-01-04,0.0,5323.76,5323.76,5323.76\n2002-01-03,0.0,5318.79,5318.79,5318.79\n2002-01-02,0.0,5218.29,5218.29,5218.29\n2001-12-31,0.0,5217.35,5217.35,5217.35\n2001-12-28,0.0,5242.42,5242.42,5242.42\n2001-12-27,0.0,5213.22,5213.22,5213.22\n2001-12-24,0.0,5177.41,5177.41,5177.41\n2001-12-21,0.0,5159.23,5159.23,5159.23\n2001-12-20,0.0,5080.23,5080.23,5080.23\n2001-12-19,0.0,5120.55,5120.55,5120.55\n2001-12-18,0.0,5151.08,5151.08,5151.08\n2001-12-17,0.0,5136.31,5136.31,5136.31\n2001-12-14,0.0,5061.02,5061.02,5061.02\n2001-12-13,0.0,5074.86,5074.86,5074.86\n2001-12-12,0.0,5119.99,5119.99,5119.99\n2001-12-11,0.0,5160.77,5160.77,5160.77\n2001-12-10,0.0,5185.04,5185.04,5185.04\n2001-12-07,0.0,5264.74,5264.74,5264.74\n2001-12-06,5369.78,5369.78,5369.78,5369.78\n2001-12-05,0.0,5333.53,5333.53,5333.53\n2001-12-04,0.0,5212.14,5212.14,5212.14\n2001-12-03,0.0,5164.64,5164.64,5164.64\n2001-11-30,0.0,5203.55,5203.55,5203.55\n2001-11-29,0.0,5208.51,5208.51,5208.51\n2001-11-28,0.0,5205.23,5205.23,5205.23\n2001-11-27,0.0,5265.96,5265.96,5265.96\n2001-11-26,0.0,5302.45,5302.45,5302.45\n2001-11-23,0.0,5293.21,5293.21,5293.21\n2001-11-22,0.0,5345.94,5345.94,5345.94\n2001-11-21,0.0,5313.78,5313.78,5313.78\n2001-11-20,0.0,5298.69,5298.69,5298.69\n2001-11-19,0.0,5337.96,5337.96,5337.96\n2001-11-16,0.0,5290.98,5290.98,5290.98\n2001-11-15,0.0,5238.2,5238.2,5238.2\n2001-11-14,0.0,5240.75,5240.75,5240.75\n2001-11-13,0.0,5277.07,5277.07,5277.07\n2001-11-12,0.0,5146.23,5146.23,5146.23\n2001-11-09,0.0,5244.21,5244.21,5244.21\n2001-11-08,5216.3,5294.6,5208.4,5278.1\n2001-11-07,0.0,5216.27,5216.27,5216.27\n2001-11-06,0.0,5214.06,5214.06,5214.06\n2001-11-05,0.0,5209.12,5209.12,5209.12\n2001-11-02,0.0,5129.54,5129.54,5129.54\n2001-11-01,0.0,5071.23,5071.23,5071.23\n2001-10-31,0.0,5039.71,5039.71,5039.71\n2001-10-30,0.0,5003.6,5003.6,5003.6\n2001-10-29,0.0,5085.89,5085.89,5085.89\n2001-10-26,0.0,5188.65,5188.65,5188.65\n2001-10-25,0.0,5086.59,5086.59,5086.59\n2001-10-24,0.0,5167.6,5167.6,5167.6\n2001-10-23,0.0,5193.34,5193.34,5193.34\n2001-10-22,0.0,5070.42,5070.42,5070.42\n2001-10-19,0.0,5017.69,5017.69,5017.69\n2001-10-18,0.0,5116.03,5116.03,5116.03\n2001-10-17,0.0,5203.41,5203.41,5203.41\n2001-10-16,0.0,5082.58,5082.58,5082.58\n2001-10-15,0.0,5067.26,5067.26,5067.26\n2001-10-12,0.0,5145.5,5145.5,5145.5\n2001-10-11,0.0,5164.92,5164.92,5164.92\n2001-10-10,0.0,5153.06,5153.06,5153.06\n2001-10-09,0.0,5009.79,5009.79,5009.79\n2001-10-08,0.0,5032.71,5032.71,5032.71\n2001-10-05,0.0,5036.03,5036.03,5036.03\n2001-10-04,0.0,5016.24,5016.24,5016.24\n2001-10-03,0.0,4881.81,4881.81,4881.81\n2001-10-02,0.0,4832.34,4832.34,4832.34\n2001-10-01,0.0,4785.63,4785.63,4785.63\n2001-09-28,0.0,4903.39,4903.39,4903.39\n2001-09-27,0.0,4763.63,4763.63,4763.63\n2001-09-26,0.0,4696.1,4696.1,4696.1\n2001-09-25,0.0,4663.42,4663.42,4663.42\n2001-09-24,0.0,4613.86,4613.86,4613.86\n2001-09-21,0.0,4433.69,4433.69,4433.69\n2001-09-20,0.0,4556.9,4556.9,4556.9\n2001-09-19,0.0,4721.69,4721.69,4721.69\n2001-09-18,0.0,4848.7,4848.7,4848.7\n2001-09-17,0.0,4898.85,4898.85,4898.85\n2001-09-14,0.0,4755.75,4755.75,4755.75\n2001-09-13,0.0,4943.61,4943.61,4943.61\n2001-09-12,0.0,4882.12,4882.12,4882.12\n2001-09-11,0.0,4745.98,4745.98,4745.98\n2001-09-10,0.0,5033.68,5033.68,5033.68\n2001-09-07,0.0,5070.29,5070.29,5070.29\n2001-09-06,0.0,5204.33,5204.33,5204.33\n2001-09-05,0.0,5316.05,5316.05,5316.05\n2001-09-04,0.0,5379.62,5379.62,5379.62\n2001-09-03,0.0,5312.12,5312.12,5312.12\n2001-08-31,0.0,5344.97,5344.97,5344.97\n2001-08-30,0.0,5332.67,5332.67,5332.67\n2001-08-29,0.0,5417.64,5417.64,5417.64\n2001-08-28,0.0,5434.65,5434.65,5434.65\n2001-08-24,0.0,5471.88,5471.88,5471.88\n2001-08-23,0.0,5396.53,5396.53,5396.53\n2001-08-22,0.0,5408.67,5408.67,5408.67\n2001-08-21,0.0,5430.31,5430.31,5430.31\n2001-08-20,0.0,5357.45,5357.45,5357.45\n2001-08-17,0.0,5342.13,5342.13,5342.13\n2001-08-16,0.0,5389.77,5389.77,5389.77\n2001-08-15,0.0,5461.58,5461.58,5461.58\n2001-08-14,0.0,5507.77,5507.77,5507.77\n2001-08-13,0.0,5431.08,5431.08,5431.08\n2001-08-10,0.0,5427.2,5427.2,5427.2\n2001-08-09,0.0,5402.93,5402.93,5402.93\n2001-08-08,0.0,5476.49,5476.49,5476.49\n2001-08-07,0.0,5536.8,5536.8,5536.8\n2001-08-06,0.0,5526.43,5526.43,5526.43\n2001-08-03,0.0,5547.56,5547.56,5547.56\n2001-08-02,0.0,5584.54,5584.54,5584.54\n2001-08-01,0.0,5546.93,5546.93,5546.93\n2001-07-31,0.0,5529.05,5529.05,5529.05\n2001-07-30,0.0,5446.66,5446.66,5446.66\n2001-07-27,0.0,5403.1,5403.1,5403.1\n2001-07-26,0.0,5286.07,5286.07,5286.07\n2001-07-25,0.0,5275.73,5275.73,5275.73\n2001-07-24,0.0,5320.16,5320.16,5320.16\n2001-07-23,0.0,5405.28,5405.28,5405.28\n2001-07-20,0.0,5387.05,5387.05,5387.05\n2001-07-19,0.0,5437.43,5437.43,5437.43\n2001-07-18,0.0,5404.59,5404.59,5404.59\n2001-07-17,0.0,5427.76,5427.76,5427.76\n2001-07-16,0.0,5517.12,5517.12,5517.12\n2001-07-13,0.0,5536.98,5536.98,5536.98\n2001-07-12,0.0,5481.58,5481.58,5481.58\n2001-07-11,0.0,5391.86,5391.86,5391.86\n2001-07-10,0.0,5467.9,5467.9,5467.9\n2001-07-09,0.0,5468.86,5468.86,5468.86\n2001-07-06,0.0,5479.24,5479.24,5479.24\n2001-07-05,0.0,5549.61,5549.61,5549.61\n2001-07-04,0.0,5600.49,5600.49,5600.49\n2001-07-03,0.0,5639.91,5639.91,5639.91\n2001-07-02,0.0,5716.68,5716.68,5716.68\n2001-06-29,0.0,5642.5,5642.5,5642.5\n2001-06-28,0.0,5638.41,5638.41,5638.41\n2001-06-27,0.0,5607.93,5607.93,5607.93\n2001-06-26,0.0,5555.68,5555.68,5555.68\n2001-06-25,0.0,5661.88,5661.88,5661.88\n2001-06-22,0.0,5665.67,5665.67,5665.67\n2001-06-21,0.0,5641.38,5641.38,5641.38\n2001-06-20,0.0,5699.58,5699.58,5699.58\n2001-06-19,0.0,5680.37,5680.37,5680.37\n2001-06-18,0.0,5671.62,5671.62,5671.62\n2001-06-15,0.0,5722.97,5722.97,5722.97\n2001-06-14,0.0,5752.55,5752.55,5752.55\n2001-06-13,0.0,5820.21,5820.21,5820.21\n2001-06-12,0.0,5804.01,5804.01,5804.01\n2001-06-11,0.0,5860.53,5860.53,5860.53\n2001-06-08,0.0,5950.58,5950.58,5950.58\n2001-06-07,0.0,5948.3,5948.3,5948.3\n2001-06-06,0.0,5901.49,5901.49,5901.49\n2001-06-05,0.0,5922.55,5922.55,5922.55\n2001-06-04,0.0,5856.5,5856.5,5856.5\n2001-06-01,0.0,5809.6,5809.6,5809.6\n2001-05-31,0.0,5796.15,5796.15,5796.15\n2001-05-30,0.0,5796.85,5796.85,5796.85\n2001-05-29,0.0,5863.87,5863.87,5863.87\n2001-05-25,0.0,5889.8,5889.8,5889.8\n2001-05-24,0.0,5915.91,5915.91,5915.91\n2001-05-23,0.0,5897.45,5897.45,5897.45\n2001-05-22,0.0,5976.62,5976.62,5976.62\n2001-05-21,0.0,5941.59,5941.59,5941.59\n2001-05-18,0.0,5914.98,5914.98,5914.98\n2001-05-17,0.0,5904.55,5904.55,5904.55\n2001-05-16,0.0,5884.03,5884.03,5884.03\n2001-05-15,0.0,5842.91,5842.91,5842.91\n2001-05-14,0.0,5690.47,5690.47,5690.47\n2001-05-11,0.0,5896.77,5896.77,5896.77\n2001-05-10,0.0,5963.99,5963.99,5963.99\n2001-05-09,0.0,5893.67,5893.67,5893.67\n2001-05-08,0.0,5886.4,5886.4,5886.4\n2001-05-04,0.0,5870.29,5870.29,5870.29\n2001-05-03,0.0,5765.81,5765.81,5765.81\n2001-05-02,0.0,5904.2,5904.2,5904.2\n2001-05-01,0.0,5928.02,5928.02,5928.02\n2001-04-30,0.0,5966.95,5966.95,5966.95\n2001-04-27,0.0,5951.39,5951.39,5951.39\n2001-04-26,0.0,5868.32,5868.32,5868.32\n2001-04-25,0.0,5827.47,5827.47,5827.47\n2001-04-24,0.0,5840.28,5840.28,5840.28\n2001-04-23,0.0,5871.28,5871.28,5871.28\n2001-04-20,0.0,5879.83,5879.83,5879.83\n2001-04-19,0.0,5871.63,5871.63,5871.63\n2001-04-18,0.0,5890.2,5890.2,5890.2\n2001-04-17,0.0,5761.08,5761.08,5761.08\n2001-04-12,0.0,5766.62,5766.62,5766.62\n2001-04-11,0.0,5788.07,5788.07,5788.07\n2001-04-10,0.0,5803.0,5803.0,5803.0\n2001-04-09,0.0,5663.3,5663.3,5663.3\n2001-04-06,0.0,5601.46,5601.46,5601.46\n2001-04-05,0.0,5621.77,5621.77,5621.77\n2001-04-04,0.0,5535.72,5535.72,5535.72\n2001-04-03,0.0,5463.13,5463.13,5463.13\n2001-04-02,0.0,5618.47,5618.47,5618.47\n2001-03-30,5588.4,5664.8,5574.1,5633.7\n2001-03-29,0.0,5588.42,5588.42,5588.42\n2001-03-28,0.0,5614.01,5614.01,5614.01\n2001-03-27,0.0,5728.13,5728.13,5728.13\n2001-03-26,0.0,5576.6,5576.6,5576.6\n2001-03-23,0.0,5402.33,5402.33,5402.33\n2001-03-22,0.0,5314.75,5314.75,5314.75\n2001-03-21,0.0,5540.74,5540.74,5540.74\n2001-03-20,0.0,5646.8,5646.8,5646.8\n2001-03-19,0.0,5551.55,5551.55,5551.55\n2001-03-16,0.0,5562.83,5562.83,5562.83\n2001-03-15,0.0,5729.22,5729.22,5729.22\n2001-03-14,0.0,5625.95,5625.95,5625.95\n2001-03-13,0.0,5720.74,5720.74,5720.74\n2001-03-12,0.0,5826.52,5826.52,5826.52\n2001-03-09,0.0,5917.27,5917.27,5917.27\n2001-03-08,0.0,6003.17,6003.17,6003.17\n2001-03-07,0.0,6001.81,6001.81,6001.81\n2001-03-06,0.0,6012.02,6012.02,6012.02\n2001-03-05,0.0,5931.29,5931.29,5931.29\n2001-03-02,0.0,5858.56,5858.56,5858.56\n2001-03-01,0.0,5908.59,5908.59,5908.59\n2001-02-28,0.0,5917.88,5917.88,5917.88\n2001-02-27,0.0,5941.21,5941.21,5941.21\n2001-02-26,0.0,5916.75,5916.75,5916.75\n2001-02-23,0.0,5943.69,5943.69,5943.69\n2001-02-22,0.0,6003.13,6003.13,6003.13\n2001-02-21,0.0,5972.35,5972.35,5972.35\n2001-02-20,0.0,5980.12,5980.12,5980.12\n2001-02-19,0.0,6093.95,6093.95,6093.95\n2001-02-16,0.0,6088.28,6088.28,6088.28\n2001-02-15,0.0,6197.89,6197.89,6197.89\n2001-02-14,0.0,6176.22,6176.22,6176.22\n2001-02-13,0.0,6228.49,6228.49,6228.49\n2001-02-12,0.0,6241.38,6241.38,6241.38\n2001-02-09,0.0,6164.25,6164.25,6164.25\n2001-02-08,0.0,6206.1,6206.1,6206.1\n2001-02-07,0.0,6225.65,6225.65,6225.65\n2001-02-06,0.0,6293.43,6293.43,6293.43\n2001-02-05,0.0,6269.21,6269.21,6269.21\n2001-02-02,0.0,6256.43,6256.43,6256.43\n2001-02-01,0.0,6251.83,6251.83,6251.83\n2001-01-31,0.0,6297.53,6297.53,6297.53\n2001-01-30,0.0,6334.53,6334.53,6334.53\n2001-01-29,0.0,6316.98,6316.98,6316.98\n2001-01-26,0.0,6294.34,6294.34,6294.34\n2001-01-25,0.0,6255.63,6255.63,6255.63\n2001-01-24,0.0,6264.36,6264.36,6264.36\n2001-01-23,0.0,6214.66,6214.66,6214.66\n2001-01-22,0.0,6231.98,6231.98,6231.98\n2001-01-19,0.0,6209.32,6209.32,6209.32\n2001-01-18,0.0,6209.87,6209.87,6209.87\n2001-01-17,0.0,6197.36,6197.36,6197.36\n2001-01-16,0.0,6083.29,6083.29,6083.29\n2001-01-15,0.0,6170.3,6170.3,6170.3\n2001-01-12,0.0,6165.53,6165.53,6165.53\n2001-01-11,0.0,6114.89,6114.89,6114.89\n2001-01-10,0.0,6059.86,6059.86,6059.86\n2001-01-09,0.0,6088.14,6088.14,6088.14\n2001-01-08,0.0,6149.6,6149.6,6149.6\n2001-01-05,0.0,6198.09,6198.09,6198.09\n2001-01-04,0.0,6185.62,6185.62,6185.62\n2001-01-03,0.0,6039.89,6039.89,6039.89\n2001-01-02,0.0,6174.74,6174.74,6174.74\n2000-12-29,0.0,6222.46,6222.46,6222.46\n2000-12-28,0.0,6223.22,6223.22,6223.22\n2000-12-27,0.0,6218.17,6218.17,6218.17\n2000-12-22,0.0,6097.53,6097.53,6097.53\n2000-12-21,0.0,6115.48,6115.48,6115.48\n2000-12-20,0.0,6176.71,6176.71,6176.71\n2000-12-19,0.0,6294.98,6294.98,6294.98\n2000-12-18,0.0,6246.48,6246.48,6246.48\n2000-12-15,0.0,6175.81,6175.81,6175.81\n2000-12-14,0.0,6263.81,6263.81,6263.81\n2000-12-13,0.0,6402.96,6402.96,6402.96\n2000-12-12,0.0,6390.41,6390.41,6390.41\n2000-12-11,0.0,6370.35,6370.35,6370.35\n2000-12-08,0.0,6288.33,6288.33,6288.33\n2000-12-07,0.0,6231.37,6231.37,6231.37\n2000-12-06,0.0,6273.32,6273.32,6273.32\n2000-12-05,0.0,6298.98,6298.98,6298.98\n2000-12-04,0.0,6158.67,6158.67,6158.67\n2000-12-01,0.0,6170.42,6170.42,6170.42\n2000-11-30,0.0,6142.19,6142.19,6142.19\n2000-11-29,0.0,6164.88,6164.88,6164.88\n2000-11-28,0.0,6249.8,6249.8,6249.8\n2000-11-27,0.0,6374.69,6374.69,6374.69\n2000-11-24,0.0,6327.55,6327.55,6327.55\n2000-11-23,0.0,6287.26,6287.26,6287.26\n2000-11-22,0.0,6221.36,6221.36,6221.36\n2000-11-21,0.0,6382.15,6382.15,6382.15\n2000-11-20,0.0,6344.98,6344.98,6344.98\n2000-11-17,0.0,6440.1,6440.1,6440.1\n2000-11-16,0.0,6430.44,6430.44,6430.44\n2000-11-15,0.0,6432.29,6432.29,6432.29\n2000-11-14,0.0,6412.85,6412.85,6412.85\n2000-11-13,0.0,6274.82,6274.82,6274.82\n2000-11-10,0.0,6400.22,6400.22,6400.22\n2000-11-09,0.0,6442.19,6442.19,6442.19\n2000-11-08,0.0,6477.37,6477.37,6477.37\n2000-11-07,0.0,6466.91,6466.91,6466.91\n2000-11-06,0.0,6430.99,6430.99,6430.99\n2000-11-03,0.0,6385.44,6385.44,6385.44\n2000-11-02,0.0,6392.01,6392.01,6392.01\n2000-11-01,0.0,6457.61,6457.61,6457.61\n2000-10-31,0.0,6438.42,6438.42,6438.42\n2000-10-30,0.0,6388.4,6388.4,6388.4\n2000-10-27,0.0,6366.55,6366.55,6366.55\n2000-10-26,0.0,6302.32,6302.32,6302.32\n2000-10-25,0.0,6367.83,6367.83,6367.83\n2000-10-24,0.0,6438.38,6438.38,6438.38\n2000-10-23,0.0,6315.9,6315.9,6315.9\n2000-10-20,0.0,6276.27,6276.27,6276.27\n2000-10-19,0.0,6218.91,6218.91,6218.91\n2000-10-18,0.0,6148.24,6148.24,6148.24\n2000-10-17,0.0,6203.25,6203.25,6203.25\n2000-10-16,0.0,6285.73,6285.73,6285.73\n2000-10-13,0.0,6209.58,6209.58,6209.58\n2000-10-12,0.0,6131.94,6131.94,6131.94\n2000-10-11,0.0,6117.63,6117.63,6117.63\n2000-10-10,0.0,6247.68,6247.68,6247.68\n2000-10-09,0.0,6264.84,6264.84,6264.84\n2000-10-06,0.0,6391.23,6391.23,6391.23\n2000-10-05,0.0,6381.98,6381.98,6381.98\n2000-10-04,0.0,6334.94,6334.94,6334.94\n2000-10-03,0.0,6345.04,6345.04,6345.04\n2000-10-02,0.0,6284.46,6284.46,6284.46\n2000-09-29,0.0,6294.24,6294.24,6294.24\n2000-09-28,0.0,6264.06,6264.06,6264.06\n2000-09-27,0.0,6269.34,6269.34,6269.34\n2000-09-26,0.0,6213.21,6213.21,6213.21\n2000-09-25,0.0,6257.13,6257.13,6257.13\n2000-09-22,0.0,6205.92,6205.92,6205.92\n2000-09-21,0.0,6199.16,6199.16,6199.16\n2000-09-20,0.0,6279.87,6279.87,6279.87\n2000-09-19,0.0,6403.5,6403.5,6403.5\n2000-09-18,0.0,6410.15,6410.15,6410.15\n2000-09-15,0.0,6417.3,6417.3,6417.3\n2000-09-14,0.0,6555.5,6555.5,6555.5\n2000-09-13,0.0,6478.19,6478.19,6478.19\n2000-09-12,0.0,6555.52,6555.52,6555.52\n2000-09-11,0.0,6581.96,6581.96,6581.96\n2000-09-08,0.0,6600.74,6600.74,6600.74\n2000-09-07,0.0,6689.19,6689.19,6689.19\n2000-09-06,0.0,6694.73,6694.73,6694.73\n2000-09-05,0.0,6752.48,6752.48,6752.48\n2000-09-04,0.0,6798.06,6798.06,6798.06\n2000-09-01,0.0,6795.01,6795.01,6795.01\n2000-08-31,0.0,6672.66,6672.66,6672.66\n2000-08-30,0.0,6615.12,6615.12,6615.12\n2000-08-29,0.0,6586.27,6586.27,6586.27\n2000-08-25,0.0,6563.71,6563.71,6563.71\n2000-08-24,0.0,6557.04,6557.04,6557.04\n2000-08-23,0.0,6566.24,6566.24,6566.24\n2000-08-22,0.0,6584.82,6584.82,6584.82\n2000-08-21,0.0,6542.19,6542.19,6542.19\n2000-08-18,0.0,6543.66,6543.66,6543.66\n2000-08-17,0.0,6518.17,6518.17,6518.17\n2000-08-16,0.0,6532.05,6532.05,6532.05\n2000-08-15,0.0,6475.52,6475.52,6475.52\n2000-08-14,6384.5,6451.2,6365.5,6419.9\n2000-08-11,0.0,6384.46,6384.46,6384.46\n2000-08-10,0.0,6387.27,6387.27,6387.27\n2000-08-09,0.0,6413.97,6413.97,6413.97\n2000-08-08,0.0,6358.12,6358.12,6358.12\n2000-08-07,0.0,6387.78,6387.78,6387.78\n2000-08-04,0.0,6363.51,6363.51,6363.51\n2000-08-03,0.0,6317.13,6317.13,6317.13\n2000-08-02,0.0,6391.28,6391.28,6391.28\n2000-08-01,0.0,6379.35,6379.35,6379.35\n2000-07-31,0.0,6365.26,6365.26,6365.26\n2000-07-28,0.0,6335.69,6335.69,6335.69\n2000-07-27,0.0,6352.13,6352.13,6352.13\n2000-07-26,0.0,6387.09,6387.09,6387.09\n2000-07-25,0.0,6390.74,6390.74,6390.74\n2000-07-24,0.0,6381.31,6381.31,6381.31\n2000-07-21,0.0,6378.42,6378.42,6378.42\n2000-07-20,0.0,6469.01,6469.01,6469.01\n2000-07-19,0.0,6465.45,6465.45,6465.45\n2000-07-18,0.0,6450.54,6450.54,6450.54\n2000-07-17,0.0,6525.45,6525.45,6525.45\n2000-07-14,0.0,6475.36,6475.36,6475.36\n2000-07-13,0.0,6475.73,6475.73,6475.73\n2000-07-12,0.0,6518.5,6518.5,6518.5\n2000-07-11,0.0,6475.84,6475.84,6475.84\n2000-07-10,0.0,6466.24,6466.24,6466.24\n2000-07-07,0.0,6497.54,6497.54,6497.54\n2000-07-06,0.0,6419.59,6419.59,6419.59\n2000-07-05,0.0,6382.46,6382.46,6382.46\n2000-07-04,0.0,6416.99,6416.99,6416.99\n2000-07-03,0.0,6470.43,6470.43,6470.43\n2000-06-30,0.0,6312.71,6312.71,6312.71\n2000-06-29,0.0,6238.98,6238.98,6238.98\n2000-06-28,0.0,6313.53,6313.53,6313.53\n2000-06-27,0.0,6375.33,6375.33,6375.33\n2000-06-26,0.0,6405.17,6405.17,6405.17\n2000-06-23,0.0,6391.49,6391.49,6391.49\n2000-06-22,0.0,6413.82,6413.82,6413.82\n2000-06-21,0.0,6477.76,6477.76,6477.76\n2000-06-20,0.0,6526.93,6526.93,6526.93\n2000-06-19,0.0,6490.22,6490.22,6490.22\n2000-06-16,0.0,6526.01,6526.01,6526.01\n2000-06-15,0.0,6490.81,6490.81,6490.81\n2000-06-14,0.0,6536.29,6536.29,6536.29\n2000-06-13,0.0,6447.11,6447.11,6447.11\n2000-06-12,0.0,6430.88,6430.88,6430.88\n2000-06-09,0.0,6443.78,6443.78,6443.78\n2000-06-08,0.0,6496.57,6496.57,6496.57\n2000-06-07,0.0,6503.82,6503.82,6503.82\n2000-06-06,0.0,6546.75,6546.75,6546.75\n2000-06-05,0.0,6546.65,6546.65,6546.65\n2000-06-02,0.0,6626.38,6626.38,6626.38\n2000-06-01,0.0,6470.54,6470.54,6470.54\n2000-05-31,0.0,6359.35,6359.35,6359.35\n2000-05-30,0.0,6359.57,6359.57,6359.57\n2000-05-26,0.0,6216.92,6216.92,6216.92\n2000-05-25,0.0,6231.11,6231.11,6231.11\n2000-05-24,0.0,6118.62,6118.62,6118.62\n2000-05-23,0.0,6086.79,6086.79,6086.79\n2000-05-22,6045.4,6130.1,5991.9,6035.5\n2000-05-19,0.0,6045.38,6045.38,6045.38\n2000-05-18,0.0,6232.95,6232.95,6232.95\n2000-05-17,0.0,6196.22,6196.22,6196.22\n2000-05-16,0.0,6318.36,6318.36,6318.36\n2000-05-15,0.0,6247.7,6247.7,6247.7\n2000-05-12,0.0,6283.45,6283.45,6283.45\n2000-05-11,0.0,6245.88,6245.88,6245.88\n2000-05-10,0.0,6100.65,6100.65,6100.65\n2000-05-09,0.0,6123.81,6123.81,6123.81\n2000-05-08,0.0,6216.3,6216.3,6216.3\n2000-05-05,0.0,6238.84,6238.84,6238.84\n2000-05-04,0.0,6199.58,6199.58,6199.58\n2000-05-03,0.0,6184.79,6184.79,6184.79\n2000-05-02,0.0,6373.39,6373.39,6373.39\n2000-04-28,0.0,6327.43,6327.43,6327.43\n2000-04-27,0.0,6179.27,6179.27,6179.27\n2000-04-26,0.0,6256.53,6256.53,6256.53\n2000-04-25,0.0,6282.97,6282.97,6282.97\n2000-04-20,0.0,6241.22,6241.22,6241.22\n2000-04-19,0.0,6184.91,6184.91,6184.91\n2000-04-18,0.0,6074.04,6074.04,6074.04\n2000-04-17,0.0,5994.57,5994.57,5994.57\n2000-04-14,0.0,6178.12,6178.12,6178.12\n2000-04-13,0.0,6357.0,6357.0,6357.0\n2000-04-12,0.0,6350.8,6350.8,6350.8\n2000-04-11,0.0,6379.22,6379.22,6379.22\n2000-04-10,0.0,6533.38,6533.38,6533.38\n2000-04-07,0.0,6569.88,6569.88,6569.88\n2000-04-06,0.0,6451.14,6451.14,6451.14\n2000-04-05,0.0,6379.32,6379.32,6379.32\n2000-04-04,0.0,6427.03,6427.03,6427.03\n2000-04-03,0.0,6462.12,6462.12,6462.12\n2000-03-31,0.0,6540.22,6540.22,6540.22\n2000-03-30,0.0,6445.17,6445.17,6445.17\n2000-03-29,0.0,6598.83,6598.83,6598.83\n2000-03-28,0.0,6650.14,6650.14,6650.14\n2000-03-27,0.0,6687.17,6687.17,6687.17\n2000-03-24,0.0,6738.5,6738.5,6738.5\n2000-03-23,6594.61,6594.61,6594.61,6594.61\n2000-03-22,0.0,6609.62,6609.62,6609.62\n2000-03-21,0.0,6617.87,6617.87,6617.87\n2000-03-20,0.0,6624.51,6624.51,6624.51\n2000-03-17,0.0,6557.99,6557.99,6557.99\n2000-03-16,0.0,6557.25,6557.25,6557.25\n2000-03-15,0.0,6446.99,6446.99,6446.99\n2000-03-14,0.0,6487.11,6487.11,6487.11\n2000-03-13,0.0,6466.87,6466.87,6466.87\n2000-03-10,0.0,6568.73,6568.73,6568.73\n2000-03-09,0.0,6532.11,6532.11,6532.11\n2000-03-08,0.0,6411.21,6411.21,6411.21\n2000-03-07,0.0,6466.54,6466.54,6466.54\n2000-03-06,0.0,6567.81,6567.81,6567.81\n2000-03-03,0.0,6487.46,6487.46,6487.46\n2000-03-02,0.0,6432.1,6432.1,6432.1\n2000-03-01,0.0,6364.89,6364.89,6364.89\n2000-02-29,0.0,6232.56,6232.56,6232.56\n2000-02-28,0.0,6099.64,6099.64,6099.64\n2000-02-25,0.0,6197.98,6197.98,6197.98\n2000-02-24,0.0,6086.7,6086.7,6086.7\n2000-02-23,0.0,6144.1,6144.1,6144.1\n2000-02-22,0.0,6014.73,6014.73,6014.73\n2000-02-21,0.0,6081.62,6081.62,6081.62\n2000-02-18,0.0,6164.96,6164.96,6164.96\n2000-02-17,0.0,6209.34,6209.34,6209.34\n2000-02-16,6005.2,6147.4,6002.5,6147.4\n2000-02-15,0.0,6005.19,6005.19,6005.19\n2000-02-14,0.0,6068.62,6068.62,6068.62\n2000-02-11,0.0,6193.32,6193.32,6193.32\n2000-02-10,0.0,6279.81,6279.81,6279.81\n2000-02-09,0.0,6315.41,6315.41,6315.41\n2000-02-08,0.0,6285.81,6285.81,6285.81\n2000-02-07,0.0,6118.64,6118.64,6118.64\n2000-02-04,0.0,6184.98,6184.98,6184.98\n2000-02-03,0.0,6324.33,6324.33,6324.33\n2000-02-02,0.0,6302.83,6302.83,6302.83\n2000-02-01,0.0,6290.93,6290.93,6290.93\n2000-01-31,0.0,6268.54,6268.54,6268.54\n2000-01-28,0.0,6375.61,6375.61,6375.61\n2000-01-27,0.0,6440.97,6440.97,6440.97\n2000-01-26,0.0,6375.6,6375.6,6375.6\n2000-01-25,0.0,6274.1,6274.1,6274.1\n2000-01-24,0.0,6379.83,6379.83,6379.83\n2000-01-21,0.0,6346.31,6346.31,6346.31\n2000-01-20,0.0,6348.73,6348.73,6348.73\n2000-01-19,0.0,6445.45,6445.45,6445.45\n2000-01-18,0.0,6504.57,6504.57,6504.57\n2000-01-17,0.0,6669.46,6669.46,6669.46\n2000-01-14,0.0,6658.18,6658.18,6658.18\n2000-01-13,0.0,6531.46,6531.46,6531.46\n2000-01-12,0.0,6532.84,6532.84,6532.84\n2000-01-11,0.0,6518.94,6518.94,6518.94\n2000-01-10,0.0,6607.71,6607.71,6607.71\n2000-01-07,0.0,6504.75,6504.75,6504.75\n2000-01-06,0.0,6447.24,6447.24,6447.24\n2000-01-05,0.0,6535.9,6535.9,6535.9\n2000-01-04,6930.2,6930.2,6662.9,6662.9\n1999-12-30,0.0,6930.2,6930.2,6930.2\n1999-12-29,0.0,6835.91,6835.91,6835.91\n1999-12-24,0.0,6806.51,6806.51,6806.51\n1999-12-23,0.0,6776.81,6776.81,6776.81\n1999-12-22,0.0,6728.65,6728.65,6728.65\n1999-12-21,0.0,6707.5,6707.5,6707.5\n1999-12-20,0.0,6731.19,6731.19,6731.19\n1999-12-17,0.0,6724.58,6724.58,6724.58\n1999-12-16,0.0,6671.98,6671.98,6671.98\n1999-12-15,0.0,6633.82,6633.82,6633.82\n1999-12-14,0.0,6702.08,6702.08,6702.08\n1999-12-13,0.0,6710.71,6710.71,6710.71\n1999-12-10,0.0,6739.52,6739.52,6739.52\n1999-12-09,0.0,6680.84,6680.84,6680.84\n1999-12-08,0.0,6619.38,6619.38,6619.38\n1999-12-07,0.0,6660.92,6660.92,6660.92\n1999-12-06,0.0,6694.01,6694.01,6694.01\n1999-12-03,0.0,6742.17,6742.17,6742.17\n1999-12-02,0.0,6653.67,6653.67,6653.67\n1999-12-01,0.0,6645.97,6645.97,6645.97\n1999-11-30,0.0,6597.17,6597.17,6597.17\n1999-11-29,6695.4,6759.3,6659.6,6692.3\n1999-11-26,6698.6,6743.1,6654.4,6684.8\n1999-11-25,6586.5,6686.1,6558.0,6682.8\n1999-11-24,6532.6,6569.5,6493.7,6561.8\n1999-11-23,0.0,6534.2,6534.2,6534.2\n1999-11-22,0.0,6441.99,6441.99,6441.99\n1999-11-19,0.0,6482.25,6482.25,6482.25\n1999-11-18,0.0,6550.75,6550.75,6550.75\n1999-11-17,0.0,6555.69,6555.69,6555.69\n1999-11-16,0.0,6582.99,6582.99,6582.99\n1999-11-15,0.0,6533.64,6533.64,6533.64\n1999-11-12,0.0,6511.58,6511.58,6511.58\n1999-11-11,0.0,6551.44,6551.44,6551.44\n1999-11-10,0.0,6446.96,6446.96,6446.96\n1999-11-09,0.0,6435.45,6435.45,6435.45\n1999-11-08,0.0,6374.34,6374.34,6374.34\n1999-11-05,0.0,6356.61,6356.61,6356.61\n1999-11-04,0.0,6331.33,6331.33,6331.33\n1999-11-03,0.0,6280.84,6280.84,6280.84\n1999-11-02,0.0,6252.0,6252.0,6252.0\n1999-11-01,0.0,6283.97,6283.97,6283.97\n1999-10-29,0.0,6255.72,6255.72,6255.72\n1999-10-28,0.0,6149.1,6149.1,6149.1\n1999-10-27,0.0,6045.7,6045.7,6045.7\n1999-10-26,0.0,6092.4,6092.4,6092.4\n1999-10-25,6062.5,6109.4,5991.7,6009.4\n1999-10-22,0.0,6058.91,6058.91,6058.91\n1999-10-21,0.0,5939.34,5939.34,5939.34\n1999-10-20,0.0,6006.68,6006.68,6006.68\n1999-10-19,0.0,5993.69,5993.69,5993.69\n1999-10-18,0.0,5869.18,5869.18,5869.18\n1999-10-15,0.0,5907.33,5907.33,5907.33\n1999-10-14,0.0,6039.4,6039.4,6039.4\n1999-10-13,0.0,6113.36,6113.36,6113.36\n1999-10-12,0.0,6174.85,6174.85,6174.85\n1999-10-11,0.0,6234.78,6234.78,6234.78\n1999-10-08,0.0,6199.39,6199.39,6199.39\n1999-10-07,0.0,6200.45,6200.45,6200.45\n1999-10-06,0.0,6097.53,6097.53,6097.53\n1999-10-05,0.0,6084.51,6084.51,6084.51\n1999-10-04,0.0,6052.88,6052.88,6052.88\n1999-10-01,0.0,5970.73,5970.73,5970.73\n1999-09-30,0.0,6029.84,6029.84,6029.84\n1999-09-29,6018.1,6077.2,5941.5,6020.6\n1999-09-28,0.0,6078.58,6007.18,6007.18\n1999-09-27,5945.0,6087.7,5944.6,6078.6\n1999-09-24,0.0,5937.64,5937.64,5937.64\n1999-09-23,0.0,5969.71,5969.71,5969.71\n1999-09-22,0.0,5913.93,5913.93,5913.93\n1999-09-21,0.0,5957.34,5957.34,5957.34\n1999-09-20,6050.9,6094.7,6030.3,6056.5\n1999-09-17,0.0,6039.8,6039.8,6039.8\n1999-09-16,0.0,6014.61,6014.61,6014.61\n1999-09-15,0.0,6067.69,6067.69,6067.69\n1999-09-14,0.0,6115.96,6115.96,6115.96\n1999-09-13,0.0,6168.97,6168.97,6168.97\n1999-09-10,0.0,6191.01,6191.01,6191.01\n1999-09-09,0.0,6260.58,6260.58,6260.58\n1999-09-08,0.0,6253.57,6253.57,6253.57\n1999-09-07,0.0,6309.51,6309.51,6309.51\n1999-09-06,0.0,6375.7,6375.7,6375.7\n1999-09-03,0.0,6332.15,6332.15,6332.15\n1999-09-02,0.0,6195.6,6195.6,6195.6\n1999-09-01,0.0,6276.18,6276.18,6276.18\n1999-08-31,0.0,6246.44,6246.44,6246.44\n1999-08-27,0.0,6375.16,6375.16,6375.16\n1999-08-26,0.0,6383.93,6383.93,6383.93\n1999-08-25,0.0,6369.49,6369.49,6369.49\n1999-08-24,0.0,6315.06,6315.06,6315.06\n1999-08-23,0.0,6322.11,6322.11,6322.11\n1999-08-20,0.0,6180.84,6180.84,6180.84\n1999-08-19,0.0,6117.98,6117.98,6117.98\n1999-08-18,0.0,6201.78,6201.78,6201.78\n1999-08-17,0.0,6166.45,6166.45,6166.45\n1999-08-16,0.0,6235.41,6235.41,6235.41\n1999-08-13,0.0,6245.13,6245.13,6245.13\n1999-08-12,0.0,6153.34,6153.34,6153.34\n1999-08-11,0.0,6014.44,6014.44,6014.44\n1999-08-10,0.0,5978.35,5978.35,5978.35\n1999-08-09,0.0,6126.45,6126.45,6126.45\n1999-08-06,0.0,6121.0,6121.0,6121.0\n1999-08-05,0.0,6101.61,6101.61,6101.61\n1999-08-04,0.0,6235.43,6235.43,6235.43\n1999-08-03,0.0,6250.65,6250.65,6250.65\n1999-08-02,0.0,6288.29,6288.29,6288.29\n1999-07-30,0.0,6231.93,6231.93,6231.93\n1999-07-29,0.0,6117.53,6117.53,6117.53\n1999-07-28,0.0,6297.22,6297.22,6297.22\n1999-07-27,6193.3,6281.7,6193.3,6262.8\n1999-07-26,6207.7,6223.9,6092.1,6169.1\n1999-07-23,0.0,6207.42,6207.42,6207.42\n1999-07-22,0.0,6297.75,6297.75,6297.75\n1999-07-21,0.0,6329.83,6329.83,6329.83\n1999-07-20,0.0,6391.99,6391.99,6391.99\n1999-07-19,0.0,6483.72,6483.72,6483.72\n1999-07-16,0.0,6563.25,6563.25,6563.25\n1999-07-15,0.0,6574.99,6574.99,6574.99\n1999-07-14,0.0,6473.14,6473.14,6473.14\n1999-07-13,0.0,6445.62,6445.62,6445.62\n1999-07-12,0.0,6545.47,6545.47,6545.47\n1999-07-09,0.0,6562.6,6562.6,6562.6\n1999-07-08,0.0,6557.34,6557.34,6557.34\n1999-07-07,0.0,6597.42,6597.42,6597.42\n1999-07-06,0.0,6620.63,6620.63,6620.63\n1999-07-05,0.0,6592.0,6592.0,6592.0\n1999-07-02,0.0,6491.92,6491.92,6491.92\n1999-07-01,0.0,6488.9,6488.9,6488.9\n1999-06-30,0.0,6318.53,6318.53,6318.53\n1999-06-29,0.0,6307.08,6307.08,6307.08\n1999-06-28,0.0,6405.75,6405.75,6405.75\n1999-06-25,0.0,6435.43,6435.43,6435.43\n1999-06-24,0.0,6416.69,6416.69,6416.69\n1999-06-23,6557.6,6557.6,6471.6,6496.5\n1999-06-22,0.0,6552.42,6552.42,6552.42\n1999-06-21,0.0,6581.25,6581.25,6581.25\n1999-06-18,0.0,6527.81,6527.81,6527.81\n1999-06-17,0.0,6493.61,6493.61,6493.61\n1999-06-16,0.0,6504.88,6504.88,6504.88\n1999-06-15,0.0,6451.24,6451.24,6451.24\n1999-06-14,0.0,6430.15,6430.15,6430.15\n1999-06-11,0.0,6484.79,6484.79,6484.79\n1999-06-10,0.0,6403.41,6403.41,6403.41\n1999-06-09,0.0,6453.01,6453.01,6453.01\n1999-06-08,0.0,6431.54,6431.54,6431.54\n1999-06-07,0.0,6412.03,6412.03,6412.03\n1999-06-04,0.0,6361.48,6361.48,6361.48\n1999-06-03,0.0,6348.58,6348.58,6348.58\n1999-06-02,0.0,6302.23,6302.23,6302.23\n1999-06-01,0.0,6250.03,6250.03,6250.03\n1999-05-28,0.0,6226.22,6226.22,6226.22\n1999-05-27,0.0,6199.47,6199.47,6199.47\n1999-05-26,0.0,6236.77,6236.77,6236.77\n1999-05-25,0.0,6249.32,6249.32,6249.32\n1999-05-24,0.0,6322.1,6322.1,6322.1\n1999-05-21,0.0,6353.1,6353.1,6353.1\n1999-05-20,0.0,6368.18,6368.18,6368.18\n1999-05-19,0.0,6266.73,6266.73,6266.73\n1999-05-18,0.0,6206.43,6206.43,6206.43\n1999-05-17,0.0,6165.79,6165.79,6165.79\n1999-05-14,0.0,6300.42,6300.42,6300.42\n1999-05-13,0.0,6456.62,6456.62,6456.62\n1999-05-12,0.0,6343.12,6343.12,6343.12\n1999-05-11,0.0,6378.26,6378.26,6378.26\n1999-05-10,0.0,6348.82,6348.82,6348.82\n1999-05-07,0.0,6356.03,6356.03,6356.03\n1999-05-06,0.0,6406.59,6406.59,6406.59\n1999-05-05,0.0,6401.67,6401.67,6401.67\n1999-05-04,0.0,6533.14,6533.14,6533.14\n1999-04-30,0.0,6552.18,6552.18,6552.18\n1999-04-29,0.0,6497.6,6497.6,6497.6\n1999-04-28,6595.5,6613.0,6577.8,6598.8\n1999-04-27,6527.5,6635.9,6522.8,6593.6\n1999-04-26,0.0,6503.59,6503.59,6503.59\n1999-04-23,0.0,6427.99,6427.99,6427.99\n1999-04-22,0.0,6413.55,6413.55,6413.55\n1999-04-21,0.0,6310.95,6310.95,6310.95\n1999-04-20,0.0,6319.76,6319.76,6319.76\n1999-04-19,0.0,6515.34,6515.34,6515.34\n1999-04-16,0.0,6420.61,6420.61,6420.61\n1999-04-15,0.0,6466.13,6466.13,6466.13\n1999-04-14,0.0,6493.56,6493.56,6493.56\n1999-04-13,0.0,6513.08,6513.08,6513.08\n1999-04-12,0.0,6441.16,6441.16,6441.16\n1999-04-09,0.0,6472.83,6472.83,6472.83\n1999-04-08,0.0,6437.87,6437.87,6437.87\n1999-04-07,0.0,6473.22,6473.22,6473.22\n1999-04-06,0.0,6415.28,6415.28,6415.28\n1999-04-01,0.0,6330.02,6330.02,6330.02\n1999-03-31,0.0,6295.33,6295.33,6295.33\n1999-03-30,0.0,6264.15,6264.15,6264.15\n1999-03-29,0.0,6252.92,6252.92,6252.92\n1999-03-26,6087.3,6139.3,6061.6,6139.2\n1999-03-25,6024.4,6095.9,6024.4,6085.0\n1999-03-24,6044.9,6044.9,5968.3,6016.7\n1999-03-23,6079.7,6124.7,6048.6,6060.5\n1999-03-22,6155.2,6200.1,6128.9,6152.8\n1999-03-19,6160.8,6211.2,6135.6,6163.2\n1999-03-18,6144.8,6161.4,6074.9,6114.3\n1999-03-17,6194.5,6194.5,6109.7,6140.6\n1999-03-16,6216.8,6269.6,6181.2,6201.9\n1999-03-15,6259.2,6280.8,6159.4,6206.8\n1999-03-12,6332.1,6365.4,6272.8,6282.2\n1999-03-11,6290.4,6360.3,6241.2,6335.7\n1999-03-10,6232.7,6242.1,6168.6,6241.5\n1999-03-09,6220.5,6287.3,6196.9,6237.7\n1999-03-08,6210.0,6234.5,6174.6,6208.8\n1999-03-05,6141.7,6243.3,6122.5,6205.5\n1999-03-04,6057.1,6117.9,6021.4,6101.4\n1999-03-03,6057.3,6116.0,6039.9,6048.3\n1999-03-02,6062.3,6089.6,6033.5,6061.3\n1999-03-01,6177.5,6185.2,6032.7,6060.9\n1999-02-26,6207.0,6222.7,6156.6,6175.1\n1999-02-25,6272.1,6319.8,6193.4,6206.5\n1999-02-24,6152.2,6316.6,6146.8,6307.6\n1999-02-23,6118.7,6185.2,6111.9,6155.2\n1999-02-22,6037.7,6080.9,5994.8,6069.9\n1999-02-19,6066.3,6066.4,6009.5,6031.2\n1999-02-18,6084.0,6117.8,6007.1,6074.9\n1999-02-17,6090.7,6111.9,6040.7,6078.4\n1999-02-16,6042.6,6133.2,6042.6,6108.6\n1999-02-15,5930.2,6033.2,5924.0,6023.2\n1999-02-12,5940.0,6032.5,5880.2,5950.7\n1999-02-11,5792.1,5888.7,5792.1,5888.5\n1999-02-10,5779.6,5779.6,5697.7,5770.2\n1999-02-09,5838.5,5868.1,5756.5,5779.9\n1999-02-08,5867.4,5867.4,5789.6,5834.9\n1999-02-05,5932.2,5940.8,5848.4,5855.3\n1999-02-04,5993.0,6041.5,5924.7,5939.9\n1999-02-03,6012.4,6048.2,5922.8,5940.3\n1999-02-02,6004.8,6031.8,5915.2,6013.0\n1999-02-01,5926.0,6045.0,5925.7,6012.4\n1999-01-29,5902.6,5941.7,5832.0,5896.0\n1999-01-28,5856.7,5959.8,5841.2,5872.5\n1999-01-27,5947.8,5989.3,5859.5,5876.4\n1999-01-26,5893.8,5927.8,5822.9,5885.7\n1999-01-25,5844.5,5905.8,5749.3,5880.9\n1999-01-22,5972.0,5972.0,5835.1,5861.2\n1999-01-21,6097.6,6124.6,6021.9,6022.3\n1999-01-20,6050.5,6129.1,6048.8,6105.6\n1999-01-19,6106.5,6138.7,6016.4,6027.6\n1999-01-18,6013.4,6123.9,6013.2,6123.9\n1999-01-15,5804.6,5941.0,5736.8,5941.0\n1999-01-14,5842.0,5937.8,5798.7,5820.2\n1999-01-13,5984.2,5984.2,5746.5,5850.1\n1999-01-12,6086.1,6140.3,6024.5,6033.6\n1999-01-11,6164.6,6186.5,6063.3,6085.0\n1999-01-08,6115.4,6195.6,6114.8,6147.2\n1999-01-07,6145.9,6153.7,6042.5,6101.2\n1999-01-06,5968.9,6157.4,5968.9,6148.8\n1999-01-05,5882.3,5980.5,5875.8,5958.2\n1999-01-04,5909.4,5916.9,5811.3,5879.4\n1998-12-30,5932.7,5944.9,5809.0,5882.6\n1998-12-29,5873.4,5970.1,5873.4,5941.5\n1998-12-24,5909.4,5911.5,5867.1,5867.2\n1998-12-23,5835.9,5908.8,5835.9,5908.8\n1998-12-22,5871.1,5893.3,5825.2,5843.3\n1998-12-21,5736.9,5892.3,5736.1,5876.5\n1998-12-18,5689.6,5772.1,5674.0,5741.9\n1998-12-17,5634.9,5685.5,5591.1,5685.2\n1998-12-16,5576.4,5636.8,5568.4,5630.4\n1998-12-15,5529.2,5559.8,5511.6,5557.1\n1998-12-14,5535.7,5548.0,5468.4,5534.5\n1998-12-11,5658.3,5658.3,5515.5,5541.7\n1998-12-10,5671.3,5712.7,5614.6,5660.3\n1998-12-09,5635.2,5691.7,5572.4,5669.1\n1998-12-08,5592.1,5639.8,5582.0,5615.7\n1998-12-07,5599.9,5624.8,5573.6,5576.7\n1998-12-04,5544.9,5613.7,5489.3,5581.9\n1998-12-03,5487.9,5597.2,5377.2,5566.1\n1998-12-02,5550.0,5565.3,5489.5,5507.2\n1998-12-01,5723.3,5723.3,5519.3,5537.5\n1998-11-30,5831.5,5866.3,5743.9,5743.9\n1998-11-27,5808.8,5870.8,5768.7,5844.2\n1998-11-26,5755.8,5854.5,5744.1,5827.9\n1998-11-25,5836.0,5836.0,5732.0,5755.3\n1998-11-24,5852.8,5881.7,5773.0,5798.3\n1998-11-23,5737.9,5854.4,5737.9,5848.4\n1998-11-20,5613.5,5751.9,5609.8,5717.5\n1998-11-19,5481.3,5616.7,5468.1,5606.2\n1998-11-18,5508.3,5554.2,5467.1,5474.0\n1998-11-17,5505.4,5562.4,5491.9,5502.7\n1998-11-16,5472.1,5540.7,5472.1,5510.5\n1998-11-13,5457.3,5464.9,5370.6,5463.2\n1998-11-12,5464.2,5464.2,5402.4,5449.0\n1998-11-11,5449.3,5516.3,5449.3,5476.8\n1998-11-10,5426.8,5435.7,5359.5,5432.3\n1998-11-09,5489.9,5507.1,5399.1,5433.9\n1998-11-06,5504.3,5575.3,5458.5,5491.0\n1998-11-05,5613.1,5613.1,5467.9,5479.8\n1998-11-04,5532.6,5645.1,5503.9,5622.9\n1998-11-03,5520.0,5566.5,5480.0,5503.9\n1998-11-02,5454.3,5564.4,5453.7,5525.5\n1998-10-30,5398.1,5455.2,5398.1,5438.4\n1998-10-29,5287.1,5362.7,5276.1,5358.5\n1998-10-28,5291.4,5293.9,5238.7,5293.9\n1998-10-27,5270.1,5372.1,5231.5,5331.2\n1998-10-26,5236.5,5329.0,5215.2,5231.5\n1998-10-23,5225.9,5238.3,5159.9,5217.1\n1998-10-22,5210.6,5259.4,5210.6,5229.9\n1998-10-21,5237.9,5282.4,5203.2,5206.6\n1998-10-20,5076.9,5267.9,5076.9,5251.9\n1998-10-19,5130.7,5130.7,5055.7,5077.5\n1998-10-16,5149.6,5208.1,5099.9,5133.1\n1998-10-15,5054.5,5125.6,5011.0,5056.3\n1998-10-14,4976.9,5052.4,4935.7,5038.4\n1998-10-13,5018.8,5052.8,4956.4,4990.1\n1998-10-12,4841.5,5043.4,4841.5,5037.6\n1998-10-09,4716.9,4823.4,4716.9,4823.4\n1998-10-08,4828.7,4828.7,4599.2,4698.9\n1998-10-07,4871.1,4949.5,4777.1,4828.9\n1998-10-06,4682.2,4863.7,4682.2,4854.0\n1998-10-05,4743.8,4779.8,4643.3,4648.7\n1998-10-02,4897.3,4897.3,4724.2,4750.4\n1998-10-01,5024.8,5024.8,4881.3,4908.2\n1998-09-30,5114.2,5114.2,5003.9,5064.4\n1998-09-29,5073.3,5109.4,5042.7,5108.7\n1998-09-28,5069.8,5097.3,5022.0,5093.5\n1998-09-25,5136.9,5136.9,5016.0,5016.0\n1998-09-24,5256.5,5322.3,5158.6,5167.6\n1998-09-23,5122.0,5219.5,5122.0,5214.7\n1998-09-22,5013.2,5124.1,5013.2,5103.3\n1998-09-21,5047.2,5047.2,4899.6,4990.3\n1998-09-18,5111.4,5152.2,5034.7,5055.6\n1998-09-17,5273.9,5273.9,5101.5,5132.9\n1998-09-16,5290.2,5360.6,5276.8,5291.7\n1998-09-15,5256.1,5283.0,5192.5,5281.7\n1998-09-14,5123.0,5268.6,5122.0,5268.6\n1998-09-11,5115.6,5137.7,4988.8,5118.6\n1998-09-10,5299.4,5299.4,5121.8,5136.6\n1998-09-09,5336.7,5365.2,5256.4,5311.3\n1998-09-08,5354.3,5399.8,5313.9,5344.2\n1998-09-07,5204.5,5352.6,5204.5,5347.0\n1998-09-04,5114.7,5194.9,5113.5,5167.0\n1998-09-03,5215.1,5215.1,5089.3,5118.7\n1998-09-02,5219.7,5341.6,5219.3,5235.8\n1998-09-01,5139.5,5219.0,5075.7,5169.1\n1998-08-28,5305.2,5371.0,5108.7,5249.4\n1998-08-27,5525.5,5554.7,5353.5,5368.5\n1998-08-26,5654.4,5654.4,5501.7,5545.4\n1998-08-25,5561.0,5655.6,5561.0,5654.4\n1998-08-24,5503.3,5553.7,5444.5,5553.7\n1998-08-21,5654.9,5654.9,5455.1,5477.0\n1998-08-20,5700.4,5706.8,5631.8,5667.4\n1998-08-19,5652.2,5712.8,5652.2,5694.3\n1998-08-18,5501.7,5648.2,5501.7,5648.2\n1998-08-17,5450.7,5485.9,5398.0,5467.2\n1998-08-14,5434.9,5517.6,5434.9,5455.0\n1998-08-13,5443.4,5443.4,5350.3,5399.5\n1998-08-12,5470.9,5494.3,5403.6,5462.2\n1998-08-11,5557.1,5557.1,5403.3,5432.8\n1998-08-10,5674.4,5674.4,5555.9,5587.6\n1998-08-07,5588.9,5682.4,5584.4,5680.4\n1998-08-06,5638.4,5641.7,5546.9,5594.1\n1998-08-05,5688.4,5688.4,5571.4,5632.5\n1998-08-04,5821.0,5828.8,5724.6,5736.1\n1998-08-03,5832.2,5832.2,5752.0,5809.7\n1998-07-31,5909.9,5930.1,5834.7,5837.0\n1998-07-30,5853.7,5932.5,5842.3,5910.7\n1998-07-29,5831.1,5858.5,5782.2,5844.1\n1998-07-28,5853.3,5894.0,5809.8,5835.8\n1998-07-27,5905.8,5927.7,5821.7,5836.1\n1998-07-24,5965.1,5965.1,5871.7,5892.3\n1998-07-23,5982.2,6004.8,5925.3,5976.2\n1998-07-22,6115.6,6115.6,5989.6,5989.6\n1998-07-21,6168.0,6168.0,6115.4,6132.7\n1998-07-20,6168.7,6183.7,6157.3,6179.0\n1998-07-17,6114.6,6177.3,6113.4,6174.0\n1998-07-16,6148.0,6180.4,6086.5,6166.8\n1998-07-15,6107.6,6179.8,6107.6,6151.5\n1998-07-14,5957.7,6111.2,5956.7,6100.2\n1998-07-13,5929.3,5972.6,5926.4,5958.2\n1998-07-10,5953.8,5969.7,5915.5,5929.7\n1998-07-09,6008.5,6043.8,5948.1,5969.7\n1998-07-08,6008.4,6027.1,5977.4,6009.6\n1998-07-07,6005.9,6036.6,5985.0,6003.4\n1998-07-06,5989.4,5991.4,5931.1,5990.3\n1998-07-03,5959.9,6022.1,5959.9,5988.4\n1998-07-02,5932.2,5996.7,5932.2,5960.2\n1998-07-01,5840.6,5947.0,5840.6,5919.9\n1998-06-30,5883.4,5885.6,5825.0,5832.5\n1998-06-29,5883.7,5923.9,5869.1,5884.5\n1998-06-26,5847.3,5879.0,5819.9,5877.4\n1998-06-25,5809.6,5885.9,5809.6,5858.9\n1998-06-24,5771.0,5805.0,5728.5,5804.9\n1998-06-23,5709.0,5774.8,5701.6,5772.0\n1998-06-22,5747.4,5750.1,5676.5,5712.4\n1998-06-19,5810.3,5831.3,5748.1,5748.1\n1998-06-18,5847.1,5871.4,5769.0,5812.1\n1998-06-17,5741.6,5838.6,5741.6,5832.7\n1998-06-16,5699.2,5754.0,5687.7,5729.7\n1998-06-15,5781.4,5783.8,5646.1,5715.7\n1998-06-12,5852.7,5900.6,5750.3,5769.8\n1998-06-11,5977.3,5977.3,5852.5,5852.5\n1998-06-10,6003.7,6005.9,5944.8,5987.4\n1998-06-09,6035.4,6038.3,6003.8,6019.8\n1998-06-08,5952.3,6049.6,5952.3,6037.8\n1998-06-05,5874.7,5947.3,5873.4,5947.3\n1998-06-04,5895.0,5895.0,5820.8,5860.8\n1998-06-03,5840.0,5913.6,5840.0,5898.4\n1998-06-02,5839.9,5847.7,5809.9,5837.9\n1998-06-01,5870.7,5870.7,5777.7,5837.9\n1998-05-29,5867.6,5915.1,5865.4,5870.7\n1998-05-28,5880.0,5905.6,5816.5,5862.3\n1998-05-27,5951.9,5951.9,5836.9,5870.2\n1998-05-26,5972.6,6023.9,5964.7,5970.7\n1998-05-22,5931.8,5957.7,5908.8,5955.6\n1998-05-21,5904.6,5991.1,5904.3,5935.6\n1998-05-20,5880.7,5941.2,5880.7,5907.4\n1998-05-19,5827.3,5895.6,5827.3,5877.8\n1998-05-18,5916.7,5917.8,5794.5,5826.2\n1998-05-15,5950.4,5953.2,5866.5,5917.8\n1998-05-14,5972.5,5981.3,5898.6,5948.5\n1998-05-13,5961.0,6000.2,5949.5,5972.9\n1998-05-12,6017.7,6017.8,5955.3,5956.7\n1998-05-11,5968.5,6030.9,5957.4,6028.3\n1998-05-08,5941.4,5977.7,5898.5,5969.8\n1998-05-07,5990.5,5990.5,5899.4,5938.0\n1998-05-06,5986.9,6000.0,5947.4,5992.4\n1998-05-05,6017.6,6064.6,5972.6,5986.5\n1998-05-01,5932.7,6025.1,5932.7,6010.3\n1998-04-30,5833.9,5954.9,5818.6,5928.3\n1998-04-29,5807.3,5838.7,5774.4,5833.1\n1998-04-28,5726.3,5823.4,5726.3,5806.6\n1998-04-27,5861.8,5863.9,5699.9,5722.4\n1998-04-24,5893.1,5893.1,5785.7,5863.9\n1998-04-23,5935.6,5970.2,5851.4,5898.1\n1998-04-22,5960.6,5995.8,5918.5,5931.1\n1998-04-21,5951.5,5976.0,5884.8,5955.0\n1998-04-20,5939.9,5993.3,5922.2,5954.1\n1998-04-17,6004.9,6005.1,5916.9,5922.2\n1998-04-16,6069.7,6074.1,5964.4,6002.0\n1998-04-15,6104.9,6139.1,6073.3,6074.1\n1998-04-14,6111.8,6150.5,6083.2,6104.1\n1998-04-09,6050.7,6105.5,6038.6,6105.5\n1998-04-08,6089.3,6095.5,6033.9,6055.2\n1998-04-07,6109.3,6134.9,6063.1,6094.0\n1998-04-06,6062.5,6115.8,6040.7,6105.8\n1998-04-03,6050.4,6105.3,6024.5,6064.2\n1998-04-02,6016.2,6052.8,6003.9,6052.8\n1998-04-01,5930.9,6030.7,5907.1,6017.6\n1998-03-31,5907.4,5932.5,5875.4,5932.2\n1998-03-30,5939.2,5950.4,5874.8,5911.9\n1998-03-27,5905.1,5977.0,5898.0,5939.3\n1998-03-26,5958.6,5967.8,5850.7,5905.6\n1998-03-25,5983.1,6007.6,5958.5,5967.8\n1998-03-24,5942.8,5983.7,5941.1,5983.7\n1998-03-23,5993.8,6023.1,5946.8,5947.0\n1998-03-20,6015.1,6105.8,5880.9,5956.3\n1998-03-19,5909.9,5997.9,5901.2,5997.9\n1998-03-18,5833.7,5903.6,5831.3,5903.6\n1998-03-17,5785.1,5853.7,5779.9,5834.9\n1998-03-16,5782.9,5813.4,5773.5,5785.1\n1998-03-13,5797.5,5841.2,5758.1,5782.3\n1998-03-12,5830.5,5831.3,5776.2,5794.8\n1998-03-11,5828.4,5861.9,5811.4,5829.8\n1998-03-10,5817.2,5858.1,5794.0,5828.5\n1998-03-09,5782.6,5826.6,5764.6,5818.9\n1998-03-06,5700.5,5791.8,5688.4,5782.9\n1998-03-05,5715.9,5733.1,5629.1,5695.6\n1998-03-04,5807.2,5812.7,5704.5,5733.1\n1998-03-03,5814.1,5850.0,5789.5,5807.7\n1998-03-02,5767.3,5846.9,5747.1,5820.6\n1998-02-27,5767.5,5821.8,5741.8,5767.3\n1998-02-26,5757.5,5784.5,5706.3,5764.8\n1998-02-25,5666.7,5745.1,5651.0,5745.1\n1998-02-24,5592.3,5653.7,5584.9,5651.0\n1998-02-23,5749.4,5793.2,5696.3,5702.8\n1998-02-20,5707.1,5744.7,5691.5,5718.5\n1998-02-19,5707.1,5744.7,5691.5,5718.5\n1998-02-18,5712.3,5741.3,5688.0,5723.4\n1998-02-17,5612.2,5709.5,5612.2,5709.5\n1998-02-16,5580.5,5634.3,5578.5,5619.9\n1998-02-13,5549.1,5582.3,5530.8,5582.3\n1998-02-12,5611.4,5616.6,5538.6,5552.5\n1998-02-11,5622.5,5646.7,5591.3,5607.9\n1998-02-10,5595.3,5630.3,5586.8,5613.3\n1998-02-09,5630.5,5650.2,5590.3,5600.9\n1998-02-06,5601.9,5629.7,5556.2,5629.7\n1998-02-05,5595.2,5675.1,5577.8,5606.4\n1998-02-04,5605.6,5612.8,5570.6,5595.8\n1998-02-03,5599.0,5612.8,5574.1,5612.8\n1998-02-02,5589.9,5616.1,5569.6,5599.0\n1998-01-30,5423.6,5458.5,5389.5,5458.5\n1998-01-29,5375.0,5434.1,5364.3,5422.4\n1998-01-28,5328.1,5415.3,5328.1,5372.6\n1998-01-27,5241.4,5338.9,5241.4,5326.3\n1998-01-26,5184.4,5244.4,5179.5,5237.2\n1998-01-23,5254.6,5254.6,5172.8,5181.4\n1998-01-22,5261.3,5262.9,5215.9,5253.1\n1998-01-21,5278.2,5297.3,5230.6,5272.3\n1998-01-20,5270.0,5298.6,5250.6,5278.2\n1998-01-19,5273.7,5313.6,5265.7,5273.6\n1998-01-16,5168.7,5277.2,5168.7,5263.1\n1998-01-15,5104.7,5167.9,5099.6,5165.8\n1998-01-14,5094.9,5135.8,5094.9,5106.9\n1998-01-13,5078.0,5110.2,5074.3,5083.9\n1998-01-12,5093.4,5093.4,4988.3,5068.8\n1998-01-09,5230.1,5230.1,5125.4,5138.3\n1998-01-08,5232.1,5296.4,5220.0,5237.1\n1998-01-07,5246.2,5265.6,5218.2,5224.1\n1998-01-06,5258.5,5271.4,5220.8,5264.4\n1998-01-05,5191.5,5262.5,5182.8,5262.5\n1998-01-02,5136.0,5203.8,5136.0,5193.5\n1997-12-31,5133.1,5182.3,5133.1,5135.5\n1997-12-30,5114.2,5144.8,5114.2,5132.3\n1997-12-29,5011.1,5112.5,5008.7,5112.4\n1997-12-24,5048.5,5048.5,5004.6,5013.9\n1997-12-23,5019.6,5055.0,5018.9,5049.8\n1997-12-22,5013.3,5048.1,5004.5,5018.2\n1997-12-19,5163.6,5163.6,4985.7,5020.2\n1997-12-18,5192.8,5219.3,5148.5,5168.3\n1997-12-17,5203.4,5247.6,5183.1,5190.8\n1997-12-16,5124.1,5210.6,5124.1,5203.4\n1997-12-15,5048.2,5121.9,5048.2,5121.8\n1997-12-12,5037.4,5069.6,5036.5,5045.2\n1997-12-11,5118.5,5130.7,4999.6,5035.9\n1997-12-10,5163.1,5177.1,5098.5,5130.7\n1997-12-09,5184.3,5200.4,5155.3,5177.1\n1997-12-08,5143.2,5223.5,5143.2,5187.4\n1997-12-05,5081.0,5178.5,5047.9,5142.9\n1997-12-04,4978.3,5082.3,4970.7,5082.3\n1997-12-03,4974.9,4988.1,4951.1,4970.7\n1997-12-02,4935.3,4980.1,4935.3,4977.6\n1997-12-01,4871.7,4932.0,4859.8,4921.8\n1997-11-28,4889.6,4889.8,4831.8,4831.8\n1997-11-27,4891.3,4913.6,4880.7,4889.0\n1997-11-26,4863.5,4907.3,4863.5,4891.2\n1997-11-25,4898.6,4917.2,4854.8,4863.5\n1997-11-24,4977.7,4985.8,4883.6,4898.6\n1997-11-21,4915.9,4985.8,4915.9,4985.8\n1997-11-20,4832.2,4921.4,4826.0,4908.4\n1997-11-19,4821.8,4850.3,4786.1,4830.1\n1997-11-18,4858.9,4858.9,4827.3,4845.4\n1997-11-17,4762.4,4891.8,4741.8,4867.0\n1997-11-14,4713.3,4801.3,4713.3,4741.8\n1997-11-13,4726.4,4740.3,4697.5,4711.0\n1997-11-12,4777.1,4793.7,4680.4,4720.4\n1997-11-11,4824.4,4824.7,4755.0,4793.7\n1997-11-10,4770.2,4828.3,4764.3,4806.8\n1997-11-07,4850.8,4850.8,4699.6,4764.3\n1997-11-06,4909.2,4910.0,4841.2,4863.8\n1997-11-05,4902.6,4947.6,4863.3,4908.3\n1997-11-04,4928.0,4930.2,4879.1,4897.4\n1997-11-03,4877.0,4944.6,4842.3,4906.4\n1997-10-31,4813.1,4860.6,4763.4,4842.3\n1997-10-30,4845.7,4845.7,4707.3,4801.9\n1997-10-29,4755.4,4917.4,4755.4,4871.8\n1997-10-28,4840.7,4840.7,4382.8,4755.4\n1997-10-27,4970.2,4970.2,4840.7,4840.7\n1997-10-24,4991.5,5103.2,4960.2,4970.2\n1997-10-23,5148.8,5148.8,4926.7,4991.5\n1997-10-22,5225.9,5257.6,5125.5,5148.8\n1997-10-21,5211.0,5257.5,5211.0,5225.9\n1997-10-20,5271.1,5271.1,5152.3,5211.0\n1997-10-17,5255.6,5277.5,5248.2,5271.1\n1997-10-16,5288.9,5292.7,5270.5,5287.9\n1997-10-15,5276.2,5276.2,5222.4,5263.7\n1997-10-14,5295.7,5302.9,5272.0,5298.9\n1997-10-13,5252.3,5301.0,5252.3,5300.1\n1997-10-10,5224.7,5227.3,5186.7,5227.3\n1997-10-09,5246.9,5255.9,5166.1,5217.8\n1997-10-08,5325.4,5366.5,5235.1,5262.1\n1997-10-07,5307.1,5340.5,5285.1,5305.6\n1997-10-06,5309.3,5309.3,5268.0,5300.0\n1997-10-03,5293.9,5333.9,5274.2,5330.8\n1997-10-02,5356.5,5367.3,5283.0,5296.1\n1997-10-01,5241.4,5320.1,5240.8,5317.1\n1997-09-30,5226.0,5269.2,5209.0,5244.2\n1997-09-29,5221.3,5244.3,5202.6,5220.3\n1997-09-26,5101.5,5244.3,5101.5,5226.3\n1997-09-25,5069.0,5072.1,5058.0,5065.5\n1997-09-24,5026.9,5077.2,5026.6,5077.2\n1997-09-23,5079.8,5095.1,5025.6,5027.5\n1997-09-22,5019.0,5077.8,5014.8,5075.7\n1997-09-19,5061.6,5064.3,5023.8,5023.8\n1997-09-18,4994.5,5057.8,4993.6,5046.2\n1997-09-17,5025.4,5035.3,5002.3,5013.1\n1997-09-16,4892.8,4977.3,4876.8,4976.4\n1997-09-15,4876.3,4902.9,4864.6,4902.9\n1997-09-12,4851.2,4878.0,4833.9,4848.2\n1997-09-11,4876.3,4879.6,4854.8,4854.8\n1997-09-10,4952.3,4964.5,4905.2,4905.2\n1997-09-09,4981.2,4981.9,4931.6,4950.5\n1997-09-08,4985.9,4999.8,4973.1,4985.2\n1997-09-05,4984.7,5028.3,4984.3,4994.2\n1997-09-04,4967.8,4991.3,4948.7,4991.3\n1997-09-03,5007.3,5027.3,4974.5,4976.9\n1997-09-02,4872.2,4954.2,4872.2,4952.2\n1997-09-01,4816.6,4872.7,4795.3,4870.2\n1997-08-29,4827.4,4832.3,4785.2,4817.5\n1997-08-28,4921.2,4922.4,4835.2,4845.4\n1997-08-27,4869.5,4920.3,4869.5,4906.9\n1997-08-26,4910.6,4924.8,4851.9,4886.3\n1997-08-22,4969.7,4969.7,4867.1,4901.1\n1997-08-21,4989.1,4994.1,4962.5,4978.0\n1997-08-20,4954.7,4961.5,4936.1,4958.4\n1997-08-19,4875.3,4918.0,4875.3,4914.2\n1997-08-18,4794.0,4852.6,4779.3,4835.0\n1997-08-15,4988.5,4990.8,4865.8,4865.8\n1997-08-14,5012.3,5031.8,4990.6,4991.3\n1997-08-13,5054.0,5054.0,4994.8,5003.6\n1997-08-12,5057.7,5078.2,5041.9,5075.8\n1997-08-11,4974.8,5051.1,4966.4,5031.9\n1997-08-08,5072.6,5088.4,5009.4,5031.3\n1997-08-07,5036.6,5095.3,5009.3,5086.8\n1997-08-06,4965.6,5027.7,4965.6,5026.2\n1997-08-05,4921.7,4960.6,4921.7,4960.6\n1997-08-04,4896.7,4907.2,4874.0,4895.7\n1997-08-01,4914.6,4936.0,4886.0,4899.3\n1997-07-31,4930.8,4941.7,4907.4,4907.5\n1997-07-30,4888.4,4927.3,4888.4,4927.3\n1997-07-29,4858.7,4895.9,4856.7,4876.6\n1997-07-28,4857.4,4868.3,4835.3,4862.6\n1997-07-25,4880.4,4881.2,4834.8,4851.5\n1997-07-24,4875.6,4897.7,4855.4,4862.9\n1997-07-23,4902.1,4931.5,4866.9,4874.5\n1997-07-22,4818.1,4848.0,4818.1,4846.7\n1997-07-21,4858.8,4858.8,4794.9,4805.7\n1997-07-18,4956.8,4998.1,4848.3,4877.2\n1997-07-17,4973.9,4993.0,4935.5,4949.0\n1997-07-16,4909.6,4991.8,4909.6,4964.2\n1997-07-15,4859.7,4903.2,4859.7,4899.3\n1997-07-14,4813.2,4857.4,4796.0,4857.4\n1997-07-11,4765.5,4800.1,4765.5,4799.5\n1997-07-10,4747.1,4767.8,4732.7,4767.8\n1997-07-09,4766.5,4778.1,4729.8,4762.4\n1997-07-08,4798.9,4799.9,4751.9,4758.5\n1997-07-07,4819.0,4820.0,4776.4,4810.7\n1997-07-04,4820.3,4879.0,4801.2,4812.8\n1997-07-03,4692.9,4863.6,4688.8,4831.7\n1997-07-02,4737.5,4791.1,4715.9,4751.4\n1997-07-01,4606.0,4728.3,4597.1,4728.3\n1997-06-30,4645.1,4662.4,4603.2,4604.6\n1997-06-27,4651.3,4652.0,4623.1,4640.3\n1997-06-26,4639.2,4660.4,4628.4,4657.9\n1997-06-25,4623.3,4640.5,4622.4,4640.0\n1997-06-24,4538.3,4598.6,4538.3,4596.3\n1997-06-23,4597.0,4597.0,4547.0,4575.8\n1997-06-20,4672.0,4672.1,4593.9,4593.9\n1997-06-19,4667.0,4668.9,4629.1,4653.7\n1997-06-18,4687.0,4688.1,4627.3,4657.0\n1997-06-17,4746.3,4758.1,4669.1,4682.2\n1997-06-16,4777.2,4777.2,4735.5,4745.1\n1997-06-13,4776.2,4796.0,4771.9,4783.1\n1997-06-12,4715.5,4759.2,4711.3,4757.4\n1997-06-11,4751.5,4759.3,4720.9,4724.8\n1997-06-10,4683.6,4739.6,4678.3,4739.6\n1997-06-09,4653.3,4686.7,4653.3,4686.7\n1997-06-06,4588.0,4645.0,4577.5,4645.0\n1997-06-05,4551.3,4576.3,4534.9,4576.2\n1997-06-04,4563.8,4585.9,4553.3,4557.1\n1997-06-03,4564.0,4565.6,4524.2,4557.8\n1997-06-02,4644.7,4645.7,4549.5,4562.8\n1997-05-30,4677.0,4684.2,4595.9,4621.3\n1997-05-29,4657.8,4688.3,4656.3,4672.3\n1997-05-28,4681.6,4705.2,4670.7,4677.5\n1997-05-27,4661.2,4692.4,4661.2,4681.6\n1997-05-23,4653.7,4672.7,4652.1,4661.8\n1997-05-22,4635.7,4661.7,4626.9,4651.8\n1997-05-21,4616.8,4653.8,4616.7,4642.0\n1997-05-20,4646.0,4646.2,4600.4,4607.5\n1997-05-19,4669.4,4687.7,4640.7,4645.2\n1997-05-16,4688.9,4723.7,4686.7,4693.9\n1997-05-15,4664.7,4681.2,4654.4,4681.2\n1997-05-14,4684.0,4715.2,4660.4,4686.9\n1997-05-13,4685.5,4720.3,4676.8,4691.0\n1997-05-12,4641.8,4669.6,4622.9,4669.6\n1997-05-09,4597.2,4646.0,4595.2,4630.9\n1997-05-08,4521.8,4580.4,4517.6,4580.4\n1997-05-07,4524.4,4562.0,4522.5,4537.5\n1997-05-06,4501.1,4525.6,4472.9,4519.3\n1997-05-02,4430.0,4468.4,4423.6,4455.6\n1997-05-01,4435.9,4454.4,4435.9,4445.0\n1997-04-30,4465.9,4466.5,4414.3,4436.0\n1997-04-29,4402.3,4433.7,4395.4,4433.2\n1997-04-28,4361.6,4389.7,4361.2,4389.7\n1997-04-25,4381.3,4385.7,4363.3,4369.7\n1997-04-24,4380.8,4400.4,4378.2,4388.5\n1997-04-23,4391.5,4396.1,4375.9,4387.7\n1997-04-22,4319.4,4346.7,4319.2,4346.1\n1997-04-21,4320.6,4328.7,4299.2,4328.7\n1997-04-18,4293.6,4310.5,4293.0,4310.5\n1997-04-17,4312.3,4312.3,4291.5,4298.9\n1997-04-16,4301.8,4307.4,4280.2,4294.6\n1997-04-15,4275.6,4289.1,4260.1,4286.8\n1997-04-14,4232.9,4255.8,4232.9,4251.7\n1997-04-11,4318.3,4335.1,4269.6,4270.7\n1997-04-10,4287.9,4313.2,4278.7,4313.2\n1997-04-09,4288.3,4301.5,4287.8,4292.3\n1997-04-08,4279.9,4279.9,4259.6,4269.3\n1997-04-07,4255.3,4273.1,4254.8,4271.7\n1997-04-04,4222.6,4247.6,4222.0,4236.6\n1997-04-03,4213.3,4233.2,4207.5,4214.6\n1997-04-02,4263.2,4266.2,4219.0,4236.6\n1997-04-01,4205.1,4248.1,4200.5,4248.1\n1997-03-27,4303.9,4331.4,4303.9,4312.9\n1997-03-26,4261.1,4320.2,4261.1,4301.5\n1997-03-25,4247.4,4272.1,4240.6,4270.7\n1997-03-24,4260.4,4265.6,4214.3,4214.8\n1997-03-21,4260.6,4273.9,4242.4,4254.8\n1997-03-20,4323.1,4323.1,4251.5,4258.1\n1997-03-19,4348.7,4371.4,4331.4,4332.2\n1997-03-18,4378.3,4378.3,4340.1,4356.8\n1997-03-17,4406.5,4408.1,4372.0,4373.3\n1997-03-14,4351.2,4424.3,4351.0,4424.3\n1997-03-13,4409.4,4412.3,4394.0,4397.7\n1997-03-12,4432.4,4442.3,4419.2,4422.5\n1997-03-11,4465.2,4466.3,4443.0,4444.3\n1997-03-10,4421.6,4440.8,4421.6,4437.4\n1997-03-07,4402.7,4420.7,4391.4,4420.3\n1997-03-06,4385.8,4402.7,4382.0,4399.3\n1997-03-05,4345.5,4367.3,4338.8,4360.1\n1997-03-04,4322.1,4359.1,4321.8,4357.7\n1997-03-03,4293.4,4307.1,4287.3,4307.1\n1997-02-28,4340.4,4340.4,4299.9,4308.3\n1997-02-27,4326.4,4339.2,4326.2,4339.2\n1997-02-26,4351.4,4355.1,4316.8,4329.3\n1997-02-25,4346.3,4357.9,4344.5,4344.7\n1997-02-24,4327.5,4333.1,4315.8,4331.1\n1997-02-21,4335.3,4349.0,4312.4,4336.8\n1997-02-20,4349.8,4362.4,4341.8,4356.1\n1997-02-19,4346.1,4357.4,4339.9,4357.4\n1997-02-18,4331.2,4350.9,4331.2,4332.3\n1997-02-17,4336.3,4338.4,4319.1,4337.8\n1997-02-14,4328.8,4353.4,4327.9,4341.0\n1997-02-13,4315.2,4329.9,4315.2,4327.1\n1997-02-12,4316.4,4324.3,4293.6,4304.3\n1997-02-11,4293.4,4310.7,4288.9,4304.3\n1997-02-10,4304.4,4330.0,4302.6,4307.7\n1997-02-07,4269.1,4310.1,4268.6,4307.8\n1997-02-06,4260.8,4275.2,4260.8,4265.9\n1997-02-05,4263.7,4286.9,4262.9,4281.5\n1997-02-04,4255.6,4276.3,4255.6,4260.9\n1997-02-03,4272.3,4272.5,4252.8,4257.8\n1997-01-31,4252.6,4275.8,4242.9,4275.8\n1997-01-30,4222.6,4229.7,4219.7,4228.4\n1997-01-29,4228.5,4230.2,4197.2,4207.5\n1997-01-28,4206.4,4238.3,4191.3,4237.4\n1997-01-27,4207.0,4223.9,4206.0,4212.0\n1997-01-24,4230.0,4251.3,4215.7,4218.8\n1997-01-23,4214.5,4227.5,4203.5,4219.1\n1997-01-22,4214.5,4227.5,4203.5,4219.1\n1997-01-21,4186.6,4195.5,4167.6,4195.5\n1997-01-20,4216.8,4217.5,4184.7,4194.0\n1997-01-17,4194.3,4218.4,4193.4,4207.7\n1997-01-16,4157.3,4198.9,4153.2,4197.5\n1997-01-15,4190.9,4191.5,4147.6,4158.9\n1997-01-14,4110.9,4168.2,4108.8,4168.2\n1997-01-13,4087.9,4107.3,4078.6,4107.3\n1997-01-10,4096.4,4096.4,4036.9,4056.6\n1997-01-09,4060.4,4087.0,4050.5,4087.0\n1997-01-08,4089.8,4098.4,4082.6,4087.5\n1997-01-07,4103.5,4105.9,4076.8,4078.8\n1997-01-06,4105.2,4108.0,4096.2,4106.5\n1997-01-03,4072.7,4089.5,4068.2,4089.5\n1997-01-02,4079.9,4095.3,4057.1,4057.4\n1996-12-31,4111.6,4123.2,4109.1,4118.5\n1996-12-30,4095.3,4115.7,4095.3,4115.7\n1996-12-27,4096.5,4102.9,4088.6,4091.0\n1996-12-24,4086.3,4093.1,4086.3,4092.5\n1996-12-23,4076.3,4087.2,4066.7,4087.2\n1996-12-20,4096.4,4100.0,4069.0,4077.6\n1996-12-19,4021.3,4051.3,4018.2,4051.3\n1996-12-18,3988.4,4018.3,3988.4,4018.2\n1996-12-17,3978.4,3990.4,3970.8,3979.6\n1996-12-16,3981.1,3993.8,3976.6,3993.8\n1996-12-13,3968.9,3972.4,3933.9,3972.4\n1996-12-12,3987.7,4009.9,3983.0,3990.7\n1996-12-11,4008.8,4008.8,3963.8,3982.5\n1996-12-10,4033.4,4043.2,4025.0,4035.7\n1996-12-09,3988.1,4011.6,3987.4,4011.6\n1996-12-06,3993.5,3994.4,3882.7,3963.0\n1996-12-05,4044.1,4076.0,4043.8,4051.2\n1996-12-04,4055.7,4055.8,4038.2,4045.2\n1996-12-03,4043.4,4066.7,4043.4,4061.5\n1996-12-02,4055.9,4055.9,4033.2,4038.5\n1996-11-29,4051.8,4067.8,4051.5,4058.0\n1996-11-28,4040.2,4050.2,4038.0,4050.2\n1996-11-27,4066.2,4085.0,4040.0,4049.2\n1996-11-26,4092.8,4094.4,4068.2,4068.4\n1996-11-25,4030.7,4055.3,4029.5,4054.6\n1996-11-22,3959.0,4018.7,3959.0,4018.7\n1996-11-21,3961.4,3966.0,3947.3,3953.8\n1996-11-20,3989.0,3989.0,3961.3,3962.8\n1996-11-19,3966.6,3978.4,3954.1,3978.1\n1996-11-18,3960.1,3966.4,3952.2,3962.1\n1996-11-15,3938.1,3958.4,3929.6,3958.2\n1996-11-14,3935.1,3940.3,3904.4,3926.1\n1996-11-13,3934.5,3939.5,3922.9,3926.9\n1996-11-12,3921.8,3934.3,3921.0,3934.3\n1996-11-11,3907.5,3914.7,3896.5,3914.4\n1996-11-08,3907.3,3923.4,3906.4,3910.8\n1996-11-07,3952.9,3953.0,3898.2,3900.4\n1996-11-06,3946.2,3946.5,3911.7,3935.7\n1996-11-05,3921.0,3930.4,3911.0,3921.1\n1996-11-04,3955.8,3956.2,3924.7,3928.1\n1996-11-01,3982.7,3988.0,3941.9,3948.5\n1996-10-31,3952.6,3979.1,3951.9,3979.1\n1996-10-30,4006.8,4010.8,3957.7,3963.9\n1996-10-29,4005.0,4009.4,3988.9,3993.5\n1996-10-28,4020.2,4037.6,4020.2,4025.3\n1996-10-25,3988.0,4023.3,3981.8,4022.4\n1996-10-24,4027.3,4035.7,3999.4,3999.4\n1996-10-23,4059.0,4060.2,4019.7,4028.4\n1996-10-22,4066.3,4069.5,4055.9,4057.2\n1996-10-21,4059.4,4073.2,4056.4,4073.1\n1996-10-18,4054.5,4061.4,4048.0,4053.1\n1996-10-17,4032.9,4044.3,4031.1,4042.1\n1996-10-16,4039.3,4040.3,4021.7,4024.4\n1996-10-15,4050.1,4063.2,4043.4,4050.8\n1996-10-14,4020.6,4040.0,4017.0,4038.7\n1996-10-11,3995.0,4028.1,3994.9,4028.1\n1996-10-10,3999.4,4009.9,3981.2,3994.7\n1996-10-09,4025.5,4037.9,4007.2,4009.3\n1996-10-08,4023.3,4037.9,3995.3,4035.6\n1996-10-07,4042.9,4046.8,4030.3,4031.5\n1996-10-04,3994.6,4025.1,3982.2,4024.8\n1996-10-03,4015.4,4024.3,3994.6,4000.0\n1996-10-02,4004.2,4016.4,4001.5,4015.1\n1996-10-01,3954.7,3992.2,3954.7,3992.2\n1996-09-30,3947.6,3954.0,3934.4,3953.7\n1996-09-27,3936.5,3954.6,3936.5,3946.4\n1996-09-26,3936.4,3941.8,3926.2,3933.2\n1996-09-25,3917.7,3938.8,3917.7,3935.7\n1996-09-24,3926.2,3933.4,3904.3,3910.5\n1996-09-23,3952.0,3952.3,3914.9,3919.7\n1996-09-20,3976.4,3994.1,3963.3,3964.1\n1996-09-19,3950.9,3987.7,3950.7,3974.3\n1996-09-18,3965.4,3971.3,3952.0,3955.7\n1996-09-17,3985.8,3986.7,3965.5,3972.3\n1996-09-16,3976.7,3980.8,3972.2,3977.2\n1996-09-13,3936.9,3970.5,3929.0,3967.9\n1996-09-12,3915.1,3932.8,3913.0,3932.6\n1996-09-11,3914.1,3914.1,3899.5,3905.6\n1996-09-10,3929.4,3933.6,3914.1,3916.1\n1996-09-09,3903.6,3916.4,3901.0,3910.8\n1996-09-06,3872.2,3893.0,3856.8,3893.0\n1996-09-05,3873.1,3887.6,3870.2,3887.2\n1996-09-04,3874.3,3884.1,3872.1,3872.7\n1996-09-03,3877.1,3877.1,3835.8,3855.9\n1996-09-02,3873.7,3885.3,3873.7,3884.4\n1996-08-30,3866.7,3881.7,3865.9,3867.6\n1996-08-29,3915.9,3921.1,3883.8,3885.0\n1996-08-28,3908.6,3922.1,3908.6,3918.7\n1996-08-27,3889.7,3908.8,3885.9,3905.7\n1996-08-23,3907.6,3911.6,3896.4,3907.5\n1996-08-22,3871.0,3891.9,3867.0,3891.1\n1996-08-21,3894.2,3894.4,3870.6,3872.1\n1996-08-20,3867.2,3884.8,3866.7,3883.2\n1996-08-19,3877.1,3877.9,3861.2,3863.7\n1996-08-16,3842.9,3873.1,3842.8,3872.9\n1996-08-15,3837.3,3843.3,3831.8,3837.4\n1996-08-14,3814.4,3831.7,3813.1,3830.3\n1996-08-13,3811.9,3826.4,3811.8,3823.4\n1996-08-12,3796.4,3811.5,3792.4,3803.3\n1996-08-09,3812.6,3812.7,3793.9,3810.7\n1996-08-08,3815.0,3816.5,3802.6,3811.4\n1996-08-07,3794.7,3815.8,3794.7,3811.1\n1996-08-06,3783.1,3791.4,3775.4,3788.4\n1996-08-05,3777.8,3790.6,3773.8,3788.3\n1996-08-02,3750.3,3770.7,3734.1,3770.6\n1996-08-01,3709.3,3735.1,3697.7,3734.4\n1996-07-31,3680.8,3704.3,3677.0,3703.2\n1996-07-30,3666.0,3677.8,3661.2,3668.5\n1996-07-29,3675.5,3684.4,3675.0,3678.8\n1996-07-26,3685.1,3690.5,3668.9,3673.3\n1996-07-25,3672.6,3686.9,3670.3,3684.7\n1996-07-24,3677.6,3679.1,3643.7,3668.8\n1996-07-23,3681.8,3708.5,3681.8,3708.4\n1996-07-22,3706.9,3707.3,3672.2,3681.3\n1996-07-19,3711.5,3726.9,3706.7,3710.5\n1996-07-18,3662.6,3693.4,3662.6,3693.4\n1996-07-17,3648.3,3668.8,3645.4,3658.2\n1996-07-16,3648.2,3653.0,3612.6,3632.3\n1996-07-15,3721.1,3724.6,3695.5,3698.3\n1996-07-12,3737.6,3745.8,3715.3,3728.3\n1996-07-11,3768.9,3777.2,3748.9,3749.0\n1996-07-10,3757.5,3773.2,3757.5,3765.8\n1996-07-09,3744.3,3757.6,3744.2,3752.3\n1996-07-08,3723.6,3752.1,3723.3,3741.5\n1996-07-05,3769.4,3790.0,3729.6,3743.2\n1996-07-04,3719.8,3760.7,3717.5,3760.6\n1996-07-03,3729.3,3729.4,3713.7,3714.1\n1996-07-02,3744.1,3744.3,3725.6,3725.7\n1996-07-01,3710.4,3725.6,3708.2,3725.6\n1996-06-28,3692.8,3712.6,3691.3,3711.0\n1996-06-27,3687.1,3691.5,3671.6,3678.8\n1996-06-26,3687.8,3696.3,3685.2,3695.5\n1996-06-25,3710.2,3710.3,3679.1,3679.5\n1996-06-24,3729.7,3729.7,3710.8,3710.8\n1996-06-21,3726.5,3738.3,3722.3,3722.3\n1996-06-20,3756.1,3756.5,3726.9,3727.5\n1996-06-19,3748.7,3756.7,3747.7,3753.2\n1996-06-18,3763.5,3764.2,3752.8,3756.4\n1996-06-17,3755.9,3767.7,3752.1,3761.5\n1996-06-14,3760.7,3770.7,3744.7,3753.6\n1996-06-13,3763.2,3766.2,3753.7,3761.7\n1996-06-12,3752.9,3769.2,3746.0,3769.2\n1996-06-11,3729.9,3755.7,3720.3,3755.7\n1996-06-10,3726.8,3737.3,3719.5,3728.8\n1996-06-07,3755.3,3755.5,3694.8,3706.8\n1996-06-06,3757.0,3774.7,3756.5,3760.3\n1996-06-05,3759.2,3760.0,3745.4,3753.4\n1996-06-04,3743.9,3755.2,3735.2,3755.2\n1996-06-03,3737.0,3747.8,3730.1,3739.2\n1996-05-31,3753.9,3766.5,3745.0,3747.8\n1996-05-30,3767.0,3770.7,3741.0,3746.7\n1996-05-29,3752.3,3775.8,3751.7,3775.7\n1996-05-28,3755.0,3770.6,3755.0,3760.2\n1996-05-24,3746.8,3752.2,3733.0,3752.1\n1996-05-23,3776.9,3780.1,3741.0,3747.0\n1996-05-22,3783.6,3783.6,3763.1,3764.2\n1996-05-21,3795.6,3795.7,3782.0,3789.4\n1996-05-20,3795.2,3799.3,3775.8,3778.2\n1996-05-17,3760.2,3791.4,3751.0,3789.6\n1996-05-16,3767.8,3770.9,3740.2,3753.6\n1996-05-15,3770.7,3776.4,3765.7,3776.2\n1996-05-14,3750.9,3761.9,3746.6,3759.7\n1996-05-13,3751.8,3760.9,3738.0,3739.2\n1996-05-10,3727.2,3757.2,3727.1,3754.4\n1996-05-09,3723.5,3732.6,3721.2,3728.3\n1996-05-08,3718.6,3733.7,3707.3,3707.3\n1996-05-07,3744.3,3755.4,3721.2,3723.0\n1996-05-03,3753.1,3758.2,3734.6,3751.6\n1996-05-02,3810.8,3829.4,3773.4,3776.4\n1996-05-01,3816.9,3817.2,3803.4,3806.0\n1996-04-30,3816.9,3820.1,3810.0,3817.9\n1996-04-29,3834.5,3834.5,3802.8,3809.2\n1996-04-26,3826.1,3837.2,3826.0,3832.8\n1996-04-25,3804.2,3820.8,3802.9,3819.3\n1996-04-24,3840.7,3843.8,3817.6,3817.6\n1996-04-23,3839.8,3844.8,3827.6,3833.0\n1996-04-22,3854.2,3858.9,3847.3,3852.7\n1996-04-19,3824.8,3857.1,3824.8,3857.1\n1996-04-18,3791.4,3828.3,3791.4,3820.7\n1996-04-17,3839.7,3839.7,3804.4,3805.6\n1996-04-16,3799.0,3825.3,3798.8,3825.3\n1996-04-15,3775.0,3790.6,3774.9,3790.5\n1996-04-12,3757.6,3767.1,3750.1,3766.8\n1996-04-11,3748.9,3761.5,3742.1,3744.2\n1996-04-10,3761.8,3775.1,3757.6,3767.4\n1996-04-09,3726.5,3758.6,3726.2,3758.6\n1996-04-04,3734.6,3759.9,3734.6,3755.6\n1996-04-03,3734.2,3736.3,3719.8,3725.1\n1996-04-02,3730.3,3733.0,3716.3,3728.5\n1996-04-01,3692.1,3720.0,3692.1,3718.4\n1996-03-29,3692.2,3699.7,3679.3,3699.7\n1996-03-28,3658.1,3672.6,3650.0,3672.6\n1996-03-27,3668.9,3676.6,3665.9,3672.4\n1996-03-26,3680.1,3680.2,3651.1,3660.9\n1996-03-25,3705.1,3705.3,3681.4,3681.9\n1996-03-22,3699.2,3707.7,3682.1,3707.0\n1996-03-21,3689.8,3702.3,3689.8,3698.3\n1996-03-20,3685.9,3694.2,3674.0,3685.4\n1996-03-19,3697.3,3706.4,3685.1,3693.0\n1996-03-18,3647.7,3670.2,3647.4,3669.6\n1996-03-15,3679.1,3683.4,3639.1,3644.8\n1996-03-14,3653.7,3681.8,3647.8,3681.8\n1996-03-13,3646.6,3661.2,3636.6,3640.3\n1996-03-12,3707.8,3707.8,3637.9,3639.5\n1996-03-11,3649.0,3674.5,3629.1,3674.5\n1996-03-08,3761.0,3770.4,3686.2,3710.3\n1996-03-07,3761.4,3768.9,3755.2,3758.2\n1996-03-06,3778.6,3780.7,3757.1,3758.9\n1996-03-05,3786.4,3792.5,3771.9,3777.1\n1996-03-04,3758.7,3769.9,3757.7,3768.6\n1996-03-01,3729.5,3763.7,3729.5,3752.7\n1996-02-29,3734.8,3737.7,3708.6,3727.6\n1996-02-28,3719.4,3738.2,3719.4,3738.2\n1996-02-27,3702.7,3723.2,3697.8,3715.9\n1996-02-26,3732.0,3732.6,3699.8,3704.2\n1996-02-23,3753.9,3755.1,3738.6,3740.3\n1996-02-22,3731.1,3741.4,3723.5,3740.0\n1996-02-21,3688.7,3725.6,3688.7,3725.6\n1996-02-20,3753.0,3753.5,3702.7,3714.6\n1996-02-19,3755.9,3755.9,3740.7,3744.3\n1996-02-16,3774.3,3791.6,3763.8,3770.9\n1996-02-15,3744.6,3779.8,3744.2,3779.8\n1996-02-14,3753.6,3753.6,3744.7,3745.0\n1996-02-13,3742.7,3750.4,3734.1,3747.6\n1996-02-12,3709.3,3729.0,3697.4,3726.6\n1996-02-09,3718.9,3720.5,3692.4,3716.3\n1996-02-08,3731.1,3735.4,3705.5,3708.4\n1996-02-07,3757.1,3758.0,3726.0,3726.1\n1996-02-06,3751.3,3753.6,3741.6,3747.5\n1996-02-05,3763.3,3764.7,3743.1,3746.6\n1996-02-02,3757.1,3782.6,3748.4,3781.3\n1996-02-01,3753.3,3754.7,3744.5,3752.8\n1996-01-31,3756.6,3759.3,3739.2,3759.3\n1996-01-30,3736.6,3743.1,3713.9,3735.3\n1996-01-29,3737.8,3741.7,3727.5,3734.6\n1996-01-26,3726.1,3738.4,3714.5,3734.7\n1996-01-25,3761.8,3761.8,3734.0,3734.2\n1996-01-24,3731.7,3758.2,3730.5,3758.2\n1996-01-23,3751.8,3751.8,3734.7,3735.0\n1996-01-22,3763.5,3763.9,3752.8,3754.2\n1996-01-19,3767.1,3767.4,3740.3,3748.4\n1996-01-18,3711.9,3749.7,3707.8,3748.7\n1996-01-17,3719.9,3722.6,3695.7,3704.2\n1996-01-16,3665.1,3710.6,3665.1,3710.6\n1996-01-15,3658.5,3668.8,3658.5,3662.7\n1996-01-12,3666.7,3669.9,3657.0,3657.3\n1996-01-11,3648.7,3660.6,3645.3,3654.9\n1996-01-10,3675.2,3690.1,3661.5,3671.5\n1996-01-09,3708.8,3722.8,3708.6,3720.6\n1996-01-08,3708.8,3722.8,3708.6,3720.6\n1996-01-05,3689.2,3713.3,3689.1,3704.5\n1996-01-04,3718.1,3723.0,3709.0,3714.1\n1996-01-03,3709.2,3719.8,3708.2,3715.6\n1996-01-02,3696.0,3696.5,3666.9,3687.9\n1995-12-29,3675.6,3690.6,3671.1,3689.3\n1995-12-28,3671.2,3687.9,3671.2,3676.7\n1995-12-27,3657.4,3677.7,3657.4,3676.4\n1995-12-22,3638.5,3658.4,3638.2,3658.3\n1995-12-21,3602.7,3633.7,3597.3,3633.3\n1995-12-20,3606.9,3614.6,3598.8,3613.7\n1995-12-19,3570.3,3584.9,3558.5,3576.9\n1995-12-18,3642.3,3642.6,3591.7,3596.1\n1995-12-15,3660.2,3688.0,3642.0,3642.6\n1995-12-14,3673.5,3686.5,3670.4,3671.6\n1995-12-13,3657.8,3673.2,3655.0,3662.4\n1995-12-12,3663.9,3668.3,3653.9,3654.9\n1995-12-11,3633.3,3654.2,3633.1,3652.1\n1995-12-08,3633.1,3645.9,3618.2,3630.0\n1995-12-07,3663.8,3663.8,3639.5,3639.5\n1995-12-06,3669.7,3672.8,3647.0,3662.8\n1995-12-05,3683.0,3683.6,3651.4,3664.2\n1995-12-04,3675.2,3675.2,3659.2,3669.7\n1995-12-01,3667.5,3667.6,3652.8,3664.3\n1995-11-30,3667.5,3667.6,3652.8,3664.3\n1995-11-29,3660.2,3671.0,3651.3,3655.5\n1995-11-28,3651.7,3655.1,3636.1,3648.8\n1995-11-27,3629.1,3650.2,3625.9,3649.0\n1995-11-24,3608.9,3627.9,3608.9,3624.0\n1995-11-23,3633.9,3634.3,3600.1,3602.5\n1995-11-22,3628.8,3632.8,3614.4,3632.4\n1995-11-21,3612.4,3615.7,3602.1,3604.1\n1995-11-20,3620.6,3639.5,3620.6,3628.8\n1995-11-17,3618.8,3626.7,3601.4,3609.2\n1995-11-16,3593.0,3610.8,3592.9,3610.8\n1995-11-15,3545.0,3571.6,3541.1,3571.4\n1995-11-14,3542.4,3549.2,3534.8,3547.9\n1995-11-13,3518.2,3536.8,3518.2,3536.8\n1995-11-10,3532.6,3532.6,3512.9,3523.4\n1995-11-09,3550.5,3553.1,3531.6,3541.6\n1995-11-08,3519.4,3537.1,3518.1,3537.1\n1995-11-07,3517.9,3528.5,3506.9,3522.4\n1995-11-06,3500.9,3514.8,3493.0,3514.8\n1995-11-03,3537.9,3539.6,3499.1,3500.4\n1995-11-02,3519.4,3535.8,3513.1,3523.0\n1995-11-01,3517.5,3518.9,3502.5,3518.7\n1995-10-31,3516.5,3532.4,3516.5,3529.1\n1995-10-30,3511.6,3519.7,3509.5,3510.0\n1995-10-27,3490.9,3501.2,3484.7,3497.9\n1995-10-26,3529.0,3532.5,3513.4,3519.6\n1995-10-25,3544.7,3551.4,3533.4,3537.8\n1995-10-24,3527.0,3540.4,3526.8,3535.3\n1995-10-23,3539.5,3539.5,3510.9,3531.5\n1995-10-20,3585.7,3594.3,3541.9,3551.4\n1995-10-19,3588.3,3596.2,3571.4,3578.6\n1995-10-18,3568.7,3598.0,3560.2,3593.0\n1995-10-17,3562.7,3580.0,3560.0,3562.2\n1995-10-16,3562.5,3567.0,3551.8,3557.3\n1995-10-13,3534.4,3584.7,3534.4,3568.0\n1995-10-12,3484.4,3525.5,3476.8,3523.8\n1995-10-11,3475.4,3480.9,3457.3,3474.3\n1995-10-10,3503.1,3509.6,3442.5,3460.1\n1995-10-09,3536.6,3536.6,3504.6,3510.3\n1995-10-06,3544.3,3546.9,3515.4,3526.5\n1995-10-05,3547.0,3555.3,3540.7,3544.4\n1995-10-04,3526.4,3544.6,3525.9,3544.1\n1995-10-03,3514.9,3531.6,3514.9,3524.2\n1995-10-02,3510.6,3520.3,3502.7,3520.2\n1995-09-29,3490.0,3510.2,3489.3,3508.2\n1995-09-28,3497.1,3497.1,3474.6,3479.0\n1995-09-27,3519.9,3520.2,3476.9,3485.0\n1995-09-26,3515.7,3523.3,3513.0,3523.3\n1995-09-25,3514.1,3520.4,3506.1,3507.0\n1995-09-22,3543.7,3543.7,3503.6,3514.8\n1995-09-21,3564.5,3569.9,3555.6,3557.9\n1995-09-20,3546.9,3561.6,3546.9,3561.5\n1995-09-19,3535.4,3553.3,3535.4,3541.4\n1995-09-18,3551.3,3552.2,3532.8,3533.3\n1995-09-15,3575.9,3587.0,3564.5,3564.6\n1995-09-14,3574.5,3575.1,3562.5,3565.4\n1995-09-13,3551.0,3570.8,3544.5,3570.8\n1995-09-12,3539.7,3542.5,3533.6,3535.9\n1995-09-11,3555.2,3565.3,3546.7,3549.3\n1995-09-08,3548.5,3563.7,3548.3,3554.5\n1995-09-07,3555.6,3557.9,3543.5,3545.6\n1995-09-06,3541.5,3561.5,3540.6,3557.7\n1995-09-05,3522.5,3537.8,3518.5,3532.4\n1995-09-04,3511.9,3523.6,3505.2,3522.7\n1995-09-01,3484.7,3510.0,3479.3,3509.4\n1995-08-31,3498.5,3498.5,3470.0,3477.8\n1995-08-30,3502.4,3509.2,3498.6,3504.0\n1995-08-29,3522.3,3522.9,3499.9,3502.6\n1995-08-25,3520.5,3526.5,3515.4,3524.9\n1995-08-24,3503.3,3523.5,3502.9,3520.0\n1995-08-23,3536.7,3540.6,3514.8,3515.9\n1995-08-22,3530.2,3540.7,3523.0,3530.2\n1995-08-21,3510.3,3535.7,3510.0,3535.7\n1995-08-18,3475.4,3509.8,3475.4,3509.8\n1995-08-17,3468.7,3471.8,3465.8,3470.6\n1995-08-16,3451.1,3466.9,3451.1,3465.1\n1995-08-15,3453.4,3456.9,3442.8,3444.4\n1995-08-14,3457.5,3457.9,3433.4,3441.4\n1995-08-11,3471.1,3478.8,3467.5,3467.5\n1995-08-10,3462.2,3474.7,3461.8,3474.7\n1995-08-09,3464.9,3480.5,3463.1,3468.3\n1995-08-08,3485.3,3485.6,3467.8,3468.8\n1995-08-07,3474.1,3483.5,3468.2,3483.5\n1995-08-04,3481.9,3492.0,3479.7,3482.4\n1995-08-03,3493.5,3494.1,3467.6,3475.6\n1995-08-02,3456.6,3505.0,3456.6,3499.9\n1995-08-01,3458.7,3465.6,3448.8,3449.9\n1995-07-31,3475.6,3475.7,3456.1,3463.3\n1995-07-28,3461.1,3480.5,3460.5,3468.9\n1995-07-27,3453.3,3458.3,3446.6,3458.3\n1995-07-26,3445.5,3457.5,3443.1,3454.3\n1995-07-25,3443.4,3443.5,3428.1,3432.9\n1995-07-24,3413.8,3432.2,3413.8,3431.6\n1995-07-21,3413.5,3426.2,3408.9,3413.1\n1995-07-20,3382.3,3407.7,3382.1,3400.4\n1995-07-19,3408.8,3414.3,3393.2,3405.3\n1995-07-18,3437.0,3448.5,3420.7,3420.7\n1995-07-17,3430.5,3448.7,3430.5,3442.6\n1995-07-14,3444.8,3445.1,3419.6,3429.2\n1995-07-13,3465.3,3472.3,3447.1,3447.2\n1995-07-12,3452.4,3458.6,3447.1,3450.6\n1995-07-11,3447.1,3480.5,3446.4,3464.0\n1995-07-10,3472.6,3487.8,3454.1,3455.0\n1995-07-07,3420.3,3462.9,3420.3,3462.9\n1995-07-06,3394.0,3418.7,3385.0,3388.3\n1995-07-05,3373.0,3400.2,3353.6,3394.9\n1995-07-04,3334.4,3349.6,3334.4,3349.2\n1995-07-03,3310.2,3324.8,3300.4,3323.7\n1995-06-30,3292.4,3314.6,3288.0,3314.6\n1995-06-29,3294.2,3308.7,3284.4,3294.0\n1995-06-28,3305.5,3306.1,3265.5,3282.7\n1995-06-27,3298.1,3313.5,3293.3,3313.2\n1995-06-26,3364.8,3364.8,3307.8,3309.2\n1995-06-23,3403.1,3403.3,3372.1,3379.4\n1995-06-22,3372.2,3404.2,3372.2,3403.8\n1995-06-21,3369.7,3392.2,3369.6,3378.3\n1995-06-20,3393.2,3397.7,3375.3,3377.2\n1995-06-19,3363.9,3384.6,3358.8,3381.3\n1995-06-16,3374.0,3383.3,3348.2,3366.1\n1995-06-15,3343.6,3372.0,3336.0,3370.4\n1995-06-14,3361.7,3362.0,3337.5,3339.8\n1995-06-13,3352.2,3352.2,3339.3,3348.0\n1995-06-12,3328.1,3347.3,3328.0,3344.6\n1995-06-09,3368.9,3370.5,3335.6,3337.7\n1995-06-08,3361.3,3395.0,3361.3,3380.8\n1995-06-07,3372.0,3380.6,3361.2,3370.8\n1995-06-06,3384.5,3384.6,3368.8,3380.0\n1995-06-05,3338.6,3376.6,3338.4,3376.6\n1995-06-02,3339.0,3349.3,3328.6,3345.0\n1995-06-01,3352.3,3353.2,3340.2,3340.6\n1995-05-31,3317.6,3319.4,3301.4,3319.4\n1995-05-30,3307.1,3320.0,3307.0,3309.9\n1995-05-26,3325.8,3332.1,3305.1,3311.1\n1995-05-25,3330.4,3360.8,3328.2,3328.2\n1995-05-24,3306.3,3334.3,3306.3,3327.3\n1995-05-23,3296.3,3296.3,3276.7,3291.8\n1995-05-22,3265.1,3284.5,3264.7,3284.5\n1995-05-19,3258.7,3273.7,3253.9,3261.0\n1995-05-18,3290.7,3315.4,3284.0,3285.8\n1995-05-17,3301.4,3318.2,3297.2,3297.4\n1995-05-16,3308.0,3309.2,3295.3,3300.8\n1995-05-15,3310.5,3324.8,3307.0,3310.7\n1995-05-12,3325.1,3326.2,3304.2,3310.3\n1995-05-11,3293.1,3320.6,3290.2,3317.9\n1995-05-10,3267.3,3294.5,3267.3,3290.1\n1995-05-09,3259.1,3267.1,3248.9,3261.2\n1995-05-05,3254.0,3265.5,3250.0,3251.7\n1995-05-04,3283.5,3288.2,3260.6,3264.3\n1995-05-03,3259.6,3267.3,3254.1,3262.6\n1995-05-02,3221.3,3251.6,3221.0,3248.2\n1995-05-01,3212.8,3228.3,3211.2,3220.4\n1995-04-28,3220.3,3232.3,3209.3,3216.7\n1995-04-27,3241.5,3241.5,3216.2,3217.6\n1995-04-26,3204.6,3231.3,3204.4,3226.2\n1995-04-25,3224.8,3234.1,3211.9,3214.9\n1995-04-24,3199.8,3209.3,3176.3,3209.3\n1995-04-21,3185.8,3205.6,3185.6,3199.9\n1995-04-20,3175.0,3177.5,3162.2,3174.7\n1995-04-19,3188.9,3188.9,3167.7,3170.1\n1995-04-18,3201.5,3201.5,3194.5,3194.5\n1995-04-13,3214.9,3215.9,3204.6,3208.8\n1995-04-12,3189.0,3211.2,3187.2,3209.8\n1995-04-11,3210.0,3216.2,3190.8,3190.9\n1995-04-10,3210.8,3213.0,3189.7,3204.2\n1995-04-07,3199.6,3221.8,3199.4,3210.9\n1995-04-06,3181.9,3212.2,3177.7,3200.9\n1995-04-05,3201.3,3206.6,3184.3,3190.2\n1995-04-04,3154.0,3188.7,3154.0,3188.1\n1995-04-03,3134.2,3148.9,3129.5,3143.1\n1995-03-31,3173.3,3173.3,3133.1,3137.9\n1995-03-30,3140.8,3185.6,3131.7,3176.2\n1995-03-29,3125.3,3142.3,3111.3,3142.3\n1995-03-28,3156.2,3156.3,3128.2,3128.3\n1995-03-27,3159.0,3170.2,3147.4,3149.8\n1995-03-24,3141.0,3153.4,3129.6,3153.4\n1995-03-23,3149.4,3169.2,3133.0,3136.4\n1995-03-22,3127.7,3145.9,3124.1,3139.7\n1995-03-21,3126.9,3148.8,3123.4,3135.0\n1995-03-20,3080.5,3124.2,3080.5,3124.2\n1995-03-17,3099.9,3105.4,3086.3,3089.3\n1995-03-16,3046.5,3094.1,3046.5,3094.1\n1995-03-15,3061.6,3069.0,3046.8,3047.0\n1995-03-14,3008.7,3050.6,3008.6,3050.6\n1995-03-13,3029.6,3031.9,3009.0,3011.8\n1995-03-10,2991.5,3021.2,2991.4,3021.1\n1995-03-09,3013.2,3013.2,2985.1,2986.9\n1995-03-08,2958.6,2994.9,2958.6,2992.1\n1995-03-07,3005.7,3005.7,2976.5,2977.0\n1995-03-06,3018.7,3020.3,2993.0,3001.9\n1995-03-03,3031.9,3037.0,3020.0,3025.1\n1995-03-02,3038.5,3047.4,3038.1,3038.2\n1995-03-01,3020.0,3041.9,3020.0,3041.2\n1995-02-28,3022.0,3031.0,3005.0,3009.3\n1995-02-27,2998.2,3029.0,2998.2,3025.3\n1995-02-24,3048.9,3049.2,3033.2,3037.7\n1995-02-23,3021.4,3049.3,3021.4,3049.3\n1995-02-22,3015.0,3027.4,3006.8,3019.5\n1995-02-21,3023.6,3026.9,3012.6,3023.4\n1995-02-20,3030.4,3030.4,3013.0,3018.6\n1995-02-17,3053.5,3054.9,3041.0,3044.2\n1995-02-16,3083.1,3083.9,3046.9,3051.1\n1995-02-15,3071.5,3074.9,3060.5,3074.9\n1995-02-14,3079.0,3087.3,3071.2,3071.3\n1995-02-13,3105.1,3108.3,3080.0,3081.1\n1995-02-10,3099.0,3114.6,3099.0,3109.9\n1995-02-09,3072.7,3102.7,3066.9,3099.0\n1995-02-08,3066.2,3072.5,3060.7,3072.5\n1995-02-07,3064.7,3086.4,3064.7,3072.7\n1995-02-06,3075.0,3075.0,3061.6,3062.0\n1995-02-03,3045.4,3059.7,3033.8,3059.7\n1995-02-02,3018.2,3039.3,3013.5,3034.7\n1995-02-01,3001.8,3024.0,3001.8,3017.3\n1995-01-31,2984.2,2992.7,2983.4,2991.6\n1995-01-30,3021.3,3021.3,2995.1,2995.9\n1995-01-27,3006.8,3022.7,3006.4,3022.2\n1995-01-26,2989.2,3010.2,2989.2,3007.3\n1995-01-25,2971.0,2986.5,2964.4,2982.2\n1995-01-24,2971.1,2973.4,2964.6,2969.0\n1995-01-23,2968.8,2992.0,2949.4,2954.2\n1995-01-20,3003.3,3013.8,2989.0,2995.9\n1995-01-19,3051.4,3051.4,3027.2,3028.6\n1995-01-18,3052.5,3061.0,3044.2,3054.9\n1995-01-17,3081.5,3084.4,3054.0,3054.0\n1995-01-16,3068.5,3076.7,3060.9,3076.7\n1995-01-13,3023.0,3048.5,3016.1,3048.3\n1995-01-12,3051.4,3060.0,3032.4,3033.2\n1995-01-11,3050.6,3075.0,3042.4,3049.4\n1995-01-10,3048.9,3060.5,3038.4,3060.4\n1995-01-09,3064.9,3069.6,3054.0,3055.8\n1995-01-06,3027.0,3067.9,3019.9,3065.0\n1995-01-05,3049.5,3049.5,3028.2,3032.3\n1995-01-04,3063.9,3072.1,3051.5,3051.6\n1995-01-03,3062.6,3066.5,3050.6,3065.7\n1994-12-30,3064.3,3073.1,3062.9,3065.5\n1994-12-29,3081.4,3082.4,3064.6,3065.6\n1994-12-28,3089.5,3109.7,3089.5,3095.8\n1994-12-23,3087.3,3087.8,3083.1,3083.4\n1994-12-22,3077.8,3095.6,3072.8,3091.7\n1994-12-21,3049.9,3070.4,3049.6,3070.4\n1994-12-20,3030.5,3061.3,3030.5,3058.1\n1994-12-19,3026.8,3048.0,3026.5,3034.4\n1994-12-16,2967.9,3013.6,2953.2,3013.6\n1994-12-15,2993.7,2998.1,2973.2,2973.4\n1994-12-14,2950.0,2982.5,2949.0,2980.6\n1994-12-13,2962.7,2962.8,2938.8,2946.4\n1994-12-12,2978.1,2987.8,2941.9,2943.4\n1994-12-09,2997.4,3001.0,2976.7,2977.3\n1994-12-08,3008.5,3022.1,3002.4,3013.8\n1994-12-07,3003.1,3034.7,3003.1,3012.5\n1994-12-06,3022.5,3022.5,2992.4,3016.1\n1994-12-05,3028.2,3037.4,3014.6,3033.5\n1994-12-02,3021.2,3030.0,3011.6,3017.3\n1994-12-01,3079.6,3079.6,3037.2,3039.6\n1994-11-30,3058.7,3081.4,3058.1,3081.4\n1994-11-29,3053.7,3070.1,3053.5,3061.1\n1994-11-28,3039.9,3049.9,3039.9,3047.1\n1994-11-25,3029.2,3033.5,3014.3,3033.5\n1994-11-24,3037.8,3044.7,3034.7,3036.6\n1994-11-23,3034.0,3042.0,3010.1,3027.5\n1994-11-22,3091.7,3099.4,3078.6,3078.7\n1994-11-21,3126.1,3128.4,3116.7,3121.0\n1994-11-18,3122.5,3134.1,3121.2,3131.0\n1994-11-17,3145.8,3151.1,3125.6,3127.5\n1994-11-16,3133.5,3168.1,3125.9,3146.5\n1994-11-15,3105.2,3137.4,3104.9,3135.4\n1994-11-14,3076.9,3095.3,3069.5,3095.3\n1994-11-11,3094.0,3094.0,3072.0,3075.9\n1994-11-10,3093.1,3105.9,3081.8,3103.5\n1994-11-09,3076.1,3109.1,3076.1,3099.6\n1994-11-08,3069.7,3069.7,3048.4,3063.8\n1994-11-07,3077.0,3081.1,3065.3,3065.8\n1994-11-04,3105.5,3108.2,3093.1,3097.6\n1994-11-03,3082.7,3106.6,3071.3,3104.4\n1994-11-02,3089.7,3100.3,3069.5,3081.3\n1994-11-01,3081.5,3096.4,3078.2,3096.3\n1994-10-31,3097.5,3111.5,3079.1,3097.4\n1994-10-28,3041.3,3083.9,3024.7,3083.8\n1994-10-27,2994.8,3029.6,2993.8,3029.6\n1994-10-26,3011.2,3029.7,2999.7,2999.9\n1994-10-25,2999.8,3005.4,2985.6,3000.9\n1994-10-24,3039.6,3052.9,3029.1,3029.1\n1994-10-21,3049.4,3049.4,3016.4,3032.8\n1994-10-20,3070.5,3083.2,3060.7,3063.2\n1994-10-19,3078.4,3092.9,3057.3,3060.8\n1994-10-18,3117.9,3117.9,3081.0,3085.3\n1994-10-17,3100.6,3132.7,3099.8,3120.2\n1994-10-14,3128.5,3134.8,3104.2,3106.7\n1994-10-13,3094.7,3151.2,3094.7,3141.9\n1994-10-12,3082.7,3100.7,3078.8,3100.5\n1994-10-11,3038.5,3074.0,3026.7,3073.0\n1994-10-10,3009.7,3033.6,3009.7,3032.3\n1994-10-07,2972.2,2998.8,2966.8,2998.7\n1994-10-06,2970.3,2987.0,2969.5,2984.4\n1994-10-05,2974.0,2980.8,2950.2,2956.3\n1994-10-04,2989.6,3003.4,2989.6,3001.8\n1994-10-03,3024.3,3025.2,2982.4,2983.5\n1994-09-30,2988.6,3026.3,2986.0,3026.3\n1994-09-29,3040.0,3040.0,2991.6,2992.5\n1994-09-28,3012.1,3040.9,3010.7,3038.7\n1994-09-27,3001.5,3011.3,3000.0,3008.5\n1994-09-26,3017.1,3017.3,2987.8,2999.8\n1994-09-23,3017.0,3035.8,2999.2,3028.2\n1994-09-22,3023.9,3027.5,3008.6,3021.2\n1994-09-21,3033.4,3047.6,3014.8,3014.8\n1994-09-20,3078.7,3078.7,3031.7,3037.3\n1994-09-19,3059.9,3085.3,3048.3,3079.1\n1994-09-16,3133.2,3133.3,3064.6,3065.1\n1994-09-15,3090.4,3115.2,3085.2,3112.7\n1994-09-14,3128.7,3128.7,3075.3,3079.8\n1994-09-13,3121.4,3121.6,3086.1,3121.4\n1994-09-12,3138.6,3141.2,3114.0,3128.8\n1994-09-09,3183.3,3193.6,3134.0,3139.3\n1994-09-08,3196.1,3196.1,3166.2,3180.0\n1994-09-07,3211.8,3219.1,3203.9,3203.9\n1994-09-06,3252.3,3253.4,3203.4,3205.4\n1994-09-05,3214.1,3241.5,3206.4,3241.5\n1994-09-02,3216.7,3242.2,3216.7,3222.7\n1994-09-01,3243.6,3250.4,3215.4,3216.5\n1994-08-31,3250.2,3264.9,3247.6,3251.3\n1994-08-30,3279.9,3280.0,3249.5,3249.6\n1994-08-26,3221.5,3265.3,3218.3,3265.1\n1994-08-25,3238.2,3244.7,3228.6,3234.2\n1994-08-24,3182.8,3205.3,3181.1,3205.2\n1994-08-23,3166.3,3175.1,3161.1,3175.1\n1994-08-22,3198.3,3201.0,3164.7,3171.3\n1994-08-19,3171.3,3191.8,3170.0,3191.4\n1994-08-18,3187.4,3201.5,3180.2,3182.6\n1994-08-17,3170.9,3195.0,3165.7,3190.3\n1994-08-16,3139.1,3151.6,3138.7,3147.3\n1994-08-15,3147.6,3156.5,3141.6,3142.2\n1994-08-12,3115.3,3142.5,3110.7,3142.3\n1994-08-11,3177.3,3177.3,3132.8,3138.2\n1994-08-10,3168.2,3168.2,3152.2,3167.0\n1994-08-09,3184.1,3184.6,3154.7,3168.6\n1994-08-08,3161.7,3171.9,3161.6,3171.9\n1994-08-05,3141.0,3172.8,3140.3,3167.5\n1994-08-04,3157.5,3166.3,3150.1,3150.5\n1994-08-03,3159.5,3166.2,3148.7,3160.4\n1994-08-02,3117.5,3158.3,3113.6,3157.5\n1994-08-01,3077.8,3097.5,3075.8,3097.4\n1994-07-29,3105.2,3107.2,3069.7,3082.6\n1994-07-28,3085.3,3097.4,3075.1,3095.9\n1994-07-27,3116.4,3119.1,3082.3,3082.3\n1994-07-26,3111.6,3132.8,3111.4,3117.2\n1994-07-25,3110.7,3111.2,3099.0,3106.1\n1994-07-22,3115.9,3123.2,3105.3,3114.7\n1994-07-21,3063.5,3097.5,3061.1,3095.1\n1994-07-20,3099.6,3099.6,3077.2,3077.2\n1994-07-19,3086.2,3096.2,3072.6,3091.3\n1994-07-18,3072.6,3085.4,3060.5,3082.0\n1994-07-15,3071.4,3078.4,3057.0,3074.8\n1994-07-14,3013.6,3050.4,3010.2,3050.4\n1994-07-13,2975.0,3006.9,2975.0,3005.3\n1994-07-12,2984.2,2996.6,2957.4,2963.9\n1994-07-11,2957.9,2992.6,2957.8,2983.8\n1994-07-08,2967.9,2972.8,2952.4,2962.4\n1994-07-07,2948.7,2968.0,2940.2,2964.4\n1994-07-06,2956.7,2966.8,2942.9,2946.7\n1994-07-05,2972.7,2978.2,2945.3,2965.0\n1994-07-04,2938.3,2974.9,2938.3,2970.4\n1994-07-01,2914.1,2939.1,2906.2,2936.4\n1994-06-30,2956.2,2961.9,2910.6,2919.2\n1994-06-29,2899.0,2948.1,2899.0,2946.3\n1994-06-28,2926.6,2926.9,2906.4,2909.0\n1994-06-27,2844.7,2902.2,2844.7,2899.9\n1994-06-24,2919.4,2919.5,2874.7,2876.6\n1994-06-23,2978.4,2979.4,2936.5,2942.4\n1994-06-22,2934.1,2960.4,2934.1,2960.4\n1994-06-21,2972.2,2977.2,2936.7,2940.2\n1994-06-20,2989.9,2989.9,2937.6,2971.1\n1994-06-17,3039.3,3049.7,3017.0,3022.9\n1994-06-16,3032.1,3035.0,3025.4,3030.1\n1994-06-15,3044.9,3050.4,3035.4,3045.8\n1994-06-14,3012.1,3039.8,3004.4,3039.6\n1994-06-13,3059.2,3059.2,3010.3,3016.3\n1994-06-10,3021.6,3055.9,3021.3,3055.9\n1994-06-09,3039.3,3044.3,3025.6,3028.9\n1994-06-08,3004.4,3043.2,3003.6,3038.2\n1994-06-07,3006.2,3014.8,2993.9,3004.8\n1994-06-06,2994.7,3016.1,2994.7,3009.4\n1994-06-03,2985.4,3004.4,2968.4,2997.8\n1994-06-02,2943.0,2980.8,2942.2,2980.8\n1994-06-01,2984.2,2985.9,2931.5,2931.9\n1994-05-31,2976.4,2976.4,2925.0,2970.5\n1994-05-27,3029.5,3033.7,2959.5,2966.4\n1994-05-26,3031.2,3031.2,3004.7,3019.7\n1994-05-25,3091.3,3091.9,3011.3,3020.7\n1994-05-24,3103.9,3105.7,3086.1,3089.1\n1994-05-23,3129.5,3129.9,3106.4,3108.4\n1994-05-20,3139.5,3139.7,3125.0,3127.3\n1994-05-19,3120.8,3131.1,3118.2,3122.8\n1994-05-18,3155.0,3157.5,3115.8,3116.5\n1994-05-17,3109.3,3125.2,3106.8,3123.5\n1994-05-16,3112.9,3133.6,3112.5,3115.6\n1994-05-13,3141.5,3141.9,3116.2,3119.2\n1994-05-12,3107.0,3138.8,3105.3,3137.8\n1994-05-11,3147.7,3147.7,3122.1,3130.5\n1994-05-10,3097.4,3138.7,3097.4,3136.3\n1994-05-09,3097.1,3099.7,3080.7,3097.8\n1994-05-06,3110.9,3121.6,3092.3,3106.0\n1994-05-05,3067.9,3106.3,3056.2,3106.0\n1994-05-04,3094.4,3094.4,3067.6,3070.5\n1994-05-03,3131.9,3133.0,3095.8,3100.0\n1994-04-29,3118.1,3130.0,3105.6,3125.3\n1994-04-28,3154.9,3167.3,3129.2,3129.9\n1994-04-27,3125.2,3150.0,3125.2,3150.0\n1994-04-26,3125.2,3137.7,3118.9,3125.3\n1994-04-25,3134.4,3134.4,3106.1,3106.1\n1994-04-22,3129.8,3136.5,3115.9,3133.7\n1994-04-21,3090.6,3102.4,3090.1,3101.2\n1994-04-20,3129.4,3138.5,3096.9,3098.3\n1994-04-19,3132.4,3145.5,3113.7,3128.0\n1994-04-18,3185.4,3191.4,3137.7,3138.2\n1994-04-15,3139.2,3168.6,3134.3,3168.3\n1994-04-14,3133.8,3141.5,3113.2,3131.7\n1994-04-13,3160.0,3165.2,3144.8,3145.8\n1994-04-12,3170.9,3180.7,3159.0,3159.1\n1994-04-11,3114.6,3149.5,3113.7,3149.4\n1994-04-08,3137.8,3138.0,3118.8,3120.8\n1994-04-07,3133.4,3143.5,3117.0,3129.0\n1994-04-06,3142.8,3145.4,3129.6,3131.5\n1994-04-05,3060.9,3116.2,3047.0,3116.2\n1994-03-31,3071.5,3093.4,3061.9,3086.4\n1994-03-30,3086.8,3117.7,3076.9,3092.4\n1994-03-29,3136.3,3144.9,3121.3,3123.4\n1994-03-28,3110.7,3150.2,3110.7,3129.5\n1994-03-25,3118.1,3133.5,3088.5,3129.0\n1994-03-24,3145.6,3155.3,3111.8,3121.7\n1994-03-23,3213.7,3224.6,3153.5,3155.3\n1994-03-22,3206.9,3220.1,3186.9,3201.5\n1994-03-21,3212.7,3213.9,3197.0,3198.0\n1994-03-18,3245.8,3246.5,3197.7,3218.1\n1994-03-17,3248.7,3262.9,3248.4,3255.7\n1994-03-16,3262.3,3265.7,3242.3,3242.9\n1994-03-15,3231.0,3269.5,3230.6,3267.4\n1994-03-14,3203.0,3236.1,3203.0,3233.4\n1994-03-11,3213.0,3227.4,3190.1,3191.9\n1994-03-10,3254.1,3264.0,3233.9,3233.9\n1994-03-09,3264.2,3270.5,3246.7,3246.7\n1994-03-08,3314.0,3316.1,3264.3,3264.4\n1994-03-07,3287.0,3310.7,3287.0,3305.9\n1994-03-04,3254.9,3278.4,3249.3,3278.0\n1994-03-03,3278.6,3278.6,3230.9,3246.5\n1994-03-02,3255.3,3255.3,3195.7,3248.1\n1994-03-01,3322.9,3328.8,3270.6,3270.6\n1994-02-28,3287.4,3328.1,3287.4,3328.1\n1994-02-25,3250.9,3283.3,3243.4,3281.2\n1994-02-24,3324.0,3324.0,3265.8,3267.5\n1994-02-23,3339.8,3355.0,3335.9,3341.9\n1994-02-22,3353.7,3357.4,3320.3,3333.7\n1994-02-21,3353.5,3371.9,3347.9,3350.3\n1994-02-18,3405.6,3414.3,3382.2,3382.6\n1994-02-17,3423.6,3437.6,3404.5,3425.3\n1994-02-16,3399.8,3423.2,3394.0,3417.7\n1994-02-15,3367.0,3393.2,3367.0,3393.2\n1994-02-14,3373.2,3379.8,3350.2,3363.5\n1994-02-11,3382.6,3388.3,3349.3,3378.9\n1994-02-10,3445.0,3446.1,3400.3,3407.0\n1994-02-09,3423.4,3435.1,3403.7,3429.1\n1994-02-08,3446.4,3471.7,3424.2,3440.2\n1994-02-07,3405.7,3419.1,3382.0,3419.1\n1994-02-04,3499.6,3499.9,3471.6,3475.4\n1994-02-03,3537.2,3539.2,3490.8,3491.5\n1994-02-02,3471.2,3520.4,3457.8,3520.3\n1994-02-01,3511.4,3514.3,3471.0,3481.5\n1994-01-31,3458.1,3491.8,3458.1,3491.8\n1994-01-28,3412.5,3448.4,3403.3,3447.4\n1994-01-27,3442.3,3444.4,3425.4,3427.3\n1994-01-26,3436.2,3450.3,3432.8,3436.1\n1994-01-25,3484.9,3486.3,3444.0,3444.0\n1994-01-24,3486.7,3487.4,3462.3,3481.4\n1994-01-21,3477.5,3496.1,3463.3,3484.2\n1994-01-20,3463.2,3476.0,3458.9,3470.0\n1994-01-19,3451.2,3484.5,3451.2,3475.1\n1994-01-18,3416.5,3439.6,3410.0,3437.0\n1994-01-17,3405.4,3421.1,3397.4,3407.8\n1994-01-14,3370.9,3405.6,3369.4,3400.6\n1994-01-13,3380.7,3383.3,3356.9,3360.0\n1994-01-12,3394.8,3402.4,3372.0,3372.0\n1994-01-11,3442.5,3442.5,3413.5,3413.8\n1994-01-10,3465.7,3468.1,3430.0,3440.6\n1994-01-07,3401.4,3446.8,3398.7,3446.0\n1994-01-06,3355.3,3407.7,3355.3,3403.0\n1994-01-05,3417.5,3419.4,3379.1,3379.2\n1994-01-04,3427.2,3427.9,3380.4,3408.5\n1993-12-31,3427.8,3445.3,3416.6,3418.4\n1993-12-30,3474.8,3480.8,3428.6,3428.8\n1993-12-29,3427.9,3474.2,3427.9,3462.0\n1993-12-24,3396.5,3412.4,3396.5,3412.3\n1993-12-23,3373.8,3400.3,3373.8,3396.5\n1993-12-22,3335.0,3359.1,3333.1,3355.7\n1993-12-21,3366.5,3378.6,3339.9,3342.4\n1993-12-20,3340.3,3369.0,3339.0,3364.9\n1993-12-17,3329.7,3350.8,3329.7,3337.1\n1993-12-16,3294.0,3313.6,3292.7,3311.2\n1993-12-15,3247.7,3282.5,3247.7,3278.8\n1993-12-14,3261.7,3277.6,3243.3,3248.4\n1993-12-13,3258.4,3269.1,3248.6,3254.6\n1993-12-10,3266.0,3282.4,3254.9,3261.3\n1993-12-09,3284.1,3300.1,3263.6,3271.6\n1993-12-08,3234.1,3279.5,3233.9,3277.4\n1993-12-07,3236.6,3241.6,3218.4,3237.3\n1993-12-06,3229.9,3243.6,3224.3,3237.3\n1993-12-03,3214.4,3240.8,3212.2,3234.2\n1993-12-02,3235.4,3258.3,3223.9,3223.9\n1993-12-01,3197.0,3250.1,3190.3,3233.2\n1993-11-30,3139.1,3168.7,3139.1,3166.9\n1993-11-29,3106.1,3144.1,3106.0,3135.8\n1993-11-26,3098.9,3123.4,3094.7,3111.4\n1993-11-25,3063.5,3093.1,3063.0,3093.1\n1993-11-24,3068.7,3076.3,3061.4,3067.2\n1993-11-23,3060.1,3090.1,3050.6,3069.3\n1993-11-22,3100.6,3100.7,3069.2,3070.6\n1993-11-19,3120.8,3120.9,3104.2,3108.0\n1993-11-18,3130.5,3138.3,3119.5,3125.5\n1993-11-17,3106.2,3126.1,3099.0,3120.0\n1993-11-16,3084.0,3108.1,3082.9,3097.5\n1993-11-15,3095.2,3109.4,3092.1,3093.3\n1993-11-12,3086.8,3099.3,3074.9,3099.1\n1993-11-11,3108.7,3111.5,3099.7,3099.7\n1993-11-10,3087.6,3115.0,3080.7,3098.5\n1993-11-09,3081.7,3096.0,3072.2,3096.0\n1993-11-08,3090.6,3096.5,3065.1,3077.6\n1993-11-05,3127.8,3127.8,3083.3,3085.6\n1993-11-04,3142.7,3157.6,3133.9,3149.0\n1993-11-03,3159.5,3164.6,3155.5,3162.3\n1993-11-02,3174.9,3176.2,3160.8,3164.1\n1993-11-01,3170.7,3170.7,3147.9,3164.4\n1993-10-29,3165.5,3172.3,3162.0,3171.0\n1993-10-28,3152.5,3166.9,3146.5,3163.0\n1993-10-27,3162.9,3171.1,3152.2,3154.3\n1993-10-26,3191.3,3193.6,3164.8,3165.3\n1993-10-25,3195.2,3195.2,3176.2,3184.8\n1993-10-22,3194.1,3199.2,3185.7,3199.0\n1993-10-21,3161.8,3188.3,3149.3,3188.3\n1993-10-20,3126.1,3156.9,3123.9,3156.3\n1993-10-19,3140.9,3140.9,3123.8,3129.6\n1993-10-18,3126.5,3142.8,3126.4,3137.6\n1993-10-15,3104.9,3126.7,3100.9,3120.8\n1993-10-14,3084.2,3086.3,3067.5,3086.3\n1993-10-13,3091.7,3095.8,3071.2,3080.9\n1993-10-12,3103.6,3115.2,3093.0,3094.7\n1993-10-11,3107.5,3117.1,3098.0,3102.2\n1993-10-08,3089.4,3108.6,3084.1,3108.6\n1993-10-07,3101.2,3110.6,3088.7,3092.4\n1993-10-06,3090.3,3116.3,3090.3,3100.8\n1993-10-05,3069.8,3096.4,3069.8,3085.2\n1993-10-04,3033.0,3069.0,3033.0,3067.7\n1993-10-01,3039.0,3040.3,3026.8,3039.3\n1993-09-30,3037.2,3043.5,3034.7,3037.5\n1993-09-29,3032.2,3038.7,3022.6,3030.1\n1993-09-28,3026.3,3045.4,3023.2,3036.9\n1993-09-27,3001.2,3029.9,3001.1,3026.3\n1993-09-24,3004.8,3009.7,3002.2,3005.2\n1993-09-23,3016.4,3018.4,2998.5,3001.3\n1993-09-22,2991.7,3007.5,2975.0,3007.5\n1993-09-21,2995.6,3004.7,2990.0,3001.6\n1993-09-20,3001.4,3005.6,2987.5,3004.5\n1993-09-17,3003.2,3020.4,2991.4,3005.5\n1993-09-16,2993.6,3004.0,2985.1,3003.9\n1993-09-15,3031.5,3032.6,2986.0,2989.4\n1993-09-14,3021.6,3035.3,3014.3,3028.0\n1993-09-13,3039.9,3041.6,3017.7,3024.8\n1993-09-10,3033.6,3041.1,3031.4,3037.0\n1993-09-09,3030.7,3045.1,3024.6,3031.2\n1993-09-08,3022.2,3037.6,3022.1,3035.4\n1993-09-07,3060.6,3063.4,3036.0,3038.6\n1993-09-06,3052.8,3059.7,3049.7,3055.4\n1993-09-03,3064.5,3075.8,3057.2,3057.3\n1993-09-02,3084.2,3094.0,3072.2,3072.6\n1993-09-01,3099.5,3099.5,3070.3,3085.1\n1993-08-31,3105.8,3115.1,3096.6,3100.0\n1993-08-27,3085.6,3103.7,3085.6,3100.6\n1993-08-26,3084.3,3085.0,3058.6,3079.2\n1993-08-25,3058.6,3081.8,3058.5,3079.2\n1993-08-24,3046.9,3058.4,3046.9,3049.3\n1993-08-23,3050.2,3056.4,3035.6,3042.0\n1993-08-20,3065.7,3077.7,3056.5,3057.6\n1993-08-19,3076.5,3089.2,3054.8,3065.5\n1993-08-18,3034.6,3076.2,3034.6,3073.6\n1993-08-17,3013.5,3025.0,3001.8,3025.0\n1993-08-16,3002.0,3016.6,3002.0,3008.3\n1993-08-13,3001.9,3010.2,2992.5,3010.1\n1993-08-12,3005.6,3022.4,3004.3,3009.1\n1993-08-11,2969.9,3010.1,2964.5,3006.1\n1993-08-10,2990.0,2991.6,2971.6,2971.6\n1993-08-09,2973.4,2986.8,2973.4,2986.4\n1993-08-06,2948.8,2974.4,2948.8,2969.8\n1993-08-05,2932.2,2943.4,2925.7,2943.4\n1993-08-04,2946.3,2946.3,2930.8,2941.3\n1993-08-03,2942.0,2947.3,2936.7,2945.0\n1993-08-02,2920.0,2954.5,2919.5,2941.7\n1993-07-30,2917.9,2939.5,2912.1,2926.5\n1993-07-29,2884.0,2917.6,2884.0,2917.6\n1993-07-28,2881.8,2895.7,2880.8,2884.2\n1993-07-27,2852.3,2880.1,2852.3,2879.4\n1993-07-26,2831.2,2846.0,2831.2,2844.2\n1993-07-23,2801.2,2832.0,2801.2,2827.7\n1993-07-22,2818.2,2820.9,2811.9,2820.1\n1993-07-21,2827.2,2827.2,2801.8,2814.1\n1993-07-20,2846.2,2849.0,2818.6,2823.9\n1993-07-19,2826.4,2846.7,2826.4,2842.9\n1993-07-16,2831.1,2833.0,2822.4,2833.0\n1993-07-15,2834.4,2837.9,2830.1,2831.7\n1993-07-14,2832.8,2835.0,2826.7,2832.3\n1993-07-13,2832.8,2837.4,2827.5,2837.1\n1993-07-12,2842.7,2851.4,2827.1,2830.9\n1993-07-09,2853.4,2858.2,2843.1,2843.2\n1993-07-08,2851.3,2859.4,2842.2,2845.9\n1993-07-07,2841.6,2848.3,2829.2,2848.3\n1993-07-06,2843.1,2851.4,2842.8,2848.1\n1993-07-05,2853.2,2853.2,2835.8,2838.5\n1993-07-02,2880.2,2880.2,2857.0,2857.7\n1993-07-01,2901.5,2906.7,2888.7,2888.8\n1993-06-30,2884.0,2900.0,2884.0,2900.0\n1993-06-29,2904.3,2905.0,2883.1,2886.0\n1993-06-28,2892.0,2903.8,2891.8,2897.0\n1993-06-25,2893.7,2894.3,2883.2,2887.5\n1993-06-24,2888.6,2897.7,2887.9,2894.7\n1993-06-23,2906.2,2917.0,2899.2,2900.7\n1993-06-22,2912.9,2917.2,2905.3,2907.6\n1993-06-21,2868.3,2903.4,2868.3,2903.4\n1993-06-18,2878.5,2887.6,2877.8,2879.4\n1993-06-17,2885.6,2889.2,2874.6,2875.7\n1993-06-16,2868.2,2888.3,2868.1,2883.0\n1993-06-15,2884.3,2886.0,2869.7,2870.0\n1993-06-14,2863.1,2891.6,2863.0,2885.5\n1993-06-11,2850.0,2864.8,2849.2,2861.8\n1993-06-10,2870.8,2870.9,2854.2,2860.0\n1993-06-09,2838.2,2868.2,2838.1,2866.9\n1993-06-08,2844.8,2854.9,2842.4,2844.4\n1993-06-07,2830.4,2849.8,2830.1,2844.8\n1993-06-04,2851.6,2854.6,2829.8,2829.9\n1993-06-03,2857.3,2857.8,2844.9,2852.8\n1993-06-02,2858.4,2868.7,2858.4,2863.0\n1993-06-01,2836.1,2849.2,2836.1,2849.2\n1993-05-28,2854.6,2855.5,2838.9,2840.7\n1993-05-27,2850.3,2860.5,2844.1,2855.3\n1993-05-26,2838.9,2846.9,2832.5,2846.9\n1993-05-25,2828.2,2837.7,2828.2,2837.7\n1993-05-24,2812.4,2825.6,2804.3,2825.6\n1993-05-21,2822.8,2823.5,2801.1,2812.2\n1993-05-20,2831.7,2832.8,2814.6,2816.8\n1993-05-19,2846.0,2848.0,2817.7,2819.7\n1993-05-18,2863.7,2869.2,2845.9,2847.3\n1993-05-17,2847.0,2858.7,2840.5,2858.1\n1993-05-14,2841.9,2848.9,2838.1,2847.0\n1993-05-13,2863.9,2867.4,2849.3,2849.3\n1993-05-12,2844.4,2861.8,2844.4,2860.8\n1993-05-11,2827.5,2836.1,2823.6,2836.1\n1993-05-10,2793.5,2829.7,2793.5,2829.7\n1993-05-07,2780.7,2793.7,2772.2,2793.7\n1993-05-06,2801.2,2806.0,2783.9,2786.3\n1993-05-05,2808.9,2809.7,2786.4,2796.5\n1993-05-04,2820.3,2822.9,2812.0,2812.6\n1993-04-30,2793.8,2813.6,2793.6,2813.1\n1993-04-29,2794.3,2794.3,2773.7,2786.8\n1993-04-28,2843.4,2844.2,2787.1,2797.3\n1993-04-27,2813.5,2832.7,2811.8,2832.7\n1993-04-26,2841.8,2844.3,2822.0,2822.3\n1993-04-23,2871.9,2871.9,2843.4,2843.8\n1993-04-22,2872.8,2881.2,2868.5,2881.1\n1993-04-21,2863.0,2875.2,2862.9,2869.6\n1993-04-20,2830.0,2856.2,2830.0,2856.1\n1993-04-19,2822.8,2844.2,2822.8,2830.0\n1993-04-16,2838.0,2839.5,2817.1,2824.4\n1993-04-15,2847.1,2854.1,2839.0,2839.7\n1993-04-14,2853.4,2855.9,2838.3,2842.1\n1993-04-13,2824.3,2848.0,2824.3,2846.8\n1993-04-08,2827.2,2827.2,2816.1,2821.8\n1993-04-07,2831.5,2837.0,2800.6,2822.1\n1993-04-06,2848.3,2850.1,2828.6,2832.2\n1993-04-05,2846.7,2855.1,2835.1,2838.8\n1993-04-02,2870.8,2897.5,2864.5,2869.9\n1993-04-01,2871.3,2887.9,2871.3,2878.4\n1993-03-31,2868.3,2886.3,2867.9,2878.7\n1993-03-30,2859.7,2864.3,2850.0,2861.0\n1993-03-29,2836.8,2848.4,2833.0,2846.5\n1993-03-26,2865.0,2873.7,2852.7,2852.9\n1993-03-25,2860.5,2861.7,2833.4,2852.8\n1993-03-24,2857.5,2860.8,2843.7,2860.6\n1993-03-23,2868.9,2873.4,2851.0,2861.1\n1993-03-22,2898.6,2898.6,2858.7,2863.9\n1993-03-19,2876.9,2903.6,2868.2,2900.1\n1993-03-18,2889.9,2890.2,2881.2,2883.3\n1993-03-17,2902.5,2902.5,2883.1,2889.9\n1993-03-16,2924.5,2930.4,2908.3,2919.3\n1993-03-15,2909.0,2928.2,2908.7,2922.4\n1993-03-12,2933.7,2937.7,2904.8,2915.9\n1993-03-11,2958.4,2958.4,2942.7,2953.4\n1993-03-10,2950.4,2961.8,2944.4,2956.7\n1993-03-09,2980.9,2980.9,2946.1,2949.9\n1993-03-08,2923.9,2958.3,2923.8,2957.3\n1993-03-05,2911.8,2925.0,2907.7,2916.6\n1993-03-04,2909.7,2922.5,2902.5,2904.8\n1993-03-03,2904.9,2922.0,2897.6,2918.6\n1993-03-02,2880.8,2883.0,2871.7,2882.3\n1993-03-01,2861.9,2884.9,2858.3,2882.6\n1993-02-26,2836.9,2873.3,2834.6,2868.0\n1993-02-25,2828.3,2829.3,2809.4,2828.7\n1993-02-24,2818.9,2821.7,2810.1,2817.0\n1993-02-23,2842.0,2852.5,2813.4,2818.0\n1993-02-22,2832.2,2842.3,2832.2,2838.3\n1993-02-19,2831.6,2845.6,2831.6,2840.0\n1993-02-18,2823.8,2852.1,2823.8,2837.7\n1993-02-17,2794.2,2820.8,2794.2,2814.0\n1993-02-16,2847.0,2852.0,2808.0,2812.2\n1993-02-15,2839.2,2854.7,2837.0,2845.9\n1993-02-12,2835.6,2854.8,2814.1,2843.0\n1993-02-11,2830.0,2840.7,2820.0,2834.3\n1993-02-10,2824.9,2832.4,2810.2,2816.4\n1993-02-09,2871.5,2871.7,2823.0,2831.3\n1993-02-08,2864.8,2881.1,2863.7,2870.0\n1993-02-05,2867.3,2883.5,2853.6,2862.9\n1993-02-04,2898.1,2900.1,2865.4,2865.9\n1993-02-03,2833.4,2873.8,2832.5,2873.8\n1993-02-02,2849.4,2859.7,2829.7,2834.4\n1993-02-01,2821.9,2854.5,2821.9,2851.6\n1993-01-29,2820.9,2821.1,2798.2,2807.2\n1993-01-28,2820.9,2836.0,2815.7,2816.9\n1993-01-27,2842.9,2853.9,2829.6,2832.5\n1993-01-26,2776.7,2836.2,2772.9,2835.7\n1993-01-25,2780.3,2783.1,2763.9,2771.9\n1993-01-22,2776.1,2794.6,2773.4,2781.2\n1993-01-21,2751.7,2773.7,2745.5,2773.3\n1993-01-20,2730.7,2748.7,2727.6,2748.7\n1993-01-19,2756.0,2759.3,2735.9,2737.6\n1993-01-18,2766.6,2775.6,2757.4,2763.1\n1993-01-15,2756.2,2768.4,2749.4,2765.1\n1993-01-14,2751.8,2771.3,2751.8,2759.2\n1993-01-13,2759.7,2768.3,2740.7,2745.3\n1993-01-12,2774.1,2778.4,2757.4,2757.9\n1993-01-11,2800.7,2801.4,2761.5,2773.4\n1993-01-08,2801.9,2813.1,2797.9,2799.2\n1993-01-07,2823.6,2825.5,2805.5,2816.5\n1993-01-06,2829.0,2839.2,2823.6,2826.0\n1993-01-05,2860.0,2870.2,2830.1,2833.6\n1993-01-04,2841.8,2867.9,2830.3,2861.5\n1992-12-31,2839.3,2846.7,2839.0,2846.5\n1992-12-30,2836.2,2844.3,2829.3,2832.5\n1992-12-29,2828.3,2848.9,2825.5,2847.8\n1992-12-24,2831.2,2840.6,2824.6,2827.5\n1992-12-23,2841.3,2841.3,2818.9,2827.4\n1992-12-22,2807.4,2845.6,2805.4,2842.0\n1992-12-21,2793.9,2807.7,2788.2,2807.7\n1992-12-18,2743.3,2789.7,2743.0,2789.7\n1992-12-17,2725.4,2748.0,2725.4,2740.3\n1992-12-16,2715.4,2732.9,2713.1,2732.8\n1992-12-15,2717.7,2723.3,2710.4,2717.9\n1992-12-14,2709.8,2726.1,2709.8,2721.8\n1992-12-11,2716.1,2720.5,2704.2,2716.2\n1992-12-10,2740.6,2749.2,2725.9,2726.5\n1992-12-09,2773.8,2775.1,2749.4,2750.7\n1992-12-08,2750.2,2769.9,2745.7,2769.8\n1992-12-07,2759.1,2776.0,2751.8,2754.5\n1992-12-04,2775.5,2775.5,2753.7,2759.4\n1992-12-03,2758.4,2777.7,2758.0,2771.0\n1992-12-02,2775.0,2784.3,2762.1,2764.1\n1992-12-01,2772.0,2794.7,2768.2,2792.0\n1992-11-30,2760.8,2784.1,2759.4,2778.8\n1992-11-27,2747.1,2761.9,2738.0,2760.1\n1992-11-26,2710.7,2741.8,2710.4,2741.8\n1992-11-25,2727.3,2728.0,2708.6,2709.6\n1992-11-24,2720.5,2729.0,2704.6,2727.1\n1992-11-23,2730.3,2745.2,2719.7,2722.9\n1992-11-20,2705.1,2732.9,2701.9,2732.4\n1992-11-19,2710.6,2712.6,2701.9,2706.2\n1992-11-18,2679.6,2706.4,2670.7,2704.0\n1992-11-17,2668.7,2686.7,2667.5,2679.2\n1992-11-16,2688.7,2694.9,2678.3,2679.6\n1992-11-13,2717.8,2718.3,2696.3,2697.5\n1992-11-12,2705.7,2733.8,2705.7,2726.4\n1992-11-11,2719.0,2720.7,2695.5,2696.8\n1992-11-10,2696.1,2718.1,2689.6,2714.6\n1992-11-09,2702.7,2705.8,2694.2,2695.4\n1992-11-06,2714.9,2715.1,2701.0,2702.7\n1992-11-05,2682.7,2713.3,2681.4,2711.1\n1992-11-04,2704.4,2710.2,2691.6,2691.7\n1992-11-03,2712.7,2713.4,2697.7,2705.6\n1992-11-02,2657.1,2687.8,2649.1,2687.8\n1992-10-30,2649.6,2660.6,2648.0,2658.3\n1992-10-29,2650.0,2660.5,2628.2,2642.3\n1992-10-28,2666.3,2666.3,2643.5,2650.4\n1992-10-27,2672.6,2678.0,2640.9,2669.8\n1992-10-26,2670.4,2675.0,2656.5,2661.6\n1992-10-23,2643.2,2677.0,2639.9,2669.7\n1992-10-22,2642.8,2681.9,2642.3,2658.1\n1992-10-21,2636.8,2660.8,2636.8,2645.7\n1992-10-20,2574.3,2617.5,2574.3,2617.0\n1992-10-19,2555.3,2563.2,2542.8,2562.2\n1992-10-16,2544.4,2588.0,2536.1,2563.9\n1992-10-15,2552.3,2558.0,2536.6,2546.6\n1992-10-14,2583.6,2586.8,2562.9,2574.7\n1992-10-13,2567.2,2587.7,2549.5,2584.7\n1992-10-12,2535.6,2558.9,2530.5,2557.2\n1992-10-09,2549.9,2566.8,2541.0,2541.2\n1992-10-08,2522.9,2547.3,2521.9,2538.8\n1992-10-07,2512.5,2526.9,2500.4,2517.1\n1992-10-06,2484.7,2488.4,2467.6,2488.4\n1992-10-05,2524.4,2524.4,2446.1,2446.3\n1992-10-02,2569.2,2585.0,2544.9,2549.7\n1992-10-01,2558.4,2587.3,2552.7,2572.3\n1992-09-30,2557.1,2562.2,2543.4,2553.0\n1992-09-29,2557.7,2568.6,2531.5,2565.5\n1992-09-28,2573.5,2582.9,2559.9,2560.0\n1992-09-25,2656.8,2657.3,2601.0,2601.0\n1992-09-24,2584.4,2621.2,2584.4,2621.2\n1992-09-23,2579.3,2603.9,2567.8,2580.5\n1992-09-22,2545.7,2598.4,2545.2,2586.0\n1992-09-21,2551.9,2611.2,2551.9,2560.1\n1992-09-18,2483.4,2577.7,2483.2,2567.0\n1992-09-17,2485.1,2487.7,2404.1,2483.9\n1992-09-16,2341.8,2378.3,2291.3,2378.3\n1992-09-15,2416.0,2416.1,2367.1,2370.0\n1992-09-14,2470.4,2470.4,2407.0,2422.1\n1992-09-11,2357.5,2373.4,2346.5,2370.9\n1992-09-10,2333.9,2343.5,2331.2,2340.6\n1992-09-09,2322.8,2335.4,2321.6,2327.5\n1992-09-08,2378.4,2389.1,2336.8,2337.7\n1992-09-07,2358.3,2385.7,2358.3,2372.2\n1992-09-04,2380.5,2396.4,2352.1,2362.2\n1992-09-03,2334.1,2384.3,2332.3,2381.9\n1992-09-02,2291.2,2314.1,2282.4,2313.0\n1992-09-01,2313.0,2313.3,2296.5,2298.4\n1992-08-28,2313.6,2314.6,2298.4,2312.6\n1992-08-27,2303.4,2317.5,2300.5,2311.6\n1992-08-26,2290.5,2292.8,2273.9,2285.0\n1992-08-25,2302.3,2304.2,2260.6,2281.0\n1992-08-24,2320.7,2334.2,2306.0,2311.1\n1992-08-21,2362.8,2376.3,2362.8,2365.7\n1992-08-20,2357.5,2376.5,2357.1,2359.4\n1992-08-19,2352.4,2367.1,2344.9,2363.5\n1992-08-18,2371.7,2371.7,2351.9,2354.7\n1992-08-17,2362.1,2376.1,2356.8,2376.1\n1992-08-14,2314.5,2358.2,2311.8,2356.8\n1992-08-13,2302.8,2323.7,2293.2,2318.0\n1992-08-12,2316.0,2326.7,2299.3,2303.1\n1992-08-11,2330.9,2330.9,2294.7,2309.6\n1992-08-10,2331.0,2334.0,2318.0,2325.7\n1992-08-07,2368.3,2368.3,2344.9,2350.1\n1992-08-06,2388.6,2391.6,2360.7,2377.6\n1992-08-05,2401.1,2401.5,2392.7,2392.8\n1992-08-04,2427.9,2434.8,2407.5,2407.5\n1992-08-03,2390.8,2420.6,2389.0,2420.2\n1992-07-31,2411.6,2411.8,2396.8,2399.6\n1992-07-30,2438.2,2439.7,2410.3,2411.6\n1992-07-29,2397.3,2424.3,2386.5,2423.2\n1992-07-28,2352.0,2373.4,2352.0,2373.4\n1992-07-27,2375.4,2376.3,2347.4,2348.0\n1992-07-24,2398.8,2399.0,2361.7,2377.2\n1992-07-23,2389.0,2399.6,2374.1,2399.5\n1992-07-22,2407.5,2407.5,2376.8,2387.9\n1992-07-21,2426.2,2426.6,2404.2,2415.6\n1992-07-20,2409.1,2417.6,2367.1,2403.7\n1992-07-17,2483.4,2483.4,2430.9,2431.9\n1992-07-16,2483.8,2507.1,2478.4,2483.4\n1992-07-15,2499.3,2501.1,2484.4,2486.4\n1992-07-14,2472.2,2484.0,2461.6,2484.0\n1992-07-13,2483.3,2492.5,2473.7,2478.3\n1992-07-10,2504.1,2507.0,2489.4,2490.8\n1992-07-09,2479.2,2499.2,2465.7,2497.9\n1992-07-08,2476.9,2481.6,2454.6,2472.6\n1992-07-07,2478.5,2494.3,2467.6,2493.7\n1992-07-06,2494.9,2495.3,2463.0,2469.0\n1992-07-03,2467.5,2500.1,2467.5,2497.1\n1992-07-02,2504.0,2505.9,2471.2,2476.1\n1992-07-01,2525.6,2529.4,2488.1,2493.9\n1992-06-30,2515.8,2521.2,2502.2,2521.2\n1992-06-29,2532.0,2548.2,2515.6,2515.8\n1992-06-26,2526.1,2547.1,2525.1,2534.1\n1992-06-25,2545.8,2558.2,2545.6,2557.3\n1992-06-24,2558.8,2559.1,2527.6,2532.6\n1992-06-23,2562.0,2564.0,2539.6,2560.6\n1992-06-22,2573.0,2573.0,2550.1,2550.3\n1992-06-19,2574.8,2590.9,2573.8,2584.8\n1992-06-18,2570.5,2578.4,2558.6,2562.7\n1992-06-17,2603.5,2606.0,2595.0,2598.4\n1992-06-16,2600.3,2616.3,2600.3,2616.3\n1992-06-15,2588.9,2601.1,2577.8,2593.6\n1992-06-12,2621.6,2621.7,2601.4,2603.7\n1992-06-11,2627.1,2631.3,2610.5,2614.1\n1992-06-10,2627.1,2647.0,2627.1,2636.1\n1992-06-09,2649.8,2653.1,2635.3,2635.4\n1992-06-08,2661.2,2661.3,2645.6,2645.8\n1992-06-05,2679.6,2682.0,2664.7,2668.5\n1992-06-04,2683.6,2683.6,2663.6,2681.9\n1992-06-03,2695.0,2708.4,2675.3,2680.9\n1992-06-02,2710.5,2717.4,2705.5,2705.9\n1992-06-01,2697.7,2703.6,2692.7,2697.6\n1992-05-29,2703.8,2707.7,2695.3,2707.6\n1992-05-28,2697.5,2707.0,2689.4,2694.2\n1992-05-27,2696.6,2698.6,2688.4,2698.6\n1992-05-26,2722.0,2727.1,2704.6,2704.6\n1992-05-22,2704.2,2715.5,2697.5,2715.0\n1992-05-21,2708.8,2710.1,2697.8,2702.0\n1992-05-20,2713.3,2725.0,2707.4,2711.9\n1992-05-19,2707.2,2707.5,2693.7,2700.6\n1992-05-18,2679.8,2704.5,2678.6,2703.6\n1992-05-15,2674.1,2684.6,2673.9,2682.6\n1992-05-14,2721.3,2734.9,2692.5,2694.7\n1992-05-13,2717.5,2728.1,2717.5,2720.5\n1992-05-12,2741.5,2741.5,2718.9,2722.4\n1992-05-11,2731.3,2744.5,2730.2,2737.8\n1992-05-08,2695.8,2734.8,2695.3,2725.7\n1992-05-07,2703.3,2714.1,2697.8,2701.9\n1992-05-06,2657.1,2698.7,2652.7,2698.7\n1992-05-05,2679.8,2683.0,2658.4,2662.2\n1992-05-01,2660.1,2672.7,2650.5,2659.8\n1992-04-30,2668.5,2668.5,2641.0,2654.1\n1992-04-29,2654.4,2673.5,2650.4,2664.9\n1992-04-28,2659.5,2659.5,2635.6,2651.0\n1992-04-27,2640.9,2659.8,2640.9,2658.2\n1992-04-24,2610.9,2643.0,2598.9,2643.0\n1992-04-23,2610.6,2630.1,2605.7,2609.8\n1992-04-22,2631.9,2641.2,2607.8,2607.8\n1992-04-21,2617.6,2627.7,2615.6,2625.8\n1992-04-16,2667.7,2673.4,2635.3,2638.6\n1992-04-15,2621.6,2640.2,2620.2,2640.2\n1992-04-14,2585.2,2603.5,2585.2,2600.5\n1992-04-13,2570.9,2606.5,2570.9,2591.0\n1992-04-10,2568.6,2587.0,2549.6,2572.6\n1992-04-09,2401.7,2436.5,2401.7,2436.4\n1992-04-08,2374.1,2403.5,2374.1,2393.2\n1992-04-07,2413.2,2417.7,2402.2,2404.2\n1992-04-06,2377.6,2404.4,2377.4,2400.9\n1992-04-03,2397.9,2397.9,2379.5,2382.7\n1992-04-02,2423.2,2424.1,2394.1,2405.4\n1992-04-01,2384.1,2413.4,2384.1,2408.6\n1992-03-31,2459.4,2465.6,2439.8,2440.1\n1992-03-30,2436.9,2453.5,2436.8,2452.9\n1992-03-27,2466.7,2466.7,2441.8,2447.9\n1992-03-26,2466.4,2479.0,2463.4,2472.2\n1992-03-25,2453.4,2466.7,2448.0,2464.9\n1992-03-24,2455.8,2462.3,2445.3,2458.7\n1992-03-23,2448.5,2453.1,2427.9,2441.0\n1992-03-20,2471.7,2475.7,2446.9,2456.6\n1992-03-19,2468.5,2470.1,2454.9,2467.6\n1992-03-18,2478.1,2485.0,2464.1,2464.7\n1992-03-17,2477.3,2494.4,2477.3,2491.2\n1992-03-16,2483.9,2484.9,2457.7,2470.7\n1992-03-13,2499.0,2499.0,2474.2,2476.0\n1992-03-12,2516.9,2517.0,2491.1,2493.3\n1992-03-11,2556.6,2560.6,2522.4,2522.4\n1992-03-10,2554.9,2574.8,2554.5,2574.8\n1992-03-09,2523.5,2552.3,2522.7,2550.7\n1992-03-06,2531.0,2542.7,2528.6,2533.1\n1992-03-05,2555.4,2555.4,2534.9,2538.3\n1992-03-04,2569.9,2569.9,2558.4,2558.4\n1992-03-03,2556.1,2569.7,2550.3,2565.4\n1992-03-02,2552.2,2554.3,2533.5,2554.3\n1992-02-28,2564.0,2565.1,2551.6,2562.1\n1992-02-27,2565.1,2572.0,2555.1,2562.0\n1992-02-26,2548.3,2571.1,2548.2,2565.0\n1992-02-25,2563.6,2572.8,2544.1,2546.8\n1992-02-24,2533.5,2563.1,2533.5,2559.7\n1992-02-21,2555.1,2555.1,2541.9,2542.3\n1992-02-20,2545.9,2555.2,2531.2,2543.4\n1992-02-19,2545.0,2554.1,2530.6,2536.7\n1992-02-18,2547.8,2557.1,2546.8,2555.9\n1992-02-17,2513.3,2541.0,2512.6,2541.0\n1992-02-14,2510.7,2518.1,2500.6,2513.9\n1992-02-13,2526.1,2532.2,2513.8,2522.6\n1992-02-12,2532.8,2537.2,2523.7,2523.7\n1992-02-11,2548.9,2549.9,2536.7,2537.1\n1992-02-10,2507.4,2540.3,2506.0,2538.4\n1992-02-07,2530.2,2533.5,2517.0,2517.2\n1992-02-06,2535.5,2549.6,2529.7,2534.3\n1992-02-05,2569.1,2569.1,2544.0,2547.1\n1992-02-04,2562.4,2562.5,2548.6,2556.8\n1992-02-03,2563.7,2568.4,2552.5,2560.2\n1992-01-31,2568.4,2580.2,2565.6,2571.2\n1992-01-30,2533.9,2556.0,2533.9,2550.8\n1992-01-29,2552.6,2552.6,2535.1,2546.5\n1992-01-28,2540.4,2553.3,2540.4,2552.0\n1992-01-27,2528.7,2547.6,2528.7,2539.9\n1992-01-24,2502.6,2515.7,2493.2,2510.4\n1992-01-23,2531.4,2537.2,2522.6,2525.3\n1992-01-22,2526.9,2539.2,2517.0,2522.0\n1992-01-21,2549.0,2561.6,2540.0,2543.4\n1992-01-20,2528.8,2544.9,2520.3,2544.9\n1992-01-17,2543.9,2560.8,2536.5,2536.7\n1992-01-16,2525.8,2549.4,2523.3,2541.6\n1992-01-15,2551.2,2556.9,2536.4,2537.1\n1992-01-14,2491.5,2516.3,2490.3,2516.3\n1992-01-13,2465.1,2491.6,2456.9,2490.1\n1992-01-10,2503.6,2518.3,2476.4,2477.9\n1992-01-09,2467.0,2500.0,2467.0,2497.9\n1992-01-08,2475.9,2475.9,2441.3,2467.1\n1992-01-07,2477.1,2483.5,2465.3,2482.9\n1992-01-06,2523.7,2540.1,2492.2,2493.2\n1992-01-03,2499.4,2515.7,2493.1,2504.1\n1992-01-02,2483.1,2530.8,2482.5,2492.8\n1991-12-31,2449.9,2494.0,2449.9,2493.1\n1991-12-30,2426.6,2426.6,2404.0,2420.0\n1991-12-27,2399.3,2427.0,2399.3,2418.7\n1991-12-24,2373.5,2385.4,2369.3,2384.4\n1991-12-23,2353.0,2353.0,2327.0,2345.4\n1991-12-20,2381.1,2381.1,2356.1,2358.1\n1991-12-19,2409.3,2409.3,2373.8,2391.6\n1991-12-18,2425.7,2428.6,2409.4,2413.6\n1991-12-17,2436.4,2436.4,2426.3,2432.9\n1991-12-16,2446.0,2447.7,2440.0,2440.8\n1991-12-13,2448.7,2459.3,2443.1,2451.6\n1991-12-12,2384.0,2424.0,2378.1,2423.3\n1991-12-11,2392.6,2402.6,2378.2,2380.2\n1991-12-10,2408.3,2414.3,2390.5,2392.0\n1991-12-09,2381.1,2409.6,2377.0,2409.6\n1991-12-06,2402.6,2413.6,2375.3,2388.7\n1991-12-05,2418.4,2418.4,2386.9,2407.0\n1991-12-04,2419.7,2441.6,2418.7,2423.8\n1991-12-03,2436.9,2436.9,2396.9,2420.2\n1991-12-02,2412.4,2414.9,2387.7,2414.9\n1991-11-29,2428.9,2439.2,2405.6,2420.2\n1991-11-28,2451.0,2454.9,2424.5,2428.6\n1991-11-27,2472.3,2472.3,2444.9,2447.5\n1991-11-26,2466.4,2483.6,2462.9,2471.5\n1991-11-25,2432.7,2456.2,2431.2,2456.2\n1991-11-22,2468.3,2472.4,2445.2,2446.3\n1991-11-21,2471.1,2471.1,2453.4,2463.5\n1991-11-20,2474.3,2485.6,2469.7,2472.6\n1991-11-19,2516.6,2517.3,2450.4,2463.1\n1991-11-18,2483.6,2506.8,2483.6,2502.9\n1991-11-15,2560.7,2560.7,2544.8,2546.6\n1991-11-14,2558.6,2569.2,2553.5,2561.6\n1991-11-13,2574.1,2574.2,2545.6,2546.5\n1991-11-12,2559.1,2580.3,2559.0,2575.5\n1991-11-11,2556.8,2572.4,2553.7,2554.9\n1991-11-08,2537.5,2564.8,2537.3,2559.0\n1991-11-07,2533.3,2548.0,2531.1,2538.0\n1991-11-06,2533.5,2539.8,2523.9,2534.2\n1991-11-05,2532.3,2546.5,2530.5,2540.9\n1991-11-04,2548.9,2552.6,2527.0,2527.8\n1991-11-01,2559.0,2559.0,2544.0,2549.5\n1991-10-31,2583.2,2590.1,2565.0,2566.0\n1991-10-30,2561.4,2580.1,2555.5,2577.1\n1991-10-29,2577.1,2577.9,2548.7,2553.3\n1991-10-28,2520.4,2558.5,2520.4,2558.5\n1991-10-25,2528.8,2532.1,2511.9,2514.7\n1991-10-24,2560.5,2569.7,2524.1,2528.3\n1991-10-23,2557.5,2566.5,2557.4,2561.1\n1991-10-22,2568.9,2571.9,2559.5,2559.5\n1991-10-21,2596.8,2601.8,2575.6,2575.7\n1991-10-18,2585.5,2601.1,2575.9,2601.1\n1991-10-17,2591.5,2598.4,2583.4,2588.7\n1991-10-16,2579.7,2583.3,2571.3,2579.0\n1991-10-15,2587.0,2588.0,2572.8,2576.7\n1991-10-14,2548.0,2574.5,2538.1,2574.5\n1991-10-11,2569.4,2578.0,2555.0,2555.0\n1991-10-10,2576.3,2579.0,2567.2,2570.8\n1991-10-09,2606.7,2607.3,2574.7,2584.1\n1991-10-08,2590.2,2606.1,2590.2,2599.5\n1991-10-07,2614.6,2614.6,2594.2,2596.2\n1991-10-04,2619.3,2624.9,2614.8,2624.6\n1991-10-03,2642.9,2642.9,2622.1,2625.6\n1991-10-02,2646.1,2649.9,2638.8,2644.2\n1991-10-01,2643.4,2645.6,2637.6,2645.6\n1991-09-30,2596.0,2621.7,2592.6,2621.7\n1991-09-27,2593.0,2605.9,2588.8,2599.0\n1991-09-26,2597.0,2608.9,2595.6,2595.6\n1991-09-25,2584.4,2598.0,2581.5,2597.8\n1991-09-24,2573.7,2586.2,2572.6,2576.6\n1991-09-23,2596.9,2596.9,2579.1,2579.5\n1991-09-20,2598.2,2602.5,2580.4,2600.3\n1991-09-19,2588.1,2591.4,2564.5,2588.7\n1991-09-18,2593.3,2604.4,2583.6,2583.6\n1991-09-17,2611.2,2612.7,2587.1,2594.4\n1991-09-16,2617.0,2617.0,2603.7,2606.0\n1991-09-13,2652.7,2658.0,2624.9,2625.8\n1991-09-12,2635.1,2648.2,2635.1,2641.9\n1991-09-11,2629.3,2637.9,2621.6,2626.6\n1991-09-10,2646.1,2646.1,2630.1,2630.8\n1991-09-09,2665.4,2670.1,2648.6,2653.2\n1991-09-06,2667.5,2677.7,2665.5,2667.4\n1991-09-05,2662.2,2667.8,2659.3,2663.3\n1991-09-04,2658.6,2679.9,2657.7,2664.6\n1991-09-03,2678.0,2683.7,2667.1,2669.0\n1991-09-02,2653.9,2680.4,2653.9,2679.6\n1991-08-30,2637.3,2645.7,2632.7,2645.7\n1991-08-29,2636.9,2642.8,2631.0,2638.2\n1991-08-28,2617.3,2630.6,2617.3,2624.2\n1991-08-27,2642.6,2648.2,2619.8,2619.8\n1991-08-23,2618.7,2641.7,2618.7,2640.7\n1991-08-22,2612.6,2640.5,2607.5,2623.0\n1991-08-21,2559.1,2608.7,2559.1,2601.9\n1991-08-20,2571.6,2572.1,2554.5,2554.5\n1991-08-19,2528.4,2547.9,2495.7,2540.5\n1991-08-16,2612.0,2630.0,2611.7,2621.0\n1991-08-15,2610.4,2621.5,2610.4,2617.2\n1991-08-14,2589.9,2611.6,2589.9,2608.8\n1991-08-13,2574.2,2584.9,2573.0,2584.9\n1991-08-12,2557.1,2569.4,2556.7,2569.4\n1991-08-09,2592.5,2592.5,2569.7,2570.6\n1991-08-08,2597.4,2600.6,2588.4,2600.6\n1991-08-07,2584.9,2598.0,2584.8,2597.4\n1991-08-06,2576.7,2580.4,2572.8,2573.3\n1991-08-05,2599.1,2606.0,2585.4,2585.4\n1991-08-02,2590.7,2609.1,2589.5,2601.7\n1991-08-01,2586.2,2593.4,2583.8,2591.7\n1991-07-31,2597.7,2603.6,2588.3,2588.8\n1991-07-30,2595.3,2604.0,2590.3,2595.6\n1991-07-29,2587.7,2612.4,2587.7,2595.0\n1991-07-26,2584.0,2598.1,2584.0,2589.3\n1991-07-25,2575.6,2579.6,2566.8,2579.6\n1991-07-24,2581.8,2588.4,2578.6,2580.5\n1991-07-23,2561.3,2594.7,2561.3,2587.9\n1991-07-22,2539.6,2564.6,2536.2,2558.5\n1991-07-19,2556.9,2557.5,2541.3,2541.5\n1991-07-18,2557.1,2558.1,2546.6,2547.3\n1991-07-17,2550.3,2561.6,2545.2,2561.0\n1991-07-16,2543.3,2561.2,2543.3,2556.8\n1991-07-15,2500.0,2532.9,2500.0,2532.5\n1991-07-12,2510.7,2512.5,2497.0,2497.4\n1991-07-11,2506.7,2526.1,2506.7,2510.5\n1991-07-10,2485.9,2511.6,2485.9,2508.4\n1991-07-09,2481.0,2490.5,2480.9,2487.9\n1991-07-08,2480.2,2480.2,2462.5,2466.8\n1991-07-05,2472.3,2485.1,2472.3,2484.7\n1991-07-04,2452.5,2470.8,2452.5,2470.4\n1991-07-03,2456.0,2458.3,2444.2,2448.2\n1991-07-02,2455.2,2460.4,2444.4,2460.2\n1991-07-01,2416.7,2444.7,2416.7,2443.6\n1991-06-28,2451.6,2451.6,2414.7,2414.8\n1991-06-27,2442.7,2454.4,2441.1,2452.5\n1991-06-26,2459.3,2459.3,2431.7,2437.3\n1991-06-25,2449.7,2469.0,2449.7,2461.2\n1991-06-24,2485.5,2485.5,2457.8,2458.3\n1991-06-21,2485.6,2491.9,2485.5,2487.5\n1991-06-20,2487.0,2490.5,2471.6,2479.9\n1991-06-19,2503.7,2504.2,2484.7,2484.7\n1991-06-18,2516.9,2520.5,2509.1,2516.0\n1991-06-17,2521.9,2524.1,2518.7,2524.0\n1991-06-14,2520.8,2523.9,2516.0,2522.3\n1991-06-13,2515.2,2522.9,2510.4,2514.6\n1991-06-12,2538.2,2538.2,2520.0,2520.2\n1991-06-11,2517.8,2543.0,2517.8,2542.6\n1991-06-10,2510.6,2516.0,2504.7,2511.9\n1991-06-07,2521.9,2524.9,2505.4,2506.3\n1991-06-06,2518.2,2527.7,2518.2,2525.3\n1991-06-05,2514.3,2524.4,2507.9,2521.5\n1991-06-04,2514.8,2521.0,2502.9,2506.0\n1991-06-03,2497.7,2523.0,2497.7,2515.8\n1991-05-31,2495.4,2507.7,2494.9,2499.5\n1991-05-30,2494.7,2495.2,2484.1,2491.2\n1991-05-29,2489.8,2493.5,2483.0,2492.9\n1991-05-28,2476.9,2482.5,2475.6,2479.7\n1991-05-24,2482.0,2482.0,2460.1,2471.1\n1991-05-23,2468.6,2484.6,2468.6,2482.8\n1991-05-22,2488.1,2492.9,2464.6,2465.9\n1991-05-21,2471.5,2482.7,2471.5,2482.7\n1991-05-20,2453.0,2467.1,2452.9,2466.6\n1991-05-17,2473.5,2473.5,2444.6,2453.9\n1991-05-16,2464.1,2481.1,2454.6,2471.9\n1991-05-15,2456.3,2466.2,2449.7,2459.4\n1991-05-14,2490.7,2492.1,2462.2,2463.7\n1991-05-13,2500.8,2501.6,2486.4,2486.6\n1991-05-10,2552.8,2554.9,2522.4,2524.3\n1991-05-09,2530.4,2541.9,2530.2,2541.8\n1991-05-08,2536.5,2540.4,2521.8,2523.4\n1991-05-07,2521.8,2540.5,2521.5,2540.5\n1991-05-03,2523.9,2530.4,2520.8,2522.7\n1991-05-02,2522.3,2539.3,2517.0,2530.7\n1991-05-01,2487.4,2508.5,2480.0,2508.4\n1991-04-30,2487.4,2492.3,2475.6,2486.2\n1991-04-29,2468.7,2499.9,2468.7,2498.2\n1991-04-26,2480.6,2487.5,2470.9,2471.3\n1991-04-25,2492.8,2494.9,2480.1,2482.1\n1991-04-24,2504.0,2509.4,2483.5,2488.6\n1991-04-23,2489.3,2509.3,2489.3,2503.8\n1991-04-22,2507.5,2509.3,2490.8,2490.8\n1991-04-19,2536.3,2536.9,2517.4,2520.1\n1991-04-18,2551.5,2553.5,2535.0,2538.4\n1991-04-17,2535.9,2545.0,2524.5,2545.0\n1991-04-16,2546.3,2555.3,2518.6,2519.5\n1991-04-15,2525.7,2551.5,2525.7,2542.8\n1991-04-12,2536.2,2541.7,2521.2,2526.1\n1991-04-11,2518.3,2532.1,2518.1,2531.6\n1991-04-10,2506.0,2518.9,2506.0,2518.8\n1991-04-09,2536.9,2539.0,2525.9,2527.2\n1991-04-08,2541.0,2548.1,2520.0,2529.9\n1991-04-05,2532.8,2552.1,2529.8,2545.3\n1991-04-04,2515.1,2544.7,2515.1,2524.5\n1991-04-03,2524.1,2526.9,2515.2,2519.1\n1991-04-02,2440.2,2488.6,2438.6,2488.3\n1991-03-28,2460.3,2474.3,2449.4,2456.5\n1991-03-27,2457.0,2471.5,2445.6,2464.6\n1991-03-26,2424.0,2437.6,2413.7,2437.6\n1991-03-25,2432.2,2432.3,2417.7,2431.9\n1991-03-22,2467.1,2476.1,2440.1,2440.5\n1991-03-21,2455.5,2478.2,2455.5,2474.8\n1991-03-20,2444.0,2460.1,2429.9,2441.2\n1991-03-19,2490.3,2494.8,2446.7,2459.0\n1991-03-18,2486.6,2491.1,2477.7,2490.6\n1991-03-15,2500.5,2527.1,2490.3,2494.2\n1991-03-14,2467.1,2500.6,2466.9,2500.6\n1991-03-13,2457.3,2465.3,2445.3,2448.2\n1991-03-12,2447.5,2463.4,2445.1,2454.8\n1991-03-11,2447.8,2479.8,2447.8,2459.1\n1991-03-08,2433.4,2473.8,2433.4,2455.0\n1991-03-07,2448.7,2457.8,2437.2,2437.7\n1991-03-06,2457.7,2480.6,2448.5,2459.9\n1991-03-05,2379.1,2420.1,2372.1,2420.1\n1991-03-04,2395.9,2396.7,2378.7,2382.9\n1991-03-01,2374.9,2388.5,2368.4,2386.9\n1991-02-28,2367.1,2388.4,2365.9,2380.9\n1991-02-27,2318.5,2348.2,2306.8,2348.0\n1991-02-26,2329.0,2333.9,2319.7,2322.2\n1991-02-25,2318.4,2354.5,2317.9,2335.5\n1991-02-22,2312.3,2323.5,2307.4,2314.3\n1991-02-21,2291.6,2322.1,2291.6,2312.4\n1991-02-20,2306.2,2312.0,2296.3,2296.8\n1991-02-19,2318.1,2332.1,2306.5,2312.4\n1991-02-18,2307.0,2326.4,2299.6,2318.3\n1991-02-15,2282.6,2315.8,2282.6,2296.9\n1991-02-14,2278.8,2306.0,2276.2,2294.4\n1991-02-13,2255.5,2284.0,2254.5,2267.8\n1991-02-12,2308.9,2308.9,2260.2,2264.5\n1991-02-11,2252.5,2280.9,2252.5,2279.0\n1991-02-08,2232.8,2248.2,2232.4,2245.2\n1991-02-07,2210.2,2244.7,2210.1,2243.7\n1991-02-06,2200.5,2204.9,2184.9,2194.8\n1991-02-05,2198.4,2202.7,2191.2,2202.0\n1991-02-04,2170.8,2182.3,2169.2,2172.4\n1991-02-01,2168.5,2168.6,2155.6,2165.7\n1991-01-31,2168.3,2182.1,2158.5,2170.3\n1991-01-30,2119.3,2152.7,2119.3,2152.6\n1991-01-29,2110.6,2116.0,2105.2,2113.8\n1991-01-28,2100.6,2118.0,2100.6,2118.0\n1991-01-25,2103.8,2107.7,2098.3,2103.0\n1991-01-24,2091.3,2100.9,2086.1,2099.3\n1991-01-23,2078.0,2093.1,2078.0,2080.5\n1991-01-22,2079.7,2084.1,2071.8,2081.6\n1991-01-21,2099.2,2103.9,2080.5,2084.0\n1991-01-18,2099.9,2103.7,2087.0,2102.7\n1991-01-17,2083.4,2120.3,2082.1,2104.6\n1991-01-16,2056.6,2060.8,2052.3,2054.8\n1991-01-15,2081.7,2081.7,2069.7,2070.9\n1991-01-14,2101.4,2102.4,2071.8,2080.8\n1991-01-11,2119.6,2124.5,2105.8,2106.1\n1991-01-10,2109.3,2114.3,2103.6,2108.7\n1991-01-09,2099.8,2130.9,2099.8,2128.9\n1991-01-08,2099.8,2103.5,2095.5,2099.9\n1991-01-07,2126.3,2130.0,2109.9,2113.3\n1991-01-04,2109.2,2131.0,2109.2,2126.1\n1991-01-03,2121.1,2124.4,2106.3,2117.8\n1991-01-02,2142.9,2143.0,2122.9,2128.3\n1990-12-31,2152.5,2152.5,2140.6,2143.5\n1990-12-28,2163.8,2170.4,2160.0,2160.4\n1990-12-27,2159.4,2167.8,2155.7,2167.8\n1990-12-24,2159.5,2159.5,2152.6,2156.3\n1990-12-21,2163.4,2164.6,2152.6,2164.4\n1990-12-20,2172.3,2172.5,2149.1,2158.8\n1990-12-19,2171.9,2179.1,2165.4,2178.7\n1990-12-18,2159.6,2165.7,2153.2,2161.8\n1990-12-17,2163.9,2173.6,2156.9,2157.9\n1990-12-14,2173.5,2184.6,2166.6,2168.4\n1990-12-13,2161.4,2172.2,2148.1,2172.2\n1990-12-12,2160.2,2169.1,2153.8,2156.9\n1990-12-11,2185.4,2185.8,2163.2,2165.8\n1990-12-10,2180.0,2192.9,2178.5,2182.5\n1990-12-07,2171.3,2188.3,2171.2,2183.4\n1990-12-06,2164.2,2190.2,2162.5,2177.5\n1990-12-05,2147.0,2152.8,2138.0,2152.6\n1990-12-04,2156.6,2162.9,2142.0,2146.3\n1990-12-03,2159.7,2169.6,2157.8,2162.7\n1990-11-30,2130.1,2149.8,2130.1,2149.4\n1990-11-29,2135.9,2145.9,2129.8,2135.6\n1990-11-28,2159.4,2159.4,2137.7,2144.3\n1990-11-27,2156.8,2166.1,2149.5,2159.5\n1990-11-26,2184.9,2191.7,2148.9,2151.9\n1990-11-23,2126.1,2172.9,2125.9,2170.5\n1990-11-22,2131.3,2160.7,2123.0,2127.9\n1990-11-21,2102.7,2141.6,2102.7,2126.3\n1990-11-20,2095.1,2123.5,2095.1,2115.2\n1990-11-19,2068.3,2105.7,2068.3,2095.9\n1990-11-16,2055.7,2072.7,2054.4,2068.0\n1990-11-15,2049.7,2062.8,2046.7,2060.0\n1990-11-14,2047.1,2047.1,2038.5,2046.0\n1990-11-13,2071.1,2071.2,2053.9,2056.0\n1990-11-12,2045.5,2051.9,2043.1,2051.9\n1990-11-09,2035.2,2050.8,2033.5,2040.6\n1990-11-08,2051.0,2053.9,2031.5,2036.2\n1990-11-07,2064.6,2070.5,2056.0,2059.2\n1990-11-06,2055.0,2071.0,2052.2,2069.8\n1990-11-05,2038.0,2050.2,2038.0,2050.1\n1990-11-02,2011.2,2032.7,2011.2,2030.7\n1990-11-01,2039.9,2049.3,2025.7,2028.0\n1990-10-31,2039.6,2061.9,2036.1,2050.3\n1990-10-30,2054.3,2054.3,2033.9,2033.9\n1990-10-29,2056.5,2063.4,2052.6,2062.1\n1990-10-26,2079.8,2079.8,2057.0,2063.1\n1990-10-25,2109.6,2109.7,2085.5,2088.7\n1990-10-24,2114.6,2123.4,2108.3,2110.5\n1990-10-23,2121.6,2134.3,2120.7,2127.0\n1990-10-22,2093.1,2103.4,2083.9,2102.0\n1990-10-19,2079.7,2100.1,2071.2,2089.0\n1990-10-18,2069.8,2088.9,2065.8,2082.6\n1990-10-17,2072.8,2076.6,2061.0,2068.0\n1990-10-16,2112.1,2120.1,2081.1,2083.6\n1990-10-15,2105.1,2125.6,2100.6,2101.9\n1990-10-12,2091.0,2106.9,2089.3,2100.4\n1990-10-11,2113.9,2123.0,2100.4,2102.2\n1990-10-10,2110.6,2136.9,2104.0,2121.8\n1990-10-09,2171.7,2179.0,2133.0,2134.1\n1990-10-08,2278.6,2283.7,2199.0,2201.6\n1990-10-05,2053.6,2144.2,2033.5,2143.9\n1990-10-04,2085.2,2090.6,2069.1,2070.4\n1990-10-03,2050.4,2087.2,2050.2,2087.0\n1990-10-02,2075.3,2075.3,2052.8,2058.5\n1990-10-01,2006.3,2033.4,2006.3,2030.9\n1990-09-28,1999.8,1999.9,1974.1,1990.2\n1990-09-27,1998.6,2030.7,1998.6,2009.1\n1990-09-26,2004.9,2015.8,1998.5,2000.0\n1990-09-25,1991.9,2005.3,1986.5,1999.2\n1990-09-24,2011.3,2018.4,1986.5,1990.3\n1990-09-21,2023.5,2025.5,1975.9,2025.5\n1990-09-20,2069.2,2069.2,2015.3,2016.9\n1990-09-19,2075.7,2075.9,2061.6,2065.8\n1990-09-18,2100.5,2100.5,2061.1,2064.0\n1990-09-17,2080.3,2095.9,2072.5,2094.3\n1990-09-14,2108.8,2122.1,2093.4,2093.8\n1990-09-13,2145.8,2145.8,2126.1,2127.1\n1990-09-12,2147.4,2167.8,2142.2,2142.3\n1990-09-11,2140.1,2151.6,2137.5,2144.3\n1990-09-10,2133.2,2153.7,2133.2,2147.0\n1990-09-07,2115.1,2123.0,2105.5,2122.9\n1990-09-06,2158.7,2158.7,2120.9,2120.9\n1990-09-05,2146.6,2165.4,2146.6,2152.2\n1990-09-04,2160.4,2160.4,2139.5,2148.0\n1990-09-03,2166.2,2176.7,2163.5,2166.6\n1990-08-31,2143.7,2162.8,2143.7,2162.8\n1990-08-30,2139.6,2164.1,2139.6,2153.6\n1990-08-29,2123.7,2128.1,2110.1,2125.7\n1990-08-28,2127.5,2133.2,2113.6,2126.1\n1990-08-24,2079.2,2103.5,2078.0,2086.4\n1990-08-23,2077.4,2080.3,2051.2,2075.0\n1990-08-22,2117.7,2127.0,2104.5,2104.8\n1990-08-21,2161.8,2161.9,2098.5,2108.1\n1990-08-20,2172.3,2176.5,2149.2,2156.6\n1990-08-17,2199.4,2201.3,2171.0,2176.9\n1990-08-16,2237.3,2237.4,2220.8,2222.1\n1990-08-15,2238.6,2244.6,2231.2,2239.3\n1990-08-14,2224.0,2242.1,2224.0,2234.0\n1990-08-13,2220.5,2220.5,2206.6,2219.5\n1990-08-10,2249.2,2249.2,2233.8,2233.8\n1990-08-09,2239.7,2254.1,2239.7,2244.9\n1990-08-08,2234.2,2253.2,2217.9,2237.5\n1990-08-07,2225.6,2260.9,2224.2,2235.8\n1990-08-06,2252.4,2253.1,2202.5,2220.2\n1990-08-03,2301.5,2311.1,2274.0,2284.6\n1990-08-02,2347.9,2347.9,2304.5,2304.5\n1990-08-01,2329.3,2346.7,2329.3,2339.0\n1990-07-31,2332.8,2342.2,2325.2,2326.2\n1990-07-30,2322.3,2322.4,2311.5,2316.5\n1990-07-27,2336.6,2339.9,2327.9,2330.1\n1990-07-26,2363.6,2369.7,2337.9,2344.1\n1990-07-25,2369.5,2382.5,2363.1,2364.7\n1990-07-24,2366.8,2378.1,2351.8,2360.9\n1990-07-23,2384.5,2406.3,2352.5,2359.7\n1990-07-20,2391.0,2400.4,2386.8,2400.1\n1990-07-19,2399.3,2407.0,2387.3,2387.3\n1990-07-18,2409.0,2424.8,2401.7,2402.0\n1990-07-17,2407.6,2430.6,2407.6,2415.0\n1990-07-16,2388.4,2410.0,2388.4,2406.5\n1990-07-13,2377.2,2382.3,2365.0,2382.2\n1990-07-12,2378.1,2386.3,2370.2,2370.5\n1990-07-11,2324.6,2360.5,2324.6,2360.5\n1990-07-10,2333.2,2333.2,2323.1,2327.5\n1990-07-09,2337.0,2345.5,2337.0,2337.5\n1990-07-06,2325.1,2340.0,2323.2,2340.0\n1990-07-05,2352.2,2352.2,2327.8,2331.4\n1990-07-04,2366.8,2366.8,2352.7,2355.5\n1990-07-03,2374.0,2381.0,2366.1,2371.7\n1990-07-02,2373.6,2384.1,2368.2,2372.0\n1990-06-29,2354.0,2384.8,2348.9,2374.6\n1990-06-28,2376.6,2376.6,2355.7,2355.7\n1990-06-27,2392.4,2394.1,2369.1,2373.5\n1990-06-26,2402.5,2420.1,2399.5,2399.8\n1990-06-25,2361.2,2398.5,2361.2,2398.5\n1990-06-22,2374.1,2381.1,2368.2,2378.5\n1990-06-21,2368.2,2377.1,2360.9,2370.3\n1990-06-20,2375.0,2384.5,2369.6,2371.2\n1990-06-19,2349.1,2372.9,2348.9,2369.7\n1990-06-18,2389.9,2394.5,2367.4,2370.5\n1990-06-15,2407.5,2414.4,2387.4,2392.3\n1990-06-14,2404.9,2430.5,2401.9,2403.0\n1990-06-13,2390.9,2410.3,2390.1,2405.4\n1990-06-12,2367.3,2379.2,2367.3,2370.7\n1990-06-11,2351.3,2356.4,2338.5,2348.8\n1990-06-08,2373.8,2383.0,2363.9,2366.6\n1990-06-07,2352.0,2390.3,2349.9,2378.4\n1990-06-06,2365.8,2367.4,2354.5,2358.5\n1990-06-05,2390.7,2398.9,2362.5,2380.1\n1990-06-04,2383.9,2387.8,2376.4,2379.0\n1990-06-01,2345.3,2371.4,2332.7,2371.4\n1990-05-31,2347.1,2357.2,2333.7,2345.1\n1990-05-30,2327.8,2347.2,2327.4,2346.2\n1990-05-29,2259.1,2295.6,2258.7,2295.6\n1990-05-25,2275.9,2276.3,2258.4,2265.6\n1990-05-24,2287.9,2295.4,2269.3,2277.1\n1990-05-23,2303.9,2335.1,2287.3,2287.4\n1990-05-22,2303.5,2332.7,2293.3,2311.3\n1990-05-21,2263.6,2282.1,2261.3,2282.1\n1990-05-18,2290.2,2321.4,2268.5,2269.1\n1990-05-17,2227.7,2284.4,2227.7,2284.4\n1990-05-16,2213.2,2237.1,2213.2,2221.1\n1990-05-15,2213.9,2216.1,2204.1,2212.2\n1990-05-14,2203.9,2214.5,2202.0,2214.5\n1990-05-11,2155.6,2182.3,2155.6,2175.9\n1990-05-10,2162.9,2169.2,2157.0,2157.0\n1990-05-09,2179.4,2179.7,2160.6,2162.7\n1990-05-08,2173.3,2192.3,2173.3,2182.0\n1990-05-04,2146.4,2168.0,2146.4,2162.2\n1990-05-03,2141.6,2145.2,2130.2,2134.9\n1990-05-02,2121.7,2145.1,2121.7,2137.6\n1990-05-01,2111.8,2126.0,2111.4,2117.9\n1990-04-30,2109.8,2109.8,2084.4,2103.4\n1990-04-27,2137.3,2140.2,2105.0,2106.6\n1990-04-26,2143.5,2145.8,2132.5,2133.6\n1990-04-25,2157.4,2167.6,2142.9,2143.1\n1990-04-24,2156.7,2168.7,2150.4,2159.9\n1990-04-23,2184.6,2185.1,2159.1,2159.2\n1990-04-20,2185.7,2191.1,2184.8,2187.1\n1990-04-19,2192.8,2194.9,2180.5,2184.7\n1990-04-18,2216.1,2223.9,2205.7,2205.9\n1990-04-17,2225.4,2225.7,2213.8,2214.5\n1990-04-12,2215.3,2222.2,2209.5,2222.1\n1990-04-11,2217.9,2219.9,2211.9,2215.5\n1990-04-10,2221.0,2221.0,2207.3,2217.5\n1990-04-09,2222.1,2227.9,2218.8,2227.7\n1990-04-06,2243.0,2243.2,2221.0,2221.1\n1990-04-05,2227.2,2239.5,2222.0,2239.5\n1990-04-04,2246.8,2247.5,2229.2,2231.6\n1990-04-03,2232.4,2241.7,2218.0,2240.7\n1990-04-02,2224.3,2224.5,2211.6,2221.6\n1990-03-30,2253.5,2271.0,2245.5,2247.9\n1990-03-29,2273.1,2276.3,2259.9,2263.0\n1990-03-28,2271.6,2280.4,2270.8,2275.0\n1990-03-27,2294.1,2295.6,2265.8,2266.2\n1990-03-26,2286.4,2306.9,2286.3,2298.2\n1990-03-23,2264.1,2283.9,2264.1,2283.9\n1990-03-22,2241.0,2267.8,2240.7,2258.9\n1990-03-21,2239.4,2250.3,2230.1,2250.3\n1990-03-20,2244.8,2259.7,2244.8,2259.7\n1990-03-19,2260.8,2261.1,2235.9,2238.0\n1990-03-16,2239.6,2264.2,2238.8,2263.9\n1990-03-15,2228.0,2242.3,2227.9,2234.9\n1990-03-14,2224.4,2238.3,2223.2,2226.1\n1990-03-13,2224.1,2224.8,2213.4,2224.5\n1990-03-12,2216.7,2229.1,2216.7,2222.8\n1990-03-09,2263.3,2263.3,2230.9,2234.3\n1990-03-08,2240.9,2254.7,2240.8,2250.0\n1990-03-07,2222.5,2234.9,2219.1,2230.3\n1990-03-06,2236.4,2238.2,2211.8,2216.0\n1990-03-05,2238.0,2238.8,2230.2,2230.5\n1990-03-02,2240.6,2255.9,2240.6,2254.8\n1990-03-01,2246.2,2246.2,2236.0,2238.4\n1990-02-28,2255.5,2265.6,2253.7,2255.4\n1990-02-27,2254.5,2257.5,2249.2,2254.8\n1990-02-26,2208.5,2249.4,2208.4,2249.3\n1990-02-23,2248.2,2248.4,2228.3,2236.7\n1990-02-22,2261.7,2269.2,2251.5,2269.2\n1990-02-21,2251.8,2261.7,2246.0,2259.7\n1990-02-20,2288.2,2290.8,2276.4,2277.0\n1990-02-19,2317.9,2318.1,2294.9,2297.1\n1990-02-16,2322.1,2334.4,2319.6,2325.9\n1990-02-15,2293.3,2314.4,2289.3,2313.8\n1990-02-14,2303.7,2310.6,2297.6,2298.3\n1990-02-13,2292.9,2299.4,2285.8,2293.2\n1990-02-12,2313.0,2313.3,2282.4,2286.9\n1990-02-09,2323.6,2323.9,2308.5,2313.6\n1990-02-08,2321.2,2331.2,2321.0,2331.0\n1990-02-07,2314.7,2320.6,2299.1,2307.4\n1990-02-06,2345.4,2345.4,2320.0,2321.1\n1990-02-05,2350.0,2353.7,2344.8,2348.4\n1990-02-02,2346.1,2356.2,2342.3,2355.1\n1990-02-01,2346.5,2355.4,2343.6,2345.8\n1990-01-31,2314.9,2337.4,2314.9,2337.3\n1990-01-30,2325.5,2334.0,2321.3,2322.0\n1990-01-29,2317.5,2333.3,2317.5,2328.8\n1990-01-26,2297.6,2325.5,2297.5,2314.5\n1990-01-25,2292.0,2308.1,2288.7,2289.9\n1990-01-24,2267.6,2278.8,2250.5,2278.6\n1990-01-23,2285.0,2305.9,2272.6,2291.1\n1990-01-22,2346.3,2346.4,2297.1,2297.1\n1990-01-19,2346.2,2349.3,2319.7,2335.0\n1990-01-18,2358.0,2358.0,2326.2,2336.9\n1990-01-17,2355.6,2373.9,2355.5,2373.9\n1990-01-16,2369.4,2369.7,2329.5,2349.1\n1990-01-15,2354.4,2366.4,2352.8,2366.2\n1990-01-12,2402.9,2402.9,2370.3,2380.1\n1990-01-11,2396.7,2421.0,2396.5,2417.9\n1990-01-10,2424.5,2425.2,2411.9,2412.6\n1990-01-09,2429.1,2437.8,2420.5,2436.3\n1990-01-08,2445.1,2445.6,2423.8,2431.3\n1990-01-05,2442.0,2448.7,2436.6,2444.5\n1990-01-04,2469.6,2479.4,2451.6,2451.6\n1990-01-03,2451.3,2466.2,2445.8,2463.7\n1990-01-02,2442.4,2443.3,2425.5,2434.1\n1989-12-29,2399.1,2422.8,2399.1,2422.7\n1989-12-28,2404.9,2411.8,2396.2,2398.8\n1989-12-27,2368.7,2396.2,2368.7,2395.8\n1989-12-22,2354.1,2362.0,2354.1,2362.0\n1989-12-21,2361.1,2361.1,2351.1,2353.0\n1989-12-20,2348.5,2367.1,2348.5,2360.7\n1989-12-19,2352.0,2357.2,2338.7,2342.1\n1989-12-18,2343.1,2362.9,2343.1,2358.5\n1989-12-15,2357.6,2358.5,2341.5,2344.7\n1989-12-14,2382.6,2389.2,2367.0,2367.0\n1989-12-13,2379.2,2386.7,2370.3,2386.2\n1989-12-12,2355.0,2369.7,2355.0,2363.5\n1989-12-11,2352.1,2359.3,2348.4,2351.4\n1989-12-08,2342.7,2364.1,2337.6,2363.5\n1989-12-07,2354.1,2366.1,2341.1,2346.7\n1989-12-06,2324.9,2355.6,2316.4,2353.7\n1989-12-05,2301.2,2327.5,2301.2,2327.5\n1989-12-04,2329.0,2329.0,2297.5,2303.4\n1989-12-01,2297.3,2313.8,2296.2,2311.1\n1989-11-30,2252.9,2276.8,2251.6,2276.8\n1989-11-29,2245.0,2262.6,2245.0,2255.6\n1989-11-28,2229.7,2246.8,2229.7,2242.0\n1989-11-27,2217.8,2226.2,2212.9,2224.3\n1989-11-24,2224.1,2224.6,2215.0,2222.4\n1989-11-23,2195.2,2220.6,2194.6,2220.5\n1989-11-22,2196.6,2197.4,2186.8,2192.3\n1989-11-21,2172.5,2185.1,2171.0,2185.1\n1989-11-20,2220.3,2220.3,2183.1,2183.1\n1989-11-17,2212.5,2223.5,2212.5,2221.4\n1989-11-16,2213.8,2224.2,2200.9,2209.8\n1989-11-15,2206.9,2208.5,2200.1,2203.4\n1989-11-14,2206.9,2223.3,2206.6,2214.7\n1989-11-13,2216.1,2233.8,2211.5,2213.2\n1989-11-10,2198.3,2222.9,2198.3,2216.7\n1989-11-09,2205.7,2213.3,2193.3,2201.7\n1989-11-08,2196.4,2203.9,2193.8,2203.8\n1989-11-07,2162.6,2178.2,2161.7,2178.2\n1989-11-06,2182.8,2193.7,2169.3,2169.6\n1989-11-03,2152.9,2175.1,2152.9,2173.1\n1989-11-02,2157.5,2160.3,2146.3,2154.1\n1989-11-01,2146.0,2163.2,2141.7,2160.1\n1989-10-31,2124.6,2142.6,2120.5,2142.6\n1989-10-30,2102.2,2117.1,2101.2,2112.2\n1989-10-27,2089.6,2099.3,2080.8,2082.1\n1989-10-26,2157.4,2160.8,2129.4,2129.4\n1989-10-25,2153.5,2162.7,2148.7,2161.9\n1989-10-24,2187.9,2197.0,2147.0,2149.3\n1989-10-23,2179.5,2195.9,2179.5,2189.7\n1989-10-20,2188.9,2189.0,2176.9,2179.1\n1989-10-19,2161.3,2195.4,2161.3,2189.3\n1989-10-18,2149.5,2170.1,2134.2,2170.1\n1989-10-17,2175.9,2182.3,2120.8,2135.5\n1989-10-16,2076.8,2146.5,2029.7,2146.5\n1989-10-13,2232.6,2247.8,2232.1,2233.9\n1989-10-12,2232.2,2238.7,2224.0,2237.9\n1989-10-11,2223.5,2236.4,2213.3,2218.8\n1989-10-10,2250.2,2264.2,2218.6,2218.8\n1989-10-09,2262.8,2265.2,2242.6,2247.0\n1989-10-06,2259.7,2278.0,2249.9,2277.5\n1989-10-05,2311.7,2314.1,2270.1,2281.6\n1989-10-04,2327.1,2331.1,2312.1,2312.1\n1989-10-03,2300.0,2318.6,2298.2,2318.6\n1989-10-02,2287.6,2289.3,2271.9,2289.2\n1989-09-29,2279.5,2299.4,2278.3,2299.4\n1989-09-28,2318.0,2323.1,2291.7,2291.7\n1989-09-27,2329.8,2335.2,2321.7,2331.2\n1989-09-26,2361.9,2368.4,2332.4,2336.1\n1989-09-25,2359.1,2365.6,2358.4,2359.6\n1989-09-22,2379.3,2382.1,2369.7,2370.2\n1989-09-21,2375.3,2380.9,2365.4,2380.9\n1989-09-20,2366.3,2379.8,2366.3,2369.8\n1989-09-19,2379.4,2379.4,2351.4,2361.5\n1989-09-18,2358.3,2373.8,2358.3,2373.8\n1989-09-15,2388.1,2388.1,2352.7,2366.5\n1989-09-14,2397.0,2399.8,2380.4,2382.0\n1989-09-13,2393.9,2404.5,2387.2,2401.5\n1989-09-12,2387.8,2399.0,2386.6,2397.6\n1989-09-11,2425.3,2425.3,2400.4,2400.6\n1989-09-08,2433.3,2435.7,2423.0,2423.9\n1989-09-07,2397.8,2416.1,2397.7,2415.9\n1989-09-06,2427.0,2427.4,2390.8,2390.8\n1989-09-05,2420.0,2426.0,2410.4,2426.0\n1989-09-04,2410.0,2424.5,2410.0,2419.2\n1989-09-01,2392.1,2407.5,2392.1,2407.5\n1989-08-31,2385.5,2394.3,2384.6,2387.9\n1989-08-30,2378.4,2383.7,2373.3,2381.3\n1989-08-29,2394.2,2394.4,2378.5,2380.8\n1989-08-25,2403.2,2404.5,2391.9,2397.4\n1989-08-24,2400.4,2404.5,2387.5,2393.1\n1989-08-23,2371.1,2388.4,2363.9,2382.4\n1989-08-22,2361.5,2385.2,2361.5,2370.8\n1989-08-21,2382.3,2383.8,2368.1,2374.7\n1989-08-18,2368.4,2375.1,2363.3,2375.1\n1989-08-17,2361.4,2374.8,2356.8,2360.0\n1989-08-16,2329.6,2345.8,2329.6,2345.8\n1989-08-15,2332.4,2332.4,2323.9,2326.2\n1989-08-14,2314.4,2327.5,2314.4,2325.9\n1989-08-11,2352.2,2354.9,2339.3,2354.2\n1989-08-10,2355.4,2364.7,2346.4,2347.3\n1989-08-09,2346.6,2363.6,2345.8,2360.4\n1989-08-08,2355.1,2357.9,2347.7,2348.1\n1989-08-07,2328.6,2341.5,2328.1,2341.5\n1989-08-04,2315.9,2329.1,2315.9,2327.5\n1989-08-03,2306.3,2310.3,2298.0,2306.3\n1989-08-02,2285.8,2307.8,2285.8,2307.8\n1989-08-01,2292.4,2297.5,2284.5,2292.3\n1989-07-31,2303.4,2319.9,2297.0,2297.0\n1989-07-28,2286.3,2306.0,2286.2,2306.0\n1989-07-27,2276.5,2287.4,2274.2,2283.7\n1989-07-26,2262.3,2265.5,2258.3,2264.5\n1989-07-25,2257.0,2269.7,2250.0,2269.4\n1989-07-24,2279.0,2279.1,2258.3,2259.1\n1989-07-21,2280.3,2283.2,2275.5,2283.0\n1989-07-20,2290.3,2292.5,2279.6,2292.3\n1989-07-19,2268.9,2298.3,2268.9,2292.5\n1989-07-18,2273.9,2284.5,2268.4,2273.1\n1989-07-17,2280.0,2293.4,2274.6,2274.9\n1989-07-14,2275.1,2289.5,2270.0,2273.7\n1989-07-13,2243.5,2259.0,2242.9,2258.0\n1989-07-12,2263.3,2272.7,2251.6,2256.7\n1989-07-11,2194.9,2260.8,2187.7,2250.9\n1989-07-10,2192.5,2197.5,2189.4,2195.2\n1989-07-07,2161.8,2189.1,2161.8,2189.1\n1989-07-06,2169.0,2171.5,2160.3,2161.2\n1989-07-05,2171.5,2175.9,2162.9,2162.9\n1989-07-04,2176.7,2176.8,2172.3,2174.4\n1989-07-03,2159.3,2167.0,2154.9,2165.6\n1989-06-30,2165.9,2170.3,2148.2,2151.0\n1989-06-29,2194.1,2201.5,2179.7,2182.0\n1989-06-28,2224.5,2225.6,2206.2,2209.4\n1989-06-27,2174.9,2207.5,2173.8,2206.4\n1989-06-26,2175.5,2183.2,2167.6,2179.6\n1989-06-23,2166.9,2182.8,2158.6,2167.5\n1989-06-22,2176.0,2184.0,2170.6,2180.0\n1989-06-21,2175.4,2178.9,2168.8,2172.2\n1989-06-20,2169.6,2173.7,2164.6,2164.8\n1989-06-19,2146.2,2158.2,2140.0,2154.7\n1989-06-16,2131.7,2143.9,2124.1,2143.9\n1989-06-15,2137.7,2143.2,2129.6,2129.6\n1989-06-14,2113.0,2133.6,2111.5,2133.6\n1989-06-13,2126.3,2139.3,2116.2,2123.0\n1989-06-12,2137.8,2149.9,2131.4,2138.3\n1989-06-09,2146.5,2154.3,2133.2,2142.1\n1989-06-08,2141.3,2154.5,2130.3,2143.2\n1989-06-07,2110.9,2118.1,2103.9,2117.9\n1989-06-06,2080.3,2107.4,2077.6,2107.4\n1989-06-05,2081.0,2089.1,2076.5,2088.5\n1989-06-02,2082.9,2102.7,2080.5,2102.6\n1989-06-01,2118.6,2123.1,2094.8,2103.4\n1989-05-31,2110.9,2114.8,2107.7,2114.4\n1989-05-30,2137.9,2139.7,2127.3,2130.0\n1989-05-26,2138.3,2145.7,2137.6,2140.3\n1989-05-25,2128.6,2142.0,2126.7,2136.6\n1989-05-24,2118.3,2133.7,2118.3,2132.7\n1989-05-23,2157.4,2162.5,2151.0,2151.6\n1989-05-22,2187.7,2209.7,2163.6,2169.0\n1989-05-19,2189.8,2204.7,2180.5,2204.7\n1989-05-18,2159.3,2179.5,2158.6,2177.3\n1989-05-17,2144.9,2166.3,2142.2,2155.8\n1989-05-16,2143.1,2147.7,2136.0,2136.7\n1989-05-15,2149.9,2153.6,2145.2,2149.9\n1989-05-12,2120.6,2136.9,2114.0,2135.7\n1989-05-11,2109.2,2118.3,2107.1,2110.6\n1989-05-10,2121.0,2123.1,2112.1,2117.0\n1989-05-09,2128.4,2134.4,2124.3,2125.4\n1989-05-08,2130.4,2132.5,2119.6,2119.6\n1989-05-05,2117.7,2132.8,2117.3,2132.8\n1989-05-04,2118.1,2126.3,2116.3,2119.0\n1989-05-03,2099.0,2105.7,2093.5,2105.7\n1989-05-02,2109.5,2110.1,2103.1,2103.1\n1989-04-28,2129.4,2134.9,2116.2,2118.0\n1989-04-27,2098.3,2119.8,2094.0,2115.7\n1989-04-26,2080.0,2101.9,2072.2,2093.4\n1989-04-25,2065.2,2076.3,2062.6,2071.2\n1989-04-24,2071.1,2071.5,2061.8,2062.0\n1989-04-21,2060.5,2061.0,2050.7,2061.0\n1989-04-20,2093.1,2093.1,2053.5,2064.4\n1989-04-19,2092.5,2096.8,2081.4,2087.0\n1989-04-18,2057.0,2078.0,2055.4,2074.4\n1989-04-17,2059.5,2065.3,2051.4,2054.7\n1989-04-14,2028.5,2054.2,2028.5,2053.6\n1989-04-13,2022.6,2028.7,2022.6,2028.7\n1989-04-12,2042.8,2042.8,2033.0,2033.0\n1989-04-11,2005.2,2031.3,2005.2,2031.3\n1989-04-10,2043.2,2043.2,2017.3,2025.0\n1989-04-07,2029.0,2045.7,2029.0,2045.7\n1989-04-06,2069.0,2069.0,2052.5,2052.5\n1989-04-05,2075.0,2078.2,2075.0,2078.2\n1989-04-04,2092.5,2092.5,2082.8,2082.8\n1989-04-03,2074.1,2079.6,2074.1,2079.6\n1989-03-31,2061.8,2075.1,2055.4,2075.0\n1989-03-30,2069.4,2070.6,2047.8,2049.4\n1989-03-29,2066.7,2073.8,2056.6,2071.7\n1989-03-28,2072.8,2075.5,2069.2,2070.5\n1989-03-23,2039.7,2057.3,2032.0,2057.0\n1989-03-22,2066.2,2073.1,2048.2,2048.6\n1989-03-21,2058.9,2074.6,2053.4,2072.2\n1989-03-20,2061.6,2075.0,2051.2,2053.6\n1989-03-17,2093.0,2105.3,2063.6,2073.1\n1989-03-16,2125.0,2132.5,2110.3,2112.6\n1989-03-15,2111.9,2124.6,2109.0,2121.2\n1989-03-14,2120.9,2132.3,2107.9,2125.7\n1989-03-13,2083.0,2103.0,2083.0,2103.0\n1989-03-10,2087.7,2090.4,2079.3,2085.2\n1989-03-09,2074.2,2077.7,2069.2,2075.9\n1989-03-08,2091.5,2092.1,2081.4,2083.3\n1989-03-07,2091.3,2099.8,2082.2,2083.5\n1989-03-06,2076.7,2077.0,2065.6,2072.8\n1989-03-03,2057.7,2065.6,2051.8,2059.2\n1989-03-02,2024.9,2039.8,2017.6,2039.7\n1989-03-01,2017.9,2028.0,2014.3,2021.3\n1989-02-28,2001.8,2002.4,1997.3,2002.4\n1989-02-27,1984.8,1997.0,1983.3,1996.7\n1989-02-24,2028.9,2031.5,2019.2,2019.5\n1989-02-23,2021.5,2028.8,2016.6,2016.6\n1989-02-22,2049.0,2056.6,2033.7,2033.7\n1989-02-21,2075.3,2076.3,2058.9,2061.0\n1989-02-20,2051.1,2068.8,2045.4,2065.8\n1989-02-17,2025.9,2042.9,2019.3,2042.9\n1989-02-16,2040.5,2040.5,2030.5,2033.8\n1989-02-15,2050.5,2055.5,2040.4,2047.5\n1989-02-14,2032.4,2053.8,2032.4,2049.1\n1989-02-13,2032.9,2032.9,2023.5,2032.7\n1989-02-10,2055.8,2058.7,2045.9,2056.1\n1989-02-09,2084.4,2097.0,2076.5,2079.1\n1989-02-08,2097.1,2106.1,2088.9,2096.2\n1989-02-07,2041.1,2072.8,2040.5,2072.8\n1989-02-06,2067.2,2067.2,2044.3,2044.3\n1989-02-03,2061.8,2076.9,2061.8,2069.9\n1989-02-02,2041.0,2046.1,2038.2,2043.5\n1989-02-01,2042.5,2042.5,2037.9,2039.7\n1989-01-31,2057.9,2059.4,2052.1,2052.1\n1989-01-30,2028.7,2072.7,2015.3,2042.9\n1989-01-27,1973.0,2017.4,1965.3,2005.9\n1989-01-26,1946.1,1961.0,1938.8,1959.8\n1989-01-25,1962.1,1967.1,1937.0,1939.0\n1989-01-24,1930.1,1941.1,1929.1,1941.1\n1989-01-23,1923.2,1938.6,1917.5,1924.7\n1989-01-20,1904.4,1917.9,1903.9,1917.5\n1989-01-19,1906.5,1920.2,1904.5,1910.8\n1989-01-18,1878.1,1892.1,1871.7,1892.1\n1989-01-17,1869.7,1871.2,1866.9,1867.7\n1989-01-16,1874.5,1877.1,1866.6,1871.8\n1989-01-13,1862.0,1863.2,1853.5,1862.1\n1989-01-12,1839.7,1850.9,1834.6,1850.9\n1989-01-11,1832.6,1835.2,1830.4,1834.1\n1989-01-10,1833.2,1837.6,1828.6,1836.0\n1989-01-09,1834.7,1836.0,1826.5,1831.5\n1989-01-06,1799.8,1811.4,1797.6,1811.3\n1989-01-05,1798.3,1803.2,1797.6,1799.5\n1989-01-04,1786.7,1793.2,1785.3,1793.0\n1989-01-03,1783.9,1790.7,1782.4,1782.8\n1988-12-30,1798.2,1798.2,1788.3,1793.1\n1988-12-29,1793.5,1804.9,1793.0,1803.4\n1988-12-28,1779.2,1787.7,1774.3,1787.7\n1988-12-23,1768.7,1774.0,1767.9,1774.0\n1988-12-22,1773.6,1774.3,1768.7,1768.7\n1988-12-21,1776.8,1776.9,1771.8,1772.6\n1988-12-20,1772.1,1781.5,1772.1,1777.4\n1988-12-19,1778.0,1779.0,1770.5,1770.5\n1988-12-16,1771.5,1775.0,1769.9,1773.9\n1988-12-15,1756.4,1764.4,1749.5,1763.2\n1988-12-14,1749.8,1756.4,1741.7,1756.1\n1988-12-13,1759.6,1759.6,1748.1,1752.6\n1988-12-12,1742.7,1748.2,1738.1,1747.9\n1988-12-09,1757.4,1761.5,1737.9,1750.7\n1988-12-08,1762.7,1762.7,1753.5,1757.9\n1988-12-07,1773.4,1773.4,1769.2,1771.7\n1988-12-06,1762.0,1770.2,1762.0,1767.4\n1988-12-05,1762.0,1762.0,1749.4,1761.6\n1988-12-02,1771.6,1776.5,1756.4,1765.0\n1988-12-01,1785.7,1785.7,1772.0,1778.7\n1988-11-30,1795.6,1801.3,1792.4,1792.4\n1988-11-29,1792.2,1793.5,1785.0,1786.9\n1988-11-28,1791.9,1792.1,1775.0,1781.5\n1988-11-25,1830.7,1836.4,1782.5,1794.7\n1988-11-24,1837.0,1837.7,1827.8,1833.0\n1988-11-23,1831.6,1838.5,1830.3,1837.1\n1988-11-22,1816.7,1821.3,1813.3,1821.3\n1988-11-21,1821.3,1824.3,1811.1,1811.1\n1988-11-18,1827.8,1828.1,1819.3,1823.4\n1988-11-17,1808.6,1824.1,1802.2,1823.6\n1988-11-16,1810.9,1824.4,1806.0,1807.3\n1988-11-15,1798.7,1805.1,1798.5,1802.3\n1988-11-14,1787.4,1800.9,1776.5,1794.3\n1988-11-11,1823.4,1828.3,1802.4,1802.7\n1988-11-10,1823.8,1827.8,1822.3,1826.2\n1988-11-09,1827.7,1832.0,1820.1,1825.7\n1988-11-08,1834.0,1841.3,1827.2,1840.6\n1988-11-07,1824.1,1827.3,1818.3,1819.7\n1988-11-04,1842.1,1842.2,1829.2,1834.3\n1988-11-03,1832.4,1838.7,1829.7,1837.6\n1988-11-02,1851.1,1851.5,1836.1,1843.2\n1988-11-01,1856.1,1860.0,1853.1,1857.8\n1988-10-31,1860.6,1860.8,1846.6,1852.4\n1988-10-28,1856.1,1859.6,1852.1,1858.4\n1988-10-27,1846.3,1864.7,1845.1,1852.1\n1988-10-26,1857.9,1858.3,1849.8,1850.7\n1988-10-25,1843.1,1849.6,1840.0,1847.8\n1988-10-24,1849.7,1856.5,1848.2,1848.4\n1988-10-21,1866.2,1870.8,1858.8,1859.3\n1988-10-20,1860.8,1864.3,1853.1,1864.3\n1988-10-19,1861.0,1867.8,1859.4,1862.5\n1988-10-18,1862.1,1862.1,1857.0,1857.0\n1988-10-17,1859.6,1866.6,1856.7,1860.0\n1988-10-14,1835.3,1841.2,1827.1,1840.6\n1988-10-13,1822.3,1831.1,1817.2,1830.7\n1988-10-12,1829.1,1829.1,1814.3,1814.3\n1988-10-11,1841.1,1841.1,1838.3,1838.3\n1988-10-10,1847.7,1847.7,1844.1,1844.1\n1988-10-07,1837.5,1845.7,1832.8,1844.7\n1988-10-06,1829.1,1838.9,1829.1,1838.9\n1988-10-05,1820.0,1826.3,1820.0,1826.3\n1988-10-04,1788.4,1807.3,1788.4,1807.3\n1988-10-03,1817.4,1817.4,1802.6,1802.6\n1988-09-30,1825.2,1830.6,1824.9,1826.5\n1988-09-29,1820.6,1829.0,1820.6,1829.0\n1988-09-28,1813.4,1816.7,1812.5,1812.5\n1988-09-27,1783.0,1810.0,1783.0,1808.0\n1988-09-26,1789.7,1793.7,1789.7,1792.7\n1988-09-23,1787.3,1792.5,1782.7,1792.4\n1988-09-22,1793.3,1793.7,1784.8,1788.7\n1988-09-21,1790.1,1797.9,1787.7,1796.8\n1988-09-20,1760.5,1772.8,1760.2,1772.1\n1988-09-19,1765.5,1769.7,1759.5,1759.9\n1988-09-16,1755.6,1769.7,1755.1,1766.7\n1988-09-15,1775.7,1775.8,1767.5,1769.3\n1988-09-14,1751.4,1770.0,1750.1,1765.1\n1988-09-13,1760.7,1761.8,1753.3,1756.3\n1988-09-12,1747.4,1747.7,1742.2,1744.6\n1988-09-09,1728.1,1742.7,1717.7,1738.4\n1988-09-08,1749.6,1751.8,1728.6,1739.8\n1988-09-07,1760.0,1767.0,1750.3,1756.1\n1988-09-06,1774.7,1775.6,1768.0,1768.0\n1988-09-05,1764.6,1767.3,1757.1,1764.5\n1988-09-02,1737.5,1746.9,1733.4,1746.9\n1988-09-01,1739.5,1743.9,1729.0,1730.5\n1988-08-31,1761.4,1761.7,1753.6,1753.6\n1988-08-30,1758.2,1758.2,1746.8,1754.8\n1988-08-26,1774.4,1783.4,1759.7,1770.7\n1988-08-25,1815.4,1820.6,1767.8,1780.2\n1988-08-24,1811.9,1820.1,1810.9,1819.2\n1988-08-23,1820.5,1821.3,1813.2,1817.9\n1988-08-22,1836.5,1840.6,1830.4,1832.3\n1988-08-19,1841.7,1846.0,1838.2,1844.3\n1988-08-18,1828.6,1833.9,1826.7,1833.9\n1988-08-17,1823.2,1832.5,1821.8,1830.9\n1988-08-16,1816.8,1825.4,1811.8,1825.3\n1988-08-15,1836.8,1837.1,1816.6,1816.8\n1988-08-12,1842.4,1846.1,1839.6,1843.4\n1988-08-11,1846.2,1846.2,1828.3,1835.2\n1988-08-10,1858.1,1859.1,1839.5,1839.9\n1988-08-09,1873.2,1873.4,1859.9,1862.6\n1988-08-08,1883.3,1885.2,1875.0,1876.0\n1988-08-05,1879.7,1881.5,1874.1,1875.9\n1988-08-04,1864.9,1870.5,1863.6,1869.7\n1988-08-03,1861.0,1866.4,1855.3,1865.1\n1988-08-02,1856.6,1858.1,1851.8,1855.5\n1988-08-01,1861.7,1866.9,1860.5,1862.2\n1988-07-29,1844.8,1853.7,1840.7,1853.6\n1988-07-28,1846.1,1846.2,1841.3,1841.3\n1988-07-27,1835.2,1841.9,1828.5,1840.8\n1988-07-26,1849.2,1849.8,1836.8,1837.7\n1988-07-25,1828.8,1838.9,1826.7,1838.5\n1988-07-22,1856.1,1857.0,1844.8,1844.8\n1988-07-21,1870.6,1873.2,1862.9,1864.4\n1988-07-20,1853.9,1867.2,1850.6,1867.2\n1988-07-19,1845.0,1850.0,1842.0,1844.8\n1988-07-18,1850.6,1852.1,1841.5,1849.3\n1988-07-15,1849.6,1862.2,1849.6,1861.5\n1988-07-14,1869.8,1875.6,1863.3,1863.3\n1988-07-13,1862.6,1871.5,1858.5,1871.3\n1988-07-12,1871.2,1874.5,1858.5,1858.5\n1988-07-11,1878.0,1883.5,1873.2,1876.8\n1988-07-08,1869.7,1878.1,1862.9,1877.2\n1988-07-07,1863.1,1867.3,1854.3,1855.5\n1988-07-06,1865.5,1870.2,1863.2,1870.0\n1988-07-05,1854.5,1855.5,1850.8,1854.8\n1988-07-04,1852.1,1852.6,1842.3,1848.0\n1988-07-01,1862.1,1862.4,1857.0,1858.2\n1988-06-30,1860.2,1864.0,1856.9,1857.6\n1988-06-29,1858.0,1863.6,1855.1,1855.1\n1988-06-28,1833.8,1856.9,1828.1,1856.9\n1988-06-27,1864.3,1864.7,1834.9,1841.5\n1988-06-24,1865.3,1875.4,1863.9,1871.3\n1988-06-23,1888.2,1892.2,1878.4,1878.9\n1988-06-22,1865.0,1879.8,1862.8,1879.3\n1988-06-21,1847.5,1860.2,1841.3,1860.1\n1988-06-20,1847.8,1850.3,1843.2,1844.0\n1988-06-17,1845.4,1854.2,1838.8,1850.1\n1988-06-16,1879.3,1879.3,1856.5,1861.9\n1988-06-15,1876.9,1884.5,1869.3,1869.3\n1988-06-14,1835.4,1866.5,1831.5,1866.2\n1988-06-13,1848.1,1848.9,1833.3,1838.8\n1988-06-10,1839.7,1849.8,1838.8,1849.8\n1988-06-09,1835.5,1841.5,1833.5,1841.5\n1988-06-08,1813.3,1828.2,1813.3,1828.2\n1988-06-07,1835.0,1839.9,1818.4,1820.2\n1988-06-06,1821.4,1832.7,1816.5,1832.7\n1988-06-03,1818.6,1822.0,1814.1,1819.2\n1988-06-02,1803.1,1813.6,1802.6,1810.3\n1988-06-01,1802.5,1806.9,1798.9,1805.7\n1988-05-31,1785.3,1785.6,1777.8,1784.4\n1988-05-27,1781.3,1786.0,1779.2,1783.7\n1988-05-26,1783.0,1788.1,1782.5,1785.3\n1988-05-25,1791.4,1796.7,1785.0,1787.9\n1988-05-24,1767.5,1783.6,1764.4,1782.9\n1988-05-23,1768.7,1771.2,1761.1,1761.3\n1988-05-20,1774.4,1774.7,1769.9,1770.2\n1988-05-19,1753.7,1764.4,1753.3,1760.6\n1988-05-18,1772.5,1781.0,1772.2,1777.6\n1988-05-17,1786.0,1800.5,1782.3,1789.2\n1988-05-16,1785.8,1789.0,1776.6,1776.6\n1988-05-13,1774.7,1782.8,1774.7,1781.8\n1988-05-12,1766.2,1772.4,1759.8,1772.3\n1988-05-11,1769.5,1786.8,1749.3,1756.8\n1988-05-10,1787.2,1792.6,1782.4,1792.6\n1988-05-09,1802.7,1804.2,1793.3,1794.9\n1988-05-06,1801.7,1801.7,1793.7,1801.1\n1988-05-05,1797.1,1797.2,1788.7,1789.5\n1988-05-04,1801.5,1809.2,1794.7,1794.7\n1988-05-03,1806.2,1809.7,1801.0,1807.2\n1988-04-29,1807.7,1810.7,1796.0,1802.2\n1988-04-28,1803.4,1809.5,1795.8,1804.4\n1988-04-27,1810.4,1813.9,1806.0,1806.7\n1988-04-26,1791.5,1801.3,1786.0,1800.8\n1988-04-25,1771.2,1777.9,1769.1,1777.6\n1988-04-22,1786.1,1786.1,1771.6,1771.6\n1988-04-21,1786.8,1792.1,1778.3,1791.9\n1988-04-20,1794.2,1794.2,1786.8,1786.8\n1988-04-19,1786.6,1798.9,1784.8,1798.9\n1988-04-18,1795.9,1802.4,1786.9,1787.8\n1988-04-15,1771.0,1782.6,1763.1,1778.6\n1988-04-14,1825.8,1826.8,1779.9,1787.2\n1988-04-13,1810.5,1816.6,1808.4,1810.4\n1988-04-12,1818.7,1820.1,1801.4,1805.3\n1988-04-11,1797.2,1810.5,1797.0,1810.5\n1988-04-08,1765.3,1781.2,1758.1,1779.7\n1988-04-07,1766.0,1767.4,1758.4,1761.0\n1988-04-06,1754.3,1759.1,1744.9,1745.0\n1988-04-05,1737.0,1737.8,1725.4,1737.6\n1988-03-31,1745.7,1747.1,1738.9,1742.5\n1988-03-30,1775.2,1775.8,1756.5,1756.9\n1988-03-29,1756.3,1767.0,1753.6,1765.1\n1988-03-28,1752.0,1756.7,1738.3,1746.5\n1988-03-25,1773.4,1780.2,1759.4,1767.9\n1988-03-24,1811.2,1827.9,1782.0,1782.7\n1988-03-23,1833.6,1834.1,1828.1,1832.2\n1988-03-22,1839.5,1843.1,1835.4,1835.4\n1988-03-21,1848.9,1853.0,1841.0,1841.1\n1988-03-18,1847.9,1855.7,1842.9,1855.5\n1988-03-17,1822.0,1828.1,1811.3,1828.1\n1988-03-16,1830.7,1841.3,1821.6,1825.7\n1988-03-15,1832.1,1847.6,1828.4,1839.9\n1988-03-14,1811.6,1820.6,1810.7,1819.5\n1988-03-11,1806.0,1834.0,1806.0,1811.6\n1988-03-10,1813.6,1834.9,1807.8,1834.6\n1988-03-09,1825.9,1826.0,1815.1,1815.3\n1988-03-08,1813.8,1821.5,1808.8,1815.0\n1988-03-07,1826.4,1833.6,1809.4,1818.2\n1988-03-04,1823.8,1846.6,1813.4,1834.5\n1988-03-03,1825.3,1826.4,1812.1,1813.3\n1988-03-02,1790.7,1808.7,1783.1,1808.7\n1988-03-01,1782.1,1784.0,1780.2,1781.9\n1988-02-29,1765.1,1770.7,1758.8,1768.8\n1988-02-26,1772.1,1781.6,1764.6,1766.5\n1988-02-25,1769.3,1782.4,1764.3,1782.4\n1988-02-24,1756.4,1761.9,1755.2,1760.1\n1988-02-23,1770.2,1772.2,1756.7,1757.9\n1988-02-22,1741.2,1749.2,1732.3,1747.2\n1988-02-19,1732.4,1733.3,1722.6,1729.8\n1988-02-18,1748.8,1749.7,1735.9,1736.1\n1988-02-17,1743.0,1750.5,1737.7,1748.1\n1988-02-16,1742.5,1743.5,1734.3,1734.6\n1988-02-15,1742.6,1742.6,1738.7,1739.2\n1988-02-12,1727.8,1734.9,1727.5,1734.0\n1988-02-11,1732.5,1737.9,1727.4,1729.8\n1988-02-10,1714.3,1718.7,1704.3,1718.5\n1988-02-09,1708.8,1711.8,1699.6,1707.2\n1988-02-08,1702.6,1709.8,1687.5,1694.5\n1988-02-05,1766.1,1766.3,1731.5,1737.8\n1988-02-04,1766.9,1769.5,1758.0,1766.9\n1988-02-03,1773.6,1775.8,1756.9,1766.3\n1988-02-02,1782.2,1784.5,1772.8,1774.4\n1988-02-01,1797.4,1807.3,1773.2,1776.9\n1988-01-29,1791.1,1793.3,1787.8,1790.8\n1988-01-28,1769.9,1783.9,1763.3,1783.9\n1988-01-27,1762.9,1766.4,1758.1,1765.2\n1988-01-26,1766.5,1773.3,1763.6,1767.3\n1988-01-25,1765.2,1767.4,1757.3,1762.2\n1988-01-22,1770.7,1777.6,1760.1,1770.9\n1988-01-21,1745.6,1754.5,1733.1,1747.2\n1988-01-20,1761.0,1767.8,1748.8,1752.8\n1988-01-19,1770.2,1779.4,1757.6,1768.0\n1988-01-18,1795.4,1806.3,1789.9,1790.0\n1988-01-15,1736.0,1793.6,1733.6,1786.7\n1988-01-14,1752.4,1752.4,1741.1,1743.4\n1988-01-13,1733.9,1737.9,1719.5,1733.4\n1988-01-12,1755.9,1769.4,1739.2,1739.2\n1988-01-11,1738.6,1763.6,1725.7,1760.2\n1988-01-08,1791.4,1798.7,1773.3,1773.4\n1988-01-07,1800.0,1802.6,1784.8,1787.2\n1988-01-06,1792.8,1810.3,1786.6,1787.1\n1988-01-05,1784.8,1798.3,1778.4,1789.6\n1988-01-04,1729.8,1747.8,1724.7,1747.5\n1987-12-31,1738.7,1750.9,1712.0,1712.7\n1987-12-30,1753.0,1760.2,1741.1,1759.8\n1987-12-29,1714.8,1730.8,1711.8,1730.3\n1987-12-24,1784.7,1792.3,1780.2,1791.1\n1987-12-23,1755.9,1771.4,1750.1,1771.4\n1987-12-22,1748.9,1757.9,1746.1,1747.4\n1987-12-21,1743.6,1755.4,1730.8,1750.2\n1987-12-18,1699.7,1717.0,1681.5,1717.0\n1987-12-17,1704.8,1715.5,1700.8,1706.2\n1987-12-16,1682.7,1698.1,1669.2,1689.8\n1987-12-15,1671.8,1681.2,1661.0,1670.0\n1987-12-14,1643.9,1652.7,1641.2,1652.6\n1987-12-11,1643.0,1653.3,1623.7,1651.6\n1987-12-10,1640.1,1657.6,1585.3,1619.6\n1987-12-09,1627.0,1639.3,1623.6,1639.3\n1987-12-08,1632.1,1640.1,1620.4,1624.4\n1987-12-07,1596.3,1602.6,1587.1,1598.4\n1987-12-04,1573.8,1611.5,1573.8,1582.8\n1987-12-03,1601.2,1611.5,1586.0,1588.4\n1987-12-02,1603.4,1607.8,1588.0,1590.3\n1987-12-01,1591.5,1592.7,1577.4,1578.5\n1987-11-30,1592.4,1606.4,1570.0,1579.9\n1987-11-27,1656.1,1656.9,1648.6,1651.6\n1987-11-26,1667.6,1668.1,1659.9,1660.7\n1987-11-25,1667.4,1676.6,1659.9,1664.1\n1987-11-24,1672.1,1694.4,1659.0,1689.1\n1987-11-23,1640.2,1663.9,1626.5,1657.7\n1987-11-20,1613.8,1633.4,1605.9,1633.4\n1987-11-19,1639.1,1650.8,1637.5,1639.1\n1987-11-18,1688.7,1692.7,1661.8,1663.7\n1987-11-17,1680.6,1690.8,1660.1,1660.1\n1987-11-16,1716.6,1734.8,1684.7,1684.7\n1987-11-13,1688.8,1702.4,1660.3,1678.3\n1987-11-12,1677.1,1723.6,1648.5,1702.5\n1987-11-11,1634.9,1640.3,1597.5,1639.3\n1987-11-10,1518.6,1573.5,1515.0,1573.5\n1987-11-09,1589.4,1590.0,1561.7,1565.2\n1987-11-06,1628.0,1647.1,1607.6,1620.8\n1987-11-05,1607.7,1642.5,1577.9,1638.8\n1987-11-04,1607.5,1620.4,1565.4,1608.1\n1987-11-03,1728.4,1737.0,1650.3,1653.9\n1987-11-02,1720.6,1737.1,1712.0,1723.7\n1987-10-30,1766.4,1773.8,1734.9,1749.8\n1987-10-29,1681.6,1693.6,1661.1,1682.0\n1987-10-28,1664.5,1682.1,1598.0,1658.4\n1987-10-27,1731.3,1735.0,1677.1,1703.3\n1987-10-26,1685.2,1693.4,1638.1,1684.1\n1987-10-23,1784.3,1821.4,1746.3,1795.2\n1987-10-22,1938.2,1959.9,1749.1,1833.2\n1987-10-21,1939.1,1983.1,1897.5,1943.8\n1987-10-20,1783.2,1985.1,1748.2,1801.6\n1987-10-19,2164.1,2165.4,1999.8,2052.3\n1987-10-16,2177.1,2177.1,2177.1,2177.1\n1987-10-15,2303.1,2308.6,2287.0,2301.9\n1987-10-14,2350.5,2352.6,2322.7,2322.9\n1987-10-13,2347.2,2353.4,2344.0,2350.2\n1987-10-12,2356.0,2363.8,2337.9,2338.5\n1987-10-09,2369.8,2371.1,2352.5,2366.5\n1987-10-08,2381.4,2387.9,2375.0,2375.5\n1987-10-07,2347.1,2359.8,2346.7,2359.8\n1987-10-06,2381.2,2389.4,2367.8,2367.8\n1987-10-05,2391.4,2399.9,2386.0,2386.0\n1987-10-02,2381.9,2383.7,2377.1,2382.2\n1987-10-01,2372.1,2385.1,2372.1,2373.8\n1987-09-30,2366.7,2369.3,2361.6,2366.0\n1987-09-29,2373.3,2376.0,2367.3,2368.3\n1987-09-28,2351.8,2369.6,2348.4,2368.0\n1987-09-25,2321.1,2342.6,2319.2,2342.6\n1987-09-24,2344.7,2347.4,2303.2,2313.4\n1987-09-23,2356.2,2356.9,2347.4,2352.1\n1987-09-22,2328.6,2336.3,2320.9,2336.3\n1987-09-21,2333.4,2334.6,2328.2,2334.0\n1987-09-18,2317.4,2333.8,2317.4,2328.3\n1987-09-17,2293.3,2304.5,2293.3,2304.5\n1987-09-16,2261.8,2279.8,2261.8,2279.8\n1987-09-15,2267.9,2270.2,2263.0,2267.4\n1987-09-14,2264.4,2278.6,2264.1,2271.8\n1987-09-11,2255.3,2261.2,2242.2,2261.2\n1987-09-10,2253.7,2259.7,2251.1,2253.2\n1987-09-09,2275.0,2275.0,2247.4,2249.1\n1987-09-08,2288.5,2295.2,2275.0,2275.0\n1987-09-07,2272.6,2283.5,2267.5,2283.5\n1987-09-04,2276.8,2285.4,2273.4,2274.9\n1987-09-03,2260.0,2275.2,2260.0,2268.1\n1987-09-02,2274.4,2276.4,2249.1,2249.5\n1987-09-01,2261.6,2272.8,2238.6,2272.8\n1987-08-28,2251.2,2259.7,2249.7,2249.7\n1987-08-27,2244.5,2255.5,2236.8,2245.8\n1987-08-26,2258.0,2259.0,2240.3,2249.6\n1987-08-25,2220.9,2251.8,2220.8,2248.2\n1987-08-24,2220.7,2236.5,2219.8,2225.1\n1987-08-21,2196.1,2206.7,2186.1,2205.8\n1987-08-20,2216.3,2231.4,2157.2,2185.2\n1987-08-19,2202.7,2209.7,2175.4,2197.6\n1987-08-18,2248.6,2250.0,2224.3,2224.8\n1987-08-17,2290.8,2291.6,2259.3,2259.6\n1987-08-14,2302.6,2307.3,2289.0,2295.4\n1987-08-13,2284.4,2290.3,2268.1,2290.1\n1987-08-12,2275.9,2301.0,2275.9,2286.1\n1987-08-11,2262.4,2276.1,2256.4,2275.4\n1987-08-10,2203.5,2242.2,2203.5,2242.2\n1987-08-07,2232.3,2233.2,2196.4,2226.2\n1987-08-06,2328.8,2333.6,2246.8,2261.5\n1987-08-05,2317.4,2317.4,2317.4,2317.4\n1987-08-04,2305.8,2320.2,2294.0,2307.8\n1987-08-03,2356.1,2356.2,2323.9,2334.3\n1987-07-31,2357.6,2360.9,2343.8,2360.9\n1987-07-30,2393.4,2398.6,2368.3,2370.5\n1987-07-29,2364.3,2384.4,2364.3,2383.1\n1987-07-28,2346.7,2363.2,2346.4,2359.9\n1987-07-27,2321.8,2333.9,2315.7,2333.9\n1987-07-24,2350.3,2353.3,2344.2,2346.9\n1987-07-23,2346.8,2346.8,2317.7,2340.2\n1987-07-22,2393.8,2400.4,2344.5,2344.5\n1987-07-21,2378.6,2392.1,2366.7,2390.5\n1987-07-20,2410.3,2410.4,2390.8,2400.7\n1987-07-17,2440.3,2440.9,2419.4,2428.7\n1987-07-16,2427.5,2455.2,2427.5,2443.4\n1987-07-15,2417.6,2424.5,2407.0,2418.7\n1987-07-14,2375.0,2403.0,2369.8,2403.0\n1987-07-13,2387.6,2402.8,2386.6,2386.6\n1987-07-10,2369.4,2383.6,2369.3,2381.9\n1987-07-09,2364.5,2374.6,2358.4,2371.0\n1987-07-08,2370.5,2375.9,2352.5,2356.9\n1987-07-07,2346.5,2374.6,2346.5,2365.4\n1987-07-06,2338.6,2360.5,2338.6,2352.0\n1987-07-03,2312.7,2330.7,2312.7,2328.1\n1987-07-02,2279.2,2300.3,2276.0,2297.4\n1987-07-01,2272.6,2273.4,2265.5,2269.8\n1987-06-30,2290.6,2294.3,2279.5,2284.1\n1987-06-29,2292.7,2295.3,2283.5,2289.3\n1987-06-26,2286.1,2295.9,2278.8,2291.3\n1987-06-25,2281.8,2282.9,2264.8,2277.2\n1987-06-24,2276.8,2292.4,2276.7,2284.1\n1987-06-23,2235.5,2266.8,2234.6,2265.4\n1987-06-22,2261.6,2272.6,2244.7,2244.7\n1987-06-19,2276.8,2284.0,2254.4,2266.1\n1987-06-18,2318.0,2319.0,2275.2,2293.2\n1987-06-17,2317.5,2327.6,2316.3,2320.4\n1987-06-16,2291.3,2309.3,2282.3,2309.0\n1987-06-15,2301.2,2310.6,2293.5,2307.6\n1987-06-12,2293.7,2296.4,2257.2,2289.5\n1987-06-11,2267.6,2280.8,2249.3,2249.3\n1987-06-10,2266.6,2266.8,2248.9,2256.1\n1987-06-09,2244.4,2269.9,2243.9,2265.2\n1987-06-08,2230.4,2230.4,2214.4,2228.4\n1987-06-05,2233.6,2234.0,2221.6,2228.7\n1987-06-04,2233.3,2239.3,2202.2,2214.2\n1987-06-03,2204.7,2236.2,2200.9,2235.4\n1987-06-02,2230.9,2248.8,2214.5,2219.6\n1987-06-01,2210.0,2238.2,2209.7,2228.2\n1987-05-29,2177.5,2206.3,2177.5,2203.0\n1987-05-28,2150.4,2164.4,2146.1,2157.4\n1987-05-27,2155.3,2158.1,2140.2,2145.7\n1987-05-26,2169.3,2169.3,2143.4,2153.4\n1987-05-22,2166.7,2175.6,2163.9,2167.2\n1987-05-21,2180.5,2180.6,2153.2,2153.7\n1987-05-20,2190.8,2191.4,2170.0,2174.0\n1987-05-19,2197.5,2216.6,2197.5,2214.3\n1987-05-18,2179.4,2195.9,2173.4,2192.1\n1987-05-15,2187.6,2202.4,2182.9,2189.7\n1987-05-14,2166.4,2185.4,2163.2,2180.0\n1987-05-13,2164.3,2168.9,2161.5,2163.4\n1987-05-12,2142.7,2145.6,2132.4,2143.3\n1987-05-11,2156.4,2183.9,2156.2,2163.3\n1987-05-08,2098.5,2136.3,2098.5,2126.5\n1987-05-07,2082.8,2103.0,2077.5,2077.9\n1987-05-06,2076.3,2096.6,2075.5,2086.5\n1987-05-05,2073.8,2073.9,2058.8,2065.1\n1987-05-01,2064.4,2074.9,2061.7,2068.5\n1987-04-30,2036.0,2050.9,2035.5,2050.5\n1987-04-29,2028.4,2040.4,2028.4,2038.6\n1987-04-28,1997.3,2025.7,1997.3,2022.1\n1987-04-27,1994.9,2002.3,1979.8,1986.6\n1987-04-24,1982.3,2005.1,1982.3,2001.4\n1987-04-23,1948.6,1968.6,1948.1,1968.3\n1987-04-22,1956.7,1961.9,1950.4,1955.7\n1987-04-21,1950.8,1951.7,1931.7,1940.2\n1987-04-16,1932.1,1949.4,1932.1,1949.3\n1987-04-15,1926.0,1940.7,1922.2,1922.2\n1987-04-14,1907.4,1927.6,1903.3,1908.9\n1987-04-13,1925.2,1925.2,1914.5,1917.1\n1987-04-10,1958.7,1960.5,1921.0,1936.7\n1987-04-09,1977.0,1994.0,1963.2,1963.2\n1987-04-08,1969.4,1980.7,1961.2,1976.7\n1987-04-07,1987.4,1987.9,1977.2,1987.2\n1987-04-06,1983.1,1994.4,1982.9,1989.6\n1987-04-03,1975.9,1982.6,1951.2,1964.6\n1987-04-02,1986.8,1992.6,1983.5,1988.0\n1987-04-01,1997.1,1999.7,1961.7,1973.5\n1987-03-31,1994.6,2005.3,1981.5,1997.5\n1987-03-30,2042.7,2046.1,1993.7,2002.5\n1987-03-27,2040.4,2060.3,2040.4,2048.7\n1987-03-26,2021.2,2045.7,2021.2,2037.8\n1987-03-25,2051.7,2058.2,2034.6,2042.7\n1987-03-24,2049.5,2064.5,2049.5,2056.2\n1987-03-23,2011.6,2033.2,2008.6,2033.0\n1987-03-20,2002.1,2017.8,2002.0,2017.6\n1987-03-19,1989.1,2000.6,1985.8,1991.0\n1987-03-18,2017.0,2019.0,2004.1,2006.6\n1987-03-17,1991.5,2021.0,1991.5,2006.3\n1987-03-16,1998.9,1999.4,1989.8,1991.4\n1987-03-13,1997.4,2004.3,1995.7,2000.0\n1987-03-12,1973.7,1989.6,1973.7,1989.4\n1987-03-11,1995.3,1995.3,1977.6,1979.5\n1987-03-10,1968.5,1987.9,1965.7,1987.9\n1987-03-09,1989.2,1991.0,1968.4,1973.7\n1987-03-06,1993.8,1998.7,1987.9,1998.4\n1987-03-05,2013.2,2013.5,1998.5,2002.7\n1987-03-04,2015.9,2021.5,2001.8,2002.7\n1987-03-03,1973.9,1998.3,1967.7,1998.3\n1987-03-02,1986.6,1998.1,1981.3,1983.4\n1987-02-27,1976.7,1985.8,1967.0,1979.2\n1987-02-26,1982.9,1995.3,1963.4,1980.0\n1987-02-25,1958.7,1973.1,1954.4,1972.8\n1987-02-24,1928.7,1946.9,1924.5,1946.8\n1987-02-23,1958.1,1958.5,1932.9,1939.6\n1987-02-20,1944.7,1963.2,1940.8,1960.4\n1987-02-19,1951.2,1956.1,1917.1,1930.0\n1987-02-18,1965.7,1977.4,1952.0,1952.0\n1987-02-17,1936.0,1943.6,1927.2,1941.9\n1987-02-16,1910.5,1927.3,1909.6,1925.7\n1987-02-13,1871.6,1898.4,1871.6,1898.2\n1987-02-12,1907.6,1907.6,1876.4,1879.2\n1987-02-11,1881.5,1904.1,1879.8,1896.1\n1987-02-10,1894.3,1902.1,1874.3,1875.0\n1987-02-09,1909.1,1925.2,1903.9,1910.6\n1987-02-06,1874.5,1898.4,1874.5,1898.2\n1987-02-05,1857.5,1866.1,1852.1,1866.1\n1987-02-04,1822.6,1846.5,1822.6,1846.5\n1987-02-03,1822.8,1834.2,1822.5,1828.6\n1987-02-02,1821.6,1835.0,1821.6,1832.8\n1987-01-30,1797.7,1814.0,1797.4,1808.2\n1987-01-29,1813.1,1817.0,1795.4,1798.0\n1987-01-28,1811.3,1815.8,1806.4,1812.0\n1987-01-27,1791.4,1814.2,1791.4,1814.2\n1987-01-26,1783.1,1786.1,1775.1,1781.3\n1987-01-23,1783.4,1794.8,1780.3,1794.8\n1987-01-22,1756.7,1781.7,1756.6,1776.5\n1987-01-21,1762.4,1768.9,1753.0,1761.7\n1987-01-20,1787.3,1789.2,1777.5,1778.8\n1987-01-19,1787.4,1788.4,1775.5,1778.3\n1987-01-16,1796.5,1806.9,1782.1,1789.1\n1987-01-15,1774.0,1789.6,1769.5,1789.5\n1987-01-14,1749.1,1765.2,1746.3,1765.2\n1987-01-13,1762.2,1774.4,1762.2,1763.3\n1987-01-12,1760.8,1760.8,1750.5,1755.2\n1987-01-09,1740.1,1752.2,1737.3,1752.0\n1987-01-08,1733.8,1745.8,1732.3,1733.2\n1987-01-07,1692.8,1722.0,1692.8,1722.0\n1987-01-06,1685.9,1690.8,1676.5,1690.7\n1987-01-05,1683.2,1683.2,1676.0,1679.9\n1987-01-02,1677.6,1681.2,1674.5,1681.1\n1986-12-31,1671.9,1679.2,1671.6,1679.0\n1986-12-30,1668.0,1676.9,1668.0,1673.1\n1986-12-29,1672.9,1673.1,1663.7,1671.6\n1986-12-24,1661.0,1665.4,1661.0,1665.1\n1986-12-23,1651.2,1661.1,1651.2,1660.9\n1986-12-22,1640.3,1652.2,1640.0,1652.2\n1986-12-19,1627.0,1632.0,1624.3,1632.0\n1986-12-18,1631.6,1635.6,1623.6,1630.4\n1986-12-17,1639.4,1639.5,1634.3,1635.9\n1986-12-16,1635.1,1638.5,1630.8,1637.9\n1986-12-15,1634.1,1641.3,1634.1,1636.7\n1986-12-12,1637.7,1637.8,1628.4,1629.4\n1986-12-11,1639.0,1641.0,1633.0,1633.8\n1986-12-10,1633.1,1634.5,1630.4,1634.5\n1986-12-09,1629.1,1636.5,1629.1,1635.9\n1986-12-08,1613.7,1626.7,1613.7,1623.3\n1986-12-05,1609.3,1613.8,1608.5,1613.5\n1986-12-04,1609.9,1614.2,1607.8,1610.4\n1986-12-03,1627.2,1627.2,1608.9,1615.0\n1986-12-02,1620.8,1634.0,1620.7,1625.7\n1986-12-01,1637.8,1637.9,1615.4,1617.1\n1986-11-28,1632.6,1636.7,1629.5,1636.6\n1986-11-27,1637.5,1637.8,1629.7,1632.5\n1986-11-26,1619.7,1633.5,1618.8,1632.1\n1986-11-25,1629.7,1629.7,1619.0,1619.4\n1986-11-24,1635.3,1636.6,1627.5,1636.4\n1986-11-21,1615.2,1627.3,1609.4,1624.9\n1986-11-20,1614.3,1615.8,1604.5,1610.2\n1986-11-19,1604.8,1610.4,1596.2,1604.3\n1986-11-18,1628.8,1629.3,1617.4,1617.4\n1986-11-17,1632.9,1632.9,1615.9,1628.3\n1986-11-14,1637.6,1644.3,1637.6,1643.9\n1986-11-13,1642.6,1644.7,1634.7,1644.3\n1986-11-12,1663.8,1667.2,1654.2,1654.3\n1986-11-11,1655.5,1660.5,1652.7,1660.5\n1986-11-10,1664.4,1664.4,1649.0,1656.2\n1986-11-07,1656.0,1663.2,1655.2,1662.7\n1986-11-06,1655.5,1656.3,1646.6,1648.3\n1986-11-05,1628.9,1644.5,1628.9,1644.2\n1986-11-04,1635.9,1646.1,1628.9,1637.4\n1986-11-03,1639.2,1639.2,1639.2,1639.2\n1986-10-31,1629.6,1632.2,1623.0,1632.2\n1986-10-30,1596.9,1617.2,1596.9,1615.6\n1986-10-29,1589.1,1598.6,1589.1,1596.9\n1986-10-28,1586.3,1588.2,1578.7,1583.6\n1986-10-27,1583.3,1595.1,1568.5,1586.2\n1986-10-24,1574.6,1579.6,1574.6,1577.1\n1986-10-23,1586.7,1586.7,1572.5,1572.5\n1986-10-22,1593.6,1599.2,1589.6,1589.6\n1986-10-21,1586.6,1593.3,1585.3,1591.2\n1986-10-20,1613.9,1615.2,1589.7,1590.2\n1986-10-17,1604.4,1611.6,1601.9,1610.0\n1986-10-16,1611.9,1615.1,1602.9,1605.0\n1986-10-15,1589.2,1607.5,1588.6,1607.5\n1986-10-14,1613.4,1614.8,1592.0,1592.5\n1986-10-13,1597.6,1612.3,1597.4,1612.3\n1986-10-10,1605.3,1605.3,1595.5,1599.4\n1986-10-09,1591.3,1612.2,1591.0,1608.6\n1986-10-08,1589.5,1589.6,1581.6,1587.8\n1986-10-07,1579.6,1596.9,1579.1,1592.3\n1986-10-06,1563.2,1578.9,1563.2,1578.9\n1986-10-03,1566.9,1566.9,1559.0,1560.8\n1986-10-02,1578.9,1579.2,1568.5,1573.1\n1986-10-01,1561.0,1578.3,1560.9,1578.3\n1986-09-30,1542.3,1561.9,1541.8,1555.8\n1986-09-29,1562.4,1562.4,1539.2,1539.2\n1986-09-26,1564.7,1568.6,1552.7,1568.6\n1986-09-25,1601.5,1601.7,1575.9,1575.9\n1986-09-24,1607.6,1608.5,1603.4,1603.4\n1986-09-23,1626.2,1626.2,1610.0,1610.0\n1986-09-22,1602.3,1617.1,1602.2,1617.1\n1986-09-19,1599.6,1602.3,1595.7,1600.4\n1986-09-18,1611.8,1624.9,1611.8,1614.2\n1986-09-17,1609.0,1612.1,1597.9,1610.4\n1986-09-16,1625.5,1625.5,1591.4,1596.7\n1986-09-15,1611.6,1630.4,1611.6,1628.3\n1986-09-12,1613.2,1624.3,1592.5,1608.6\n1986-09-11,1656.4,1662.4,1636.5,1636.5\n1986-09-10,1675.1,1680.2,1662.8,1663.5\n1986-09-09,1661.1,1676.2,1660.8,1673.4\n1986-09-08,1680.7,1680.9,1666.3,1666.6\n1986-09-05,1693.4,1694.3,1683.4,1684.8\n1986-09-04,1675.6,1682.2,1675.6,1680.3\n1986-09-03,1661.2,1671.3,1661.1,1670.7\n1986-09-02,1674.9,1677.9,1663.6,1667.8\n1986-09-01,1655.3,1675.1,1654.6,1672.8\n1986-08-29,1638.5,1662.0,1637.3,1661.2\n1986-08-28,1631.8,1637.6,1631.8,1636.8\n1986-08-27,1628.3,1629.8,1621.9,1629.8\n1986-08-26,1606.4,1616.2,1606.4,1616.2\n1986-08-22,1603.1,1607.1,1598.4,1607.1\n1986-08-21,1615.5,1619.0,1606.8,1606.8\n1986-08-20,1597.5,1604.6,1595.0,1604.6\n1986-08-19,1609.9,1610.2,1603.2,1604.4\n1986-08-18,1609.0,1609.0,1609.0,1609.0\n1986-08-15,1588.4,1602.4,1588.4,1601.9\n1986-08-14,1581.9,1588.3,1574.1,1588.2\n1986-08-13,1566.7,1581.0,1566.7,1581.0\n1986-08-12,1554.3,1559.4,1554.2,1558.2\n1986-08-11,1520.8,1542.8,1519.8,1542.8\n1986-08-08,1534.2,1534.5,1519.7,1526.7\n1986-08-07,1537.4,1537.4,1519.2,1529.9\n1986-08-06,1557.4,1557.4,1539.2,1540.4\n1986-08-05,1555.6,1564.5,1555.6,1561.6\n1986-08-04,1563.9,1563.9,1545.4,1545.4\n1986-08-01,1555.0,1561.8,1554.9,1561.8\n1986-07-31,1566.9,1567.2,1548.3,1558.1\n1986-07-30,1558.7,1570.8,1558.7,1566.3\n1986-07-29,1539.2,1556.4,1536.8,1556.4\n1986-07-28,1544.4,1549.4,1543.5,1549.4\n1986-07-25,1545.7,1547.8,1539.8,1545.8\n1986-07-24,1568.3,1568.6,1547.7,1547.7\n1986-07-23,1566.1,1574.0,1566.1,1572.3\n1986-07-22,1563.7,1566.3,1556.7,1559.2\n1986-07-21,1576.9,1576.9,1559.0,1560.2\n1986-07-18,1607.3,1608.0,1584.4,1584.4\n1986-07-17,1600.0,1609.4,1600.0,1609.3\n1986-07-16,1588.6,1597.5,1588.5,1597.3\n1986-07-15,1585.8,1595.4,1585.4,1593.0\n1986-07-14,1621.7,1621.9,1597.3,1597.3\n1986-07-11,1625.7,1628.2,1623.9,1626.4\n1986-07-10,1621.4,1632.0,1621.4,1626.7\n1986-07-09,1600.9,1614.9,1600.8,1614.6\n1986-07-08,1611.9,1615.2,1597.5,1599.0\n1986-07-07,1645.6,1645.7,1631.0,1631.0\n1986-07-04,1653.9,1653.9,1647.8,1649.4\n1986-07-03,1658.3,1660.3,1653.7,1656.2\n1986-07-02,1659.4,1661.9,1656.2,1656.7\n1986-07-01,1652.5,1663.6,1652.5,1660.8\n1986-06-30,1637.3,1649.8,1637.2,1649.8\n1986-06-27,1635.3,1639.1,1633.5,1639.1\n1986-06-26,1630.2,1637.9,1630.2,1637.5\n1986-06-25,1630.0,1633.4,1629.0,1629.4\n1986-06-24,1620.3,1625.1,1620.1,1624.9\n1986-06-23,1639.2,1640.3,1622.6,1622.8\n1986-06-20,1629.6,1637.3,1629.5,1637.2\n1986-06-19,1626.7,1631.3,1626.7,1629.6\n1986-06-18,1606.8,1619.3,1606.3,1619.0\n1986-06-17,1596.1,1605.7,1595.0,1605.3\n1986-06-16,1590.2,1595.4,1586.9,1593.6\n1986-06-13,1572.6,1582.4,1572.6,1582.4\n1986-06-12,1578.1,1581.7,1571.6,1571.8\n1986-06-11,1585.7,1585.7,1563.2,1571.4\n1986-06-10,1584.5,1595.8,1582.5,1586.4\n1986-06-09,1614.0,1614.0,1604.6,1604.6\n1986-06-06,1617.3,1617.3,1605.6,1611.9\n1986-06-05,1599.8,1612.6,1599.8,1612.6\n1986-06-04,1599.0,1602.2,1597.9,1601.4\n1986-06-03,1599.2,1607.3,1599.2,1602.2\n1986-06-02,1604.4,1604.4,1594.0,1596.5\n1986-05-30,1608.6,1611.0,1598.2,1602.8\n1986-05-29,1622.1,1622.8,1606.7,1609.0\n1986-05-28,1616.8,1626.4,1616.8,1624.8\n1986-05-27,1615.5,1616.3,1607.1,1612.1\n1986-05-23,1612.1,1617.4,1606.8,1617.4\n1986-05-22,1589.5,1601.4,1589.0,1598.8\n1986-05-21,1594.2,1594.8,1585.9,1591.9\n1986-05-20,1579.8,1585.7,1579.8,1585.7\n1986-05-19,1568.7,1573.1,1566.3,1573.1\n1986-05-16,1558.2,1565.7,1554.0,1564.9\n1986-05-15,1598.6,1600.2,1575.1,1575.7\n1986-05-14,1605.2,1606.9,1592.7,1594.3\n1986-05-13,1612.5,1626.2,1612.5,1623.3\n1986-05-12,1603.0,1605.8,1602.3,1603.8\n1986-05-09,1604.0,1605.9,1593.0,1601.6\n1986-05-08,1609.7,1613.0,1588.8,1602.6\n1986-05-07,1634.8,1634.8,1610.1,1610.1\n1986-05-06,1657.1,1657.7,1636.1,1636.2\n1986-05-02,1645.7,1652.5,1645.7,1652.5\n1986-05-01,1631.6,1645.4,1628.1,1640.1\n1986-04-30,1652.5,1664.4,1652.2,1660.5\n1986-04-29,1635.2,1656.3,1635.0,1656.3\n1986-04-28,1620.2,1629.5,1619.7,1628.8\n1986-04-25,1629.7,1631.7,1611.8,1622.6\n1986-04-24,1633.1,1635.1,1603.7,1615.5\n1986-04-23,1647.8,1649.7,1632.7,1632.7\n1986-04-22,1673.9,1674.1,1659.6,1665.2\n1986-04-21,1680.7,1681.1,1667.6,1668.0\n1986-04-18,1677.9,1681.0,1674.6,1680.2\n1986-04-17,1679.0,1683.5,1675.1,1680.9\n1986-04-16,1668.1,1670.1,1648.0,1662.0\n1986-04-15,1655.5,1663.4,1651.7,1654.8\n1986-04-14,1688.4,1690.6,1678.6,1683.1\n1986-04-11,1698.7,1699.5,1685.5,1694.1\n1986-04-10,1668.5,1690.9,1668.0,1690.3\n1986-04-09,1682.8,1683.5,1657.1,1659.0\n1986-04-08,1699.3,1701.8,1671.5,1675.7\n1986-04-07,1702.9,1703.5,1685.0,1688.5\n1986-04-04,1702.7,1713.2,1701.4,1709.7\n1986-04-03,1716.7,1721.7,1713.5,1717.6\n1986-04-02,1675.3,1704.7,1674.1,1702.9\n1986-04-01,1671.3,1684.2,1671.1,1684.0\n1986-03-27,1666.8,1669.0,1659.0,1668.8\n1986-03-26,1652.3,1655.2,1647.6,1653.9\n1986-03-25,1654.6,1654.6,1632.4,1633.8\n1986-03-24,1680.9,1680.9,1662.0,1663.9\n1986-03-21,1689.8,1690.1,1683.1,1688.3\n1986-03-20,1675.8,1690.1,1670.3,1690.1\n1986-03-19,1660.3,1661.4,1653.9,1659.8\n1986-03-18,1617.2,1644.4,1616.2,1644.4\n1986-03-17,1634.8,1635.2,1622.6,1622.6\n1986-03-14,1617.9,1624.5,1617.6,1624.4\n1986-03-13,1620.0,1623.9,1610.9,1616.7\n1986-03-12,1628.1,1630.7,1616.5,1624.5\n1986-03-11,1577.1,1597.2,1577.0,1597.1\n1986-03-10,1574.9,1577.0,1568.1,1572.2\n1986-03-07,1569.3,1574.0,1564.0,1573.8\n1986-03-06,1574.1,1575.6,1566.0,1566.1\n1986-03-05,1559.2,1571.3,1559.2,1569.1\n1986-03-04,1530.0,1548.9,1529.8,1548.9\n1986-03-03,1545.2,1545.2,1534.4,1534.9\n1986-02-28,1553.5,1553.5,1537.8,1543.9\n1986-02-27,1545.4,1555.2,1545.3,1549.5\n1986-02-26,1519.3,1534.6,1518.8,1534.6\n1986-02-25,1526.8,1540.2,1526.8,1527.7\n1986-02-24,1524.6,1534.6,1524.0,1533.0\n1986-02-21,1497.4,1518.0,1497.3,1518.0\n1986-02-20,1487.5,1492.6,1487.0,1492.1\n1986-02-19,1499.8,1501.1,1488.8,1491.4\n1986-02-18,1480.7,1492.0,1480.4,1491.9\n1986-02-17,1481.6,1482.4,1467.1,1475.3\n1986-02-14,1477.7,1478.4,1473.8,1477.9\n1986-02-13,1466.2,1473.7,1466.2,1473.5\n1986-02-12,1452.3,1470.9,1452.3,1470.0\n1986-02-11,1462.3,1462.5,1449.3,1453.9\n1986-02-10,1453.4,1461.5,1452.5,1461.5\n1986-02-07,1432.1,1446.0,1431.8,1445.0\n1986-02-06,1424.4,1426.9,1422.0,1426.9\n1986-02-05,1431.3,1432.0,1423.8,1424.1\n1986-02-04,1423.7,1432.0,1421.5,1431.6\n1986-02-03,1431.5,1433.4,1424.4,1425.1\n1986-01-31,1427.7,1435.5,1427.4,1435.0\n1986-01-30,1420.6,1429.1,1420.1,1429.1\n1986-01-29,1427.8,1428.1,1418.2,1421.0\n1986-01-28,1414.1,1426.3,1414.1,1426.3\n1986-01-27,1396.0,1405.0,1396.0,1405.0\n1986-01-24,1388.5,1392.0,1383.8,1392.0\n1986-01-23,1387.2,1388.9,1369.0,1382.8\n1986-01-22,1373.9,1391.4,1373.9,1390.9\n1986-01-21,1368.4,1378.3,1366.1,1378.1\n1986-01-20,1390.7,1391.1,1378.2,1378.3\n1986-01-17,1394.3,1398.3,1394.2,1396.0\n1986-01-16,1396.7,1397.7,1392.6,1394.5\n1986-01-15,1371.4,1390.5,1371.4,1390.5\n1986-01-14,1371.9,1380.0,1365.7,1370.1\n1986-01-13,1397.3,1397.5,1382.8,1384.6\n1986-01-10,1382.9,1394.5,1382.9,1394.5\n1986-01-09,1379.9,1393.5,1377.0,1379.6\n1986-01-08,1418.8,1419.3,1400.3,1404.2\n1986-01-07,1419.8,1419.8,1411.6,1415.2\n1986-01-06,1435.9,1436.3,1424.1,1424.1\n1986-01-03,1420.3,1430.0,1419.6,1429.8\n1986-01-02,1412.2,1420.8,1412.0,1420.5\n1985-12-31,1413.8,1414.3,1411.6,1412.6\n1985-12-30,1402.7,1413.6,1402.7,1413.6\n1985-12-27,1392.8,1398.9,1392.8,1398.9\n1985-12-24,1389.1,1391.7,1389.1,1391.5\n1985-12-23,1383.9,1388.6,1383.8,1388.6\n1985-12-20,1389.3,1389.3,1381.6,1386.5\n1985-12-19,1384.4,1391.8,1383.4,1390.7\n1985-12-18,1365.4,1378.8,1364.8,1378.8\n1985-12-17,1377.3,1377.5,1361.0,1365.4\n1985-12-16,1385.8,1386.4,1376.5,1376.5\n1985-12-13,1375.4,1381.7,1375.4,1381.4\n1985-12-12,1385.4,1387.2,1378.3,1378.5\n1985-12-11,1380.6,1380.6,1374.6,1377.4\n1985-12-10,1393.9,1395.5,1388.6,1389.5\n1985-12-09,1399.1,1399.8,1390.1,1392.0\n1985-12-06,1394.0,1401.9,1392.1,1401.9\n1985-12-05,1401.8,1401.8,1382.0,1395.3\n1985-12-04,1416.4,1418.2,1399.1,1399.6\n1985-12-03,1411.8,1419.8,1402.7,1415.6\n1985-12-02,1439.6,1439.6,1418.5,1418.5\n1985-11-29,1427.9,1439.4,1427.5,1439.1\n1985-11-28,1447.3,1447.5,1429.2,1429.3\n1985-11-27,1432.3,1438.8,1431.3,1438.0\n1985-11-26,1449.1,1449.1,1431.9,1431.9\n1985-11-25,1458.0,1460.7,1452.3,1455.5\n1985-11-22,1453.8,1454.4,1445.2,1451.0\n1985-11-21,1426.7,1443.3,1426.7,1443.1\n1985-11-20,1420.3,1424.3,1419.7,1424.3\n1985-11-19,1405.4,1412.1,1403.3,1412.1\n1985-11-18,1409.8,1410.4,1401.5,1405.1\n1985-11-15,1391.1,1403.9,1390.4,1403.9\n1985-11-14,1395.0,1397.1,1391.7,1391.7\n1985-11-13,1386.1,1400.5,1386.1,1396.9\n1985-11-12,1384.6,1387.1,1378.4,1381.6\n1985-11-11,1390.2,1390.4,1375.5,1375.5\n1985-11-08,1378.0,1390.1,1377.5,1390.1\n1985-11-07,1396.6,1396.6,1384.6,1384.8\n1985-11-06,1383.9,1395.0,1383.9,1395.0\n1985-11-05,1387.6,1395.9,1383.7,1383.7\n1985-11-04,1381.4,1383.1,1375.2,1380.9\n1985-11-01,1372.1,1383.1,1371.5,1379.0\n1985-10-31,1372.4,1379.1,1370.3,1377.2\n1985-10-30,1370.8,1373.8,1369.7,1373.8\n1985-10-29,1346.9,1364.4,1345.9,1364.4\n1985-10-28,1351.2,1351.2,1347.2,1347.8\n1985-10-25,1349.5,1349.7,1344.5,1347.6\n1985-10-24,1347.2,1350.3,1347.0,1349.6\n1985-10-23,1336.3,1346.4,1336.3,1346.4\n1985-10-22,1338.8,1338.8,1328.7,1331.5\n1985-10-21,1340.8,1341.4,1339.0,1340.3\n1985-10-18,1330.2,1341.4,1328.6,1341.2\n1985-10-17,1334.4,1335.9,1330.9,1335.7\n1985-10-16,1317.2,1326.2,1317.2,1326.2\n1985-10-15,1323.1,1323.1,1318.8,1320.9\n1985-10-14,1327.2,1328.5,1320.6,1321.2\n1985-10-11,1316.6,1322.3,1316.6,1322.3\n1985-10-10,1312.3,1314.1,1311.8,1314.1\n1985-10-09,1301.7,1308.7,1301.7,1308.1\n1985-10-08,1303.4,1307.5,1302.3,1303.3\n1985-10-07,1315.0,1315.0,1306.9,1306.9\n1985-10-04,1306.6,1313.9,1306.6,1313.0\n1985-10-03,1303.1,1305.6,1302.1,1305.3\n1985-10-02,1297.5,1306.5,1297.5,1305.4\n1985-10-01,1292.8,1296.0,1292.8,1296.0\n1985-09-30,1283.0,1290.4,1283.0,1290.0\n1985-09-27,1276.8,1281.1,1276.6,1280.7\n1985-09-26,1272.5,1272.5,1269.5,1270.8\n1985-09-25,1279.0,1279.4,1271.0,1275.2\n1985-09-24,1292.7,1292.9,1279.2,1280.1\n1985-09-23,1287.2,1292.5,1286.1,1292.1\n1985-09-20,1304.2,1305.3,1297.9,1298.7\n1985-09-19,1299.2,1306.9,1299.1,1306.8\n1985-09-18,1291.3,1295.6,1289.0,1294.8\n1985-09-17,1301.1,1301.1,1294.5,1296.0\n1985-09-16,1299.8,1300.2,1295.7,1300.2\n1985-09-13,1313.2,1313.6,1305.4,1308.8\n1985-09-12,1302.8,1313.5,1302.8,1313.3\n1985-09-11,1306.8,1306.9,1295.3,1302.2\n1985-09-10,1317.0,1317.0,1311.4,1311.4\n1985-09-09,1333.1,1333.2,1329.2,1329.3\n1985-09-06,1322.2,1333.5,1322.2,1332.2\n1985-09-05,1323.6,1323.7,1321.7,1322.0\n1985-09-04,1335.2,1336.7,1332.4,1332.4\n1985-09-03,1341.8,1344.7,1335.2,1335.5\n1985-09-02,1335.1,1340.3,1335.1,1340.3\n1985-08-30,1331.0,1341.1,1330.1,1341.1\n1985-08-29,1314.1,1323.9,1311.2,1323.9\n1985-08-28,1308.1,1308.2,1302.5,1308.2\n1985-08-27,1311.0,1311.1,1309.6,1310.8\n1985-08-23,1308.3,1313.8,1307.7,1313.5\n1985-08-22,1312.3,1312.9,1309.7,1309.7\n1985-08-21,1307.7,1314.2,1307.7,1313.9\n1985-08-20,1299.5,1307.9,1299.5,1307.1\n1985-08-19,1298.3,1298.9,1294.4,1294.9\n1985-08-16,1299.2,1301.8,1298.2,1299.1\n1985-08-15,1293.6,1302.2,1293.2,1302.2\n1985-08-14,1285.3,1293.1,1285.1,1293.1\n1985-08-13,1288.3,1290.8,1284.5,1285.1\n1985-08-12,1281.1,1288.1,1281.0,1288.1\n1985-08-09,1283.7,1286.6,1281.1,1286.3\n1985-08-08,1289.5,1291.0,1286.0,1286.0\n1985-08-07,1279.3,1286.6,1278.7,1286.6\n1985-08-06,1271.1,1287.5,1271.0,1287.5\n1985-08-05,1278.5,1278.5,1271.3,1271.8\n1985-08-02,1282.6,1284.6,1280.4,1280.4\n1985-08-01,1271.7,1288.4,1271.7,1287.2\n1985-07-31,1251.0,1261.7,1246.8,1261.7\n1985-07-30,1247.9,1253.9,1247.3,1252.3\n1985-07-29,1243.3,1249.6,1243.3,1248.9\n1985-07-26,1217.4,1239.7,1215.4,1239.7\n1985-07-25,1234.9,1234.9,1221.7,1221.7\n1985-07-24,1236.5,1237.2,1233.2,1236.2\n1985-07-23,1237.6,1237.6,1229.1,1233.1\n1985-07-22,1253.5,1253.7,1239.9,1241.1\n1985-07-19,1247.8,1252.5,1246.2,1252.5\n1985-07-18,1250.4,1250.4,1245.0,1248.6\n1985-07-17,1248.2,1248.2,1242.9,1247.3\n1985-07-16,1247.6,1250.8,1239.0,1239.5\n1985-07-15,1231.7,1243.6,1231.5,1243.6\n1985-07-12,1239.7,1239.9,1223.8,1230.8\n1985-07-11,1235.6,1240.7,1234.8,1238.4\n1985-07-10,1233.5,1233.5,1220.8,1230.4\n1985-07-09,1256.5,1256.7,1239.5,1239.6\n1985-07-08,1256.7,1258.4,1254.7,1258.2\n1985-07-05,1260.4,1266.8,1258.5,1260.0\n1985-07-04,1235.6,1249.1,1235.6,1249.1\n1985-07-03,1249.0,1249.0,1236.8,1239.3\n1985-07-02,1251.6,1256.9,1250.0,1250.8\n1985-07-01,1229.9,1246.9,1228.7,1246.8\n1985-06-28,1240.9,1241.9,1228.0,1234.9\n1985-06-27,1235.9,1237.2,1221.5,1234.3\n1985-06-26,1243.8,1244.2,1234.3,1236.5\n1985-06-25,1260.9,1260.9,1236.9,1248.3\n1985-06-24,1266.6,1270.7,1266.6,1266.6\n1985-06-21,1274.3,1274.3,1261.6,1262.0\n1985-06-20,1281.7,1281.7,1269.8,1276.3\n1985-06-19,1284.2,1287.7,1282.5,1284.1\n1985-06-18,1284.6,1295.5,1283.2,1283.2\n1985-06-17,1278.5,1285.3,1278.5,1284.4\n1985-06-14,1268.7,1275.5,1266.2,1275.5\n1985-06-13,1284.7,1284.7,1278.9,1278.9\n1985-06-12,1307.6,1307.6,1291.1,1291.4\n1985-06-11,1301.8,1308.9,1301.4,1308.1\n1985-06-10,1310.1,1311.1,1298.0,1299.6\n1985-06-07,1322.2,1323.1,1305.0,1310.6\n1985-06-06,1331.8,1333.6,1322.0,1322.0\n1985-06-05,1335.8,1336.2,1331.3,1335.9\n1985-06-04,1324.5,1336.7,1324.5,1336.6\n1985-06-03,1315.8,1325.0,1315.5,1324.6\n1985-05-31,1315.7,1315.8,1309.6,1313.0\n1985-05-30,1311.8,1315.8,1311.1,1314.7\n1985-05-29,1317.4,1317.4,1305.9,1312.0\n1985-05-28,1318.7,1318.8,1313.9,1317.4\n1985-05-24,1323.5,1323.5,1308.3,1313.8\n1985-05-23,1331.3,1332.1,1325.3,1325.3\n1985-05-22,1332.7,1337.3,1332.7,1333.8\n1985-05-21,1337.4,1337.8,1330.7,1334.1\n1985-05-20,1322.0,1330.8,1321.1,1330.8\n1985-05-17,1335.9,1335.9,1327.1,1327.4\n1985-05-16,1343.1,1344.2,1334.8,1336.1\n1985-05-15,1327.4,1342.4,1327.4,1342.4\n1985-05-14,1334.0,1335.7,1322.7,1326.5\n1985-05-13,1317.2,1333.0,1317.1,1333.0\n1985-05-10,1308.4,1315.8,1308.1,1315.8\n1985-05-09,1304.1,1308.9,1304.1,1306.3\n1985-05-08,1304.7,1312.0,1304.7,1307.9\n1985-05-07,1314.1,1315.3,1305.5,1305.5\n1985-05-03,1309.8,1311.6,1309.1,1310.9\n1985-05-02,1300.3,1310.0,1300.1,1309.1\n1985-05-01,1293.7,1301.5,1293.7,1301.5\n1985-04-30,1284.7,1292.2,1284.1,1291.0\n1985-04-29,1292.8,1293.4,1290.1,1292.9\n1985-04-26,1294.5,1296.6,1292.9,1295.3\n1985-04-25,1286.9,1289.8,1286.0,1289.5\n1985-04-24,1284.5,1285.8,1282.8,1285.7\n1985-04-23,1287.2,1287.2,1282.7,1284.9\n1985-04-22,1299.5,1299.8,1294.9,1294.9\n1985-04-19,1302.9,1302.9,1299.5,1299.7\n1985-04-18,1306.9,1313.0,1305.4,1305.5\n1985-04-17,1290.9,1304.1,1290.9,1304.0\n1985-04-16,1292.3,1293.0,1288.4,1290.8\n1985-04-15,1282.3,1288.9,1282.1,1288.5\n1985-04-12,1266.5,1275.8,1266.5,1275.8\n1985-04-11,1273.5,1276.3,1267.8,1269.3\n1985-04-10,1270.9,1275.1,1270.9,1273.1\n1985-04-09,1276.0,1276.3,1268.8,1270.2\n1985-04-04,1276.7,1278.5,1276.5,1278.5\n1985-04-03,1283.5,1283.5,1274.0,1274.8\n1985-04-02,1280.6,1286.9,1280.6,1286.8\n1985-04-01,1276.7,1279.3,1275.8,1278.3\n1985-03-29,1284.2,1284.8,1276.1,1277.0\n1985-03-28,1286.8,1287.3,1285.3,1287.1\n1985-03-27,1290.5,1290.9,1288.0,1288.0\n1985-03-26,1294.9,1294.9,1290.1,1290.4\n1985-03-25,1296.4,1298.0,1296.1,1297.8\n1985-03-22,1297.1,1302.9,1295.0,1302.9\n1985-03-21,1306.0,1309.2,1283.5,1284.0\n1985-03-20,1302.6,1307.3,1301.5,1307.2\n1985-03-19,1298.7,1304.7,1298.4,1304.5\n1985-03-18,1308.2,1308.2,1300.1,1300.3\n1985-03-15,1301.4,1309.9,1301.4,1309.9\n1985-03-14,1294.5,1299.7,1293.3,1299.7\n1985-03-13,1298.5,1300.9,1295.2,1295.2\n1985-03-12,1298.9,1303.9,1298.6,1300.0\n1985-03-11,1287.2,1290.8,1287.2,1290.8\n1985-03-08,1285.7,1288.6,1283.3,1288.6\n1985-03-07,1285.1,1288.1,1284.4,1285.8\n1985-03-06,1277.3,1287.1,1277.2,1285.4\n1985-03-05,1262.2,1275.7,1261.9,1274.9\n1985-03-04,1263.2,1265.7,1261.5,1265.7\n1985-03-01,1256.7,1257.6,1247.7,1250.8\n1985-02-28,1258.2,1261.9,1257.7,1260.8\n1985-02-27,1261.4,1261.8,1256.3,1256.9\n1985-02-26,1260.2,1266.2,1260.0,1260.0\n1985-02-25,1266.3,1266.5,1258.2,1261.0\n1985-02-22,1274.6,1274.6,1262.6,1265.2\n1985-02-21,1274.1,1277.9,1269.3,1277.8\n1985-02-20,1277.1,1281.9,1276.5,1276.7\n1985-02-19,1267.7,1274.5,1266.9,1274.4\n1985-02-18,1278.7,1278.7,1268.3,1268.7\n1985-02-15,1283.8,1286.7,1280.4,1281.3\n1985-02-14,1293.2,1294.7,1288.4,1291.1\n1985-02-13,1272.0,1281.6,1271.7,1280.8\n1985-02-12,1283.4,1290.0,1273.5,1273.5\n1985-02-11,1291.5,1299.5,1288.7,1298.9\n1985-02-08,1298.3,1300.3,1288.5,1291.7\n1985-02-07,1285.0,1295.7,1285.0,1295.5\n1985-02-06,1281.9,1290.4,1280.5,1290.4\n1985-02-05,1276.3,1289.2,1276.3,1288.9\n1985-02-04,1258.9,1267.8,1257.1,1265.1\n1985-02-01,1275.2,1277.3,1273.3,1273.9\n1985-01-31,1280.4,1280.6,1272.2,1280.2\n1985-01-30,1267.8,1277.3,1265.8,1277.3\n1985-01-29,1257.0,1257.0,1240.5,1248.6\n1985-01-28,1273.5,1273.5,1241.7,1261.6\n1985-01-25,1274.0,1284.0,1274.0,1284.0\n1985-01-24,1284.1,1284.8,1262.5,1272.4\n1985-01-23,1283.1,1286.3,1280.3,1283.0\n1985-01-22,1296.9,1305.6,1292.1,1305.6\n1985-01-21,1279.7,1280.9,1276.1,1277.1\n1985-01-18,1263.4,1273.2,1261.6,1272.6\n1985-01-17,1256.7,1262.7,1256.7,1261.5\n1985-01-16,1237.8,1251.7,1237.8,1251.7\n1985-01-15,1223.5,1231.4,1223.5,1231.3\n1985-01-14,1240.1,1240.1,1221.4,1222.2\n1985-01-11,1265.3,1265.3,1240.9,1246.9\n1985-01-10,1261.1,1263.9,1252.9,1262.7\n1985-01-09,1248.6,1257.1,1247.1,1257.1\n1985-01-08,1243.0,1243.1,1240.0,1242.2\n1985-01-07,1213.2,1225.4,1212.6,1225.4\n1985-01-04,1204.7,1215.7,1204.7,1213.6\n1985-01-03,1208.2,1208.2,1199.6,1205.5\n1985-01-02,1230.3,1230.4,1223.9,1223.9\n1984-12-31,1229.2,1231.3,1228.5,1231.2\n1984-12-28,1210.8,1224.8,1210.8,1224.8\n1984-12-27,1206.7,1209.4,1206.6,1209.2\n1984-12-24,1205.3,1205.6,1205.2,1205.2\n1984-12-21,1204.9,1204.9,1201.8,1202.1\n1984-12-20,1214.0,1214.0,1208.4,1208.4\n1984-12-19,1222.5,1223.6,1219.1,1221.4\n1984-12-18,1213.8,1215.3,1212.6,1215.3\n1984-12-17,1215.9,1217.6,1212.5,1213.8\n1984-12-14,1202.3,1207.9,1202.3,1204.6\n1984-12-13,1188.9,1196.5,1188.9,1196.3\n1984-12-12,1195.8,1197.8,1192.5,1192.8\n1984-12-11,1199.5,1202.9,1199.5,1200.0\n1984-12-10,1191.5,1199.6,1190.5,1199.5\n1984-12-07,1179.1,1185.0,1179.1,1185.0\n1984-12-06,1175.1,1175.4,1169.9,1175.4\n1984-12-05,1179.4,1183.4,1176.0,1183.2\n1984-12-04,1193.2,1194.7,1185.4,1185.6\n1984-12-03,1187.9,1191.7,1187.9,1191.3\n1984-11-30,1186.5,1186.5,1178.7,1181.1\n1984-11-29,1184.4,1186.4,1181.2,1186.4\n1984-11-28,1182.8,1187.3,1182.8,1186.6\n1984-11-27,1167.3,1179.1,1167.3,1178.9\n1984-11-26,1164.1,1171.5,1163.8,1171.1\n1984-11-23,1153.5,1155.2,1153.1,1154.4\n1984-11-22,1169.3,1170.0,1160.4,1160.4\n1984-11-21,1163.1,1167.9,1162.8,1167.7\n1984-11-20,1164.1,1164.4,1157.7,1158.7\n1984-11-19,1166.3,1167.1,1162.9,1166.7\n1984-11-16,1164.4,1174.6,1164.4,1174.2\n1984-11-15,1179.4,1179.5,1167.1,1167.1\n1984-11-14,1176.8,1182.4,1175.6,1181.6\n1984-11-13,1175.2,1186.1,1175.2,1184.7\n1984-11-12,1165.2,1176.2,1165.2,1176.1\n1984-11-09,1155.1,1158.9,1155.1,1158.6\n1984-11-08,1151.1,1159.4,1149.1,1158.5\n1984-11-07,1161.8,1161.8,1154.2,1158.1\n1984-11-06,1167.4,1167.7,1156.8,1160.6\n1984-11-05,1167.6,1167.9,1162.8,1162.9\n1984-11-02,1169.5,1171.5,1165.2,1169.2\n1984-11-01,1148.4,1155.5,1147.7,1155.5\n1984-10-31,1153.5,1155.3,1151.8,1152.1\n1984-10-30,1137.7,1143.9,1137.5,1143.8\n1984-10-29,1127.7,1135.8,1126.8,1135.7\n1984-10-26,1129.6,1129.6,1127.2,1127.4\n1984-10-25,1128.0,1131.3,1127.0,1129.9\n1984-10-24,1133.1,1133.6,1125.0,1125.1\n1984-10-23,1117.5,1124.4,1116.4,1124.4\n1984-10-22,1111.2,1115.7,1110.8,1114.9\n1984-10-19,1106.4,1112.5,1098.6,1112.5\n1984-10-18,1089.5,1093.4,1079.0,1090.0\n1984-10-17,1116.6,1118.4,1102.6,1102.6\n1984-10-16,1128.0,1128.9,1124.1,1124.5\n1984-10-15,1143.9,1147.3,1143.3,1145.7\n1984-10-12,1140.4,1141.6,1137.7,1140.4\n1984-10-11,1136.2,1141.7,1136.2,1141.7\n1984-10-10,1134.4,1138.9,1133.6,1137.0\n1984-10-09,1141.1,1142.4,1137.4,1138.0\n1984-10-08,1137.1,1141.3,1137.1,1138.7\n1984-10-05,1134.6,1137.4,1134.1,1135.8\n1984-10-04,1118.8,1124.5,1118.8,1124.5\n1984-10-03,1121.4,1127.6,1121.4,1124.1\n1984-10-02,1114.1,1116.9,1111.8,1116.9\n1984-10-01,1137.5,1137.5,1130.4,1130.4\n1984-09-28,1145.9,1146.0,1139.3,1139.3\n1984-09-27,1136.6,1143.6,1136.6,1143.5\n1984-09-26,1127.3,1135.0,1127.1,1134.7\n1984-09-25,1117.1,1120.7,1116.9,1120.7\n1984-09-24,1129.1,1129.1,1121.6,1121.6\n1984-09-21,1126.5,1129.7,1125.8,1126.1\n1984-09-20,1125.6,1136.6,1125.4,1133.1\n1984-09-19,1109.9,1122.9,1109.8,1122.5\n1984-09-18,1110.0,1112.6,1109.3,1111.1\n1984-09-17,1104.8,1111.5,1104.1,1110.5\n1984-09-14,1110.8,1111.8,1107.9,1111.4\n1984-09-13,1106.4,1107.2,1104.8,1107.2\n1984-09-12,1101.6,1102.8,1101.3,1102.2\n1984-09-11,1092.0,1101.3,1091.8,1101.3\n1984-09-10,1096.5,1096.5,1091.6,1092.4\n1984-09-07,1101.4,1101.7,1097.9,1099.5\n1984-09-06,1085.0,1093.9,1085.0,1093.9\n1984-09-05,1077.7,1082.9,1076.9,1082.4\n1984-09-04,1100.0,1100.0,1085.5,1085.5\n1984-09-03,1105.6,1106.4,1105.2,1105.2\n1984-08-31,1100.4,1104.6,1100.2,1103.3\n1984-08-30,1094.0,1101.9,1093.1,1100.9\n1984-08-29,1084.5,1094.5,1084.5,1094.5\n1984-08-28,1085.1,1087.5,1079.4,1087.2\n1984-08-24,1081.3,1087.7,1081.3,1087.6\n1984-08-23,1080.5,1081.9,1079.7,1080.7\n1984-08-22,1091.7,1093.9,1089.4,1090.5\n1984-08-21,1077.2,1082.5,1077.2,1082.5\n1984-08-20,1076.0,1076.0,1071.3,1073.9\n1984-08-17,1076.3,1077.0,1074.9,1077.0\n1984-08-16,1071.6,1072.8,1069.1,1072.8\n1984-08-15,1091.9,1092.7,1082.9,1082.9\n1984-08-14,1087.5,1092.1,1084.3,1092.1\n1984-08-13,1088.4,1089.5,1085.1,1085.9\n1984-08-10,1080.6,1094.1,1080.6,1094.1\n1984-08-09,1076.4,1077.2,1067.8,1069.9\n1984-08-08,1073.8,1078.5,1073.7,1078.5\n1984-08-07,1054.2,1070.2,1054.0,1069.3\n1984-08-06,1071.1,1071.1,1057.2,1058.0\n1984-08-03,1059.8,1064.0,1054.1,1063.9\n1984-08-02,1032.1,1038.2,1029.4,1038.2\n1984-08-01,1009.5,1012.5,1006.2,1012.5\n1984-07-31,995.2,1009.5,995.2,1009.4\n1984-07-30,997.0,997.3,993.0,994.4\n1984-07-27,999.5,999.5,988.1,999.5\n1984-07-26,1006.2,1007.0,999.9,999.9\n1984-07-25,983.8,994.3,983.8,994.3\n1984-07-24,989.0,991.1,983.4,988.7\n1984-07-23,1008.3,1008.3,986.9,986.9\n1984-07-20,1010.9,1012.4,1008.1,1009.0\n1984-07-19,999.6,999.9,996.9,999.9\n1984-07-18,1007.0,1010.2,1006.8,1009.6\n1984-07-17,1006.2,1006.9,1003.8,1006.9\n1984-07-16,992.7,1003.6,992.2,1001.6\n1984-07-13,996.4,998.6,987.8,992.6\n1984-07-12,998.8,999.2,978.7,989.7\n1984-07-11,1000.1,1001.3,995.6,999.2\n1984-07-10,1029.7,1030.4,1016.9,1016.9\n1984-07-09,1040.9,1040.9,1027.8,1033.4\n1984-07-06,1060.7,1060.7,1045.1,1045.4\n1984-07-05,1062.9,1063.4,1060.0,1061.0\n1984-07-04,1053.2,1065.1,1053.2,1063.9\n1984-07-03,1048.0,1049.5,1045.1,1048.6\n1984-07-02,1041.3,1046.5,1041.3,1046.5\n1984-06-29,1029.1,1040.3,1029.0,1039.2\n1984-06-28,1038.9,1038.9,1031.6,1031.6\n1984-06-27,1024.5,1037.0,1024.3,1037.0\n1984-06-26,1029.5,1029.5,1023.4,1023.5\n1984-06-25,1034.4,1035.2,1032.7,1033.1\n1984-06-22,1040.2,1040.2,1029.8,1031.9\n1984-06-21,1046.2,1047.1,1041.0,1041.0\n1984-06-20,1055.4,1055.4,1033.8,1033.8\n1984-06-19,1058.5,1059.3,1054.1,1054.9\n1984-06-18,1035.1,1043.2,1035.0,1042.1\n1984-06-15,1028.0,1039.6,1027.6,1039.6\n1984-06-14,1055.6,1055.6,1045.4,1045.4\n1984-06-13,1065.0,1065.1,1060.8,1063.7\n1984-06-12,1065.6,1066.5,1062.3,1066.3\n1984-06-11,1072.7,1076.5,1072.7,1076.2\n1984-06-08,1072.8,1072.8,1062.3,1068.0\n1984-06-07,1090.4,1090.5,1075.4,1075.4\n1984-06-06,1080.1,1088.2,1080.0,1087.9\n1984-06-05,1079.4,1079.9,1069.5,1078.8\n1984-06-04,1067.4,1076.8,1067.4,1076.8\n1984-06-01,1026.8,1043.8,1026.8,1043.8\n1984-05-31,1034.2,1037.8,1008.2,1016.6\n1984-05-30,1051.9,1052.3,1027.7,1027.7\n1984-05-25,1044.7,1057.1,1042.9,1053.3\n1984-05-24,1074.3,1074.6,1057.7,1057.7\n1984-05-23,1087.6,1089.3,1072.0,1074.1\n1984-05-22,1105.7,1105.7,1085.3,1087.9\n1984-05-21,1106.0,1107.3,1105.9,1107.2\n1984-05-18,1108.8,1108.8,1105.1,1105.2\n1984-05-17,1116.4,1120.3,1115.3,1116.9\n1984-05-16,1101.9,1104.2,1101.8,1104.1\n1984-05-15,1083.6,1093.5,1083.6,1093.5\n1984-05-14,1073.3,1083.0,1073.3,1082.5\n1984-05-11,1088.7,1089.0,1075.8,1076.1\n1984-05-10,1101.3,1101.3,1093.5,1094.6\n1984-05-09,1119.7,1120.5,1111.0,1111.3\n1984-05-08,1126.9,1126.9,1115.9,1117.8\n1984-05-04,1135.4,1135.8,1133.5,1134.7\n1984-05-03,1137.7,1142.8,1137.4,1142.2\n1984-05-01,1136.8,1136.8,1136.8,1136.8\n1984-04-30,1138.3,1138.3,1138.3,1138.3\n1984-04-26,1130.9,1130.9,1130.9,1130.9\n1984-04-25,1119.8,1119.8,1119.8,1119.8\n1984-04-24,1105.4,1105.4,1105.4,1105.4\n1984-04-23,1108.4,1108.4,1108.4,1108.4\n1984-04-20,1116.2,1116.2,1116.2,1116.2\n1984-04-19,1116.2,1116.2,1116.2,1116.2\n1984-04-18,1116.2,1116.2,1116.2,1116.2\n1984-04-17,1110.2,1110.2,1110.2,1110.2\n1984-04-16,1105.6,1105.6,1105.6,1105.6\n1984-04-13,1129.1,1129.1,1129.1,1129.1\n1984-04-12,1129.1,1129.1,1129.1,1129.1\n1984-04-11,1110.6,1110.6,1110.6,1110.6\n1984-04-10,1105.4,1105.4,1105.4,1105.4\n1984-04-09,1096.7,1096.7,1096.7,1096.7\n1984-04-06,1096.3,1096.3,1096.3,1096.3\n1984-04-05,1102.2,1102.2,1102.2,1102.2\n1984-04-04,1095.4,1095.4,1095.4,1095.4\n1984-04-03,1095.4,1095.4,1095.4,1095.4\n1984-04-02,1108.1,1108.1,1108.1,1108.1\n"
  },
  {
    "path": "p5-capstone/ftse100-list.csv",
    "content": "ticker,name,premium_code,free_code\r\nADN,Aberdeen Asset Management,,GOOG/LON_ADN\r\nADM,Admiral Group,EOD/ADM,GOOG/LON_ADM\r\nAGK,Aggreko,,GOOG/LON_AGK\r\nAMEC,AMEC,,GOOG/LON_AMEC\r\nAAL,Anglo American plc,EOD/AAL,GOOG/LON_AAL\r\nANTO,Antofagasta,,GOOG/LON_ANTO\r\nARM,ARM Holdings,,GOOG/LON_ARM\r\nABF,Associated British Foods,,GOOG/LON_ABF\r\nAZN,AstraZeneca,EOD/AZN,GOOG/LON_AZN\r\nAV,Aviva,EOD/AV,\r\nBAB,Babcock International,EOD/BAB,GOOG/LON_BAB\r\nBA,BAE Systems,EOD/BA,\r\nBARC,Barclays,,GOOG/LON_BARC\r\nBG,BG Group,EOD/BG,\r\nBLT,BHP Billiton,EOD/BLT,GOOG/LON_BLT\r\nBP,BP,EOD/BP,\r\nBTI,British American Tobacco,EOD/BTI,\r\nBLND,British Land Co,,GOOG/LON_BLND\r\nBSY,BSkyB,,GOOG/LON_BSY\r\nBT_A,BT Group,,GOOG/LON_BT_A\r\nBNZL,Bunzl,,GOOG/LON_BNZL\r\nBRBY,Burberry Group,,GOOG/LON_BRBY\r\nCPI,Capita,EOD/CPI,GOOG/LON_CPI\r\nCUK,Carnival plc,EOD/CUK,GOOG/LON_CUK\r\nCNA,Centrica,EOD/CNA,GOOG/LON_CNA\r\nCCH,Coca-Cola HBC AG,,\r\nCPG,Compass Group,EOD/CPG,GOOG/LON_CPG\r\nCRH,CRH plc,EOD/CRH,GOOG/LON_CRH\r\nCRDA,Croda International,,GOOG/LON_CRDA\r\nDGE,Diageo,,GOOG/LON_DGE\r\nENRC,Eurasian Natural Resources,,GOOG/LON_ENRC\r\nEVR,Evraz,EOD/EVR,GOOG/LON_EVR\r\nEXPN,Experian,,GOOG/LON_EXPN\r\nFRES,Fresnillo plc,,GOOG/LON_FRES\r\nGFS,G4S,,GOOG/LON_GFS\r\nGKN,GKN,,GOOG/LON_GKN\r\nGSK,GlaxoSmithKline,EOD/GSK,GOOG/LON_GSK\r\nGLEN,Glencore International,,GOOG/LON_GLEN\r\nHMSO,Hammerson,,GOOG/LON_HMSO\r\nHL,Hargreaves Lansdown,EOD/HL,\r\nHSBA,HSBC,,GOOG/LON_HSBA\r\nIMI,IMI plc,EOD/IMI,GOOG/LON_IMI\r\nIMT,Imperial Tobacco Group,,GOOG/LON_IMT\r\nIHG,InterContinental Hotels Group,EOD/IHG,GOOG/LON_IHG\r\nIAG,International Consolidated Airlines Group SA,EOD/IAG,GOOG/LON_IAG\r\nITRK,Intertek Group,,GOOG/LON_ITRK\r\nITV,ITV plc,,GOOG/LON_ITV\r\nSBRY,J Sainsbury plc,,GOOG/LON_SBRY\r\nJMAT,Johnson Matthey,,GOOG/LON_JMAT\r\nKGF,Kingfisher plc,,GOOG/LON_KGF\r\nLAND,Land Securities Group,EOD/LAND,GOOG/LON_LAND\r\nLGEN,Legal & General,,GOOG/LON_LGEN\r\nLLOY,Lloyds Banking Group,,GOOG/LON_LLOY\r\nMKS,Marks & Spencer Group,,GOOG/LON_MKS\r\nMGGT,Meggitt,,GOOG/LON_MGGT\r\nMRO,Melrose plc,EOD/MRO,GOOG/LON_MRO\r\nMRW,Morrison Supermarkets,,GOOG/LON_MRW\r\nNG,National Grid plc,EOD/NG,\r\nNXT,Next plc,,GOOG/LON_NXT\r\nOML,Old Mutual,,GOOG/LON_OML\r\nPSO,Pearson plc,EOD/PSO,\r\nPFC,Petrofac,,GOOG/LON_PFC\r\nPRU,Prudential plc,EOD/PRU,GOOG/LON_PRU\r\nRRS,Randgold Resources,,GOOG/LON_RRS\r\nRB,Reckitt Benckiser,,\r\nREL,Reed Elsevier,,GOOG/LON_REL\r\nFLG,Friends Life Group,,\r\nREX,Rexam,EOD/REX,GOOG/LON_REX\r\nRIO,Rio Tinto Group,EOD/RIO,GOOG/LON_RIO\r\nRR,Rolls-Royce Group,,\r\nRBS,Royal Bank of Scotland Group,EOD/RBS,GOOG/LON_RBS\r\nRDSA,Royal Dutch Shell,,GOOG/LON_RDSA\r\nRSA,RSA Insurance Group,,GOOG/LON_RSA\r\nSAB,SABMiller,,GOOG/LON_SAB\r\nSGE,Sage Group,,GOOG/LON_SGE\r\nSDR,Schroders,EOD/SDR,GOOG/LON_SDR\r\nSRP,Serco,,GOOG/LON_SRP\r\nSVT,Severn Trent,EOD/SVT,GOOG/LON_SVT\r\nSHPG,Shire plc,EOD/SHPG,\r\nSNN,Smith & Nephew,EOD/SNN,\r\nSMIN,Smiths Group,,GOOG/LON_SMIN\r\nSSE,SSE plc,EOD/SSE,GOOG/LON_SSE\r\nSTAN,Standard Chartered,,GOOG/LON_STAN\r\nSL,Standard Life,,\r\nTATE,Tate & Lyle,,GOOG/LON_TATE\r\nTSCO,Tesco,EOD/TSCO,GOOG/LON_TSCO\r\nTT,TUI Travel,,\r\nTLW,Tullow Oil,,GOOG/LON_TLW\r\nULVR,Unilever,,GOOG/LON_ULVR\r\nUU,United Utilities,,\r\nVED,Vedanta Resources,,GOOG/LON_VED\r\nVOD,Vodafone Group,EOD/VOD,GOOG/LON_VOD\r\nWEIR,Weir Group,,GOOG/LON_WEIR\r\nWTB,Whitbread,,GOOG/LON_WTB\r\nWOS,Wolseley plc,,GOOG/LON_WOS\r\nWG_,Wood Group,,GOOG/LON_WG_\r\nWPP,WPP plc,EOD/WPP,GOOG/LON_WPP\r\nXTA,Xstrata,,GOOG/LON_XTA"
  },
  {
    "path": "p5-capstone/google-finance-py2.py",
    "content": "\"\"\"\nScrape FTSE100 Historical Prices from Google Finance\n\nAuthor: Jessica Yung\nSeptember 2016\n\"\"\"\n\nfrom bs4 import BeautifulSoup\nimport urllib.request\n# from sys import argv\nimport re\nimport math\nimport datetime\n\n# script, theurl = argv\n\ndef append_page_figures(url):\n\thtml = urllib.request.urlopen(url).read()\t\n\tsoup = BeautifulSoup(html, \"lxml\")\n\t# Select element with class `historical_price`\n\thistorical_prices = soup.select(\".historical_price\")\n\n\t# For each tr, create new row then \n\t# append values of each td to that row except the td with class rm. \n\n\t# rows = all tr\n\t# Rows is type <class 'bs4.element.ResultSet'>\n\t# historical_prices is a list of length 1 since 1 el selected\n\trows = historical_prices[0].find_all('tr')\n\t# Remove header row\n\trows = rows[1:]\n\tfor row in rows:\n\t\tcells = row.find_all('td')\n\t\trow_data = []\n\t\tfor cell in cells:\n\t\t\tvalue = cell.contents\n\t\t\t# Remove it from the len 1 array, \n\t\t\t# take away the newline character\n\t\t\tvalue = value[0][:-1]\n\t\t\tif value[0].isdigit():\n\t\t\t\tvalue = float(value.replace(',',''))\n\t\t\telif value[0].isalpha():\n\t\t\t\tvalue = convert_date(value)\n\t\t\trow_data.append(value)\n\t\t\n\n\t\t# Take away the dash for volume\n\t\trow_data = row_data[:-1]\n\t\tstock_data.append(row_data)\n\ndef convert_date(date):\n\t\"\"\"Converts e.g. 'Sep 1, 2016' to '2016-09-01'. \"\"\"\n\treturn datetime.datetime.strptime(date, '%b %d, %Y').strftime('%Y-%m-%d')\n\n\ndef number_of_pages():\n\t\"\"\"Returns tho number of pages you need to scrape to get all the\n\tdata for this security in your date range.\"\"\"\n\t# Max rows_per_page = 200\n\ttotal_pages = math.ceil(total_rows/rows_per_page)\n\treturn total_pages\n\ndef assemble_stock_query(start):\n\t\"\"\"Returns the URL for a page for your security (and parameters such\n\tand start and end dates) with the first row in the table being \n\trow `start` (int).\"\"\"\n\tquery = gfinance_url\n\tfor key, value in q.items():\n\t\tto_append = str(key) + \"=\" + str(value) + \"&\"\n\t\tquery += to_append\n\t# TODO: Check syntax of code in the line below\n\tquery += \"start=%s\" % str(start)\n\treturn query\n\ndef write_to_file(data, filename, header=None):\n\t\"\"\"Writes data and header to file.\"\"\"\n\twith open(filename, \"a\") as f:\n\t\tif header != None:\n\t\t\tf.write(\",\".join(str(v) for v in header))\n\t\t\tf.write(\"\\n\")\n\t\tfor row in stock_data:\n\t\t\tf.write(\",\".join(str(v) for v in row))\n\t\t\tf.write(\"\\n\")\n\n# Initialise Variables\ngfinance_url = \"https://www.google.co.uk/finance/historical?\"\ntotal_rows = 8188\nrows_per_page = 200\t\nq = {\n\t\"cid\": \"12590587\",\n\t\"startdate\": \"Jan+1%2C+1977\",\n\t\"enddate\": \"Sep+9%2C+2016\",\n\t\"num\": rows_per_page,\n\t\"ei\": \"iIXuV9HQFJfEU42QtNgD\"\t\n}\nstock_data = []\nheader = [\"Date\", \"Open\", \"High\", \"Low\", \"Close\"]\nfilename = \"ftse100.csv\"\n\n# Get URL for each page, scrape data from each page and \n# append scraped data to `stock_data`.\nfor page_index in range(number_of_pages()):\n\tstart = page_index * rows_per_page\n\tnew_url = assemble_stock_query(start)\n\tappend_page_figures(new_url)\n\n# Print head and tail of `stock_data` to check it is correct\nprint \"stock_data[:20]\"\nprint \"stock_data[-20:]\"\n\n# Write data to file\nwrite_to_file(stock_data, filename, header=header)\n\n# Sample URLs:\n# https://www.google.co.uk/finance/historical?cid=12590587&startdate=Jan+1%2C+1977&enddate=Sep+9%2C+2016&num=200&ei=iIXuV9HQFJfEU42QtNgD&start=200\n# https://www.google.co.uk/finance/historical?cid=12590587&startdate=Jan%201%2C%201977&enddate=Sep%209%2C%202016&num=200&ei=9IfuV4jzOtfJUaSJjrgG&start=200\n"
  },
  {
    "path": "p5-capstone/google-finance-scraper.py",
    "content": "\"\"\"\nScrape FTSE100 Historical Prices from Google Finance\n\nAuthor: Jessica Yung\nSeptember 2016\n\"\"\"\n\nfrom bs4 import BeautifulSoup\nimport urllib.request\n# from sys import argv\nimport re\nimport math\nimport datetime\n\n# script, theurl = argv\n\ndef append_page_figures(url):\n\thtml = urllib.request.urlopen(url).read()\t\n\tsoup = BeautifulSoup(html, \"lxml\")\n\t# Select element with class `historical_price`\n\thistorical_prices = soup.select(\".historical_price\")\n\n\t# For each tr, create new row then \n\t# append values of each td to that row except the td with class rm. \n\n\t# rows = all tr\n\t# Rows is type <class 'bs4.element.ResultSet'>\n\t# historical_prices is a list of length 1 since 1 el selected\n\trows = historical_prices[0].find_all('tr')\n\t# Remove header row\n\trows = rows[1:]\n\tfor row in rows:\n\t\tcells = row.find_all('td')\n\t\trow_data = []\n\t\tfor cell in cells:\n\t\t\tvalue = cell.contents\n\t\t\t# Remove it from the len 1 array, \n\t\t\t# take away the newline character\n\t\t\tvalue = value[0][:-1]\n\t\t\tif value[0].isdigit():\n\t\t\t\tvalue = float(value.replace(',',''))\n\t\t\telif value[0].isalpha():\n\t\t\t\tvalue = convert_date(value)\n\t\t\trow_data.append(value)\n\t\t\n\n\t\t# Take away the dash for volume\n\t\trow_data = row_data[:-1]\n#\t\tprint(row_data)\n\t\tstock_data.append(row_data)\n\ndef convert_date(date):\n\t\"\"\"Converts e.g. 'Sep 1, 2016' to '2016-09-01'. \"\"\"\n\treturn datetime.datetime.strptime(date, '%b %d, %Y').strftime('%Y-%m-%d')\n\n\ndef number_of_pages():\n\t\"\"\"Returns tho number of pages you need to scrape to get all the\n\tdata for this security in your date range.\"\"\"\n\t# Max rows_per_page = 200\n\ttotal_pages = math.ceil(total_rows/rows_per_page)\n\treturn total_pages\n\ndef assemble_stock_query(start):\n\t\"\"\"Returns the URL for a page for your security (and parameters such\n\tand start and end dates) with the first row in the table being \n\trow `start` (int).\"\"\"\n\tquery = gfinance_url\n\tfor key, value in q.items():\n\t\tto_append = str(key) + \"=\" + str(value) + \"&\"\n\t\tquery += to_append\n\t# TODO: Check syntax of code in the line below\n\tquery += \"start=%s\" % str(start)\n\treturn query\n\ndef write_to_file(data, filename, header=None):\n\t\"\"\"Writes data and header to file.\"\"\"\n\twith open(filename, \"a\") as f:\n\t\tif header != None:\n\t\t\tf.write(\",\".join(str(v) for v in header))\n\t\t\tf.write(\"\\n\")\n\t\tfor row in stock_data:\n\t\t\tf.write(\",\".join(str(v) for v in row))\n\t\t\tf.write(\"\\n\")\n\n# Initialise Variables\ngfinance_url = \"https://www.google.co.uk/finance/historical?\"\ntotal_rows = 8188\nrows_per_page = 200\t\nq = {\n\t\"cid\": \"12590587\",\n\t\"startdate\": \"Jan+1%2C+1977\",\n\t\"enddate\": \"Sep+9%2C+2016\",\n\t\"num\": rows_per_page,\n\t\"ei\": \"iIXuV9HQFJfEU42QtNgD\"\t\n}\nstock_data = []\nheader = [\"Date\", \"Open\", \"High\", \"Low\", \"Close\"]\nfilename = \"ftse100.csv\"\n\n# Get URL for each page, scrape data from each page and \n# append scraped data to `stock_data`.\nfor page_index in range(number_of_pages()):\n\tstart = page_index * rows_per_page\n\tnew_url = assemble_stock_query(start)\n\tappend_page_figures(new_url)\n\n# Print head and tail of `stock_data` to check it is correct\nprint(stock_data[:20])\nprint(stock_data[-20:])\n\n# Write data to file\nwrite_to_file(stock_data, filename, header=header)\n\n# Sample URLs:\n# https://www.google.co.uk/finance/historical?cid=12590587&startdate=Jan+1%2C+1977&enddate=Sep+9%2C+2016&num=200&ei=iIXuV9HQFJfEU42QtNgD&start=200\n# https://www.google.co.uk/finance/historical?cid=12590587&startdate=Jan%201%2C%201977&enddate=Sep%209%2C%202016&num=200&ei=9IfuV4jzOtfJUaSJjrgG&start=200\n"
  },
  {
    "path": "p5-capstone/list-of-all-securities-ex-debt.csv",
    "content": "Security Start Date,Company Name,Country of Incorporation,LSE Market,FCA Listing Category,ISIN,Security Name,TIDM,Mkt Cap £m,Shares in Issue,Industry,Supersector,Sector,Subsector,Group,MarketSegmentCode,MarketSectorCode,Trading Currency,,,,,,,,,,,,,,,,,,\r\n2-Aug-06,1PM PLC                            ,GB,AIM,,GB00BCDBXK43,ORD GBP0.1                              ,OPM  ,33.884728635,\"52,534,463.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-09,1SPATIAL PLC                       ,GB,AIM,,GB00B09LQS34,ORD GBP0.01                             ,SPA  ,32.2934306625,\"738,135,558.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-05,21ST CENTURY TECHNOLOGY PLC        ,GB,AIM,,GB0008866310,ORD GBP0.065                            ,C21  ,1.74824540625,\"93,239,755.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Sep-05,32RED                              ,GI,AIM,,GI000A0F56M0,ORD GBP0.002                            ,TTR  ,108.90199636875,\"83,690,295.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Aug-15,365 AGILE GROUP PLC                ,GB,AIM,,GB00BYY8NN14,ORD GBP0.30                             ,365  ,5.012229345,\"18,914,073.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-94,3I GROUP                           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1YW4409,ORD GBP0.738636                         ,III ,5957.506076665,\"969,488,377.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n13-Mar-07,3I INFRASTRUCTURE PLC              ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00BYR8GK67,ORD NPV                                 ,3IN ,1916.568375782,\"1,026,549,746.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-14,4D PHARMA PLC                      ,GB,AIM,,GB00BJL5BR07,ORD GBP0.0025                           ,DDDD ,449.14268875,\"64,858,150.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-53,4IMPRINT GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006640972,ORD GBP0.38461538                       ,FOUR,422.4332,\"26,402,075.00\",Consumer Services,Media,Media,Media Agencies,5555,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-11,600 GROUP                          ,GB,AIM,,GB0008121641,ORD GBP0.01                             ,SIXH ,9.914005915,\"104,357,957.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-14,7DIGITAL GROUP PLC                 ,GB,AIM,,GB00BMH46555,ORD GBP0.1                              ,7DIG ,7.2344698125,\"115,751,517.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Feb-12,88 ENERGY LTD                      ,AU,AIM,,AU00000088E2,NPV(DI)                                 ,88E  ,126.4199014975,\"3,889,843,123.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Oct-05,888 HLDGS                          ,GI,International Main Market,Premium Equity Commercial Companies,GI000A0F6407,ORD GBP0.005                            ,888 ,761.32786806,\"349,232,967.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,SET3,ON5 ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-14,AA PLC                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMSKPJ95,ORD GBP0.001                            ,AA. ,1637.243130404,\"605,937,502.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-13,AB DYNAMICS PLC                    ,GB,AIM,,GB00B9GQVG73,ORD GBP0.01                             ,ABDP ,81.7170588,\"17,764,578.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-04,ABBEY PLC                          ,IE,AIM,,IE0000020408,ORD EUR0.32                             ,ABBY ,226.55325625,\"21,525,250.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-78,ABBOTT LABORATORIES                ,US,International Main Market,Standard Shares,US0028241000,NPV                                     ,ABT ,68787.9351139773,\"2,120,657,659.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Supplies,4537,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n3-Nov-05,ABCAM                              ,GB,AIM,,GB00B6774699,ORD GBP0.002                            ,ABC  ,1444.519899295,\"199,106,809.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-05,ABERDEEN ASIAN INCOME FUND         ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0P6J834,ORD NPV                                 ,AAIF,353.82063405,\"181,446,479.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-95,ABERDEEN ASIAN SMALLER CO INV TST  ,GB,UK Main Market,Standard Debt,GB00B7ZMLM88,3.5% CNV UNSEC LN STK 31/5/19 GBP       ,AASC,311.9527713375,\"35,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-95,ABERDEEN ASIAN SMALLER CO INV TST  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000100767,GBP0.25                                 ,AAS ,311.9527713375,\"32,673,765.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-91,ABERDEEN ASSET MANAGEMENT PLC      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000031285,ORD GBP0.10                             ,ADN ,4082.009177652,\"1,273,240,542.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n10-Nov-09,ABERDEEN EMERGING MKTS INV CO LTD  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B45L2K95,ORD GBP0.01                             ,AEMC,358.0061985,\"75,369,726.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-07,ABERDEEN FRONTIER MKTS INV CO LTD  ,GG,AIM,,GG00B1W59J17,ORD NPV                                 ,AFMC ,103.79425,\"169,460,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Oct-98,ABERDEEN JAPAN INVESTMENT TRUST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003920757,ORD GBP0.10                             ,AJIT,69.85798992,\"14,374,072.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Aug-10,ABERDEEN LATIN AMERICAN INCOME FD  ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B44ZTP62,ORD NPV                                 ,ALAI,42.77180024,\"64,197,824.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n3-Sep-13,ABERDEEN NEW DAWN INVESTMENT TST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BBM56V29,GBP0.05                                 ,ABD ,241.61961225,\"132,032,575.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-89,ABERDEEN NEW THAI INVESTMENT TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000059971,GBP0.25                                 ,ANW ,83.0510328375,\"17,383,785.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-07,ABERDEEN PRIVATE EQUITY FUND LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1XCHB94,PARTICIPATING SHS NPV GBP               ,APEF,109.54044099625,\"109,131,199.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n28-Aug-92,ABERDEEN SMALLER COS INC TST PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008063728,ORD GBP0.50                             ,ASCI,43.4715,\"21,900,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Aug-90,ABERDEEN UK TRACKER TRUST PLC      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005596985,GBP0.10                                 ,AUKT,312.7602255975,\"99,525,927.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-10,ABERFORTH GEARED INCOME TRUST PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4TR3444,ORD GBP0.01                             ,AGIT,257.064375,\"109,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-10,ABERFORTH GEARED INCOME TRUST PLC  ,GB,UK Main Market,Standard Shares,GB00B4WLXD25,ZERO DIV PREF SHS GBP0.01               ,AGIZ,257.064375,\"30,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-90,ABERFORTH SMALLER COMPANIES TRUST  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000066554,ORD GBP0.01                             ,ASL ,975.48881552,\"94,615,792.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-14,ABZENA LTD                         ,GB,AIM,,GB00BN65QN46,ORD GBP0.002                            ,ABZA ,57.87014965,\"136,165,058.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-10,ACACIA MINING PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B61D2N63,ORD GBP0.10                             ,ACA ,1889.263893893,\"410,085,499.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-94,ACAL                               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000055888,ORD GBP0.05                             ,ACL ,165.8406724,\"63,784,874.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-05,ACCESS INTELLIGENCE                ,GB,AIM,,GB0033835264,ORD GBP0.005                            ,ACC  ,14.49796556625,\"282,887,133.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-02,ACCESSO TECHNOLOGY GRP PLC         ,GB,AIM,,GB0001771426,ORD GBP0.01                             ,ACSO ,331.958601,\"21,347,820.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-16,ACCROL GROUP HLDGS PLC             ,GB,AIM,,GB00BZ6VT592,ORD GBP0.001                            ,ACRL ,117.66018253,\"93,012,002.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Nondurable Household Products,3724,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-05,ACCSYS TECHNOLOGIES                ,GB,AIM,,GB00BQQFX454,EUR0.05                                 ,AXS  ,63.892234515,\"90,627,283.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMU,AIMM,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-07,ACENCIA DEBT STRATEGIES LTD        ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0MSB420,ORD NPV                                 ,ACD ,120.37773155305,\"111,768,949.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,USD,,,,,,,,,,,,,,,,,,\r\n2-Nov-95,ACER INC                           ,TW,PSM,Standard GDRs,US0044342055,GDR EACH REPR 5 ORD TWD10 REG'S'(CIT)   ,ACID,0,\"10,800,000.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n2-Nov-95,ACER INC                           ,TW,PSM,Standard GDRs,US0044341065,GDR EACH REPR 5 ORD TWD10'144A'(CIT)    ,ACIA,0,0.00,Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n11-Feb-99,ACORN INCOME FUND                  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004829437,ORD GBP0.01                             ,AIF ,66.771881085,\"18,848,802.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-12,ACORN MINERALS PLC                 ,GB,UK Main Market,Standard Shares,GB00B6QZLQ32,ORD GBP0.02                             ,ACO ,1.91102066875,\"14,288,005.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-13,ACTION HOTELS PLC                  ,JE,AIM,,JE00BFZD1492,ORD GBP0.1                              ,AHCG ,83.415015175,\"147,637,195.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Mar-98,ACTIVE ENERGY GROUP PLC            ,GB,AIM,,GB00B1YMN108,ORD GBP0.01                             ,AEG  ,19.1239561065,\"721,658,721.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Feb-14,ACTUAL EXPERIENCE PLC              ,GB,AIM,,GB00BJ05QC14,ORD GBP0.002                            ,ACT  ,99.41359195,\"37,514,563.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Feb-14,ADAMAS FINANCE ASIA LTD            ,VG,AIM,,VGG008271162,NPV(DI)                                 ,ADAM ,65.8099637697958,\"191,967,084.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n26-Jul-05,ADAMS PLC                          ,IM,AIM,,IM00B986V543,ORD EUR0.01                             ,ADA  ,2.97542595105832,\"41,276,616.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,EUR,,,,,,,,,,,,,,,,,,\r\n15-Feb-06,ADEPT TELECOM                      ,GB,AIM,,GB00B0WY3Y47,ORD GBP0.10                             ,ADT  ,55.986670575,\"22,620,877.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Feb-06,ADEPT4 PLC                         ,GB,AIM,,GB00B8GRBX01,ORD GBP0.01                             ,PINN ,17.881376625,\"227,065,100.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-15,ADGORITHMS LTD                     ,IL,AIM,,IL0011354904,ORD ILS0.01 (DI)                        ,ADGO ,11.10579354,\"61,698,853.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Sep-04,ADMIRAL GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B02J6398,ORD GBP0.001                            ,ADM ,5562.0361585,\"271,318,837.00\",Financials,Insurance,Nonlife Insurance,Insurance Brokers,8534,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-02,ADVANCED MEDICAL SOLUTIONS GROUP   ,GB,AIM,,GB0004536594,ORD GBP0.05                             ,AMS  ,453.76473438,\"204,398,529.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Supplies,4537,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n4-Aug-06,ADVANCED ONCOTHERAPY PLC           ,GB,AIM,,GB00BD6SX109,ORD GBP0.25                             ,AVO  ,71.71204042,\"58,780,361.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-00,ADVFN                              ,GB,AIM,,GB00BPT24C10,ORD GBP0.002                            ,AFN  ,7.43091534,\"25,623,846.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-04,AEC EDUCATION                      ,GB,AIM,,GB00B04XB679,ORD GBP0.05                             ,AEC  ,1.041690819,\"80,130,063.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-38,AECI                               ,ZA,International Main Market,Standard Shares,ZAE000000238,5.5% CUM PRF ZAR2                       ,87FZ,0,\"3,000,000.00\",,,,,7,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n1-May-02,AEOREMA COMMUNICATIONS PLC         ,GB,AIM,,GB00B4QHH456,ORD GBP0.125                            ,AEO  ,2.941256175,\"9,050,019.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-15,AEW UK REIT PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BWD24154,ORD GBP0.01                             ,AEWU,209.8346240375,\"218,009,999.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-10,AFARAK GROUP PLC                   ,FI,International Main Market,Standard Shares,FI0009800098,NPV (DI)                                ,AFRK,85.488225875,\"263,040,695.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-07,AFC ENERGY PLC                     ,GB,AIM,,GB00B18S7B29,ORD GBP0.001                            ,AFC  ,68.20306746,\"310,013,943.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-14,AFH FINANCIAL GROUP PLC            ,GB,AIM,,GB00B4W5WQ08,ORD GBP0.10                             ,AFHP ,39.170872,\"24,105,152.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-07,AFI DEVELOPMENT PLC                ,CY,International Main Market,Standard GDRs,US00106J2006,GDR EACH REPR 1 ORD 'REGS'              ,AFID,69.3389034610979,\"110,000,000.00\",,,,,8733,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n11-May-07,AFI DEVELOPMENT PLC                ,CY,International Main Market,Standard GDRs,US00106J1016,GDR EACH REPR 1 ORD '144A'              ,53GI,69.3389034610979,0.00,,,,,8733,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n11-May-07,AFI DEVELOPMENT PLC                ,CY,International Main Market,Premium Equity Commercial Companies,CY0101380612,ORD USD0.001 B                          ,AFRB,69.3389034610979,\"523,847,027.00\",,,,,8733,SET3,ON10,USD,,,,,,,,,,,,,,,,,,\r\n17-Apr-14,AFRICA OPPORTUNITY FUND LTD        ,KY,International Main Market,,KYG012921121,ORD USD0.1 C                            ,AOFC,67.0936836791137,\"100,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM3,SFNC,USD,,,,,,,,,,,,,,,,,,\r\n17-Apr-14,AFRICA OPPORTUNITY FUND LTD        ,KY,International Main Market,,KYG012921048,ORD USD0.01                             ,AOF ,67.0936836791137,\"42,630,327.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM3,SFNC,USD,,,,,,,,,,,,,,,,,,\r\n22-Feb-13,AFRICAN POTASH LIMITED             ,GG,AIM,,GG00B4QYTJ50,ORD NPV                                 ,AFPO ,2.8891309135,\"888,963,358.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-14,AGGREGATED MICRO POWER HLDGS PLC   ,GB,AIM,,GB00BC4F3V69,ORD GBP0.005                            ,AMPH ,21.21108632,\"31,192,774.00\",Utilities,Utilities,Electricity,Alternative Electricity,7537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-May-14,AGGREKO                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BK1PTB77,ORD GBP0.048329113924                   ,AGK ,2609.94636819,\"256,128,201.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n5-Feb-09,AGRITERRA LTD                      ,GG,AIM,,GB00B05MGT12,ORD GBP0.001                            ,AGTA ,2.6014552711,\"1,061,818,478.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-04,AIR CHINA                          ,CN,International Main Market,Standard Shares,CNE1000001S0,'H'CNY1                                 ,AIRC,1611.28752033957,\"3,383,532,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-95,AIR PARTNER PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000115302,GBP0.05                                 ,AIR ,43.39578093875,\"10,189,793.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-05,AIREA PLC                          ,GB,AIM,,GB0008123027,ORD GBP0.25                             ,AIEA ,9.1328848625,\"46,242,455.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-02,AKERS BIOSCIENCES INC              ,US,AIM,,US00973E1029,NPV                                     ,AKR  ,6.284763375,\"2,591,655.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Supplies,4537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-05,ALBA MINERAL RESOURCES             ,GB,AIM,,GB00B06KBB18,ORD GBP0.001                            ,ALBA ,3.2721217694,\"1,487,328,077.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jan-99,ALBION DEVELOPMENT VCT PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004832472,ORD GBP0.01                             ,AADV,44.1018337875,\"65,578,935.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-07,ALBION ENTERPRISE VCT PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1G3LR35,ORD GBP0.01                             ,AAEV,42.367434195,\"47,872,807.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jan-01,ALBION TECHNOLOGY & GENERAL VCT PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005581672,ORD GBP0.01                             ,AATG,60.24786023,\"91,981,466.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,ALBION VENTURE CAPITAL TST PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002039625,ORD GBP0.01                             ,AAVC,43.279195505,\"65,081,497.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Mar-12,ALCENTRA EUROPEAN FLTG RTE INC FD  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B6116N85,RED ORD NPV GBP                         ,AEFS,192.931495575,\"197,878,457.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n13-Mar-15,ALDERMORE GROUP PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BQQMCJ47,ORD GBP0.10                             ,ALD ,563.64921984,\"344,739,584.00\",Financials,Banks,Banks,Banks,8355,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-06,ALECTO MINERALS PLC                ,GB,AIM,,GB00B5SCHP68,ORD GBP0.0001                           ,ALO  ,4.6959305925,\"4,472,314,850.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-05,ALEXANDER MINING                   ,GB,AIM,,GB00B06K1665,ORD GBP0.001                            ,AXM  ,2.434599693,\"901,703,590.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-13,ALL ASIA ASSET CAP LTD             ,VG,AIM,,VGG017801082,ORD NPV (DI)                            ,AAA  ,26.603259,\"212,826,072.00\",Financials,Financial Services,Financial Services,Investment Services,8777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-04,ALLERGY THERAPEUTICS               ,GB,AIM,,GB00B02LCQ05,ORD GBP0.001                            ,AGY  ,111.63425224625,\"591,439,747.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-15,ALLIANCE PHARMA                    ,GB,AIM,,GB0031030819,ORD GBP0.01                             ,APH  ,231.3106404375,\"469,666,275.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jul-47,ALLIANCE TRUST                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B11V7W98,ORD GBP0.025                            ,ATST,2932.734450995,\"514,966,541.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-95,ALLIANZ TECHNOLOGY TRUST PLC       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003390720,ORD GBP0.25                             ,ATT ,189.063373525,\"25,292,759.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jun-14,ALLIED MINDS LTD                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLRLH124,ORD GBP0.01                             ,ALM ,692.794330256,\"213,298,747.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-99,ALPHA BANK AE                      ,GR,International Main Market,Standard GDRs,US02071M6066,GDR EACH REP 0.25 SHS 144A              ,01NX,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n9-Jun-99,ALPHA BANK AE                      ,GR,International Main Market,Standard GDRs,US02071M7056,GDR EACH REP 0.25 SHS REG S             ,ACBD,0,160.00,Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n9-Jun-99,ALPHA BANK AE                      ,GR,International Main Market,Standard GDRs,US02071M4087,GDR EACH REP 0.25 OF 1 ORD REG'S(EUR)   ,ACBE,0,0.00,Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n29-Nov-05,ALPHA PYRENEES TRUST               ,GG,UK Main Market,Standard Shares,GB00B0P6FY18,ORD NPV                                 ,ALPH,0.1156,\"115,600,000.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-12,ALPHA REAL TRUST LTD               ,GG,UK Main Market,,GB00B13VDP26,ORD NPV                                 ,ARTL,42.64491055,\"45,609,530.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-04,ALPHA RETURNS GRP PLC              ,GB,AIM,,GB00B7FD9168,ORD GBP0.0001                           ,ARGP ,2.60151520875,\"693,737,389.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-04,ALTERNATIVE ASSET OPPORTUNITIES    ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0034353424,RED PTG PRF US TRADED LIFE INTERESTS    ,TLI ,30.06,\"72,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Sep-15,ALTERNATIVE LIQUIDITY FUND LTD     ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYRGPD65,ORD USD0.01                             ,ALF ,15.5988585758064,\"144,961,273.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,USD,,,,,,,,,,,,,,,,,,\r\n18-Feb-05,ALTERNATIVE NETWORKS               ,GB,AIM,,GB00B05KXX82,ORD GBP0.00125                          ,AN.  ,145.91504178,\"48,316,239.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n31-Dec-01,ALTIN AG                           ,CH,International Main Market,Standard Shares,CH0014424524,CHF17(REGD)                             ,AIA ,189.747513383309,\"3,922,383.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSX3,SQSL,USD,,,,,,,,,,,,,,,,,,\r\n7-Nov-05,ALTITUDE GROUP PLC                 ,GB,AIM,,GB00B0LSFV82,ORD GBP0.004                            ,ALT  ,9.4049703,\"42,749,865.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-05,ALTONA ENERGY PLC                  ,GB,AIM,,GB00B06GJT32,ORD GBP0.001                            ,ANR  ,3.40704162525,\"801,656,853.00\",Basic Materials,Basic Resources,Mining,Coal,1771,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-May-86,ALUMASC GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000280353,GBP0.125                                ,ALU ,58.76834384,\"35,834,356.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-10,ALUMINIUM BAHRAIN BSC              ,BH,International Main Market,Standard GDRs,US0222082010,GDR EACH REPR 5 SHS REG'S               ,ALBH,127.98576,\"60,000,000.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Aluminum,1753,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n3-Aug-04,AMATI VCT 2 PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B641BB82,ORD GBP0.05                             ,AT2 ,39.6815237,\"34,884,856.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-05,AMATI VCT PLC                      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B05N8X20,ORD GBP0.10                             ,ATI ,43.9890983375,\"66,398,639.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-15,AMBRIAN PLC                        ,GB,AIM,,GB0003763140,ORD GBP0.01                             ,AMBR ,9.297894125,\"286,089,050.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-82,AMEC FOSTER WHEELER PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000282623,ORD GBP0.50                             ,AMFW,2111.6658781,\"390,326,410.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-May-15,AMEDEO AIR FOUR PLUS LTD           ,GG,UK Main Market,,GG00BWC53H48,ORD RED NPV                             ,AA4 ,563.29875,\"544,250,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-04,AMEDEO RESOURCES PLC               ,GB,AIM,,GB00BZ0XVY42,GBP0.1                                  ,AMED ,3.91846116,\"32,653,843.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-11,AMERICAN MEDICAL INTERNATIONAL INC ,US,International Main Market,,,,,0,,,,,,6,,,,,,,,,,,,,,,,,,,,,\r\n16-Nov-04,AMERISUR RESOURCES PLC             ,GB,AIM,,GB0032087826,ORD GBP0.001                            ,AMER ,329.26867558,\"1,266,417,983.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-05,AMIAD WATER SYSTEMS LTD            ,IL,AIM,,IL0010943905,ORD ILS0.50                             ,AFS  ,33.287859,\"22,568,040.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-95,AMINEX                             ,IE,International Main Market,Premium Equity Commercial Companies,IE0003073255,ORD EUR0.001                            ,AEX ,61.870967134,\"3,475,897,030.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-04,AMINO TECHNOLOGIES                 ,GB,AIM,,GB00B013SN63,ORD GBP0.01                             ,AMO  ,106.3576008,\"72,106,848.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Aug-05,AMPHION INNOVATIONS PLC            ,IM,AIM,,GB00B0DJNP99,ORD GBP0.01                             ,AMP  ,6.6490520625,\"197,008,950.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-16,AMRYT PHARMA PLC                   ,GB,AIM,,GB00BDD1LS57,ORD GBP0.01                             ,AMYT ,39.58452989,\"208,339,631.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-04,AMTEK AUTO                         ,IN,International Main Market,Standard GDRs,US03233Q1058,GDR EACH REPR 2 ORD INR2 'REGS          ,AMKD,0,\"9,415,000.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n15-Mar-06,AMUR MINERALS CORP                 ,VG,AIM,,VGG042401007,ORD NPV                                 ,AMC  ,23.002748483,\"643,433,524.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Oct-91,ANA HLDGS INC                      ,JP,International Main Market,Standard Shares,JP3429800000,NPV                                     ,ANA ,6521.07302246397,\"3,144,209,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SSX4,SXSN,JPY,,,,,,,,,,,,,,,,,,\r\n16-May-16,ANDALAS ENERGY & POWER PLC         ,IM,AIM,,IM00B1FPZP63,ORD NPV                                 ,ADL  ,4.674689953125,\"2,493,167,975.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-07,ANDES ENERGIA PLC                  ,GB,AIM,,GB00B7LHJ340,ORD GBP0.10                             ,AEN  ,90.8257203,\"605,504,802.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-01,ANDREWS SYKES GROUP                ,GB,AIM,,GB0002684552,ORD GBP0.01                             ,ASY  ,142.63452675,\"42,262,082.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-04,ANGLE PLC                          ,GB,AIM,,GB0034330679,ORD GBP0.10                             ,AGL  ,42.51200327,\"70,267,774.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-88,ANGLESEY MINING                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000320472,ORD GBP0.01                             ,AYM ,2.569728816,\"160,608,051.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-15,ANGLO AFRICAN AGRICULTURE PLC      ,GB,UK Main Market,Standard Shares,GB00B7V2GY97,ORD GBP0.001                            ,AAAP,0.6168248125,\"94,896,125.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-99,ANGLO AMERICAN                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1XZS820,ORD USD0.54945                          ,AAL ,10959.818658936,\"1,405,465,332.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET0,FS00,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-05,ANGLO ASIAN MINING PLC             ,GB,AIM,,GB00B0C18177,ORD GBP0.01                             ,AAZ  ,17.88493756,\"112,661,024.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-96,ANGLO PACIFIC GROUP                ,GB,UK Main Market,Standard Shares,GB0006449366,ORD GBP0.02                             ,APF ,157.4758344,\"165,328,960.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-85,ANGLO-EASTERN PLANTATIONS          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000365774,GBP0.25                                 ,AEP ,185.48990208,\"39,976,272.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jan-08,ANIMALCARE GROUP PLC               ,GB,AIM,,GB0032350695,ORD GBP0.20                             ,ANCR ,54.0854016,\"21,127,110.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Nov-06,ANPARIO PLC                        ,GB,AIM,,GB00B3NWT178,ORD GBP0.23                             ,ANP  ,54.86294625,\"20,900,170.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-82,ANTOFAGASTA                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000456144,ORD GBP0.05                             ,ANTO,4878.333070165,\"985,856,695.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-82,ANTOFAGASTA                        ,GB,UK Main Market,Standard Shares,GB0000455849,5% CUM PRF GBP1                         ,70GD,4878.333070165,\"2,000,000.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-03,ANTRIM ENERGY INC                  ,CA,AIM,,CA0372431027,COM NPV                                 ,AEY  ,4.618275,\"184,731,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-14,AO WORLD PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJTNFH41,ORD GBP0.0025                           ,AO. ,736.84210425,\"421,052,631.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-02,AORTECH INTERNATIONAL              ,GB,AIM,,GB0033360586,ORD GBP0.05                             ,AOR  ,1.5561546,\"5,557,695.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-15,APAX GLOBAL ALPHA LTD              ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BWWYMV85,ORD NPV                                 ,APAX,611.42045616,\"491,100,768.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-02,APC TECHNOLOGY GROUP PLC           ,GB,AIM,,GB0000373984,ORD GBP0.02                             ,APC  ,11.1774495,\"127,742,280.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jun-15,APPLEGREEN PLC                     ,IE,AIM,,IE00BXC8D038,EUR0.01(GBP)                            ,APGN ,311.986869845,\"80,721,053.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Nov-13,APPLIED GRAPHENE MATERIALS PLC     ,GB,AIM,,GB00BFSSB742,ORD GBP0.02                             ,AGM  ,33.609101375,\"22,038,755.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Aug-16,APQ GLOBAL LTD                     ,GG,AIM,,GG00BZ6VP173,ORD NPV                                 ,APQ  ,81.567475,\"78,055,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-06,AQUA BOUNTY TECHNOLOGIES INC       ,US,AIM,,US03842K1016,USD0.001 (DI)                           ,ABTU ,48.80184579,\"157,425,309.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Feb-15,AQUATIC FOODS GROUP PLC            ,JE,AIM,,JE00BQQG1J93,ORD NPV                                 ,AFG  ,16.98391215,\"113,226,081.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Aug-15,AQUILA SERVICES GROUP PLC          ,GB,UK Main Market,Standard Shares,GB00BPYP3Q26,ORD GBP0.05                             ,AQSG,14.51086616,\"32,608,688.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-97,ARAB POTASH CO                     ,JO,International Main Market,Standard GDRs,US0384601011,ADR EACH REPR 1 ORD JOD1 144A(BNY)      ,88KZ,0,0.00,Basic Materials,Chemicals,Chemicals,Commodity Chemicals,1353,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n15-Dec-97,ARAB POTASH CO                     ,JO,International Main Market,Standard GDRs,US0384602001,ADR EACH REPR 1 ORD JOD1 REG'S'         ,APOD,0,\"7,000,000.00\",Basic Materials,Chemicals,Chemicals,Commodity Chemicals,1353,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n27-Jun-05,ARBUTHNOT BANKING GROUP PLC        ,GB,AIM,,GB0007922338,ORD GBP0.01                             ,ARBB ,238.3574232,\"15,279,322.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-00,ARCONTECH GROUP PLC                ,GB,AIM,,GB0003353371,ORD GBP0.001                            ,ARC  ,6.7770202632,\"1,540,231,878.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-06,ARDEN PARTNERS PLC                 ,GB,AIM,,GB00B15CTY44,ORD GBP0.10                             ,ARDN ,6.12733056,\"23,566,656.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-08,ARGO GROUP LTD                     ,IM,AIM,,IM00B2RDSS92,ORD USD0.01                             ,ARGO ,6.8271350175,\"67,428,494.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-10,ARGOS RESOURCES LTD                ,FK,AIM,,FK0114538241,ORD GBP0.02 (DI)                        ,ARG  ,9.88692705,\"219,709,490.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-May-06,ARIAN SILVER CORP                  ,VG,AIM,,VGG0472G1147,ORD NPV(DI)                             ,AGQ  ,1.6024564325,\"183,137,878.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-05,ARIANA RESOURCES                   ,GB,AIM,,GB00B085SD50,ORD GBP0.001                            ,AAU  ,15.147752202,\"841,541,789.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-98,ARM HLDGS                          ,GB,UK Main Market,,,,,23017.97,,Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,,,,,,,,,,,,,,,,,,,,,\r\n13-Feb-06,ARMADALE CAPITAL PLC               ,GB,AIM,,GB00BYMSY631,ORD GBP0.001                            ,ACP  ,3.4312942575,\"152,501,967.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-13,ARRIA NLG PLC                      ,GB,AIM,,GB00BGDFLX36,WTS (TO SUB FOR ORD)                    ,NLGW ,18.221687195,\"9,804,283.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-13,ARRIA NLG PLC                      ,GB,AIM,,GB00BGDFBC25,ORD GBP0.001                            ,NLG  ,18.221687195,\"123,399,360.00\",Technology,Technology,Software & Computer Services,Software,9537,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n12-Sep-13,ARRICANO REAL ESTATE PLC           ,CY,AIM,,CY0102941610,ORD EUR0.0005 (DI)                      ,ARO  ,33.4362955887194,\"103,270,637.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n11-Oct-13,ARROW GLOBAL GRP PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BDGTXM47,ORD GBP0.01                             ,ARW ,450.05268708,\"174,439,026.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-98,ARTEMIS ALPHA TRUST                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004355946,ORD  GBP0.01                            ,ATS ,101.402001965,\"42,589,063.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-98,ARTEMIS ALPHA TRUST                ,GB,UK Main Market,Standard Shares,GB00B5SLGR82,SUBSCRIPTION SHS GBP0.01                ,ATSS,101.402001965,\"6,894,338.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-04,ARTEMIS VCT PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B02WQ947,ORD GBP0.1                              ,AAM ,32.32536899,\"54,788,761.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jan-07,ARTILIUM PLC                       ,GB,AIM,,GB00B1L7NQ30,ORD GBP0.05                             ,ARTA ,16.58278058,\"288,396,184.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-05,ASA RESOURCE GROUP PLC             ,GB,AIM,,GB00B0GN3470,ORD GBP0.01                             ,ASA  ,21.0435345125,\"1,683,482,761.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Nov-04,ASCENT RESOURCES                   ,GB,AIM,,GB00BZ16J374,ORD GBP0.002                            ,AST  ,8.087096928,\"634,282,112.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Feb-16,ASCENTIAL PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYM8GJ06,ORD GBP0.01                             ,ASCL,1061.437625,\"400,542,500.00\",Consumer Services,Media,Media,Media Agencies,5555,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-07,ASEANA PROPERTIES LTD              ,JE,UK Main Market,Standard Shares,JE00B1RZDJ41,ORD USD0.05                             ,ASPL,71.8785740474998,\"212,025,000.00\",,,,,8733,SSX3,SQSL,USD,,,,,,,,,,,,,,,,,,\r\n15-Jan-07,ASHLEY HOUSE PLC                   ,GB,AIM,,GB00B1KKCZ55,ORD GBP0.01                             ,ASH  ,4.2746837375,\"58,961,155.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-85,ASHLEY(LAURA)HLDGS                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000533728,ORD GBP0.05                             ,ALY ,162.23818188,\"729,160,368.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-16,ASHMORE GLOBAL OPPORTUNITIES LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYV0R619,ORD NPV GBP                             ,AGOL,31.9123240457087,\"2,968,044.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBP,,,,,,,,,,,,,,,,,,\r\n27-Apr-16,ASHMORE GLOBAL OPPORTUNITIES LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYV0RC73,ORD NPV USD                             ,AGOU,31.9123240457087,\"7,467,648.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,USD,,,,,,,,,,,,,,,,,,\r\n17-Oct-06,ASHMORE GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B132NW22,ORD GBP0.0001                           ,ASHM,2488.536360014,\"707,372,473.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-95,ASHOK LEYLAND                      ,IN,PSM,Standard GDRs,USY0266N1192,GDR-EACH REPR 3 INR1(REG S)             ,AKLD,0,\"10,771,908.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n22-Mar-95,ASHOK LEYLAND                      ,IN,PSM,Standard GDRs,US0448231029,GDR-EACH REPR 3 INR1(144A)              ,AKLS,0,0.00,Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n6-Dec-85,ASHPOL                             ,GB,UK Main Market,Standard Shares,GB0000201946,10% CUM PRF GBP1                        ,BC24,0,\"1,061,750.00\",,,,,7,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-90,ASHTEAD GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000536739,ORD GBP0.10                             ,AHT ,6347.22882035,\"501,757,219.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n16-Sep-96,ASIA CEMENT CORP                   ,TW,PSM,Standard GDRs,US04515P1049,GDR EACH REPR 10 SHS '144A'             ,ASCD,59.1233929907038,\"6,521,688.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n13-Dec-06,ASIAMET RESOURCES LTD              ,BM,AIM,,BM04521V1038,USD0.01(DI)                             ,ARS  ,14.01714378,\"622,984,168.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-05,ASIAN CITRUS HLDGS                 ,BM,AIM,,BMG0620W2019,ORD HKD0.01                             ,ACHL ,67.4293703775,\"1,254,499,914.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-06,ASIAN GROWTH PROPERTIES            ,VG,AIM,,VGG054341083,ORD USD0.05 (DI)                        ,AGP  ,367.83434198,\"886,347,812.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Nov-87,ASIAN TOTAL RETURN INVEST CO PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008710799,ORD GBP0.05                             ,ATR ,369.1359312,\"146,192,448.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-01,ASOS                               ,GB,AIM,,GB0030927254,ORD GBP0.035                            ,ASC  ,3779.3732922,\"83,429,874.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n30-Mar-07,ASSETCO PLC                        ,GB,AIM,,GB00B42VYZ16,ORD GBP0.10                             ,ASTO ,47.6282157,\"12,212,363.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-37,ASSOCIATED BRITISH ENGINEERING     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007395642,ORD GBP0.025                            ,ASBE,1.024495,\"2,048,990.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-94,ASSOCIATED BRITISH FOODS           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006731235,ORD GBP0.05681                          ,ABF ,24084.72,\"792,000,000.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jan-15,ASSURA PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVGBWW93,ORD GBP0.10                             ,AGR ,960.44649831,\"1,641,788,886.00\",Financials,Real Estate,Real Estate Investment Trusts,Specialty REITs,8675,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-93,ASTRAZENECA PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009895292,ORD USD0.25                             ,AZN ,60270.45588705,\"1,227,754,245.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-05,ATALAYA MINING PLC                 ,CY,AIM,,CY0106002112,ORD GBP0.075                            ,ATYM ,90.426655125,\"116,679,555.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Sep-08,ATHELNEY TRUST                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000609296,ORD GBP0.25                             ,ATY ,4.42365605,\"2,157,881.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-96,ATKINS(WS)                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000608009,ORD GBP0.005                            ,ATK ,1497.5234404,\"100,168,792.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n10-May-96,ATLANTIS JAPAN GROWTH FUND         ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B61ND550,ORD NPV                                 ,AJG ,126.30585744,\"85,922,352.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Feb-14,ATLANTIS RESOURCES LTD             ,SG,AIM,,SG9999011118,ORD NPV (DI)                            ,ARL  ,83.03919807,\"116,956,617.00\",Oil & Gas,Oil & Gas,Alternative Energy,Renewable Energy Equipment,583,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-14,ATLAS AFRICAN INDUSTRIES LTD       ,GG,AIM,,GG00B9B3DY50,ORD NPV                                 ,ADSS ,2.94593036355,\"2,561,678,577.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-13,ATLAS MARA LTD                     ,VG,International Main Market,Standard Shares,VGG0697K1066,ORD NPV (DI)                            ,ATMA,240.496780362044,\"103,683,948.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMU,SMEV,USD,,,,,,,,,,,,,,,,,,\r\n20-Dec-13,ATLAS MARA LTD                     ,VG,International Main Market,Standard Misc Securities,VGG0697K1140,WTS (TO SUB FOR ORD) (DI)               ,ATMW,240.496780362044,\"32,529,500.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSX3,SQSL,USD,,,,,,,,,,,,,,,,,,\r\n19-Aug-14,ATTRAQT GROUP PLC                  ,GB,AIM,,GB00BMJJFZ18,ORD GBP0.01                             ,ATQT ,10.9116477,\"26,942,340.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-14,AUCTUS GROWTH PLC                  ,GB,UK Main Market,Standard Shares,GB00BNGMVP25,ORD GBP0.1                              ,AUCT,1.912734585,\"4,608,999.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQCL,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-14,AUDIOBOOM GRP PLC                  ,JE,AIM,,JE00B5NFKB77,ORD NPV(POST REORG)                     ,BOOM ,17.5131532125,\"636,841,935.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-04,AUGEAN                             ,GB,AIM,,GB00B02H2F76,ORD GBP0.10                             ,AUG  ,49.4517531,\"102,490,680.00\",Industrials,Industrial Goods & Services,Support Services,Waste & Disposal Services,2799,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-06,AUKETT SWANKE GROUP PLC            ,GB,AIM,,GB0000617950,ORD GBP0.01                             ,AUK  ,6.443332428,\"165,213,652.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-11,AUREUS MINING INC                  ,CA,AIM,,CA0515471070,ORD NPV (DI)                            ,AUE  ,35.29836059,\"1,227,769,064.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-97,AURORA INVESTMENT TRUST            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000633262,ORD GBP0.25                             ,ARR ,26.996095,\"16,411,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Feb-05,AURUM MINING                       ,GB,AIM,,GB00B00T3528,ORD GBP0.01                             ,AUR  ,1.74306286,\"174,306,286.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-16,AUTINS GROUP PLC                   ,GB,AIM,,GB00BD37ZH08,ORD GBP0.02                             ,AUTG ,45.8595418,\"22,100,984.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-15,AUTO TRADER GROUP PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVYVFW23,ORD GBP0.01                             ,AUTO,3705.218286315,\"993,089,865.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Aug-06,AVACTA GROUP PLC                   ,GB,AIM,,GB00BYYW9G87,ORD GBP0.1                              ,AVCT ,67.70043918,\"68,384,282.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-May-10,AVANGARDCO INVESTMENTS PUBLIC LTD  ,CY,International Main Market,Standard GDRs,US05349V2097,GDR EACH REPR 0.10 SHARE                ,AVGR,5.71364999999998,\"15,000,000.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n6-Oct-97,AVANTI CAPITAL                     ,GB,AIM,,GB0033869347,ORD GBP0.01                             ,AVA  ,0.64206016,\"8,025,752.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-07,AVANTI COMMUNICATIONS GROUP PLC    ,GB,AIM,,GB00B1VCNQ84,ORD GBP0.01                             ,AVN  ,53.062686,\"147,396,350.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-06,AVARAE GLOBAL COINS PLC            ,IM,AIM,,GB00B137SQ61,ORD GBP0.01                             ,AVR  ,10.10726075,\"80,858,086.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-10,AVATION PLC                        ,GB,UK Main Market,Standard Shares,GB00B196F554,ORD GBP0.01                             ,AVAP,74.22378392,\"51,904,744.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-07,AVESCO GROUP PLC                   ,GB,AIM,,GB0000653229,ORD GBP0.10                             ,AVS  ,47.88160375,\"20,954,750.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-96,AVEVA GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BBG9VN75,ORD GBP0.03555                          ,AVV ,1218.754533,\"63,943,050.00\",Technology,Technology,Software & Computer Services,Software,9537,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-04,AVINGTRANS PLC                     ,GB,AIM,,GB0009188797,ORD GBP0.05                             ,AVG  ,54.301749605,\"27,775,831.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-90,AVIVA                              ,GB,UK Main Market,Standard Shares,GB0002124963,8.75% CUM IRRD PRF GBP1                 ,AV.A,17459.9242274,\"100,000,000.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-90,AVIVA                              ,GB,UK Main Market,Standard Shares,GB0002114154,8.375% CUM IRRD PRF GBP1                ,AV.B,17459.9242274,\"100,000,000.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-90,AVIVA                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002162385,ORD GBP0.25                             ,AV. ,17459.9242274,\"4,004,242,350.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-11,AVOCET MINING                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BZBVR613,ORD GBP0.01                             ,AVM ,20.1640583375,\"20,949,671.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-49,AVON RUBBER                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000667013,ORD GBP1                                ,AVON,255.942159,\"31,023,292.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-05,AXA PROPERTY TRUST                 ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BD5J7902,ORD NPV                                 ,APT ,32.53127055,\"57,577,470.00\",,,,,8737,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-15,AXIOM EUROPEAN FINCL DEBT FUND LTD ,GG,UK Main Market,,GG00BTC2K735,ORD NPV                                 ,AXI ,51.67564479,\"54,683,222.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-05,AXIS BANK LTD                      ,IN,PSM,Standard GDRs,US05462W1099,GDR EACH REPR 5 SHS REG S               ,AXB ,0,\"414,263,038.00\",Financials,Banks,Banks,Banks,8355,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n22-Mar-05,AXIS BANK LTD                      ,IN,PSM,Standard GDRs,US05462W3079,GDR EACH REPR 5 SHS 144A                ,AXBA,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n17-Jun-14,B & M EUROPEAN VALUE RETAIL SA     ,LU,International Main Market,Premium Equity Commercial Companies,LU1072616219,ORD GBP0.1 (DI)                         ,BME ,2754,\"1,000,000,000.00\",Consumer Services,Retail,General Retailers,Broadline Retailers,5373,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-06,B.P.MARSH & PARTNERS               ,GB,AIM,,GB00B0XLRJ79,ORD GBP0.10                             ,BPM  ,56.85235,\"29,230,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-98,B.S.D CROWN LTD                    ,IL,International Main Market,,IL0010830219,ORD NIS0.01 (DI)                        ,BSD ,0,\"109,990,252.00\",Technology,Technology,Software & Computer Services,Internet,9535,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n5-Mar-98,BAA LYNTON LTD                     ,GB,UK Main Market,Standard Debt,GB0005397640,10.25% 1ST MTG DEB STK 2017 GBP         ,40HK,0,\"30,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n14-Aug-89,BABCOCK INTL GROUP PLC             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009697037,ORD GBP0.60                             ,BAB ,5287.28244318,\"505,476,333.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-14,BACANORA MINERALS LTD              ,CA,AIM,,CA05634Q1054,ORD NPV (DI)                            ,BCN  ,96.00817417,\"107,874,353.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-12,BACIT LTD                          ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B8P59C08,ORD NPV                                 ,BACT,757.933273575,\"590,981,110.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Feb-81,BAE SYSTEMS                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002634946,ORD GBP0.025                            ,BA. ,16899.629124765,\"3,138,278,389.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-14,BAGIR GRP LTD                      ,IL,AIM,,IL0011317216,ORD ILS0.04 (DI)                        ,BAGR ,3.15179125,\"50,428,660.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-10,BAHAMAS PETROLEUM COMPANY PLC      ,IM,AIM,,IM00B3NTV894,ORD GBP0.00002                          ,BPC  ,18.2110906208,\"1,230,479,096.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n9-Aug-04,BAILEY(C.H.)                       ,GB,AIM,,GB00B6SCF932,ORD GBP0.10                             ,BLEY ,8.3700045,\"7,609,095.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-81,BAILLIE GIFFORD JAPAN TRUST        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000485838,ORD GBP0.05                             ,BGFD,352.3062375,\"68,078,500.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-85,BAILLIE GIFFORD SHIN NIPPON        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000706274,GBP0.10                                 ,BGS ,165.16312974,\"30,900,492.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n4-Nov-94,BAJAJ HLDGS & INVESTMENT LTD       ,IN,PSM,Standard GDRs,US0571001090,GDR EACH REPR 1 SHS INR10'144A'         ,BAUA,2204.46136410083,0.00,Financials,Financial Services,Financial Services,Specialty Finance,8775,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n4-Nov-94,BAJAJ HLDGS & INVESTMENT LTD       ,IN,PSM,Standard GDRs,US0571002080,GDR EACH REPR 1 SHS INR10 REG'S'        ,BAUD,2204.46136410083,\"111,295,287.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n28-Apr-10,BAKER STEEL RESOURCES TRUST LTD    ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B6686L20,ORD NPV                                 ,BSRT,35.05803082,\"113,090,422.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-45,BALFOUR BEATTY                     ,GB,UK Main Market,Standard Shares,GB0000978204,10.75P GROSS(NET PD)CUM CNV RED PRF 1P  ,BBYB,2117.551734313,\"145,879,202.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSX3,SQCL,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-45,BALFOUR BEATTY                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000961622,ORD GBP0.50                             ,BBY ,2117.551734313,\"687,450,656.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Mar-00,BANCA LOMBARDA PREFERRED SECURITIES,US,International Main Market,Standard Debt,XS0108805564,STEP UP NON VTG NON CUM PFD SEC EUR1000 ,82OU,0,\"155,000.00\",,,,,7,MISL,FSLL,EUR,,,,,,,,,,,,,,,,,,\r\n3-Oct-88,BANCO BILBAO VIZCAYA ARGENTARIA SA ,ES,International Main Market,Standard Shares,ES0113211835,EUR0.49                                 ,BVA ,30769.6229540816,\"6,519,748,906.00\",Financials,Banks,Banks,Banks,8355,SSMU,SMEV,EUR,,,,,,,,,,,,,,,,,,\r\n1-Jul-05,BANCO SANTANDER SA                 ,ES,International Main Market,Standard Shares,ES0113900J37,ORD EUR0.50(CDI)                        ,BNC ,49750.14414933,\"14,483,302,518.00\",Financials,Banks,Banks,Banks,8355,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-05,BANGO                              ,GB,AIM,,GB00B0BRN552,ORD GBP0.20                             ,BGO  ,53.3705392,\"60,648,340.00\",Technology,Technology,Software & Computer Services,Internet,9535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Oct-97,BANK AUDI S.A.L.                   ,LB,International Main Market,,US0605721127,GDR EACH REPR 1 SH REG S                ,BQAD,154.142849699999,\"32,900,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n24-Oct-97,BANK AUDI S.A.L.                   ,LB,International Main Market,,US0605721044,GDR EACH REPR 1 SH 144A                 ,43KV,154.142849699999,\"1,837,257.00\",Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n5-Oct-05,BANK MUSCAT                        ,OM,International Main Market,Standard GDRs,US0637462005,GDR EACH REPR 4 ORD REG'S'              ,BKM ,19.9134468587399,\"6,878,765.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n5-Oct-05,BANK MUSCAT                        ,OM,International Main Market,Standard GDRs,US0637461015,GDR EACH REPR 4 ORD '144A'              ,BKMA,19.9134468587399,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,BANK OF AMERICA CORP               ,US,International Main Market,Standard Shares,US0605051046,USD0.01                                 ,BAC ,111789.084565956,\"10,481,392,733.00\",Financials,Banks,Banks,Banks,8355,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n18-May-98,BANK OF GREECE                     ,GR,International Main Market,,,,,0,,,,,,6,,,,,,,,,,,,,,,,,,,,,\r\n14-Jan-59,BANK OF IRELAND(GOVERNOR & CO OF)  ,IE,International Main Market,Standard Debt,IE0000730808,NON-CUM PRF'A'GBP1&GBP9 LIQUIDATION     ,BKIC,5557.80984316269,\"5,000,000.00\",Financials,Banks,Banks,Banks,8355,SSX4,SXSN,GBP,,,,,,,,,,,,,,,,,,\r\n14-Jan-59,BANK OF IRELAND(GOVERNOR & CO OF)  ,IE,International Main Market,Standard Debt,IE0000730790,UTS NON-CUM EURO PRF STK EUR1.27'A'     ,BKIE,5557.80984316269,\"10,500,000.00\",Financials,Banks,Banks,Banks,8355,SSX4,SXSN,EUR,,,,,,,,,,,,,,,,,,\r\n14-Jan-59,BANK OF IRELAND(GOVERNOR & CO OF)  ,IE,International Main Market,Premium Equity Commercial Companies,IE0030606259,ORD EUR0.05                             ,BKIR,5557.80984316269,\"32,363,279,231.00\",Financials,Banks,Banks,Banks,8355,SET3,OL10,EUR,,,,,,,,,,,,,,,,,,\r\n3-Nov-00,BANK PEKAO SA                      ,PL,International Main Market,Standard GDRs,US0644511075,GDS EACH REPR 1 PLN1 144A               ,85PL,99.4822646999997,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n3-Nov-00,BANK PEKAO SA                      ,PL,International Main Market,Standard GDRs,US0644512065,GDS EACH REPR 1 PLN1  REG'S             ,BPKD,99.4822646999997,\"4,100,000.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n2-Apr-57,BANKERS INVESTMENT TRUST           ,GB,UK Main Market,Standard Debt,GB0000769595,10.5% DEB STK 2016                      ,98GF,817.17847836,\"10,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n2-Apr-57,BANKERS INVESTMENT TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000767003,GBP0.25                                 ,BNKR,817.17847836,\"124,002,804.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-57,BANKERS INVESTMENT TRUST           ,GB,UK Main Market,Standard Debt,GB0000871771,8% DEB STK 2023                         ,BA88,817.17847836,\"15,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n7-Jul-05,BANKERS PETROLEUM LTD              ,CA,AIM,,CA0662863038,COM NPV(CDI)                            ,BNK  ,287.058525,\"252,915,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-98,BANQUE INTL ARABE DE TUNISIE       ,TN,International Main Market,Standard GDRs,US06675A1088,GDR EACH REPR 1/2 ORD TND10 (144A)(BNY) ,96LE,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n18-Feb-98,BANQUE INTL ARABE DE TUNISIE       ,TN,International Main Market,Standard GDRs,US06675A2078,GDR EACH REPR 1/2 ORD TND10(REG'S')(BNY),BIND,0,\"3,838,986.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n10-Apr-96,BANQUE MAROCAINE DU COMM EXTERIEUR ,MA,International Main Market,Standard GDRs,US06674P2056,GDR EACH REPR 1/3 ORD MAD10(REG S)      ,BMED,231.378753912767,\"47,625,417.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n10-Apr-96,BANQUE MAROCAINE DU COMM EXTERIEUR ,MA,International Main Market,Standard GDRs,US06674P1066,GDR EACH REPR 1/3 ORD MAD10(144A)       ,69IR,231.378753912767,\"4,724,409.00\",Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,BARCLAYS BANK PLC                  ,GB,UK Main Market,Standard Securitised Derivatives,GB00B28YJW21,PELS'90' 20/11/17(WORLD BASKET P/WT)GBP1,83SF,0,\"8,000,000.00\",,,,,7,CWTR,UIDW,GBP,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,BARCLAYS BANK PLC                  ,GB,UK Main Market,Standard Securitised Derivatives,GB00B23DM470,PUT WTS REL BSKT INDICES 2/08/17 '86'   ,47MC,0,\"20,000,000.00\",,,,,7,CWTR,UIDW,GBP,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,BARCLAYS BANK PLC                  ,GB,UK Main Market,Standard Securitised Derivatives,GB00B28YJT91,CALL WTS 20/11/17(BSK INDC) GBP1 PELS'90,83SK,0,\"8,000,000.00\",,,,,7,CWTR,UIDW,GBP,,,,,,,,,,,,,,,,,,\r\n31-Dec-53,BARCLAYS PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031348658,ORD GBP0.25                             ,BARC,22022.4669691,\"12,785,176,760.00\",Financials,Banks,Banks,Banks,8355,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-02,BARING EMERGING EUROPE PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0032273343,ORD GBP0.10                             ,BEE ,102.2922401725,\"16,845,161.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-69,BARLOWORLD                         ,ZA,International Main Market,Standard Shares,ZAE000026639,ORD ZAR0.05                             ,BWO ,1263.9487695,\"214,228,605.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-04,BARON OIL PLC                      ,GB,AIM,,GB00B01QGH57,ORD GBP0.00025                          ,BOIL ,6.2815630485,\"1,322,434,326.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jan-01,BARONSMEAD SECOND VENTURE TRUST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030028103,ORD GBP0.10                             ,BMD ,147.06948812,\"153,999,464.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Mar-06,BARONSMEAD VCT 5 PLC               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0YZHK97,ORD GBP0.10                             ,BAV ,55.081433295,\"73,197,918.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-98,BARONSMEAD VENTURE TRUST PLC       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002631934,GBP0.10                                 ,BVT ,157.70789192,\"174,262,864.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-70,BARR(A.G.)                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B6XZKY75,ORD GBP0.04167                          ,BAG ,592.60154835,\"116,768,778.00\",Consumer Goods,Food & Beverage,Beverages,Soft Drinks,3537,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-68,BARRATT DEVELOPMENTS PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000811801,ORD GBP0.10                             ,BDEV,4818.66150688,\"975,437,552.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jan-13,BASE RESOURCES LTD                 ,AU,AIM,,AU000000BSE5,NPV (DI)                                ,BSE  ,58.57855648,\"732,231,956.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-80,BASF SE                            ,DE,International Main Market,Standard Shares,DE000BASF111,NPV                                     ,BFA ,37913.4563525996,\"611,993,800.00\",Basic Materials,Chemicals,Chemicals,Commodity Chemicals,1353,SSMU,SMEU,EUR,,,,,,,,,,,,,,,,,,\r\n12-Jul-99,BATM ADVANCED COMMUNICATIONS       ,IL,International Main Market,Premium Equity Commercial Companies,IL0010849045,ORD ILS0.01                             ,BVC ,71.19146641,\"401,078,684.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-60,BBA AVIATION PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1FP8915,ORD GBP0.297619047                      ,BBA ,2501.38540455,\"1,037,919,255.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-60,BBA AVIATION PLC                   ,GB,UK Main Market,Standard Debt,GB0000677822,5% CUM PRF GBP1                         ,77GE,2501.38540455,\"199,332.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-11,BBGI SICAV SA                      ,LU,International Main Market,Premium Equity Closed Ended Investment Funds,LU0686550053,ORD NPV (DI)                            ,BBGI,515.00457309,\"350,343,247.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-95,BBVA CAPITAL FUNDING               ,KY,International Main Market,Standard Shares,KYG089961117,'A'9% N-CUM GTD N.VTG DM EURO PRF(BR)   ,77GD,0,\"2,090,000.00\",,,,,7,SSX4,SXSN,EUR,,,,,,,,,,,,,,,,,,\r\n26-Mar-98,BBVA INTERNATIONAL                 ,ES,International Main Market,Standard Debt,KYG0731H1011,SER'A'7.2% NON CUM GTD PRF              ,80LJ,0,\"3,500,000.00\",,,,,7,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n2-Apr-15,BCA MARKETPLACE PLC                ,GB,UK Main Market,Standard Shares,GB00BP0S1D85,GBP0.01                                 ,BCA ,1548.79067612,\"780,247,192.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n28-May-14,BCRE BRACK CAPITAL REAL EST INV NV ,NL,International Main Market,Standard Shares,NL0010763611,ORD EUR0.01 (DI)                        ,BCRE,163.731189763688,\"161,561,314.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQS3,EUR,,,,,,,,,,,,,,,,,,\r\n10-May-16,BE HEARD GROUP PLC                 ,GB,AIM,,GB00BT6SJV45,ORD GBP0.01                             ,BHRD ,20.59694806125,\"680,890,845.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-16,BEAZLEY PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYQ0JC66,ORD GBP0.05                             ,BEZ ,2038.98461264,\"523,353,340.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Oct-04,BEGBIES TRAYNOR GROUP PLC          ,GB,AIM,,GB00B0305S97,ORD GBP0.05                             ,BEG  ,48.97978311625,\"105,616,783.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n21-May-79,BELLWAY                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000904986,ORD GBP0.125                            ,BWY ,2829.8035701,\"121,450,797.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-10,BELLZONE MINING PLC                ,JE,AIM,,JE00B3N0SJ29,ORD NPV                                 ,BZM  ,3.3553624819,\"1,458,853,253.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n21-Feb-12,BELVOIR LETTINGS PLC               ,GB,AIM,,GB00B4QY1P51,ORD GBP0.01                             ,BLV  ,45.7957968,\"33,673,380.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-15,BENCHMARK HLDGS PLC                ,GB,AIM,,GB00BGHPT808,GBP0.001                                ,BMK  ,308.90346624,\"482,661,666.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-05,BEOWULF MINING                     ,GB,AIM,,GB0033163287,ORD GBP0.01                             ,BEM  ,21.01803512,\"525,450,878.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Mar-81,BERENDSEN PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0F99717,ORD GBP0.30                             ,BRSN,2104.740512,\"171,815,552.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Dec-06,BERKELEY ENERGIA LTD               ,AU,AIM,,AU000000BKY0,ORD NPV (DI)                            ,BKY  ,86.571141765,\"199,014,119.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-85,BERKELEY GROUP HLDGS               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B02L3W35,ORD GBP0.05                             ,BKG ,3574.94479168,\"133,792,844.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n14-Aug-06,BEST OF THE BEST PLC               ,GB,AIM,,GB00B16S3505,ORD GBP0.05                             ,BEST ,18.9785025,\"9,372,100.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,BET                                ,GB,UK Main Market,Standard Debt,GB0001331007,4.5% 2ND DEB STK                        ,84GK,0,\"304,349.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,BET                                ,GB,UK Main Market,Standard Debt,GB0001330819,5% PERP DEB STK                         ,83GK,0,\"1,315,663.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n8-Jul-10,BETTER CAPITAL PCC LD              ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B5885941,ORD GBP1.00 (2009)                      ,BCAP,295.82845698,\"206,780,952.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-10,BETTER CAPITAL PCC LD              ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B4N1RV71,ORD GBP1.00 (2012)                      ,BC12,295.82845698,\"346,600,520.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n21-Oct-05,BEXIMCO PHARMACEUTICALS            ,BD,AIM,,US0885792061,GDR (EACH REPR 1 ORD BDT10)'REGS'       ,BXP  ,135.2912284,\"358,387,360.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-06,BEZANT RESOURCES PLC               ,GB,AIM,,GB00B1CKQD97,ORD GBP0.002                            ,BZT  ,2.394580335,\"136,833,162.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Feb-12,BGEO GROUP PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B759CR16,ORD GBP0.01                             ,BGEO,1029.88110444,\"35,909,383.00\",Financials,Banks,Banks,Banks,8355,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-08,BH GLOBAL LTD                      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B2QQPS89,ORD USD NPV                             ,BHGU,570.181438359909,\"13,827,893.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,USD,,,,,,,,,,,,,,,,,,\r\n29-May-08,BH GLOBAL LTD                      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B2QQPT96,ORD GBP NPV                             ,BHGG,570.181438359909,\"35,094,357.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-07,BH MACRO LTD                       ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1NPGZ52,ORD NPV (EUR)                           ,BHME,1043.89015433197,\"7,279,751.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON5 ,EUR,,,,,,,,,,,,,,,,,,\r\n14-Mar-07,BH MACRO LTD                       ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1NPGV15,ORD NPV (USD)                           ,BHMU,1043.89015433197,\"22,131,147.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON5 ,USD,,,,,,,,,,,,,,,,,,\r\n14-Mar-07,BH MACRO LTD                       ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1NP5142,ORD NPV (GBP)                           ,BHMG,1043.89015433197,\"33,134,509.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-97,BHP BILLITON PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000566504,ORD USD0.50                             ,BLT ,20907.398708604,\"2,112,071,796.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jun-02,BIG YELLOW GROUP                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002869419,ORD GBP0.10                             ,BYG ,1169.73385834,\"154,624,436.00\",Financials,Real Estate,Real Estate Investment Trusts,Specialty REITs,8675,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Mar-15,BILBY PLC                          ,GB,AIM,,GB00BV9GHQ09,ORD GBP0.10                             ,BILB ,44.89459603,\"39,729,731.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-05,BILLING SERVICES GROUP             ,BM,AIM,,BMG110261044,USD0.59446                              ,BILL ,11.995515435,\"282,247,422.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-95,BILLINGTON HLDGS PLC               ,GB,AIM,,GB0000332667,ORD GBP0.10                             ,BILN ,32.658312125,\"12,933,985.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-10,BIOME TECHNOLOGIES PLC             ,GB,AIM,,GB00B9Z1M820,ORD GBP0.05                             ,BIOM ,2.9225688,\"2,435,474.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-54,BIOQUELL                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004992003,ORD GBP0.10                             ,BQE ,56.867311875,\"41,358,045.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-97,BIOTECH GROWTH TRUST PLC (THE)     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000385517,ORD GBP0.25                             ,BIOG,375.00912335,\"54,152,942.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-14,BIOVENTIX PLC                      ,GB,AIM,,GB00B4QVDF07,ORD GBP0.05                             ,BVXP ,57.35988,\"5,098,656.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-48,BISICHI MINING                     ,GB,UK Main Market,Standard Shares,GB0001012045,GBP0.10                                 ,BISI,6.9561,\"10,620,000.00\",Basic Materials,Basic Resources,Mining,Coal,1771,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-05,BLACKROCK COMMODITIES INC INV TST  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0N8MF98,ORD GBP0.01                             ,BRCI,67.378074375,\"92,935,275.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-94,BLACKROCK EMERGING EUROPE PLC      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0BN1P96,ORD USD0.10                             ,BEEP,107.01645287,\"42,636,037.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-10,BLACKROCK FRONTIERS INVESTMENT TST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3SXM832,ORD USD0.01                             ,BRFI,205.416385,\"164,333,108.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Sep-04,BLACKROCK GREATER EUROPE INV TST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B01RDH75,ORD GBP0.001                            ,BRGE,336.13933264,\"123,580,637.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-01,BLACKROCK INCOME & GROWTH INV TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030961691,ORD GBP0.01                             ,BRIG,48.00523848,\"25,809,268.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-52,BLACKROCK INCOME STRATEGIES TR PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001297562,ORD GBP0.25                             ,BIST,314.315039255,\"280,013,398.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-90,BLACKROCK LATIN AMERICAN INV TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005058408,ORD USD0.10                             ,BRLA,162.94663071,\"41,462,247.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n24-Oct-12,BLACKROCK NORTH AMERICAN INC TR PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B7W0XJ61,ORD GBP0.1                              ,BRNA,1629.68017730625,\"1,154,777,805.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,BLACKROCK SMALLER COMPANIES TST PLC,GB,UK Main Market,Standard Debt,GB0000545466,7.75% DEB STK 2022                      ,BD96,428.76353736,\"15,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,BLACKROCK SMALLER COMPANIES TST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006436108,ORD GBP0.25                             ,BRSC,428.76353736,\"47,879,792.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-62,BLACKROCK THROGMORTON TRUST PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008910555,ORD GBP0.05                             ,THRG,239.86746928,\"73,130,326.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-93,BLACKROCK WORLD MINING TRUST PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005774855,ORD GBP0.05                             ,BRWM,495.83923002,\"176,455,242.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-14,BLACKSTONE / GSO LOAN FINANCING LTD,JE,UK Main Market,,JE00BNCB5T53,ORD NPV                                 ,BGLF,264.351662968574,\"328,119,700.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,EUR,,,,,,,,,,,,,,,,,,\r\n3-Apr-07,BLANCCO TECHNOLOGY GROUP PLC       ,GB,AIM,,GB00B06GNN57,ORD GBP0.02                             ,BLTG ,176.615508765,\"79,022,599.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-85,BLD PROPERTY HLDGS                 ,GB,UK Main Market,Standard Debt,GB0000526474,9.125% 1ST MTG DEB STK 2020             ,09GE,0,\"30,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n25-Sep-02,BLENHEIM NATURAL RESOURCES PLC     ,GB,AIM,,GB00BYQ5L258,ORD GBP0.001                            ,BNR  ,0.598945425,\"184,290,900.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-06,BLOM BANK SAL                      ,LB,Trading Only,,US0936881095,GDS EACH REPR 1 ORD'B'SHS(REG'S')       ,BLBD,0,\"73,896,010.00\",,,,,0,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n23-Jun-94,BLOOMSBURY PUBLISHING              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033147751,ORD GBP0.0125                           ,BMY ,119.97600282,\"74,059,261.00\",Consumer Services,Media,Media,Publishing,5557,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Dec-12,BLUE CAPITAL GLOBAL REINSURANCE FD ,BM,International Main Market,,BMG1189R1043,ORD VTG NON RED PTG USD0.00001 (DI)     ,BCGR,308.297410676022,\"430,516,354.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n16-Aug-06,BLUE PLANET FIN GRWTH&INC INV TST  ,GB,UK Main Market,,GB00B1B9C408,UTS(COMPR 1 ORD NO.1-NO.10)             ,BPFU,0,\"13,653,200.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-99,BLUE PLANET INVESTMENT TR PLC      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005327076,ORD GBP0.01                             ,BLP ,18.080926875,\"48,215,805.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-16,BLUE PRISM GROUP PLC               ,GB,AIM,,GB00BYQ0HV16,ORD GBP0.01                             ,PRSM ,169.21383296,\"62,210,968.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-04,BLUE STAR CAPITAL PLC              ,GB,AIM,,GB00B02SSZ25,ORD GBP0.001                            ,BLU  ,0.747993933,\"498,662,622.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-16,BLUEBIRD MERCHANT VENTURES LTD     ,VG,International Main Market,Standard Shares,VGG118701058,ORD NPV (DI)                            ,BMV ,3.9304816,\"184,963,840.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-13,BLUEFIELD SOLAR INCOME FUND LTD    ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BB0RDB98,ORD NPV                                 ,BSIF,314.276241475,\"309,631,765.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n4-Sep-13,BLUEROCK DIAMONDS PLC              ,GB,AIM,,GB00B84H1764,ORD GBP0.01                             ,BRD  ,3.540917925,\"38,804,580.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-12,BLUR GROUP PLC                     ,GB,AIM,,GB00B8DX2616,ORD GBP0.01                             ,BLUR ,2.94330325,\"47,092,852.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Apr-00,BMR GROUP PLC                      ,GB,AIM,,GB00BWV0F181,ORD GBP0.01                             ,BMR  ,9.34345538,\"173,831,728.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jan-72,BODYCOTE PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B3FLWH99,ORD GBP0.1727272                        ,BOY ,1128.906757265,\"191,178,113.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jan-80,BOEING CO                          ,US,International Main Market,Standard Shares,US0970231058,USD5                                    ,BOE ,72225.4497389998,\"729,000,000.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n30-Dec-97,BOND INTERNATIONAL SOFTWARE        ,GB,AIM,,GB0002369352,ORD GBP0.01                             ,BDI  ,45.91820546,\"42,126,794.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-15,BONMARCHE HLDGS PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BF8H6F45,ORD GBP0.01                             ,BON ,61.022143,\"50,018,150.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-14,BOOHOO.COM PLC                     ,JE,AIM,,JE00BG6L7297,ORD GBP0.01                             ,BOO  ,923.99839175,\"1,123,402,300.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-09,BOOKER GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01TND91,ORD GBP0.01                             ,BOK ,3036.67643016,\"1,724,404,560.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-74,BOOT(HENRY)                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001110096,ORD GBP0.10                             ,BHY ,264.340160975,\"129,896,885.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-74,BOOT(HENRY)                        ,GB,UK Main Market,Standard Shares,GB0001111284,CUM PRF(5.25%)GBP1                      ,BD82,264.340160975,0.00,Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-05,BORDERS & SOUTHERN PETROLEUM       ,GB,AIM,,GB00B08F4599,ORD GBP0.01                             ,BOR  ,8.710171272,\"483,898,404.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n30-Aug-16,BOS GLOBAL HLDGS NL                ,AU,AIM,,AU000XINEAC2,ORD NPV (DI)                            ,BOS  ,4.875,\"50,000,000.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-11,BOTSWANA DIAMONDS PLC              ,GB,AIM,,GB00B5TFC825,ORD GBP0.0025                           ,BOD  ,5.3479984545,\"274,256,331.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-08,BOUSSARD & GAVAUDAN HOLDING        ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B39VMM07,ORD EUR0.0001 GBP SHS                   ,BGHS,492.257637929495,\"1,496,750.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-08,BOUSSARD & GAVAUDAN HOLDING        ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1FQG453,ORD EUR0.0001                           ,BGHL,492.257637929495,\"30,647,320.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,EUR,,,,,,,,,,,,,,,,,,\r\n9-Dec-97,BOVIS HOMES GROUP                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001859296,ORD GBP0.50                             ,BVS ,1198.34383872,\"133,743,732.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-04,BOWLEVEN                           ,GB,AIM,,GB00B04PYL99,ORD GBP0.1                              ,BLVN ,89.9594652,\"327,125,328.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Sep-06,BOXHILL TECHNOLOGIES PLC           ,GB,AIM,,GB00B1DWH640,ORD GBP0.001                            ,BOX  ,4.4108443056,\"1,837,851,794.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-54,BP                                 ,GB,UK Main Market,Standard Shares,GB0001385474,9% CUM 2ND PRF GBP1                     ,BP.B,80288.531993161,\"5,473,414.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-54,BP                                 ,GB,UK Main Market,Standard Shares,GB0001385250,8% CUM 1ST PRF GBP1                     ,BP.A,80288.531993161,\"7,232,838.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-54,BP                                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007980591,ORD USD0.25                             ,BP. ,80288.531993161,\"18,758,751,584.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-04,BRADY                              ,GB,AIM,,GB00B0188P35,ORD GBP0.01                             ,BRY  ,56.69703456,\"83,377,992.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Nov-97,BRAEMAR SHIPPING SERVICES PLC      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000600931,ORD GBP0.10                             ,BMS ,110.4197247525,\"29,712,674.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-07,BRAIME(T.F.& J.H.)(HLDGS)          ,GB,AIM,,GB0001185056,ORD 0.25                                ,BMTO ,4.545,\"480,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-07,BRAIME(T.F.& J.H.)(HLDGS)          ,GB,AIM,,GB0001185270,'A'ORD NON VOTING GBP0.25               ,BMT  ,4.545,\"120,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-06,BRAINJUICER GROUP PLC              ,GB,AIM,,GB00B1GVQH21,ORD GBP0.01                             ,BJU  ,54.2501502,\"12,616,314.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Oct-54,BRAMMER                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001195089,ORD GBP0.20                             ,BRAM,147.48115315,\"128,244,481.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-13,BRAVE BISON GROUP PLC              ,GB,AIM,,GB00BF8HJ774,ORD GBP0.001                            ,BBSN ,29.30832289375,\"571,869,715.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Mar-07,BRAVEHEART INVESTMENT GROUP        ,GB,AIM,,GB00B13XV322,ORD GBP0.02                             ,BRH  ,3.7932398,\"27,094,570.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-10,BREEDON GROUP PLC                  ,JE,AIM,,JE00B2419D89,ORD NPV                                 ,BREE ,1024.00056097625,\"1,395,571,463.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-94,BREWIN DOLPHIN HLDGS               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001765816,ORD GBP0.01                             ,BRW ,743.969527367,\"280,637,317.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-16,BRIGHTON PIER GROUP PLC (THE)      ,GB,AIM,,GB00BG49KW66,ORD GBP0.25                             ,PIER ,37.220812225,\"31,677,287.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-97,BRISTOL & WEST PLC                 ,GB,UK Main Market,Standard Shares,GB0000510205,PRF SHS GBP1                            ,BWSA,0,\"125,000,000.00\",,,,,7,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-92,BRISTOL WATER                      ,GB,UK Main Market,Standard Shares,GB0001257988,8.75% CUM IRRD PRF GBP1                 ,BWRA,0,\"12,500,000.00\",,,,,7,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-47,BRITISH & AMERICAN INVESTMENT TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000653112,ORD GBP1                                ,BAF ,20,\"25,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-62,BRITISH AMERICAN TOBACCO           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002875804,ORD GBP0.25                             ,BATS,87951.34840275,\"1,861,404,199.00\",Consumer Goods,Personal & Household Goods,Tobacco,Tobacco,3785,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-43,BRITISH EMPIRE TRUST PLC           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001335081,ORD GBP0.10                             ,BTEM,726.14349708,\"128,748,847.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-43,BRITISH EMPIRE TRUST PLC           ,GB,UK Main Market,Standard Debt,GB0001335867,8.125% DEB STK 2023                     ,BREM,726.14349708,\"15,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Mar-51,BRITISH LAND CO PLC                ,GB,UK Main Market,Standard Debt,GB0001368538,11.375% 1ST MTG DEB STK 2019/24         ,BA68,6767.07971862,\"20,381,170.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Mar-51,BRITISH LAND CO PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001367019,ORD GBP0.25                             ,BLND,6767.07971862,\"1,020,675,674.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-51,BRITISH LAND CO PLC                ,GB,UK Main Market,Standard Debt,GB0001367126,10.5% DFD 1ST MTG DEB STK 2019/24       ,BA45,6767.07971862,\"12,561,841.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,BRITISH SMALLER COMPANIES VCT      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001403152,ORD GBP 0.10                            ,BSV ,96.935722845,\"105,652,014.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Apr-01,BRITISH SMALLER COMPANIES VCT2 PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005001796,ORD GBP0.10                             ,BSC ,57.57890318,\"99,273,971.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-05,BRITVIC                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0N8QD54,ORD GBP0.2                              ,BVIC,1555.197007825,\"242,054,009.00\",Consumer Goods,Food & Beverage,Beverages,Soft Drinks,3537,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-05,BROOKS MACDONALD GROUP             ,GB,AIM,,GB00B067N833,ORD GBP0.01                             ,BRK  ,274.2348525,\"13,643,525.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-72,BROWN(N.)GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1P6ZR11,ORD GBP0.1105263157                     ,BWNG,577.912656706,\"283,429,454.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-50,BRUNNER INVESTMENT TRUST           ,GB,UK Main Market,Standard Shares,GB0001490449,5% CUM PRF STK                          ,44GL,250.80320694,\"450,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBP,,,,,,,,,,,,,,,,,,\r\n3-Apr-50,BRUNNER INVESTMENT TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001490001,ORD GBP 0.25                            ,BUT ,250.80320694,\"43,019,418.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-84,BT GROUP                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0030913577,ORD GBP0.05                             ,BT.A,38187.6276440335,\"9,884,205,421.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-95,BTG PLC                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001001592,ORD GBP0.10                             ,BTG ,2187.98150022,\"364,056,822.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-57,BUNZL                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0744B38,ORD GBP0.32142857                       ,BNZL,7811.1369738,\"331,261,110.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-02,BURBERRY GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031743007,ORD GBP0.0005                           ,BRBY,5712.77276584,\"438,096,071.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n21-Oct-09,BURFORD CAPITAL LTD                ,GG,AIM,,GG00B4L84979,ORD NPV                                 ,BUR  ,799.77272514,\"204,545,454.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Mar-12,BUSHVELD MINERALS LTD              ,GG,AIM,,GG00B4TM3943,ORD GBP0.01                             ,bmn  ,8.33630849625,\"585,004,105.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Feb-09,BYBLOS BANK                        ,LB,International Main Market,Standard GDRs,US12431A1016,GDR EACH REPR 50 ORD 'REG S'            ,BYB ,56.7403535999998,\"931,000.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n6-Jul-05,BYOTROL PLC                        ,GB,AIM,,GB00B0999995,ORD GBP0.0025                           ,BYOT ,12.39738488125,\"268,051,565.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-04,C&C GROUP                          ,IE,International Main Market,Premium Equity Commercial Companies,IE00B010DT83,ORD EUR0.01                             ,CCR ,996.505899181199,\"310,242,361.00\",Consumer Goods,Food & Beverage,Beverages,Distillers & Vintners,3535,SET3,OL5 ,EUR,,,,,,,,,,,,,,,,,,\r\n15-Sep-94,C.G.I.S. GROUP                     ,GB,UK Main Market,Standard Debt,GB0001547701,9.625% 1ST MTG DEB STK 2019             ,51GL,0,\"145,999,570.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n23-Oct-14,C4X DISCOVERY HLDG PLC             ,GB,AIM,,GB00BQQ2RV18,ORD GBP0.01                             ,C4XD ,38.2555845,\"34,004,964.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-08,CADOGAN PETROLEUM                  ,GB,UK Main Market,Standard Shares,GB00B12WC938,ORD GBP0.03                             ,CAD ,17.043010515,\"231,091,668.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-61,CAFFYNS                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001615219,ORD GBP0.50                             ,CFYN,16.3301192,\"2,673,057.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-61,CAFFYNS                            ,GB,UK Main Market,Standard Shares,GB0001615540,11% CUM PRF GBP1                        ,79GL,16.3301192,\"648,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-61,CAFFYNS                            ,GB,UK Main Market,Standard Shares,GB0001615433,7% CUM 1ST PRF GBP1                     ,78GL,16.3301192,\"389,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-88,CAIRN ENERGY PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B74CDH82,ORD GBP0.13668639                       ,CNE ,1071.593532387,\"577,056,291.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-15,CAIRN HOMES PLC                    ,IE,International Main Market,Standard Shares,IE00BWY4ZF18,ORD EUR0.001                            ,CRN ,585.03722865684,\"649,274,623.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SSMU,SMEU,EUR,,,,,,,,,,,,,,,,,,\r\n8-Apr-10,CALCULUS VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B631ZQ22,ORD GBP0.01                             ,CLC ,5.24653742,\"5,252,806.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-10,CALCULUS VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYQPF348,ORD GBP0.01 D                           ,CLCD,5.24653742,\"1,812,084.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-10,CALCULUS VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3RNDW55,ORD GBP0.01 C                           ,CLCC,5.24653742,\"1,948,395.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-60,CALEDONIA INVESTMENTS              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001639920,ORD GBP0.05                             ,CLDN,1342.22517,\"55,463,850.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-05,CALEDONIA MINING CORP PLC          ,JE,AIM,,JE00BD35H902,ORD NPV(DI)                             ,CMCL ,52.185946,\"52,185,946.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-95,CALEDONIAN TRUST                   ,GB,AIM,,GB0001628584,ORD GBP 0.2                             ,CNN  ,9.965572565,\"11,793,577.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jun-03,CALGARY & EDMONTON RAILWAY CO      ,CA,International Main Market,Standard Debt,CA129587AA99,4% CONS DEB STK(GTD BY C.P.LTD)2002     ,05GM,0,\"1,121,700.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n16-Apr-14,CAMBIAN GRP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKXNB024,ORD GBP0.01                             ,CMBN,156.5689341,\"184,198,746.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n6-Mar-07,CAMBIUM GLOBAL TIMBERLAND LTD      ,JE,AIM,,JE00B1NNWQ21,ORD NPV                                 ,TREE ,6.383125,\"102,130,000.00\",Basic Materials,Basic Resources,Forestry & Paper,Forestry,1733,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-07,CAMBRIA AFRICA PLC                 ,IM,AIM,,IM00B28CVH58,ORD GBP0.0001                           ,CMB  ,1.3228447625,\"211,655,162.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-10,CAMBRIA AUTOMOBILES PLC            ,GB,AIM,,GB00B4R32X65,ORD GBP0.10                             ,CAMB ,67,\"100,000,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-13,CAMBRIDGE COGNITION HLDGS PLC      ,GB,AIM,,GB00B8DV9647,ORD GBP0.01                             ,COG  ,11.542517775,\"20,429,235.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,CAMBRIDGE WATER                    ,GB,UK Main Market,Standard Debt,GB0001663888,4% CONS PERP DEB STK                    ,06GM,0,\"191,918.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n19-Sep-14,CAMELLIA                           ,GB,AIM,,GB0001667087,ORD GBP0.10                             ,CAM  ,237.8229,\"2,824,500.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-07,CAMPER & NICHOLSONS MARINA INV LTD ,GG,AIM,,GG00B1FCZR96,ORD NPV                                 ,CNMI ,11.190444165,\"165,784,358.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Feb-95,CANADIAN GENERAL INVESTMENTS       ,CA,International Main Market,Standard Shares,CA1358251074,COM NPV                                 ,CGI ,224.805063725,\"20,863,579.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-14,CANADIAN OVERSEAS PETROLEUM LTD    ,CA,International Main Market,Standard Shares,CA13643D1078,NPV (DI)                                ,COPL,43.436017755,\"668,246,427.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-52,CANADIAN PACIFIC RAILWAYS          ,CA,International Main Market,Standard Debt,CA136447AX71,4% PERP CONS DEB STK GBP                ,BC87,0,\"46,756,621.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Dec-84,CANDOVER INVESTMENTS               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001713154,ORD GBP 0.25                            ,CDI ,21.744346925,\"21,853,615.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-11,CAPE PLC                           ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B5SJJD95,ORD GBP0.25                             ,CIU ,254.289117255,\"120,802,431.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n21-Aug-91,CAPITA PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B23K0M20,ORD GBP0.02066667                       ,CPI ,6772.1982552,\"654,318,672.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-10,CAPITAL & COUNTIES PROPERTIES PLC  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B62G9D36,ORD GBP0.25                             ,CAPC,2471.113337616,\"833,146,776.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-95,CAPITAL & REGIONAL                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001741544,ORD GBP0.01                             ,CAL ,415.195930905,\"700,752,626.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jun-10,CAPITAL DRILLING LTD               ,BM,International Main Market,Premium Equity Commercial Companies,BMG022411000,ORD USD0.0001 (DI)                      ,CAPD,64.75363008,\"134,903,396.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Feb-73,CAPITAL GEARING TRUST              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001738615,ORD GBP0.25                             ,CGT ,105.8768631,\"2,912,706.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Apr-06,CAP-XX                             ,AU,AIM,,AU0000XINAS1,ORD NPV                                 ,CPX  ,13.3735122675,\"270,171,965.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-08,CARADOR INCOME FUND PLC            ,IE,International Main Market,Premium Equity Closed Ended Investment Funds,IE00B3D60Z08,ORD NPV(USD)                            ,CIFU,375.640802531058,\"667,456,391.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,USD,,,,,,,,,,,,,,,,,,\r\n23-Dec-59,CARCLO                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001751915,ORD GBP0.05                             ,CAR ,84.5324246,\"65,024,942.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-14,CARD FACTORY PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLY2F708,ORD GBP0.01                             ,CARD,975.833225563,\"340,842,901.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jun-47,CARDIFF PROPERTY                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001754257,ORD GBP 0.2                             ,CDFF,17.1545715,\"1,270,709.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-05,CARETECH HLDGS PLC                 ,GB,AIM,,GB00B0KWHQ09,ORD GBP0.005                            ,CTH  ,175.01641521,\"64,108,577.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jun-99,CARIBBEAN INV HLDGS LTD            ,BZ,AIM,,BZP211481049,ORD NPV                                 ,CIHL ,6.51032005,\"100,158,770.00\",Financials,Banks,Banks,Banks,8355,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-99,CARILLION PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007365546,ORD GBP0.50                             ,CLLN,1119.522544658,\"430,254,629.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-00,CARNIVAL                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031215220,ORD USD1.66                             ,CCL ,7908.4671183,\"216,433,145.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-93,CARPETRIGHT                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001772945,ORD GBP0.01                             ,CPR ,160.7606819,\"67,546,505.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-72,CARR'S GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRK01058,ORD GBP0.025                            ,CARR,130.02544545,\"89,672,721.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,CASTINGS                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001795680,ORD GBP 0.10                            ,CGS ,195.158495575,\"43,610,837.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-06,CASTLETON TECHNOLOGY PLC           ,GB,AIM,,GB00BYV2WV72,ORD GBP0.02                             ,CTP  ,50.52919164,\"78,339,832.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Sep-05,CATALYST MEDIA GROUP               ,GB,AIM,,GB00B282R334,ORD GBP0.10                             ,CMX  ,21.52619424,\"28,138,816.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-10,CATCO REINSURANCE OPPORTUNITIES FD ,BM,International Main Market,,BMG1961Q1428,ORD USD0.0001 C (DI)                    ,CATC,335.613181053693,\"102,510,018.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n20-Dec-10,CATCO REINSURANCE OPPORTUNITIES FD ,BM,International Main Market,,BMG1961Q2095,ORD USD0.00013716 (DI)                  ,CAT ,335.613181053693,\"273,224,673.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,CATHAY FINANCIAL HLDG CO           ,TW,Trading Only,,US14915V2051,GDR EACH REPR 10 ORD SHS REG'S'(BNY)    ,CFHS,0,\"10,273,473.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n12-Mar-01,CATHAY INTERNATIONAL HLDGS LTD     ,BM,International Main Market,Premium Equity Commercial Companies,BMG1965E1030,COM SHS USD0.05                         ,CTI ,72.5554827675,\"367,369,533.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-15,CC JAPAN INCOME & GROWTH TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYSRMH16,ORD GBP0.01                             ,CCJI,74.8125,\"66,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-14,CDIALOGUES PLC                     ,GB,AIM,,GB00BN40HL64,ORD GBP0.01                             ,CDOG ,3.08907225,\"6,240,550.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-05,CELLCAST GROUP                     ,GB,AIM,,GB00B0GWFM68,ORD GBP0.01                             ,CLTV ,2.2285112275,\"77,513,434.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-04,CELLO GROUP                        ,GB,AIM,,GB00B0310763,ORD GBP0.10                             ,CLL  ,86.99398026,\"83,247,828.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-05,CELTIC                             ,GB,AIM,,GB0004339296,6% CUM CNV PREF GBP0.60                 ,CCPA ,69.594207,\"16,800,943.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-05,CELTIC                             ,GB,AIM,,GB0030639925,CNV PFD ORD GBP1                        ,CCPC ,69.594207,\"18,012,448.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-05,CELTIC                             ,GB,AIM,,GB0004339189,ORD GBP0.01                             ,CCP  ,69.594207,\"92,792,276.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-06,CENKOS SECURITIES PLC              ,GB,AIM,,GB00B1FLHR07,ORD GBP0.01                             ,CNKS ,78.83761752,\"64,886,928.00\",Financials,Financial Services,Financial Services,Investment Services,8777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-11,CENTAMIN PLC                       ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B5TT1872,ORD NPV (DI)                            ,CEY ,1710.88035624,\"1,152,107,984.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-04,CENTAUR MEDIA                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0034291418,ORD GBP0.10                             ,CAU ,58.1119246125,\"140,877,393.00\",Consumer Services,Media,Media,Publishing,5557,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-10,CENTER FR CARGO CONT TRF TRCNT PJSC,RU,International Main Market,Standard GDRs,US8935561006,GDR EACH REP 1/10 ORD REG S             ,TRCN,555.729288237898,\"138,947,780.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n30-Sep-10,CENTRAL ASIA METALS PLC            ,GB,AIM,,GB00B67KBV28,ORD USD0.01                             ,CAML ,199.0229997075,\"111,419,454.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-13,CENTRAL RAND GOLD LTD              ,GG,AIM,,GG00B92NXM24,ORD GBP0.01                             ,CRND ,2.350927439,\"191,912,444.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Sep-13,CENTRALNIC GROUP PLC               ,GB,AIM,,GB00BCCW4X83,ORD GBP0.001                            ,CNIC ,41.23456964,\"95,894,348.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-97,CENTRICA PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B033F229,ORD GBP0.0617284                        ,CNA ,12601.292284868,\"5,417,580,518.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Gas Distribution,7573,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n13-Feb-07,CEPS PLC                           ,GB,AIM,,GB00B86TNX04,ORD GBP0.10                             ,CEPS ,19.30026702,\"47,073,822.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-04,CERES POWER HLDGS                  ,GB,AIM,,GB00B0351429,ORD GBP0.01                             ,CWR  ,75.034337776,\"815,590,628.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-16,CERILLION PLC                      ,GB,AIM,,GB00BYYX6C66,ORD GBP0.005                            ,CER  ,35.71131806,\"29,513,486.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Nov-07,CHAARAT GOLD HLDGS LTD             ,VG,AIM,,VGG203461055,ORD USD0.01 (DI)                        ,CGH  ,19.8151092414,\"272,935,389.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-15,CHAGALA GROUP LTD                  ,VG,International Main Market,Standard Shares,VG1574371129,ORD USD0.40 DI                          ,CGLO,24.2830124999999,\"21,250,000.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQS3,USD,,,,,,,,,,,,,,,,,,\r\n8-Dec-15,CHALLENGER ACQUISITIONS LTD        ,GG,UK Main Market,Standard Shares,GG00BV0LCK35,ORD GBP0.01                             ,CHAL,3.295926855,\"16,902,189.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-06,CHAMBERLIN PLC                     ,GB,AIM,,GB0001870228,ORD GBP0.25                             ,CMH  ,4.45174016,\"7,949,536.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-05,CHARACTER GROUP                    ,GB,AIM,,GB0008976119,ORD GBP0.05                             ,CCT  ,114.0975689,\"22,593,578.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-08,CHARIOT OIL & GAS LTD              ,GG,AIM,,GG00B2R9PM06,ORD GBP0.01                             ,CHAR ,14.756398146,\"258,884,178.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-06,CHARLEMAGNE CAPITAL LTD            ,KY,AIM,,KYG2052F1028,ORD USD0.01                             ,CCAP ,29.815774,\"290,885,600.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-60,CHARLES STANLEY GROUP              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006556046,GBP0.25                                 ,CAY ,159.5876736,\"49,871,148.00\",Financials,Financial Services,Financial Services,Investment Services,8777,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n10-Oct-96,CHARLES TAYLOR PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001883718,GBP0.01                                 ,CTR ,129.61426225,\"47,132,459.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-06,CHELIABINSK ELEKTROLIT ZINK PLANT  ,RU,International Main Market,Standard GDRs,US1635231038,GDR EACH REPR 1 ORD SHS'144A'           ,86OZ,268.366457100299,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n13-Nov-06,CHELIABINSK ELEKTROLIT ZINK PLANT  ,RU,International Main Market,Standard GDRs,US1635232028,GDR EACH REPR 1 ORD SHS'REGS'           ,CHZN,268.366457100299,\"54,195,410.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n9-Aug-01,CHELVERTON GROWTH TRUST            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002621349,ORD GBP0.01                             ,CGW ,9.66311206,\"11,784,283.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-99,CHELVERTON SMALL CO DIV TRUST PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006615826,ORD GBP0.25                             ,SDV ,31.4449962,\"16,549,998.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Aug-12,CHELVERTON SMALL CO ZDP PLC        ,GB,UK Main Market,Standard Debt,GB00B8FJ5797,ZERO DIVIDEND PREF SHS GBP1             ,SDVZ,0,\"8,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-74,CHEMRING GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B45C9X44,ORD GBP0.01                             ,CHG ,402.8058482425,\"281,147,189.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-74,CHEMRING GROUP                     ,GB,UK Main Market,Standard Shares,GB0001904845,7% CUM PRF GBP1                         ,BC88,402.8058482425,\"62,500.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n7-Oct-13,CHENAVARI CAPITAL SOLUTIONS LTD    ,GG,UK Main Market,,GG00BCHWW517,ORD NPV                                 ,CCSL,110.755,\"130,300,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-06,CHERKIZOVO GROUP PJSC              ,RU,International Main Market,Standard GDRs,US1641451042,GDR(EACH 3 REPR 2 ORD) 144A             ,86CL,0,0.00,Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n15-May-06,CHERKIZOVO GROUP PJSC              ,RU,International Main Market,Standard GDRs,US1641452032,GDR(EACH 3 REPR 2 ORD) REGS             ,CHE ,0,0.00,Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-May-04,CHESNARA                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B00FPT80,ORD GBP0.05                             ,CSN ,389.33721504,\"114,848,736.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-11,CHINA AFRICA RESOURCES PLC         ,GB,AIM,,GB00B3ZW6Z85,ORD GBP0.01                             ,CAF  ,0.8653809,\"23,076,824.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-11,CHINA NEW ENERGY LTD               ,JE,AIM,,JE00B3RWLF12,ORD GBP0.00025                          ,CNEL ,0,\"444,447,541.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-13,CHINA NONFERROUS GOLD LTD          ,KY,AIM,,KYG215771042,USD0.0001 (DI)                          ,CNG  ,114.7176873,\"382,392,291.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-00,CHINA PETROLEUM & CHEMICAL CORP    ,CN,International Main Market,Standard GDRs,US16941R1086,ADS EACH REP 100'H'SHS CNY1             ,SNP ,8820.76120970397,\"192,975,620.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n23-Mar-05,CHINA STEEL CORP                   ,TW,Trading Only,,USY150411251,GDR EACH REP 20 ORD SHS                 ,CNSD,0,0.00,,,,,0,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n10-Nov-05,CHRISTIE GROUP                     ,GB,AIM,,GB0001953156,ORD GBP0.02                             ,CTG  ,22.28092608,\"26,524,912.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-01,CHRYSALIS VCT                      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030348683,ORD GBP0.01                             ,CYS ,30.076356155,\"45,918,101.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-03,CHURCHILL CHINA                    ,GB,AIM,,GB0001961035,ORD GBP0.10                             ,CHH  ,90.1768104,\"10,997,172.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Durable Household Products,3722,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-05,CHURCHILL MINING PLC               ,GB,AIM,,GB00B1318J18,ORD GBP0.01                             ,CHL  ,41.1788464775,\"153,939,613.00\",Basic Materials,Basic Resources,Mining,Coal,1771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-15,CIC GOLD GROUP LTD                 ,SC,International Main Market,,SC0665AHDJ29,ORD NPV (DI)                            ,CICG,0,\"103,590,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-07,CINEWORLD GROUP                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B15FWH70,ORD GBP0.01                             ,CINE,1267.99804197,\"222,066,207.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-14,CIRCASSIA PHARMACEUTICALS PLC      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJVD3B28,ORD GBP0.0008                           ,CIR ,268.7473202,\"282,891,916.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-11,CIRCLE HLDGS PLC                   ,JE,AIM,,JE00B4V99J57,ORD GBP0.02                             ,CIRC ,36.32347178625,\"236,250,223.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-04,CIRCLE OIL                         ,IE,AIM,,IE00B034YN94,ORD EUR0.01                             ,COP  ,0,\"565,846,639.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n16-Feb-16,CIRCLE PROPERTY PLC                ,JE,AIM,,JE00BYP0CK63,ORD NPV                                 ,CRC  ,42.65397296,\"28,820,252.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-12,CITY MERCHANTS HIGH YIELD TRUST LTD,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B6RMDP68,ORD NPV                                 ,CMHY,144.74815803,\"76,586,327.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n4-Nov-94,CITY NATURAL RES HIGH YIELD TRT    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000353929,GBP0.25                                 ,CYN ,78.90161096,\"66,865,772.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-15,CITY OF LONDON GROUP               ,GB,AIM,,GB0001991685,ORD GBP0.10                             ,CIN  ,1.1977121325,\"36,852,681.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-10,CITY OF LONDON INVESTMENT GROUP    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B104RS51,ORD GBP0.01                             ,CLIG,97.86132,\"26,592,750.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001990497,ORD GBP0.25                             ,CTY ,995.228288028,\"238,209,868.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Standard Debt,GB0008961913,8.5% DEB STK 2021                       ,97IN,995.228288028,\"30,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Standard Shares,GB0001990059,PFD ORD STK(14% NON CUM)GBP1            ,BA47,995.228288028,\"589,672.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Standard Debt,GB0008689522,10.25% DEB STK 2020                     ,82IL,995.228288028,\"10,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Standard Shares,GB0001990836,4.2% NON CUM 2ND PRF STK GBP1           ,CTYA,995.228288028,\"507,202.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-55,CITY OF LONDON INVESTMENT TRUST    ,GB,UK Main Market,Standard Shares,GB0001990612,4.2% CUM 1ST PRF STK                    ,BA69,995.228288028,\"301,982.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBP,,,,,,,,,,,,,,,,,,\r\n10-Apr-87,CITY SITE ESTATES                  ,GB,UK Main Market,Standard Debt,GB0002002193,10.50% 1ST MTG DEB STK 2017             ,BB38,0,\"19,985,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n14-Jan-16,CITYFIBRE INFRASTRUCTURE HLDGS PLC ,GB,AIM,,GB00BH581H10,ORD GBP0.01                             ,CITY ,174.01558182,\"265,672,644.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Sep-49,CLARKE(T.)                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002015021,ORD GBP0.10                             ,CTO ,29.5802757275,\"41,809,577.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-86,CLARKSON                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002018363,ORD GBP0.25                             ,CKN ,659.5570002,\"30,116,758.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n7-Apr-00,CLEAR LEISURE PLC                  ,GB,AIM,,GB00B50P5B53,ORD GBP0.0025                           ,CLP  ,1.846746265,\"263,820,895.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-14,CLEARSTAR INC                      ,KY,AIM,,KYG2294M1050,ORD USD0.0001 DI REGS                   ,9537 ,10.89087,\"36,302,900.00\",Technology,Technology,Software & Computer Services,Software,9537,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-14,CLEARSTAR INC                      ,KY,AIM,,KYG2294M1134,ORD USD0.0001 DI                        ,CLSU ,10.89087,0.00,Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-12,CLINIGEN GROUP PLC                 ,GB,AIM,,GB00B89J2419,ORD GBP0.001                            ,CLIN ,722.429893165,\"112,967,927.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-14,CLIPPER LOGISTICS PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMMV6B79,ORD GBP0.0005                           ,CLG ,297.6428039275,\"100,005,982.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-11,CLONTARF ENERGY PLC                ,GB,AIM,,GB00B09WLX62,ORD GBP0.0025                           ,CLON ,1.816903124,\"454,225,781.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jul-62,CLOSE BROS GROUP                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007668071,ORD GBP0.25                             ,CBG ,1995.22674855,\"146,600,055.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-05,CLOUDBUY PLC                       ,GB,AIM,,GB00B09Y8Y28,ORD GBP0.01                             ,CBUY ,8.59491263125,\"125,016,911.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Sep-12,CLOUDCALL GROUP PLC                ,GB,AIM,,GB00B4XS5145,ORD GBP0.20                             ,CALL ,10.3234962,\"17,205,827.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-13,CLOUDTAG INC                       ,KY,AIM,,KYG2215A1076,ORD GBP0.001 (DI)                       ,CTAG ,31.394872113,\"393,666,108.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-May-94,CLS HLDGS                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001592475,ORD GBP0.25                             ,CLI ,690.19224754,\"43,849,571.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-12,CLUFF NATURAL RESOURCES PLC        ,GB,AIM,,GB00B6SYKF01,ORD GBP0.005                            ,CLNR ,4.246993278,\"257,393,532.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Feb-16,CMC MARKETS                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B14SKR37,ORD GBP0.25                             ,CMCX,818.853612084,\"287,923,211.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-96,CML MICROSYSTEMS                   ,GB,UK Main Market,Standard Shares,GB0001602944,ORD GBP0.05                             ,CML ,57.43343085,\"16,527,606.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-05,COAL OF AFRICA LTD                 ,AU,AIM,,AU000000CZA6,NPV                                     ,CZA  ,58.785430025,\"1,679,583,715.00\",Basic Materials,Basic Resources,Mining,Coal,1771,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jan-48,COATS GROUP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B4YZN328,ORD GBP0.05                             ,COA ,431.3116362,\"1,437,705,454.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-54,COBHAM PLC                         ,GB,UK Main Market,Standard Shares,GB0003430401,6% 2ND CUM PRF GBP1                     ,85GU,2761.615847067,\"19,700.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-54,COBHAM PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B07KD360,ORD GBP0.025                            ,COB ,2761.615847067,\"1,707,863,851.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-13,COCA-COLA HBC AG                   ,CH,International Main Market,Premium Equity Commercial Companies,CH0198251305,ORD CHF6.70(CDI)                        ,CCH ,6086.5157673,\"363,591,145.00\",Consumer Goods,Food & Beverage,Beverages,Soft Drinks,3537,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n12-Feb-16,COGENPOWER PLC                     ,GB,AIM,,GB00BYT56612,ORD GBP0.0025                           ,CGP  ,9.6571013,\"50,166,760.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-06,COHORT                             ,GB,AIM,,GB00B0YD2B94,ORD GBP0.10                             ,CHRT ,127.38280411,\"40,959,101.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Aug-04,COLEFAX GROUP                      ,GB,AIM,,GB0002090453,ORD GBP0.10                             ,CFX  ,56.626,\"12,310,000.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-14,COLLAGEN SOLUTIONS PLC             ,GB,AIM,,GB00B94T6Y14,ORD GBP0.01                             ,COS  ,16.6714431075,\"193,292,094.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jul-08,COMMERCIAL BANK                    ,QA,International Main Market,Standard GDRs,US2026092021,GDR EACH REPR 0.20 ORD 'REGS'           ,CBQS,140.443764369,\"92,176,475.00\",Financials,Financial Services,Financial Services,Investment Services,8777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n3-Jul-08,COMMERCIAL BANK                    ,QA,International Main Market,Standard GDRs,US2026091031,GDR EACH REPR 0.20 ORD '144A'           ,55BC,140.443764369,0.00,Financials,Financial Services,Financial Services,Investment Services,8777,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n31-Jul-96,COMMERCIAL INTL BANK(EGYPT)S.A.E   ,EG,International Main Market,Standard GDRs,US2017121060,GDR-EACH REPR 1 ORD EGP10(144A)         ,41JB,1628.59083568235,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n31-Jul-96,COMMERCIAL INTL BANK(EGYPT)S.A.E   ,EG,International Main Market,Standard GDRs,US2017122050,GDR EACH REPR 1 ORD EGP10 REG'S'        ,CBKD,1628.59083568235,\"508,749,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n24-Apr-13,COMMERZBANK AG                     ,DE,International Main Market,Standard Shares,DE000CBK1001,NPV                                     ,CZB ,6198.64616560944,\"1,138,506,941.00\",Financials,Banks,Banks,Banks,8355,SSMU,SMEV,EUR,,,,,,,,,,,,,,,,,,\r\n27-Jun-94,COMMUNISIS                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006683238,ORD GBP0.25                             ,CMS ,85.83922665,\"206,841,510.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-09,COMPAL ELECTRONICS INC             ,TW,Trading Only,,US20440Y2000,GDR EACH REPR 5 ORD SHS 'REG S'         ,CEIR,0,\"61,018,298.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n8-Jul-14,COMPASS GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLNN3L44,ORD GBP0.10625                          ,CPG ,23937.23221428,\"1,660,002,234.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-16,COMPTOIR GROUP PLC                 ,GB,AIM,,GB00BYT1L205,ORD GBP0.01                             ,COM  ,65.28,\"96,000,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-13,COMPUTACENTER                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BV9FP302,ORD GBP0.075555                         ,CCC ,951.42123636,\"131,593,532.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-16,CONCEPTA PLC                       ,GB,AIM,,GB00BYZ2R301,ORD GBP0.025                            ,CPT  ,19.103100275,\"109,160,573.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Sep-05,CONCHA PLC                         ,GB,AIM,,GB00B8Y82097,ORD GBP0.001                            ,CHA  ,12.17292684,\"1,623,056,912.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-96,CONCURRENT TECHNOLOGIES            ,GB,AIM,,GB0002183191,ORD GBP0.01                             ,CNC  ,47.2098185,\"72,630,490.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n31-May-06,CONDOR GOLD PLC                    ,GB,AIM,,GB00B8225591,ORD GBP0.20                             ,CNR  ,39.66953852,\"48,377,486.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Aug-06,CONNECT GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B17WCR61,ORD GBP0.05                             ,CNCT,311.01216558,\"190,221,508.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-07,CONNEMARA MINING PLC               ,IE,AIM,,IE00B2357X72,ORD EUR0.01                             ,CON  ,1.1016492725,\"55,779,710.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-May-00,CONROY GOLD & NATURAL RESOURCES PLC,IE,AIM,,IE00BZ4BTZ13,ORD EUR0.001                            ,CGNR ,2.51422146,\"9,859,692.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Aug-83,CONSORT MEDICAL PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000946276,ORD GBP0.10                             ,CSRT,315.10498733,\"30,386,209.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Supplies,4537,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-14,CONSTELLATION HEALTHCARE TECHNO INC,US,AIM,,USU210051004,ORD USD0.0001 DI REG S                  ,CHT  ,125.956817325,\"88,390,749.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-15,CONVIVIALITY PLC                   ,GB,AIM,,GB00BC7H5F74,ORD GBP0.0002                           ,CVR  ,384.35757075,\"170,825,587.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-09,CONYGAR INVESTMENT CO(THE)         ,GB,AIM,,GB0033698720,ORD GBP0.05                             ,CIC  ,148.569824,\"92,856,140.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-14,CONYGAR ZDP PLC                    ,GB,UK Main Market,Standard Shares,GB00BH4TCL65,ZERO DIV PREF GBP0.01                   ,CICZ,35.925,\"30,000,000.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-94,CO-OPERATIVE GROUP LTD             ,GB,UK Main Market,Standard Debt,GB0002224060,7.625% 1ST MTG DEB STK 2018 GBP         ,87GO,0,\"50,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n6-Sep-11,CORAL PRODUCTS                     ,GB,AIM,,GB0002235736,ORD GBP0.01                             ,CRU  ,16.207398675,\"83,114,865.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-11,CORERO NETWORK SECURITY PLC        ,GB,AIM,,GB00B54X0432,ORD GBP0.01                             ,CNS  ,40.17366776,\"203,410,976.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jan-16,CORETX HLDGS PLC                   ,GB,AIM,,GB00B4NJ4984,ORD GBP0.025                            ,COR  ,64.90692514,\"190,902,721.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-91,CORUS FINANCE                      ,GB,UK Main Market,Standard Debt,GB0001411817,11.5% DEB STK 2016                      ,BD84,0,\"300,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n3-Jan-79,COSTAIN GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B64NSP76,ORD GBP0.50                             ,COST,354.970873425,\"100,700,957.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-16,COUNTRYSIDE PROPERTIES PLC         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYPHNG03,ORD GBP1                                ,CSP ,1026,\"450,000,000.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-13,COUNTRYWIDE PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B9NWP991,ORD GBP0.01                             ,CWD ,575.165242781,\"219,444,961.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n2-Sep-93,COVENTRY BUILDING SOCIETY          ,GB,UK Main Market,Standard Debt,GB0002290764,12.125% PERM INT BEARING SHS GBP1000 RG ,CVBP,0,\"40,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n29-Jun-99,CPL RESOURCES                      ,IE,AIM,,IE0007214426,EUR0.10                                 ,CPS  ,134.5223704,\"30,573,266.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Feb-15,CPPGROUP PLC                       ,GB,AIM,,GB00B5W55H93,ORD GBP0.01                             ,CPP  ,59.384171,\"848,345,300.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-07,CQS NEW CITY HIGH YIELD FD LTD     ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B1LZS514,ORD NPV                                 ,NCYF,241.1676874075,\"411,373,454.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Sep-07,CRANEWARE PLC                      ,GB,AIM,,GB00B2425G68,ORD GBP0.01                             ,CRW  ,279.38096955,\"27,190,362.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-93,CRANSWICK                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002318888,ORD GBP0.10                             ,CWK ,1160.9578438,\"48,575,642.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Aug-04,CRAVEN HOUSE CAPITAL PLC           ,GB,AIM,,GB00BD4FQ360,ORD USD1                                ,CRV  ,12.958699708065,\"1,838,939.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n11-Apr-08,CRAWSHAW GROUP PLC                 ,GB,AIM,,GB00B2PQMW21,ORD GBP0.05                             ,CRAW ,65.025505875,\"78,818,795.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Aug-94,CREIGHTONS                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002341666,ORD GBP0.01                             ,CRL ,6.35770706875,\"59,837,243.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Personal Products,3767,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-13,CREST NICHOLSON HLDGS  PLC         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B8VZXT93,ORD GBP0.05                             ,CRST,1171.062671837,\"251,787,287.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-93,CRESTON PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004440284,ORD GBP0.10                             ,CRE ,61.771161155,\"59,111,159.00\",Consumer Services,Media,Media,Media Agencies,5555,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Feb-73,CRH                                ,IE,International Main Market,Premium Equity Commercial Companies,IE0001827041,ORD EUR0.32                             ,CRH ,20942.30537055,\"816,464,147.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n5-Feb-73,CRH                                ,IE,International Main Market,Standard Shares,IE0001827603,7%'A'CUM PRF EUR1.27                    ,97GM,20942.30537055,\"872,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSX4,SXCL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-06,CRIMSON TIDE PLC                   ,GB,AIM,,GB0002080082,ORD GBP0.001                            ,TIDE ,13.0889723445,\"447,486,234.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-64,CRODA INTERNATIONAL PLC            ,GB,UK Main Market,Standard Shares,GB0002342854,6.6% CUM PRF GBP1                       ,49GP,4473.23584804,0.00,Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-64,CRODA INTERNATIONAL PLC            ,GB,UK Main Market,Standard Shares,GB0002343159,5.9% CUM PRF GBP1                       ,50GP,4473.23584804,\"615,562.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-64,CRODA INTERNATIONAL PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYZWX769,ORD GBP0.10357143                       ,CRDA,4473.23584804,\"135,124,108.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-12,CROMA SECURITY SOLUTIONS GROUP PLC ,GB,AIM,,GB00B5MJV178,ORD GBP0.05                             ,CSSG ,5.206812345,\"16,529,563.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-96,CROMPTON GREAVES                   ,IN,PSM,Standard GDRs,US2271201020,GDR EACH REPR 5 ORD SHS(144A)           ,CGVA,27.7116786374999,0.00,Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n11-Jul-96,CROMPTON GREAVES                   ,IN,PSM,Standard GDRs,US2271202010,GDR-EACH REPR 5 ORD SHS(REG'S')         ,CGVD,27.7116786374999,\"6,613,750.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n31-Dec-07,CRONIN GROUP PLC                   ,GB,AIM,,GB00B29YYY86,ORD GBP0.0001                           ,CRON ,6.57739933,\"657,739,933.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-07,CROPPER(JAMES)                     ,GB,AIM,,GB0002346053,ORD GBP0.25                             ,CRPR ,82.7457344,\"9,235,015.00\",Basic Materials,Basic Resources,Forestry & Paper,Paper,1737,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-14,CROSSRIDER LTD                     ,IM,AIM,,IM00BQ8NYV14,ORD USD0.0001                           ,CROS ,41.56965092,\"148,463,039.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-98,CROWN PLACE VCT                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002577434,ORD GBP0.10                             ,CRWN,35.6700253075,\"133,345,889.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-08,CRYSTAL AMBER FUND LTD             ,GG,AIM,,GG00B1Z2SL48,ORD GBP0.01                             ,CRS  ,168.31718112,\"95,634,762.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-10,CSF GROUP PLC                      ,JE,AIM,,JE00B61NN442,ORD GBP0.10                             ,CSFG ,2.0003583375,\"160,028,667.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-15,CURTIS BANKS GROUP PLC             ,GB,AIM,,GB00BW0D4R71,ORD GBP0.005                            ,CBP  ,176.1944877,\"53,392,269.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n26-Mar-14,CUSTODIAN REIT PLC                 ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BJFLFT45,ORD GBP0.01                             ,CREI,278.8121149,\"260,572,070.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jun-13,CVC CREDIT PTNRS EUROPEAN OPPS LTD ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B9G79F59,ORD NPV EUR                             ,CCPE,449.490216210155,\"238,248,185.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,EUR,,,,,,,,,,,,,,,,,,\r\n25-Jun-13,CVC CREDIT PTNRS EUROPEAN OPPS LTD ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B9MRHZ51,ORD NPV GBP                             ,CCPG,449.490216210155,\"248,014,974.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Oct-07,CVS GROUP PLC                      ,GB,AIM,,GB00B2863827,ORD GBP0.002                            ,CVSG ,537.30064713,\"58,946,862.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-05,CYAN HLDGS PLC                     ,GB,AIM,,GB00B0P66Q02,ORD GBP0.0001                           ,CYAN ,28.15510001,\"14,077,550,005.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-16,CYBG PLC                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BD6GN030,ORD GBP0.10                             ,CYBG,2373.271875944,\"879,315,256.00\",Financials,Banks,Banks,Banks,8355,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Feb-02,CYPROTEX PLC                       ,GB,AIM,,GB00BP25RZ14,ORD GBP0.01                             ,CRX  ,32.3544096,\"22,468,340.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-08,D4T4 SOLUTIONS PLC                 ,GB,AIM,,GB0001351955,ORD GBP0.02                             ,D4T4 ,47.80804736,\"37,350,037.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-59,DAEJAN HLDGS                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002502036,GBP0.25                                 ,DJAN,880.4302413,\"16,395,349.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-32,DAILY MAIL & GENERAL TRUST         ,GB,UK Main Market,Standard Shares,GB0009457366,'A'ORD NON VTG GBP0.125                 ,DMGT,2369.3033231,\"328,158,355.00\",Consumer Services,Media,Media,Publishing,5557,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n28-Aug-96,DAIRY CREST GROUP                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002502812,ORD GBP0.25                             ,DCG ,873.91493007,\"133,117,278.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-90,DAIRY FARM INTERNATIONAL HLDGS     ,BM,International Main Market,Standard Shares,BMG2624N1535,ORD USD0.05 5/9 CENTS                   ,DFI ,50.7585013417732,\"1,547,644,719.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n14-May-90,DAIRY FARM INTERNATIONAL HLDGS     ,BM,International Main Market,Standard Shares,BMG2624N1535,ORD USD0.05 5/9 CENTS (JERSEY REG)      ,DFIJ,50.7585013417732,\"7,153,082.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n14-May-90,DAIRY FARM INTERNATIONAL HLDGS     ,BM,International Main Market,Standard Shares,BMG2624N1535,ORD USD0.05 5/9 CENTS (BERMUDA REG)     ,DFIB,50.7585013417732,\"112,779.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n30-Jun-16,DALATA HOTEL GROUP PLC             ,IE,International Main Market,Standard Shares,IE00BJMZDW83,ORD EUR0.01                             ,DAL ,674.689580875,\"182,966,666.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-14,DALRADIAN RESOURCES INC            ,CA,AIM,,CA2354991002,ORD NPV (DI)                            ,DALR ,163.076409405,\"205,127,559.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-11,DAMILLE INVESTMENTS II LTD         ,GG,UK Main Market,,GG00B7617Z91,ORD NPV                                 ,DIL2,66.584303,\"70,088,740.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM1,SFML,GBX,,,,,,,,,,,,,,,,,,\r\n15-Aug-05,DART GROUP PLC                     ,GB,AIM,,GB00B1722W11,ORD GBP0.0125                           ,DTG  ,643.24623775,\"143,341,780.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-97,DATANG INTL POWER GENERATION       ,CN,International Main Market,Standard Shares,CNE1000002Z3,'H'CNY1                                 ,DAT ,633.455831020374,\"3,043,369,580.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-06,DATATEC                            ,ZA,AIM,,ZAE000017745,ZAR0.01 (DI)                            ,DTC  ,578.8413785,\"210,487,774.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-16,DAVICTUS PLC                       ,JE,UK Main Market,Standard Shares,JE00BYY5RQ34,ORD NPV                                 ,DVT ,1.35,\"11,250,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322253229,S&P GLOBAL INFRASTRUCTURE UCITS         ,XSGI,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0476289623,MSCI INDONESIA IDX UCITS GBP            ,XMID,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0460391732,DBLCI - OY BALANCED ETF 2C USD          ,XBCU,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292106753,EURO STOXX 50 SHORT UCITS               ,XSSX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292104030,STOXX 600 EUROPE TELECOMMUNICATION UCITS,XSKR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274210672,MSCI USA INDEX UCITS USD                ,XMUD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292107645,MSCI EMERGING MARKETS INDEX UCITS USD   ,XMMD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292107991,MSCI EM ASIA INDEX UCITS GBP            ,XMAS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322251520,S&P 500 INVERSE DAILY UCITS             ,XSPS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292108619,MSCI EM LATAM INDEX UCITS USD           ,XMLD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0356591882,USD MONEY MARKETS UCITS'1C'USD          ,XUSD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274209740,MSCI JAPAN INDEX UCITS (GBP) (DR)       ,XMJP,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292104469,STOXX 600 EUROPE TECHNOLOGY UCITS       ,XS8R,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109187,MSCI TAIWAN IDX UCITS ETF (DR)          ,XMTD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292097747,FTSE ALL-SHARE UCITS                    ,XASX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292097317,FTSE 250 UCITS DR (GBP)                 ,XMCX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109187,MSCI TAIWAN IDX UCITS ETF (DR)          ,XMTW,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274211217,EURO STOXX 50 UCITS                     ,XESX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252502,MSCI RUSSIA 25% CAPPED INDEX UCITS      ,XMRC,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292107991,MSCI EM ASIA INDEX UCITS                ,XMAD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109344,MSCI BRAZIL INDEX(DR) USD(USD) UCITS    ,XMBD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109856,FTSE CHINA 50 1C USD DR UCITS           ,XX2D,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252924,FTSE VIETNAM UCITS                      ,XFVT,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292100046,DBX MSCI KOREA IDX (USD) UCITS (DR)     ,XKSD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274209237,MSCI EUROPE INDEX UCITS USD             ,XMED,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109690,NIFTY 50 UCITS USD                      ,XNID,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0411075376,LEVDAX DAILY UCITS  GBP                 ,XLDX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0411075020,SHORTDAX X2 UCITS(EUR)GBP               ,XSD2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252338,MSCI PACIFIC EX JAPAN UCITS(DR) USD(USD),XPXD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292106241,SHORTDAX DAILY UCITS                    ,XSDX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292103222,STOXX 600 EUROPE HEALTH CARE UCITS      ,XSDR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0411078636,S&P 500 2X INVERSE IIDX UCITS(USD)USD   ,XT2D,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328475792,STOXX 600 EUROPE UCITS EUR DR (GBP)     ,XSX6,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0380865021,EURO STOXX 50 UCITS                     ,XESC,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292100806,STOXX 600 EUROPE BASIC RESOURCES UCITS  ,XSPR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292096186,STOXX GBL SELECT DIVIDEND 100 UCITS USD ,XGDD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292097234,FTSE 100 UCITS DR (GBP)                 ,XUKX,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0476289540,MSCI CANADA INDEX UCITS USD(USD)        ,XCAD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292106084,STOXX 600 EUROPE INDUTRIAL GOODS UCITS  ,XSNR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328473581,FTSE 100 SHORT DAILY UCITS              ,XUKS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292103651,STOXX 600 EUROPE BANKS  UCITS           ,XS7R,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252171,MSCI AC ASIA EX JAPAN UCITS USD(USD)    ,XAXD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292095535,EURO STOXX SELECT DIVIDEND 30 UCITS(GBP),XD3E,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0429790313,HSI SHORT DAILY INDEX UCITS 2C          ,XHSD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292108619,MSCI EM LATAM INDEX UCITS               ,XMLA,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292101796,STOXX 600 EUROPE OIL GAS UCITS          ,XSER,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252338,MSCI PACIFIC EX JAPAN UCITS(DR) USD(GBP),XPXJ,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274209740,MSCI JAPAN INDEX UCITS (USD) (DR)       ,XMJD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322250712,LPX MM PRIVATE EQUITY UCITS             ,XLPE,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109005,MSCI EM EMEA INDEX UCITS                ,XMXD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292105359,STOXX 600 EUROPE FOOD BEVERAGE UCITS    ,XS3R,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322253732,MSCI EUROPE MID CAP TRN INDEX UCITS     ,XEUM,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322253906,MSCI EUROPE SMALL CAP TRN INDEX ETF 1C  ,XXSC,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328476410,S&P SELECT FRONTIER UCITS USD           ,XSFD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252171,MSCI AC ASIA EX JAPAN UCITS USD(GBP)    ,XAXJ,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322253229,S&P  GLOBAL INFRASTRUCTURE UCITS USD    ,XGID,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252924,FTSE VIETNAM UCITS USD                  ,XVTD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109690,NIFTY 50 UCITS GBP                      ,XNIF,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322249037,STOXX 600 EUROPE BANKS SHORT DAILY UCITS,XS7S,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328474803,S&P/ASX 200 UCITS (DR)                  ,XAUS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292104899,STOXX 600 EUROPE UTILITIES UCITS        ,XS6R,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274209237,MSCI EUROPE INDEX UCITS                 ,XMEU,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322252502,MSCI RUSSIA 25% CAPPED INDEX UCITS USD  ,XMRD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274208692,MSCI WORLD IDX UCITS USD                ,XMWD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109344,MSCI BRAZIL INDEX(DR) USD(GBP) UCITS    ,XMBR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292096186,STOXX GBL SELECT DIVIDEND 100 UCITS     ,XGSD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292100046,DBX MSCI KOREA IDX UCITS (DR)           ,XKS2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328475529,ISLAMIC MARKET TITANS 100 UCITS         ,XIMT,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0274210672,MSCI USA INDEX UCITS                    ,XMUS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0328476410,S&P SELECT FRONTIER UCITS               ,XSFR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0322251520,S&P 500 INVERSE DAILY UCITS USD         ,XSPD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFL ,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0411078552,S&P 500 2X LEVERAGED INDEX UCITS(USD)USD,XS2D,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,USD,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292107645,MSCI EMERGING MARKETS INDEX UCITS       ,XMEM,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292109856,FTSE CHINA 50 1C DR UCITS               ,XX25,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-07,DB X-TRACKERS                      ,LU,International Main Market,Standard Shares,LU0292105193,STOXX 600 EUROPE INSURANCE UCITS        ,XSIR,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n8-Sep-09,DB X-TRACKERS II                   ,LU,International Main Market,,LU0429459356,II IBOXX USD TREASURIES TR IDX UCITS(DR),XUTD,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,USD,,,,,,,,,,,,,,,,,,\r\n8-Sep-09,DB X-TRACKERS II                   ,LU,International Main Market,,LU0429458895,II IBOXX USD TRSURS 1-3 TR IDX UCITS(DR),XUT3,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,USD,,,,,,,,,,,,,,,,,,\r\n8-Sep-09,DB X-TRACKERS II                   ,LU,International Main Market,,LU0429459513,IBOXX USD TRES INFL LKD UCITS (DR)      ,XUIT,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,USD,,,,,,,,,,,,,,,,,,\r\n19-May-94,DCC                                ,IE,International Main Market,Premium Equity Commercial Companies,IE0002424939,ORD EUR0.25                             ,DCC ,6079.5848421,\"87,728,497.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Feb-06,DCD MEDIA PLC                      ,GB,AIM,,GB00BBD7QB75,ORD GBP1                                ,DCD  ,6.22647655,\"2,541,419.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-47,DE LA RUE                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B3DGH821,ORD GBP0.4486857                        ,DLAR,604.8624085,\"99,894,700.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-06,DEBENHAMS PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B126KH97,ORD GBP0.0001                           ,DEB ,742.246081302,\"1,224,828,517.00\",Consumer Services,Retail,General Retailers,Broadline Retailers,5373,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-00,DECHRA PHARMACEUTICALS             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009633180,ORD GBP0.01                             ,DPH ,1186.148496,\"91,242,192.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n16-Aug-02,DEE VALLEY GROUP                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031798449,ORD GBP0.05                             ,DVW ,63.02384215,\"4,133,333.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Aug-02,DEE VALLEY GROUP                   ,GB,UK Main Market,Standard Shares,GB0031801367,NON VTG ORD GBP0.05                     ,DVWA,63.02384215,\"493,268.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-15,DEFENX PLC                         ,GB,AIM,,GB00BYNF4J61,ORD GBP0.018                            ,DFX  ,7.32513354,\"6,720,306.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-13,DEKELOIL PUBLIC LTD                ,CY,AIM,,CY0106502111,ORD EUR0.0003367 (DI)                   ,DKL  ,26.6410843,\"247,824,040.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Nov-01,DELTEX MEDICAL GROUP               ,GB,AIM,,GB0059337583,ORD GBP0.01                             ,DEMG ,16.10119333125,\"286,243,437.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Apr-08,DEPA LTD                           ,AE,International Main Market,Standard GDRs,US2495081026,GDR EACH REPR 10 SHS '144A'             ,71BT,21.8380490886335,0.00,Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n23-Apr-08,DEPA LTD                           ,AE,International Main Market,Standard GDRs,US2495082016,GDR EACH REPR 10 SHS 'REGS'             ,DEPS,21.8380490886335,\"10,538,834.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n13-Aug-84,DERWENT LONDON PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002652740,ORD GBP 0.05                            ,DLN ,2795.79689904,\"102,335,172.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-93,DEVRO                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002670437,ORD GBP 0.10                            ,DVO ,393.95798232,\"165,528,564.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-06,DEWHURST                           ,GB,AIM,,GB0002675261,'A'NON.V ORD GBP 0.1                    ,DWHA ,45.04638585,\"5,202,198.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-06,DEWHURST                           ,GB,AIM,,GB0002675048,ORD GBP 0.10                            ,DWHT ,45.04638585,\"3,308,824.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-15,DFS FURNITURE PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BTC0LB89,ORD GBP1.50                             ,DFS ,573.375023109,\"211,655,601.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n6-May-52,DIAGEO                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002374006,ORD GBP0.28 101/108                     ,DGE ,52333.452741075,\"2,482,022,895.00\",Consumer Goods,Food & Beverage,Beverages,Distillers & Vintners,3535,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-93,DIALIGHT                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033057794,ORD GBP0.0189                           ,DIA ,202.805924,\"32,140,400.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-07,DIAMOND BANK                       ,NG,PSM,Standard GDRs,US25256V1098,GDR EACH REPR 100 ORD SHS'(CCI)         ,DBPA,97.3754888191797,\"37,593,985.00\",Financials,Banks,Banks,Banks,8355,IOBU,IPLU,USD,,,,,,,,,,,,,,,,,,\r\n11-Dec-07,DIAMOND BANK                       ,NG,PSM,Standard GDRs,US25256V2088,GDR EACH REPR 100 ORD SHS               ,DBP ,97.3754888191797,\"37,593,985.00\",Financials,Banks,Banks,Banks,8355,IOBU,IPLU,USD,,,,,,,,,,,,,,,,,,\r\n1-Feb-07,DIAMONDCORP PLC                    ,GB,AIM,,GB00B183ZC46,ORD GBP0.001                            ,DCP  ,33.5117706,\"478,739,580.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Mar-10,DIGITAL BARRIERS LTD               ,GB,AIM,,GB00B627R876,ORD GBP0.01                             ,DGB  ,73.022788375,\"157,887,110.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-13,DIGITAL GLOBE SERVICES LTD         ,BM,AIM,,BMG2870A1036,ORD USD0.001 (DI)                       ,DGS  ,14.2150742,\"29,926,472.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-04,DIGNITY PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRB37M78,ORD GBP0.12335664335                    ,DTY ,1322.1861402,\"49,170,180.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-06,DILLISTONE GROUP                   ,GB,AIM,,GB00B13QQB40,ORD GBP0.05                             ,DSG  ,16.04203416,\"19,327,752.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-60,DIPLOMA                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001826634,ORD GBP0.05                             ,DPLM,941.02070205,\"113,239,555.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-12,DIRECT LINE INSURANCE GROUP PLC    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BY9D0Y18,ORD GBP0.109090909                      ,DLG ,5073.75,\"1,375,000,000.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n27-May-16,DIRECTA PLUS PLC                   ,GB,AIM,,GB00BSM98843,ORD GBP0.0025                           ,DCTA ,65.656048095,\"44,212,827.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jan-04,DISTIL PLC                         ,GB,AIM,,GB0030164023,ORD GBP0.001                            ,DIS  ,6.32204402625,\"561,959,469.00\",Consumer Goods,Food & Beverage,Beverages,Distillers & Vintners,3535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-15,DIURNAL GROUP PLC                  ,GB,AIM,,GB00BDB6Q760,ORD GBP0.05                             ,DNL  ,73.878223985,\"52,210,759.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Apr-11,DIVERSE INCOME TRUST PLC(THE)      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B65TLW28,ORD GBP0.001                            ,DIVI,855.06924765,\"934,501,910.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-13,DIXONS CARPHONE PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B4Y7R145,ORD GBP0.001                            ,DC. ,4265.982218465,\"1,150,790,995.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jul-14,DJI HLDGS PLC                      ,GB,AIM,,GB00BNBNSF91,ORD GBP0.10                             ,DJI  ,286.0964730575,\"206,941,391.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-03,DODS GROUP PLC                     ,GB,AIM,,GB0031129579,ORD GBP0.01                             ,DODS ,49.421938185,\"340,840,953.00\",Consumer Services,Media,Media,Publishing,5557,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-05,DOLPHIN CAPITAL INVESTORS          ,VG,AIM,,VGG2803G1028,COM SHS EUR0.01                         ,DCI  ,48.17538283125,\"904,702,025.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-08,DOMINO'S PIZZA GROUP PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYN59130,ORD GBP0.00520833                       ,DOM ,1802.511798048,\"502,372,296.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-16,DORCASTER PLC                      ,GB,AIM,,GB00BDB79J29,ORD GBP0.0125                           ,DAR  ,16.25,\"10,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-10,DORIC NIMROD AIR ONE LTD           ,GG,UK Main Market,,GG00B4MF3899,ORD PREF NPV                            ,DNA ,47.9154375,\"42,450,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-13,DORIC NIMROD AIR THREE LTD         ,GG,UK Main Market,,GG00B92LHN58,RED ORD PREF NPV                        ,DNA3,235.4,\"220,000,000.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-11,DORIC NIMROD AIR TWO LTD           ,GG,UK Main Market,,GG00B3Z62522,ORD PREF NPV                            ,DNA2,377.45875,\"172,750,000.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-11,DOTDIGITAL GROUP PLC               ,GB,AIM,,GB00B3W40C23,ORD GBP0.005                            ,DOTD ,150.31474239,\"294,734,789.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53730,ORD GBP0.001 DP2011 GENERAL A           ,D4OA,9.55917278425,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4MGR241,ORD GBP0.001 B                          ,DO1B,9.55917278425,\"19,911,100.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53B77,ORD GBP0.001 DP2011 STRUCTURED          ,D4SO,9.55917278425,\"-35,175.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6QPQ463,ORD GBP0.001 D                          ,DO1D,9.55917278425,\"7,877,247.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53D91,ORD GBP0.001 DP67                       ,D467,9.55917278425,\"-80,473.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Standard Shares,GB00B4MCHT95,ORD GBP0.001 C                          ,DO1C,9.55917278425,\"29,926,370.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53847,ORD GBP0.001 DP2011 GENERAL             ,D4OO,9.55917278425,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53953,ORD GBP0.001 DP2011 LOW CARBON          ,D4LC,9.55917278425,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,DOWNING FOUR VCT PLC               ,GB,UK Main Market,Premium Equity Open Ended Investment Companies,GB00BWX53C84,ORD GBP0.001 DP2011 STRUCTURED A        ,D4SA,9.55917278425,\"-35,175.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n3-May-96,DOWNING ONE VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BFRSVQ41,ORD GBP0.01                             ,DDV1,83.068765195,\"98,306,231.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BH7Y7B35,ORD GBP0.001 H                          ,DP3H,29.2380385651,\"13,446,972.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Standard Shares,GB00B4VZ1D11,'E' SHS GBP0.001                        ,DP3E,29.2380385651,\"14,994,862.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3D75146,'C' SHS GBP0.001                        ,DP3C,29.2380385651,\"7,163,376.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BSTK6426,ORD GBP0.001 J                          ,DP3J,29.2380385651,\"8,000,548.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6ZS1P26,F SHS GBP0.001                          ,DP3F,29.2380385651,\"10,821,660.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Standard Shares,GB00B3D74T59,'A' SHS GBP0.001                        ,DP3A,29.2380385651,\"10,750,064.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-05,DOWNING THREE VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4V7FP75,'D' SHS GBP0.001                        ,DP3D,29.2380385651,\"9,979,109.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B8Y7CS47,G SHS GBP0.001                          ,DP2G,74.77902923365,\"64,217,150.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BZ6CSD33,ORD GBP0.001 K                          ,DP2K,74.77902923365,\"12,925,824.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4VR3D16,'D' SHS GBP0.001                        ,DP2D,74.77902923365,\"10,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Standard Shares,GB00B3D74M80,'A' SHS GBP0.001                        ,DP2A,74.77902923365,\"10,724,029.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Standard Shares,GB00B4TLF407,'E' SHS GBP0.001                        ,DP2E,74.77902923365,\"15,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6ZS0J90,F SHS GBP0.001                          ,DP2F,74.77902923365,\"10,810,859.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-05,DOWNING TWO VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3D74S43,'C' SHS GBP0.001                        ,DP2C,74.77902923365,\"7,131,344.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Oct-13,DP AIRCRAFT I LTD                  ,GG,UK Main Market,,GG00BBP6HP33,ORD PREF NPV                            ,DPA ,167.448035733362,\"209,333,333.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n28-Jul-10,DP POLAND PLC                      ,GB,AIM,,GB00B3Q74M51,ORD GBP0.005                            ,DPP  ,68.3809602,\"130,249,448.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-05,DRAGANFLY INVESTMENTS              ,JE,AIM,,JE00BSJX1352,ORD NPV                                 ,DRG  ,0.56354595,\"51,231,450.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-07,DRAGON-UKRAINIAN PROPERTIES&DEVLPMT,IM,AIM,,IM00B1XH2B90,ORD GBP0.01                             ,DUPD ,15.99813115875,\"109,388,931.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-16,DRAPER ESPRIT PLC                  ,GB,AIM,,GB00BY7QYJ50,ORD GBP0.01                             ,GROW ,123.038574725,\"40,673,909.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-05,DRAX GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1VNSX38,ORD GBP0.1155172                        ,DRX ,1219.637363163,\"401,328,517.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Oct-05,DRIVER GROUP                       ,GB,AIM,,GB00B0L9C092,ORD GBP0.004                            ,DRV  ,13.3144998,\"31,701,190.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-May-94,DRS DATA & RESEARCH SERVICES       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002502580,ORD GBP 0.05                            ,DRS ,6.211404,\"32,691,600.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-15,DRUM INCOME PLUS REIT PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BW4NWS02,ORD GBP0.1                              ,DRIP,71.197256,\"68,458,900.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-11,DUET REAL ESTATE FINANCE LTD       ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B628S547,ORD NPV                                 ,DREF,5.35627392125,\"72,627,443.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-12,DUKE ROYALTY LTD                   ,GG,AIM,,GG00BYZSSY63,ORD NPV                                 ,DUKE ,3.899342205,\"7,877,459.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-87,DUNEDIN ENTERPRISE INVESTMENT TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005776561,ORD GBP 0.25                            ,DNE ,86.2230924,\"27,114,180.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-49,DUNEDIN INCOME GROWTH INVEST TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003406096,ORD GBP0.25                             ,DIG ,375.0837582825,\"150,183,687.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-49,DUNEDIN INCOME GROWTH INVEST TRUST ,GB,UK Main Market,Standard Debt,GB0002849015,7.875% DEB STK 2019 GBP                 ,44JV,375.0837582825,\"29,600,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Feb-59,DUNEDIN SMALLER COS INVMT TST PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1GCL258,ORD GBP0.05                             ,DNDL,96.01374223125,\"47,857,317.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n24-Oct-06,DUNELM GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1CKQ739,ORD GBP0.01                             ,DNLM,1788.39697524,\"199,153,338.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-10,DW CATALYST LTD                    ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B4XV9331,ORD RED NPV GBP                         ,DWCG,122.1161515,\"11,359,642.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n27-Feb-14,DX (GROUP) PLC                     ,GB,AIM,,GB00BJTCG679,GBP0.01                                 ,DX.  ,36.09459,\"200,525,500.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Delivery Services,2771,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-04,E2V TECHNOLOGIES                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01DW905,ORD GBP0.05                             ,E2V ,501.6679086,\"209,464,680.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-14,EAGLE EYE SOLUTIONS LTD            ,GB,AIM,,GB00BKF1YD83,ORD GBP0.01                             ,EYE  ,21.38274599,\"22,158,286.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jan-01,EARTHPORT PLC                      ,GB,AIM,,GB00B0DFPF10,ORD GBP0.10                             ,EPO  ,65.4862806675,\"471,973,194.00\",Technology,Technology,Software & Computer Services,Internet,9535,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-06,EASTERN EUROPEAN PROPERTY FUND     ,GB,AIM,,GB00B0XQ3R24,ORD GBP0.01                             ,EEP  ,8.759717505,\"17,696,399.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-07,EASTPHARMA LTD                     ,BM,International Main Market,Standard GDRs,US27778Q2049,GDR EACH REPR 1 ORD 'REGS'              ,EAST,71.9919899999998,\"67,500,000.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n18-Jul-07,EASTPHARMA LTD                     ,BM,International Main Market,Standard GDRs,US27778Q1058,GDR EACH REPR 1 ORD '144A'              ,63PE,71.9919899999998,0.00,Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n30-Jun-14,EASYHOTEL PLC                      ,GB,AIM,,GB00BN56KF84,ORD GBP0.01                             ,EZH  ,52.5,\"62,500,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Nov-00,EASYJET                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B7KR2P84,ORD GBP0.27285714                       ,EZJ ,4369.57839695,\"395,436,959.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-98,EATON FINANCE NV                   ,CW,PSM,Standard Debt,GB0003026654,12.50% UNS LN STK 2014(BR)              ,96GR,0,0.00,,,,,6,CWNU,EIOU,GBP,,,,,,,,,,,,,,,,,,\r\n18-May-98,EATON FINANCE NV                   ,CW,PSM,Standard Debt,GB0003026654,12.50% UNS LN STK 2014                  ,95GR,0,\"35,000,000.00\",,,,,6,CWNU,EIOU,GBP,,,,,,,,,,,,,,,,,,\r\n5-May-00,EBIQUITY PLC                       ,GB,AIM,,GB0004126057,ORD GBP0.25                             ,EBQ  ,76.638657,\"76,638,657.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-95,ECCLESIASTICAL INSURANCE OFFICE    ,GB,UK Main Market,Standard Shares,GB0003035382,8.625% NON CUM IRRD PRF GBP1            ,ELLA,0,\"106,450,000.00\",,,,,7,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-03,ECKOH PLC                          ,GB,AIM,,GB0033359141,ORD GBP0.0025                           ,ECK  ,127.2389524775,\"258,353,203.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Sep-95,ECO ANIMAL HEALTH GROUP PLC        ,GB,AIM,,GB0032036807,ORD GBP0.05                             ,EAH  ,274.34706585,\"63,068,291.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-05,ECOFIN WATER & POWER OPPORTUNITIES ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B09LK252,ORD GBP0.001                            ,ECWO,269.656906905,\"209,849,733.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jan-06,ECR MINERALS PLC                   ,GB,AIM,,GB00B0P4LQ95,ORD GBP0.00001                          ,ECR  ,0.7495927799375,\"11,993,484,479.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-12,EDEN RESEARCH                      ,GB,AIM,,GB0001646941,ORD GBP0.01                             ,EDEN ,21.3370717725,\"172,420,782.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Feb-05,EDENVILLE ENERGY PLC               ,GB,AIM,,GB00BD0S4T13,ORD GBP0.0002                           ,EDL  ,2.7960885225,\"621,353,005.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B5B6VC05,ORD GBP0.10 I                           ,EDGI,18.47996945,\"15,397,565.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,,GB00B1GJYK55,'C' SHS GBP0.10                         ,EDGC,18.47996945,\"23,421,473.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B44VMB16,ORD GBP0.10 H                           ,EDGH,18.47996945,\"19,087,395.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,,GB00B4LQCP32,ORD GBP0.10 G                           ,EDGG,18.47996945,\"24,056,803.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,,GB00B560SW69,'F' SHS GBP0.10                         ,EDGF,18.47996945,\"29,405,987.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,,GB00B00DDX23,'E' SHS GBP0.10                         ,EDGE,18.47996945,\"9,813,732.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-12,EDGE PERFORMANCE VCT PLC           ,GB,UK Main Market,,GB00B28M6V44,'D' ORD GBP0.10                         ,EDGD,18.47996945,\"19,123,350.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-87,EDINBURGH DRAGON TRUST             ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002945029,ORD GBP0.20                             ,EFM ,576.38384858,\"190,855,579.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-52,EDINBURGH INVESTMENT TRUST         ,GB,UK Main Market,Standard Debt,GB0000401033,7.75% DEB STK 2022                      ,59KD,1405.70256645,\"100,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n8-Feb-52,EDINBURGH INVESTMENT TRUST         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003052338,ORD GBP 0.25                            ,EDIN,1405.70256645,\"195,916,734.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-98,EDINBURGH WORLDWIDE INVESTMENT TST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002916335,ORD GBP 0.05                            ,EWI ,237.16,\"49,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-14,EDISTON PPTY INV CO PLC            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BNGMZB68,ORD GBP0.01                             ,EPIC,195.7,\"190,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-15,EDITA FOOD INDUSTRIES SAE          ,EG,International Main Market,Standard GDRs,US28106T1007,GDR EACH REPR 5 ORDS SPON 144A          ,66XD,706.661672284798,0.00,Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n2-Apr-15,EDITA FOOD INDUSTRIES SAE          ,EG,International Main Market,Standard GDRs,US28106T2096,GDR EACH REPR 5 ORDS SPON REG S         ,EFID,706.661672284798,\"144,936,975.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n4-Aug-98,EFG HERMES HLDGS                   ,EG,International Main Market,Standard GDRs,US2684253030,GDR EACH REPR 2 ORD EGP5'144A'(SPON)    ,BG79,148.158753599999,0.00,Financials,Financial Services,Financial Services,Investment Services,8777,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n4-Aug-98,EFG HERMES HLDGS                   ,EG,International Main Market,Standard GDRs,US2684254020,GDR EACH REPR 2 ORD EGP5 REG'S(SPON)    ,EFGD,148.158753599999,\"104,000,000.00\",Financials,Financial Services,Financial Services,Investment Services,8777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n6-Jun-05,EG SOLUTIONS PLC                   ,GB,AIM,,GB00B07XR777,ORD GBP0.01                             ,EGS  ,12.79203245,\"20,970,545.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jan-08,EGDON RESOURCES PLC                ,GB,AIM,,GB00B28YML29,ORD GBP0.01                             ,EDR  ,32.095142595,\"221,345,811.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-94,EIH                                ,IN,International Main Market,Standard GDRs,US2685252015,GDR-REPR 1 ORD INR2 REG S               ,EIHD,0,\"2,867,383.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n18-Oct-94,EIH                                ,IN,International Main Market,Standard GDRs,US2685251025,GDR-REPR 1 ORD INR2(144A)               ,80IR,0,0.00,Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n23-Mar-07,EIH PLC                            ,IM,AIM,,IM00B1HYQW54,ORD GBP0.01                             ,EIH  ,18.4265218213649,\"64,500,002.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n7-Jul-10,EKF DIAGNOSTICS HOLDINGS PLC       ,GB,AIM,,GB0031509804,GBP0.01                                 ,EKF  ,68.42638988,\"463,907,728.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-11,EL ORO LTD                         ,GG,Trading Only,,GG00B77Q7194,ORD NPV                                 ,ELX ,35.02682535,\"63,685,137.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n3-Sep-12,ELAND OIL & GAS PLC                ,GB,AIM,,GB00B8HHWX64,ORD GBP0.10                             ,ELA  ,66.60916405,\"186,319,340.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-98,ELDERSTREET VCT                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002867140,ORD GBP0.05                             ,EDV ,26.38279931,\"44,716,609.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-06,ELECOSOFT PLC                      ,GB,AIM,,GB0003081246,ORD GBP0.01                             ,ELCO ,18.5296139325,\"74,867,127.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-76,ELECTRA PRIVATE EQUITY             ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003085445,ORD GBP0.25                             ,ELTA,1371.5431317,\"35,440,391.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-00,ELECTRIC WORD                      ,GB,AIM,,GB0003083622,ORD GBP0.01                             ,ELE  ,10.54005190875,\"401,525,787.00\",Consumer Services,Media,Media,Publishing,5557,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-13,ELECTRICAL GEODESICS INC           ,US,AIM,,US28501X2018,ORD USD0.001 (DI)                       ,EGIC ,3.50556654,\"4,437,426.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jun-67,ELECTROCOMPONENTS                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003096442,ORD GBP0.10                             ,ECM ,1331.895871128,\"436,973,711.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-87,ELECTRONIC DATA PROCESSING PLC     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003101523,ORD GBP0.05                             ,EDP ,9.398232,\"12,530,976.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n26-May-15,ELEGANT HOTELS GROUP PLC           ,GB,AIM,,GB00BWXSNY91,ORD GBP0.01                             ,EHG  ,67.055920695,\"88,815,789.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-99,ELEKTRON TECHNOLOGY PLC            ,GB,AIM,,GB00B0C5RG72,ORD GBP0.05                             ,EKT  ,12.79443350625,\"186,100,851.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-64,ELEMENTIS                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002418548,ORD GBP0.05                             ,ELM ,985.89807632,\"452,246,824.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-09,EMERGING MARKET MINERALS PLC       ,GB,AIM,,GB00B3CMRN66,ORD GBP0.001                            ,EMM  ,4.73296836,\"39,441,403.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-10,EMIS GROUP PLC                     ,GB,AIM,,GB00B61D1Y04,ORD GBP0.01                             ,EMIS ,641.34444148,\"63,311,396.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-14,EMPIRIC STUDENT PROP PLC           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BLWDVR75,ORD GBP0.01                             ,ESP ,396.9390686225,\"347,430,257.00\",Financials,Real Estate,Real Estate Investment Trusts,Residential REITs,8673,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n3-Nov-04,EMPRESARIA GROUP PLC               ,GB,AIM,,GB00B0358N07,ORD GBP0.05                             ,EMR  ,53.18575822,\"49,019,132.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-05,EMPYREAN ENERGY                    ,GB,AIM,,GB00B09G2351,ORD GBP0.002                            ,EME  ,17.85484965,\"216,422,420.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-07,ENDEAVOUR INTL CORP                ,US,International Main Market,Standard Shares,US29259G2003,USD0.001                                ,ENDV,0,\"127,003,440.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n2-Jun-97,ENERGISER INVESTMENTS PLC          ,GB,AIM,,GB00B06CZD75,ORD GBP0.001                            ,ENGI ,0.99389805125,\"61,162,957.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-10,ENQUEST PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B635TG28,ORD GBP0.05                             ,ENQ ,213.8563270875,\"799,462,905.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-02,ENSOR HLDGS                        ,GB,AIM,,GB0003186409,ORD GBP0.10                             ,ESR  ,19.28290452,\"29,895,976.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-12,ENTEQ UPSTREAM PLC                 ,GB,AIM,,GB00B41Q8Q68,ORD GBP0.01                             ,NTQ  ,10.26960633,\"60,409,449.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-95,ENTERPRISE INNS                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1L8B624,ORD GBP0.025                            ,ETI ,476.8837324875,\"505,977,435.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-10,ENTERTAINMENT ONE LTD              ,CA,International Main Market,Premium Equity Commercial Companies,CA29382B1022,ORD NPV                                 ,ETO ,937.6359959,\"430,108,255.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Oct-14,ENTU (UK) LTD                      ,GB,AIM,,GB00BQXKYQ29,ORD GBP0.0005                           ,ENTU ,23.944,\"65,600,000.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-03,EP GLOBAL OPPORTUNITIES TRUST      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0033862573,ORD GBP0.01                             ,EPG ,120.76398225,\"46,269,725.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-10,EPE SPECIAL OPPORTUNITIES PLC      ,IM,AIM,,IM00B4JV7H77,ORD GBP0.05                             ,ESO  ,43.0028816,\"29,154,496.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n23-Sep-09,EPISTAR CORP                       ,TW,Trading Only,,US29428C1062,GDR EACH REPR 5 SHS '144A'              ,EPIA,0,0.00,,,,,9,MISC,INAD,USD,,,,,,,,,,,,,,,,,,\r\n24-Jul-14,EPWIN GROUP PLC                    ,GB,AIM,,GB00BNGY4Y86,ORD GBP0.0005                           ,EPWN ,153.905159775,\"141,521,986.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-10,EQUATORIAL PALM OIL PLC            ,GB,AIM,,GB00B2QBNL29,ORD GBP0.01                             ,PAL  ,5.938947348,\"349,349,844.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Oct-15,EQUINITI GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYWWHR75,ORD GBP0.1                              ,EQN ,503.25079178,\"300,000,472.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-14,ERGOMED PLC                        ,GB,AIM,,GB00BN7ZCY67,ORD GBP0.01                             ,ERGO ,47.63775485,\"39,864,230.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Aug-11,ESCHER GROUP HLDGS PLC             ,IE,AIM,,IE00B6SKRB38,ORD EUR0.005                            ,ESCH ,33.554502,\"18,641,390.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-05,ESERVGLOBAL                        ,AU,AIM,,AU000000ESV3,NPV (DI)                                ,ESG  ,39.8445788,\"612,993,520.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Feb-94,ESKMUIR PROPERTIES LD              ,GB,PSM,Standard Debt,GB0003130100,7 7/8% 1ST MTG DEB STK 2020             ,69GS,0,\"50,000,000.00\",,,,,6,SSX3,SQPM,GBP,,,,,,,,,,,,,,,,,,\r\n25-Feb-94,ESKMUIR PROPERTIES LD              ,GB,PSM,Standard Debt,GB0003200879,9.25% 1ST MTG DEB STK 2020              ,BD28,0,\"50,000,000.00\",,,,,6,SSX3,SQPM,GBP,,,,,,,,,,,,,,,,,,\r\n6-Jun-05,ESSENTRA PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0744359,ORD GBP0.25                             ,ESNT,1342.13729532,\"260,104,127.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-02,ESTABLISHMENT INVESTMENT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031336919,ORD GBP0.25                             ,ET. ,37.9,\"20,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-86,ESTATES PROPERTY INVESTMENT CO     ,GB,UK Main Market,,,,,0,,,,,,6,,,,,,,,,,,,,,,,,,,,,\r\n27-Mar-13,ESURE GROUP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B8KJH563,ORD GBP0.0008333                        ,ESUR,1125.471726,\"416,841,380.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-Apr-11,ETALON GROUP LTD                   ,GG,UK Main Market,Standard GDRs,US29760G1031,GDR EACH REPR 1 SHARE REG S             ,ETLN,651.644156254936,\"294,957,971.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n28-Nov-07,E-THERAPEUTICS PLC                 ,GB,AIM,,GB00B2823H99,ORD GBP0.001                            ,ETX  ,30.30719499,\"263,540,826.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-13,EU SUPPLY PLC                      ,GB,AIM,,GB00BFG35570,ORD GBP0.001                            ,EUSP ,6.7716406,\"67,716,406.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-96,EURASIA MINING                     ,GB,AIM,,GB0003230421,ORD GBP0.001                            ,EUA  ,7.52396538075,\"1,433,136,263.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-15,EUROCELL PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVV2KN49,ORD GBP0.001                            ,ECEL,170,\"100,000,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jan-90,EUROMONEY INSTITUTIONAL INVESTOR   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006886666,ORD GBP0.0025                           ,ERM ,1301.07488274,\"124,266,942.00\",Consumer Services,Media,Media,Publishing,5557,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-04,EUROPA OIL & GAS(HLDGS)            ,GB,AIM,,GB00B03CJS30,ORD GBP0.01                             ,EOG  ,11.6321805225,\"244,888,011.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-83,EUROPEAN ASSETS TRUST NV           ,NL,International Main Market,Standard Shares,NL0000226090,EUR0.46                                 ,EAT ,159.0955501,\"14,868,743.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-83,EUROPEAN ASSETS TRUST NV           ,NL,International Main Market,Standard Shares,NL0000288017,EUR0.46(BR)                             ,49BI,159.0955501,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSX4,SXSN,EUR,,,,,,,,,,,,,,,,,,\r\n28-Jun-72,EUROPEAN INVESTMENT TRUST PLC(THE) ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003295010,ORD GBP0.25                             ,EUT ,300.7186325,\"42,058,550.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-15,EUROPEAN METALS HLDGS LTD          ,VG,AIM,,VGG3191T1021,ORD NPV DI                              ,EMH  ,30.24385335,\"134,417,126.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Aug-16,EUROPEAN REAL ESTATE INVMT TR LTD  ,GG,UK Main Market,Standard Shares,GG00BDCSC847,GBP PTG RED PRF NPV                     ,ERET,13.07269249,\"7,735,321.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-14,EUROPEAN WEALTH GROUP LTD          ,GG,AIM,,GG00BKY4JY43,10% UNSEC CNV NTS 09/06/17 GBP10        ,EWGL ,11.95453432,\"422,875.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBP,,,,,,,,,,,,,,,,,,\r\n7-May-14,EUROPEAN WEALTH GROUP LTD          ,GG,AIM,,GG00BKY4K072,ORD GBP0.05                             ,EWG  ,11.95453432,\"23,212,688.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Aug-96,EVERGREEN MARINE CORP(TAIWAN)      ,TW,PSM,Standard GDRs,US3002461057,GDR-EACH REPR 10 COM SHS TWD(144A)      ,EGMA,39.5793515072339,0.00,Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n5-Aug-96,EVERGREEN MARINE CORP(TAIWAN)      ,TW,PSM,Standard GDRs,US3002462048,GDR-EACH REPR 10 COM SHS TWD10(REG S)   ,EGMD,39.5793515072339,\"6,267,030.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n7-Nov-13,EVERYMAN MEDIA GROUP PLC           ,GB,AIM,,GB00BFH55S51,ORD GBP0.10                             ,EMAN ,66.69978614,\"59,820,436.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Oct-15,EVGEN PHARMA PLC                   ,GB,AIM,,GB00BSVYN304,ORD GBP0.0025                           ,EVG  ,17.92000119,\"73,142,862.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-May-16,EVR HLDGS PLC                      ,GB,AIM,,GB00BD2YHN21,ORD GBP0.01                             ,EVRH ,12.03256646475,\"718,362,177.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-05,EVRAZ PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B71N6K86,ORD USD1                                ,EVR ,1928.35493632,\"1,506,527,294.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-09,EXILLON ENERGY PLC                 ,IM,UK Main Market,Premium Equity Commercial Companies,IM00B58FMW76,ORD USD0.0000125                        ,EXI ,173.624229325,\"161,510,911.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-14,EXOVA GRP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKY7HG11,ORD GBP0.01                             ,EXO ,493.3501535,\"250,431,550.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-06,EXPERIAN PLC                       ,JE,UK Main Market,Premium Equity Commercial Companies,GB00B19NLV48,ORD USD0.10                             ,EXPN,14507.42310894,\"958,218,171.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-99,EZZ STEEL                          ,EG,International Main Market,Standard GDRs,US26934Q2075,GDS EACH REP 3 ORD EGP5 REG'S'          ,AEZD,0.983102046299997,\"573,540.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n30-Jun-99,EZZ STEEL                          ,EG,International Main Market,Standard GDRs,US26934Q1085,GDS EACH REP 3 ORD EGP5 144A            ,67NW,0.983102046299997,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,ADRN,USD,,,,,,,,,,,,,,,,,,\r\n29-Oct-92,F&C CAPITAL & INCOME INV TST       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003463287,ORD GBP0.25                             ,FCI ,244.8159504,\"87,434,268.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jul-09,F&C COMMERCIAL PROPERTY TRUST LD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B4ZPCJ00,ORD GBP0.01                             ,FCPT,1036.53245682,\"822,644,807.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-59,F&C GLOBAL SMALLER COMPANIES       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000175058,ORD GBP0.25                             ,FCS ,470.260336,\"41,987,530.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-08,F&C MANAGED PORTFOLIO TRUST PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B2PP2527,GROWTH SHS GBP0.10                      ,FMPG,80.8735317375,\"27,883,500.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-08,F&C MANAGED PORTFOLIO TRUST PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B2PP3J36,INCOME SHS GBP0.10                      ,FMPI,80.8735317375,\"31,225,035.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-99,F&C PRIVATE EQUITY TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030738271,ORD GBP0.01                             ,FPEO,193.49172433125,\"74,241,429.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-04,F&C UK REAL ESTATE INVESTMENTS LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B012T521,ORD GBP0.01                             ,FCRE,403.21912974,\"428,956,521.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-95,F.B.D.HLDGS                        ,IE,International Main Market,Premium Equity Commercial Companies,IE0003290289,ORD EUR0.60                             ,FBH ,194.192732643714,\"33,306,894.00\",Financials,Insurance,Nonlife Insurance,Full Line Insurance,8532,SSQ3,SQQ3,EUR,,,,,,,,,,,,,,,,,,\r\n12-Jun-14,FAIR OAKS INCOME FUND LTD          ,GG,UK Main Market,,GG00BMBN1D14,NPV                                     ,FAIR,242.454642453271,\"320,662,090.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n5-Aug-14,FAIRFX GROUP PLC                   ,GB,AIM,,GB00BLS0XX25,ORD GBP0.01                             ,FFX  ,38.8098117,\"129,366,039.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-02,FAIRPOINT GROUP PLC                ,GB,AIM,,GB0032360280,ORD GBP0.01                             ,FRP  ,46.98238584,\"45,175,371.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-13,FALANX GROUP LTD                   ,VG,AIM,,VGG3338A1075,ORD NPV (DI)                            ,FLX  ,4.487926305,\"105,598,266.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jan-16,FALCON ACQUISITIONS LTD            ,GG,UK Main Market,,GG00BYTLL975,ORD GBP0.01                             ,FAL ,0,\"31,190,100.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-13,FALCON OIL & GAS                   ,CA,AIM,,CA3060711015,COM NPV (DI)                            ,FOG  ,54.14032912375,\"921,537,517.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jan-03,FALKLAND ISLANDS HLDGS             ,GB,AIM,,GB00BD0CWJ91,ORD GBP0.10                             ,FKL  ,23.930874275,\"12,431,623.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-04,FAR EASTERN NEW CENTURY CORP       ,TW,Trading Only,,US3073313062,GDS EACH REPR 10 ORD SHS REGS           ,FETD,0,\"2,875,294.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n13-Nov-08,FAR EASTONE TELECOMMUNICATIONS     ,TW,Trading Only,,US30733Q7079,GDR EACH REPR 15 ORD SHS'REGS'          ,FEC ,0,0.00,,,,,0,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Jun-03,FAROE PETROLEUM PLC                ,GB,AIM,,GB0033032904,ORD GBP0.10                             ,FPM  ,240.64130376,\"364,608,036.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-15,FARON PHARMACEUTICALS OY           ,FI,AIM,,FI4000153309,ORD NPV (DI)                            ,FARN ,57.77926,\"23,111,704.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-06,FASTFORWARD INNOVATIONS LTD        ,GG,AIM,,GG00BRK9BQ81,ORD GBP0.01                             ,FFWD ,18.37950723,\"136,144,498.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-12,FASTJET PLC                        ,GB,AIM,,GB00BWGCH354,ORD GBP0.01                             ,FJET ,24.670639275,\"96,747,605.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-14,FDM GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLWDVP51,ORD GBP0.01                             ,FDM ,688.1120384,\"107,517,506.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jan-06,FEDERAL BANK                       ,IN,PSM,Standard GDRs,US3131621092,GDR EACH REPR 1 INR10 '144A'            ,FEDA,38.0909999999999,0.00,Financials,Banks,Banks,Banks,8355,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n31-Jan-06,FEDERAL BANK                       ,IN,PSM,Standard GDRs,XS0229331755,GDR EACH REPR 1 INR10 'REGS'            ,FEDS,38.0909999999999,\"20,000,000.00\",Financials,Banks,Banks,Banks,8355,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n28-Mar-11,FEDERAL GRID CO UNI ENERGY SYS PJSC,RU,International Main Market,Standard GDRs,US3133541025,GDR EACH REPR 500 SHS '144A'            ,FEEA,0,0.00,,,,,9,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n19-May-14,FEEDBACK                           ,GB,AIM,,GB0003340550,ORD GBP0.25                             ,FDBK ,2.29133089125,\"203,673,857.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-52,FENNER PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003345054,ORD GBP0.25                             ,FENR,323.732856225,\"193,273,347.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-07,FERREXPO PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1XH2C03,ORD GBP0.10                             ,FXPO,369.361649105,\"588,624,142.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-10,FERRUM CRESCENT LTD                ,AU,AIM,,AU000000FCR2,NPV (DI)                                ,FCR  ,3.6358823004,\"1,731,372,524.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Nov-14,FEVERTREE DRINKS PLC               ,GB,AIM,,GB00BRJ9BJ26,ORD GBP0.0025                           ,FEVR ,1132.81800768,\"115,240,896.00\",Consumer Goods,Food & Beverage,Beverages,Soft Drinks,3537,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jun-96,FIDELITY ASIAN VALUES              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003322319,ORD GBP0.25                             ,FAS ,193.36656846,\"60,807,097.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-10,FIDELITY CHINA SPECIAL SITUATIONS  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B62Z3C74,ORD GBP0.01                             ,FCSS,943.52600016,\"557,639,480.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-91,FIDELITY EUROPEAN VALUES           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BK1PKQ95,ORD GBP0.025                            ,FEV ,740.624145477,\"419,142,131.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-94,FIDELITY JAPANESE VALUES           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003328555,ORD GBP0.25                             ,FJV ,118.61687144125,\"118,714,237.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-94,FIDELITY JAPANESE VALUES           ,GB,UK Main Market,Standard Shares,GB00BLY2CK21,SUBSCRIPTION SHS GBP0.00001             ,FJVS,118.61687144125,\"22,790,861.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISC,MISC,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-94,FIDELITY SPECIAL VALUES            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BWXC7Y93,ORD GBP0.05                             ,FSV ,531.139792,\"270,644,480.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-97,FIDESSA GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007590234,ORD GBP0.10                             ,FDSA,919.72461282,\"37,070,722.00\",Technology,Technology,Software & Computer Services,Software,9537,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-15,FILTRONIC                          ,GB,AIM,,GB0003362992,ORD GBP0.001                            ,FTC  ,23.79466679,\"206,910,146.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-98,FINANSBANK                         ,TR,International Main Market,Standard GDRs,US31770N3008,GDR EACH REPR 5 ORD'144A'(BNY)          ,01LS,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n11-Jun-98,FINANSBANK                         ,TR,International Main Market,Standard GDRs,US31770N4097,GDR EACH REPR 5 ORD 'REG'S'(BNY)        ,FBKD,0,\"8,000,000.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n9-Apr-13,FINDEL                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B8B4R053,ORD GBP0.10                             ,FDL ,164.456920935,\"86,442,534.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n2-Dec-13,FINNAUST MINING PLC                ,GB,AIM,,GB00BFD3VF20,ORD GBP0.01                             ,FAM  ,36.6754052,\"682,333,120.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n30-Oct-14,FINSBURY FOOD GROUP                ,GB,AIM,,GB0009186429,ORD GBP0.01                             ,FIF  ,241.712989125,\"189,578,815.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-53,FINSBURY GROWTH & INCOME TRUST     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007816068,ORD GBP0.25                             ,FGT ,437.00539555,\"66,718,381.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-93,FINTRUST DEBENTURE                 ,GB,UK Main Market,Standard Debt,GB0031578841,9.25% SEVERAL DEBS STK 2023             ,70GU,0,\"85,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n30-Sep-10,FIRESTONE DIAMONDS                 ,GB,AIM,,GB00BKX59Y86,ORD GBP0.01                             ,FDI  ,133.4307407,\"313,954,684.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-87,FIRST DEBENTURE FINANCE            ,GB,UK Main Market,Standard Debt,GB0003384228,11.125% SEVERALLY GTD DEB STK 2018      ,50GU,0,\"80,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n28-Mar-02,FIRST DERIVATIVES PLC              ,GB,AIM,,GB0031477770,ORD GBP0.005                            ,FDP  ,503.3613996,\"24,494,472.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-00,FIRST PROPERTY GROUP               ,GB,AIM,,GB0004109889,ORD GBP0.01                             ,FPO  ,52.482091545,\"112,864,713.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-95,FIRSTGROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003452173,ORD GBP0.05                             ,FGP ,1324.039180275,\"1,204,767,225.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n31-Dec-96,FISHER(JAMES)& SONS PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003395000,ORD GBP0.25                             ,FSJ ,776.0203495,\"50,065,829.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,FISHGUARD & ROSSLARE RLYS & HBRS CO,GB,UK Main Market,Standard Shares,GB0003401261,3.5% GTD PRF STK                        ,72GU,0,\"1,237,664.00\",,,,,7,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n4-Jun-15,FISHING REPUBLIC PLC               ,GB,AIM,,GB00BY7RY763,ORD GBP0.01                             ,FISH ,15.69811702,\"37,826,788.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Recreational Products,3745,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Mar-00,FISKE                              ,GB,AIM,,GB0003353157,ORD GBP0.25                             ,FKE  ,2.9085196,\"8,310,056.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-04,FITBUG HLDGS PLC                   ,GB,AIM,,GB00B57JBH88,ORD GBP0.001                            ,FITB ,2.770575678,\"1,231,366,968.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Recreational Products,3745,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-08,FLETCHER KING                      ,GB,AIM,,GB0003425310,ORD GBP0.10                             ,FLK  ,4.743036185,\"9,209,779.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Aug-06,FLOWGROUP PLC                      ,GB,AIM,,GB00B19H7076,ORD GBP0.05                             ,FLOW ,38.49764505875,\"317,506,351.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-May-14,FLOWTECH FLUIDPOWER PLC            ,GB,AIM,,GB00BM4NR742,ORD GBP0.5                              ,FLO  ,52.7170475975,\"43,078,282.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-10,FLYBE GROUP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B4QMVR10,ORD GBP0.01                             ,FLYB,102.2370934725,\"216,374,801.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n2-Aug-93,FLYING BRANDS                      ,JE,UK Main Market,,GB0003437059,UTS(COM 1ORD 0.01P&1'A'ORD0.005 FLY BDS),FBDU,0,\"27,873,735.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-14,FOCUSRITE PLC                      ,GB,AIM,,GB00BSBMW716,ORD GBP0.001                            ,TUNE ,95.82375,\"58,075,000.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-15,FONDUL PROPRIETATEA SA             ,RO,Trading Only,,US34460G1067,GDR EACH REPR 50 ORD SPONS REG S        ,FP. ,0,\"81,228,524.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,IOBE,INNE,USD,,,,,,,,,,,,,,,,,,\r\n29-Feb-00,FORBIDDEN TECHNOLOGIES             ,GB,AIM,,GB0004740477,ORD GBP0.008                            ,FBT  ,12.98805966375,\"150,586,199.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-52,FOREIGN & COL INVESTM TRUST        ,GB,UK Main Market,Standard Debt,GB0003467049,4.25% PERP DEB STK                      ,03GW,2731.35459849,\"575,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n21-Mar-52,FOREIGN & COL INVESTM TRUST        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003466074,ORD GBP0.25                             ,FRCL,2731.35459849,\"547,365,651.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,FORESIGHT 3 VCT                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3QF3772,ORD GBP0.01                             ,FTD ,22.97673005,\"56,040,805.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-98,FORESIGHT 4 VCT                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B07YBS95,ORD GBP0.01                             ,FTF ,33.7395925125,\"71,406,545.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-10,FORESIGHT SOLAR & INFRA VCT        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B8B31886,ORD GBP0.01 C                           ,FTSC,58.57147571,\"22,742,557.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-10,FORESIGHT SOLAR & INFRA VCT        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B640GZ49,ORD GBP0.01                             ,FTSV,58.57147571,\"38,311,862.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-10,FORESIGHT SOLAR & INFRA VCT        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYQ06Y75,ORD GBP0.01 D                           ,FTSD,58.57147571,\"2,496,781.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-13,FORESIGHT SOLAR FUND LTD           ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00BD3QJR55,ORD NPV                                 ,FSFL,280.668530925,\"273,822,957.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jan-07,FORESIGHT VCT PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B61K7Y37,PLANNED EXIT SHS GBP0.01                ,FTVP,114.708491435,\"11,487,350.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jan-07,FORESIGHT VCT PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B68K3716,ORD GBP0.01                             ,FTV ,114.708491435,\"112,895,691.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jan-07,FORESIGHT VCT PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B45M5X62,INFRASTRUCTURE SHS GBP0.01              ,FTVI,114.708491435,\"32,487,558.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-07,FORMATION GROUP PLC                ,GB,AIM,,GB0030432735,ORD GBP0.01                             ,FRM  ,8.989967745,\"217,938,612.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Apr-16,FORTERRA PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYYW3C20,ORD GBP0.01                             ,FORT,340.25041043,\"200,442,068.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-12,FOX MARBLE HLDGS PLC               ,GB,AIM,,GB00B7LGG306,ORD GBP0.01                             ,FOX  ,17.5962256275,\"180,474,109.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-13,FOXTONS GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BCKFY513,ORD GBP0.01                             ,FOXT,324.9754193125,\"273,663,511.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n5-Aug-16,FRANCHISE BRANDS PLC               ,GB,AIM,,GB00BD6P7Y24,ORD GBP0.005                            ,FRAN ,19.554838595,\"47,120,093.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-95,FRENCH CONNECTION GROUP            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033764746,ORD GBP0.01                             ,FCCN,48.189626385,\"95,899,754.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-04,FRENKEL TOPPING GROUP              ,GB,AIM,,GB00B01YXQ71,ORD GBP0.005                            ,FEN  ,34.78503888,\"72,468,831.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-08,FRESNILLO PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B2QPKJ12,ORD USD0.50                             ,FRES,12151.42992514,\"756,627,019.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Aug-11,FRONTERA RESOURCES CORP            ,KY,AIM,,KYG368131069,ORD USD0.00004 (DI)                     ,FRR  ,6.950969423,\"6,950,969,423.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-13,FRONTIER DEVELOPMENTS PLC          ,GB,AIM,,GB00BBT32N39,GBP0.005                                ,FDEV ,56.416513905,\"33,284,079.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jan-11,FRONTIER IP GROUP PLC              ,GB,AIM,,GB00B63PS212,ORD GBP0.10                             ,FIPP ,11.711800665,\"34,960,599.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-05,FRUTAROM INDUSTRIES                ,IL,International Main Market,Standard GDRs,US35950R2058,GDR EACH REPR 1 ILS1'REGS'              ,FRUT,273.936721148999,\"7,902,900.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n8-Feb-05,FRUTAROM INDUSTRIES                ,IL,International Main Market,Standard GDRs,US35950R1068,GDR EACH REPR 1 ILS1'144A'              ,73CL,273.936721148999,0.00,Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n8-Jul-10,FULCRUM UTILITY SERVICES LD        ,KY,AIM,,KYG368851047,ORD GBP0.001 (DI)                       ,FCRM ,59.21430975,\"160,038,675.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Multiutilities,7575,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-14,FULHAM SHORE PLC(THE)              ,GB,AIM,,GB00B9F8VG44,ORD GBP0.01                             ,FUL  ,116.905199325,\"570,269,265.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-96,FULLER SMITH & TURNER              ,GB,UK Main Market,Standard Shares,GB0003551537,8% 2ND CUM PRF GBP1                     ,54GW,327.811814625,\"1,200,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-96,FULLER SMITH & TURNER              ,GB,UK Main Market,Standard Shares,GB0003551420,6% 1ST CUM PRF GBP1                     ,53GW,327.811814625,\"400,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-96,FULLER SMITH & TURNER              ,GB,UK Main Market,Standard Debt,GB0002538154,6.875% DEB STK 2028                     ,BA80,327.811814625,\"20,000,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n27-Aug-96,FULLER SMITH & TURNER              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1YPC344,'A'ORD GBP0.40                          ,FSTA,327.811814625,\"32,177,957.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-15,FUNDING CIRCLE SME INCOME FUND LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYYJCZ96,ORD NPV                                 ,FCIF,167.36534375,\"164,285,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-93,FUNDING FOR HOMES                  ,GB,UK Main Market,Standard Debt,GB0003309126,10.125% DEB STK 2018                    ,99GT,0,\"183,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n25-Jun-14,FUNDSMITH EMERGING EQUITIES TR PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BLSNND18,ORD GBP0.01                             ,FEET,215.61781915,\"19,337,921.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-12,FUSIONEX INTERNATIONAL PLC         ,JE,AIM,,JE00B8BL8C53,ORD NPV                                 ,FXI  ,83.248,\"47,300,000.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jul-03,FUTURA MEDICAL                     ,GB,AIM,,GB0033278473,ORD GBP0.002                            ,FUM  ,29.3287147125,\"98,583,915.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jun-99,FUTURE                             ,GB,UK Main Market,Standard Shares,GB0007239980,GBP0.01                                 ,FUTR,31.89713205,\"364,538,652.00\",Consumer Services,Media,Media,Publishing,5557,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-07,FYFFES                             ,IE,AIM,,IE0003295239,ORD EUR0.06                             ,FFY  ,387.967773465,\"297,293,313.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-04,G4S PLC                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01FLG62,ORD GBP0.25                             ,GFS ,3577.996049882,\"1,551,602,797.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n19-Feb-15,GABELLI VALUE PLUS + TRUST PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BTLJYS47,ORD GBP0.01                             ,GVP ,114.495421145,\"99,996,001.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-05,GABLE HLDGS INC                    ,KY,AIM,,KYG3705F1019,ORD GBP0.0025                           ,GAH  ,3.21384603375,\"135,319,833.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Nov-99,GAIL(INDIA)                        ,IN,PSM,Standard GDRs,US36268T1079,GDR EACH REP 6 ORD INR10 144A           ,GAIA,0,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n15-Nov-99,GAIL(INDIA)                        ,IN,PSM,Standard GDRs,US36268T2069,GDR EACH REP 6 ORD INR10 REG'S'         ,GAID,0,\"25,833,333.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n31-Mar-06,GALANTAS GOLD CORP                 ,CA,AIM,,CA36315W2022,NPV                                     ,GAL  ,12.057578225,\"137,800,894.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-14,GALASYS PLC                        ,JE,AIM,,JE00BKWBXC36,ORD NPV                                 ,GLS  ,0,\"76,556,693.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Sep-11,GALILEO RESOURCES PLC              ,GB,AIM,,GB00B115T142,ORD GBP0.001                            ,GLR  ,2.661032652,\"221,752,721.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-72,GALLIFORD TRY PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B3Y2J508,ORD GBP0.50                             ,GFRD,925.3338335,\"81,527,210.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jan-15,GAMA AVIATION PLC                  ,GB,AIM,,GB00B3ZP1526,ORD GBP0.01                             ,GMAA ,87.96413411,\"44,994,442.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-14,GAME DIGITAL PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMP36W19,ORD GBP0.01                             ,GMD ,121.30996526,\"170,859,106.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-94,GAMES WORKSHOP GROUP               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003718474,ORD GBP0.05                             ,GAW ,170.5780836,\"31,588,534.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-13,GAMING REALMS PLC                  ,GB,AIM,,GB00BBHXD542,ORD GBP0.10                             ,GMR  ,55.34113767,\"280,208,292.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n10-Oct-14,GAMMA COMMUNICATIONS PLC           ,GB,AIM,,GB00BQS10J50,ORD GBP0.0025                           ,GAMA ,418.3647254325,\"91,595,999.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-13,GAN PLC                            ,GB,AIM,,GB00BGCC6189,ORD GBP0.01                             ,GAN  ,29.51972395,\"69,458,174.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-15,GATELEY HLDGS PLC                  ,GB,AIM,,GB00BXB07J71,ORD GBP0.1                              ,GTLY ,131.40018632,\"106,396,912.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-06,GAZPROM NEFT PJSC                  ,RU,Trading Only,,US36829G1076,LEVEL 1 ADR EACH REPR 5 ORD SHS         ,GAZ ,0,\"20,348,882.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n28-Oct-96,GAZPROM OAO                        ,RU,International Main Market,Standard GDRs,US3682871088,ADS EACH REP 10 ORD REGD 144A           ,81JK,36475.6963091963,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n28-Oct-96,GAZPROM OAO                        ,RU,International Main Market,Standard GDRs,US3682872078,ADS EACH REPR 2 ORD SHS                 ,OGZD,36475.6963091963,\"11,836,756,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n27-Aug-10,GB GROUP                           ,GB,AIM,,GB0006870611,ORD GBP0.025                            ,GBG  ,389.943426285,\"125,889,726.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-04,GCM RESOURCES PLC                  ,GB,AIM,,GB00B00KV284,ORD GBP0.10                             ,GCM  ,11.93884589,\"62,836,031.00\",Basic Materials,Basic Resources,Mining,Coal,1771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jul-10,GCP INFRASTRUCTURE INVESTMENTS LTD ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B6173J15,ORD GBP0.01                             ,GCP ,834.896164248,\"656,364,909.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-13,GCP STUDENT LIVING PLC             ,GB,UK Main Market,,GB00B8460Z43,ORD GBP0.01                             ,DIGS,384.83867205,\"261,795,015.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jun-15,GEAR 4 MUSIC (HLDGS) LTD           ,GB,AIM,,GB00BW9PJQ87,ORD GBP0.1                              ,G4M  ,33.358741045,\"20,156,339.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Recreational Products,3745,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-06,GEIGER COUNTER LTD                 ,IM,Trading Only,,GB00B15FW330,NPV                                     ,GCL ,11.90962425,\"63,517,996.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Feb-07,GEM DIAMONDS LTD                   ,VG,International Main Market,Premium Equity Commercial Companies,VGG379591065,ORD USD0.01 (DI)                        ,GEMD,173.510451085,\"137,980,478.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-08,GEMFIELDS PLC                      ,GB,AIM,,GB00B0HX1083,ORD GBP0.01                             ,GEM  ,211.52408726,\"538,914,872.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-07,GENEDRIVE PLC                      ,GB,AIM,,GB00B1VKB244,ORD GBP0.015                            ,GDR  ,14.9604984,\"18,700,623.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-11,GENEL ENERGY PLC                   ,JE,UK Main Market,Standard Shares,JE00B55Q3P39,ORD GBP0.10                             ,GENL,269.8537103625,\"274,660,265.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n10-Sep-92,GENERAL ACCIDENT PLC               ,GB,UK Main Market,Standard Shares,GB0003692737,8 7/8% CUM IRRD PRF GBP1                ,GACA,379.825,\"140,000,000.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n10-Sep-92,GENERAL ACCIDENT PLC               ,GB,UK Main Market,Standard Shares,GB0003692513,7 7/8% CUM IRRD PRF GBP1                ,GACB,379.825,\"110,000,000.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Oct-73,GENERAL ELECTRIC CO.               ,US,International Main Market,Standard Shares,US3696041033,USD0.06                                 ,GEC ,188411.345874373,\"11,693,036,766.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SSX4,SXSN,EUR,,,,,,,,,,,,,,,,,,\r\n13-Apr-65,GENERAL MOTORS CORP                ,US,International Main Market,Standard Debt,GB0003658282,BDRS(ISS BARCL BANK-UNITS 1/20TH SH)    ,GMRB,0,0.00,Consumer Goods,Automobiles & Parts,Automobiles & Parts,Automobiles,3353,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n6-Jul-89,GENESIS EMERGING MARKETS FUND      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B4L0PD47,PTG SHS NPV                             ,GSS ,791.5583469,\"134,963,060.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-07,GENUS                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002074580,ORD GBP0.10                             ,GNS ,1101.6924351,\"60,499,310.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-15,GEORGIA HEALTHCARE GROUP PLC       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYSS4K11,ORD GBP0.01                             ,GHG ,381.877278,\"131,681,820.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n23-Sep-05,GETECH GROUP                       ,GB,AIM,,GB00B0HZVP95,ORD GBP0.0025                           ,GTC  ,9.578109825,\"37,561,215.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-14,GFINITY PLC                        ,GB,AIM,,GB00BT9QD572,ORD GBP0.001                            ,GFIN ,17.709026625,\"157,413,570.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jun-46,GKN                                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0030646508,ORD GBP0.10                             ,GKN ,5052.95667632,\"1,624,744,912.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n8-Sep-88,GLANBIA                            ,IE,International Main Market,Premium Equity Commercial Companies,IE0000669501,ORD EUR0.06                             ,GLB ,4342.7636193468,\"292,869,684.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET3,OL10,EUR,,,,,,,,,,,,,,,,,,\r\n22-May-72,GLAXOSMITHKLINE                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009252882,ORD GBP0.25                             ,GSK ,77779.31632262,\"4,745,534,858.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-11,GLENCORE PLC                       ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B4T3BW64,ORD USD0.01                             ,GLEN,25121.083944259,\"14,433,257,078.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-05,GLENWICK PLC                       ,IM,AIM,,GB00B0RFL714,ORD NPV                                 ,GWIK ,1.2,\"2,518,637,367.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-97,GLH HOTELS LTD                     ,GB,UK Main Market,Standard Debt,GB0000440312,7.875% 1ST MTG DEB STK 2022             ,97KI,0,\"60,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n5-Aug-05,GLI FINANCE LTD                    ,GG,AIM,,GB00B0CL3P62,ORD NPV                                 ,GLIF ,69.32493284,\"209,880,262.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-15,GLI FINANCE LTD                    ,GG,UK Main Market,Standard Shares,GG00BTDYD136,ZDP 05/12/19 NPV                        ,GLIZ,20.9213643625,\"20,791,418.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-15,GLI FINANCE LTD                    ,GG,UK Main Market,,GB00BYY7WT75,ORD NPV (RFD 30/11/16)                  ,GLIS ,20.9213643625,\"54,501,607.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-02,GLOBAL ENERGY DEVELOPMENT          ,GB,AIM,,GB0031461949,ORD GBP0.01                             ,GED  ,9.2073309,\"36,107,180.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-06,GLOBAL FIXED INC REAL LTD          ,GG,Trading Only,,GG00B1GJQ984,ORD NPV GBP                             ,GFIR,15.04546475,\"120,363,718.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-14,GLOBAL INVACOM GROUP LTD           ,SG,AIM,,SG2E91982768,NPV (DI)                                ,GINV ,21.180172425,\"282,402,299.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-05,GLOBAL PETROLEUM                   ,AU,AIM,,AU000000GBP6,NPV                                     ,GBP  ,3.5720373325,\"204,116,419.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-11,GLOBAL PORTS INVESTMENTS PLC       ,CY,International Main Market,Standard GDRs,US37951Q2021,GDR EACH REPR 3 SHS REG S               ,GLPR,363.877437940499,\"191,056,910.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n7-Mar-14,GLOBAL RESOURCES INV TR PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BCKFVJ45,ORD GBP0.01                             ,GRIT,3.277540984,\"39,970,012.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-00,GLOBAL TELECOM HLDG SAE            ,EG,International Main Market,Standard GDRs,US37953P2020,GDR EACH REPR 5 ORD REG S               ,GLTD,1387.92266211564,\"915,503,103.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n19-Jul-00,GLOBAL TELECOM HLDG SAE            ,EG,International Main Market,Standard GDRs,US37953P1030,GDR EACH REPR 5 ORD 144A                ,31PH,1387.92266211564,0.00,Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n25-Jun-09,GLOBALDATA PLC                     ,GB,AIM,,GB00B87ZTG26,ORD GBP0.0007142                        ,DATA ,355.65381645,\"102,346,422.00\",Consumer Services,Media,Media,Publishing,5557,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-May-08,GLOBALTRANS INVESTMENT PLC         ,CY,International Main Market,Standard GDRs,US37949E1055,GDR EACH REPR 1 ORD '144A'              ,38KH,637.727451327286,0.00,Industrials,Industrial Goods & Services,Industrial Transportation,Railroads,2775,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n8-May-08,GLOBALTRANS INVESTMENT PLC         ,CY,International Main Market,Standard GDRs,US37949E2046,GDR EACH REPR 1 ORD 'REGS'              ,GLTR,637.727451327286,\"199,312,002.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Railroads,2775,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Jul-13,GLOBALWORTH REAL ESTATE INVMTS LTD ,GG,AIM,,GG00B979FD04,ORD NPV                                 ,GWI  ,293.199085385041,\"64,023,987.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,EUR,,,,,,,,,,,,,,,,,,\r\n11-Aug-15,GLOO NETWORKS PLC                  ,GB,AIM,,GB00BYVTYD43,ORD GBP0.01                             ,GLOO ,30.784,\"25,600,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4WPHX27,ETFS LONGER DATED ALL COMMODITIES GBP   ,CMFP,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNHZ41,DAX DAILY 2X SHORT GO UCITS GBP         ,DS2P,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNHH68,DAX DAILY 2X LONG GO UCITS              ,DEL2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,EUR,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4WPHX27,ETFS LONGER DATED ALL COMMODITIES USD   ,COMF,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,USD,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNK008,FTSE 100 SUPER SHORT STRATEGY GBP       ,SUK2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNHZ41,DAX DAILY 2X SHORT GO UCITS EUR         ,DES2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,EUR,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNJJ23,FTSE 100 LEVERAGED (DAILY 2X) GBP       ,LUK2,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETLL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,GO UCITS ETF SOLUTIONS PLC         ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B4QNHH68,DAX DAILY 2X LONG GO UCITS GBP          ,DL2P,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLL,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-94,GO-AHEAD GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003753778,ORD GBP0.10                             ,GOG ,843.70354738,\"42,632,822.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-04,GOALS SOCCER CENTRES               ,GB,AIM,,GB00B0486M37,ORD GBP0.0025                           ,GOAL ,85.7451684,\"75,215,060.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-04,GOLD BULLION SECURITIES LIMITED    ,JE,UK Main Market,Standard Debt,GB00B00FHZ82,(GBS)0% SEC UND NTS                     ,GBS ,0,\"40,549,528.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETCS,ECLL,USD,,,,,,,,,,,,,,,,,,\r\n19-Dec-14,GOLDBRIDGES GLOBAL RESOURCES PLC   ,GB,UK Main Market,Standard Shares,GB00B015PT76,ORD GBP0.001                            ,GBGR,41.2011385945,\"2,334,342,130.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-09,GOLDEN PROSPECT PRECIOUS METALS LTD,GG,Trading Only,,GG00B1G9T992,ORD GBP0.001                            ,GPM ,25.792669235,\"57,000,374.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-13,GOLDEN SAINT RESOURCES LTD         ,VG,AIM,,VGG3960L1085,ORD NPV (DI)                            ,GSR  ,2.3634047052,\"4,501,723,248.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-06,GOLDPLAT PLC                       ,GB,AIM,,GB00B0HCWM45,ORD GBP0.01                             ,GDP  ,10.10646,\"168,441,000.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-04,GOLDSTONE RESOURCES LTD            ,JE,AIM,,JE00BRJ8YF63,ORD GBP0.01                             ,GRL  ,2.22472839525,\"102,286,363.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-97,GOOCH & HOUSEGO PLC                ,GB,AIM,,GB0002259116,ORD GBP0.20                             ,GHH  ,226.55746245,\"21,763,445.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-12,GOOD ENERGY GROUP PLC              ,GB,AIM,,GB0033600353,ORD GBP0.05                             ,GOOD ,36.00299227,\"16,477,342.00\",Utilities,Utilities,Electricity,Alternative Electricity,7537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Aug-58,GOODWIN                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003781050,ORD GBP0.10                             ,GDWN,155.34,\"7,200,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Aug-04,GRAFENIA PLC                       ,GB,AIM,,GB0009638130,ORD GBP0.01                             ,GRA  ,4.7569444,\"47,569,444.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-74,GRAFTON GROUP                      ,IE,International Main Market,Premium Equity Commercial Companies,IE00B00MZ448,\"UTS(1 ORD,1'C'ORD & 17'A'ORD SHS)       \",GFTU,1260.949795875,\"230,310,465.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-84,GRAINGER PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B04V1276,ORD GBP0.05                             ,GRI ,958.21358479,\"413,557,870.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jan-15,GRAND GROUP INVESTMENT PLC         ,KY,AIM,,KYG405631014,ORD GBP0.00004 (DI)                     ,GIPO ,0,\"33,952,631.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Mar-13,GRAPHENE NANOCHEM PLC              ,GB,AIM,,GB00B9BBJ076,ORD GBP0.20                             ,GRPH ,0,\"116,536,536.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n28-May-10,GREAT EASTERN ENERGY CORP          ,IN,International Main Market,Standard GDRs,US39032T1060,GDR EACH REPR 0.5 ORD  'REGS'           ,GEEC,32.758380875,\"119,121,385.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-59,GREAT PORTLAND ESTATES PLC         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01FLL16,ORD GBP0.125                            ,GPOR,2118.343172725,\"312,670,579.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-59,GREAT PORTLAND ESTATES PLC         ,GB,UK Main Market,Standard Debt,GB0004841101,5.625% 1ST MTG DEB STK 2029             ,32NJ,2118.343172725,\"150,000,000.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n18-Aug-11,GREAT WESTERN MINING CORP PLC      ,IE,AIM,,IE00B1FR8863,ORD EUR0.0001                           ,GWMO ,1.15198356915,\"264,823,809.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jul-06,GREATLAND GOLD PLC                 ,GB,AIM,,GB00B15XDH89,ORD GBP0.001                            ,GGP  ,4.32307708925,\"1,631,349,845.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-16,GREEN & SMART HLDGS PLC            ,JE,AIM,,JE00BYTQ7945,ORD NPV                                 ,GSH  ,29.39583336875,\"276,666,667.00\",Utilities,Utilities,Electricity,Alternative Electricity,7537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-14,GREEN DRAGON GAS LTD               ,KY,International Main Market,Standard Shares,KYG409381053,ORD USD0.0001 (DI)                      ,GDG ,359.348629725,\"142,316,289.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-09,GREEN ENERGY TECHNOLOGY INC        ,TW,Trading Only,,US39303W1018,GDR EACH REPR 5 SHS '144A'              ,GETA,0,0.00,,,,,9,MISC,INAD,USD,,,,,,,,,,,,,,,,,,\r\n18-Jul-13,GREEN REIT PLC                     ,IE,International Main Market,Premium Equity Closed Ended Investment Funds,IE00BBR67J55,ORD EUR0.10                             ,GRN ,864.677121687968,\"680,864,987.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,SET3,ON15,EUR,,,,,,,,,,,,,,,,,,\r\n27-Mar-13,GREENCOAT UK WIND PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B8SC6K54,ORD GBP0.01                             ,UKW ,688.2754146975,\"602,429,247.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n9-Sep-11,GREENCORE GROUP                    ,IE,International Main Market,Premium Equity Commercial Companies,IE0003864109,ORD GBP0.01                             ,GNC ,1437.49900827,\"409,543,877.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n4-Feb-55,GREENE KING                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0HZP136,ORD GBP0.125                            ,GNK ,2490.696333125,\"306,547,241.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-84,GREGGS                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B63QSB39,ORD GBP0.02                             ,GRG ,1048.98669337,\"101,155,901.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-11,GREKA DRILLING LTD                 ,KY,AIM,,KYG411101002,ORD USD0.00001 (DI)                     ,GDL  ,12.9530517675,\"398,555,439.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n27-Feb-95,GRESHAM COMPUTING                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008808825,ORD GBP0.05                             ,GHT ,61.61534866,\"63,520,978.00\",Technology,Technology,Software & Computer Services,Software,9537,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-15,GRESHAM HOUSE                      ,GB,AIM,,GB0003887287,ORD GBP0.25                             ,GHE  ,33.840704675,\"10,185,487.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-15,GRESHAM HOUSE                      ,GB,AIM,,GB00BPYP3515,WTS  (TO SUB FOR ORD)                   ,GHEW ,33.840704675,\"1,073,855.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-99,GRESHAM HOUSE STRATEGIC PLC        ,GB,AIM,,GB00BYRH4982,ORD GBP0.5                              ,GHS  ,33.340410625,\"3,843,275.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-97,GRIFFIN MINING                     ,BM,AIM,,BMG319201049,ORD USD0.01                             ,GFM  ,73.75173547875,\"179,335,527.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-01,GROSVENOR UK FINANCE               ,GB,UK Main Market,Standard Debt,GB0030308554,6.5% DEB STK 29/9/2026 GBP1             ,62QE,0,\"200,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n13-Aug-12,GROUND RENTS INCOME FUND PLC       ,GB,Trading Only,,GB00B715WG26,ORD GBP0.50                             ,GRIO,119.51337636,\"93,124,311.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Aug-12,GROUND RENTS INCOME FUND PLC       ,GB,Trading Only,,GB00B8N43P05,WTS (TO SUB FOR ORD)                    ,GRIW,119.51337636,\"9,674,420.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-07,GRUPO CLARIN SA                    ,AR,International Main Market,Standard GDRs,US40052A1007,GDR EACH REPR 2 CLS'B' SHS '144A'       ,42KU,399.955499999999,0.00,Consumer Services,Media,Media,Broadcasting & Entertainment,5553,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n25-Oct-07,GRUPO CLARIN SA                    ,AR,International Main Market,Standard GDRs,US40052A2096,GDR EACH REPR 2 CLS'B' SHS'REGS'        ,GCLA,399.955499999999,\"25,000,000.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n26-Jul-07,GUARANTY TRUST BANK                ,NG,International Main Market,Standard GDRs,US40124Q2084,GDR EACH REPR 50 ORD 'REGS'             ,GRTB,216.798735599999,\"66,960,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n26-Jul-07,GUARANTY TRUST BANK                ,NG,International Main Market,Standard GDRs,US40124Q1094,GDR EACH REPR 50 ORD '144A'             ,87QR,216.798735599999,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n15-Feb-95,GUINNESS PARTNERSHIP(THE)LD        ,GB,UK Main Market,Standard Debt,GB0001854792,7.5% 1ST MTG DEB STK 2037               ,BB26,0,\"100,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n15-Feb-95,GUINNESS PARTNERSHIP(THE)LD        ,GB,UK Main Market,Standard Debt,GB0006467723,9.125% GTD SEC STK 2025                 ,52HX,0,\"110,000,000.00\",,,,,6,CWNU,NIOU,GBP,,,,,,,,,,,,,,,,,,\r\n25-Mar-14,GULF KEYSTONE PETROLEUM LTD        ,BM,International Main Market,Standard Shares,BMG4209G1087,ORD USD0.01 (DI)                        ,GKP ,38.5923018,\"1,029,128,048.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n19-Mar-14,GULF MARINE SERVICES PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJVWTM27,ORD GBP0.1                              ,GMS ,159.03515082,\"349,527,804.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-05,GULFSANDS PETROLEUM                ,GB,AIM,,GB00B06VGC01,ORD GBP0.01                             ,GPX  ,16.24986828125,\"519,995,785.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-06,GUNSYND PLC                        ,GB,AIM,,GB00B4WKYH05,ORD GBP0.0001                           ,GUN  ,0.6429548097,\"1,224,675,828.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-13,GUSBOURNE PLC                      ,GB,AIM,,GB00B8TS4M09,ORD GBP0.50                             ,GUS  ,10.6378929,\"23,639,762.00\",Consumer Goods,Food & Beverage,Beverages,Distillers & Vintners,3535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-16,GUSCIO PLC                         ,GB,AIM,,GB00BPT23R97,ORD GBP0.001                            ,GUSC ,5.0739200625,\"135,304,535.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-16,GVC HLDGS PLC                      ,IM,UK Main Market,Premium Equity Commercial Companies,IM00B5VQMV65,ORD EUR0.01                             ,GVC ,2011.01639879,\"291,663,002.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,SET3,ON5 ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-01,GW PHARMACEUTICALS                 ,GB,AIM,,GB0030544687,ORD GBP0.001                            ,GWP  ,1485.86487955,\"288,237,610.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-15,GYM GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BZBX0P70,ORD GBP0.0001                           ,GYM ,269.1874983,\"128,184,523.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n8-May-06,H & T GROUP                        ,GB,AIM,,GB00B12RQD06,ORD GBP0.05                             ,HAT  ,106.52371224,\"36,859,416.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-92,HACO                               ,GB,UK Main Market,Standard Debt,GB00B1BPH986,10.625% SEVERAL DEB STK 2017 GBP1       ,35GZ,0,\"141,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n20-Jun-16,HADRIANS WALL SECURED INV LTD      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYMYC345,ORD NPV                                 ,HWSL,85.22631189,\"80,024,706.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-11,HAGL JSC                           ,VN,PSM,Standard GDRs,US4337181030,GDR EACH REPR 1 ORD REG'S               ,HAG ,0,\"200,000,000.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n23-Mar-11,HAGUE & LONDON OIL PLC             ,GB,AIM,,GB00BSNM2916,ORD GBP0.04                             ,HNL  ,2.65469446,\"24,133,586.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-07,HAIKE CHEMICAL GROUP LTD           ,KY,AIM,,KYG423181083,ORD USD0.002 (DI)                       ,HAIK ,6.0406874325,\"38,353,571.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-04,HALFORDS GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B012TP20,ORD GBP0.01                             ,HFD ,692.142822894,\"199,063,222.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jan-72,HALMA                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004052071,ORD GBP0.10                             ,HLMA,3988.574943,\"376,280,655.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-93,HALOS                              ,GB,UK Main Market,Standard Debt,GB0004047980,8.375% DEB STK 9/11/2018                ,34HA,0,\"125,000,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n18-Oct-10,HALOSOURCE INC                     ,US,AIM,,US40638H1086,NPV (DI)                                ,HALO ,19.69560574,\"29,914,480.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-10,HALOSOURCE INC                     ,US,AIM,,USU4063G1077,NPV DI REG S                            ,HAL  ,19.69560574,\"193,939,372.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n16-Aug-11,HALS-DEVELOPMENT PJSC              ,RU,International Main Market,Standard GDRs,US40637J2042,GDR EACH REP 1/20 ORD REG'S             ,HALS,170.908131021599,\"224,341,880.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n16-Aug-11,HALS-DEVELOPMENT PJSC              ,RU,International Main Market,Standard GDRs,US40637J1051,GDR EACH REP 1/20 ORD 144A              ,86PN,170.908131021599,0.00,Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,HALYK SAVINGS BANK OF KAZAKHSTN JSC,KZ,International Main Market,Standard GDRs,US46627J2033,GDR EACH REPR 40 ORD SHS'144A' (SPON)   ,37QB,194.587873499999,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,HALYK SAVINGS BANK OF KAZAKHSTN JSC,KZ,International Main Market,Standard GDRs,US46627J3023,GDR EACH REPR 40 ORD SHS'REGS' (SPON)   ,HSBK,194.587873499999,\"42,500,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n31-May-45,HAMMERSON PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004065016,ORD GBP0.25                             ,HMSO,4771.6752714,\"822,702,633.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n10-Nov-06,HANATOUR SERVICE INC               ,KR,International Main Market,Standard GDRs,US4096502079,GDR EACH REPR 1/5 ORD SHS 'REGS'        ,TOUR,0,\"5,805,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n10-Nov-06,HANATOUR SERVICE INC               ,KR,International Main Market,Standard GDRs,US4096501089,GDR EACH REPR 1/5 ORD SHS '144A'        ,86PB,0,0.00,Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n25-Mar-51,HANSA TRUST                        ,GB,UK Main Market,Standard Shares,GB0007879835,'A'NON V.ORD GBP0.05                    ,HANA,196.04,\"16,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-51,HANSA TRUST                        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007879728,ORD GBP0.05                             ,HAN ,196.04,\"8,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-06,HANSARD GLOBAL PLC                 ,IM,UK Main Market,Premium Equity Commercial Companies,IM00B1H1XF89,ORD GBP0.50                             ,HSD ,167.48306644,\"137,281,202.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-09,HANSTEEN HLDGS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0PPFY88,ORD GBP0.10                             ,HSTN,859.262320182,\"742,022,729.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n9-Sep-15,HARBOURVEST GLOBAL PRIVATE EQUITY  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BR30MJ80,ORD RED A                               ,HVPE,738.7279955,\"79,862,486.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-05,HARDIDE PLC                        ,GB,AIM,,GB00B069T034,ORD GBP0.001                            ,HDD  ,14.149628871,\"1,347,583,702.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Feb-08,HARDY OIL & GAS                    ,IM,UK Main Market,Premium Equity Commercial Companies,GB00B09MB366,ORD USD0.01                             ,HDY ,12.7016564475,\"73,632,791.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-04,HARGREAVE HALE AIM VCT 1 PLC       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B02WHS05,ORD GBP0.01                             ,HHV ,43.716724,\"64,289,300.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-07,HARGREAVE HALE AIM VCT 2 PLC       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1GDYS53,ORD GBP0.01                             ,HHVT,35.60418166,\"37,876,789.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-07,HARGREAVES LANSDOWN PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1VZ0M25,ORD GBP0.004                            ,HL. ,6270.4922225,\"474,318,625.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-05,HARGREAVES SERVICES                ,GB,AIM,,GB00B0MTC970,ORD GBP0.10                             ,HSP  ,56.6639056475,\"30,180,509.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-15,HARVEST MINERALS LTD               ,AU,AIM,,AU000XINEAB4,ORD NPV (DI)                            ,HML  ,19.26819641,\"93,991,202.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-97,HARVEY NASH GROUP                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006573546,ORD GBP0.05                             ,HVN ,44.0702358,\"73,450,393.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-16,HARWOOD WEALTH MANAGEMENT GROUP PLC,GB,AIM,,GB00BYYWB172,ORD GBP0.0025                           ,HW.  ,66.7067124,\"55,588,927.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-15,HARWORTH GROUP PLC                 ,GB,UK Main Market,Standard Shares,GB00BYZJ7G42,ORD GBP0.1                              ,HWG ,253.544039355,\"292,269,786.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-15,HASTINGS GROUP HLDGS PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYRJH519,ORD GBP0.02                             ,HSTG,1453.765421892,\"657,217,641.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-10,HAVELOCK EUROPA PLC                ,GB,AIM,,GB0004149356,ORD GBP0.10                             ,HVE  ,3.66054475,\"38,532,050.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Apr-14,HAYDALE GRAPHENE INDUSTRIES PLC    ,GB,AIM,,GB00BKWQ1135,ORD GBP0.02                             ,HAYD ,25.75043874,\"15,236,946.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Nov-96,HAYNES PUBLISHING GROUP            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004160833,ORD GBP0.20                             ,HYNS,6.7206975,\"6,109,725.00\",Consumer Services,Media,Media,Publishing,5557,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-89,HAYS PLC                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004161021,ORD GBP0.01                             ,HAS ,1814.263285278,\"1,389,175,563.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jan-10,HAYWARD TYLER GROUP PLC            ,IM,AIM,,IM00B511CF53,ORD GBP0.01                             ,HAYT ,47.11497616,\"54,784,856.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-11,HAZEL RENEWABLE ENERGY VCT 1 PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4M2G812,ORD GBP0.001                            ,HR1O,27.1193417745,\"23,867,218.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-11,HAZEL RENEWABLE ENERGY VCT 1 PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4L13999,ORD GBP0.001 A                          ,HR1A,27.1193417745,\"33,678,309.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-11,HAZEL RENEWABLE ENERGY VCT 2 PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4KWC525,ORD GBP0.001 A                          ,HR2A,27.831414194,\"34,300,598.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jan-11,HAZEL RENEWABLE ENERGY VCT 2 PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B43GVJ82,ORD GBP0.001                            ,HR2O,27.831414194,\"24,506,323.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-88,HEADLAM GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004170089,ORD GBP0.05                             ,HEAD,368.24625738,\"83,125,566.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-00,HEATH(SAMUEL)& SONS                ,GB,AIM,,GB0004178710,ORD GBP0.10                             ,HSM  ,7.1005928,\"2,535,926.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-96,HEAVITREE BREWERY                  ,GB,AIM,,GB0004182720,'A'LIM.V ORD GBP0.05                    ,HVTA ,16.1260477,\"3,435,061.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-96,HEAVITREE BREWERY                  ,GB,AIM,,GB0004182944,11.5% CUM PRF GBP1                      ,HVTB ,16.1260477,\"11,695.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,ASXN,AIMN,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-96,HEAVITREE BREWERY                  ,GB,AIM,,GB0004182506,ORD GBP0.05                             ,HVT  ,16.1260477,\"1,994,699.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-57,HELICAL PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0FYMT95,ORD GBP0.01                             ,HLCL,336.134949115,\"118,149,367.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n4-Sep-07,HELIOS UNDERWRITING PLC            ,GB,AIM,,GB00B23XLS45,ORD GBP0.10                             ,HUW  ,18.58726975,\"10,621,297.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-98,HELLENIC PETROLEUM SA              ,GR,International Main Market,Standard GDRs,US4233231046,GDS EACH REPR 1 ORD SH'144A'            ,98LQ,0,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n30-Jun-98,HELLENIC PETROLEUM SA              ,GR,International Main Market,Standard GDRs,US4233232036,GDS EACH REPR 1 ORD REG'S'              ,HLPD,0,\"23,215,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n24-Jun-97,HELLENIC TELECOM.ORGANIZATION S.A. ,GR,International Main Market,Standard GDRs,US4233253073,ADS EACH REP 1/2 ORD                    ,OTES,452.777145000001,\"145,000,000.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n13-Sep-94,HEMINGWAY DEBENTURE                ,GB,UK Main Market,Standard Debt,GB0004198445,10.375% 1ST MTG DEB STK 31/7/23         ,06HB,0,\"100,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n25-Jul-91,HENDERSON ALTERNATIVE STRAT TR PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001216000,ORD GBP0.25                             ,HAST,117.945840895,\"48,437,717.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-07,HENDERSON DIVERSIFIED INCOME LTD   ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B1Y1NS49,ORD NPV                                 ,HDIV,106.1130254525,\"111,992,639.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-71,HENDERSON EUROPEAN FOCUS TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005268858,ORD GBP0.50                             ,HEFT,174.411558575,\"16,941,385.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-92,HENDERSON EUROTRUST                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004199294,ORD GBP0.05                             ,HNE ,191.61875425,\"20,715,541.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-06,HENDERSON FAR EAST INCOME LTD      ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B1GXH751,ORD NPV                                 ,HFEL,344.64833452,\"100,480,564.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-03,HENDERSON GROUP PLC                ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B3CM9527,ORD GBP0.125                            ,HGG ,2638.165353856,\"1,106,612,984.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Dec-89,HENDERSON HIGH INCOME TRUST        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0009580571,ORD GBP0.05                             ,HHI ,172.32656896,\"93,655,744.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Apr-11,HENDERSON INTL INCOME TRUST PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3PHCS86,ORD GBP0.01                             ,HINT,220.393759005,\"155,480,606.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-85,HENDERSON OPPORTUNITIES TRUST PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008536574,ORD GBP0.25                             ,HOT ,63.68151816,\"7,965,168.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-55,HENDERSON SMALLER COS INV TST      ,GB,UK Main Market,Standard Debt,GB0008707977,10.5% DEB STK 2016                      ,95IL,461.34439333,\"20,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n29-Mar-55,HENDERSON SMALLER COS INV TST      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0009065060,GBP0.25                                 ,HSL ,461.34439333,\"74,350,426.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-55,HENDERSON SMALLER COS INV TST      ,GB,UK Main Market,Standard Shares,GB0009065284,4.5% CUM PRF STK                        ,44IO,461.34439333,\"875,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBP,,,,,,,,,,,,,,,,,,\r\n21-Feb-94,HERALD INVESTMENT TRUST            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004228648,ORD GBP0.25                             ,HRI ,593.01992295,\"74,593,701.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Nov-05,HERENCIA RESOURCES                 ,GB,AIM,,GB00B069DV22,ORD GBP0.0001                           ,HER  ,1.06665239075,\"4,266,609,563.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-08,HERMES PACIFIC INVESTMENTS PLC     ,GB,AIM,,GB00BD02KZ12,ORD GBP1                                ,HPAC ,1.866636,\"2,333,295.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-89,HG CAPITAL TRUST                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003921052,ORD GBP0.25                             ,HGT ,430.63144445,\"33,564,415.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-13,HIBERNIA REIT PLC                  ,IE,International Main Market,Premium Equity Closed Ended Investment Funds,IE00BGHQ1986,ORD EUR0.10                             ,HBRN,794.312125528039,\"665,451,875.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SET3,ON10,EUR,,,,,,,,,,,,,,,,,,\r\n29-Mar-06,HICL INFRASTRUCTURE CO LTD         ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0T4LH64,ORD GBP0.0001                           ,HICL,3044.391817401,\"1,726,824,627.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-48,HIDONG ESTATE                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004251863,ORD GBP0.10                             ,HID ,0,\"1,713,334.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jun-08,HIGHBRIDGE MULTI STRATEGY FD LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B13YVW48,ORD NPV GBP                             ,HMSF,809.0594784,\"421,385,145.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,HIGHCROFT INVESTMENTS              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004254875,ORD GBP0.25                             ,HCFT,46.646289,\"5,182,921.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-02,HIGHLAND GOLD MINING               ,JE,AIM,,GB0032360173,ORD GBP0.001                            ,HGM  ,355.305142065,\"325,222,098.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n3-Feb-16,HIGHLANDS NATURAL RESOURCES PLC    ,GB,UK Main Market,Standard Shares,GB00BWC4X262,ORD GBP0.05                             ,HNR ,0,\"38,067,349.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-95,HIGHWAY CAPITAL PLC                ,GB,UK Main Market,Standard Shares,GB0008579384,ORD GBP0.02                             ,HWC ,1.21723882,\"8,694,563.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n4-Nov-05,HIKMA PHARMACEUTICALS              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0LCW083,ORD GBP0.10                             ,HIK ,5067.2505098,\"236,787,407.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n26-Mar-69,HILL & SMITH HLDGS                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004270301,ORD GBP0.25                             ,HILS,896.15940741,\"76,791,723.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-07,HILTON FOOD GROUP PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1V9NW54,ORD GBP0.10                             ,HFG ,418.047351855,\"70,437,633.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-90,HIMALAYAN FUND NV                  ,NL,International Main Market,Premium Equity Closed Ended Investment Funds,NL0000464154,EUR0.01                                 ,HYF ,441.524839848778,\"16,325,798.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSX4,SXNC,USD,,,,,,,,,,,,,,,,,,\r\n19-Mar-14,HISCOX LTD                         ,BM,International Main Market,Premium Equity Commercial Companies,BMG4593F1389,ORD GBP0.065(DI)                        ,HSX ,3095.80690032,\"296,533,228.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-06,HML HLDGS PLC                      ,GB,AIM,,GB00B16DFY89,ORD GBP0.015                            ,HMLH ,12.8321687,\"39,483,596.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-11,HMS HYDRAULIC MACH & SYS GRP PLC   ,CY,International Main Market,Standard GDRs,US40425X4079,GDR EACH REP 5 SHS  REG S               ,HMSG,670.401599999998,\"200,000,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n8-Nov-06,HOCHSCHILD MINING PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1FW5029,ORD GBP0.25                             ,HOC ,1216.40504103,\"505,571,505.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-06,HOGG ROBINSON GROUP PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1CM8S45,ORD GBP0.01                             ,HRG ,224.9557625625,\"317,958,675.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-01,HOLDERS TECHNOLOGY                 ,GB,AIM,,GB0004312350,ORD GBP0.10                             ,HDT  ,1.185472035,\"4,159,551.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,HOME GROUP                         ,GB,UK Main Market,Standard Debt,GB0006442155,0% LN STK 2027                          ,86HW,0,\"104,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,HOME GROUP                         ,GB,UK Main Market,Standard Debt,GB0006441744,8.75% GTD LN STK 2037                   ,84HW,0,\"100,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,HOME GROUP                         ,GB,UK Main Market,Standard Debt,GB0006441967,0% LN STK 2019                          ,85HW,0,\"73,222,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n11-Oct-06,HOME RETAIL GROUP PLC              ,GB,UK Main Market,,,,,0,,Consumer Services,Retail,General Retailers,Broadline Retailers,5373,,,,,,,,,,,,,,,,,,,,,\r\n20-Nov-91,HOMESERVE                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYYTFB60,ORD GBP0.0269230769                     ,HSV ,1741.42808762,\"307,672,807.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-99,HON HAI PRECISION INDUSTRY         ,TW,International Main Market,Standard GDRs,US4380901029,GDR EACH REP 2 SHS TWD10 '144A'         ,HHPG,103.797975,0.00,Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-99,HON HAI PRECISION INDUSTRY         ,TW,International Main Market,Standard GDRs,US4380902019,GDR EACH REP 2 SHS TWD10 REG'S'         ,HHPD,103.797975,\"25,000,000.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n23-Dec-15,HONEYCOMB INVESTMENT TRUST PLC     ,GB,UK Main Market,,GB00BYZV3G25,ORD GBP0.01                             ,HONY,0,\"15,000,001.00\",,,,,0,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-87,HONEYWELL INTERNATIONAL INC        ,US,International Main Market,Standard Shares,US4385161066,USD1                                    ,HON ,87342.9144220983,\"981,343,234.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n1-Oct-90,HONG KONG LAND HLDGS               ,BM,International Main Market,Standard Shares,BMG4587L1090,ORD USD0.10 (JERSEY REG)                ,HKLJ,13199.3935319739,0.00,,,,,8733,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n1-Oct-90,HONG KONG LAND HLDGS               ,BM,International Main Market,Standard Shares,BMG4587L1090,ORD USD0.10 (BERMUDA REG)               ,HKLB,13199.3935319739,\"2,338,209,385.00\",,,,,8733,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n27-Mar-14,HORIZON DISCOVERY GROUP PLC        ,GB,AIM,,GB00BK8FL363,ORD GBP0.01                             ,HZD  ,151.572363525,\"95,029,695.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Aug-10,HORIZONTE MINERALS                 ,GB,AIM,,GB00B11DNM70,ORD GBP0.01                             ,HZM  ,14.8033152495,\"722,112,939.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n12-Aug-15,HORNBY PLC                         ,GB,AIM,,GB00B01CZ652,ORD GBP0.01                             ,HRN  ,26.326522245,\"84,583,204.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-15,HOSTELWORLD GROUP PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYYN4225,ORD EUR0.01                             ,HSW ,176.8059393,\"95,570,778.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-May-16,HOTEL CHOCOLAT GROUP PLC           ,GB,AIM,,GB00BYZC3B04,ORD GBP0.001                            ,HOTC ,234.1384931,\"112,837,828.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-91,HOUSING FINANCE CORP               ,GB,UK Main Market,Standard Debt,GB0004398318,8.625% DEB STK 2023                     ,65HB,0,\"227,500,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n21-Nov-91,HOUSING FINANCE CORP               ,GB,UK Main Market,Standard Debt,GB0004398193,11.5% DEB STK 2016                      ,64HB,0,\"231,500,000.00\",,,,,6,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n21-Nov-91,HOUSING FINANCE CORP               ,GB,UK Main Market,Standard Debt,GB0004410071,5% DEB STK 2027                         ,68HB,0,\"50,954,200.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n21-Nov-91,HOUSING FINANCE CORP               ,GB,UK Main Market,Standard Debt,GB0004398425,9.625% DEB STK 2025                     ,66HB,0,\"66,950,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n17-Jul-92,HOWDEN JOINERY GROUP PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005576813,ORD GBP0.10                             ,HWDN,2800.571460652,\"613,622,143.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Feb-12,HSBC BANK PLC                      ,GB,UK Main Market,Standard Securitised Derivatives,GB00B6Y1YW03,LEPO WTS 02/02/22(CHINA CNR CORP)USD    ,11IE,0,\"7,000,000.00\",,,,,5,CWTR,UIDW,USD,,,,,,,,,,,,,,,,,,\r\n9-Feb-12,HSBC BANK PLC                      ,GB,UK Main Market,Standard Securitised Derivatives,GB00B7D4CP64,LEPO WTS 24/02/22(ZOOMLION HEAVY IND)USD,42MA,0,\"3,000,000.00\",,,,,5,CWTR,UIDW,USD,,,,,,,,,,,,,,,,,,\r\n9-Feb-12,HSBC BANK PLC                      ,GB,UK Main Market,Standard Securitised Derivatives,GB00B73ML866,LEPO 23/02/22 (CHINA CONSTRUCTION BK)USD,42KM,0,\"40,000,000.00\",,,,,5,CWTR,UIDW,USD,,,,,,,,,,,,,,,,,,\r\n8-Apr-91,HSBC HLDGS                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005405286,ORD USD0.50                             ,HSBA,109590.589894005,\"19,420,625,535.00\",Financials,Banks,Banks,Banks,8355,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n4-Feb-15,HSS HIRE GRP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVFD4645,ORD GBP0.01                             ,HSS ,120.71428512,\"154,761,904.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-10,HUMMINGBIRD RESOURCES PLC          ,GB,AIM,,GB00B60BWY28,ORD GBP0.01                             ,HUM  ,80.5325978625,\"346,376,765.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-14,HUNTER RESOURCES PLC               ,IM,AIM,,IM00BMNQNZ42,ORD GBP0.01                             ,HUN  ,0,\"133,195,035.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-15,HUNTERS PROPERTY PLC               ,GB,AIM,,GB00BYMW5L71,ORD GBP0.04                             ,HUNT ,19.800893,\"28,286,990.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-85,HUNTING                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004478896,ORD GBP0.25                             ,HTG ,679.7671033725,\"146,265,111.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Aug-86,HUNTSWORTH                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0CRWK29,ORD GBP0.01                             ,HNT ,140.42137878,\"326,561,346.00\",Consumer Services,Media,Media,Media Agencies,5555,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n4-Feb-14,HURRICANE ENERGY PLC               ,GB,AIM,,GB00B580MF54,ORD GBP0.001                            ,HUR  ,290.288931715,\"984,030,277.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-06,HUTCHISON CHINA MEDITECH           ,KY,AIM,,KYG4672N1016,ORD USD1                                ,HCM  ,1156.1765129,\"63,092,852.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-May-12,HVIVO PLC                          ,GB,AIM,,GB00B6ZM0X53,ORD GBP0.05                             ,HVO  ,139.373130225,\"78,080,185.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-50,HWANGE COLLIERY CO                 ,ZW,International Main Market,Standard Shares,ZW0009011934,ZWD1                                    ,HWA ,0,\"101,333,952.00\",Basic Materials,Basic Resources,Mining,Coal,1771,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n21-Dec-04,HYDRODEC GROUP                     ,GB,AIM,,GB00B02FJF09,ORD GBP0.005                            ,HYR  ,25.153403582,\"734,405,944.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-06,HYDROGEN GROUP PLC                 ,GB,AIM,,GB00B1DJTV45,ORD GBP0.01                             ,HYDG ,8.2254921,\"23,501,406.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-02,HYGEA VCT                          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031256109,ORD GBP0.50                             ,HYG ,3.89538048,\"8,115,376.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-95,HYUNDAI MOTOR CO                   ,KR,Trading Only,,US4491875096,GDS EACH REP 0.5 PFD N/VTG              ,HYUP,670.994910139282,0.00,Consumer Goods,Automobiles & Parts,Automobiles & Parts,Automobiles,3353,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n22-Jun-95,HYUNDAI MOTOR CO                   ,KR,International Main Market,Standard GDRs,USY384721251,GDR EACH REP 1/2 PFD N/VTG(REG'S')(CIT) ,HYUD,670.994910139282,\"20,822,194.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Automobiles,3353,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n22-Jun-95,HYUNDAI MOTOR CO                   ,KR,Trading Only,,US4491877076,GDS EACH REPR 0.5 ORD SHARE             ,HYUO,670.994910139282,0.00,Consumer Goods,Automobiles & Parts,Automobiles & Parts,Automobiles,3353,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n28-Jun-13,IBEX GLOBAL SOLUTIONS PLC          ,GB,AIM,,GB00BBCRF441,ORD GBP0.01                             ,IBEX ,33.819012,\"39,554,400.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-06,IBIS MEDIA VCT 1                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0WHB612,ORD GBP0.01                             ,IBSA,2.58775986,\"12,322,666.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-15,IBSTOCK PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYXJC278,ORD GBP0.01                             ,IBST,741.947663394,\"406,101,622.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-98,ICAP                               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033872168,ORD GBP0.10                             ,IAP ,3089.095886575,\"645,849,025.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-81,ICG ENTERPRISE TRUST PLC           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003292009,ORD GBP0.10                             ,ICGT,405.66762691,\"69,822,311.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n5-Feb-13,ICG-LONGBOW SNR SEC UK PRP DEBT INV,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B8C23S81,ORD NPV                                 ,LBOW,109.3014425,\"108,219,250.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-12,IDEAGEN PLC                        ,GB,AIM,,GB00B0CM0C50,ORD GBP0.01                             ,IDEA ,98.04246326,\"179,894,428.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jun-07,IDOX                               ,GB,AIM,,GB0002998192,ORD GBP0.01                             ,IDOX ,271.930850685,\"366,854,436.00\",Technology,Technology,Software & Computer Services,Software,9537,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Sep-10,IENERGIZER LTD                     ,GG,AIM,,GG00B54NMG96,ORD GBP0.01                             ,IBPO ,135.94295572,\"190,130,008.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jul-00,IFG GROUP                          ,IE,International Main Market,Standard Shares,IE0002325243,ORD EUR0.12                             ,IFP ,202.82421708,\"125,200,134.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-95,IG DESIGN GROUP PLC                ,GB,AIM,,GB0004526900,ORD GBP0.05                             ,IGR  ,143.565976915,\"58,479,013.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Nondurable Household Products,3724,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-05,IG GROUP HLDGS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B06QFB75,ORD GBP0.00005                          ,IGG ,3486.77995128,\"366,643,528.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-12,IG SEISMIC SERVICES PLC            ,CY,International Main Market,Standard GDRs,US4495971032,GDR EACH REPR 2 ORD SHS 144A            ,14VM,41.6621645684999,0.00,Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n12-Dec-12,IG SEISMIC SERVICES PLC            ,CY,International Main Market,Standard GDRs,US4495972022,GDR EACH REPR 2 ORD SHS REG S           ,IGSS,41.6621645684999,\"31,250,100.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n12-Dec-11,IGAS ENERGY PLC                    ,GB,AIM,,GB00B29PWM59,ORD GBP0.10                             ,IGAS ,53.0111600825,\"298,654,423.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-10,ILIKA PLC                          ,GB,AIM,,GB00B608Z994,ORD GBP0.01                             ,IKA  ,38.3105718,\"66,052,710.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-02,IMAGE SCAN HLDGS                   ,GB,AIM,,GB0031410581,ORD GBP0.01                             ,IGE  ,8.164297505,\"125,604,577.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-06,IMAGINATIK PLC                     ,GB,AIM,,GB00BP8XY588,ORD GBP0.01                             ,IMTK ,2.65700043,\"151,828,596.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-94,IMAGINATION TECHNOLOGIES GROUP     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009303123,GBP0.10                                 ,IMG ,649.714716035,\"284,650,478.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-66,IMI                                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BGLP8L22,ORD GBP0.2857                           ,IMI ,3040.61339505,\"287,664,465.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-14,IMIMOBILE PLC                      ,GB,AIM,,GB00BLBP4Y22,ORD GBP0.10                             ,IMO  ,95.499372735,\"49,353,681.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-03,IMMEDIA GROUP PLC                  ,GB,AIM,,GB0033881904,ORD GBP0.10                             ,IME  ,4.3705035,\"14,568,345.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-04,IMMUNODIAGNOSTIC SYSTEMS HLDGS     ,GB,AIM,,GB00B01YZ052,ORD GBP0.02                             ,IDH  ,53.1953044,\"29,148,112.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-06,IMMUPHARMA                         ,GB,AIM,,GB0033711010,ORD GBP0.10                             ,IMM  ,45.8187772875,\"124,676,945.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-06,IMPACT HLDGS(UK)                   ,GB,AIM,,GB00B3DFYL18,ORD GBP0.50                             ,IHUK ,1.66522527,\"2,622,402.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-09,IMPAX ASIAN ENVIRONMENTAL MKTS PLC ,GB,UK Main Market,,GB00B4M82P85,SUB SHS GBP0.001                        ,IAES,0,\"39,075,491.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-09,IMPAX ASIAN ENVIRONMENTAL MKTS PLC ,GB,UK Main Market,,GB00BCBV5662,ORD GBP0.01(A RIGHTS)                   ,IAEA,0,\"20,805,744.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-09,IMPAX ASIAN ENVIRONMENTAL MKTS PLC ,GB,UK Main Market,,GB00BCBV5886,ORD GBP0.01(B RIGHTS)                   ,IAEB,0,\"178,779,313.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jun-01,IMPAX ASSET MANAGEMENT GROUP PLC   ,GB,AIM,,GB0004905260,ORD GBP0.01                             ,IPX  ,61.400049,\"122,800,098.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-02,IMPAX ENVIRONMENTAL MARKETS PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031232498,ORD GBP0.10                             ,IEM ,402.6998147,\"196,438,934.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-08,IMPELLAM GROUP PLC                 ,GB,AIM,,GB00B8HWGJ55,ORD GBP0.01                             ,IPEL ,375.507267,\"50,403,660.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Oct-96,IMPERIAL BRANDS PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004544929,ORD GBP0.10                             ,IMB ,38064.723945325,\"953,166,995.00\",Consumer Goods,Personal & Household Goods,Tobacco,Tobacco,3785,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-06,IMPERIAL INNOVATIONS GROUP         ,GB,AIM,,GB00B170L953,ORD GBP0.030303                         ,IVO  ,623.85995988,\"161,204,124.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-40,INCH KENNETH KAJANG RUBBER         ,GB,UK Main Market,Standard Shares,GB0004601091,ORD GBP0.10                             ,IKK ,46.445395,\"403,873,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-58,INCHCAPE PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B61TVQ02,ORD GBP0.10                             ,INCH,3236.520237715,\"461,371,381.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-08,INCOME & GROWTH VCT PLC(THE)       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B29BN198,ORD GBP0.01                             ,IGV ,97.43586538125,\"110,565,521.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-00,INDEPENDENT INVESTMENT TRUST(THE)  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000811686,ORD GBP0.25                             ,IIT ,205.69085,\"55,145,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-73,INDEPENDENT NEWS & MEDIA           ,IE,International Main Market,Premium Equity Commercial Companies,IE00B59HWB19,ORD EUR0.01                             ,INM ,158.743012398708,\"1,386,547,376.00\",Consumer Services,Media,Media,Publishing,5557,SSQ3,SQQ3,EUR,,,,,,,,,,,,,,,,,,\r\n30-Sep-13,INDEPENDENT OIL & GAS PLC          ,GB,AIM,,GB00BF49WF64,ORD GBP0.01                             ,IOG  ,29.3044219275,\"103,732,467.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-05,INDEPENDENT RESOURCES              ,GB,AIM,,GB00B0RNX796,ORD GBP0.0001                           ,IRG  ,0.83469018375,\"1,335,504,294.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-05,INDIA CAPITAL GROWTH FUND          ,GG,AIM,,GB00B0P8RJ60,ORD GBP0.01                             ,IGC  ,80.01717054625,\"112,502,173.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-03,INDIGOVISION GROUP                 ,GB,AIM,,GB0032654534,ORD GBP0.01                             ,IND  ,12.4853223,\"7,566,862.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-14,INDIVIOR PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRS65X63,ORD USD0.10                             ,INDV,2260.645186228,\"718,577,618.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-08,INDUS GAS LTD                      ,GG,AIM,,GG00B39HF298,ORD GBP0.01                             ,INDI ,741.0443922,\"182,973,924.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-14,INDUSTRIAL MULTI PROPERTY TRUST PLC,IM,UK Main Market,,IM00B4N9KC32,ORD GBP0.10                             ,IMPT,15.137136,\"8,409,520.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-05,INFINITY ENERGY SA                 ,LU,AIM,,LU0726886947,ORD NPV                                 ,INFT ,0.47092274775,\"348,831,665.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-May-14,INFORMA PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMJ6DW54,ORD GBP0.001                            ,INF ,4597.748749165,\"648,941,249.00\",Consumer Services,Media,Media,Publishing,5557,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jan-08,INFRASTRATA PLC                    ,GB,AIM,,GB00B28YMP66,ORD GBP0.01                             ,INFA ,2.3505199875,\"188,041,599.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-11,INFRASTRUCTURE INDIA PLC           ,IM,AIM,,IM00B2QVWM67,ORD GBP0.01                             ,IIP  ,86.7340477275,\"680,267,041.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 1 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B62VNG90,ORD GBP0.01 G                           ,IE1G,0,\"3,518,044.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 1 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B402J954,ORD GBP0.01 F                           ,IE1F,0,\"1,572,092.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 1 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B42F8N96,ORD GBP0.01 E                           ,IE1E,0,\"2,846,122.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 1 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B956JT75,ORD GBP0.01 H                           ,IE1H,0,\"6,132,684.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 1 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B598LZ10,'D' SHS GBP0.01                         ,IE1D,0,\"6,785,624.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 2 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4N8CB39,ORD GBP0.01 E                           ,IEVE,0,\"2,846,122.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 2 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B41BXG64,ORD GBP0.01 F                           ,IEVF,0,\"1,572,095.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 2 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B94SVP47,ORD GBP0.01 H                           ,IEVH,0,\"6,132,684.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 2 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6S3D702,ORD GBP0.01 G                           ,IEVG,0,\"3,518,044.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-08,INGENIOUS ENTERTAINMENT VCT 2 PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B59YCM30,'D' SHS GBP0.01                         ,IEVD,0,\"6,785,624.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-07,INGENTA PLC                        ,GB,AIM,,GB00B3BDTG73,ORD GBP0.10                             ,ING  ,24.56112225,\"16,938,705.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-07,INLAND HOMES PLC                   ,GB,AIM,,GB00B1TR0310,ORD GBP0.10                             ,INL  ,131.88399939,\"184,453,146.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-12,INLAND ZDP PLC                     ,GB,UK Main Market,Standard Misc Securities,GB00B99R1Q79,0% DIV PREF SHS 17/4/19 GBP0.10         ,INLZ,0,\"28,313,200.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-05,INMARSAT                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B09LSH68,ORD EUR0.0005                           ,ISAT,3466.09319772,\"449,558,132.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jun-15,INSPIRATION HEALTHCARE GROUP PLC   ,GB,AIM,,GB00BXDZL105,ORD GBP0.1                              ,IHC  ,20.7005949,\"30,667,548.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Nov-11,INSPIRED ENERGY PLC                ,GB,AIM,,GB00B5TZC716,ORD GBP0.0125                           ,INSE ,63.6286013175,\"480,215,859.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-13,INSPIRIT ENERGY HLDGS PLC          ,GB,AIM,,GB00B44W9L31,ORD GBP0.001                            ,INSP ,3.0446222885,\"936,806,858.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n13-Oct-10,INSTEM PLC                         ,GB,AIM,,GB00B3TQCK30,ORD GBP0.10                             ,INS  ,40.22003456,\"15,710,951.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-15,INTEGRATED DIAGNOSTICS HLDGS PLC   ,JE,UK Main Market,Standard Shares,JE00BV9H9G76,ORD USD1                                ,IDHC,413.096894999999,\"150,000,000.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,SSMU,SMEU,USD,,,,,,,,,,,,,,,,,,\r\n9-Jul-14,INTELLIGENT ENERGY HLDGS PLC       ,GB,UK Main Market,Standard Shares,GB00BNB7LQ31,ORD GBP0.05                             ,IEH ,16.3726655805,\"205,945,479.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jan-01,INTERCEDE GROUP                    ,GB,AIM,,GB0003287249,ORD GBP0.01                             ,IGP  ,51.815847085,\"49,114,547.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-14,INTERCONTINENTAL HOTELS GROUP      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYXK6398,ORD GBP0.1896656535                     ,IHG ,6730.0439736,\"206,379,760.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SET1,FF10,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-16,INTERMEDIATE CAPITAL GROUP         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYT1DJ19,ORD GBP0.2625                           ,ICP ,1747.61241935,\"293,716,373.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-May-94,INTERNATIONAL BIOTECHNOLOGY TRUST  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004559349,ORD GBP0.25                             ,IBT ,193.0183585,\"38,797,660.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-73,INTERNATIONAL BUS MACH CORP        ,US,International Main Market,Standard Shares,US4592001014,USD0.20                                 ,IBM ,73462.8549771848,\"607,590,732.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n24-Jan-11,INTERNATIONAL CONSOLIDATED AIRL GRP,ES,International Main Market,Premium Equity Commercial Companies,ES0177542018,ORD EUR0.50(CDI)                        ,IAG ,6947.69322194,\"1,814,019,118.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-07,INTERNATIONAL FERRO METALS         ,AU,International Main Market,,AU0000XINAK8,NPV                                     ,IFL ,0,\"554,008,047.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-07,INTERNATIONAL PERSONAL FINANCE PLC ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1YKG049,ORD GBP0.10                             ,IPF ,602.909829408,\"222,311,884.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-06,INTERNATIONAL PUBLIC PARTNERSHIP   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B188SR50,ORD GBP0.0001                           ,INPP,1834.906360704,\"1,167,243,232.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-05,INTERQUEST GROUP                   ,GB,AIM,,GB00B07W3X22,ORD GBP0.01                             ,ITQ  ,21.55728688,\"37,167,736.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-66,INTERSERVE                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001528156,ORD GBP0.10                             ,IRV ,627.2143755325,\"145,779,053.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-02,INTERTEK GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031638363,ORD GBP0.01                             ,ITRK,5612.96165507,\"160,783,777.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-06,INTU DEBENTURE PLC                 ,GB,UK Main Market,Standard Debt,GB00B1DBF788,5.562% 1ST MTG DEB STK 31/12/27 GBP50000,69ZM,0,\"354,876,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n24-Jun-99,INTU PROPERTIES PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006834344,ORD GBP0.50                             ,INTU,4158.13023368,\"1,315,863,998.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-95,INVESCO ASIA TRUST                 ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004535307,ORD GBP0.10                             ,IAT ,235.65426096,\"103,357,132.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-96,INVESCO INCOME GROWTH TRUST        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003585725,ORD GBP0.25                             ,IVI ,167.42970816,\"58,541,856.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-99,INVESCO PERPETUAL ENHANCED INC LTD ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B05NYM32,ORD GBP0.05                             ,IPE ,86.1396106125,\"112,051,526.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-06,INVESCO PERPETUAL SELECT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1DQ6472,GLOBAL EQUITY INC SHS GBP0.01           ,IVPG,158.382375935,\"34,902,663.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-06,INVESCO PERPETUAL SELECT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1DPVL60,UK EQUITY SHS GBP0.01                   ,IVPU,158.382375935,\"43,810,145.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-06,INVESCO PERPETUAL SELECT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1DQ6704,MANAGED LIQUIDITY SHS GBP0.01           ,IVPM,158.382375935,\"9,487,207.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-06,INVESCO PERPETUAL SELECT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1DQ6696,BALANCED RISK SHS GBP0.01               ,IVPB,158.382375935,\"10,061,862.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-88,INVESCO PERPETUAL UK SMLLER CO IT  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1FL3C76,ORD GBP0.2                              ,IPU ,208.57960928,\"53,209,084.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,INVESTEC INVESTMENT TRUST(GB)      ,GB,UK Main Market,Standard Shares,GB0004057468,3.5% CUM PRF STK                        ,46HA,0,\"1,300,000.00\",,,,,7,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,INVESTEC INVESTMENT TRUST(GB)      ,GB,UK Main Market,Standard Shares,GB0004058433,5% CUM PRF STK GBP1                     ,47HA,0,\"345,438.00\",,,,,7,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-02,INVESTEC PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B17BBQ50,ORD GBP0.0002                           ,INVP,2952.17501236,\"654,874,670.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-02,INVESTEC PLC                       ,GB,Trading Only,,GB00B19RX541,NON-RED NON-CUM NON-PTG PREF GBP0.01    ,INVR,2952.17501236,0.00,Financials,Financial Services,Financial Services,Investment Services,8777,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-64,INVESTMENT CO                      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004658257,ORD GBP0.50                             ,INV ,17.15716738,\"4,739,549.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Mar-07,INVESTORS CAPITAL TRUST PLC        ,GB,UK Main Market,,GB00B1N4H933,UNITS(COMP 3'A'ORD& 1'B'ORD)            ,ICTU,199.563703385,\"21,822,855.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Mar-07,INVESTORS CAPITAL TRUST PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1N4G299,'A' ORD GBP0.001                        ,ICTA,199.563703385,\"89,428,144.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Mar-07,INVESTORS CAPITAL TRUST PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1N4H594,'B' ORD GBP0.001                        ,ICTB,199.563703385,\"30,771,703.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-08,IOFINA PLC                         ,GB,AIM,,GB00B2QL5C79,ORD GBP0.01                             ,IOF  ,19.1354097,\"127,569,398.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-00,IOMART GROUP                       ,GB,AIM,,GB0004281639,ORD GBP0.01                             ,IOM  ,304.55842274,\"102,200,813.00\",Technology,Technology,Software & Computer Services,Internet,9535,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-10,IONA ENVIRONMENTAL VCT PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B40HX431,ORD GBP0.001 B                          ,IONB,1.2272484855,\"960,110.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-10,IONA ENVIRONMENTAL VCT PLC         ,GB,UK Main Market,Standard Shares,GB00B5BMPY80,ORD GBP0.001 A                          ,IONA,1.2272484855,\"6,510,471.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-10,IONA ENVIRONMENTAL VCT PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B57F1L02,ORD GBP0.001                            ,ION1,1.2272484855,\"318,370.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jun-06,IP GROUP                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B128J450,ORD GBP0.02                             ,IPO ,1002.0706761,\"527,405,619.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-00,IPPLUS PLC                         ,GB,AIM,,GB0009737155,ORD GBP0.01                             ,IPP  ,4.8386214125,\"31,728,665.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n20-Sep-05,IPSA GROUP                         ,GB,AIM,,GB00B0CJ3F01,ORD GBP0.02                             ,IPSA ,0,\"107,504,081.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-03,IQE PLC                            ,GB,AIM,,GB0009619924,ORD GBP0.01                             ,IQE  ,156.0601093275,\"606,058,677.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jan-09,IRF EUROPEAN FINANCE INVESTMENTS   ,BM,International Main Market,,BMG493831058,USD0.0015 (DI)                          ,IRF ,0.0836878364256477,\"137,315,633.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n10-Jun-14,IRISH CONTINENTAL GROUP            ,IE,International Main Market,Premium Equity Commercial Companies,IE00BLP58571,UNIT(COMP 1 ORD EUR0.065 &10 RD(NIL IS)),ICGC,730.799260205986,\"184,376,890.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,SET3,ON15,EUR,,,,,,,,,,,,,,,,,,\r\n12-Feb-15,IRONRIDGE RESOURCES LTD            ,AU,AIM,,AU0000XINEX3,ORD NPV (DI)                            ,IRR  ,30.75958639,\"236,612,203.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-01,IRONVELD PLC                       ,GB,AIM,,GB0030426455,ORD GBP0.01                             ,IRON ,15.83109045375,\"324,740,317.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-98,ITE GROUP                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002520509,ORD GBP0.01                             ,ITE ,434.9826189125,\"254,004,449.00\",Consumer Services,Media,Media,Media Agencies,5555,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-06,ITHACA ENERGY INC                  ,CA,AIM,,CA4656761042,ORD NPV (DI)                            ,IAE  ,201.681554025,\"316,363,222.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-04,ITM POWER                          ,GB,AIM,,GB00B0130H42,ORD GBP0.05                             ,ITM  ,48.7588401,\"216,705,956.00\",Oil & Gas,Oil & Gas,Alternative Energy,Renewable Energy Equipment,583,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-04,ITV                                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033986497,ORD GBP0.10                             ,ITV ,7849.545939225,\"3,911,084,175.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-13,IXICO PLC                          ,GB,AIM,,GB00BCLY7L40,ORD GBP0.01                             ,IXI  ,8.33035959,\"26,445,586.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-02,JAMES HALSTEAD                     ,GB,AIM,,GB00B0LS8535,ORD GBP0.05                             ,JHD  ,937.768388945,\"207,127,198.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-02,JAMES HALSTEAD                     ,GB,AIM,,GB0004053483,5.5% CUM PRF GBP1                       ,JHDA ,937.768388945,\"200,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,ASXN,AIMN,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-87,JARDINE LLOYD THOMPSON GROUP       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005203376,GBP0.05                                 ,JLT ,2145.824831475,\"218,404,563.00\",Financials,Insurance,Nonlife Insurance,Insurance Brokers,8534,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-90,JARDINE MATHESON HLDGS             ,BM,International Main Market,Standard Shares,BMG507361001,ORD USD0.25(BERMUDA REG)                ,JARB,17303.6962982371,\"442,691,108.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n14-May-90,JARDINE MATHESON HLDGS             ,BM,International Main Market,Standard Shares,BMG507361001,ORD USD0.25(JERSEY REG)                 ,JARJ,17303.6962982371,\"16,089,825.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n20-Jun-91,JARDINE STRATEGIC HLDGS            ,BM,International Main Market,Standard Shares,BMG507641022,ORD USD0.05                             ,JDSB,22816.2132675449,\"1,120,102,500.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n20-Jun-91,JARDINE STRATEGIC HLDGS            ,BM,International Main Market,Standard Shares,BMG507641022,ORD USD0.05                             ,88EI,22816.2132675449,\"9,563,897.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n23-Dec-04,JARVIS SECURITIES                  ,GB,AIM,,GB00B013J330,ORD GBP0.01                             ,JIM  ,34.99461375,\"11,056,750.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-06,JAYWING PLC                        ,GB,AIM,,GB00B1FPT107,ORD GBP0.05                             ,JWNG ,22.8790746,\"76,263,582.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Oct-96,JD SPORTS FASHION PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMNQZP86,ORD GBP0.0125                           ,JD. ,2514.83448544,\"194,646,632.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-64,JERSEY ELECTRICITY PLC             ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B43SP147,ORD GBP0.05 A                           ,JEL ,49.179,\"11,640,000.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-11,JERSEY OIL & GAS PLC               ,GB,AIM,,GB00BYN5YK77,ORD GBP0.01                             ,JOG  ,3.2516957875,\"8,391,473.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-14,JIASEN INTL HLDGS LTD              ,VG,AIM,,VGG5139D1078,ORD USD0.1 (DI)                         ,JSI  ,3.19347947625,\"121,656,361.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Oct-14,JIMMY CHOO PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BQPW6Y82,ORD GBP1                                ,CHOO,613.3265775,\"490,661,262.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Footwear,3765,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-95,JKX OIL & GAS                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004697420,ORD GBP0.10                             ,JKX ,32.9892794,\"171,372,880.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-14,JOHN LAING ENVIRONMENTAL ASSET GRP ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BJL5FH87,NPV                                     ,JLEN,204.3005,\"198,350,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-15,JOHN LAING GROUP PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVC3CB83,ORD GBP0.10                             ,JLG ,933.81922842,\"366,923,076.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-10,JOHN LAING INFRASTRUCTURE FUND LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B4ZWPH08,ORD GBP0.0001                           ,JLIF,1215.4309308,\"900,319,208.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jan-97,JOHN LEWIS OF HUNGERFORD           ,GB,AIM,,GB0004773148,ORD GBP0.001                            ,JLH  ,2.054200709,\"186,745,519.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Aug-12,JOHNSON MATTHEY                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BZ4BQC70,ORD GBP1.109245                         ,JMAT,6640.63742828,\"198,940,606.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-08,JOHNSON SERVICE GROUP PLC          ,GB,AIM,,GB0004762810,ORD GBP0.10                             ,JSG  ,345.068753,\"345,068,753.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-88,JOHNSTON PRESS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRK8Y334,ORD GBP0.01                             ,JPR ,8.47081168,\"105,885,146.00\",Consumer Services,Media,Media,Publishing,5557,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n26-May-16,JOULES GROUP PLC                   ,GB,AIM,,GB00BZ059357,ORD GBP0.01                             ,JOUL ,151.81214606,\"87,499,796.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Aug-08,JOURNEY GROUP PLC                  ,GB,AIM,,GB00B909HR51,ORD GBP0.25                             ,JNY  ,32.56479512,\"13,798,642.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-93,JP MORGAN CHINESE INVESTMENT TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003435012,ORD GBP0.25                             ,JMC ,150.18383536,\"75,469,264.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-55,JP MORGAN JAPANESE INVESTMENT TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001740025,ORD GBP0.25                             ,JFJ ,518.459200575,\"161,388,078.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-05,JPEL PRIVATE EQUITY LTD            ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B07V0H27,USD EQTY SHS NPV                        ,JPEL,256.088141744387,\"336,995,572.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,USD,,,,,,,,,,,,,,,,,,\r\n8-May-14,JPMORGAN AMERICAN IT               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BKZGVH64,ORD GBP0.05                             ,JAM ,900.83954046,\"275,486,098.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n12-Sep-97,JPMORGAN ASIAN INV TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0001320778,ORD GBP0.25                             ,JAI ,390.81916813625,\"143,617,517.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n26-Apr-10,JPMORGAN BRAZIL INVESTMENT TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B602HS43,ORD GBP0.01                             ,JPB ,23.24547077,\"39,399,103.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-83,JPMORGAN CHASE & CO                ,US,International Main Market,Standard Shares,US46625H1005,USD1                                    ,JPM ,202437.65913445,\"3,930,320,810.00\",Financials,Banks,Banks,Banks,8355,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n24-Apr-63,JPMORGAN CLAVERHOUSE IT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003422184,ORD GBP0.25                             ,JCH ,313.842019565,\"54,723,979.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-99,JPMORGAN ELECT PLC                 ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008528142,MANAGED GROWTH SHS GBP0.0001            ,JPE ,293.30132691,\"35,301,180.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-99,JPMORGAN ELECT PLC                 ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0034080217,MANAGED INCOME SHS GBP0.00003           ,JPEI,293.30132691,\"48,748,057.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-99,JPMORGAN ELECT PLC                 ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0034080092,MANAGED CASH SHS GBP0.00002             ,JPEC,293.30132691,\"14,768,722.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-91,JPMORGAN EMERGING MKTS INV TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003418950,ORD GBP0.25                             ,JMG ,875.74360797,\"126,369,929.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-14,JPMORGAN EURO SMALL CO TRUST PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BMTS0Z37,ORD GBP0.05                             ,JESC,478.84217615,\"160,147,885.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-55,JPMORGAN EUROPEAN INVESTMENT TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B18JK166,GROWTH SHARES GBP0.05                   ,JETG,356.6265698475,\"97,058,903.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-55,JPMORGAN EUROPEAN INVESTMENT TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B17XWW44,INCOME SHARES GBP0.025                  ,JETI,356.6265698475,\"92,715,991.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-13,JPMORGAN GLOBAL CONVERTIBLES INC FD,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B96SW597,ORD NPV                                 ,JGCI,115.273424675,\"125,638,610.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-10,JPMORGAN GLOBAL EMERG MKTS IT PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B5ZZY915,ORD GBP0.01                             ,JEMI,200.80630776,\"176,145,884.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-68,JPMORGAN GLOBAL GWTH & INC PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYMKY695,ORD GBP0.05                             ,JPGI,371.7732,\"154,905,500.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-68,JPMORGAN GLOBAL GWTH & INC PLC     ,GB,UK Main Market,Standard Debt,GB0009143495,4.5% PERP DEB STK                       ,61IO,371.7732,\"200,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,JPMORGAN INC & GRWTH INVEST TST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1G3N114,INC SHS GBP0.01                         ,JIGI,87.35434648125,\"61,747,803.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,JPMORGAN INC & GRWTH INVEST TST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1G3N007,CAP SHS GBP0.01                         ,JIGC,87.35434648125,\"40,659,873.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,JPMORGAN INC & GRWTH INVEST TST PLC,GB,UK Main Market,,GB00B1G3N221,UNITS(COMP 1 INC SHARE & 1 CAP SHARE)   ,JIGU,87.35434648125,\"21,957,930.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-08,JPMORGAN INCOME & CAPITAL TRUST PLC,GB,UK Main Market,Standard Shares,GB00B2NBJ282,ZERO DIV PREF SHS GBP0.01               ,JPIZ,139.82445124,\"46,037,200.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-08,JPMORGAN INCOME & CAPITAL TRUST PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B2NBJ068,ORD GBP0.01                             ,JPI ,139.82445124,\"68,056,782.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-08,JPMORGAN INCOME & CAPITAL TRUST PLC,GB,UK Main Market,,GB00B2NBJ407,UNITS (COMPR 2 ORD & 1 ZDP GBP)         ,JPIU,139.82445124,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n26-May-94,JPMORGAN INDIAN INV TRUST          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003450359,ORD GBP0.25                             ,JII ,663.156688725,\"101,633,209.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n12-Apr-00,JPMORGAN JAPAN SMALLER COS TST PLC ,GB,UK Main Market,Standard Shares,GB00BSFWJ549,ORD GBP0.001 SUBSCRIPTION SHARE         ,JPSS,139.98907624,\"9,255,764.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n12-Apr-00,JPMORGAN JAPAN SMALLER COS TST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003165817,ORD GBP0.10                             ,JPS ,139.98907624,\"46,396,599.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-72,JPMORGAN MID CAP INV TRUST         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002357613,ORD GBP0.25                             ,JMF ,221.3916791,\"23,947,180.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-02,JPMORGAN RUSSIAN SECURITIES        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0032164732,ORD GBP0.01                             ,JRS ,212.51841912,\"52,997,112.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Aug-90,JPMORGAN SMALLER COS IT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007416000,ORD GBP0.25                             ,JMI ,135.56917144,\"17,154,409.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Aug-90,JPMORGAN SMALLER COS IT PLC        ,GB,UK Main Market,Standard Shares,GB00BV7L8Z35,ORD GBP0.001 (SUBSCRIPTION SHS)         ,JMIS,135.56917144,\"3,567,532.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Mar-14,JPMORGAN US SMALLER CO INV TST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BJL5F346,ORD GBP0.025                            ,JUSC,121.589685,\"57,899,850.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n15-Nov-13,JRP GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BCRX1J15,ORD GBP0.1                              ,JRP ,914.24405114,\"932,902,093.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-02,JUBILEE PLATINUM                   ,GB,AIM,,GB0031852162,ORD GBP0.01                             ,JLP  ,37.85754626225,\"1,058,952,343.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-05,JUDGES SCIENTIFIC PLC              ,GB,AIM,,GB0032398678,ORD GBP0.05                             ,JDG  ,86.960829375,\"6,049,449.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-99,JUPITER DIVIDEND & GROWTH TRUST    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4MW8K78,COM SHS GBP0.03967705                   ,JDTC,50.87741074,\"8,054,045.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-99,JUPITER DIVIDEND & GROWTH TRUST    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4KXYX79,ZDP GBP0.0396770514 (NEW)               ,JDTZ,50.87741074,\"32,119,031.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-99,JUPITER DIVIDEND & GROWTH TRUST    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0M3FZ66,ORD INC GBP0.0898274742                 ,JDT ,50.87741074,\"91,675,333.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-11,JUPITER ENERGY                     ,AU,AIM,,AU000000JPR6,NPV (DI)                                ,JPRL ,16.104657765,\"153,377,693.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Nov-00,JUPITER EUROPEAN OPPORTUNITIES TST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000197722,ORD GBP0.01                             ,JEO ,445.9677432,\"79,637,097.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-10,JUPITER FUND MANAGEMENT PLC        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B53P2009,ORD GBP0.02                             ,JUP ,1920.05114762,\"457,699,916.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-06,JUPITER GREEN INVESTMENT TRUST     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B120GL77,ORD GBP0.001                            ,JGC ,31.1303154675,\"19,796,703.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-87,JUPITER UK GROWTH INV TRUST PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BFD3V961,ORD GBP0.05                             ,JUKG,65.9210454175,\"22,289,449.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-93,JUPITER US SMALLER COMPANIES PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003463402,ORD GBP0.25                             ,JUS ,140.74041124,\"18,815,563.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-07,JURIDICA INVESTMENTS LTD           ,GG,AIM,,GG00B29LSW52,ORD NPV                                 ,JIL  ,77.012813085,\"110,809,803.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-14,JUST EAT PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKX5CN86,ORD GBP0.01                             ,JE. ,3619.23965454,\"668,990,694.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-08,JZ CAPITAL PARTNERS LTD            ,GG,UK Main Market,,GG00BZ0RY036,ZERO DIV RED PREF NPV (2022)            ,JZCZ,343.030848675,\"11,907,720.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-08,JZ CAPITAL PARTNERS LTD            ,GG,UK Main Market,,GG00B403HK58,ORD NPV                                 ,JZCP,343.030848675,\"65,018,607.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jul-15,K&C REIT PLC                       ,GB,AIM,,GB00BRKCYB38,ORD GBP0.01                             ,KCR  ,3.27499361,\"46,785,623.00\",Financials,Real Estate,Real Estate Investment Trusts,Residential REITs,8673,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-01,K3 BUSINESS TECHNOLOGY GROUP       ,GB,AIM,,GB00B00P6061,ORD GBP0.25                             ,KBT  ,114.833296,\"35,885,405.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-15,KAINOS GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BZ0D6727,ORD GBP0.005                            ,KNOS,199.93462674,\"117,955,532.00\",Technology,Technology,Software & Computer Services,Software,9537,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n12-Feb-53,KAKUZI                             ,KE,International Main Market,Standard Shares,KE0000000281,STK KES5                                ,KAKU,12.08666605,\"13,066,666.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-13,KALIBRATE TECHNOLOGIES PLC         ,GB,AIM,,GB00BFZCRC66,ORD GBP0.002                            ,KLBT ,24.843025725,\"33,800,035.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Sep-05,KARELIAN DIAMOND RESOURCES         ,IE,AIM,,IE00B01ZSK94,ORD EUR0.01                             ,KDR  ,2.224495238,\"317,785,034.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-05,KAZ MINERALS PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0HZPV38,ORD GBP0.20                             ,KAZ ,896.602016272,\"523,716,131.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n8-Nov-06,KAZKOMMERTSBANK JSC                ,KZ,International Main Market,Standard GDRs,US48666E6086,GDR EACH REPR 2 ORD SHS 'REGS'          ,KKB ,66.0966603055432,\"54,566,993.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n8-Nov-06,KAZKOMMERTSBANK JSC                ,KZ,International Main Market,Standard GDRs,US48666E5096,GDR EACH REPR 2 ORD SHS '144A'          ,33KE,66.0966603055432,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n5-Oct-06,KAZMUNAIGAS EXPLORATION PRODUCTION ,KZ,International Main Market,Standard GDRs,US48666V2043,GDR EACH REPR 1/6 ORD 'REGS'            ,KMG ,152.564697593717,\"28,206,119.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n17-Dec-12,KCELL JSC                          ,KZ,International Main Market,Standard GDRs,US48668G2057,GDR EACH REPR 1 SHARE(SPONS) REG S      ,KCEL,720.555116181478,\"280,247,056.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n17-Dec-12,KCELL JSC                          ,KZ,International Main Market,Standard GDRs,US48668G1067,GDR EACH REPR 1 SHARE(SPONS)144A        ,19PS,720.555116181478,0.00,Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n19-Jul-99,KCOM GROUP PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007448250,ORD GBP0.10                             ,KCOM,572.6224611775,\"517,040,597.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-06,KEFI MINERALS PLC                  ,GB,AIM,,GB00B1HNYB75,ORD GBP0.001                            ,KEFI ,22.7878571648,\"4,382,280,224.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-Sep-07,KELLAN GROUP(THE)PLC               ,GB,AIM,,GB00B03W5P29,ORD GBP0.0001                           ,KLN  ,2.97189428375,\"339,645,061.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-May-94,KELLER GROUP                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004866223,ORD GBP0.10                             ,KLR ,642.46742865,\"70,678,485.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n1-Mar-13,KEMIN RESOURCES PLC                ,GB,AIM,,GB00B8T2QJ39,ORD GBP0.01                             ,KEM  ,2.84103701375,\"174,833,047.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-94,KENMARE RESOURCES                  ,IE,International Main Market,Premium Equity Commercial Companies,IE00BDC5DG00,ORD EUR0.001                            ,KMR ,247.4855115275,\"95,278,349.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET3,ON25,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-06,KENNEDY VENTURES PLC               ,GB,AIM,,GB00B830HW33,ORD GBP0.01                             ,KENV ,4.81602561,\"175,128,204.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-14,KENNEDY WILSON EUROPE REAL EST PLC ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00BJT32513,ORD NPV                                 ,KWE ,1307.4695298,\"135,770,460.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-11,KERAS RESOURCES PLC                ,GB,AIM,,GB00B649J414,ORD GBP0.001                            ,KRS  ,9.17304509025,\"1,358,969,643.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-90,KERRY GROUP PLC                    ,IE,International Main Market,Premium Equity Commercial Companies,IE0004906560,'A'ORD EUR0.125                         ,KYGA,11325.9595767127,\"174,874,337.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET3,OL5 ,EUR,,,,,,,,,,,,,,,,,,\r\n19-Nov-54,KEYSTONE INVESTMENT TRUST          ,GB,UK Main Market,Standard Shares,GB0004912282,5% CUM PRF GBP1                         ,70HF,231.57177295,\"250,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n19-Nov-54,KEYSTONE INVESTMENT TRUST          ,GB,UK Main Market,Standard Debt,GB0004913470,7.75% DEB STK 2020                      ,73HF,231.57177295,\"7,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n19-Nov-54,KEYSTONE INVESTMENT TRUST          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004912068,ORD GBP0.50                             ,KIT ,231.57177295,\"13,568,799.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-13,KEYWORDS STUDIOS PLC               ,GB,AIM,,GB00BBQ38507,ORD GBP0.01                             ,KWS  ,198.608025255,\"54,338,721.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-12,KIBO MINING PLC                    ,IE,AIM,,IE00B97C0C31,ORD EUR0.015                            ,KIBO ,18.74416428875,\"365,739,791.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-96,KIER GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004915632,ORD GBP0.01                             ,KIE ,689.7060768,\"55,264,910.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-05,KIMBERLY ENTERPRISES N.V.          ,NL,AIM,,NL0000051043,ORD EUR0.01                             ,KBE  ,0.7680555575,\"87,777,778.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-82,KINGFISHER                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033195214,ORD GBP0.157142857                      ,KGF ,8260.157375472,\"2,225,857,552.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,KINGS ARMS YARD VCT PLC            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007174294,ORD GBP0.01                             ,KAY ,43.97367006,\"244,298,167.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-95,KINGSPAN GROUP                     ,IE,International Main Market,Premium Equity Commercial Companies,IE0004927939,ORD EUR0.13                             ,KGP ,3524.57839218705,\"167,785,734.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SET3,OL5 ,EUR,,,,,,,,,,,,,,,,,,\r\n30-Dec-13,KODAL MINERALS PLC                 ,GB,AIM,,GB00BH3X7Y70,GBP0.03125                              ,KOD  ,2.736769765525,\"3,774,854,849.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-11,KOLAR GOLD LTD                     ,GG,AIM,,GG00B3M9KL68,ORD NPV                                 ,KGLD ,2.61093988375,\"189,886,537.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-99,KONAMI HOLDINGS CORP               ,JP,International Main Market,Standard Shares,JP3300200007,NPV                                     ,KNM ,1921.14040729729,\"71,860,339.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Toys,3747,SSX4,SXSN,JPY,,,,,,,,,,,,,,,,,,\r\n10-Mar-14,KOOVS PLC                          ,GB,AIM,,GB00BHB22S55,ORD GBP0.01                             ,KOOV ,94.30072533,\"149,683,691.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-13,KROMEK GROUP PLC                   ,GB,AIM,,GB00BD7V5D43,ORD GBP0.01                             ,KMK  ,41.73154755,\"151,751,082.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-10,KSK POWER VENTUR PLC               ,IM,UK Main Market,Standard Shares,IM00B1G29327,ORD GBP0.001                            ,KSK ,151.641939,\"175,308,600.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n27-Dec-06,KUBERA CROSS-BORDER FUND LTD       ,KY,AIM,,KYG522771032,ORD SHS USD0.01                         ,KUBC ,15.8213003473583,\"122,163,336.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n16-Feb-05,KUMHO TIRE CO INC                  ,KR,International Main Market,Standard GDRs,US50125M2052,GDR EACH REPR 1/2 ORD KRW5000 'REGS'    ,KHTC,141.8585022,\"41,380,000.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Tires,3357,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n16-Feb-05,KUMHO TIRE CO INC                  ,KR,International Main Market,Standard GDRs,US50125M1062,GDR EACH REPR 1/2 ORD KRW5000'144A'     ,56UB,141.8585022,0.00,Consumer Goods,Automobiles & Parts,Automobiles & Parts,Tires,3357,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n21-Feb-94,L.A.B.INVESTMENTS                  ,GB,UK Main Market,Standard Debt,GB0005015580,7.125% SECURED BDS 18/2/19 GBP1         ,67HG,0,\"85,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n22-May-95,L.G.S.INVESTMENTS                  ,GB,UK Main Market,Standard Debt,GB0004996970,8.75% SECURED BDS 22/5/2020 GBP(REGD)   ,60HG,0,\"73,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Sep-67,LADBROKES PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0ZSH635,ORD GBP0.2833333                        ,LAD ,1438.606983788,\"935,983,724.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-49,LAIRD PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1VNST91,ORD GBP0.28125                          ,LRD ,806.61934444,\"269,772,356.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-15,LAKEHOUSE PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BSKS1M86,ORD GBP0.1                              ,LAKE,62.223205685,\"157,527,103.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-08,LAMPRELL PLC                       ,IM,UK Main Market,Premium Equity Commercial Companies,GB00B1CL5249,ORD GBP0.05                             ,LAM ,209.0851247625,\"341,363,469.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-09,LANCASHIRE HLDGS                   ,BM,International Main Market,Premium Equity Commercial Companies,BMG5361W1047,USD0.50                                 ,LRE ,1156.16049593,\"183,226,703.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-02,LAND SECURITIES GROUP PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031809436,ORD GBP0.10                             ,LAND,8673.83761652,\"792,855,358.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-05,LANDORE RESOURCES PLC              ,GG,AIM,,GB00B06VJ325,ORD NPV                                 ,LND  ,18.212688026,\"700,488,001.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Apr-06,LANSDOWNE OIL & GAS                ,GB,AIM,,GB00B1250X28,ORD GBP0.001                            ,LOGP ,2.102643335,\"161,741,795.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,LARSEN & TOUBRO                    ,IN,Trading Only,,USY5217N1183,GDS-EACH REPR 1 ORD INR2 REG'S'         ,LTOD,0,\"24,645,631.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n31-Dec-04,LATHAM(JAMES)                      ,GB,AIM,,GB00B04NP100,ORD GBP0.25                             ,LTHM ,135.76491675,\"19,257,435.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n31-Dec-04,LATHAM(JAMES)                      ,GB,AIM,,GB0005065312,8% CUM PRF GBP1                         ,LTHP ,135.76491675,\"986,926.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,ASXN,AIMN,GBX,,,,,,,,,,,,,,,,,,\r\n10-Oct-96,LAVENDON GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005057541,GBP0.01                                 ,LVD ,220.224164535,\"164,961,921.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-46,LAW DEBENTURE CORP                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031429219,ORD GBP0.05                             ,LWDB,575.6626673,\"117,482,177.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n3-Feb-10,LAZARD WORLD TRUST FUND            ,LU,International Main Market,Premium Equity Closed Ended Investment Funds,LU0483266259,ORD USD0.20                             ,WTR ,174.60388005,\"60,679,020.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-12,LEAD ALL INVESTMENTS LTD           ,KY,AIM,,KYG540891341,ORD GBP0.005(DI)                        ,LEAL ,2.887500055,\"210,000,004.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-07,LEAF CLEAN ENERGY CO               ,KY,AIM,,KYG541351196,ORD GBP0.0001(DI)                       ,LEAF ,50.81002679,\"118,162,853.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Nov-13,LEARNING TECHNOLOGIES GROUP PLC    ,GB,AIM,,GB00B4T7HX10,ORD GBP0.00375                          ,LTG  ,133.98221408,\"418,694,419.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-92,LEEDS BUILDING SOCIETY             ,GB,UK Main Market,Standard Debt,GB0005104913,13.375% PERM INT BEARING SHS            ,LBS ,0,\"25,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n13-Mar-02,LEEDS GROUP PLC                    ,GB,AIM,,GB0005100606,ORD GBP0.12                             ,LDSG ,10.28390654,\"27,794,342.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-79,LEGAL & GENERAL GROUP              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005603997,ORD GBP0.025                            ,LGEN,12352.580592918,\"5,873,790,106.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-00,LEGENDARY INVESTMENTS              ,GB,AIM,,GB0001514032,ORD GBP0.001                            ,LEG  ,6.9530399874,\"2,726,682,348.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-13,LEKOIL LTD                         ,KY,AIM,,KYG5462G1073,ORD USD0.00005 (DI)                     ,LEK  ,83.03649711,\"488,449,983.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n5-Mar-14,LENTA LTD                          ,VG,International Main Market,Standard GDRs,US52634T1016,GDR EACH 5 REPR 1 ORD 144A              ,LNTR,2682.25816215005,0.00,Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n5-Mar-14,LENTA LTD                          ,VG,International Main Market,Standard GDRs,US52634T2006,GDR EACH 5 REPR 1 ORD REGS              ,LNTA,2682.25816215005,\"451,391,735.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n17-Dec-15,LEVRETT PLC                        ,GB,UK Main Market,Standard Shares,GB00BYW79Y38,ORD GBP0.001                            ,LVRT,2.0346875,\"95,750,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Apr-09,LEWIS(JOHN)                        ,GB,UK Main Market,Standard Shares,GB0005140628,7% CUM PRF STK GBP1                     ,BC32,0,\"750,000.00\",,,,,7,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Apr-09,LEWIS(JOHN)                        ,GB,UK Main Market,Standard Shares,GB0005140404,5% 1ST CUM PRF STK GBP1                 ,BB90,0,\"1,025,000.00\",,,,,7,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Apr-09,LEWIS(JOHN)PARTNERSHIP             ,GB,UK Main Market,Standard Shares,GB0005141691,7.5% CUM PRF STK GBP1                   ,BD32,0,\"500,000.00\",,,,,7,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Apr-09,LEWIS(JOHN)PARTNERSHIP             ,GB,UK Main Market,Standard Shares,GB0005141816,5% CUM PRF STK GBP1                     ,BD45,0,\"4,665,896.00\",,,,,7,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n5-Sep-02,LG ELECTRONICS INC                 ,KR,International Main Market,Standard GDRs,US50186Q2021,GDR ECH REP 1/2 NV STK KRW5000 144A     ,39IB,0,\"8,767,182.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n5-Sep-02,LG ELECTRONICS INC                 ,KR,International Main Market,Standard GDRs,US50186Q2021,GDR ECH REP 1/2 NV STK KRW5000 REGS/144A,LGLD,0,0.00,Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n16-Nov-07,LGO ENERGY PLC                     ,GB,AIM,,GB00B1TWX932,ORD GBP0.0005                           ,LGO  ,9.603870558375,\"7,248,204,195.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-01,LIDCO GROUP                        ,GB,AIM,,GB0030546849,ORD GBP0.005                            ,LID  ,11.62051824,\"193,675,304.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-10,LIFE SCIENCE DEVELOPMENTS LTD      ,VG,AIM,,VGG7255F1062,ORD NPV (DI)                            ,LIFE ,1.17190728125,\"37,501,033.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jan-08,LIFELINE SCIENTIFIC INC            ,US,AIM,,US53223V1017,ORD USD0.01                             ,LSIC ,54.20179095,\"17,771,079.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-Apr-02,LIGHTHOUSE GROUP PLC               ,GB,AIM,,GB0009779116,ORD GBP0.01                             ,LGT  ,11.6520280425,\"127,693,458.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Nov-08,LIGHTWAVERF PLC                    ,GB,AIM,,GB00BKJ9BV58,ORD GBP0.05                             ,LWRF ,3.1437507475,\"20,614,759.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-14,LIMITLESS EARTH PLC                ,GB,AIM,,GB00BKXP5L71,ORD GBP0.01                             ,LME  ,2.20725,\"65,400,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jan-01,LINDSELL TRAIN INVESTMENT TST(THE) ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031977944,ORD GBP0.75                             ,LTI ,159,\"200,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBP,,,,,,,,,,,,,,,,,,\r\n21-Jul-99,LIONTRUST ASSET MANAGEMENT         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007388407,ORD GBP0.01                             ,LIO ,160.652135925,\"48,171,555.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-96,LITE-ON TECHNOLOGY CORP            ,TW,PSM,Standard GDRs,US5367593010,GDR EACH REPR 10 ORD 'REG S'            ,LTTD,34.1561996999999,\"4,900,000.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Sep-96,LITE-ON TECHNOLOGY CORP            ,TW,PSM,Standard GDRs,US5367594000,GDR REPR 10 ORD '144A'                  ,LTTG,34.1561996999999,0.00,Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n19-Oct-15,LIVANOVA PLC                       ,GB,UK Main Market,Standard Shares,GB00BYMT0J19,ORD GBP1 (DI)                           ,LIVN,0,0.00,Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,SSMU,SMEW,USD,,,,,,,,,,,,,,,,,,\r\n15-Jun-05,LIVERMORE INVESTMENTS GROUP LTD    ,VG,AIM,,VGG550931015,ORD NPV                                 ,LIV  ,52.43489478,\"194,203,314.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n13-Oct-05,LLOYD ELECTRIC & ENGINEERING       ,IN,PSM,Standard GDRs,US5393731006,GDR EACH REPR 2 ORD INR10               ,LLD ,0,\"4,600,000.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,GB00B3KSB568,6.475% NON-CUM IRRD PREF SHS            ,LLPE,43017.9265511925,\"186,190,532.00\",Financials,Banks,Banks,Banks,8355,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,US539439AC38,ADR REPR 6.413% NON CUM PRF 144A        ,LLD2,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,GB00B3KSB238,9.75% NON-CUM IRRD PREF SHS GBP0.25     ,LLPD,43017.9265511925,\"99,999,942.00\",Financials,Banks,Banks,Banks,8355,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,US539439AE93,ADR REPR  6.657% NON CUM PRF REG'S      ,LLD5,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,XS0408826427,6.3673% NON-CUM FXD/FLTG RT PREF SHS    ,LLPG,43017.9265511925,\"344,951,000.00\",Financials,Banks,Banks,Banks,8355,STBS,SBDU,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,USG5533WAA56,ADR REPR  6.413% NON CUM PRF REG'S      ,LLD1,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,US539439AB54,ADS EACH REPR 1 FX/FR N.CUM PREF 'REGS' ,LLD7,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,GB00B3KSBK12,6.657% NON-CUM FXD/FLTG RT PREF SHS     ,LLPJ,43017.9265511925,\"750,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,GB00B3KSBH82,6.413% NON-CUM FXD/FLTG RT PREF SHS     ,LLPH,43017.9265511925,\"750,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,GB00B3KS9W93,9.25% NON-CUM IRRD PREF SHS GBP0.25     ,LLPC,43017.9265511925,\"299,987,729.00\",Financials,Banks,Banks,Banks,8355,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,XS0460002693,FXD/FLTG NON-CUM CALL PREF SHS USD0.25  ,LLPK,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Standard Debt,US539439AF68,ADR REPR 6.657% NON CUM PRF 144A        ,LLD6,43017.9265511925,0.00,Financials,Banks,Banks,Banks,8355,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n8-Oct-86,LLOYDS BANKING GROUP PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008706128,ORD GBP0.10                             ,LLOY,43017.9265511925,\"72,481,763,355.00\",Financials,Banks,Banks,Banks,8355,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-09,LMS CAPITAL PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B12MHD28,ORD GBP0.10                             ,LMS ,135.5191663925,\"224,928,077.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-07,LOCAL SHOPPING REIT PLC(THE)       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1VS7G47,ORD GBP0.20                             ,LSR ,23.514168105,\"82,505,853.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-00,LOK'N STORE GROUP                  ,GB,AIM,,GB0007276115,ORD GBP0.01                             ,LOK  ,90.95392112,\"25,194,992.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-04,LOMBARD RISK MANAGEMENT            ,GB,AIM,,GB00B030JP46,ORD GBP0.005                            ,LRM  ,30.9902288,\"399,873,920.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-44,LONDON & ASSOCIATED PROPERTIES     ,GB,UK Main Market,Standard Shares,GB0005234223,ORD GBP0.10                             ,LAS ,19.53114018,\"84,004,904.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n9-Feb-59,LONDON & ST LAWRENCE INVESTMENT    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005310056,ORD GBP0.05                             ,LSLI,99.72911208,\"28,948,944.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Feb-59,LONDON & ST LAWRENCE INVESTMENT    ,GB,UK Main Market,Standard Shares,GB0005310270,5% CUM PRF GBP1                         ,04HK,99.72911208,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-05,LONDON CAPITAL GROUP HLDGS PLC     ,GB,AIM,,GB00B0RHGY93,ORD GBP0.05                             ,LCG  ,18.664591935,\"452,474,956.00\",Financials,Financial Services,Financial Services,Investment Services,8777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-46,LONDON FINANCE & INVESTMENT GROUP  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002994001,ORD GBP0.05                             ,LFI ,12.636,\"31,200,000.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-99,LONDON SECURITY PLC                ,GB,AIM,,GB0005314363,ORD GBP0.01                             ,LSC  ,239.0988015,\"12,261,477.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-01,LONDON STOCK EXCHANGE GROUP        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0SWJX34,ORD GBP0.06918604                       ,LSE ,9608.09916905,\"348,751,331.00\",Financials,Financial Services,Financial Services,Investment Services,8777,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n1-Oct-10,LONDONMETRIC PROPERTY PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B4WFW713,ORD GBP0.10                             ,LMP ,1183.809331203,\"721,395,083.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n22-Sep-61,LONMIN                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYSRJ698,ORD USD0.0001                           ,LMI ,542.892459725,\"282,022,057.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-73,LOOKERS                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B17MMZ46,ORD GBP0.05                             ,LOOK,529.710653745,\"388,066,413.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n24-Aug-16,LOOPUP GROUP PLC                   ,GB,AIM,,GB00BYQP6S60,ORD GBP0.005                            ,LOOP ,47.71748592,\"40,784,176.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Feb-06,LOTTE SHOPPING CO LTD              ,KR,International Main Market,Standard GDRs,US54569T1060,GDR EACH REPR 1/20 KRW5000'144A'/REG'S' ,LOTS,936.124435502589,\"137,142,860.00\",Consumer Services,Retail,General Retailers,Broadline Retailers,5373,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n18-Sep-47,LOW & BONAR PLC                    ,GB,UK Main Market,Standard Shares,GB0005363451,6% 2ND CUM PRF STK GBP1                 ,BD70,190.6321946,\"100,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-47,LOW & BONAR PLC                    ,GB,UK Main Market,Standard Shares,GB0005363238,6% 1ST CUM PRF STK GBP1                 ,BD46,190.6321946,\"100,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-47,LOW & BONAR PLC                    ,GB,UK Main Market,Standard Shares,GB0005363675,5.5% 3RD CUM PRF STK GBP1               ,BD90,190.6321946,\"200,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-47,LOW & BONAR PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005363014,ORD GBP0.05                             ,LWB ,190.6321946,\"317,511,991.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-66,LOWLAND INVESTMENT CO              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005368062,ORD GBP0.25                             ,LWI ,348.28247025,\"27,061,575.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-02,LPA GROUP                          ,GB,AIM,,GB0007320806,ORD GBP0.10                             ,LPA  ,14.164576365,\"11,953,229.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-06,LSL PROPERTY SERVICES PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1G5HX72,ORD GBP0.002                            ,LSL ,234.3576375,\"104,158,950.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-07,LSR GROUP PJSC                     ,RU,International Main Market,Standard GDRs,US50218G1076,GDR EACH REPR 0.20 ORD '144A'           ,54UD,1153.81003235211,0.00,Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n16-Nov-07,LSR GROUP PJSC                     ,RU,International Main Market,Standard GDRs,US50218G2066,GDR EACH REPR 0.20 ORD 'REGS'           ,LSRG,1153.81003235211,\"515,151,075.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n14-May-08,LUCKY CEMENT LTD                   ,PK,PSM,Standard GDRs,US5495202039,GDR EACH REPR 4 ORD 'REGS'              ,LKCS,218.832794999999,\"15,000,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n14-May-08,LUCKY CEMENT LTD                   ,PK,PSM,Standard GDRs,US5495201049,GDR EACH REPR 4 ORD '144A'              ,LKCA,218.832794999999,0.00,Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n2-Aug-07,LUDGATE ENVIRONMENTAL FUND LTD     ,JE,AIM,,JE00B1YW3102,ORD NPV                                 ,LEF  ,13.53742159,\"55,254,782.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-97,LUKOIL PJSC                        ,RU,International Main Market,Standard GDRs,US69343P2048,GDR EACH REPR 1 ORD RUB0.025 SPON 144A  ,LKOE,58934.5838413799,\"3,450,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n7-May-97,LUKOIL PJSC                        ,RU,International Main Market,Standard GDRs,US69343P1057,ADR EACH REPR 1 ORD RUB0.025 SPON       ,LKOD,58934.5838413799,\"850,563,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n7-May-97,LUKOIL PJSC                        ,RU,International Main Market,Standard Shares,RU0009024277,RUB0.025                                ,LKOH,58934.5838413799,\"850,563,255.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n23-Oct-09,LXB RETAIL PROPERTIES PLC          ,JE,AIM,,JE00B4MFKH73,ORD NPV                                 ,LXB  ,124.409578385,\"183,630,374.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-14,M J GLEESON PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRKD9Z53,ORD GBP0.02                             ,GLE ,315.251883375,\"54,120,495.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n12-Nov-09,M WINKWORTH PLC                    ,GB,AIM,,GB00B4TT7L53,ORD GBP0.005                            ,WINK ,13.75542108,\"12,736,501.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-04,M&C SAATCHI                        ,GB,AIM,,GB00B01F7T14,ORD GBP0.01                             ,SAA  ,271.6852674025,\"78,806,459.00\",Consumer Services,Media,Media,Media Agencies,5555,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-97,M&G HIGH INCOME INVESTMENT TRUST   ,GB,UK Main Market,,GB0005532923,INC & GW UTS(COMPR 1 INC & 1CAP SH)     ,MGHU,689.0881487725,\"63,743,431.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-97,M&G HIGH INCOME INVESTMENT TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005532709,CAP SHS GBP0.01                         ,MGHC,689.0881487725,\"250,503,500.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-97,M&G HIGH INCOME INVESTMENT TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005532816,INC SHS GBP0.01                         ,MGHI,689.0881487725,\"250,503,500.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-97,M&G HIGH INCOME INVESTMENT TRUST   ,GB,UK Main Market,Standard Shares,GB0005533228,ZERO DIV PRF SHS GBP0.01                ,MGHZ,689.0881487725,\"250,503,505.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-97,M&G HIGH INCOME INVESTMENT TRUST   ,GB,UK Main Market,,GB0005533004,PACK UTS(COMPR 1'0'DIV PF 1INC&1CAP SH) ,MGHP,689.0881487725,\"146,076,174.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-02,M.P.EVANS GROUP                    ,GB,AIM,,GB0007538100,GBP0.10                                 ,MPE  ,244.737888615,\"54,935,553.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-10,MACAU PROPERTY OPPORTUNITIES FUND  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1436N68,ORD USD0.01                             ,MPO ,106.154552335,\"88,278,214.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-73,MACFARLANE GROUP                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005518872,ORD GBP0.25                             ,MACF,83.16465317,\"136,335,497.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-08,MAGNIT PJSC                        ,RU,International Main Market,Standard GDRs,US55953Q1031,GDR EACH REPR 0.20 ORD '144A'           ,50XD,13366.8056502559,0.00,Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n22-Apr-08,MAGNIT PJSC                        ,RU,International Main Market,Standard GDRs,US55953Q2021,GDR 5 REPR 1 ORD REGS                   ,MGNT,13366.8056502559,\"444,875,365.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n30-Apr-07,MAGNITOGORSK IRON & STEEL WORKS    ,RU,International Main Market,Standard GDRs,US5591891057,GDR EACH REPR 13 ORD '144A'             ,42CL,4046.86750220706,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n30-Apr-07,MAGNITOGORSK IRON & STEEL WORKS    ,RU,International Main Market,Standard GDRs,US5591892048,GDR EACH REPR 13 ORD 'REGS'             ,MMK ,4046.86750220706,\"859,563,846.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Nov-11,MAGNOLIA PETROLEUM PLC             ,GB,AIM,,GB00B1G3RY22,ORD GBP0.001                            ,MAGP ,1.5556599905,\"1,414,236,355.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,MAGYAR OLAJ-ES GAZIPARE RESZVENYTAR,HU,Trading Only,,US6084642023,ADR EACH REP 0.50 ORD SHS(REG'S')       ,MOLD,0,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,MAGYAR TELEKOM TELECOMMUNICATIONS  ,HU,Trading Only,,US5597761098,ADR EACH REPR 5 SHS HUF100              ,MAVD,0,0.00,,,,,0,IOBU,INLU,USD,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,MAHINDRA & MAHINDRA                ,IN,Trading Only,,USY541641194,GDR EACH REPR 1 ORD INR10 REG'S'        ,MHID,0,\"18,032,803.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n11-Nov-10,MAIL.RU GROUP LTD                  ,VG,International Main Market,Standard GDRs,US5603171092,GDR EACH REPR 1 SHARE 144A (SPONS)WI    ,61HE,2669.55362871522,0.00,Technology,Technology,Software & Computer Services,Internet,9535,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n11-Nov-10,MAIL.RU GROUP LTD                  ,VG,International Main Market,Standard GDRs,US5603172082,GDR EACH REPR 1 SHARE REG S (SPONS)WI   ,MAIL,2669.55362871522,\"208,582,082.00\",Technology,Technology,Software & Computer Services,Internet,9535,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n28-Apr-16,MAINTEL HLDGS                      ,GB,AIM,,GB00B046YG73,ORD GBP0.01                             ,MAI  ,138.42132525,\"14,197,059.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Mar-41,MAJEDIE INVESTMENTS                ,GB,UK Main Market,Standard Debt,GB0005583389,9.5% DEB STK 2020                       ,86HK,133.126196775,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n5-Mar-41,MAJEDIE INVESTMENTS                ,GB,UK Main Market,Standard Debt,GB0006733058,7.25% DEB  STK 2025                     ,BD22,133.126196775,\"25,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n5-Mar-41,MAJEDIE INVESTMENTS                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005555221,ORD GBP0.10                             ,MAJE,133.126196775,\"52,515,265.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-96,MAJESTIC WINE PLC                  ,GB,AIM,,GB00B021F836,ORD GBP0.075                            ,WINE ,295.34602768,\"69,657,082.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-12,MAN GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B83VD954,ORD USD0.03428571                       ,EMG ,1980.28573,\"1,821,790,000.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Dec-87,MANAGEMENT CONSULTING GROUP        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001979029,ORD GBP0.01                             ,MMC ,83.3532258325,\"497,631,199.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n1-Feb-16,MANAGEMENT RESOURCE SOLUTIONS PLC  ,GB,AIM,,GB00B8BL4R23,ORD EUR0.01                             ,MRS  ,3.99807023,\"36,346,093.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-97,MANCHESTER & LONDON INV TRUST PLC  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002258472,ORD GBP0.25                             ,MNL ,62.33728553,\"21,607,378.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-99,MANCHESTER BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0008775057,8% PERM INTEREST BEARING SHS            ,MBSR,0,\"5,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n1-Nov-99,MANCHESTER BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB00B0712W15,6.75% PERM INTEREST BEARING SHS GBP1000 ,MBSP,0,\"10,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n22-Jan-90,MANDARIN ORIENTAL INTERNATIONAL    ,BM,International Main Market,Standard Shares,BMG578481068,ORD USD0.05                             ,MDO ,0.505848479999998,\"964,524,103.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n22-Jan-90,MANDARIN ORIENTAL INTERNATIONAL    ,BM,International Main Market,Standard Shares,BMG578481068,ORD USD0.05                             ,MDOB,0.505848479999998,\"400,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n22-Jan-90,MANDARIN ORIENTAL INTERNATIONAL    ,BM,International Main Market,Standard Shares,BMG578481068,ORD USD0.05                             ,MDOJ,0.505848479999998,0.00,Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n2-Jun-95,MANDO MACHINERY CORP               ,KR,International Main Market,Standard GDRs,USY576241019,GDR EACH REP 1/2 ORD                    ,MNMD,0,\"806,234.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n2-Jun-95,MANDO MACHINERY CORP               ,KR,International Main Market,Standard GDRs,US5626651096,GDR EACH REPR 1/2 SHARE(144A)           ,05IS,0,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n31-Jan-08,MANX FINANCIAL GROUP PLC           ,IM,AIM,,IM00B28ZPX83,ORD NPV                                 ,MFX  ,8.548383605,\"102,070,252.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Feb-14,MANX TELECOM PLC                   ,IM,AIM,,IM00BHY3RF70,ORD GBP0.002                            ,MANX ,224.78997613,\"112,959,787.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-08,MARECHALE CAPITAL PLC              ,GB,AIM,,GB0005401087,ORD GBP0.01                             ,MAC  ,0.78656115,\"52,437,410.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-06,MARIANA RESOURCES                  ,GG,AIM,,GG00BD3GC324,ORD GBP0.001                            ,MARL ,64.7901828,\"119,981,820.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jan-16,MARKET TECH HLDG LTD               ,GG,UK Main Market,Standard Shares,GG00BSSWD593,ORD GBP0.1                              ,MKT ,823.523019695,\"469,913,278.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n19-Mar-02,MARKS & SPENCER GROUP              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031274896,ORD GBP0.25                             ,MKS ,5425.024980555,\"1,573,839,565.00\",Consumer Services,Retail,General Retailers,Broadline Retailers,5373,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-16,MARLOWE PLC                        ,GB,AIM,,GB00BD8SLV43,ORD GBP0.5                              ,MRL  ,35.799568975,\"21,372,877.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-80,MARSH & MCLENNAN COS INC           ,US,International Main Market,Standard Shares,US5717481023,COM USD1                                ,MHM ,33814.0306055946,\"656,595,460.00\",Financials,Insurance,Nonlife Insurance,Insurance Brokers,8534,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n2-Apr-15,MARSHALL MOTOR HLDGS PLC           ,GB,AIM,,GB00BVYB2Q58,ORD GBP0.64                             ,MMH  ,126.53732937,\"77,392,862.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-04,MARSHALLS                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B012BV22,ORD  GBP0.25                            ,MSLH,620.01042074,\"196,953,755.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-47,MARSTON'S PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1JQDM80,ORD GBP0.07375                          ,MARS,831.542363417,\"570,722,281.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-47,MARSTON'S PLC                      ,GB,UK Main Market,Standard Shares,GB0009772459,6% CUM PRF(PTG)STK GBP1                 ,92IP,831.542363417,\"75,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n10-May-85,MARTIN CURRIE ASIA UNCONSTND TR PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005695126,ORD GBP0.50                             ,MCP ,116.45426562,\"36,165,921.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-99,MARTIN CURRIE GLOBAL PORTFOLIO TST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005372411,ORD GBP0.05                             ,MNP ,188.38822842,\"91,008,806.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-13,MARTINCO PLC                       ,GB,AIM,,GB00BH0WFH67,ORD GBP0.01                             ,MCO  ,28.05,\"22,000,000.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-00,MARUWA CO LTD                      ,JP,International Main Market,Standard Shares,JP3879250003,NPV                                     ,MAW ,321.579969311261,\"12,372,000.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSX4,SXSN,JPY,,,,,,,,,,,,,,,,,,\r\n8-Dec-08,MARWYN VALUE INVESTORS LTD         ,KY,International Main Market,,KYG5897M1740,ORD GBP0.000001                         ,MVI ,117.74866752,\"79,292,032.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Aug-10,MASAWARA PLC                       ,JE,AIM,,JE00B42XFD25,ORD USD0.01                             ,MASA ,54.764107005,\"123,065,409.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-06,MATCHTECH GROUP PLC                ,GB,AIM,,GB00B1FMDQ43,ORD GBP0.01                             ,MTEC ,111.3186599,\"29,884,204.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-14,MATOMY MEDIA GROUP LTD             ,IL,International Main Market,,IL0011316978,ILS0.01 WI (DI)                         ,MTMY,74.443811525,\"89,962,310.00\",Consumer Services,Media,Media,Media Agencies,5555,HGS1,HG10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-05,MATTIOLI WOODS                     ,GB,AIM,,GB00B0MT3Y97,ORD GBP0.01                             ,MTW  ,155.1444321,\"23,831,710.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Apr-01,MAVEN INCOME & GROWTH VCT 2 PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030367451,ORD GBP0.10                             ,MIG2,17.8740195975,\"38,233,197.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-01,MAVEN INCOME & GROWTH VCT 3 PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031153769,ORD GBP0.10                             ,MIG3,33.8168821925,\"39,667,897.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-05,MAVEN INCOME & GROWTH VCT 4 PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B043QW84,ORD GBP0.1                              ,MAV4,46.979243625,\"52,490,775.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-00,MAVEN INCOME & GROWTH VCT 5 PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002057536,ORD GBP0.10                             ,MIG5,26.2424306,\"72,392,912.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-00,MAVEN INCOME & GROWTH VCT 6 PLC    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1BV3Z44,ORD GBP0.1                              ,MIG6,14.345655695,\"28,407,239.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-00,MAVEN INCOME & GROWTH VCT PLC      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004122858,ORD GBP0.10                             ,MIG1,34.507465425,\"51,122,171.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-16,MAXCYTE INC                        ,US,AIM,,US57777K1060,ORD USD0.01 DI REG S                    ,MXCT ,36.764622505,\"43,508,429.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-15,MAYAIR GROUP PLC                   ,JE,AIM,,JE00BWV6BD02,ORD NPV                                 ,MAYA ,32.918125,\"42,475,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jan-13,MAYAN ENERGY LTD                   ,VG,AIM,,VGG5S26K1079,ORD NPV (DI)                            ,MYN  ,2.373089597645,\"10,098,253,607.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Oct-04,MBL GROUP PLC                      ,GB,AIM,,GB00B0W48T45,ORD GBP0.075                            ,MUBL ,2.450559675,\"17,196,910.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-06,MCB BANK LTD                       ,PK,PSM,Standard GDRs,US5792331077,GDR EACH REPR 2 ORD 144A SPON           ,MCBA,22.9897087769999,0.00,Financials,Banks,Banks,Banks,8355,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n18-Oct-06,MCB BANK LTD                       ,PK,PSM,Standard GDRs,US5792332067,GDR EACH REPR 2 ORD 'REGS'SPON          ,MCBS,22.9897087769999,\"8,622,100.00\",Financials,Banks,Banks,Banks,8355,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n13-Jul-95,MCBRIDE                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005746358,ORD GBP0.10                             ,MCB ,280.4236170675,\"181,798,131.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Nondurable Household Products,3724,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-15,MCCARTHY & STONE PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYNVD082,ORD GBP0.08                             ,MCS ,1097.732642967,\"537,314,069.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-14,MCCOLL'S RETAIL GROUP PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJ3VW957,ORD GBP0.001                            ,MCLS,191.18680484,\"115,172,774.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jul-59,MCKAY SECURITIES                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005522007,ORD GBP0.20                             ,MCKS,173.14109334,\"93,716,424.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n17-Oct-12,MD MEDICAL GROUP INVEST PLC        ,CY,International Main Market,Standard GDRs,US55279C2008,GDR EACH REPR 1 SHR REGS(SPONS)         ,MDMG,995.216007957531,\"150,157,051.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n23-Jun-08,MEARS GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005630420,ORD GBP0.01                             ,MER ,485.68776155,\"108,533,578.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-14,MEDAPHOR GROUP PLC                 ,GB,AIM,,GB00BN791Q39,ORD GBP0.01                             ,MED  ,13.5568948,\"31,898,576.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jul-89,MEDIA & INCOME TRUST               ,GB,UK Main Market,,GB0009216283,ORD GBP0.025                            ,MEI ,0,\"131,766,154.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jul-89,MEDIA & INCOME TRUST               ,GB,UK Main Market,,GB0030358831,PREF INC GBP0.01                        ,MEIP,0,\"15,670,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-05,MEDIAZEST                          ,GB,AIM,,GB00B064NT52,ORD GBP0.001                            ,MDZ  ,1.6736729949,\"1,239,757,774.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Feb-16,MEDICLINIC INTERNATIONAL PLC       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B8HX8Z88,ORD GBP0.10                             ,MDC ,8185.22545092,\"800,902,686.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-06,MEDICX FUND LTD                    ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1DVQL92,ORD NPV                                 ,MXF ,354.7371711825,\"386,634,519.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-08,MEDILINK-GLOBAL UK LTD             ,JE,AIM,,JE00B3FFC377,ORD GBP0.05                             ,MEDI ,0.9111900225,\"121,492,003.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-12,MEGAFON(PJSC)                      ,RU,International Main Market,Standard GDRs,US58517T2096,GDR EACH REPR 1 ORD REG S               ,MFON,4794.13325999998,\"620,000,000.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n3-Dec-12,MEGAFON(PJSC)                      ,RU,International Main Market,Standard GDRs,US58517T1007,GDR EACH REPR 1 ORD 144A                ,17GK,4794.13325999998,0.00,Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n28-Apr-47,MEGGITT PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005758098,ORD GBP0.05                             ,MGGT,3578.514946398,\"764,150,106.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-43,MEIKLES LTD                        ,ZW,International Main Market,Standard Shares,ZW0009012114,ORD ZWR0.1                              ,MIK ,0,\"150,258,617.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n31-Aug-16,MELROSE INDUSTRIES PLC             ,GB,UK Main Market,Standard Shares,GB00BZ1G4322,ORD GBP0.06857143                       ,MRO ,2792.38495172,\"1,886,746,589.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-15,MENHADEN CAPITAL PLC               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BZ0XWD04,ORD GBP0.01                             ,MHN ,46.40000058,\"80,000,001.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-62,MENZIES(JOHN)                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005790059,ORD GBP0.25                             ,MNZS,358.58199888,\"59,869,872.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-62,MENZIES(JOHN)                      ,GB,UK Main Market,Standard Shares,GB0005790273,9% CUM PRF GBP1                         ,68HN,358.58199888,\"1,215,177.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jul-52,MERCANTILE INVESTMENT TST PLC(THE) ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005794036,ORD GBP0.25                             ,MRC ,1563.15841832,\"93,156,044.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jul-52,MERCANTILE INVESTMENT TST PLC(THE) ,GB,UK Main Market,Standard Debt,GB0005795009,4.25% PERP DEB STK                      ,71HN,1563.15841832,\"3,850,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n9-Mar-54,MERCHANTS TRUST                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005800072,ORD GBP0.25                             ,MRCH,439.81133971,\"103,759,877.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-54,MERCHANTS TRUST                    ,GB,UK Main Market,Standard Shares,GB0005800296,3.65% CUM PRF GBP1                      ,72HN,439.81133971,\"1,178,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-54,MERCHANTS TRUST                    ,GB,UK Main Market,Standard Debt,GB0005800858,4% PERP DEB STK                         ,73HN,439.81133971,\"1,375,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n18-Dec-14,MERCIA TECHNOLOGIES PLC            ,GB,AIM,,GB00BSL71W47,ORD GBP0.00001                          ,MERC ,109.79862522,\"215,291,422.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-12,MERCOM CAPITAL PLC                 ,GB,AIM,,GB00B979BX21,ORD GBP0.001                            ,MMO  ,0.99315480375,\"29,426,809.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-16,MEREO BIOPHARMA GROUP LTD          ,GB,AIM,,GB00BZ4G2K23,ORD GBP0.003                            ,MPH  ,201.38669774,\"64,340,798.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-85,MERIVALE MOORE                     ,GB,UK Main Market,Standard Debt,GB0005786594,10.5% 1ST MTG DEB STK 2020              ,67HN,0,\"10,200,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n13-Nov-13,MERLIN ENTERTAINMENTS PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BDZT6P94,GBP0.01                                 ,MERL,4866.994699632,\"1,013,746,032.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n31-May-01,METAL TIGER PLC                    ,GB,AIM,,GB0030493232,ORD GBP0.0001                           ,MTR  ,21.3044049405,\"604,380,282.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n22-Oct-04,METALS EXPLORATION PLC             ,GB,AIM,,GB00B0394F60,ORD GBP0.01                             ,MTL  ,114.89942132125,\"1,955,734,831.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-10,METMINCO LTD                       ,AU,AIM,,AU000000MNC7,NPV                                     ,MNC  ,6.27556717725,\"3,586,038,387.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-16,METRO BANK PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BZ6STL67,ORD GBP0.000001                         ,MTRO,1923.8475408,\"80,260,640.00\",Financials,Banks,Banks,Banks,8355,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-08,MHP SA                             ,LU,International Main Market,Standard GDRs,US55302T2042,GDR EACH REPR 1 ORD SHARE 'REGS'        ,MHPC,775.476385319997,\"108,290,000.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n15-May-08,MHP SA                             ,LU,International Main Market,Standard GDRs,US55302T1051,GDR EACH REPR 1 ORD SHARE '144A'        ,71HT,775.476385319997,0.00,Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n26-May-04,MICHELMERSH BRICK HLDGS            ,GB,AIM,,GB00B013H060,ORD GBP0.2                              ,MBH  ,61.02605506,\"80,829,212.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n20-Nov-14,MICRO FOCUS INTERNATIONAL          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BQY7BX88,ORD GBP0.10                             ,MCRO,4564.25599518,\"228,441,241.00\",Technology,Technology,Software & Computer Services,Software,9537,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-84,MICROGEN                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVVHWX30,ORD GBP0.06428571                       ,MCGN,107.33215218,\"59,136,172.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n11-Apr-11,MICROSAIC SYSTEMS PLC              ,GB,AIM,,GB00B547ZY09,ORD GBP0.0025                           ,MSYS ,3.2097251375,\"73,365,146.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,MID KENT WATER                     ,GB,UK Main Market,Standard Debt,GB0005879894,4% PERP DEB STK                         ,48HO,0,\"108,799.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n21-Oct-81,MID WYND INTL INVESTMENT TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6VTTK07,ORD GBP0.05                             ,MWY ,111.28713996,\"27,580,456.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-14,MIDATECH PHARMA PLC                ,GB,AIM,,GB00BRTL9B63,ORD GBP0.00005                          ,MTPH ,55.51269186,\"33,542,412.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-06,MIDDLEFIELD CANADIAN INC PCC       ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B15PV034,RED PART PREF SHS GBP NPV               ,MCT ,124.938125095,\"134,704,178.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-May-16,MIDWICH GROUP PLC                  ,GB,AIM,,GB00BYSXWW41,ORD GBP0.01                             ,MIDW ,191.470162,\"79,448,200.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-03,MILESTONE GROUP                    ,GB,AIM,,GB0033127910,ORD GBP0.001                            ,MSG  ,4.133792047,\"751,598,554.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-96,MILLENNIUM & COPTHORNE HOTELS      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0005622542,ORD GBP0.30                             ,MLC ,1402.560114696,\"324,366,354.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-01,MINCO PLC                          ,IE,AIM,,IE0004678326,ORD EUR0.0125                           ,MIO  ,5.618170662,\"478,142,184.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Nov-13,MINCON GROUP PLC                   ,IE,AIM,,IE00BD64C665,ORD EUR0.01                             ,MCON ,126.3246612,\"210,541,102.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-14,MINDS + MACHINES GROUP LTD         ,VG,AIM,,VGG614091012,ORD NPV (DI)                            ,MMX  ,95.2170808225,\"837,073,238.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-06,MINERAL & FINANCIAL INVESTMENTS LTD,KY,AIM,,KYG6181G1055,ORD GBP0.01 (DI)                        ,MAFL ,1.3519441125,\"24,034,562.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-11,MINOAN GROUP                       ,GB,AIM,,GB0008497975,ORD GBP0.01                             ,MIN  ,17.51858712,\"194,650,968.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-14,MI-PAY GROUP PLC                   ,GB,AIM,,GB00B0N59376,ORD GBP0.1                              ,MPAY ,9.92383824,\"41,349,326.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-04,MIRADA PLC                         ,GB,AIM,,GB00B29WFV68,ORD GBP0.01                             ,MIRA ,7.517596275,\"167,057,695.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-06,MIRLAND DEVELOPMENT CORP PLC       ,CY,AIM,,CY0100141015,ORD SHS USD0.01                         ,MLD  ,15.2748057375,\"103,558,005.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-06,MISSION MARKETING GROUP(THE)       ,GB,AIM,,GB00B11FD453,ORD GBP0.10                             ,TMMG ,30.70388541,\"84,120,234.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-03,MITCHELLS & BUTLERS                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1FP6H53,ORD GBP0.085416                         ,MAB ,1054.629995034,\"410,202,254.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n21-Feb-94,MITHRAS INVESTMENT TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005962864,ORD GBP0.02                             ,MTH ,59.53723324,\"36,303,191.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-88,MITIE GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004657408,ORD GBP0.025                            ,MTO ,922.76774304,\"341,260,260.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-04,MITON GLOBAL OPPORTUNITIES PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0034365949,ORD GBP0.01                             ,MIGO,47.0207721,\"25,279,985.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-08,MITON GROUP PLC                    ,GB,AIM,,GB00B01WR582,ORD GBP0.001                            ,MGR  ,46.280839195,\"169,837,942.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-15,MITON UK MICROCAP TRUST PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BWFGQ085,ORD GBP0.001                            ,MINI,87.0362553875,\"161,927,917.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n5-Sep-89,MITSUBISHI ELECTRIC CORP           ,JP,International Main Market,Standard Shares,JP3902400005,NPV                                     ,MEL ,21055.377586472,\"2,146,544,072.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSX4,SXSN,JPY,,,,,,,,,,,,,,,,,,\r\n15-Jun-16,MKANGO RESOURCES LTD               ,CA,AIM,,CA60686A4090,NPV(DI)                                 ,MKA  ,2.753394735,\"71,055,348.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-00,MOBEUS INCOME & GROWTH 2 VCT PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0LKLZ05,ORD GBP0.01                             ,MIG ,37.381815975,\"36,030,666.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-99,MOBEUS INCOME & GROWTH 4 VCT PLC   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1FMDH51,ORD GBP0.01                             ,MIG4,77.56522841,\"79,964,153.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-04,MOBEUS INCOME & GROWTH VCT PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B01WL239,ORD GBP0.01                             ,MIX ,85.25122385,\"114,048,460.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Feb-06,MOBILE STREAMS                     ,GB,AIM,,GB00B0WJ3L68,ORD GBP0.002                            ,MOS  ,1.51594504875,\"36,750,183.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-06,MOBILE TORNADO GROUP               ,GB,AIM,,GB00B01RQV23,ORD GBP0.02                             ,MBT  ,7.73603715625,\"247,553,189.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-07,MOBILITYONE LTD                    ,JE,AIM,,JE00B1Z48326,ORD GBP0.025                            ,MBO  ,4.384824675,\"106,298,780.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-07,MODERN WATER PLC                   ,GB,AIM,,GB00B1XF5X66,ORD GBP0.0025                           ,MWG  ,4.57155222,\"79,505,256.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jun-14,MOLINS                             ,GB,AIM,,GB0005991111,ORD GBP0.25                             ,MLIN ,10.3883431,\"20,171,540.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jul-07,MONDI PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1CRLC47,ORD EUR0.20                             ,MNDI,5688.56006945,\"367,240,805.00\",Basic Materials,Basic Resources,Forestry & Paper,Paper,1737,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jul-07,MONEYSUPERMARKET.COM GROUP PLC     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1ZBKY84,ORD GBP0.0002                           ,MONY,1548.741027568,\"537,011,452.00\",Consumer Services,Media,Media,Media Agencies,5555,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-11,MONEYSWAP PLC                      ,GI,AIM,,GI000A1JASX5,ORD GBP0.001 (DI)                       ,SWAP ,2.1766749018,\"1,176,581,028.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-07,MONITISE PLC                       ,GB,AIM,,GB00B1YMRB82,ORD GBP0.01                             ,MONI ,58.895190662,\"2,291,641,660.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-52,MONKS INVESTMENT TRUST             ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030517261,ORD GBP0.05                             ,MNKS,1078.82210205,\"217,943,859.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-52,MONKS INVESTMENT TRUST             ,GB,UK Main Market,Standard Debt,GB0002782273,6.375% DEB STK 2023                     ,82LO,1078.82210205,\"40,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n13-May-81,MONTANARO EUROPEAN SMALLER COS TST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004543517,ORD GBP0.50                             ,MTE ,102.159495,\"16,611,300.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-95,MONTANARO UK SMALLER COS INVESTM TR,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006007560,ORD GBP0.10                             ,MTU ,157.00224302,\"33,475,958.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-46,MORGAN ADVANCED MATERIALS PLC      ,GB,UK Main Market,Standard Shares,GB0006026446,5.5% CUM 1ST PRF GBP1                   ,BA05,826.626805766,\"125,327.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-46,MORGAN ADVANCED MATERIALS PLC      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006027295,ORD GBP0.25                             ,MGAM,826.626805766,\"289,095,992.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-46,MORGAN ADVANCED MATERIALS PLC      ,GB,UK Main Market,Standard Shares,GB0006026669,5% CUM 2ND PRF GBP1                     ,BA29,826.626805766,\"311,954.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-94,MORGAN SINDALL GROUP PLC           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008085614,ORD GBP0.05                             ,MGNS,317.243007555,\"43,074,407.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-72,MORRISON(WM.)SUPERMARKETS          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006043169,ORD GBP0.10                             ,MRW ,4632.52452327,\"2,351,535,291.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n5-May-16,MORSES CLUB PLC                    ,GB,AIM,,GB00BZ6C4F71,ORD GBP0.01                             ,MCL  ,151.515,\"129,500,000.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n14-Nov-14,MORTGAGE ADVICE BUREAU (HLDGS) LTD ,GB,AIM,,GB00BQSBH502,ORD GBP0.001                            ,MAB1 ,166.68168,\"50,509,600.00\",Financials,Financial Services,Financial Services,Mortgage Finance,8779,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-08,MORTICE LTD                        ,SG,AIM,,SG9999005326,ORD NPV (DI)                            ,MORT ,42.334500835,\"50,700,001.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,MOSENERGO AO                       ,RU,Trading Only,,US0373763087,ADR EACH REPR 50 SHS LVL1(BNY)          ,AOMD,0,\"2,012,666.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBU,INNU,USD,,,,,,,,,,,,,,,,,,\r\n20-Mar-14,MOSMAN OIL & GAS LTD               ,AU,AIM,,AU0000XINET1,ORD NPV (DI)                            ,MSMN ,2.1559101,\"215,591,010.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-47,MOSS BROS GROUP                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006056104,ORD GBP0.05                             ,MOSB,94.5506614,\"99,527,012.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jan-86,MOTHERCARE                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009067447,ORD GBP0.50                             ,MTC ,111.46729154,\"88,116,436.00\",Consumer Services,Retail,General Retailers,Broadline Retailers,5373,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-15,MOTIF BIO PLC                      ,GB,AIM,,GB00BVVT4H71,ORD GBP0.01                             ,MTFB ,54.84375548,\"108,601,496.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-16,MOTORPOINT GROUP PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BD0SFR60,ORD GBP0.01                             ,MOTR,200,\"100,000,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Oct-08,MOUNTFIELD GROUP PLC               ,GB,AIM,,GB00B3CQW227,ORD GBP0.001                            ,MOGP ,3.432300129,\"254,244,454.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-60,MOUNTVIEW ESTATES                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006081037,ORD GBP0.05                             ,MTVW,434.7426255,\"3,899,037.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-13,MPORIUM GROUP PLC                  ,GB,AIM,,GB00BGDW0L56,ORD GBP0.005                            ,MPM  ,39.63049362,\"511,361,208.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Nov-13,MS INTERNATIONAL                   ,GB,AIM,,GB0005957005,ORD GBP0.10                             ,MSI  ,28.054011325,\"18,396,073.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-06,MTI WIRELESS EDGE                  ,IL,AIM,,IL0010958762,ORD ILS0.01                             ,MWE  ,12.68168755,\"51,761,990.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-62,MUCKLOW(A.& J.)GROUP               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006091408,ORD GBP0.25                             ,MKLW,262.30886575,\"63,044,305.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-62,MUCKLOW(A.& J.)GROUP               ,GB,UK Main Market,Standard Shares,GB0006091622,7% CUM PRF GBP1                         ,37HR,262.30886575,\"675,000.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-96,MULBERRY GROUP                     ,GB,AIM,,GB0006094303,ORD GBP0.05                             ,MUL  ,674.9714025,\"59,997,458.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-07,MULTI UNITS FRANCE                 ,FR,International Main Market,Standard Shares,FR0010438127,ETF FTSE 100                            ,L100,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-07,MULTI UNITS FRANCE                 ,FR,International Main Market,Standard Shares,FR0010438150,ETF FTSE ALL SHARE                      ,LFAS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-07,MULTI UNITS FRANCE                 ,FR,International Main Market,Standard Shares,FR0010614834,LYXOR ETF FTSE COAST KUWAIT 40 USD (GBP),LKUW,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETF2,EFLN,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-07,MULTI UNITS FRANCE                 ,FR,International Main Market,Standard Shares,FR0010614834,LYXOR ETF FTSE COAST KUWAIT 40 USD      ,LKUU,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFN,USD,,,,,,,,,,,,,,,,,,\r\n15-May-07,MULTI UNITS FRANCE                 ,FR,International Main Market,Standard Shares,FR0010438135,ETF FTSE 250                            ,L250,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-01,MURGITROYD GROUP                   ,GB,AIM,,GB0031067456,ORD GBP0.10                             ,MUR  ,48.297766625,\"8,985,631.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n17-Sep-53,MURRAY INCOME TRUST                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006111123,ORD GBP0.25                             ,MUT ,470.6854434,\"64,477,458.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-45,MURRAY INTERNATIONAL TRUST         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006111909,ORD GBP0.25                             ,MYI ,1288.83870927,\"116,426,261.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-45,MURRAY INTERNATIONAL TRUST         ,GB,UK Main Market,Standard Debt,GB0006112428,4% DEB STK                              ,45HR,1288.83870927,\"1,620,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n3-Aug-95,MUSEDIA CORP                       ,US,International Main Market,,US68389V1098,USD0.01                                 ,MSD ,0,\"10,358,333.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-05,MX OIL PLC                         ,GB,AIM,,GB00BKRV5441,ORD GBP0.0001                           ,MXO  ,18.6557208,\"1,492,457,664.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Feb-15,MXC CAPITAL LTD                    ,GG,AIM,,GG00BSBMMK42,NPV                                     ,MXCP ,110.99474182725,\"3,441,697,421.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-13,MYANMAR INVESTMENTS INTL LTD       ,VG,AIM,,VGG636111004,ORD NPV                                 ,MIL  ,39.1333476449699,\"27,308,180.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n27-Jun-13,MYANMAR INVESTMENTS INTL LTD       ,VG,AIM,,VGG636111186,WTS (TO SUB FOR ORD)                    ,MILW ,39.1333476449699,\"15,240,027.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n4-Aug-11,MYCELX TECHNOLOGIES CORP           ,US,AIM,,US62847T2024,ORD USD0.025 (DI)                       ,MYX  ,4.941030265,\"2,919,086.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,ASX1,AIMP,GBX,,,,,,,,,,,,,,,,,,\r\n4-Aug-11,MYCELX TECHNOLOGIES CORP           ,US,AIM,,USU624551078,ORD USD0.025 DI REG S                   ,MYXR ,4.941030265,\"18,197,757.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-14,MYSALE GROUP PLC                   ,JE,AIM,,JE00BMH4MR96,ORD NPV                                 ,MYSL ,135.06349941,\"151,331,652.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-15,MYSQUAR LTD                        ,VG,AIM,,VGG6361G1072,ORD NPV (DI)                            ,MYSQ ,7.29915851625,\"201,356,097.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-10,MYTRAH ENERGY LTD                  ,GG,AIM,,GG00B64BJ143,ORD NPV                                 ,MYT  ,93.68161,\"163,636,000.00\",Utilities,Utilities,Electricity,Alternative Electricity,7537,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-95,N.W.F GROUP                        ,GB,AIM,,GB0006523608,ORD GBP0.25                             ,NWF  ,78.99444416,\"48,167,344.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-14,NAHL GROUP PLC                     ,GB,AIM,,GB00BM7S2W63,ORD GBP0.0025                           ,NAH  ,119.98868485,\"45,278,749.00\",Consumer Services,Media,Media,Media Agencies,5555,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-96,NAKAMA GROUP PLC                   ,GB,AIM,,GB0004251970,ORD GBP0.0001                           ,NAK  ,2.20858951875,\"117,791,441.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n1-May-15,NANOCO GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01JLR99,ORD GBP0.10                             ,NANO,180.075062805,\"255,425,621.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n23-Aug-07,NASPERS                            ,ZA,International Main Market,Standard GDRs,US6315121003,ADRS EACH REPR 1 10 N ORD(SPON)         ,NPSN,433.059178770789,\"36,787,894.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n10-Jan-14,NASSTAR                            ,GB,AIM,,GB00B0T1S097,ORD GBP0.01                             ,NASA ,32.23333309125,\"384,875,619.00\",Technology,Technology,Software & Computer Services,Internet,9535,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-May-97,NATIONAL EXHIBITION CENTRE(DEVELOP),GB,UK Main Market,Standard Debt,GB0006285984,7.5625% GTD UNSEC LN STK 2027           ,55KJ,0,\"73,000,000.00\",,,,,6,MISL,FSLL,GBP,,,,,,,,,,,,,,,,,,\r\n26-Apr-95,NATIONAL EXPRESS GROUP             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006215205,ORD GBP0.05                             ,NEX ,1799.554654854,\"508,779,942.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jan-02,NATIONAL GRID                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B08SNH34,ORD GBP0.113953                         ,NG. ,39246.202525075,\"3,750,234,355.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Multiutilities,7575,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-91,NATIONAL WESTMINSTER BANK          ,GB,UK Main Market,Standard Debt,GB0006227382,NON-CUM USD PRF SER'A'USD25(BR)         ,30HT,0,\"10,000,000.00\",,,,,7,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n18-Sep-91,NATIONAL WESTMINSTER BANK          ,GB,UK Main Market,Standard Debt,GB0006227051,9% SER'A'NON-CUM PRF GBP1               ,NWBD,0,\"140,000,000.00\",,,,,7,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n18-Sep-91,NATIONAL WESTMINSTER BANK          ,GB,UK Main Market,Standard Debt,GB0006217243,NON-CUM USD PRF SER'B'USD25             ,81HS,0,\"10,000,000.00\",,,,,7,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0001918076,FLTG RATE PERM INT BEARING SHS          ,CEBB,0,\"10,000,000.00\",,,,,7,SSX3,SQCL,GBP,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0033882084,6.875% PERM INT BEAR SHS GBP1000        ,CEBA,0,\"30,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,XS0284776274,6.024% PIBS GBP50000                    ,NAWI,0,\"350,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0033627968,6.25% PERM INT BEARING SHS GBP1000      ,POBA,0,\"125,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0001777886,7.859% PERM INT BEARING SHS TRANCH 2    ,NABB,0,\"100,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n11-Jul-86,NATIONWIDE BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB00B120GX99,6% PERM INT BEARING SHS GBP1000         ,NANW,0,\"140,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n1-Aug-02,NATURE GROUP PLC                   ,JE,AIM,,JE00B3B5FZ40,ORD GBP0.002                            ,NGR  ,3.96403275,\"79,280,655.00\",Industrials,Industrial Goods & Services,Support Services,Waste & Disposal Services,2799,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Mar-14,NB DISTRESSED DEBT INV FD LTD      ,GG,UK Main Market,,GG00BH7JH183,RED ORD NPV                             ,NBDG,281.004512748067,\"110,785,785.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Mar-14,NB DISTRESSED DEBT INV FD LTD      ,GG,UK Main Market,,GG00BYT2S336,EXTENDED LIFE RED ORD NPV               ,NBDX,281.004512748067,\"236,829,693.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n4-Mar-14,NB DISTRESSED DEBT INV FD LTD      ,GG,UK Main Market,,GG00BYT2S112,ORD NPV                                 ,NBDD,281.004512748067,\"38,265,672.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n20-Apr-11,NB GLOBAL FLOATING RATE INC FD LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B3P7S359,RED ORD NPV USD                         ,NBLU,1098.66963255915,\"173,894,631.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,USD,,,,,,,,,,,,,,,,,,\r\n20-Apr-11,NB GLOBAL FLOATING RATE INC FD LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B3KX4Q34,RED ORD NPV GBP                         ,NBLS,1098.66963255915,\"1,038,096,022.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-09,NB PRIVATE EQUITY PARTNERS LTD     ,GG,UK Main Market,,GG00B4ZXGJ22,ZERO DIV PREF SHARE NPV                 ,NBPZ,487.584338292499,\"32,999,999.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM3,SFNC,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-09,NB PRIVATE EQUITY PARTNERS LTD     ,GG,UK Main Market,,GG00B1ZBD492,ORD USD0.01                             ,NBPE,487.584338292499,\"54,210,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n13-Jul-07,NCC GROUP                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01QGK86,ORD GBP0.01                             ,NCC ,879.15718282,\"273,030,181.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-10,NCONDEZI ENERGY LTD                ,VG,AIM,,VGG640631039,ORD NPV (DI)                            ,NCCL ,14.05246483125,\"249,821,597.00\",Basic Materials,Basic Resources,Mining,Coal,1771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-91,NEC FINANCE                        ,GB,UK Main Market,Standard Debt,GB0006185556,13.625% DEB STK 2016                    ,BD92,0,\"115,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n6-Nov-91,NEC FINANCE                        ,GB,UK Main Market,Standard Debt,GB0006185440,10.625% DEB STK 2016                    ,BD71,0,\"100,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n3-Nov-14,NEKTAN PLC                         ,GI,AIM,,GI000A12CYF8,ORD GBP0.01 (DI)                        ,NKTN ,10.8461646,\"24,102,588.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Feb-05,NEPTUNE-CALCULUS INCOME&GROWTH VCT ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0523M32,ORD GBP0.10                             ,NEP ,2.511716955,\"7,280,339.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-10,NETCALL                            ,GB,AIM,,GB0000060532,ORD GBP0.05                             ,NET  ,78.12636048,\"139,511,358.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-07,NETDIMENSIONS(HLDGS)LTD            ,KY,AIM,,KYG6427F1019,ORD USD0.001 (DI)                       ,NETD ,17.3344291,\"50,983,615.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-01,NETPLAY TV PLC                     ,GB,AIM,,GB00BZBXBN29,ORD GBP0.01071429                       ,NPT  ,24.3887161,\"278,728,184.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Sep-13,NETSCIENTIFIC PLC                  ,GB,AIM,,GB00B9F4MT28,ORD GBP0.05                             ,NSCI ,39.32828515,\"51,075,695.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-98,NEW BRUNSWICK RAILWAY CO           ,CA,International Main Market,Standard Debt,GB0006301062,PERP 4% CONS DEB STK                    ,98HT,0,\"1,654,533.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n24-Mar-05,NEW CENTURY AIM VCT                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B06JWZ91,ORD GBP0.10                             ,NCA ,8.66231272,\"12,645,712.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-Apr-07,NEW CENTURY AIM VCT 2 PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1SN3863,ORD GBP0.10                             ,NCA2,3.63254976,\"6,486,696.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n11-Feb-08,NEW CITY ENERGY LTD                ,JE,Trading Only,,JE00B2B0SY27,ORD NPV                                 ,NCE ,0,\"49,000,000.00\",,,,,5,SSX3,SQNL,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-07,NEW EUROPE PROPERTY INVESTMENTS PLC,IM,AIM,,IM00B23XCH02,ORD EUR0.01                             ,NEPI ,2950.28510935981,\"335,312,502.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ2,AMQ2,EUR,,,,,,,,,,,,,,,,,,\r\n31-Mar-94,NEW INDIA INVESTMENT TRUST         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006048770,ORD GBP0.25                             ,NII ,231.45055928,\"59,652,206.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n2-May-00,NEW STAR INVESTMENT TRUST          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002631041,ORD GBP0.01                             ,NSI ,64.276443975,\"71,023,695.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-12,NEW TREND LIFESTYLE GROUP PLC      ,GB,AIM,,GB00B8L0LP68,ORD GBP0.001                            ,NTLG ,2.75,\"100,000,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-12,NEW WORLD OIL & GAS PLC            ,JE,AIM,,JE00B65FK239,ORD NPV                                 ,NEW  ,0,\"4,740,429,426.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-May-11,NEW WORLD RESOURCES PLC            ,GB,UK Main Market,,GB00B42CTW68,ORD EUR0.0004 A                         ,NWR ,0,\"6,673,102,546.00\",Basic Materials,Basic Resources,Mining,Coal,1771,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n16-Sep-92,NEWCASTLE BUILDING SOCIETY         ,GB,UK Main Market,Standard Debt,GB0006361371,12.625% PERM INT BEARING SHS GBP1000    ,NBSR,0,\"10,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n16-Sep-92,NEWCASTLE BUILDING SOCIETY         ,GB,UK Main Market,Standard Debt,GB0006371529,10.75% PERM INT BEARING SHS GBP1000     ,NBSP,0,\"10,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n20-Sep-02,NEWMARK SECURITY                   ,GB,AIM,,GB0006596406,ORD GBP0.01                             ,NWT  ,9.726195557,\"468,732,316.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Aug-16,NEWRIVER REIT PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BD7XPJ64,ORD GBP0.01                             ,NRR ,761.09742984,\"238,588,536.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n12-Mar-48,NEXT                               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0032089863,ORD GBP0.10                             ,NXT ,8194.274907,\"148,312,668.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-05,NEXT FIFTEEN COMMUNICATIONS GROUP  ,GB,AIM,,GB0030026057,ORD GBP0.025                            ,NFC  ,235.138032855,\"69,056,691.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-14,NEXTENERGY SOLAR FUND LTD          ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BJ0JVY01,ORD RED NPV GBP                         ,NESF,309.9117892,\"297,992,105.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-04,NICHOLS                            ,GB,AIM,,GB0006389398,ORD GBP0.10                             ,NICL ,520.08371778,\"36,846,172.00\",Consumer Goods,Food & Beverage,Beverages,Soft Drinks,3537,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n12-Mar-07,NIGHTHAWK ENERGY PLC               ,GB,AIM,,GB00B156TD53,ORD GBP0.0025                           ,HAWK ,7.616202849,\"964,076,310.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-14,NIMROD SEA ASSETS LTD              ,GG,UK Main Market,,GG00BK0SC854,ORD NPV                                 ,NSA ,10.894026,\"130,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n17-Apr-97,NMBZ HLDGS                         ,ZW,International Main Market,Standard Shares,ZW0009011389,ORD ZWR0.25                             ,NMBA,0,0.00,Financials,Financial Services,Financial Services,Investment Services,8777,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n17-Apr-97,NMBZ HLDGS                         ,ZW,International Main Market,Standard Shares,ZW0009011389,ORD ZWR0.25                             ,NMB ,0,\"30,465,589.00\",Financials,Financial Services,Financial Services,Investment Services,8777,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n5-Apr-12,NMC HEALTH PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B7FC0762,ORD GBP0.10                             ,NMC ,2516.4285753,\"185,714,286.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-06,NOIDA TOLL BRIDGE CO               ,IN,AIM,,US65527N1063,GDR EACH REPR 5 ORD SHS                 ,NTBC ,26.1875604049949,\"12,499,999.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n14-Apr-16,NON-STANDARD FINANCE PLC           ,GB,UK Main Market,Standard Shares,GB00BRJ6JV17,ORD GBP0.05                             ,NSF ,237.7872615,\"317,049,682.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-07,NORCROS PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYYJL418,ORD GBP0.1                              ,NXR ,100.64491305,\"60,996,917.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jan-12,NORD GOLD SE                       ,NL,International Main Market,Standard GDRs,US65557T2050,GDR EACH REPR 1 ORD REG S(SPONS)        ,NORD,932.785573773237,\"354,903,560.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n17-Dec-10,NORICUM GOLD LTD                   ,VG,AIM,,VGG659191057,ORD NPV (DI)                            ,NMG  ,6.7086794894,\"4,791,913,921.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Oct-12,NORISH                             ,IE,AIM,,IE0006447985,ORD EUR0.25                             ,NSH  ,12.13395309,\"29,960,378.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-08,NORMAN BROADBENT PLC               ,GB,AIM,,GB00B3VF4Y66,ORD GBP0.01                             ,NBB  ,1.654566265,\"17,416,487.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-72,NORSK HYDRO ASA                    ,NO,International Main Market,Standard Shares,NO0005052605,NOK1.098                                ,NHY ,6861.6632844,\"2,117,797,310.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Aluminum,1753,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n21-Oct-52,NORTH AMERICAN INCOME TST (THE) PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000293620,ORD GBP0.25                             ,NAIT,305.51062012,\"28,261,852.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n31-Jan-73,NORTH ATLANTIC SMALL COS INV TST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006439003,ORD GBP0.05                             ,NAS ,375.141744,\"15,630,906.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,NORTH MIDLAND CONSTRUCTION         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006452857,ORD GBP0.10                             ,NMD ,14.21,\"10,150,000.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Dec-06,NORTH RIVER RESOURCES PLC          ,GB,AIM,,GB00BDDRJJ03,ORD GBP0.002                            ,NRRP ,3.69496344,\"26,392,596.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Sep-00,NORTHACRE                          ,GB,AIM,,GB0006877939,ORD GBP0.025                            ,NTA  ,14.182405565,\"42,335,539.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n2-Sep-13,NORTHAMBER                         ,GB,AIM,,GB00B2Q99X01,ORD GBP0.01                             ,NAR  ,9.151588875,\"28,158,735.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-06,NORTHBRIDGE INDUSTRIAL SERVICES    ,GB,AIM,,GB00B0SPFW38,ORD GBP0.10                             ,NBI  ,20.163619075,\"26,017,573.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Apr-99,NORTHERN 2 VCT                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0005356430,ORD GBP0.05                             ,NTV ,63.31260978,\"95,206,932.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-01,NORTHERN 3 VCT                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031152027,ORD GBP0.05                             ,NTN ,61.446695985,\"67,154,859.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-06,NORTHERN BEAR PLC                  ,GB,AIM,,GB00B19FLM15,ORD GBP0.01                             ,NTBR ,8.3473096875,\"17,807,594.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Sep-95,NORTHERN ELECTRIC                  ,GB,UK Main Market,Standard Shares,GB0006546898,8.061P(NET)CUM IRRD PRF 1P              ,NTEA,0,\"111,663,303.00\",,,,,7,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-90,NORTHERN INVESTORS CO              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B08S4K30,ORD GBP0.25                             ,NRI ,119.514676,\"15,128,440.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-95,NORTHERN PETROLEUM                 ,GB,AIM,,GB00B0D47T64,ORD GBP0.01                             ,NOP  ,4.568591025,\"135,365,660.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-95,NORTHERN VENTURE TRUST             ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006450703,ORD GBP0.25                             ,NVT ,67.9992439,\"97,141,777.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-55,NORTHGATE PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B41H7391,ORD GBP0.50                             ,NTG ,558.6329985,\"132,602,850.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-55,NORTHGATE PLC                      ,GB,UK Main Market,Standard Shares,GB0003775664,5% CUM PRF 50P                          ,67GX,558.6329985,\"1,000,000.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jun-10,NORTHWEST INVESTMENT GROUP LTD     ,VG,AIM,,VGG666521197,ORD GBP0.005 (DI)                       ,NWIG ,1.34,\"134,000,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-07,NOSTRA TERRA OIL&GAS CO PLC        ,GB,AIM,,GB00BZ76F335,ORD GBP0.001                            ,NTOG ,1.373250833,\"94,706,954.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-14,NOSTRUM OIL & GAS PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BGP6Q951,ORD GBP0.01                             ,NOG ,558.90338526,\"188,182,958.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jun-01,NOTTINGHAM BUILDING SOCIETY        ,GB,UK Main Market,Standard Debt,GB0030517931,7.875% PERM INT BEARING SHS GBP5000 REG ,NOTP,0,\"25,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n19-May-08,NOVAE GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B40SF849,ORD GBP1.125                            ,NVA ,521.5255558,\"64,425,640.00\",Financials,Insurance,Nonlife Insurance,Property & Casualty Insurance,8536,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-05,NOVATEK OAO                        ,RU,International Main Market,Standard GDRs,US6698881090,GDR EACH REPR 10 ORD 'REG S'            ,NVTK,24935.4517556759,\"303,631,000.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n15-Dec-05,NOVOLIPETSK IRON AND STEEL CORP    ,RU,International Main Market,Standard GDRs,US67011E2046,GDS EACH REPR 10 ORD RUB1 'REGS'        ,NLMK,6369.23865764698,\"599,323,000.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n15-Dec-05,NOVOLIPETSK IRON AND STEEL CORP    ,RU,International Main Market,Standard GDRs,US67011E1055,GDS EACH REPR 10 ORD RUB1 '144A'        ,NLMA,6369.23865764698,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n8-Nov-07,NOVOROSSIYSK COMMERCIAL SEA PORT   ,RU,International Main Market,Standard GDRs,US67011U1097,GDR EACH REPR 75 ORD '144A'             ,71FG,1085.73880394742,0.00,Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n8-Nov-07,NOVOROSSIYSK COMMERCIAL SEA PORT   ,RU,International Main Market,Standard GDRs,US67011U2087,GDR EACH REPR 75 ORD 'REGS'             ,NCSP,1085.73880394742,\"256,791,123.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n27-Mar-96,NUMIS CORP                         ,GB,AIM,,GB00B05M6465,ORD GBP0.05                             ,NUM  ,254.637334505,\"117,615,397.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-08,NU-OIL AND GAS PLC                 ,GB,AIM,,GB00B29T9605,ORD GBP0.001                            ,NUOG ,0.2669663527,\"314,078,062.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-01,NYOTA MINERALS LTD                 ,AU,AIM,,AU000000NYO7,NPV                                     ,NYO  ,0.8918617442,\"1,877,603,672.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,OAKLEY CAPITAL INVESTMENTS LTD     ,BM,AIM,,BMG670131058,ORD GBP0.01 (DI)                        ,OCL  ,285.723458625,\"207,798,879.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Sep-10,OBTALA LTD                         ,GG,AIM,,GG00B4WJSD17,ORD GBP0.01                             ,OBT  ,32.13144007,\"254,506,456.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-10,OCADO GROUP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B3MBS747,ORD GBP0.02                             ,OCDO,1687.755648372,\"554,089,182.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-92,OCEAN WILSONS HLDGS                ,BM,International Main Market,Premium Equity Commercial Companies,BMG6699D1074,ORD GBP0.20                             ,OCN ,341.253336,\"35,363,040.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-15,OCTAGONAL PLC                      ,GB,AIM,,GB00BWWCHQ23,ORD GBP0.0005                           ,OCT  ,10.5042541125,\"560,226,886.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jan-06,OCTOPUS AIM VCT 2 PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0JQZZ80,ORD GBP0.0001                           ,OSEC,67.4973166375,\"88,521,071.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-98,OCTOPUS AIM VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0034202076,ORD GBP0.01                             ,OOA ,101.766263415,\"102,535,278.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Oct-06,OCTOPUS APOLLO VCT  PLC            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B17B3479,ORD GBP0.10                             ,OAP3,169.97469822,\"222,189,148.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Aug-04,OCTOPUS ECLIPSE VCT PLC            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B00MKB60,ORD GBP0.1                              ,OEC1,20.304076505,\"67,963,436.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Dec-07,OCTOPUS TITAN VCT PLC              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B28V9347,ORD GBP0.10                             ,OTV2,277.59232353,\"309,295,068.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n19-Mar-12,OCTOPUS VCT 3 PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B4KQKM77,ORD GBP0.01                             ,OCV3,6.214225855,\"7,624,817.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n19-Mar-12,OCTOPUS VCT 4 PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6QM2B64,ORD GBP0.01                             ,OCV4,6.80173898,\"8,345,692.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n6-Dec-06,OIL & GAS DEVELOPMENT CO           ,PK,International Main Market,Standard GDRs,US67778Q1013,GDR EACH REPR 10 ORD SHS '144A'         ,37OC,441.904661207999,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n6-Dec-06,OIL & GAS DEVELOPMENT CO           ,PK,International Main Market,Standard GDRs,US67778Q2003,GDR EACH REPR 10 ORD 'REGS'             ,OGDC,441.904661207999,\"48,338,700.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n16-Feb-06,OILEX LTD                          ,AU,AIM,,AU000000OEX8,ORD NPV                                 ,OEX  ,5.6066781845,\"1,180,353,302.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-10,O'KEY GROUP SA                     ,LU,International Main Market,Standard GDRs,US6708662019,GDR EACH REPR 1 SHARE REG S             ,OKEY,367.918255016249,\"272,082,500.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n12-Jul-99,OLD MUTUAL PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B77J0862,ORD GBP0.114285714                      ,OML ,9559.359029292,\"4,924,966,012.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-10,OMEGA DIAGNOSTICS GROUP PLC        ,GB,AIM,,GB00B1VCP282,ORD GBP0.04                             ,ODX  ,19.16642416125,\"108,745,669.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Supplies,4537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Apr-01,OMG                                ,GB,AIM,,GB0030312788,ORD GBP0.0025                           ,OMG  ,55.203879185,\"121,327,207.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Sep-15,ON THE BEACH GROUP PLC             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYM1K758,ORD GBP0.01                             ,OTB ,295.1765865125,\"135,869,545.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-16,ONCIMMUNE HLDGS PLC                ,GB,AIM,,GB00BYQ94H38,ORD GBP0.01                             ,ONC  ,60.20879672,\"51,024,404.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-13,ONE MEDIA IP GROUP PLC             ,GB,AIM,,GB00B1DRDZ07,GBP0.005                                ,OMIP ,2.48687943,\"71,053,698.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-14,ONESAVINGS BANK PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BM7S7K96,ORD GBP0.01                             ,OSB ,650.244593425,\"243,082,091.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-16,ONEVIEW GROUP PLC                  ,GB,AIM,,GB0000496611,ORD GBP0.01                             ,ONEV ,18.46706358,\"351,753,592.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-96,ON-LINE PLC                        ,GB,AIM,,GB0006601479,ORD GBP0.05                             ,ONL  ,1.22322576,\"7,645,161.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jun-05,ONZIMA VENTURES PLC                ,GB,AIM,,GB00BYQCDH57,ORD GBP0.001                            ,ONZ  ,2.680981745,\"206,229,365.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-13,OOREDOO QSC                        ,QA,International Main Market,Standard GDRs,US6834201039,GDR EACH REP 1/2 ORD 144A               ,BG04,2262.60539999999,0.00,Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,MISC,ADRN,USD,,,,,,,,,,,,,,,,,,\r\n16-Jul-13,OOREDOO QSC                        ,QA,International Main Market,Standard GDRs,US6834202029,GDR EACH REP 1/2 ORD REG'S              ,ORDS,2262.60539999999,\"90,000,000.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Apr-15,OPERA INVESTMENTS PLC              ,GB,UK Main Market,Standard Shares,GB00BSNBL022,GBP0.01                                 ,OPRA,0.7546875,\"17,250,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n30-May-08,OPG POWER VENTURE PLC              ,IM,AIM,,IM00B2R3RX72,ORD GBP0.000147                         ,OPG  ,246.0533565,\"351,504,795.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-11,OPHIR ENERGY PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B24CT194,ORD GBP0.0025                           ,OPHR,415.5490780375,\"563,456,377.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Aug-14,OPTIBIOTIX HEALTH PLC              ,GB,AIM,,GB00BP0RTP38,ORD GBP0.02                             ,OPTI ,60.578946825,\"78,166,383.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Apr-11,ORACLE COALFIELDS PLC              ,GB,AIM,,GB00B23JN426,ORD GBP0.001                            ,ORCP ,26.897602217,\"911,783,126.00\",Basic Materials,Basic Resources,Mining,Coal,1771,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-12,ORASCOM TELECOM MEDIA&TECH HLDG SAE,EG,International Main Market,Standard GDRs,US68555D2062,GDR EACH REP 5 ORD REG'S SPON           ,OTMT,318.502880641832,\"1,049,138,124.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n1-Jul-15,ORCHARD FUNDING GROUP PLC          ,GB,AIM,,GB00BYZFM569,ORD GBP0.01                             ,ORCH ,18.15104195,\"21,354,167.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-05,ORCHID PHARMA LTD                  ,IN,Trading Only,,US68572Y1001,GDR EACH REPR INR10'144A'               ,OCPA,0,0.00,,,,,9,MISC,INAD,USD,,,,,,,,,,,,,,,,,,\r\n5-Jun-07,ORIGIN ENTERPRISES PLC             ,IE,AIM,,IE00B1WV4493,ORD EUR0.01                             ,OGN  ,646.005103407008,\"138,499,155.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AIM ,AIM ,EUR,,,,,,,,,,,,,,,,,,\r\n14-Dec-09,ORIGO PARTNERS PLC                 ,IM,AIM,,IM00B3SXFX94,CNV RED PREF NPV                        ,OPPP ,0,\"60,000,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n14-Dec-09,ORIGO PARTNERS PLC                 ,IM,AIM,,IM00B1G3MS12,ORD GBP0.0001                           ,OPP  ,0,\"359,306,814.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-05,ORMONDE MINING                     ,IE,AIM,,IE0006627891,ORD EUR0.025                            ,ORM  ,10.631418345,\"472,507,482.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-11,OROGEN GOLD PLC                    ,GB,AIM,,GB00B06LPZ62,ORD GBP0.0001                           ,ORE  ,1.35922560075,\"6,041,002,670.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-04,OROSUR MINING INC                  ,CA,AIM,,CA6871961059,NPV                                     ,OMI  ,15.60432888,\"99,075,104.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Sep-10,ORTAC RESOURCES LTD                ,VG,AIM,,VGG6829M1005,ORD NPV (DI)                            ,OTC  ,2.31812148555,\"7,132,681,494.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-95,ORYX INTERNATIONAL GROWTH FUND     ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B3BTVQ94,ORD GBP0.50                             ,OIG ,95.599296,\"14,995,968.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-16,OSIRIUM TECHNOLOGIES PLC           ,GB,AIM,,GB00BZ58DH10,ORD GBP0.01                             ,OSI  ,19.22955675,\"10,394,355.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,OTP BANK                           ,HU,Trading Only,,USX607461166,GDR EACH REPR 0.50 ORD(REG S)           ,OTPD,0,\"140,000,005.00\",Financials,Banks,Banks,Banks,8355,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n28-Dec-05,OTTOMAN FUND(THE)                  ,JE,AIM,,GB00B0PJ6V42,ORD NPV                                 ,OTM  ,0,\"134,764,709.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-05,OVOCA GOLD                         ,IE,AIM,,IE00B4XVDC01,EUR0.125                                ,OVG  ,11.138885265,\"87,363,806.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Apr-01,OXFORD BIOMEDICA PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006648157,ORD GBP0.01                             ,OXB ,112.806336342,\"2,685,865,151.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n12-Oct-83,OXFORD INSTRUMENTS                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006650450,ORD GBP0.05                             ,OXIG,430.57963008,\"56,065,056.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n12-Feb-10,OXFORD PHARMASCIENCE GROUP PLC     ,GB,AIM,,GB00B3LXPB43,ORD GBP0.001                            ,OXP  ,36.16984857,\"1,205,661,619.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-00,OXFORD TECHNOLOGY 2 VCT            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003105052,ORD GBP0.10                             ,OXH ,1.25578706,\"5,708,123.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-02,OXFORD TECHNOLOGY 3 VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0031420390,ORD GBP0.10                             ,OTT ,4.024793,\"6,999,640.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Sep-04,OXFORD TECHNOLOGY 4 VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B01H4V84,ORD GBP0.10                             ,OXF ,5.40817062,\"11,506,746.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-97,OXFORD TECHNOLOGY VCT PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006640204,ORD GBP0.10                             ,OXT ,2.0640289,\"5,431,655.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n30-May-14,P2P GLOBAL INVESTMENTS PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BLP57Y95,ORD GBP0.01                             ,P2P ,510.631362875,\"60,970,909.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n22-Nov-07,PACIFIC ALLIANCE CHINA LAND LTD    ,KY,AIM,,KYG6846Y1035,ORD USD0.01                             ,PACL ,192.089341968749,\"134,477,500.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n29-Jan-85,PACIFIC ASSETS TRUST               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006674385,ORD GBP0.125                            ,PAC ,269.9012878,\"117,348,386.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Sep-89,PACIFIC HORIZON INVESTMENT TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006667470,ORD GBP0.10                             ,PHI ,152.06302412,\"73,817,002.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Apr-16,PACIFIC INDUSTRIAL & LOGIS REIT PLC,GB,AIM,,GB00BYV8MN78,ORD GBP0.01                             ,PILR ,10.8338055,\"10,317,910.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-00,PADDY POWER BETFAIR PLC            ,IE,International Main Market,Premium Equity Commercial Companies,IE00BWT6H894,ORD EUR0.09                             ,PPB ,3626.0952788,\"39,586,193.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-01,PAGEGROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0030232317,ORD GBP0.01                             ,PAGE,1032.81064732,\"297,639,956.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Oct-97,PAINTS & CHEMICAL INDUSTRIES       ,EG,International Main Market,Standard GDRs,US69578R1077,GDR EACH REPR 1/3 SHARE EGP10(144A)     ,47KT,0,0.00,Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n9-Oct-97,PAINTS & CHEMICAL INDUSTRIES       ,EG,International Main Market,Standard GDRs,US69578R2067,GDR EACH REPR 1/3 SHARE EGP10(REG'S')   ,PCLD,0,\"8,000,001.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n21-Oct-13,PALACE CAPITAL PLC                 ,GB,AIM,,GB00BF5SGF06,ORD GBP0.1                              ,PCA  ,65.289231675,\"20,244,723.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-16,PALM HILLS DEVELOPMENTS SAE        ,EG,International Main Market,Standard GDRs,US6966405077,GDR EACH REPR 20 SHS REGS               ,PHDC,0,\"93,184,000.00\",,,,,8733,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n31-Jul-07,PAN AFRICAN RESOURCES PLC          ,GB,AIM,,GB0004300496,ORD GBP0.01                             ,PAF  ,359.49321249,\"1,943,206,554.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n26-Apr-05,PANMURE GORDON & CO                ,GB,AIM,,GB00B97CW509,ORD GBP0.04                             ,PMR  ,7.419936,\"15,458,200.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-87,PANTHEON INTL PLC                  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004148507,ORD GBP0.67                             ,PIN ,890.79856107,\"33,425,923.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-87,PANTHEON INTL PLC                  ,GB,UK Main Market,Standard Shares,GB00B020KN05,RED SHS GBP0.01                         ,PINR,890.79856107,\"32,230,013.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-06,PANTHEON RESOURCES                 ,GB,AIM,,GB00B125SX82,ORD GBP0.01                             ,PANR ,317.6395872,\"233,558,520.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-13,PANTHER SECURITIES                 ,GB,AIM,,GB0005132070,ORD GBP0.25                             ,PNS  ,54.571806675,\"17,746,929.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Nov-06,PAO TMK                            ,RU,International Main Market,Standard GDRs,US87260R1023,GDR EACH REPR 4 ORD SHS '144A'          ,69SI,5901.67106255803,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n3-Nov-06,PAO TMK                            ,RU,International Main Market,Standard GDRs,US87260R2013,GDR EACH REPR 4 ORD SHS 'REGS'          ,TMKS,5901.67106255803,\"2,343,965,235.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n24-Jun-16,PAPILLON HOLDINGS PLC              ,GB,UK Main Market,Standard Shares,GB00BYZC5R04,ORD GBP0.001                            ,PPHP,1.5888,\"132,400,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-12,PAPUA MINING PLC                   ,GB,AIM,,GB00B42TN250,ORD GBP0.001                            ,PML  ,1.01029126875,\"53,882,201.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Dec-11,PARAGON ENTERTAINMENT LTD          ,KY,AIM,,KYG6906M1069,ORD GBP0.001 (DI)                       ,PEL  ,4.5512533375,\"187,680,550.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Recreational Services,5755,ASX1,AIMP,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-89,PARAGON GROUP OF COMPANIES         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B2NGPM57,ORD GBP1                                ,PAG ,864.464862768,\"272,444,016.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Aug-01,PARALLEL MEDIA GROUP PLC           ,GB,AIM,,GB00BGSGT481,ORD GBP0.01                             ,PAA  ,0.3385387125,\"3,009,233.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-13,PARITY GROUP                       ,GB,AIM,,GB00B1235860,ORD GBP0.02                             ,PTY  ,8.6741667,\"102,049,020.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-07,PARK GROUP                         ,GB,AIM,,GB0006710643,ORD GBP0.02                             ,PKG  ,128.5943939,\"183,706,277.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n13-Mar-00,PARKMEAD GROUP(THE)                ,GB,AIM,,GB00BGCYZL73,ORD GBP0.015                            ,PMG  ,54.09494365,\"98,354,443.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n5-Mar-03,PATAGONIA GOLD                     ,GB,AIM,,GB0003049409,ORD GBP0.01                             ,PGD  ,26.57973088375,\"1,586,849,605.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-05,PATERNOSTER RESOURCES PLC          ,GB,AIM,,GB0001636918,ORD GBP0.001                            ,PRS  ,1.5757423318,\"1,016,607,956.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Feb-11,PATHFINDER MINERALS PLC            ,GB,AIM,,GB00BYY0JQ23,ORD GBP0.001                            ,PFP  ,1.310869464,\"163,858,683.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-14,PATISSERIE HOLDINGS PLC            ,GB,AIM,,GB00BM4NV504,ORD GBP0.01                             ,CAKE ,319,\"100,000,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n24-Sep-04,PAYPOINT                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B02QND93,ORD GBP0.0033                           ,PAY ,661.1647812,\"67,465,794.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-15,PAYSAFE GROUP PLC                  ,IM,UK Main Market,Premium Equity Commercial Companies,GB0034264548,ORD GBP0.0001                           ,PAYS,2099.118018019,\"480,677,357.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n28-Aug-15,PCG ENTERTAINMENT PLC              ,GI,AIM,,GI000A1171Y8,ORD GBP0.001 (DI)                       ,PCGE ,3.64620544475,\"1,325,892,889.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Aug-69,PEARSON                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006776081,ORD GBP0.25                             ,PSON,7037.389111725,\"813,100,995.00\",Consumer Services,Media,Media,Publishing,5557,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-98,PEEL HOTELS                        ,GB,AIM,,GB0002583606,ORD GBP0.10                             ,PHO  ,16.2571332,\"14,014,770.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-86,PEEL LAND & PROPERTY INV PLC       ,GB,UK Main Market,Standard Debt,GB0006783558,8.375% 1ST MTG DEB STK 30/04/40 GBP     ,33IE,0,\"250,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n23-May-86,PEEL SOUTH EAST LTD                ,GB,UK Main Market,Standard Debt,GB0005320196,10% 1ST MTG DEB STK 2026                ,64JS,0,\"110,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n23-May-86,PEEL SOUTH EAST LTD                ,GB,UK Main Market,Standard Debt,GB0005318901,11.625% 1ST MTG DEB STK 2018            ,09HK,0,\"12,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n16-Apr-13,PEMBROKE VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BQVC9S79,ORD GBP0.01 B                           ,PEMB,30.51597239,\"11,449,546.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-13,PEMBROKE VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B89W2T50,ORD GBP0.01                             ,PEMV,30.51597239,\"18,041,202.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-89,PENDRAGON PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1JQBT10,ORD GBP0.05                             ,PDG ,493.229055135,\"1,454,952,965.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n12-Mar-98,PENNANT INTERNATIONAL GROUP        ,GB,AIM,,GB0002570660,ORD GBP0.05                             ,PEN  ,15.431617305,\"27,312,597.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-89,PENNON GROUP                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B18V8630,ORD GBP0.407                            ,PNN ,3606.1033437,\"410,951,948.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-14,PEOPLES OPERATOR PLC(THE)          ,GB,AIM,,GB00BSJWQH14,ORD GBP0.0005                           ,TPOP ,13.22486848,\"77,793,344.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-May-15,PERMANENT TSB GROUP HLDGS PLC      ,IE,International Main Market,Standard Shares,IE00BWB8X525,ORD EUR0.50                             ,IL0A,938.118107475714,\"543,584,381.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSMU,SMEV,EUR,,,,,,,,,,,,,,,,,,\r\n21-Mar-96,PERPETUAL INCOME&GROWTH INVESTM TR ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006798424,ORD GBP0.10                             ,PLI ,899.14764417,\"235,996,757.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-85,PERSIMMON                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006825383,ORD GBP0.10                             ,PSN ,5520.43566336,\"302,655,464.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Sep-83,PERSONAL ASSETS TRUST              ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006827546,ORD GBP12.50                            ,PNL ,573.2008,\"1,433,002.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Nov-00,PERSONAL GROUP HLDGS               ,GB,AIM,,GB0002760279,ORD GBP0.05                             ,PGH  ,143.7499606,\"30,585,098.00\",Financials,Insurance,Nonlife Insurance,Insurance Brokers,8534,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-97,PETARDS GROUP                      ,GB,AIM,,GB00B4YL8F73,ORD GBP0.01                             ,PEG  ,5.943781305,\"34,708,212.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-11,PETRA DIAMONDS                     ,BM,International Main Market,Premium Equity Commercial Companies,BMG702781094,ORD GBP0.10 (DI)                        ,PDL ,582.07664383,\"512,842,858.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Aug-00,PETREL RESOURCES                   ,IE,AIM,,IE0001340177,ORD EUR0.0125                           ,PET  ,5.96280951,\"97,351,992.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-May-08,PETRO MATAD LTD                    ,IM,AIM,,IM00B292WR19,ORD USD0.01                             ,MATD ,8.7533406375,\"286,994,775.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n7-Oct-05,PETROFAC                           ,JE,UK Main Market,Premium Equity Commercial Companies,GB00B0H2K534,ORD USD0.02                             ,PFC ,2876.08773935,\"345,891,490.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-06,PETRONEFT RESOURCES                ,IE,AIM,,IE00B0Q82B24,ORD EUR0.01                             ,PTR  ,15.913032885,\"707,245,906.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Apr-09,PETROPAVLOVSK PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031544546,ORD GBP0.01                             ,POG ,222.6739990568,\"3,303,768,532.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-14,PETS AT HOME GROUP PLC             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJ62K685,ORD GBP0.01                             ,PETS,1225,\"500,000,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jan-16,PEWT SECURITIES 2020 PLC           ,GB,UK Main Market,Standard Shares,GB00BYP98L62,GBP0.01 ZDP                             ,PEZ ,27.082504125,\"24,073,337.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n26-Aug-67,PFIZER INC                         ,US,International Main Market,Standard Shares,US7170811035,USD0.05                                 ,PFZ ,8553.1458573625,\"323,101,293.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n11-May-07,PHARMSTANDARD PJSC                 ,RU,International Main Market,Standard GDRs,US7171402065,GDR EACH REPR 0.25 ORD'REGS'            ,PHST,430.7157658292,\"151,170,412.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n11-May-07,PHARMSTANDARD PJSC                 ,RU,International Main Market,Standard GDRs,US7171401075,GDR EACH REPR 0.25 ORD'144A'            ,70SK,430.7157658292,0.00,Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n11-Jun-08,PHAUNOS TIMBER FUND LTD            ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1G3RS66,ORD NPV                                 ,PTF ,173.645069261438,\"555,937,832.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,USD,,,,,,,,,,,,,,,,,,\r\n17-Nov-09,PHOENIX GROUP HLDGS                ,KY,International Main Market,Premium Equity Commercial Companies,KYG7091M1096,ORD EUR0.0001 (DI)                      ,PHNX,2146.55874235,\"247,014,815.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-15,PHOENIX SPREE DEUTSCHLAND LTD      ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B248KJ21,ORD NPV                                 ,PSDL,193.769367775,\"92,491,345.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-11,PHOSAGRO OJSC                      ,RU,International Main Market,Standard GDRs,US71922G1004,3 GDRS REPR 1 ORD 144A                  ,10NC,3966.35524199829,0.00,Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n13-Jul-11,PHOSAGRO OJSC                      ,RU,International Main Market,Standard GDRs,US71922G2093,GDR EACH REPR 0.3333 ORD REGS SPON      ,PHOR,3966.35524199829,\"388,538,841.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n5-Dec-62,PHOTO-ME INTERNATIONAL             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008481250,ORD GBP0.005                            ,PHTM,574.523767355,\"362,475,563.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Recreational Products,3745,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-10,PHOTONSTAR LED GROUP PLC           ,GB,AIM,,GB00B1TK2453,ORD GBP0.01                             ,PSL  ,4.57026664,\"228,513,332.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Durable Household Products,3722,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-05,PHSC                               ,GB,AIM,,GB0033113456,ORD GBP0.10                             ,PHSC ,3.10800765,\"13,086,348.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-04,PHYSIOMICS PLC                     ,GB,AIM,,GB00B04QT956,ORD GBP0.00004                          ,PYC  ,0.80653882335,\"2,481,657,918.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-05,PICTON PROPERTY INCOME LTD         ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0LCW208,ORD NPV                                 ,PCTN,312.40297955,\"449,500,690.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-12,PICTON ZDP LTD                     ,GG,UK Main Market,Standard Shares,GG00B8N2KC06,0% DIV PREF  GBP0.0001 2016             ,PCTZ,0,\"22,000,000.00\",,,,,5,SSX3,SQCL,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-07,PIK GROUP PJSC                     ,RU,International Main Market,Standard GDRs,US69338N2062,GDR EACH REPR 1 ORD  'REGS              ,PIK ,2163.67437240614,\"660,497,344.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n6-Jun-07,PIK GROUP PJSC                     ,RU,International Main Market,Standard GDRs,US69338N1072,GDR EACH REPR 1 ORD '144A'              ,70ZF,2163.67437240614,0.00,Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n23-Jul-12,PINEWOOD GRP PLC                   ,GB,AIM,,GB00B00KLG25,ORD GBP0.10                             ,PWS  ,319.19918856,\"57,409,926.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-00,PIPEHAWK                           ,GB,AIM,,GB0003010609,ORD GBP0.01                             ,PIP  ,1.816128325,\"33,020,515.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Dec-03,PIRES INVESTMENTS PLC              ,GB,AIM,,GB00BD07SH45,ORD GBP0.0025                           ,PIRI ,0.58429115375,\"11,400,803.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-04,PITTARDS PLC                       ,GB,AIM,,GB00BHB1XR83,GBP0.50                                 ,PTD  ,14.0275769,\"13,888,690.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Aug-08,PJSC ACRON                         ,RU,International Main Market,Standard GDRs,US00501T2096,GDR EACH REPR 0.1 SH 'REGS'             ,AKRN,1741.61011003199,\"405,340,000.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n12-Aug-08,PJSC ACRON                         ,RU,International Main Market,Standard GDRs,US00501T1007,GDR EACH REPR 0.1 SH '144A'             ,34NF,1741.61011003199,0.00,Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n6-Jul-04,PLANT HEALTH CARE                  ,GB,AIM,,GB00B01JC540,ORD GBP0.01                             ,PHC  ,30.55730491625,\"146,382,299.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-06,PLANT IMPACT PLC                   ,GB,AIM,,GB00B1F4K366,ORD GBP0.01                             ,PIM  ,41.6243582925,\"78,167,809.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-07,PLASTICS CAPITAL PLC               ,GB,AIM,,GB00B289KK20,ORD GBP0.01                             ,PLA  ,38.1180708,\"35,294,510.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-12,PLAYTECH PLC                       ,IM,UK Main Market,Premium Equity Commercial Companies,IM00B7S9G985,ORD NPV                                 ,PTEC,2900.05579108,\"318,337,628.00\",Technology,Technology,Software & Computer Services,Software,9537,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-06,PLAZA CENTERS NV                   ,NL,International Main Market,Premium Equity Commercial Companies,NL0011882741,ORD EUR1                                ,PLAZ,17.27611956,\"6,855,603.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-05,PLEXUS HLDGS                       ,GB,AIM,,GB00B0MDF233,ORD GBP0.01                             ,POS  ,85.87361274,\"105,366,396.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jul-13,PLUS500 LTD                        ,IL,AIM,,IL0011284465,ILS0.01 (DI)                            ,PLUS ,819.728569895,\"114,888,377.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-14,PLUTUS POWERGEN PLC                ,GB,AIM,,GB00B1GDWB47,ORD GBP0.001                            ,PPG  ,10.0491117125,\"803,928,937.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-07,PME AFRICAN INFRASTRUCTURE OPP PLC ,IM,AIM,,IM00B1WSL611,ORD USD0.01                             ,PMEA ,4.21392113768519,\"40,973,236.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n15-Jun-10,POLAR CAP GBL HLTHCARE GWTH&INC TST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B6832P16,ORD GBP0.25                             ,PCGH,231.16140625,\"120,475,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-13,POLAR CAPITAL GLOBAL FINANCIALS TR ,GB,UK Main Market,Standard Shares,GB00B9XQV370,RED SUBSCRIPTION SHS 31/07/17 GBP0.01   ,PCFS,165.95824375,\"30,600,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-13,POLAR CAPITAL GLOBAL FINANCIALS TR ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B9XQT119,ORD GBP0.05                             ,PCFT,165.95824375,\"158,225,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Feb-07,POLAR CAPITAL HLDGS PLC            ,GB,AIM,,GB00B1GCLT25,ORD GBP0.025                            ,POLR ,281.2695366,\"91,025,740.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-96,POLAR CAPITAL TECHNOLOGY TRUST     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004220025,GBP0.25                                 ,PCT ,937.842141775,\"128,208,085.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-03,POLEMOS PLC                        ,GB,AIM,,GB0032654641,ORD GBP0.0001                           ,PLMO ,0.8765342918,\"1,524,407,464.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Mar-08,POLO RESOURCES LTD                 ,VG,AIM,,VGG6844A1158,ORD NPV (DI)                            ,POL  ,19.65830597055,\"311,789,151.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-11,POLYMETAL INTL PLC                 ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B6T5S470,ORD NPV                                 ,POLY,4594.82958558,\"436,356,086.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n16-Apr-14,POLYPIPE GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKRC5K31,ORD GBP0.001                            ,PLP ,586.428551595,\"199,262,165.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n15-Sep-11,PORT ERIN BIOPHARMA INVESTMENTS LTD,IM,AIM,,IM00B6QH1J21,ORD GBP0.0000001                        ,PEBI ,1.735572845,\"33,864,836.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Nov-11,PORTA COMMUNICATIONS PLC           ,GB,AIM,,GB00B71C7K21,ORD GBP0.10                             ,PTCM ,14.30325513125,\"279,087,905.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-04,PORTMEIRION GROUP                  ,GB,AIM,,GB0006957293,ORD GBP0.05                             ,PMP  ,96.276923,\"10,848,104.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Durable Household Products,3722,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-87,PORTUGAL FUND                      ,GB,UK Main Market,Standard Debt,BE0073116759,IDR'S                                   ,PRT ,0,\"3,928,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,CWNR,EIDW,USD,,,,,,,,,,,,,,,,,,\r\n20-Feb-92,PORVAIR PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006963689,ORD GBP0.02                             ,PRV ,165.8957508,\"42,537,372.00\",Oil & Gas,Oil & Gas,Alternative Energy,Renewable Energy Equipment,583,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-14,POUNDLAND GROUP PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJ34VB96,ORD GBP0.01                             ,PLND,602.5637797725,\"268,701,797.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Nov-06,POWERCHIP TECHNOLOGY CORP          ,TW,Trading Only,,US73931M7552,GDR EACH REPR 10 ORD 'REGS' (TEMP)      ,POSX,0,0.00,,,,,9,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n1-Dec-14,POWERFLUTE OYJ                     ,FI,AIM,,FI0009015291,ORD NPV(DI)                             ,POWR ,228.18978798,\"296,350,374.00\",Basic Materials,Basic Resources,Forestry & Paper,Paper,1737,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-11,POWERHOUSE ENERGY GROUP PLC        ,GB,AIM,,GB00B4WQVY43,ORD GBP0.005                            ,PHE  ,4.69304026825,\"605,553,583.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D9026,GLOBAL WATER UCITS GBP                  ,PSHO,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D9133,GLOBAL CLEAN ENERGY UCITS GBP           ,PSBW,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D9240,DYNAMIC US MARKET UCITS GBP             ,PSWC,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D8S39,FTSE RAFI US 1000 UCITS GBP             ,PSRF,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B3BQ0418,GLOBAL AGRICULTURE UCITS GBP            ,PSGA,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23LNQ02,PS FTSE RAFI ALL-WORLD 3000 UCITS GBP   ,PSRW,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D8Z06,GLOBAL LISTED PRIVATE EQTY UCITS GBP    ,PSSP,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D8X81,FTSE RAFI EUROPE UCITS GBP              ,PSRE,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D9570,FTSE RAFI EMERG MKTS UCITS GBP          ,PSRM,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23D8Y98,FTSE RAFI EUR MID-SML UCITS GBP         ,PSES,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n21-Nov-07,POWERSHARES GLOBAL FUNDS IRELAND   ,IE,International Main Market,Premium Equity Open Ended Investment Companies,IE00B23LNN70,FTSE RAFI UK 100 UCITS GBP              ,PSRU,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETFL,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-11,PPHE HOTEL GROUP LTD               ,GG,UK Main Market,Standard Shares,GG00B1Z5FH87,ORD NPV                                 ,PPH ,314.3948522,\"42,059,512.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n3-Sep-15,PRAIRIE MINING LTD                 ,AU,International Main Market,Standard Shares,AU000000PDZ2,ORD NPV (DI)                            ,PDZ ,17.06052968,\"148,352,432.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-14,PREMAITH HEALTH PLC                ,GB,AIM,,GB00BN31ZD89,ORD GBP0.10                             ,NIPT ,24.24239408125,\"228,163,709.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-12,PREMIER AFRICAN MINERALS LTD       ,VG,AIM,,VGG7223M1005,ORD NPV (DI)                            ,PREM ,8.85262910875,\"2,082,971,555.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Nov-03,PREMIER ENERGY & WATER TST PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0033537902,ORD GBP0.01                             ,PEW ,29.4233844,\"17,778,480.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Feb-96,PREMIER FARNELL                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003318416,ORD GBP0.05                             ,PFL ,674.867934425,\"369,790,649.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-04,PREMIER FOODS PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B7N0K053,ORD GBP0.10                             ,PFD ,378.360979815,\"749,229,663.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n20-Feb-73,PREMIER OIL PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B43G0577,ORD GBP0.125                            ,PMO ,375.32186817,\"515,906,348.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Feb-15,PREMIER TECHNICAL SERVICES GRP LTD ,GB,AIM,,GB00BV9FPW93,ORD GBP0.01                             ,PTSG ,68.27946385,\"88,102,534.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Feb-15,PREMIER VETERINARY GROUP PLC       ,GB,UK Main Market,Standard Shares,GB00BSZLMS59,ORD GBP0.1                              ,PVG ,21.988463675,\"14,907,433.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,SSMU,SMEW,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-04,PRESIDENT ENERGY PLC               ,GB,AIM,,GB00B3DDP128,GBP0.01                                 ,PPC  ,60.411873715,\"525,320,641.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-98,PRESS CORP                         ,MW,PSM,Standard GDRs,US74111E2090,GDR-EACH REPR 20 ORD MWK1(144A)         ,PESA,0,0.00,Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n20-Jul-98,PRESS CORP                         ,MW,PSM,Standard GDRs,US74111E1001,GDR EACH REPR 20 ORD MWK1 (REG'S)       ,PESD,0,\"2,000,000.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n6-Jun-07,PRESSURE TECHNOLOGIES PLC          ,GB,AIM,,GB00B1XFKR57,ORD GBP0.05                             ,PRES ,22.07356312,\"14,522,081.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-98,PRIMARY HEALTH PROPERTIES          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYRJ5J14,ORD GBP0.125                            ,PHP ,660.71097703,\"597,928,486.00\",Financials,Real Estate,Real Estate Investment Trusts,Specialty REITs,8675,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jan-06,PRIME PEOPLE                       ,GB,AIM,,GB00B4ZG0R74,ORD GBP0.10                             ,PRP  ,11.657295535,\"12,080,099.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-07,PRINCESS PRIVATE EQUITY HLDGS      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B28C2R28,ORD EUR0.001                            ,PEY ,465.45583562678,\"69,168,031.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON10,EUR,,,,,,,,,,,,,,,,,,\r\n2-Sep-98,PRIVATE & COMMERCIAL FINANCE GROUP ,GB,AIM,,GB0004189378,ORD GBP0.05                             ,PCF  ,46.14690105,\"159,127,245.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Feb-00,PRIVATE EQUITY INVESTOR            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000504034,GBP0.0001                               ,PEQ ,37.2751672,\"22,454,920.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-07,PRO GLOBAL INSURANCE SOLUTIONS PLC ,GB,AIM,,GB00B1Z5KB73,ORD GBP0.02                             ,PROG ,18.886549935,\"114,463,939.00\",Financials,Insurance,Nonlife Insurance,Reinsurance,8538,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-06,PROACTIS HLDGS                     ,GB,AIM,,GB00B13GSS58,ORD GBP0.10                             ,PHD  ,58.845359525,\"39,895,159.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-10,PRODUCE INVESTMENTS PLC            ,GB,AIM,,GB00B3ZGBY47,ORD GBP0.01                             ,PIL  ,39.367090125,\"26,509,825.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Oct-13,PROGILITY PLC                      ,GB,AIM,,GB0033422824,ORD GBP0.10                             ,PGY  ,1.247918,\"199,666,880.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-15,PROJECT FINANCE INVESTMENTS LTD    ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00BYZX8G32,NPV C                                   ,PRJC,163.39709542,\"44,086,270.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-15,PROJECT FINANCE INVESTMENTS LTD    ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00BYXX8B08,ORD NPV                                 ,PROJ,163.39709542,\"106,000,002.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jul-06,PROMOS TECHNOLOGIES INC            ,TW,Trading Only,,US74343C6093,GDS EACH REPR 10 COM SHS'REGS'(TEMP)    ,PRNT,0,\"87,500,000.00\",,,,,9,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n23-Dec-10,PROPHOTONIX LTD                    ,US,AIM,,US7434651060,ORD USD0.001 (DI)                       ,PPIX ,2.4053803075,\"83,665,402.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-94,PROSPECT JAPAN FUND LTD            ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B011QL44,ORD USD0.001                            ,PJF ,70.7721440010616,\"93,365,602.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,USD,,,,,,,,,,,,,,,,,,\r\n30-Mar-12,PROSPEX OIL & GAS PLC              ,GB,AIM,,GB00BW4NPC58,ORD GBP0.01                             ,PXOG ,4.143894622,\"285,785,836.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-95,PROTEOME SCIENCES PLC              ,GB,AIM,,GB0003104196,ORD GBP0.01                             ,PRM  ,33.05517614,\"227,966,732.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-06,PROTON POWER SYSTEMS PLC           ,GB,AIM,,GB00B140Y116,ORD GBP0.01                             ,PPS  ,29.719806925,\"642,590,420.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n31-May-01,PROVEN GROWTH & INCOME VCT         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B5B7YS03,ORD GBP0.016187                         ,PGOO,77.58260048,\"104,841,352.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-14,PROVEN VCT                         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B8GH9P84,ORD GBP0.10                             ,PVN ,105.12441465,\"113,037,005.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-05,PROVEXIS                           ,GB,AIM,,GB00B0923P27,ORD GBP0.001                            ,PXS  ,7.39670640475,\"1,740,401,507.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jun-05,PROVIDENCE RESOURCES               ,IE,AIM,,IE00B66B5T26,EUR0.10                                 ,PVR  ,64.248337985,\"597,658,958.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-62,PROVIDENT FINANCIAL                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1Z4ST84,ORD GBP0.207272                         ,PFG ,4330.46518308,\"144,060,718.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n23-Aug-13,PROXAMA PLC                        ,GB,AIM,,GB00B2PKZ581,ORD GBP0.01                             ,PROX ,8.9622954855,\"1,707,103,902.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Dec-78,PRUDENTIAL PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007099541,GBP0.05                                 ,PRU ,34792.86044781,\"2,551,731,606.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-01,PUBLIC POWER CORP S.A.             ,GR,International Main Market,Standard GDRs,XS0139849052,GDR EACH REPR 1 ORD SHS'144A'           ,AG40,0,0.00,Utilities,Utilities,Electricity,Conventional Electricity,7535,MISC,INTM,EUR,,,,,,,,,,,,,,,,,,\r\n12-Dec-01,PUBLIC POWER CORP S.A.             ,GR,International Main Market,Standard GDRs,XS0139847601,GDR EACH REPR 1 ORD EUR4.6 REG'S'       ,PPCD,0,\"35,000,000.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBU,LLLN,EUR,,,,,,,,,,,,,,,,,,\r\n26-Mar-07,PUBLIC SERVICE PROPERTIES INVESTMNT,VG,AIM,,VGG729641511,ORD USD0.01(DI)                         ,PSPI ,1.10412675,\"227,655.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jun-14,PUMA VCT 10 PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BFG3QX28,ORD GBP0.0005                           ,PUMX,30.7419617,\"34,541,530.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-15,PUMA VCT 11 PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BQVBS545,ORD GBP0.0005                           ,PU11,36.23296485,\"38,139,963.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jun-16,PUMA VCT 12 PLC                    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYSJJR68,ORD GBP0.0005                           ,PU12,38.636487,\"38,636,487.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-12,PUMA VCT 8 PLC                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B40PR121,ORD GBP0.01                             ,PUM8,8.9745887,\"12,820,841.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-13,PUMA VCT 9 PLC                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B73D8H78,ORD GBP0.01                             ,PUM9,68.88763989,\"85,046,469.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jul-11,PUMA VCT VII PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B41RMC30,ORD GBP0.01                             ,PUMA,8.78080255,\"13,508,927.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n27-May-02,PUNCH TAVERNS                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BPXRVT80,ORD GBP0.009572                         ,PUB ,216.427301025,\"221,976,719.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n28-Oct-15,PURECIRCLE LTD                     ,BM,International Main Market,Premium Equity Commercial Companies,BMG7300G1096,ORD USD0.10 (DI)                        ,PURE,523.50713376,\"172,206,294.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n24-Jun-15,PURETECH HEALTH PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BY2Z0H74,ORD GBP0.01                             ,PRTC,352.2344124,\"227,248,008.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-14,PURICORE PLC                       ,GB,AIM,,GB00B3XBCR18,ORD GBP0.10                             ,PURI ,10.40310214,\"50,135,432.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-15,PURPLEBRICKS GROUP PLC             ,GB,AIM,,GB00BYV2MV74,ORD GBP0.01                             ,PURP ,313.72140672,\"245,094,849.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n27-Nov-13,PV CRYSTALOX SOLAR PLC             ,GB,UK Main Market,Standard Shares,GB00BFTDG626,ORD GBP0.052                            ,PVCS,24.04184625,\"160,278,975.00\",Oil & Gas,Oil & Gas,Alternative Energy,Renewable Energy Equipment,583,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n26-Nov-53,PZ CUSSONS                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B19Z1432,ORD GBP0.01                             ,PZC ,1437.12928025,\"428,993,815.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Personal Products,3767,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-14,QANNAS INVESTMENTS LTD             ,KY,AIM,,KYG7306P1037,USD0.01 (DI)                            ,QIL  ,59.5235936443798,\"78,133,409.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n13-May-11,QATAR INVESTMENT FUND PLC          ,IM,UK Main Market,Premium Equity Closed Ended Investment Funds,IM00B1Z40704,ORD USD0.01                             ,QIF ,185.651783026865,\"211,908,762.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,USD,,,,,,,,,,,,,,,,,,\r\n15-Feb-06,QINETIQ GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0WMWD03,ORD GBP0.01                             ,QQ. ,1345.69073985,\"583,813,770.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n19-Apr-06,QUADRISE FUELS INTERNATIONAL       ,GB,AIM,,GB00B11DDB67,ORD GBP0.01                             ,QFI  ,103.222108155,\"809,585,162.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-14,QUANTUM PHARMA PLC                 ,GB,AIM,,GB00BRTL8Q42,ORD GBP0.1                              ,QP.  ,97.49999454,\"124,999,993.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-14,QUARTIX HLDGS PLC                  ,GB,AIM,,GB00BLZH2C83,ORD GBP0.01                             ,QTX  ,201.718617,\"47,463,204.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jun-90,QUARTO GROUP INC                   ,US,International Main Market,Premium Equity Commercial Companies,US74772E1001,USD0.10                                 ,QRT ,54.84932175,\"19,694,550.00\",Consumer Services,Media,Media,Publishing,5557,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n21-May-13,QUIXANT PLC                        ,GB,AIM,,GB00B99PCP71,ORD GBP0.001                            ,QXT  ,153.3966777,\"65,275,182.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-60,R.E.A.HLDGS PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002349065,ORD GBP0.25                             ,RE. ,142.1358011675,\"38,373,348.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n5-Oct-60,R.E.A.HLDGS PLC                    ,GB,UK Main Market,Standard Shares,GB0007185639,9% CUM PRF GBP1                         ,RE.B,142.1358011675,\"47,518,151.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-05,RAMBLER METALS & MINING            ,GB,AIM,,GB00B06Y3F14,ORD GBP0.01                             ,RMM  ,19.67937407,\"414,302,612.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-14,RAME ENERGY PLC                    ,JE,AIM,,JE00BBD8GG53,ORD NPV                                 ,RAME ,0,\"101,097,444.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-13,RANDALL & QUILTER INVT HLDGS LTD   ,BM,AIM,,BMG7371X1065,ORD GBP0.02 (DI)                        ,RQIH ,77.4730527,\"72,067,956.00\",Financials,Insurance,Nonlife Insurance,Reinsurance,8538,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-97,RANDGOLD RESOURCES                 ,JE,UK Main Market,Premium Equity Commercial Companies,GB00B01C3S32,ORD USD0.05                             ,RRS ,9319.80143911049,\"92,192,895.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-97,RANDGOLD RESOURCES                 ,JE,UK Main Market,Standard GDRs,US7523443098,ADS EACH REPR 1 ORD USD0.05             ,GOLD,9319.80143911049,\"91,818,225.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n23-Oct-07,RANGE RESOURCES                    ,AU,AIM,,AU000000RRS3,ORD NPV (DI)                            ,RRL  ,40.43137163135,\"7,155,994,979.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n1-May-15,RANGER DIRECT LENDING FUND PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BW4NPD65,ORD GBP0.01                             ,RDL ,158.583582,\"14,848,650.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-16,RANGER DIRECT LENDING ZDP PLC      ,GB,UK Main Market,Standard Shares,GB00BD20L056,ZERO DIV PREF GBP0.01                   ,RDLZ,31.875,\"30,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n7-Oct-96,RANK GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1L5QH97,ORD GBP0.1388888                        ,RNK ,843.72500016,\"390,613,426.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n14-Aug-13,RAPIDCLOUD INTL PLC                ,JE,AIM,,JE00B8FX4C95,ORD NPV                                 ,RCI  ,6.257116795,\"22,149,086.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n31-Mar-06,RARE EARTH MINERALS PLC            ,GB,AIM,,GB00B067JC96,ORD GBP0.0001                           ,REM  ,64.5067105305,\"7,771,892,835.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-06,RASMALA PLC                        ,GB,AIM,,GB00BNG83T81,ORD GBP0.50                             ,RMA  ,38.85015724,\"39,441,784.00\",Financials,Banks,Banks,Banks,8355,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-92,RATHBONE BROS                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002148343,ORD GBP0.05                             ,RAT ,831.41783928,\"45,161,208.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,RAVEN RUSSIA LTD                   ,GG,UK Main Market,,GG00B55K7758,WTS TO SUB FOR ORD                      ,RUSW,656.81341177,0.00,Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,RAVEN RUSSIA LTD                   ,GG,UK Main Market,Premium Equity Commercial Companies,GB00B0D5V538,ORD GBP0.01                             ,RUS ,656.81341177,\"762,465,439.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-09,RAVEN RUSSIA LTD                   ,GG,UK Main Market,Standard Shares,GG00B55K7B92,CUM RED PREF SHS GBP0.01                ,RUSP,656.81341177,\"196,330,692.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-04,REABOLD RESOURCES PLC              ,GB,AIM,,GB00B95L0551,ORD GBP0.001                            ,RBD  ,2.40686922,\"320,915,896.00\",Consumer Services,Media,Media,Media Agencies,5555,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-08,REACH4ENTERTAINMENT ENTERPRISES PLC,GB,AIM,,GB00B1HLCW86,ORD GBP0.005                            ,R4E  ,10.268597635,\"483,228,124.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-08,REACT ENERGY PLC                   ,IE,AIM,,IE00BH3XCL94,ORD EUR0.1                              ,REAC ,2.817768525,\"75,140,494.00\",Utilities,Utilities,Electricity,Alternative Electricity,7537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Aug-15,REACT GROUP PLC                    ,GB,AIM,,GB00BZ2JBG28,ORD GBP0.0025                           ,REAT ,3.66631129275,\"257,285,003.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-05,REAL ESTATE CREDIT INVESTMENTS PCC ,GG,UK Main Market,Standard Shares,GG00B4ZRT175,RED PREF NPV                            ,RECP,160.18013685,\"44,751,346.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-05,REAL ESTATE CREDIT INVESTMENTS PCC ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0HW5366,ORD NPV                                 ,RECI,160.18013685,\"71,668,496.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-04,REAL ESTATE INVESTORS              ,GB,AIM,,GB00B45XLP34,ORD GBP0.10                             ,RLE  ,101.59922591,\"186,420,598.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-05,REAL GOOD FOOD PLC                 ,GB,AIM,,GB0033572867,ORD GBP0.02                             ,RGD  ,23.9979142775,\"70,066,903.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Oct-07,RECKITT BENCKISER GROUP PLC        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B24CGK77,ORD GBP0.10                             ,RB. ,50376.606128,\"685,023,200.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Nondurable Household Products,3724,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-05,RECONSTRUCTION CAPITAL II          ,KY,AIM,,KYG741521028,ORD EUR0.01                             ,RC2  ,21.8197318701263,\"99,918,531.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASX1,AIMP,EUR,,,,,,,,,,,,,,,,,,\r\n3-Dec-07,RECORD PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B28ZPS36,ORD GBP0.00025                          ,REC ,54.515022,\"221,380,800.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-11,RED EMPEROR RESOURCES NL           ,AU,AIM,,AU000000RMP0,ORD NPV(DI)                             ,RMP  ,4.78420623,\"425,262,776.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-13,RED LEOPARD HLDGS                  ,GB,AIM,,GB00B4JXWP66,ORD GBP0.001                            ,RLH  ,0.49833720185,\"586,279,061.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-05,RED ROCK RESOURCES                 ,GB,AIM,,GB00BYWKBV38,ORD GBP0.0001                           ,RRR  ,1.986134395,\"467,325,740.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-02,RED24 PLC                          ,GB,AIM,,GB00B297TG43,ORD GBP0.01(REORG)                      ,REDT ,12.1209635875,\"49,983,355.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Dec-13,REDCENTRIC PLC                     ,GB,AIM,,GB00B7TW1V39,ORD GBP0.001                            ,RCN  ,259.1927132375,\"146,643,685.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-13,REDDE PLC                          ,GB,AIM,,GB00BLWF0R63,ORD GBP0.001                            ,REDD ,577.675789245,\"288,477,298.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-12,REDEFINE INTL PLC                  ,IM,UK Main Market,Premium Equity Commercial Companies,IM00B8BV8G91,ORD GBP0.08                             ,RDI ,722.963504466,\"1,639,373,026.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-03,REDHALL GROUP                      ,GB,AIM,,GB0001112035,ORD GBP0.0001                           ,RHL  ,12.50316775,\"200,050,684.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-94,REDROW                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007282386,ORD GBP0.10                             ,RDW ,1373.80676967,\"369,799,938.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-06,REDSTONECONNECT PLC                ,GB,AIM,,GB00B3CDXQ41,ORD GBP0.001                            ,REDS ,32.0632759435,\"1,733,150,051.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-06,REDT ENERGY PLC                    ,JE,AIM,,GB00B11FB960,ORD EUR0.01                             ,RED  ,38.76763456125,\"449,479,821.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-15,REDX PHARMA LTD                    ,GB,AIM,,GB00BSNB6S51,ORD GBP0.01                             ,REDX ,24.79144907,\"93,552,638.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-02,REGAL PETROLEUM                    ,GB,AIM,,GB0031775819,ORD GBP0.05                             ,RPT  ,10.0039004832,\"320,637,836.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n22-Feb-05,REGENCY MINES                      ,GB,AIM,,GB00BYVT4J08,ORD GBP0.0001                           ,RGM  ,1.435730571,\"319,051,238.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-15,REGIONAL REIT LTD                  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYV2ZQ34,ORD NPV                                 ,RGL ,281.0726956,\"274,217,264.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-08,REGUS PLC                          ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B3CGFD43,ORD GBP0.01                             ,RGU ,2769.549554124,\"924,107,292.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-05,REI AGRO                           ,IN,International Main Market,Standard GDRs,US74948P3029,GDR EACH REPR 20 ORD SHARE'REGS'        ,REA ,0,\"3,770,000.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n18-Nov-05,REI AGRO                           ,IN,International Main Market,Standard GDRs,US74948P1049,GDR EACH REPR 1 SHR 144A                ,REAA,0,0.00,Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,RELIANCE INDUSTRIES                ,IN,Trading Only,,US7594701077,GDR EACH REP 2 INR10 LEVEL 1(BNY)'144A  ,RIGD,0,\"65,893,333.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n8-Mar-96,RELIANCE INFRASTRUCTURE LTD        ,IN,PSM,Standard GDRs,USY097891193,GDR-EACH REPR 3 ORD SHS(REG'S')         ,RIFS,0,\"2,364,897.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n8-Mar-96,RELIANCE INFRASTRUCTURE LTD        ,IN,PSM,Standard GDRs,US75945E1091,GDR EACH REPR 3 ORD SHS(144A)           ,RIFA,0,0.00,Utilities,Utilities,Electricity,Conventional Electricity,7535,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n21-Apr-48,RELX PLC                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B2B0DG97,ORD GBP0.1444                           ,REL ,15618.76953725,\"1,080,883,705.00\",Consumer Services,Media,Media,Publishing,5557,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n12-Aug-05,RENEURON GROUP                     ,GB,AIM,,GB00B0DZML60,ORD GBP0.01                             ,RENE ,86.7923491875,\"3,156,085,425.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-11,RENEW HLDGS                        ,GB,AIM,,GB0005359004,ORD GBP0.10                             ,RNWH ,216.3848737875,\"59,898,927.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-13,RENEWABLES INFRASTRUCTURE GRP(THE) ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BBHX2H91,ORD NPV                                 ,TRIG,563.968660752,\"538,652,016.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-84,RENISHAW PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007323586,ORD GBP0.20                             ,RSW ,1909.57674708,\"72,829,014.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-09,RENOLD                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007325078,ORD GBP0.05                             ,RNO ,96.2063541,\"225,480,096.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-09,RENOLD                             ,GB,UK Main Market,Standard Shares,GB0007325417,6% CUM PRF STK GBP1                     ,32ID,96.2063541,\"580,482.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n21-Jun-05,RENTOKIL INITIAL                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B082RF11,ORD GBP0.01                             ,RTO ,3881.923613811,\"1,814,831,049.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-84,REPUBLIC GOLDFIELDS INC            ,CA,International Main Market,Standard Shares,CA76045L1004,COM NPV                                 ,RPG ,0,\"4,538,304.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n20-Jan-69,RESTAURANT GROUP PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0YG1K06,ORD GBP0.28125                          ,RTN ,747.92027335,\"200,783,966.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-05,RESTORE PLC                        ,GB,AIM,,GB00B5NR1S72,ORD GBP0.05                             ,RST  ,372.572058775,\"112,051,747.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Mar-15,REVOLUTION BARS GROUP PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVDPPV41,ORD GBP0.001                            ,RBG ,78.75,\"50,000,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-12,REVOLYMER PLC                      ,GB,AIM,,GB00B84LVH87,ORD GBP0.01                             ,REVO ,29.56200312,\"75,800,008.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-May-14,REX BIONICS PLC                    ,GB,AIM,,GB00BLRLQM66,ORD GBP0.1                              ,RXB  ,7.90929629,\"25,513,859.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-07,RHYTHMONE PLC                      ,GB,AIM,,GB00B1WBW239,ORD GBP0.01                             ,RTHM ,140.94109044,\"391,503,029.00\",Technology,Technology,Software & Computer Services,Internet,9535,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n5-Apr-62,RICARDO                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007370074,ORD GBP0.25                             ,RCDO,416.725461,\"51,831,525.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n20-Aug-04,RICHLAND RESOURCES LTD             ,BM,AIM,,BMG7567C1064,USD0.0003                               ,RLD  ,4.45221208,\"222,610,604.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jun-98,RICHOUX GROUP PLC                  ,GB,AIM,,GB00B0NYFG99,ORD GBP0.04                             ,RIC  ,18.88247046,\"92,109,612.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-Nov-08,RICOH CO                           ,JP,Trading Only,,JP3973400009,NPV                                     ,RICO,0,0.00,,,,,0,SSX4,SXNL,JPY,,,,,,,,,,,,,,,,,,\r\n15-Mar-06,RIGHTMOVE PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B2987V85,ORD GBP0.01                             ,RMV ,4335.93277542,\"105,780,258.00\",Consumer Services,Media,Media,Media Agencies,5555,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-66,RIGHTS & ISSUES INVESTMENT TRUST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007392078,INC GBP0.25                             ,RIII,144.8053466,\"9,884,324.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-73,RIO TINTO                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007188757,ORD GBP0.10                             ,RIO ,31572.29723505,\"1,372,112,005.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-88,RIT CAPITAL PARTNERS               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007366395,ORD GBP1                                ,RCP ,2676.70515613,\"155,351,431.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-14,RIVER & MERCANTILE GROUP PLC       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLZH7X42,ORD GBP0.003                            ,RIV ,172.4002266,\"82,095,346.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n2-Dec-14,RIVER AND MERCANTL UK MICRO CAP INV,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BRGCGK06,REDEEMABLE ORD NPV                      ,RMMC,78.44116536,\"68,507,568.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Oct-13,RIVERSTONE ENERGY LTD              ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BBHXCL35,RED ORD NPV                             ,RSE ,933.5047072,\"84,480,064.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-14,RM PLC                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BJT0FF39,ORD GBP0.02                             ,RM. ,116.2895342,\"83,063,953.00\",Technology,Technology,Software & Computer Services,Software,9537,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jan-14,RM2 INTL SA                        ,LU,AIM,,LU0994178464,ORD USD0.01 (DI)                        ,RM2  ,100.076289,\"400,305,156.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-00,ROBERT WALTERS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008475088,ORD GBP0.20                             ,RWA ,282.3087993,\"85,548,121.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-04,ROBINSON                           ,GB,AIM,,GB00B00K4418,GBP0.005                                ,RBN  ,20.6940513,\"15,918,501.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Aug-05,ROCKHOPPER EXPLORATION             ,GB,AIM,,GB00B0FVQX23,ORD GBP0.01                             ,RKH  ,141.3095258,\"455,837,180.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jan-16,ROCKROSE ENERGY PLC                ,GB,UK Main Market,Standard Shares,GB00BYNFCH09,ORD GBP0.2                              ,RRE ,4.4375,\"10,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-87,ROLLS-ROYCE HLDGS PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B63H8491,ORD GBP0.20                             ,RR. ,14027.8590914,\"1,821,799,882.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n18-Apr-06,ROLTA INDIA                        ,IN,International Main Market,Standard GDRs,US7757901084,GDR EACH REPR 1 ORD SHR'144A'           ,82HP,16.0390322134217,0.00,Technology,Technology,Software & Computer Services,Computer Services,9533,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n18-Apr-06,ROLTA INDIA                        ,IN,International Main Market,Standard GDRs,US7757902074,GDR EACH REPR 1 ORD SHR'REGS'           ,RTI ,16.0390322134217,\"16,071,429.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n13-Apr-11,ROS AGRO PLC                       ,CY,International Main Market,Standard GDRs,US7496552057,GDR EACH REPR 1/5 ORD REG S             ,AGRO,1261.57392,\"120,000,000.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n2-Jun-04,ROSE PETROLEUM PLC                 ,GB,AIM,,GB00B013M672,ORD GBP0.001                            ,ROSE ,4.8802962032,\"3,050,185,127.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-06,ROSNEFT OIL CO                     ,RU,International Main Market,Standard GDRs,US67812M1080,GDR EACH REPR 1 ORD '144A'              ,40XT,38202.6640968441,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n19-Jul-06,ROSNEFT OIL CO                     ,RU,International Main Market,Standard GDRs,US67812M2070,GDR EACH REPR 1 ORD 'REGS'              ,ROSN,38202.6640968441,\"9,597,430,705.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,ROSS GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002192606,GBP0.001                                ,RGP ,1.301225853,\"179,479,428.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-15,ROSSETI PJSC                       ,RU,International Main Market,Standard GDRs,US69343X2071,GDR EACH REPR 200 ORD REG S UNSPON      ,RSTI,0,0.00,Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Sep-15,ROSSETI PJSC                       ,RU,International Main Market,Standard GDRs,US69343X1081,GDR EACH REPR 200 SHS 144A UNSPON       ,MRSA,0,0.00,Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n29-Apr-14,ROSSLYN DATA TECHNOLOGIES PLC      ,GB,AIM,,GB00BKX5CP01,ORD GBP0.005                            ,RDT  ,7.19775233,\"75,765,814.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,ROSTELEKOM PJSC                    ,RU,Trading Only,,US7785291078,ADR EACH REPR 6 SHS LEVEL I             ,RKMD,0,\"7,526,453.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n30-Aug-05,ROTALA                             ,GB,AIM,,GB00B1Z2MP60,ORD GBP0.25                             ,ROL  ,29.06328035,\"44,712,739.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-68,ROTORK                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVFNZH21,ORD GBP0.005                            ,ROR ,1747.488327641,\"869,672,949.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-68,ROTORK                             ,GB,UK Main Market,Standard Shares,GB0007530149,9.5% CUM PRF GBP1                       ,76ID,1747.488327641,\"225,266.50\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-08,ROXI PETROLEUM PLC                 ,GB,AIM,,GB00B1W0VW36,ORD GBP0.01                             ,RXP  ,85.3641647,\"853,641,647.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007548133,11% CUM PRF GBP1                        ,91ID,23657.546763955,\"500,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,XS0121856859,NON CUM PRF GBP0.01                     ,59PQ,23657.546763955,\"200,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007548356,SER'A'NON CUM PRF USD0.01(BR)           ,93ID,23657.546763955,0.00,Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007592941,SER'B'NON CUM PRF US(0.01(BR)           ,01IE,23657.546763955,0.00,Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007548240,SER'A'NON CUM PRF USD0.01(REGD)         ,92ID,23657.546763955,\"8,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007592834,SER'B'NON CUM PRF USD0.01(REGD)         ,99ID,23657.546763955,\"8,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B7T77214,ORD GBP1                                ,RBS ,23657.546763955,\"11,740,717,997.00\",Financials,Banks,Banks,Banks,8355,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007595738,SER'C'NON CUM PRF USD0.01(REGD)         ,04IE,23657.546763955,\"16,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007548026,5.5% CUM PRF GBP1                       ,90ID,23657.546763955,\"400,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007611030,CATEGORY II NON-CUM PRF USD0.01(BR)     ,BL85,23657.546763955,0.00,Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0002213394,SER'1'NON CUM PRF USD0.01               ,91OT,23657.546763955,\"1,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007611147,CATEGORY II NON-CUM PRF USD0.01(RG)     ,BC35,23657.546763955,\"8,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0007610958,EXCH CAPITAL SECS SER'A'USD25(BR)       ,BL15,23657.546763955,\"8,000,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,XS0108763896,SER'1'NON CUM  PRF EUR0.01 (REG'S)      ,93OT,23657.546763955,\"750,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,EUR,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,XS0108764274,SER'1'NON CUM PRF EUR0.01 '144A'        ,94OT,23657.546763955,0.00,Financials,Banks,Banks,Banks,8355,MISL,STBL,EUR,,,,,,,,,,,,,,,,,,\r\n10-Jul-68,ROYAL BANK OF SCOTLAND GROUP PLC   ,GB,UK Main Market,Standard Debt,GB0002213840,SER'2'NON CUM PRF USD0.01               ,92OT,23657.546763955,\"500,000.00\",Financials,Banks,Banks,Banks,8355,MISL,STBL,USD,,,,,,,,,,,,,,,,,,\r\n20-Jul-05,ROYAL DUTCH SHELL                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B03MLX29,'A'ORD EUR0.07                          ,RDSA,153220.715397295,\"4,325,899,655.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-05,ROYAL DUTCH SHELL                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B03MM408,ORD EUR0.07 B                           ,RDSB,153220.715397295,\"3,745,486,731.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-13,ROYAL MAIL PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BDVZYZ77,ORD GBP0.01                             ,RMG ,5140,\"1,000,000,000.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Delivery Services,2771,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n28-May-93,RPC GROUP                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007197378,ORD GBP0.05                             ,RPC ,2827.00906631,\"325,317,499.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n10-Apr-95,RPS GROUP                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007594764,ORD GBP0.03                             ,RPS ,399.2688476325,\"219,077,557.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n13-Oct-93,RSA INSURANCE GROUP PLC            ,GB,UK Main Market,Standard Shares,GB0008631391,7.375% CUM IRRD PRF GBP1                ,RSAB,5211.168958817,\"125,000,000.00\",Financials,Insurance,Nonlife Insurance,Full Line Insurance,8532,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n13-Oct-93,RSA INSURANCE GROUP PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKKMKR23,ORD GBP1                                ,RSA ,5211.168958817,\"1,016,569,663.00\",Financials,Insurance,Nonlife Insurance,Full Line Insurance,8532,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-98,RTC GROUP PLC                      ,GB,AIM,,GB0002920121,ORD GBP0.01                             ,RTC  ,8.43535006,\"14,543,707.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-04,RUFFER INVESTMENT CO               ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B018CS46,RED PTG PREF SHS GBP0.0001              ,RICA,319.66813872,\"143,188,416.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jan-06,RURELEC                            ,GB,AIM,,GB00B01XPW41,ORD GBP0.02                             ,RUR  ,5.7952227565,\"565,387,586.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n11-Nov-03,RWS HLDGS                          ,GB,AIM,,GB00BVFCZV34,ORD GBP0.01                             ,RWS  ,558.8304435,\"215,764,650.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,AF50,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-98,RYANAIR HLDGS                      ,IE,International Main Market,Standard Shares,IE00BYTBXV33,ORD EUR0.006                            ,RYA ,13426.3446700534,\"1,319,320,802.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,SSMU,SMEU,EUR,,,,,,,,,,,,,,,,,,\r\n6-Oct-61,S & U                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007655037,ORD GBP0.125                            ,SUS ,284.264984355,\"11,876,197.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-61,S & U                              ,GB,UK Main Market,Standard Shares,GB0007655474,31.5% CUM PRF 12 1/2P                   ,47IE,284.264984355,\"3,600,756.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n6-Oct-61,S & U                              ,GB,UK Main Market,Standard Shares,GB0007655250,6% CUM PRF GBP1                         ,46IE,284.264984355,\"198,350.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-06,SABIEN TECHNOLOGY GROUP PLC        ,GB,AIM,,GB00B1FPCD38,ORD GBP0.005                            ,SNT  ,2.20024335,\"44,004,867.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Sep-08,SABLE MINING AFRICA LTD            ,VG,AIM,,VGG7762V1076,ORD NPV (DI)                            ,SBLM ,2.4918153165,\"1,107,473,474.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n8-Mar-99,SABMILLER                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004835483,ORD USD0.10                             ,SAB ,70039.74568236,\"1,592,536,282.00\",Consumer Goods,Food & Beverage,Beverages,Brewers,3533,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-11,SACOIL HLDGS LTD                   ,ZA,AIM,,ZAE000127460,NPV(DI)                                 ,SAC  ,30.3526939235,\"3,195,020,413.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-12,SACOVEN PLC                        ,JE,AIM,,JE00B7YH8W36,ORD GBP0.001                            ,SCN  ,7.50000125,\"6,000,001.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Apr-14,SAFECHARGE INTL GROUP LTD          ,GG,AIM,,GG00BYMK4250,ORD USD0.0001                           ,SCH  ,404.70662505,\"151,575,515.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-06,SAFELAND PLC                       ,GB,AIM,,GB0007667008,ORD GBP0.05                             ,SAF  ,8.4501325,\"16,900,265.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n10-Sep-15,SAFESTAY PLC                       ,GB,AIM,,GB00BKT0J702,ORD GBP0.01                             ,SSTY ,24.95171744,\"47,984,072.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Mar-07,SAFESTORE HLDGS PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1N7Z094,ORD GBP0.01                             ,SAFE,765.74038536,\"205,678,320.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-13,SAFESTYLE UK PLC                   ,JE,AIM,,JE00BGP63272,ORD GBP0.01                             ,SFE  ,229.581215325,\"82,806,570.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-14,SAGA PLC                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BLT1Y088,ORD GBP0.01                             ,SAGA,2461.84790181,\"1,118,005,405.00\",Consumer Services,Retail,General Retailers,Specialized Consumer Services,5377,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jun-13,SAGE GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B8C3BL03,ORD GBP0.01051948                       ,SGE ,8170.950158,\"1,127,027,608.00\",Technology,Technology,Software & Computer Services,Software,9537,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-07,SAGICOR FINANCIAL CORP LTD         ,BM,International Main Market,Standard Shares,BMG7777B1046,ORD USD0.01 DI                          ,SFI ,197.92118515,\"304,494,131.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-75,SAINSBURY(J)                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B019KW72,ORD GBP0.28 4/7                         ,SBRY,4531.802323203,\"1,885,893,601.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-87,SAINT-GOBAIN(COMPAGNIE DE)         ,FR,International Main Market,Standard Shares,FR0000125007,EUR4                                    ,COD ,11586.9017109257,\"345,851,068.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMU,SMEU,EUR,,,,,,,,,,,,,,,,,,\r\n2-Aug-11,SALT LAKE POTASH LTD               ,AU,AIM,,AU000000SO44,NPV (DI)                                ,SO4  ,37.80629587,\"133,827,596.00\",Oil & Gas,Oil & Gas,Alternative Energy,Alternative Fuels,587,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-16,SALVARX GROUP PLC                  ,IM,AIM,,IM00BZ4SS228,ORD GBP0.025                            ,SALV ,20.8771393775,\"72,933,238.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-95,SAMSUNG ELECTRONICS CO             ,KR,Trading Only,,US7960502018,GDR EACH REP 1/2 N/VTG PFD 144A/REG'S   ,SMSD,12019.7173182404,0.00,Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n28-Jun-95,SAMSUNG ELECTRONICS CO             ,KR,International Main Market,Standard GDRs,US7960508882,GDR EACH REP 1/2 KRW(REG'S'/144A) REGD  ,BC94,12019.7173182404,\"255,210.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n28-Jun-95,SAMSUNG ELECTRONICS CO             ,KR,International Main Market,Standard GDRs,US7960508882,GDR EACH REP 1/2 KRW5000(REG'S'/144A)   ,SMSN,12019.7173182404,\"21,822,454.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Consumer Electronics,3743,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n29-Sep-08,SAN LEON ENERGY PLC                ,IE,AIM,,IE00BWVFTP56,ORD EUR0.01                             ,SLE  ,31.36809389,\"61,809,052.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-96,SANCTUARY HOUSING                  ,GB,UK Main Market,Standard Debt,GB0007747149,8.375% 1ST MTG DEB STK 2031             ,BB21,0,\"110,000,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n16-Dec-04,SANDERSON GROUP                    ,GB,AIM,,GB00B04X1Q77,ORD GBP0.1                              ,SND  ,39.219169275,\"54,851,985.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-14,SANDITON INVESTMENT TRUST PLC      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BMPHJ807,ORD GBP0.01                             ,SIT ,53.75,\"50,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-15,SANNE GROUP PLC                    ,JE,UK Main Market,Premium Equity Commercial Companies,JE00BVRZ8S85,ORD GBP0.01                             ,SNN ,510.98,\"116,000,000.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-89,SANTANDER UK PLC                   ,GB,UK Main Market,Standard Debt,XS0060837068,10 1/16% EXCH CAP SEC GBP1000(BR)       ,BB08,0,\"200,000,000.00\",,,,,8,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Jul-89,SANTANDER UK PLC                   ,GB,UK Main Market,Standard Debt,GB0000272145,10 1/16% EXCH CAP SEC GBP1000(RG)       ,BB34,0,0.00,,,,,8,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n11-Oct-04,SAREUM HLDGS PLC                   ,GB,AIM,,GB00B02RFS12,ORD GBP0.00025                          ,SAR  ,19.177873913,\"2,645,223,988.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-15,SATELLITE SOLUTIONS WRLDWIDE GRP   ,GB,AIM,,GB00BT6SRD21,ORD GBP0.01                             ,SAT  ,38.8727396275,\"536,175,719.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-14,SAVANNAH PETROLEUM PLC             ,GB,AIM,,GB00BP41S218,ORD GBP0.001                            ,SAVP ,84.4460949525,\"274,621,447.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-10,SAVANNAH RESOURCES PLC             ,GB,AIM,,GB00B647W791,ORD GBP0.01                             ,SAV  ,16.750441575,\"413,591,150.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-06,SAVILLS                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B135BJ46,ORD GBP0.025                            ,SVS ,1014.5289592,\"137,098,508.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Services,8637,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-11,SBERBANK OF RUSSIA                 ,RU,International Main Market,Standard GDRs,US80585Y3080,ADR EACH REPR 4 ORD SHS(SPONS)          ,SBER,37701.0078028877,\"5,396,737,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n1-Jul-11,SBERBANK OF RUSSIA                 ,RU,International Main Market,Standard GDRs,US80585Y4070,GDR EACH REP 4 ORD 144A                 ,38LF,37701.0078028877,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n30-Jul-10,SCANCELL HLDGS PLC                 ,GB,AIM,,GB00B63D3314,ORD GBP0.001                            ,SCLP ,47.71769246,\"261,466,808.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Aug-06,SCAPA GROUP PLC                    ,GB,AIM,,GB0007281198,ORD GBP0.05                             ,SCPA ,353.57888918,\"146,106,979.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n29-Apr-63,SCHLUMBERGER                       ,CW,International Main Market,Standard Shares,AN8068571086,USD0.01                                 ,SCL ,86436.4966176853,\"1,434,212,164.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,SSX3,SQSL,USD,,,,,,,,,,,,,,,,,,\r\n28-Mar-14,SCHOLIUM GROUP PLC                 ,GB,AIM,,GB00BJYS2173,ORD GBP0.01                             ,SCHO ,4.896,\"13,600,000.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n20-Nov-95,SCHRODER ASIA PACIFIC FUND         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007918872,ORD GBP0.10                             ,SDP ,467.11153776,\"139,021,291.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-15,SCHRODER EURPN REAL EST INV TST LTD,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BY7R8K77,ORD GBP0.10                             ,SERE,147.96124035,\"120,784,686.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-95,SCHRODER INCOME GROWTH FUND        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007915860,ORD GBP0.10                             ,SCF ,176.71850191,\"68,762,063.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-94,SCHRODER JAPAN GROWTH FUND         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008022849,ORD GBP0.10                             ,SJG ,201.25,\"125,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-05,SCHRODER ORIENTAL INCOME FUND      ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0CRWN59,ORD GBP0.01                             ,SOI ,493.87659363,\"219,989,574.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-04,SCHRODER REAL ESTATE INVEST TST LT ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B01HM147,ORD SHS NPV                             ,SREI,300.73777722,\"518,513,409.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-94,SCHRODER UK GROWTH FUND            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007913485,ORD GBP0.25                             ,SDU ,253.071664,\"158,169,790.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-83,SCHRODER UK MID CAP FD PLC         ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006108418,ORD GBP0.25                             ,SCP ,157.40576995,\"36,143,690.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-59,SCHRODERS PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002405495,VTG SHS GBP1                            ,SDR ,7426.8106896,\"226,022,400.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n30-Sep-59,SCHRODERS PLC                      ,GB,UK Main Market,Standard Shares,GB0002395811,NON VTG ORD GBP1                        ,SDRC,7426.8106896,\"54,535,917.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-08,SCIENCE GROUP PLC                  ,GB,AIM,,GB00B39GTJ17,ORD GBP0.01                             ,SAG  ,54.732396,\"37,746,480.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n9-Aug-13,SCIENCE IN SPORT PLC               ,GB,AIM,,GB00BBPV5329,ORD GBP0.1                              ,SIS  ,32.63526005,\"45,965,155.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-08,SCIENTIFIC DIGITAL IMAGING PLC     ,GB,AIM,,GB00B3FBWW43,ORD GBP0.01                             ,SDI  ,8.819908485,\"63,566,908.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Sep-97,SCISYS PLC                         ,GB,AIM,,GB0001520757,ORD GBP0.25                             ,SSY  ,26.784480375,\"28,956,195.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Feb-10,SCOTGOLD RESOURCES LTD             ,AU,AIM,,AU000000SGZ9,NPV (DI)                                ,SGZ  ,8.57727098325,\"1,106,744,643.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-53,SCOTTISH AMERICAN INVESTMENT CO    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007873697,ORD GBP0.25                             ,SCAM,396.02831957,\"132,450,943.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-53,SCOTTISH AMERICAN INVESTMENT CO    ,GB,UK Main Market,Standard Debt,GB0007785453,8% DEB STK 2022                         ,01KG,396.02831957,\"80,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Aug-52,SCOTTISH INVESTMENT TRUST          ,GB,UK Main Market,Standard Debt,GB0007826653,4.25% PERP DEB STK                      ,45IF,690.860982,\"700,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Aug-52,SCOTTISH INVESTMENT TRUST          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007826091,ORD GBP0.25                             ,SCIN,690.860982,\"98,694,426.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-Aug-52,SCOTTISH INVESTMENT TRUST          ,GB,UK Main Market,Standard Debt,GB0007826547,5% PERP DEB STK                         ,44IF,690.860982,\"1,009,490.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Aug-52,SCOTTISH INVESTMENT TRUST          ,GB,UK Main Market,Standard Debt,GB0007826323,4% PERP DEB STK                         ,42IF,690.860982,\"350,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n27-Jun-86,SCOTTISH MORTGAGE INVESTMENT TST   ,GB,UK Main Market,Standard Debt,GB0007837650,4 1/2% IRRD DEB STK                     ,50IF,3776.130531075,\"675,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n27-Jun-86,SCOTTISH MORTGAGE INVESTMENT TST   ,GB,UK Main Market,Standard Debt,GB0007867426,12% STEPPED INT DEB STK 2026            ,82JS,3776.130531075,\"50,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n27-Jun-86,SCOTTISH MORTGAGE INVESTMENT TST   ,GB,UK Main Market,Standard Debt,GB0007837767,8%-14% STEPPED INT DEB STK 2020         ,51IF,3776.130531075,\"20,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n27-Jun-86,SCOTTISH MORTGAGE INVESTMENT TST   ,GB,UK Main Market,Standard Debt,GB0002360989,6.875% DEB STK 2023                     ,BD78,3776.130531075,\"75,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n27-Jun-86,SCOTTISH MORTGAGE INVESTMENT TST   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BLDYK618,ORD GBP0.05                             ,SMT ,3776.130531075,\"1,220,074,485.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-95,SCOTTISH ORIENTAL SMALLER COS TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007836132,ORD GBP0.25                             ,SST ,295.2711609925,\"32,635,663.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jan-15,SCS GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BRF0TJ56,ORD GBP0.001                            ,SCS ,75.75,\"40,000,000.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n7-Dec-99,SDL                                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009376368,ORD GBP0.01                             ,SDL ,361.1488705275,\"80,568,627.00\",Technology,Technology,Software & Computer Services,Software,9537,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n20-May-16,SDX ENERGY INC                     ,CA,AIM,,CA78410A1075,NPV (DI)                                ,SDX  ,19.362146235,\"79,843,902.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-15,SEALAND CAPITAL GALAXY LTD         ,KY,International Main Market,,KYG7948E1026,ORD GBP0.0001 DI                        ,SCGL,0,\"30,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-16,SEC SPA                            ,IT,AIM,,IT0005200453,ORD NPV(CDI)                            ,SECG ,18.760731625,\"12,221,975.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jun-14,SECURE INCOME REIT PLC             ,GB,AIM,,GB00BLMQ9L68,ORD GBP0.1                              ,SIR  ,484.22413941,\"180,344,186.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-07,SECURE PROPERTY DEV & INV PLC      ,CY,AIM,,CY0102102213,ORD EUR0.01 (DI)                        ,SPDI ,14.40235584,\"90,014,724.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-11,SECURE TRUST BANK PLC              ,GB,AIM,,GB00B6TKHP66,ORD GBP0.40                             ,STB  ,403.13237104,\"18,191,894.00\",Financials,Banks,Banks,Banks,8355,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jun-05,SECURITIES TRUST OF SCOTLAND.      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B09G3N23,RED ORD GBP0.01                         ,STS ,161.9370782,\"106,188,248.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Dec-05,SEEING MACHINES                    ,AU,AIM,,AU0000XINAJ0,ORD NPV                                 ,SEE  ,48.12949644,\"1,203,237,411.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Dec-49,SEGRO PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B5ZN1N88,ORD GBP0.10                             ,SGRO,3409.130819204,\"752,235,397.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-96,SENECA GLOBAL INCOME & GROWTH TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008769993,ORD GBP0.25                             ,SIGT,61.5401368425,\"39,896,361.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Feb-47,SENIOR PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007958233,GBP0.10                                 ,SNR ,974.083400985,\"412,572,385.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Aerospace,2713,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n10-Nov-15,SENTERRA ENERGY PLC                ,GB,UK Main Market,,GB00BYX0MB92,ORD GBP0.01                             ,SEN ,0,\"27,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Apr-14,SEPLAT PETROLEUM DEVT CO PLC       ,NG,International Main Market,Standard Shares,NGSEPLAT0008,ORD NGN0.5 (DI)                         ,SEPL,414.98273475,\"553,310,313.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,SEPURA PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1ZBLD47,ORD GBP0.0005                           ,SEPU,177.60549702,\"362,460,198.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-15,SEQUOIA ECONOMIC INFRAST INC FD LTD,GG,UK Main Market,Standard Shares,GG00BYTNQV04,ORD NPV C                               ,SEQC,529.5659105,\"175,171,834.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n3-Mar-15,SEQUOIA ECONOMIC INFRAST INC FD LTD,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BV54HY67,ORD NPV                                 ,SEQI,529.5659105,\"302,771,724.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-May-05,SERABI GOLD PLC                    ,GB,AIM,,GB00B4T0YL77,ORD GBP 0.005                           ,SRB  ,36.68184303,\"698,701,772.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-May-88,SERCO GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007973794,ORD GBP0.02                             ,SRP ,1406.92432768,\"1,099,159,631.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-05,SERICA ENERGY                      ,GB,AIM,,GB00B0CY5V57,ORD USD0.10                             ,SQZ  ,40.5406524,\"263,679,040.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM8,GBX,,,,,,,,,,,,,,,,,,\r\n2-Dec-13,SERVELEC GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BFRBTP86,ORD GBP0.18                             ,SERV,191.8971647275,\"68,351,617.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n26-Sep-08,SERVICEPOWER TECHNOLOGIES PLC      ,GB,AIM,,GB0003831095,ORD GBP0.01                             ,SVR  ,6.51170406,\"217,056,802.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Dec-04,SERVISION                          ,GB,AIM,,GB00B0586C20,ORD GBP0.01                             ,SEV  ,2.88262943625,\"121,373,871.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-07,SERVOCA PLC                        ,GB,AIM,,GB00B1XHM086,ORD GBP0.01                             ,SVCA ,28.254589425,\"125,575,953.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-95,SEVERFIELD PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B27YGJ97,ORD GBP0.025                            ,SFR ,49.17737118,\"88,607,876.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-89,SEVERN TRENT PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1FH8J72,ORD GBP0.9789                           ,SVT ,5555.54525154,\"233,328,234.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n14-Nov-06,SEVERSTAL PJSC                     ,RU,International Main Market,Standard GDRs,US8181501045,GDR EACH REPR 1 ORD '144A'              ,50AW,7511.5060639353,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n14-Nov-06,SEVERSTAL PJSC                     ,RU,International Main Market,Standard GDRs,US8181503025,GDR EACH REPR 1 ORD SHARE'REGS'         ,SVST,7511.5060639353,\"837,718,660.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n20-Oct-87,SHAFTESBURY PLC                    ,GB,UK Main Market,Standard Debt,GB0007991150,8.5% 1ST MTG DEB STK 31/3/24            ,09IG,2690.44197615,\"132,000,000.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n20-Oct-87,SHAFTESBURY PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007990962,ORD GBP0.25                             ,SHB ,2690.44197615,\"278,081,858.00\",Financials,Real Estate,Real Estate Investment Trusts,Retail REITs,8672,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Feb-88,SHANKS GROUP                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007995243,ORD GBP0.10                             ,SKS ,406.7786423,\"396,857,212.00\",Industrials,Industrial Goods & Services,Support Services,Waste & Disposal Services,2799,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-05,SHANTA GOLD LTD                    ,GG,AIM,,GB00B0CGR828,ORD GBP0.0001                           ,SHG  ,47.026720785,\"561,513,084.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-May-08,SHARE PLC                          ,GB,AIM,,GB0001977866,ORD GBP0.005                            ,SHRE ,41.40903243,\"142,789,767.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Apr-15,SHAWBROOK GROUP PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BWDPMF43,ORD GBP0.01                             ,SHAW,576.25,\"250,000,000.00\",Financials,Banks,Banks,Banks,8355,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-13,SHERBORNE INVESTORS(GUERNSEY) B LTD,GG,UK Main Market,,GG00B883XC99,ORD NPV A                               ,SIGB,247.365,\"207,000,000.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-16,SHIELD THERAPEUTICS PLC            ,GB,AIM,,GB00BD97Z526,WTS  (TO SUB FOR ORD)                   ,STXW ,173.11327812,\"11,666,658.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-16,SHIELD THERAPEUTICS PLC            ,GB,AIM,,GB00BYV81293,ORD GBP0.015                            ,STX  ,173.11327812,\"108,135,416.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-09,SHIN KONG FINANCIAL HLDG CO        ,TW,Trading Only,,US82455T2033,GDR EACH REP 25 ORD REG'S               ,SKFS,0,\"42,088,000.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n23-May-08,SHIRE PLC                          ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B2QKY057,ORD GBP0.05                             ,SHP ,42924.37048641,\"901,583,081.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jan-72,SHIRES INCOME                      ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008052507,ORD GBP0.50                             ,SHRS,66.748,\"29,600,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-14,SHOE ZONE PLC                      ,GB,AIM,,GB00BLTVCF91,ORD GBP0.01                             ,SHOE ,87.5,\"50,000,000.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-10,SHORE CAPITAL GROUP LTD            ,GG,AIM,,GG00BGCZJ741,ORD NPV                                 ,SGR  ,54.9731,\"24,164,000.00\",Financials,Financial Services,Financial Services,Investment Services,8777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Aug-05,SIERRA RUTILE LTD                  ,VG,AIM,,VGG812641063,COM NPV                                 ,SRX  ,199.527607685,\"574,180,166.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-89,SIG                                ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008025412,ORD GBP0.10                             ,SHI ,739.107304443,\"590,813,193.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-00,SIGMA CAPITAL GROUP PLC            ,GB,AIM,,GB0004225073,ORD GBP0.01                             ,SGM  ,81.38573634,\"91,961,284.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-05,SIGMAROC PLC                       ,GB,AIM,,GB00BDBY9264,ORD GBP0.001                            ,SRC  ,1.082222972,\"270,555,743.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jan-10,SILENCE THERAPEUTICS PLC           ,GB,AIM,,GB00B9GTXM62,ORD GBP0.05                             ,SLN  ,74.33872956,\"69,801,624.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-15,SILVER FALCON PLC                  ,GB,UK Main Market,,GB00BYX3WZ24,GBP0.01                                 ,SILF,0,\"64,900,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-06,SIMIGON LTD                        ,IL,AIM,,IL0010991185,ORD ILS0.01 (DI)                        ,SIM  ,10.963527895,\"50,993,153.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jun-11,SINCLAIR PHARMA PLC                ,GB,AIM,,GB0033856740,GBP0.01                                 ,SPH  ,152.34651005,\"497,457,992.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n1-Aug-05,SIRIUS MINERALS PLC                ,GB,AIM,,GB00B0DG3H29,ORD GBP0.0025                           ,SXX  ,926.507481075,\"2,246,078,742.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AMSM,AE50,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-11,SIRIUS PETROLEUM PLC               ,GB,AIM,,GB00B03VVN93,ORD GBP0.0025                           ,SRSP ,8.15883616125,\"2,175,689,643.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-May-07,SIRIUS REAL ESTATE LD              ,GG,AIM,,GG00B1W3VF54,ORD NPV                                 ,SRE  ,359.526000829857,\"831,254,467.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,EUR,,,,,,,,,,,,,,,,,,\r\n14-Feb-05,SISTEMA PJSFC                      ,RU,International Main Market,Standard GDRs,US48122U1051,GDR EACH REPR 20 ORD'144A'              ,SSAA,3120.73849349999,\"11,945,000.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n14-Feb-05,SISTEMA PJSFC                      ,RU,International Main Market,Standard GDRs,US48122U2042,GDR EACH REPR 20 ORD REG'S'             ,SSA ,3120.73849349999,\"482,500,000.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n3-Apr-95,SK TELECOM                         ,KR,International Main Market,Standard GDRs,US78440P1084,ADR EACH REP 1/9 KRW500(CIT)SPONS       ,SKMD,989.517988150098,\"56,970,090.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n7-Oct-10,SKIL PORTS & LOGISTICS LTD         ,GG,AIM,,GG00B53M7D91,ORD NPV                                 ,SPL  ,10.34,\"44,000,000.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-92,SKIPTON BUILDING SOCIETY           ,GB,UK Main Market,Standard Debt,GB0004440623,8.50% PERM INT BEARING SHS              ,SBSA,0,\"15,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n3-Aug-92,SKIPTON BUILDING SOCIETY           ,GB,UK Main Market,Standard Debt,GB0008194119,12.875% PERM INT BEARING SHS GBP1000 RG ,SKIP,0,\"25,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n15-Dec-94,SKY PLC                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001411924,ORD GBP0.50                             ,SKY ,14727.94785531,\"1,734,740,619.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-05,SLINGSBY(H.C.)                     ,GB,AIM,,GB0008138009,ORD GBP0.25                             ,SLNG ,1.25,\"1,000,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-11,SMART METERING SYSTEMS PLC         ,GB,AIM,,GB00B4X1RC86,ORD GBP0.01                             ,SMS  ,459.937178175,\"86,373,179.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,SMART(J.)& CO(CONTRACTORS)         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B76BK617,ORD GBP0.02                             ,SMJ ,47.338400125,\"46,183,805.00\",Industrials,Construction & Materials,Construction & Materials,Heavy Construction,2357,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Sep-15,SME LOAN FUND PLC(THE)             ,GB,UK Main Market,,GB00BYMK5S87,ORD GBP0.01                             ,SMEF,100.102165,\"105,370,700.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,GBX,,,,,,,,,,,,,,,,,,\r\n13-Aug-51,SMITH & NEPHEW                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009223206,ORD USD0.20                             ,SN. ,10621.55636345,\"864,243,805.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jul-12,SMITH(DS)                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008220112,ORD GBP0.10                             ,SMDS,3786.697519645,\"926,976,137.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Dec-50,SMITHS GROUP                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1WY2338,ORD GBP0.375                            ,SMIN,5265.55309995,\"392,658,695.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-07,SMURFIT KAPPA GROUP PLC            ,IE,International Main Market,Premium Equity Commercial Companies,IE00B1RR8406,ORD EUR0.001                            ,SKG ,4195.94295055,\"222,596,443.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n1-May-12,SNOOZEBOX HLDGS PLC                ,GB,AIM,,GB00B7D66J40,ORD GBP0.01                             ,ZZZ  ,2.11049500805,\"295,174,127.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-14,SOCIETATEA ENERGETICA ELECTRICA SA ,RO,International Main Market,Standard GDRs,US83367Y2072,GDR EACH REPR 4 SHS REG S               ,ELSA,465.701454891574,\"44,297,186.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n12-Nov-13,SOCIETATEA NATL DE GAZE N ROMGAZ SA,RO,International Main Market,Standard GDRs,US83367U1060,GDR EACH REPR 1 SHARE SPON 144A         ,SNG1,173.237270733119,0.00,Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n12-Nov-13,SOCIETATEA NATL DE GAZE N ROMGAZ SA,RO,International Main Market,Standard GDRs,US83367U2050,GDR EACH REPR 1 SHARE SPON REGS         ,SNGR,173.237270733119,\"38,542,240.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n29-May-97,SOCO INTERNATIONAL                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B572ZV91,ORD GBP0.05                             ,SIA ,485.3043687375,\"331,832,047.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSMM,SSC1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-15,SOFTCAT PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYZDVK82,ORD GBP0.0005                           ,SCT ,652.427302615,\"197,406,143.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Feb-06,SOLGOLD PLC                        ,GB,AIM,,GB00B0WD0R35,ORD GBP0.01                             ,SOLG ,78.6500735,\"1,084,828,600.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-96,SOLID STATE PLC                    ,GB,AIM,,GB0008237132,ORD GBP0.05                             ,SSP  ,31.4519779,\"8,443,484.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-96,SOLIDERE                           ,LB,International Main Market,Standard GDRs,US5223861015,GDS EACH REP 1 USD10'A'(144A)           ,BQ30,67.6724705999998,0.00,,,,,8733,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n4-Dec-96,SOLIDERE                           ,LB,International Main Market,Standard GDRs,US5223862005,GDS EACH REP 1 USD10'A'(REG S)          ,SLED,67.6724705999998,\"9,870,000.00\",,,,,8733,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n12-Apr-07,SOLO OIL PLC                       ,GB,AIM,,GB00B1TYBN97,ORD GBP0.0001                           ,SOLO ,16.74825462735,\"5,876,580,571.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-06,SOMERO ENTERPRISE INC              ,US,AIM,,USU834501038,USD0.001(DI)                            ,SOM  ,89.0550549,\"56,542,892.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Sep-96,SOPHEON                            ,GB,AIM,,GB00BSZM1369,ORD GBP0.20                             ,SPE  ,22.40521875,\"7,286,250.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-15,SOPHOS GROUP PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYZFZ918,ORD GBP0.03                             ,SOPH,1132.2,\"450,000,000.00\",Technology,Technology,Software & Computer Services,Software,9537,STMM,F25T,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-06,SOUND ENERGY PLC                   ,GB,AIM,,GB00B90XFF12,ORD GBP0.01                             ,SOU  ,313.57570802,\"505,767,271.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Nov-89,SOURCE BIOSCIENCE PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009739649,ORD GBP0.02                             ,SBS ,61.841838155,\"348,404,722.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-09,SOURCE MARKETS PLC                 ,IE,International Main Market,,IE00B60SWV01,FTSE 250 UCITS ETF A GBP                ,S250,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-09,SOURCE MARKETS PLC                 ,IE,International Main Market,,IE00B60SWT88,FTSE 100 UCITS ETF A GBP                ,S100,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,GBX,,,,,,,,,,,,,,,,,,\r\n7-Sep-09,SOURCE MARKETS PLC                 ,IE,International Main Market,,IE00B5NDLN01,RDX UCITS ETF A USD                     ,RDXS,0,0.00,Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,ETFS,ETEU,USD,,,,,,,,,,,,,,,,,,\r\n26-Oct-06,SOUTH AFRICAN PROPERTY OPPS PLC    ,IM,AIM,,GB00B16GQJ90,ORD GBP0.01                             ,SAPO ,4.04903265,\"62,292,810.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0009518852,4% PERP DEB STK(FMLY WEST KENT)         ,55IP,0,\"13,500.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005895437,10% RED DEB STK 2013/17                 ,56HO,0,\"3,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005882278,4% PERP DEB STK                         ,49HO,0,\"21,900.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005882492,5% PERP DEB STK                         ,50HO,0,\"22,100.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005886147,11% RED DEB STK 2012/16                 ,52HO,0,\"3,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0009519595,3 1/2% PERP DEB STK(FMLY WEST KENT)     ,80NI,0,\"40,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005888077,5 1/2% PERP DEB STK(FMLY MID SOUTHERN)  ,82NI,0,\"3,525.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0003007779,4% IRRD DEB(FMLY EASTBOURNE)            ,84NI,0,\"5,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005884654,3 1/2% PERP DEB STK(FMLY MID SOUTHERN)  ,51HO,0,\"320,476.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005887889,5% PERP DEB STK(FMLY MID SOUTHERN)      ,53HO,0,\"179,939.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005888291,6% PERP DEB STK(FMLY MID SOUTHERN)      ,83NI,0,\"61,556.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n12-Sep-86,SOUTH EAST WATER                   ,GB,UK Main Market,Standard Debt,GB0005888416,4% PERP DEB STK(FMLY MID SOUTHERN)      ,81NI,0,\"47,155.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,SOUTH STAFFORDSHIRE WATER          ,GB,UK Main Market,Standard Debt,GB0008267675,4% PERM DEB STK                         ,42IH,0,\"627,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,SOUTH STAFFORDSHIRE WATER          ,GB,UK Main Market,Standard Debt,GB0008267899,5% PERM DEB STK                         ,43IH,0,\"500,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n28-Jun-02,SOUTH STAFFORDSHIRE WATER          ,GB,UK Main Market,Standard Debt,GB0008268640,3 1/2% PERM DEB STK                     ,44IH,0,\"476,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n26-May-15,SOUTH32 LTD                        ,AU,International Main Market,Standard Shares,AU000000S320,ORD NPV (DI)                            ,S32 ,5856.1391911,\"5,323,762,901.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Aluminum,1753,SSMU,SMEU,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-11,SOVEREIGN MINES OF AFRICA PLC      ,GB,AIM,,GB00B3P3XP06,ORD GBP0.0001                           ,SMA  ,3.2282214375,\"860,859,050.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n31-Dec-04,SPACEANDPEOPLE                     ,GB,AIM,,GB00B058DS79,ORD GBP0.01                             ,SAL  ,7.22012265,\"19,513,845.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jul-04,SPECIALIST INVESTMENT PROP PLC     ,IM,AIM,,IM00BZ97VJ22,ORD GBP0.01                             ,SIPP ,0.4546565925,\"2,491,269.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Hotels,5753,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-11,SPECTRA SYSTEMS CORP               ,US,AIM,,US84756T1060,ORD USD0.01                             ,SPSY ,11.5752999475,\"45,251,370.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASX1,AIMP,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-11,SPECTRA SYSTEMS CORP               ,US,AIM,,USU8457D1091,ORD USD0.01 DI REG S                    ,SPSC ,11.5752999475,\"4,640,894.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n29-Nov-88,SPECTRIS                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003308607,ORD GBP0.05                             ,SXS ,2270.7212352,\"117,289,320.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-93,SPEEDY HIRE                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0000163088,ORD GBP0.05                             ,SDY ,198.053148825,\"517,786,010.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-11,SPHERE MEDICAL HLDG PLC            ,GB,AIM,,GB00B551W951,ORD GBP0.01                             ,SPHR ,15.41616858,\"141,757,872.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n3-Jun-13,SPIRAX-SARCO ENGINEERING           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BWFGQN14,ORD GBP0.269230769                      ,SPX ,3177.2486823,\"73,309,845.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-14,SPIRE HEALTHCARE GROUP PLC         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BNLPYF73,ORD GBP0.01                             ,SPI ,1398.971891808,\"401,081,391.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-55,SPIRENT COMMUNICATIONS             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004726096,ORD GBP0.03333                          ,SPT ,521.2578896,\"613,244,576.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-07,SPITFIRE OIL LTD                   ,BM,AIM,,BMG836741048,ORD USD0.0005 (DI)                      ,SRO  ,0.80887503125,\"25,884,001.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Dec-07,SPORTECH                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B28ZPV64,ORD GBP0.50                             ,SPO ,135.19100536,\"198,810,302.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-07,SPORTS DIRECT INTL PLC             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1QH8P22,ORD GBP0.10                             ,SPD ,1773.767807718,\"596,625,566.00\",Consumer Services,Retail,General Retailers,Apparel Retailers,5371,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Apr-14,SPRUE AEGIS                        ,GB,AIM,,GB0030508757,GBP0.02                                 ,SPRP ,74.514968125,\"45,855,365.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-14,SQN ASSET FINANCE INCOME FUND LTD  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BN56JF17,ORD NPV                                 ,SQN ,400.688405515,\"178,985,507.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-14,SQN ASSET FINANCE INCOME FUND LTD  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BZ184P04,ORD RED NPV C                           ,SQNC,400.688405515,\"180,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n20-Sep-05,SQS SOFTWARE QUALITY SYSTEMS AG    ,DE,AIM,,DE0005493514,ORD EUR1                                ,SQS  ,174.53264967,\"31,675,617.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n2-Nov-05,SRT MARINE SYSTEMS PLC             ,GB,AIM,,GB00B0M8KM36,ORD GBP0.001                            ,SRT  ,63.04484005,\"127,685,752.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jun-91,SSE PLC                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007908733,ORD GBP0.50                             ,SSE ,15263.19287808,\"1,014,839,952.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-14,SSP GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BNGWY422,ORD GBP0.01                             ,SSPG,1548.024850086,\"474,999,954.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-85,ST IVES PLC                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007689002,ORD GBP0.10                             ,SIV ,163.465095975,\"134,816,574.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-96,ST JAMES'S PLACE PLC               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007669376,ORD GBP0.15                             ,STJ ,4914.35760536,\"500,443,748.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-98,ST LAWRENCE & OTTAWA RAILWAY CO    ,CA,International Main Market,Standard Debt,GB0007691073,4% STLG 1ST MTG BDS(BR)                 ,62IE,0,\"200,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n16-Apr-07,ST PETER PORT CAPITAL LTD          ,GG,AIM,,GG00B1V4NS68,ORD NPV                                 ,SPPC ,8.712909875,\"69,703,279.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Apr-86,ST.MODWEN PROPERTIES               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007291015,ORD GBP0.10                             ,SMP ,635.011939656,\"221,876,988.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jul-01,STADIUM GROUP PLC                  ,GB,AIM,,GB0008375098,ORD GBP0.05                             ,SDM  ,29.20544396,\"37,929,148.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-04,STAFFLINE GROUP PLC                ,GB,AIM,,GB00B040L800,ORD GBP0.10                             ,STAF ,281.54924652,\"27,388,059.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n19-Oct-98,STAGECOACH GROUP                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B6YTLS95,ORD GBP0.0054824                        ,SGC ,1303.24001256,\"572,601,060.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-70,STANDARD CHARTERED                 ,GB,UK Main Market,Standard Debt,GB0008401324,7.375% NON-CUM IRRD PRF GBP1            ,STAB,16094.86559862,\"96,035,000.00\",Financials,Banks,Banks,Banks,8355,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-70,STANDARD CHARTERED                 ,GB,UK Main Market,Standard Debt,GB0008399700,8.25% NON-CUM IRRD PRF GBP1             ,STAC,16094.86559862,\"99,250,000.00\",Financials,Banks,Banks,Banks,8355,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n2-Feb-70,STANDARD CHARTERED                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0004082847,ORD USD0.50                             ,STAN,16094.86559862,\"2,506,988,411.00\",Financials,Banks,Banks,Banks,8355,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n14-Nov-91,STANDARD LIFE EQUITY INCOME TST    ,GB,UK Main Market,Standard Shares,GB00B3NWXM64,SUBSCRIPTION SHS GBP0.0001              ,SLES,174.12920510875,\"7,948,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n14-Nov-91,STANDARD LIFE EQUITY INCOME TST    ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0006039597,ORD GBP 0.25                            ,SLET,174.12920510875,\"41,009,753.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-01,STANDARD LIFE EUROPN PRIVT EQTY TST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0030474687,ORD GBP0.002                            ,SEP ,385.41752912,\"155,410,294.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-03,STANDARD LIFE INVEST PROP INC TRUST,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0033875286,ORD GBP0.01                             ,SLI ,290.459182505,\"359,701,774.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n10-Jul-06,STANDARD LIFE PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BVFD7Q58,ORD GBP0.1222222                        ,SL. ,7177.170114855,\"1,969,045,299.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n19-Aug-93,STANDARD LIFE UK SMALLER CO TRUST  ,GB,UK Main Market,Standard Debt,GB00B3YX0W77,3.5% CNV UNSEC LOAN STK 31/03/18 GBP1   ,SLSC,225.88570752,\"25,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n19-Aug-93,STANDARD LIFE UK SMALLER CO TRUST  ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0002959582,ORD GBP0.25                             ,SLS ,225.88570752,\"64,172,076.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Sep-00,STANLEY GIBBONS GROUP PLC          ,JE,AIM,,GB0009628438,ORD GBP0.01                             ,SGI  ,25.3398095625,\"177,823,225.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Feb-13,STARCOM PLC                        ,JE,AIM,,JE00B8WSDY21,ORD NPV                                 ,STAR ,5.6126725425,\"154,832,346.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Sep-00,STARVEST                           ,GB,AIM,,GB0009619817,ORD GBP0.01                             ,SVE  ,0.78436892,\"39,218,446.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-12,STARWOOD EUROPEAN REAL EST FIN LTD ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B79WC100,ORD NPV                                 ,SWEF,896.008754355,\"835,439,398.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Oct-96,STATE BANK OF INDIA                ,IN,PSM,Standard GDRs,US8565522039,GDR-EACH REPR 10 EQT SHS INR1(REG S)    ,SBID,0,\"26,145,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n11-Oct-96,STATE BANK OF INDIA                ,IN,PSM,Standard GDRs,US8565521049,GDR-EACH REPR 10 EQT SHS OF INR1(144A)  ,SBIA,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n16-Jun-03,STATPRO GROUP                      ,GB,AIM,,GB0006300213,ORD GBP0.01                             ,SOG  ,68.897583,\"67,546,650.00\",Technology,Technology,Software & Computer Services,Software,9537,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-96,STEEL AUTHORITY OF INDIA           ,IN,PSM,Standard GDRs,US8580552052,GDR EACH REP 15 INR10(REG'S')(CIT)      ,SAUD,44.0357861879999,\"9,633,900.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n15-Mar-96,STEEL AUTHORITY OF INDIA           ,IN,PSM,Standard GDRs,US8580551062,GDR EACH REP 15 INR10(144A)(CIT)        ,SAUA,44.0357861879999,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n22-Feb-10,STELLAR DIAMONDS PLC               ,GB,AIM,,GB00BYZ5QT80,ORD GBP0.01                             ,STEL ,0,\"37,802,476.00\",Basic Materials,Basic Resources,Mining,Diamonds & Gemstones,1773,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Dec-00,STELLAR RESOURCES PLC              ,GB,AIM,,GB0002673332,ORD GBP0.0001                           ,STG  ,2.11489629215,\"1,458,549,167.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Sep-05,STEPPE CEMENT                      ,MY,AIM,,MYA004433001,ORD NPV                                 ,STCM ,52.56,\"219,000,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Oct-02,STERLING ENERGY                    ,GB,AIM,,GB00B4X3Q493,ORD GBP0.40                             ,SEY  ,32.1828273,\"220,053,520.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-60,STEWART & WIGHT                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008556192,ORD GBP0.05                             ,STE ,7.60100245,\"1,567,217.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-05,STHREE PLC                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B0KM9T71,ORD GBP0.01                             ,STHR,288.78886296,\"116,918,568.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n12-Sep-49,STILFONTEIN GOLD MINING CO         ,ZA,International Main Market,,ZAE000007118,ZAR0.50                                 ,STIL,0,\"13,062,920.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n30-Aug-00,STILO INTERNATIONAL                ,GB,AIM,,GB0009597484,ORD GBP0.01                             ,STL  ,8.7846776,\"109,808,470.00\",Technology,Technology,Software & Computer Services,Internet,9535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-07,STM GROUP PLC                      ,IM,AIM,,IM00B1S9KY98,ORD GBP0.001                            ,STM  ,24.95139654,\"59,408,087.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-07,STOBART GROUP LTD                  ,GG,UK Main Market,Premium Equity Commercial Companies,GB00B03HDJ73,ORD GBP0.10                             ,STOB,511.4359759,\"322,672,540.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-13,STOCK SPIRITS GROUP PLC            ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BF5SDZ96,ORD GBP0.10                             ,STCK,338.5,\"200,000,000.00\",Consumer Goods,Food & Beverage,Beverages,Distillers & Vintners,3535,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-14,STRAT AERO PLC                     ,GB,AIM,,GB00BQQPLG38,ORD GBP0.001                            ,AERO ,12.450037185,\"2,621,060,460.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-05,STRATEGIC EQUITY CAPITAL           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0BDCB21,ORD GBP0.10                             ,SEC ,139.78195504,\"71,317,324.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-11,STRATEGIC MINERALS PLC             ,GB,AIM,,GB00B4W8PD74,ORD GBP0.001                            ,SML  ,2.221398788,\"965,825,560.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jan-06,STRATEX INTERNATIONAL              ,GB,AIM,,GB00B0T29327,ORD GBP0.01                             ,STI  ,8.293000149,\"467,211,276.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-13,STRATMIN GLOBAL RESOURCES PLC      ,GB,AIM,,GB00B9276C59,ORD GBP0.0001                           ,STGR ,3.50298782,\"175,149,391.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-15,STRIDE GAMING PLC                  ,JE,AIM,,JE00BWT5X884,ORD GBP0.01                             ,STR  ,162.9742058,\"66,520,084.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-73,STV GROUP PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B3CX3644,ORD GBP0.50                             ,STVG,158.192844,\"39,548,211.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jun-14,STYLES & WOOD GROUP PLC            ,GB,AIM,,GB00BLG2TG58,ORD GBP0.01                             ,STY  ,28.133400375,\"7,077,585.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n9-Mar-07,SUBEX LTD                          ,IN,PSM,Standard GDRs,US86428R2022,GDR EACH REPR 1 ORD 'REG S'             ,SUBX,3.21108786958499,\"46,833,575.00\",Technology,Technology,Software & Computer Services,Software,9537,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n9-Mar-07,SUBEX LTD                          ,IN,PSM,Standard GDRs,US86428R4002,GDR EACH REPR 1 ORD '144A'              ,SBXA,3.21108786958499,0.00,Technology,Technology,Software & Computer Services,Software,9537,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n3-Dec-96,SUEZ CEMENT CO                     ,EG,PSM,Standard GDRs,US8646902010,GDR-EACH REPR 1 ORD EGP4(REG S)         ,SZCD,29.5205249999999,\"7,750,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n3-Dec-96,SUEZ CEMENT CO                     ,EG,PSM,Standard GDRs,US8646901020,GDR-EACH REPR 1 ORD EGP4(144A)          ,BB56,29.5205249999999,0.00,Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n9-Oct-12,SULA IRON & GOLD PLC               ,GB,AIM,,GB00B6Y3CV16,ORD GBP0.01                             ,SULA ,1.6404955974,\"1,215,181,924.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Feb-14,SUMMIT GERMANY LTD                 ,GG,AIM,,GG00BJ4FZW09,ORD NPV                                 ,SMTG ,372.978840390348,\"465,399,862.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,EUR,,,,,,,,,,,,,,,,,,\r\n14-Oct-04,SUMMIT THERAPEUTICS PLC            ,GB,AIM,,GB00BN40HZ01,ORD GBP0.01                             ,SUMM ,59.9473407,\"61,484,452.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n16-Mar-01,SUNPLUS TECHNOLOGY CO LTD          ,TW,PSM,Standard GDRs,US86764M3043,GDR EACH REPR 2 ORD TWD10 '144A'        ,SUPA,0,0.00,Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n16-Mar-01,SUNPLUS TECHNOLOGY CO LTD          ,TW,PSM,Standard GDRs,US86764M4033,GDR EACH REPR 2 ORD TWD10 'REGS'        ,SUPD,0,\"20,000,000.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n6-Jun-05,SUNRISE RESOURCES PLC              ,GB,AIM,,GB00B075Z681,ORD GBP0.001                            ,SRES ,2.569355404,\"1,167,888,820.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-13,SUPERGLASS HLDGS PLC               ,GB,AIM,,GB00B7VSCQ18,ORD GBP0.01                             ,SPGH ,7.029041635,\"127,800,757.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-10,SUPERGROUP PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B60BD277,ORD GBP0.05                             ,SGP ,1201.6216377,\"80,917,282.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n24-Sep-02,SURFACE TRANSFORMS PLC             ,GB,AIM,,GB0002892528,ORD GBP0.01                             ,SCE  ,22.8089087625,\"86,891,081.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jul-98,SURGICAL INNOVATIONS GROUP         ,GB,AIM,,GB0004016704,ORD GBP0.01                             ,SUN  ,13.5418061385,\"487,993,014.00\",Health Care,Health Care,Health Care Equipment & Services,Medical Equipment,4535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-04,SURGUTNEFTEGAZ                     ,RU,Trading Only,,US8688612048,ADR EACH REPR 10 ORD                    ,SGGD,0,\"340,597,744.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,INHE,USD,,,,,,,,,,,,,,,,,,\r\n23-Dec-96,SUTTON HARBOUR HLDGS               ,GB,AIM,,GB0008659202,ORD GBP0.01                             ,SUH  ,28.8831258,\"96,277,086.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n23-May-96,SVG CAPITAL                        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0007892358,ORD GBP1                                ,SVI ,1086.48013975,\"194,884,330.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Oct-00,SVM UK EMERGING FUND               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0000684174,ORD GBP0.05                             ,SVM ,3.603,\"6,005,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-06,SWALLOWFIELD                       ,GB,AIM,,GB0008667304,ORD GBP0.05                             ,SWL  ,36.26061215,\"16,865,401.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Personal Products,3767,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n31-Oct-07,SWEETT GROUP PLC                   ,GB,AIM,,GB00B23QD109,ORD GBP0.10                             ,CSG  ,29.44943595,\"71,392,572.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jun-02,SWP GROUP PLC                      ,GB,AIM,,GB00B010NX28,ORD GBP0.005                            ,SWP  ,11.283225345,\"196,230,006.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-11,SYLVANIA PLATINUM LTD              ,BM,AIM,,BMG864081044,ORD USD0.10 (DI)                        ,SLP  ,22.95215013125,\"301,011,805.00\",Basic Materials,Basic Resources,Mining,Platinum & Precious Metals,1779,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-01,SYMPHONY ENVIRONMENTAL TECH PLC    ,GB,AIM,,GB0009589168,ORD GBP0.01                             ,SYM  ,6.18297537,\"149,890,312.00\",Industrials,Industrial Goods & Services,General Industrials,Containers & Packaging,2723,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Aug-07,SYMPHONY INTERNATIONAL HLDGS LTD   ,VG,International Main Market,Standard Shares,VGG548121059,ORD NPV(CDI)                            ,SIHL,305.181587119484,\"528,838,811.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSMU,SMEU,USD,,,,,,,,,,,,,,,,,,\r\n26-Oct-04,SYNAIRGEN                          ,GB,AIM,,GB00B0381Z20,ORD GBP0.01                             ,SNG  ,30.621865255,\"91,408,553.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jan-02,SYNECTICS PLC                      ,GB,AIM,,GB0007156838,ORD GBP0.20                             ,SNX  ,33.440210625,\"17,834,779.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-71,SYNTHOMER PLC                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009887422,ORD GBP0.10                             ,SYNT,1236.109273308,\"339,403,974.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n4-Dec-13,SYQIC PLC                          ,JE,AIM,,JE00BF5S6G17,ORD NPV                                 ,SYQ  ,0,\"26,898,845.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jan-13,SYSGROUP PLC                       ,GB,AIM,,GB00BYT18182,ORD GBP0.01                             ,SYS  ,13.401446355,\"22,151,151.00\",Technology,Technology,Software & Computer Services,Internet,9535,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-94,T.H.F.C.(INDEXED 2)                ,GB,UK Main Market,Standard Debt,GB0008701624,5.5% INDEX-LINKED STK 2024              ,90IL,0,\"31,250,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n9-Nov-90,T.H.F.C.(INDEXED)                  ,GB,UK Main Market,Standard Debt,GB0008714882,5.65% INDEX-LINKED STK 2020             ,96JS,0,\"100,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n19-Dec-96,T.H.F.C.(SOCIAL HOUSING FINANCE)   ,GB,UK Main Market,Standard Debt,GB0008765918,8.75% DEB STK 2021                      ,96JP,0,\"130,500,000.00\",,,,,6,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n14-Dec-06,TAIHUA PLC                         ,GB,AIM,,GB00B1GC5F60,ORD GBP0.01                             ,TAIH ,1.839089925,\"81,737,330.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Sep-13,TALIESIN PROPERTY FUND LTD         ,JE,UK Main Market,Standard Shares,JE00BCDP4K39,ZERO DIV PREF GBP1                      ,TPFZ,19.45084072,\"14,354,864.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n28-Aug-07,TALIESIN PROPERTY FUND LTD         ,JE,AIM,,JE00B3B3WB31,ORD NPV                                 ,TPF  ,145.20561,\"4,840,187.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n29-Mar-10,TALK TALK TELECOM GROUP PLC        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B4YCDF59,ORD GBP0.001                            ,TALK,1928.89648872,\"914,168,952.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Sep-00,TANDEM GROUP                       ,GB,AIM,,GB00B460T373,ORD GBP0.25                             ,TND  ,4.92250455,\"4,579,074.00\",Consumer Goods,Personal & Household Goods,Leisure Goods,Recreational Products,3745,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n30-Dec-03,TANFIELD GROUP                     ,GB,AIM,,GB00B4QHFM95,ORD GBP0.05                             ,TAN  ,18.78125988,\"156,510,499.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Commercial Vehicles & Trucks,2753,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n28-May-14,TAPTICA INTL LTD                   ,IL,AIM,,IL0011320343,ORD ILS0.01 (DI)                        ,TAP  ,101.93436415,\"66,842,206.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-13,TARGET HEALTHCARE REIT LTD         ,JE,UK Main Market,Premium Equity Closed Ended Investment Funds,JE00B95CGW71,ORD NPV                                 ,THRL,234.7785094725,\"212,951,029.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n26-Nov-08,TARSUS GROUP PLC                   ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B3DG9318,ORD GBP0.05                             ,TRS ,267.72921812,\"100,650,082.00\",Consumer Services,Media,Media,Media Agencies,5555,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jul-06,TASTY PLC                          ,GB,AIM,,GB00B17MN067,ORD GBP0.10                             ,TAST ,98.7165994,\"53,360,324.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jun-00,TATA GLOBAL BEVERAGES LTD          ,IN,PSM,Standard GDRs,US8765691048,GDS EACH REPR 1 INR1(144A)              ,TGBA,10.418955048,0.00,Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,MISC,INPE,USD,,,,,,,,,,,,,,,,,,\r\n5-Jun-00,TATA GLOBAL BEVERAGES LTD          ,IN,PSM,Standard GDRs,US8765692038,GDS EACH REPR 1 INR1(REGS)              ,TGBL,10.418955048,\"7,598,000.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n28-Jul-09,TATA POWER CO                      ,IN,Trading Only,,US8765664078,GDR EACH REP 10 ORD REG S               ,TPCL,0,\"14,838,110.00\",Utilities,Utilities,Electricity,Conventional Electricity,7535,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Jul-09,TATA STEEL                         ,IN,PSM,Standard GDRs,US87656Y4061,GDR EACH REPR 1 ORD SH'REG S'           ,TTST,0,\"65,410,589.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,IOBE,IPHE,USD,,,,,,,,,,,,,,,,,,\r\n9-Dec-38,TATE & LYLE                        ,GB,UK Main Market,Standard Shares,GB0008754466,6.5% CUM PRF GBP1                       ,BD15,3379.483726875,\"2,394,000.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-38,TATE & LYLE                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008754136,ORD GBP0.25                             ,TATE,3379.483726875,\"460,414,125.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-96,TATNEFT PJSC                       ,RU,International Main Market,Standard GDRs,US8766292051,ADR EACH REP 6 ORD SHS REGS             ,ATAD,8160.57138551751,\"363,116,666.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n5-Oct-09,TATUNG CO                          ,TW,Trading Only,,US8766614064,GDS EACH REPR 20 SHS'REG S'             ,TAT ,0,\"47,300,000.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n9-May-07,TAU CAPITAL PLC                    ,IM,AIM,,IM00B1VVFG94,ORD GBP0.01                             ,TAU  ,2.51893185193799,\"48,984,680.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n13-Feb-15,TAVISTOCK INVESTMENTS PLC          ,GB,AIM,,GB00BLNMLS43,ORD GBP0.01                             ,TAVI ,19.609110755,\"394,152,980.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Jul-16,TAX SYSTEMS PLC                    ,GB,AIM,,GB00BDHLGB97,ORD GBP0.01                             ,TAX  ,59.0914686975,\"76,001,889.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-Mar-47,TAYLOR WIMPEY PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008782301,ORD GBP0.01                             ,TW. ,5201.433770528,\"3,224,695,456.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n10-Aug-16,TBC BANK GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYT18307,ORD GBP5                                ,TBCG,555.506644,\"49,159,880.00\",Financials,Banks,Banks,Banks,8355,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jun-14,TBC BANK JSC                       ,GE,International Main Market,Standard GDRs,US87217U2087,GDR EACH REPR 1 ORD REGS                ,TBCB,450.220152006718,\"49,248,308.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Oct-13,TCS GROUP HLDG PLC                 ,CY,International Main Market,Standard GDRs,US87238U2033,GDR EACH REPR 1 SHARE A REG S           ,TCS ,911.313973611672,\"177,219,655.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n25-Oct-13,TCS GROUP HLDG PLC                 ,CY,International Main Market,Standard GDRs,US87238U1043,GDR EACH REPR 1 SHARE A 144A            ,TCSA,911.313973611672,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n16-Mar-15,TECHFINANCIALS INC                 ,VG,AIM,,VGG870911077,USD0.0005 (DI)                          ,TECH ,8.23538664,\"68,628,222.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Apr-97,TECO ELECTRIC & MACHINERY CO LTD   ,TW,PSM,Standard GDRs,US8787572028,GDR EACH REPR 10 ORD TWD10(REG'S)       ,TECD,35.4394705095714,\"5,539,880.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Durable Household Products,3722,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n1-Apr-97,TECO ELECTRIC & MACHINERY CO LTD   ,TW,PSM,Standard GDRs,US8787571038,GDR EACH REPR 10 ORD TWD10(144A)        ,TECA,35.4394705095714,0.00,Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Durable Household Products,3722,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n24-Jul-97,TED BAKER                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001048619,ORD GBP0.05                             ,TED ,1083.91319966,\"41,640,922.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n24-Mar-06,TEJOORI                            ,VG,AIM,,VGG8739M1133,ORD USD0.01                             ,TJI  ,7.28266253650558,\"27,708,864.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIMI,AIMT,USD,,,,,,,,,,,,,,,,,,\r\n4-Apr-14,TEKCAPITAL PLC                     ,GB,AIM,,GB00BKXGY798,GBP0.004                                ,TEK  ,11.33478624,\"35,421,207.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-05,TELECOM EGYPT                      ,EG,International Main Market,Standard GDRs,US87927T2024,GDR EACH REPR 5 ORD EGP10 'REGS'        ,TEEG,106.909191200592,\"42,525,432.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n26-Jul-00,TELECOM PLUS                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008794710,ORD GBP0.05                             ,TEP ,824.60819424,\"78,683,988.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jun-85,TELEFONICA SA                      ,ES,International Main Market,Standard Shares,ES0178430E18,EUR1                                    ,TDE ,37910.0791225111,\"4,975,199,197.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,SSMU,SMEV,EUR,,,,,,,,,,,,,,,,,,\r\n14-Dec-01,TELFORD HOMES                      ,GB,AIM,,GB0031022154,ORD GBP0.10                             ,TEF  ,241.20808383,\"73,315,527.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n4-Apr-05,TELIT COMMUNICATIONS PLC           ,GB,AIM,,GB00B06GM726,ORD GBP0.01                             ,TCM  ,257.0831615625,\"105,470,015.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-52,TEMPLE BAR INVESTMENT TRUST        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008825324,ORD GBP0.25                             ,TMPL,684.3301737,\"61,651,367.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-52,TEMPLE BAR INVESTMENT TRUST        ,GB,UK Main Market,Standard Debt,GB0008826405,9 7/8% DEB STK 2017                     ,53IM,684.3301737,\"25,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDS,GBP,,,,,,,,,,,,,,,,,,\r\n19-Jun-89,TEMPLETON EMERG MARK INVESTM TRUST ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008829292,ORD GBP0.25                             ,TEM ,1646.58384743,\"289,382,047.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n13-Jul-15,TEN ALPS PLC                       ,GB,AIM,,GB00BX7RGN99,ORD GBP0.001                            ,TAL  ,2.41153469925,\"419,397,339.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jul-14,TENGRI RESOURCES                   ,KY,AIM,,KYG8760E1052,ORD GBP0.05 (DI)                        ,TEN  ,1.21070809125,\"107,618,497.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n31-Aug-11,TERN PLC                           ,GB,AIM,,GB00BFPMV798,ORD GBP0.0002                           ,TERN ,7.456049825,\"78,484,735.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Nov-06,TERRA CAPITAL PLC                  ,IM,AIM,,IM00B1GJR404,ORD USD0.10                             ,TCA  ,42.9261722748538,\"68,299,236.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n25-Feb-08,TERRA CATALYST FUND                ,KY,AIM,,KYG8761F1431,ORD GBP0.01 (DI)                        ,TCF  ,15.81488274,\"15,504,787.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-99,TERTIARY MINERALS PLC              ,GB,AIM,,GB0008854563,ORD GBP0.01                             ,TYM  ,3.07274886525,\"240,999,911.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Dec-47,TESCO                              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008847096,ORD GBP0.05                             ,TSCO,13501.0537246725,\"8,116,052,735.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jan-04,TETHYAN RESOURCES PLC              ,GB,AIM,,GB00BYVFRB16,ORD GBP0.001                            ,TETH ,2.9366944425,\"90,359,829.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-11,TETHYS PETROLEUM LIMITED           ,KY,International Main Market,Standard Shares,KYG876361091,USD0.10                                 ,TPL ,6.09272600625,\"324,945,387.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Nov-15,TETRAGON FINANCIAL GROUP LTD       ,GG,UK Main Market,,GG00B1RMC548,ORD N/V USD0.001                        ,TFG ,1124.94955581831,\"137,363,774.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,USD,,,,,,,,,,,,,,,,,,\r\n1-Dec-71,TEX HLDGS                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008850470,ORD GBP0.10                             ,TXH ,7.39944158,\"6,351,452.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-08,THALASSA HLDGS LTD                 ,VG,AIM,,VGG878801031,ORD USD0.01 (DI)                        ,THAL ,10.091360655,\"23,605,522.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-16,THARISA PLC                        ,CY,International Main Market,Standard Shares,CY0103562118,ORD USD0.001 DI                         ,THS ,205.353238515,\"255,891,886.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jul-07,THIRD POINT OFFSHORE INVESTORS LTD ,GG,UK Main Market,Standard Shares,GG00B1YQ7219,ORD NPV USD                             ,TPOU,549.846583450183,\"47,223,409.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMU,SMEU,USD,,,,,,,,,,,,,,,,,,\r\n25-Jul-07,THIRD POINT OFFSHORE INVESTORS LTD ,GG,UK Main Market,Standard Shares,GG00B1YQ6R97,ORD NPV GBP                             ,TPOG,549.846583450183,\"2,281,788.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jun-13,THOMAS COOK GROUP PLC              ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1VYCH82,ORD EUR0.01                             ,TCG ,669.311637096,\"961,654,651.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-05,THOR MINING                        ,GB,AIM,,GB00B1DXJY95,ORD GBP0.0001                           ,THR  ,1.703412525,\"5,678,041,750.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jan-06,THORPE(F.W.)                       ,GB,AIM,,GB00BC9ZLX92,ORD GBP0.01                             ,TFW  ,296.1496191,\"118,935,590.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-53,THREADNEEDLE UK SELECT TRUST LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0004618236,ORD GBP0.10                             ,UKT ,37.60015896,\"21,424,592.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jan-01,TIGER RESOURCE FINANCE             ,GB,AIM,,GB0002308525,ORD GBP0.01                             ,TIR  ,0.795408425,\"138,331,900.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jun-16,TIME OUT GROUP PLC                 ,GB,AIM,,GB00BYYV0629,ORD GBP0.001                            ,TMO  ,182.65,\"130,000,000.00\",Consumer Services,Media,Media,Publishing,5557,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jun-15,TISO BLACKSTAR GROUP SE            ,MT,AIM,,MT0000620113,ORD EUR0.76 (DI)                        ,TBGR ,103.96286325,\"268,291,260.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-10,TISSUE REGENIX GROUP PLC           ,GB,AIM,,GB00B5SGVL29,ORD GBP0.005                            ,TRX  ,152.0248528,\"760,124,264.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jan-96,TITON HLDGS                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008941402,ORD GBP0.10                             ,TON ,9.093414,\"10,452,200.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Apr-14,TIZIANA LIFE SCIENCES PLC          ,GB,AIM,,GB00BKWNZY55,ORD GBP0.03                             ,TILS ,181.707296925,\"94,393,401.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-11,TLA WORLDWIDE PLC                  ,GB,AIM,,GB00B68HD384,ORD GBP0.02                             ,TLA  ,79.602096555,\"143,427,201.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-15,TLOU ENERGY                        ,AU,AIM,,AU000000TOU2,ORD NPV (DI)                            ,TLOU ,15.4214469,\"205,619,292.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-10,TMT INVESTMENTS PLC                ,JE,AIM,,JE00B3RQZ289,ORD NPV                                 ,TMT  ,39.5836358305499,\"27,711,628.00\",Financials,Financial Services,Financial Services,Investment Services,8777,ASQ1,AMQ1,USD,,,,,,,,,,,,,,,,,,\r\n21-Jul-11,TOMCO ENERGY PLC                   ,IM,AIM,,GB0031782278,ORD NPV                                 ,TOM  ,1.7742101697,\"1,971,344,633.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n1-Nov-39,TONGAAT HULETT LTD                 ,ZA,International Main Market,Standard Shares,ZAE000096541,ORD ZAR1                                ,THL ,721.251441844813,\"100,495,852.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n10-May-16,TOOPLE PLC                         ,GB,UK Main Market,Standard Shares,GB00BZ8TP087,ORD GBP0.000667                         ,TOOP,6.625,\"100,000,000.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jun-97,TOPPS TILES PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B18P5K83,ORD GBP0.03333                          ,TPT ,221.72406755,\"192,803,537.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-Oct-84,TORCHMARK CORP                     ,US,International Main Market,Standard Shares,US8910271043,USD1                                    ,TMK ,7531.96796459081,\"161,707,685.00\",Financials,Insurance,Life Insurance,Life Insurance,8575,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n8-May-15,TORO LTD                           ,GG,UK Main Market,,GG00BWBSDM98,ORD NPV EUR                             ,TORO,235.800297825917,\"345,400,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM2,SFQQ,EUR,,,,,,,,,,,,,,,,,,\r\n27-Jul-98,TOROTRAK                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002922382,ORD GBP0.01                             ,TRK ,21.5416235015,\"545,357,557.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jan-07,TOTAL PRODUCE PLC                  ,IE,AIM,,IE00B1HDWM43,ORD EUR0.01                             ,TOT  ,450.50564832,\"330,040,768.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n26-Sep-73,TOTAL SA                           ,FR,International Main Market,Standard Shares,FR0000120271,EUR2.5                                  ,TTA ,88787.0792857527,\"2,444,133,158.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,SSMU,SMEU,EUR,,,,,,,,,,,,,,,,,,\r\n1-Apr-16,TOTALLY                            ,GB,AIM,,GB00BYM1JJ00,GBP0.1                                  ,TLY  ,14.097265305,\"19,996,121.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-Oct-05,TOUCHSTAR PLC                      ,GB,AIM,,GB00BD9YDB55,ORD GBP0.05                             ,TST  ,4.3530375,\"6,308,750.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n3-Nov-05,TOUMAZ LD                          ,KY,AIM,,KYG6390E1070,ORD GBP0.0025                           ,TMZ  ,37.1509949475,\"1,651,155,331.00\",Technology,Technology,Technology Hardware & Equipment,Semiconductors,9576,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n17-Jan-06,TOWER RESOURCES                    ,GB,AIM,,GB00BZ6D6J81,ORD GBP0.01                             ,TRP  ,1.49756596,\"27,228,472.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-60,TOWN CENTRE SECURITIES             ,GB,UK Main Market,Standard Debt,GB00B1HHKK03,5.375% 1ST MTG DEB 20/11/31 GBP         ,50BF,163.41992175,\"150,000,000.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n21-Sep-60,TOWN CENTRE SECURITIES             ,GB,UK Main Market,Premium Equity Commercial Companies,GB0003062816,ORD GBP0.25                             ,TOWN,163.41992175,\"53,144,690.00\",Financials,Real Estate,Real Estate Investment Trusts,Diversified REITs,8674,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n29-Sep-99,TOYOTA MOTOR CORP                  ,JP,International Main Market,Standard Shares,JP3633400001,NPV                                     ,TYT ,170382.969884674,\"3,666,551,829.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Automobiles,3353,SSX4,SXSN,JPY,,,,,,,,,,,,,,,,,,\r\n4-Jul-01,TP GROUP PLC                       ,GB,AIM,,GB0030591514,ORD GBP0.10                             ,TPG  ,23.7636408375,\"422,464,726.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n6-Sep-90,TR EUROPEAN GROWTH TRUST           ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0009066928,ORD GBP0.125                            ,TRG ,355.39751601,\"50,126,589.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-53,TR PROPERTY INVESTMENT TRUST       ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0009064097,ORD GBP0.25                             ,TRY ,1190.91630636,\"379,151,960.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Mar-53,TR PROPERTY INVESTMENT TRUST       ,GB,UK Main Market,Standard Misc Securities,GB0008887126,WTS TO SUBSCRIBE FOR ORD                ,TRYW,1190.91630636,\"17,252,103.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,MISL,STBL,GBX,,,,,,,,,,,,,,,,,,\r\n5-Aug-08,TRACSIS PLC                        ,GB,AIM,,GB00B28HSF71,ORD GBP0.004                            ,TRCS ,135.82134783,\"27,328,239.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Feb-06,TRADER MEDIA EAST                  ,GB,UK Main Market,Standard GDRs,US89255G1094,GDR EACH REPR 1 ORD SH'144A'            ,82FN,184.360439999999,0.00,Consumer Services,Media,Media,Media Agencies,5555,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n13-Feb-06,TRADER MEDIA EAST                  ,GB,UK Main Market,Standard GDRs,US89255G2084,GDR EACH REPR 1 ORD SH'REGS'            ,TME ,184.360439999999,\"55,000,000.00\",Consumer Services,Media,Media,Media Agencies,5555,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n21-Apr-05,TRADING EMISSIONS                  ,IM,AIM,,GB00B073G363,ORD GBP0.01                             ,TRE  ,6.3574139702,\"249,800,156.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n16-Jul-13,TRAFALGAR NEW HOMES                ,GB,AIM,,GB00B0SP7491,ORD GBP0.01                             ,TRAF ,2.3837519,\"238,375,190.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-13,TRAKM8 HLDGS                       ,GB,AIM,,GB00B0P1RP10,ORD GBP0.01                             ,TRAK ,74.7327132,\"32,492,484.00\",Technology,Technology,Technology Hardware & Equipment,Computer Hardware,9572,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-99,TRANSENSE TECHNOLOGIES PLC         ,GB,AIM,,GB0009360198,ORD GBP0.01                             ,TRT  ,10.4955299775,\"466,467,999.00\",Consumer Goods,Automobiles & Parts,Automobiles & Parts,Auto Parts,3355,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Nov-03,TRANS-SIBERIAN GOLD PLC            ,GB,AIM,,GB0033756866,ORD GBP0.10                             ,TSG  ,50.62441358,\"110,053,073.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n19-Sep-86,TRAVIS PERKINS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0007739609,ORD GBP0.10                             ,TPK ,4061.21805,\"243,917,000.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n19-May-14,TREATT                             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BKS7YK08,ORD GBP0.02                             ,TET ,95.63943525,\"52,405,170.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n4-Jan-16,TRENDIT LTD                        ,IL,International Main Market,,IL0011370256,ORD ILS0.1 (DI)                         ,TRIT,0,\"192,012,773.00\",Technology,Technology,Software & Computer Services,Software,9537,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-96,TRIAD GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009035741,ORD GBP0.01                             ,TRD ,7.044554235,\"15,149,579.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n3-May-16,TRIBAL GROUP                       ,GB,AIM,,GB0030181522,ORD GBP0.05                             ,TRB  ,108.436065945,\"195,380,299.00\",Technology,Technology,Software & Computer Services,Software,9537,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-02,TRICOR PLC                         ,GB,AIM,,GB00B79BCZ12,ORD GBP0.00001                          ,TRIC ,0.4419769675,\"176,790,787.00\",Telecommunications,Telecommunications,Fixed Line Telecommunications,Fixed Line Telecommunications,6535,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n5-Dec-01,TRICORN GROUP                      ,GB,AIM,,GB0009716340,ORD GBP0.10                             ,TCN  ,3.04155,\"33,795,000.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n16-Feb-94,TRIFAST                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008883927,ORD GBP0.05                             ,TRI ,159.76382688,\"110,947,102.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SSMM,SSC7,GBX,,,,,,,,,,,,,,,,,,\r\n21-Apr-06,TRINITY CAPITAL PLC                ,IM,AIM,,GB00B0ZL5243,ORD GBP0.01                             ,TRC  ,7.36434412,\"210,409,832.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Feb-13,TRINITY EXPLORATION & PRODUCTION   ,GB,AIM,,GB00B8JG4R91,ORD USD1                                ,TRIN ,0,\"94,799,986.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n2-Dec-53,TRINITY MIRROR                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009039941,ORD GBP0.10                             ,TNI ,288.05081724,\"282,402,762.00\",Consumer Services,Media,Media,Publishing,5557,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-08,TRIPLE POINT INCOME VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B29KPN29,ORD GBP0.01                             ,TPV1,18.551794,\"37,103,588.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-08,TRIPLE POINT INCOME VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B87XBC63,ORD GBP0.01 A                           ,TPVA,18.551794,0.00,Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-08,TRIPLE POINT INCOME VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BNCBFH30,ORD GBP0.01 D                           ,TPVD,18.551794,\"12,405,063.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-08,TRIPLE POINT INCOME VCT PLC        ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BGSH2G43,ORD GBP0.01 C                           ,TPVC,18.551794,\"13,441,438.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-10,TRIPLE POINT VCT 2011 PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BYSQV489,ORD GBP0.01 B                           ,TPOB,0,\"12,592,557.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-10,TRIPLE POINT VCT 2011 PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BNCBFM82,ORD GBP0.01 A                           ,TPOA,0,\"7,158,498.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-10,TRIPLE POINT VCT 2011 PLC          ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B54ST296,ORD GBP0.01                             ,TPO ,0,\"20,379,867.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXNC,GBX,,,,,,,,,,,,,,,,,,\r\n27-Aug-10,TRI-STAR RESOURCES PLC             ,GB,AIM,,GB0033646281,ORD GBP0.00005                          ,TSTR ,7.1996286843,\"7,999,587,427.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-05,TRISTEL                            ,GB,AIM,,GB00B07RVT99,ORD GBP0.01                             ,TSTL ,56.23599233,\"42,282,701.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n9-Dec-13,TRITAX BIG BOX REIT PLC            ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BG49KP99,ORD GBP0.01                             ,BBOX,831.61595265,\"575,512,770.00\",Financials,Real Estate,Real Estate Investment Trusts,Specialty REITs,8675,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-88,TROY INCOME & GROWTH TRUST PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003708665,ORD GBP0.25                             ,TIGT,154.2685937625,\"199,700,445.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-91,TRUSTCO FINANCE                    ,GB,UK Main Market,Standard Debt,GB0008945718,11.5% SEVERAL DEB STK 2016(REGD)        ,87IN,0,\"40,000,000.00\",,,,,6,MISL,STBL,GBP,,,,,,,,,,,,,,,,,,\r\n9-Dec-48,TT ELECTRONICS                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0008711763,ORD GBP0.25                             ,TTG ,233.831370755,\"159,339,946.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-14,TUI AG                             ,DE,International Main Market,Premium Equity Commercial Companies,DE000TUAG000,ORD REG SHS NPV (DI)                    ,TUI ,3061.03591118,\"287,961,986.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Travel & Tourism,5759,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-06,TULLETT PREBON PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1H0DZ51,ORD GBP0.25                             ,TLPR,929.989764165,\"243,771,891.00\",Financials,Financial Services,Financial Services,Investment Services,8777,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-00,TULLOW OIL PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001500809,ORD GBP0.10                             ,TLW ,1975.04664592,\"906,400,480.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-13,TUNGSTEN CORP PLC                  ,GB,AIM,,GB00B7Z0Q502,ORD GBP0.00438                          ,TUNG ,78.4781996325,\"126,069,397.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n28-Dec-06,TURBO POWER SYSTEMS INC            ,CA,AIM,,CA8999101030,COM NPV                                 ,TPS  ,5.005298883,\"3,336,865,922.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Feb-96,TURKIYE GARANTI BANKASI            ,TR,International Main Market,Standard GDRs,US9001487019,ADS EACH 1 REPR 1 ORD 'LVL1'            ,TGBD,3724.43326784099,\"1,474,770,000.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLU,USD,,,,,,,,,,,,,,,,,,\r\n12-Feb-96,TURKIYE GARANTI BANKASI            ,TR,International Main Market,Standard GDRs,US9001486029,ADS EACH 1 REPR 1 ORD '144A'            ,39IS,3724.43326784099,\"4,200.00\",Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n14-May-98,TURKIYE IS BANKASI                 ,TR,International Main Market,Standard GDRs,US9001515074,GDR EACH REPR 1'C'SHS REG'S'            ,TIBD,123.59635842478,\"47,999,488.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n14-May-98,TURKIYE IS BANKASI                 ,TR,International Main Market,Standard GDRs,US9001514085,GDR EACH REPR 1'C'SHS 144A              ,98LM,123.59635842478,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n6-Mar-13,TWENTYFOUR INCOME FUND LTD         ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B90J5Z95,ORD RED GBP0.01                         ,TFIF,610.0769235,\"549,618,850.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-14,TWENTYFOUR SELECT MONTHLY INC FD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BJVDZ946,ORD GBP0.01                             ,SMIF,144.53108424,\"155,409,768.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n8-Jul-13,TYMAN PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B29H4253,ORD GBP0.05                             ,TYMN,487.53026049,\"178,582,513.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-07,TYRATECH INC                       ,US,AIM,,US90239R2031,ORD USD0.001 (DI)                       ,TYRU ,9.368211985,\"55,442,852.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-07,TYRATECH INC                       ,US,AIM,,USU890581080,ORD USD0.001 DI REGS                    ,TYR  ,9.368211985,\"308,197,057.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,AIM ,AIMR,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-86,U & I GROUP PLC                    ,GB,UK Main Market,Premium Equity Commercial Companies,GB0002668464,ORD GBP0.50                             ,UAI ,212.19179925,\"123,907,620.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n22-Jun-11,UBISENSE GROUP PLC                 ,GB,AIM,,GB00B3NCXX73,ORD GBP0.02                             ,UBI  ,19.2306051,\"54,944,586.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jul-08,UBM PLC                            ,JE,UK Main Market,Premium Equity Commercial Companies,JE00BD9WR069,ORD GBP0.1125                           ,UBM ,2715.223149375,\"394,941,549.00\",Consumer Services,Media,Media,Publishing,5557,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n5-Mar-92,UDG HEALTHCARE PLC                 ,IE,International Main Market,Premium Equity Commercial Companies,IE0033024807,ORD EUR0.05                             ,UDG ,1467.024064625,\"239,514,133.00\",Consumer Services,Retail,Food & Drug Retailers,Drug Retailers,5333,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-07,UIL FINANCE LTD                    ,BM,International Main Market,Standard Shares,BMG916101089,RED ZDP 31/10/16 GBP0.10(DI)            ,UTLC,0,\"47,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-07,UIL FINANCE LTD                    ,BM,International Main Market,Standard Shares,BMG916101162,RED ZDP 31/10/18 GBP0.059319(DI)        ,UTLD,0,\"49,842,413.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-07,UIL LTD                            ,BM,International Main Market,Premium Equity Closed Ended Investment Funds,BMG917071026,ORD GBP0.10(DI)                         ,UTL ,148.549732905,\"90,303,789.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n22-Sep-06,UK COMMERCIAL PROPERTY TRUST LTD   ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B19Z2J52,ORD GBP0.25                             ,UKCM,1003.857923754,\"1,257,967,323.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-93,UK MAIL GROUP PLC                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001576163,ORD GBP 0.10                            ,UKM ,167.53734536,\"54,395,242.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Delivery Services,2771,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n7-Jul-15,UK MORTGAGES LTD                   ,GG,UK Main Market,,GG00BXDZMK63,ORD GBP0.01                             ,UKML,245.3125,\"250,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SFM1,SFML,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-05,UK OIL & GAS INVESTMENTS PLC       ,GB,AIM,,GB00B9MRZS43,ORD GBP0.0001                           ,UKOG ,43.2943771635,\"2,509,818,966.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n11-Feb-05,UKRPRODUCT GROUP                   ,JE,AIM,,GB00B03HK741,ORD GBP0.10                             ,UKR  ,1.24229486975,\"41,067,599.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-14,ULS TECHNOLOGY PLC                 ,GB,AIM,,GB00BNG8T458,ORD GBP0.004                            ,ULS  ,42.85263774,\"64,928,239.00\",Consumer Services,Media,Media,Media Agencies,5555,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n8-Dec-99,ULTIMATE SPORTS GROUP PLC          ,GB,AIM,,GB00BYV31355,ORD GBP0.10                             ,USG  ,3.84971122,\"20,261,638.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-96,ULTRA ELECTRONICS HLDGS            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009123323,ORD GBP0.05                             ,ULE ,1168.8121627,\"69,160,483.00\",Industrials,Industrial Goods & Services,Aerospace & Defense,Defense,2717,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n10-Mar-10,UNICORN AIM VCT PLC                ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B1RTFN43,ORD GBP0.01                             ,UAV ,129.057522,\"93,860,016.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n11-Aug-39,UNILEVER                           ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B10RZP78,ORD GBP0.031111                         ,ULVR,46235.41797969,\"1,310,156,361.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-13,UNION JACK OIL PLC                 ,GB,AIM,,GB00B814XC94,ORD GBP0.00025                          ,UJO  ,4.621934088,\"2,888,708,805.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jan-70,UNISYS CORP                        ,US,International Main Market,Standard Shares,US9092143067,USD0.01                                 ,USY ,330.306106499999,\"42,300,000.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n11-Apr-00,UNITE GROUP                        ,GB,UK Main Market,Premium Equity Commercial Companies,GB0006928617,ORD GBP0.25                             ,UTG ,1386.375791745,\"221,289,033.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-07,UNITED BANK LTD                    ,PK,PSM,Standard GDRs,US90953P1021,GDR EACH REPR 4 ORD '144A'              ,UBLA,184.309208747729,0.00,Financials,Banks,Banks,Banks,8355,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n29-Jun-07,UNITED BANK LTD                    ,PK,PSM,Standard GDRs,US90953P2011,GDR EACH REPR 4ORD 'REGS'               ,UBLS,184.309208747729,\"43,987,773.00\",Financials,Banks,Banks,Banks,8355,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n2-Dec-14,UNITED CACAO LTD SEZC              ,KY,AIM,,KYG9271M1078,ORD USD0.001 (DI)                       ,CHOC ,21.0887314,\"19,171,574.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Feb-05,UNITED CARPETS GROUP               ,GB,AIM,,GB00B05J4D26,ORD GBP0.01                             ,UCG  ,8.44525,\"81,400,000.00\",Consumer Services,Retail,General Retailers,Home Improvement Retailers,5375,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Jul-08,UNITED UTILITIES GROUP PLC         ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B39J2M42,ORD GBP0.05                             ,UU. ,6623.88489455,\"681,820,370.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Water,7577,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n20-Feb-98,UNIVERSE GROUP                     ,GB,AIM,,GB0009483594,ORD GBP0.01                             ,UNG  ,24.87018347375,\"223,552,211.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-05,UNIVISION ENGINEERING              ,HK,AIM,,HK0000033065,ORD NPV                                 ,UVEL ,1.917886615,\"383,577,323.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-15,UPLAND RESOURCES LTD               ,VG,International Main Market,Standard Shares,VGG7552A1075,ORD NPV(DI)                             ,UPL ,2.93477058875,\"213,437,861.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n9-Aug-05,URALS ENERGY PUBLIC CO             ,CY,AIM,,CY0000111027,ORD USD0.0063 (DI)                      ,UEN  ,5.6804146875,\"252,462,875.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-05,URANIUM RESOURCES PLC              ,GB,AIM,,GB00B068N088,ORD GBP0.001                            ,URA  ,2.272897485,\"757,632,495.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n22-May-14,URBAN&CIVIC PLC                    ,GB,UK Main Market,Standard Shares,GB00BKT04W07,ORD GBP0.20                             ,UANC,333.103627315,\"141,295,282.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,SSMU,SMEV,GBX,,,,,,,,,,,,,,,,,,\r\n12-Sep-07,URU METALS LD                      ,VG,AIM,,VGG930041022,ORD USD0.01 (DI)                        ,URU  ,1.23359755875,\"328,959,349.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-11,UTILICO EMERGING MARKETS LTD       ,BM,International Main Market,Premium Equity Closed Ended Investment Funds,BMG931151069,ORD GBP0.10 (DI)                        ,UEM ,449.176040485,\"211,462,599.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Oct-11,UTILICO EMERGING MARKETS LTD       ,BM,International Main Market,Standard Shares,BMG931071374,SUBSCRIPTION SHS GBP0.00005 (DI)        ,UEMS,449.176040485,\"42,648,610.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-12,UTILITYWISE PLC                    ,GB,AIM,,GB00B6WVD707,ORD GBP0.001                            ,UTW  ,106.56983898,\"77,224,521.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Dec-07,UVENCO UK PLC                      ,GB,AIM,,GB00B29HFH73,ORD GBP0.02                             ,UVEN ,5.96779616,\"74,597,452.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-06,VALIRX PLC                         ,GB,AIM,,GB00BWWYSP41,ORD GBP0.001                            ,VAL  ,4.655314785,\"56,428,058.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-81,VALUE & INCOME TRUST               ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0008484718,ORD GBP0.10                             ,VIN ,112.555625,\"45,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n14-Jul-81,VALUE & INCOME TRUST               ,GB,UK Main Market,Standard Debt,GB0009258137,9.375% DEB STK 2026                     ,96IO,112.555625,\"20,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n30-Jun-06,VAST RESOURCES PLC                 ,GB,AIM,,GB00B142P698,ORD GBP0.001                            ,VAST ,10.60256942145,\"3,720,199,797.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jul-07,VECTURA GROUP                      ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B01D1K48,ORD GBP0.00025                          ,VEC ,854.07291991,\"651,964,061.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-03,VEDANTA RESOURCES                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0033277061,ORD USD0.10                             ,VED ,1464.44209454,\"297,047,078.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Oct-03,VELA TECHNOLOGIES PLC              ,GB,AIM,,GB00B7D7F340,ORD GBP0.001                            ,VELA ,1.417495233,\"859,088,020.00\",Consumer Services,Media,Media,Media Agencies,5555,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n20-Nov-08,VELOCYS PLC                        ,GB,AIM,,GB00B11SZ269,ORD GBP0.01                             ,VLS  ,44.7247518975,\"143,693,982.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jun-16,VELTYCO GROUP PLC                  ,IM,AIM,,IM00BYT32K14,ORD NPV                                 ,VLTY ,14.855706285,\"56,059,269.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-Dec-12,VENN LIFE SCIENCES HLDGS PLC       ,GB,AIM,,GB00B9275X97,ORD GBP0.001                            ,VENN ,17.168189955,\"60,239,263.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-14,VENTURE LIFE GROUP PLC             ,GB,AIM,,GB00BFPM8908,ORD GBP0.003                            ,VLG  ,18.45251866,\"39,260,678.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-06,VENTUS 2 VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B0WCHT14,ORD GBP0.25                             ,VEN2,30.07499508,\"24,392,655.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-06,VENTUS 2 VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BFXW7841,ORD GBP0.25 D                           ,VND ,30.07499508,\"1,990,767.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-06,VENTUS 2 VCT PLC                   ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3KVC529,ORD GBP0.25 C                           ,VNC ,30.07499508,\"11,283,207.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-05,VENTUS VCT PLC                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B3KVC412,ORD GBP0.25 C                           ,VENC,30.5694585075,\"11,283,207.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-05,VENTUS VCT PLC                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BFXW7734,ORD GBP0.25 D                           ,VEND,30.5694585075,\"1,990,767.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n15-Mar-05,VENTUS VCT PLC                     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00B03KMY45,ORD GBP0.25                             ,VEN ,30.5694585075,\"16,307,547.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Apr-12,VERNALIS                           ,GB,AIM,,GB00B3Y5L754,ORD GBP0.01                             ,VER  ,220.59264448,\"522,112,768.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n19-Sep-06,VERONA PHARMA PLC                  ,GB,AIM,,GB00B06GSH43,ORD GBP0.001                            ,VRP  ,81.176472864,\"2,536,764,777.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Biotechnology,4573,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n12-Jun-13,VERSARIEN PLC                      ,GB,AIM,,GB00B8YZTJ80,ORD GBP0.01                             ,VRS  ,11.6183614,\"116,183,614.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n7-May-15,VERSEON CORP                       ,US,AIM,,USU9221J1098,ORD USD0.001 DI REG S                   ,VSN  ,243.77730636,\"151,414,476.00\",Health Care,Health Care,Pharmaceuticals & Biotechnology,Pharmaceuticals,4577,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jan-15,VERTU CAPITAL LTD                  ,KY,International Main Market,Standard Shares,KYG9341F1081,ORD GBP0.01 (DI)                        ,VCBC,1.125,\"100,000,000.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-07,VERTU MOTORS PLC                   ,GB,AIM,,GB00B1GK4645,ORD GBP0.10                             ,VTU  ,192.639787915,\"397,195,439.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n17-Dec-12,VESUVIUS PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B82YXW83,ORD GBP0.10                             ,VSVS,954.075325,\"272,592,950.00\",Industrials,Industrial Goods & Services,General Industrials,Diversified Industrials,2727,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-06,VIANET GROUP PLC                   ,GB,AIM,,GB00B13YVN56,ORD GBP0.10                             ,VNET ,27.76829654,\"28,191,164.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n16-Dec-13,VICTORIA                           ,GB,AIM,,GB0009290080,ORD GBP0.25                             ,VCP  ,287.913419325,\"18,193,581.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-04,VICTORIA OIL & GAS                 ,GB,AIM,,GB00BRWR3752,ORD GBP0.005                            ,VOG  ,39.41829432,\"109,495,262.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-95,VICTREX                            ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009292243,ORD GBP0.01                             ,VCT ,1284.80858254,\"84,415,807.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-16,VIETNAM ENTERPRISE INVESTMENTS LTD ,KY,International Main Market,Premium Equity Closed Ended Investment Funds,KYG9361H1092,ORD USD0.01(DI)                         ,VEIL,628.7956733025,\"220,920,746.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n15-Jun-06,VIETNAM HLDG LTD                   ,KY,AIM,,KYG9361X1209,WTS 02/05/17 (TO SUB FOR ORD) DI        ,VNHW ,122.364600524522,\"19,977,746.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n15-Jun-06,VIETNAM HLDG LTD                   ,KY,AIM,,KYG9361X1043,ORD SHS USD1                            ,VNH  ,122.364600524522,\"66,650,036.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n5-Jul-07,VIETNAM INFRASTRUCTURE LTD         ,KY,AIM,,KYG936121022,PRIVATE EQTY SHS USD0.01                ,VNI  ,61.0883989918444,\"391,158,266.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n2-Aug-07,VIMETCO NV                         ,NL,International Main Market,Standard GDRs,US92718P1049,GDR EACH REPR 1 ORD '144A'              ,42GD,33.4415698780799,0.00,Basic Materials,Basic Resources,Industrial Metals & Mining,Aluminum,1753,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n2-Aug-07,VIMETCO NV                         ,NL,International Main Market,Standard GDRs,US92718P2039,GDR EACH REPR 1 ORD 'REGS'              ,VICO,33.4415698780799,\"219,484,720.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Aluminum,1753,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n30-Mar-16,VINACAPITAL VIETNAM OPPORTNTY FD LT,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00BYXVT888,ORD USD0.01                             ,VOF ,481.86946824,\"211,346,258.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n22-Mar-06,VINALAND                           ,KY,AIM,,KYG936361016,ORD USD0.01                             ,VNL  ,231.786904912069,\"487,782,222.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,AIM ,AIM ,USD,,,,,,,,,,,,,,,,,,\r\n20-Dec-13,VINALAND ZDP LTD                   ,GG,UK Main Market,Standard Shares,GG00BFN0VM06,ORD ZDP NPV                             ,VNLZ,480.8144751875,\"385,422,425.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n16-Aug-10,VIPERA PLC                         ,GB,AIM,,GB00B5M62J37,ORD GBP0.01                             ,VIP  ,11.632053375,\"258,490,075.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-14,VIRGIN MONEY HLDGS (UK) PLC        ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BQ8P0644,ORD GBP0.0001                           ,VM. ,1397.41685618,\"444,329,684.00\",Financials,Banks,Banks,Banks,8355,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jan-14,VISLINK PLC                        ,GB,AIM,,GB0001482891,ORD GBP0.025                            ,VLK  ,17.9117005125,\"124,603,134.00\",Technology,Technology,Technology Hardware & Equipment,Telecommunications Equipment,9578,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Dec-72,VITEC GROUP PLC (THE)              ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009296665,ORD GBP0.20                             ,VTC ,266.05746323,\"43,544,593.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n3-Oct-01,VITESSE MEDIA                      ,GB,AIM,,GB0006563406,ORD GBP0.01                             ,VIS  ,2.66316732,\"64,561,632.00\",Consumer Services,Media,Media,Publishing,5557,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n26-Oct-88,VODAFONE GROUP                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BH4HKS39,ORD USD0.2095238                        ,VOD ,66340.981696294,\"28,862,728,604.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,SET0,FE00,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jul-39,VOLEX PLC                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009390070,ORD GBP0.25                             ,VLX ,35.902602915,\"89,476,892.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SET3,ON15,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-07,VOLGA GAS PLC                      ,GB,AIM,,GB00B1VN4809,ORD GBP0.01                             ,VGAS ,41.319078,\"81,017,800.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n29-May-15,VOLTA FINANCE LTD                  ,GG,UK Main Market,Premium Equity Closed Ended Investment Funds,GG00B1GHHH78,NPV                                     ,VTA ,215.424730333694,\"36,031,331.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSQ3,SQQ3,EUR,,,,,,,,,,,,,,,,,,\r\n23-Jun-14,VOLUTION GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BN3ZZ526,ORD GBP0.01                             ,FAN ,340,\"200,000,000.00\",Industrials,Construction & Materials,Construction & Materials,Building Materials & Fixtures,2353,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n24-Dec-02,VOLVERE                            ,GB,AIM,,GB0032302688,ORD GBP0.0000001                        ,VLE  ,21.71488055,\"4,155,958.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n6-Apr-73,VP                                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009286963,ORD GBP 0.05                            ,VP. ,286.51093606,\"40,183,862.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-15,VPC SPECIALTY LENDING INVSTMNTS PLC,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BVG6X439,ORD GBP0.01                             ,VSL ,309.918717,\"382,615,700.00\",Financials,Financial Services,Financial Services,Consumer Finance,8773,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-07,VTB BANK(PJSC)                     ,RU,International Main Market,Standard GDRs,US46630Q1031,GDR EACH REPR 2000 ORD '144A'           ,36GK,10095.7560714447,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n17-May-07,VTB BANK(PJSC)                     ,RU,International Main Market,Standard GDRs,US46630Q2021,GDR EACH REPR 2000 ORD 'REGS'           ,VTBR,10095.7560714447,\"6,480,270,976.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n4-Nov-04,W RESOURCES PLC                    ,GB,AIM,,GB00B0358H47,ORD GBP0.001                            ,WRES ,20.7452324574,\"4,190,956,052.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-00,W.H.IRELAND GROUP                  ,GB,AIM,,GB0009241885,ORD GBP0.05                             ,WHI  ,26.39751655,\"26,136,155.00\",Financials,Financial Services,Financial Services,Investment Services,8777,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Dec-06,WALCOM GROUP LTD                   ,VG,AIM,,VGG574851074,ORD HKD0.01 (DI)                        ,WALG ,0.791595462,\"68,834,388.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n22-Aug-96,WALKER CRIPS GROUP PLC             ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1YMRV88,ORD GBP0.066666                         ,WCW ,19.406400255,\"39,204,849.00\",Financials,Financial Services,Financial Services,Investment Services,8777,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Apr-03,WALKER GREENBANK                   ,GB,AIM,,GB0003061511,ORD GBP0.01                             ,WGB  ,125.97815587,\"59,006,162.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Furnishings,3726,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n10-Nov-10,WALSIN LIHWA CORP                  ,TW,Trading Only,,USY9489R1125,GDR EACH REPR 10 SHS REG S              ,WALS,0,\"53,961,540.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n1-Jun-12,WANDISCO PLC                       ,JE,AIM,,JE00B6Y3DV84,ORD GBP0.10                             ,WAND ,69.262253775,\"36,620,190.00\",Technology,Technology,Software & Computer Services,Software,9537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Jun-12,WANDISCO PLC                       ,JE,AIM,,JE00BYPG6G89,ORD GBP0.10(DI) REGS                    ,WAN2 ,69.262253775,\"1,939,659.00\",Technology,Technology,Software & Computer Services,Software,9537,ASX1,AMSR,GBX,,,,,,,,,,,,,,,,,,\r\n17-May-11,WATCHSTONE GROUP PLC               ,GB,AIM,,GB00BYNBFN51,ORD GBP0.1                              ,WTG  ,104.01754716,\"45,822,708.00\",Technology,Technology,Software & Computer Services,Computer Services,9533,AMSM,ASM6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Jul-10,WATER INTELLIGENCE PLC             ,GB,AIM,,GB00BZ973D04,ORD GBP0.01                             ,WATR ,9.1312392,\"10,617,720.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-88,WATERMAN GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009422543,ORD GBP0.10                             ,WTM ,25.68153054,\"30,756,324.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n23-Mar-16,WATKIN JONES PLC                   ,GB,AIM,,GB00BD6RF223,ORD GBP0.01                             ,WJG  ,287.8156565625,\"255,268,875.00\",Consumer Goods,Personal & Household Goods,Household Goods & Home Construction,Home Construction,3728,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n19-Jul-06,WEATHERLY INTERNATIONAL            ,GB,AIM,,GB00B15PVN63,ORD GBP0.005                            ,WTI  ,3.4476103675,\"1,060,803,190.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n9-May-00,WEBIS HOLDINGS PLC                 ,IM,AIM,,GB0004126271,ORD GBP0.01                             ,WEB  ,4.32672141,\"393,338,310.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n25-Jan-46,WEIR GROUP                         ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009465807,ORD GBP0.125                            ,WEIR,3240.82712976,\"215,051,568.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-13,WEISS KOREA OPPORTUNITY FUND LTD   ,GG,AIM,,GG00B933LL68,ORD NPV                                 ,WKOF ,153.825,\"105,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Oct-11,WENTWORTH RESOURCES LTD            ,CA,AIM,,CA9506771042,ORD NPV (DI)                            ,WRL  ,44.4806168625,\"169,449,969.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,ASQ2,AMQ2,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jan-12,WEST AFRICAN MINERALS CORP         ,VG,AIM,,VGG9544K1021,ORD NPV(DI)                             ,WAFM ,7.1449188375,\"381,062,338.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jul-05,WEST BROMWICH B.S.                 ,GB,UK Main Market,Standard Debt,GB00B0CX2M20,6.15% PERM INT BEARING SHS GBP1000      ,WBS ,0,\"75,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n21-Jun-07,WESTMINSTER GROUP PLC              ,GB,AIM,,GB00B1XLC220,ORD GBP0.10                             ,WSG  ,25.279140615,\"88,698,739.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n2-Oct-95,WESTMOUNT ENERGY LTD               ,JE,AIM,,GB00B0S5KR31,ORD NPV                                 ,WTE  ,1.235867765,\"22,470,323.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n30-Oct-92,WETHERSPOON(J.D.)                  ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001638955,ORD GBP0.02                             ,JDW ,1012.92591975,\"114,132,498.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Dec-15,WEY EDUCATION PLC                  ,GB,AIM,,GB00B54NKM12,ORD GBP0.01                             ,WEY  ,3.47170748625,\"95,771,241.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n1-Sep-06,WH SMITH PLC                       ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B2PDGW16,ORD GBP0.220895                         ,SMWH,1747.64899644,\"114,675,131.00\",Consumer Services,Retail,General Retailers,Specialty Retailers,5379,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n9-Jul-48,WHITBREAD                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B1KJJ408,ORD GBP0.76797385                       ,WTB ,7520.88363292,\"180,270,461.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n27-Jul-16,WIDECELLS GROUP PLC                ,GB,UK Main Market,Standard Shares,GB00BD060S65,ORD GBP0.0025                           ,WDC ,7.297838235,\"54,058,061.00\",Health Care,Health Care,Health Care Equipment & Services,Health Care Providers,4533,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-02,WILLIAM HILL PLC                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB0031698896,ORD GBP0.10                             ,WMH ,2722.332267046,\"855,541,253.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Gambling,5752,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n6-Dec-95,WILMINGTON PLC                     ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009692319,ORD GBP0.05                             ,WIL ,204.3175637275,\"85,043,731.00\",Consumer Services,Media,Media,Publishing,5557,SET3,ON10,GBX,,,,,,,,,,,,,,,,,,\r\n18-May-01,WINCANTON                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0030329360,ORD GBP0.10                             ,WIN ,233.79257655,\"119,893,629.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n30-Mar-15,WINDAR PHOTONICS PLC               ,GB,AIM,,GB00BTFR4F17,ORD GBP0.01                             ,WPHO ,24.016905585,\"39,051,879.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n15-Oct-07,WIRELESS GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BDGT1X16,ORD GBP0.07                             ,WLG ,216.27202905,\"68,657,787.00\",Consumer Services,Media,Media,Broadcasting & Entertainment,5553,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n13-Nov-13,WISDOM MARINE LINES CO LTD         ,KY,International Main Market,Standard GDRs,US97717T1060,GDS EACH REPR 5 SHS                     ,WML ,26.74643325624,\"7,200,000.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n16-Jul-12,WISHBONE GOLD PLC                  ,GI,AIM,,GI000A1JU9R7,ORD GBP0.001 (DI)                       ,WSBN ,7.5992435264,\"999,900,464.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n19-Sep-05,WISTRON CORP                       ,TW,Trading Only,,US9773723096,GDR EACH REPR 10 ORD'REGS               ,WIS ,0,\"40,000,000.00\",,,,,0,IOBU,INLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Oct-50,WITAN INVESTMENT TRUST             ,GB,UK Main Market,Standard Shares,GB0009743658,2.7% CUM PRF GBP1                       ,86IP,1426.23585854,\"500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-50,WITAN INVESTMENT TRUST             ,GB,UK Main Market,Standard Shares,GB0009744284,3.4% CUM PRF GBP1                       ,87IP,1426.23585854,\"2,055,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-50,WITAN INVESTMENT TRUST             ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0009744060,ORD GBP0.25                             ,WTAN,1426.23585854,\"173,343,307.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n27-Oct-50,WITAN INVESTMENT TRUST             ,GB,UK Main Market,Standard Debt,GB0009743765,8.5% DEB STK 2016                       ,62JT,1426.23585854,\"46,000,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STBS,SBDL,GBP,,,,,,,,,,,,,,,,,,\r\n11-Feb-52,WITAN PACIFIC INVESTMENT TRUST     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003656021,ORD GBP0.25                             ,WPC ,182.6641908,\"65,237,211.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n2-Mar-15,WIZZ AIR HLDGS PLC                 ,JE,UK Main Market,Premium Equity Commercial Companies,JE00BN574F90,ORD GBP0.0001                           ,WIZZ,898.52993155,\"56,263,615.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Airlines,5751,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n30-Nov-11,WOLF MINERALS LTD                  ,AU,AIM,,AU000000WLF3,ORD NPV(DI)                             ,WLFE ,66.21917500125,\"999,534,717.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Nov-10,WOLSELEY PLC                       ,JE,UK Main Market,Premium Equity Commercial Companies,JE00BFNWV485,ORD GBP0.108030303                      ,WOS ,11683.899222,\"266,755,690.00\",Industrials,Industrial Goods & Services,Support Services,Industrial Suppliers,2797,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jun-02,WOOD GROUP(JOHN)                   ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B5N0P849,ORD GBP0.04285714                       ,WG. ,2585.458740025,\"371,207,285.00\",Oil & Gas,Oil & Gas,\"Oil Equipment, Services & Distribution\",Oil Equipment & Services,573,STMM,F25F,GBX,,,,,,,,,,,,,,,,,,\r\n21-Apr-15,WOODFORD PATIENT CAPITAL TRUST PLC ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB00BVG1CF25,ORD GBP0.01                             ,WPCT,749.7125,\"810,500,000.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n1-Mar-06,WORK GROUP                         ,GB,AIM,,GB00B0VP0707,ORD GBP0.02                             ,WORK ,0.908346985,\"27,949,138.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n18-Feb-16,WORK SERVICE SA                    ,PL,International Main Market,Standard Shares,PLWRKSR00019,PLN0.10                                 ,WSE ,143.2086106,\"65,094,823.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n15-Dec-93,WORKSPACE GROUP PLC                ,GB,UK Main Market,Premium Equity Commercial Companies,GB00B67G5X01,ORD GBP1                                ,WKP ,1091.553871885,\"159,002,749.00\",Financials,Real Estate,Real Estate Investment Trusts,Industrial & Office REITs,8671,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n20-Mar-00,WORLD CAREERS NETWORK              ,GB,AIM,,GB0002677085,ORD GBP0.001                            ,WOR  ,13.44855575,\"7,684,889.00\",Industrials,Industrial Goods & Services,Support Services,Business Training & Equipment Agencies,2793,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n18-Aug-88,WORLD TRADE SYSTEMS                ,GB,UK Main Market,,GB0031939183,ORD GBP0.50                             ,WTS ,0,\"8,747,377.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,SSQ3,SQQ3,GBX,,,,,,,,,,,,,,,,,,\r\n24-Nov-11,WORLDLINK GROUP PLC                ,GB,UK Main Market,,GB00B3P21X12,GBP0.01                                 ,WGP ,0,\"42,036,383.00\",Consumer Services,Media,Media,Publishing,5557,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n16-Oct-15,WORLDPAY GROUP PLC                 ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BYYK2V80,ORD GBP0.03 (WI)                        ,WPG ,5976,\"2,000,000,000.00\",Industrials,Industrial Goods & Services,Support Services,Financial Administration,2795,SET1,FS10,GBX,,,,,,,,,,,,,,,,,,\r\n27-Mar-97,WORLDSEC                           ,BM,International Main Market,Premium Equity Closed Ended Investment Funds,BMG9774L1019,ORD USD0.001                            ,WSL ,3.6877477,\"56,734,580.00\",Financials,Financial Services,Financial Services,Asset Managers,8771,SSX3,SQNC,GBX,,,,,,,,,,,,,,,,,,\r\n28-Apr-95,WORLDWIDE HEALTHCARE TRUST PLC     ,GB,UK Main Market,Premium Equity Closed Ended Investment Funds,GB0003385308,ORD GBP0.25                             ,WWH ,877.88095017,\"43,309,371.00\",Financials,Equity Investment Instruments,Equity Investment Instruments,Equity Investment Instruments,8985,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jan-54,WORTHINGTON GROUP                  ,GB,UK Main Market,,GB00B01YQ796,ORD GBP0.10                             ,WRN ,0,\"14,498,783.00\",Consumer Goods,Personal & Household Goods,Personal Goods,Clothing & Accessories,3763,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n2-Jan-13,WPP PLC                            ,JE,UK Main Market,Premium Equity Commercial Companies,JE00B8KF9B49,ORD GBP0.10                             ,WPP ,20999.12480592,\"1,195,849,932.00\",Consumer Services,Media,Media,Media Agencies,5555,SET1,FE10,GBX,,,,,,,,,,,,,,,,,,\r\n4-Feb-10,WYG PLC                            ,GB,AIM,,GB00B5N5WH70,ORD GBP0.001                            ,WYG  ,73.097300675,\"67,997,489.00\",Industrials,Industrial Goods & Services,Support Services,Business Support Services,2791,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n24-May-04,WYNNSTAY GROUP                     ,GB,AIM,,GB0034212331,ORD GBP0.25                             ,WYN  ,101.174526075,\"18,999,911.00\",Consumer Goods,Food & Beverage,Food Producers,Farming & Fishing,3573,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n21-Sep-95,WYNNSTAY PROPERTIES                ,GB,AIM,,GB0009842898,ORD GBP 0.25                            ,WSP  ,12.7445999,\"2,711,617.00\",Financials,Real Estate,Real Estate Investment & Services,Real Estate Holding & Development,8633,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n11-May-05,X5 RETAIL GROUP N.V                ,NL,International Main Market,Standard GDRs,US98387E2054,GDR EACH REPR 0.25 SHS REG'S'           ,FIVE,5432.92550045269,\"264,586,852.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n11-May-05,X5 RETAIL GROUP N.V                ,NL,International Main Market,Standard GDRs,US98387E1064,GDR EACH REPR 0.25 SHS '144A'           ,89VS,5432.92550045269,\"6,986,020.00\",Consumer Services,Retail,Food & Drug Retailers,Food Retailers & Wholesalers,5337,MISL,ADPL,USD,,,,,,,,,,,,,,,,,,\r\n17-Oct-97,XAAR                               ,GB,UK Main Market,Premium Equity Commercial Companies,GB0001570810,ORD GBP0.10                             ,XAR ,372.37614629,\"74,031,043.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n16-Nov-07,XCITE ENERGY LTD                   ,VG,AIM,,VGG9828A1194,ORD NPV(CDI)                            ,XEL  ,22.1761384191,\"311,900,681.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,AMSM,AM25,GBX,,,,,,,,,,,,,,,,,,\r\n25-Mar-14,XEROS TECHNOLOGY GROUP PLC         ,GB,AIM,,GB00BJFLLV84,ORD GBP0.0015                           ,XSG  ,179.589622955,\"82,951,327.00\",Industrials,Industrial Goods & Services,Industrial Engineering,Industrial Machinery,2757,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-14,XLMEDIA PLC                        ,JE,AIM,,JE00BH6XDL31,ORD USD0.000001                         ,XLM  ,178.814518785,\"200,352,402.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n25-Apr-07,XP POWER LTD                       ,SG,International Main Market,Premium Equity Commercial Companies,SG9999003735,ORD NPV (DI)                            ,XPP ,313.11784032,\"19,069,296.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electrical Components & Equipment,2733,SSMM,SSC5,GBX,,,,,,,,,,,,,,,,,,\r\n11-Jul-13,XPLORER PLC                        ,GB,UK Main Market,,GB00B8VWXF68,ORD GBP0.001                            ,XPL ,0,\"12,375,100.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Exploration & Production,533,SSX3,SQSL,GBX,,,,,,,,,,,,,,,,,,\r\n13-Sep-11,XTRACT RESOURCES PLC               ,GB,AIM,,GB00B06QGC57,ORD GBP0.0001                           ,XTR  ,7.024993241,\"14,049,986,482.00\",Basic Materials,Basic Resources,Mining,Gold Mining,1777,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n15-Nov-96,YANGMING MARINE TRANSPORT CORP     ,TW,PSM,Standard GDRs,US9847491019,GDR-EACH REPR 10 ORD TWD(144 A)         ,YMT1,20.2075460037,0.00,Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,MISC,INPD,USD,,,,,,,,,,,,,,,,,,\r\n15-Nov-96,YANGMING MARINE TRANSPORT CORP     ,TW,PSM,Standard GDRs,US9847492009,GDR-EACH REPR 10 ORD TWD(REG'S)         ,YMTD,20.2075460037,\"9,999,330.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,IOBU,IPLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Jun-97,YAPI VE KREDI BANKASI AS           ,TR,International Main Market,Standard GDRs,US9848482009,GDR EACH REPR 1 ORD REG S               ,YKBD,0,\"6,637,440.00\",Financials,Banks,Banks,Banks,8355,IOBU,LLLN,USD,,,,,,,,,,,,,,,,,,\r\n27-Jun-97,YAPI VE KREDI BANKASI AS           ,TR,International Main Market,Standard GDRs,US9848481019,GDR EACH REPR 1 ORD 144A                ,98KI,0,0.00,Financials,Banks,Banks,Banks,8355,MISC,INTM,USD,,,,,,,,,,,,,,,,,,\r\n2-Apr-03,YOLO LEISURE & TECHNOLOGY PLC      ,GB,AIM,,GB00B6TG6Y69,ORD GBP0.01                             ,YOLO ,1.6550355115,\"178,922,758.00\",Financials,Financial Services,Financial Services,Specialty Finance,8775,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n28-Mar-06,YORKSHIRE BUILDING SOCIETY         ,GB,UK Main Market,Standard Debt,XS0247065674,5.649% PERM INT BEARING SHS GBP50000    ,YBS ,0,\"150,000,000.00\",,,,,7,STBS,SBDU,GBP,,,,,,,,,,,,,,,,,,\r\n25-Apr-05,YOUGOV                             ,GB,AIM,,GB00B1VQ6H25,ORD GBP0.002                            ,YOU  ,198.674692185,\"104,291,177.00\",Consumer Services,Media,Media,Media Agencies,5555,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-05,YOUNG & CO'S BREWERY               ,GB,AIM,,GB00B2NDK765,ORD GBP0.125 A                          ,YNGA ,570.97730544,\"29,524,002.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n5-Jul-05,YOUNG & CO'S BREWERY               ,GB,AIM,,GB00B2NDK989,NON VTG ORD GBP0.125                    ,YNGN ,570.97730544,\"19,160,000.00\",Consumer Services,Travel & Leisure,Travel & Leisure,Restaurants & Bars,5757,AMSM,AS50,GBX,,,,,,,,,,,,,,,,,,\r\n17-Mar-16,YU GROUP PLC                       ,GB,AIM,,GB00BYQDPD80,ORD GBP0.005                            ,YU.  ,33.729732,\"14,054,055.00\",Utilities,Utilities,\"Gas, Water & Multiutilities\",Multiutilities,7575,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Feb-09,YUJIN INTL LTD                     ,SG,AIM,,SG9999005946,NPV (DI)                                ,YUJ  ,0,\"30,000,010.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Marine Transportation,2773,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n13-Dec-07,ZAMANO PLC                         ,IE,AIM,,IE00B1G17W46,ORD EUR0.001                            ,ZMNO ,9.9460174,\"99,460,174.00\",Telecommunications,Telecommunications,Mobile Telecommunications,Mobile Telecommunications,6575,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-11,ZAMBEEF PRODUCTS                   ,ZM,AIM,,ZM0000000201,ORD ZMW0.01                             ,ZAM  ,40.2964566875,\"247,978,195.00\",Consumer Goods,Food & Beverage,Food Producers,Food Products,3577,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Nov-10,ZANAGA IRON ORE CO LTD             ,VG,AIM,,VGG9888M1023,ORD NPV (DI)                            ,ZIOC ,7.34675395125,\"279,876,341.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Iron & Steel,1757,AMSM,ASM7,GBX,,,,,,,,,,,,,,,,,,\r\n29-Jun-70,ZCCM INVESTMENTS HLDGS             ,ZM,International Main Market,Standard Shares,ZM0000000037,'B'ORD ZMK10                            ,ZCC ,28.0209617961931,\"35,470,620.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,SSX4,SXSN,USD,,,,,,,,,,,,,,,,,,\r\n29-Sep-15,ZEGONA COMMUNICATIONS PLC          ,GB,UK Main Market,Standard Shares,GB00BVGBY890,ORD GBP0.01                             ,ZEG ,203.8867584,\"196,044,960.00\",Financials,Nonequity Investment Instruments,Nonequity Investment Instruments,Nonequity Investment Instruments,8995,SSQ3,SQS3,GBX,,,,,,,,,,,,,,,,,,\r\n21-Mar-13,ZENITH BANK                        ,NG,International Main Market,Standard GDRs,US98935J1025,SPONS GDR EACH REPR ORD SHS REG S       ,ZENB,1104.639,\"500,000,000.00\",Financials,Banks,Banks,Banks,8355,IOBE,LLHE,USD,,,,,,,,,,,,,,,,,,\r\n5-May-00,ZHEJIANG EXPRESSWAY CO             ,CN,International Main Market,Standard Shares,CNE1000004S4,'H'CNY1                                 ,ZHEH,1224.92142390774,\"1,433,854,500.00\",Industrials,Industrial Goods & Services,Industrial Transportation,Transportation Services,2777,SSX4,SXSN,GBX,,,,,,,,,,,,,,,,,,\r\n20-Jun-14,ZIBAO METALS RECYCLING HLDGS LTD   ,GB,AIM,,GB00BGP6NY91,ORD GBP0.01                             ,ZBO  ,1.3726125,\"122,010,000.00\",Basic Materials,Basic Resources,Industrial Metals & Mining,Nonferrous Metals,1755,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n10-Dec-01,ZINCOX RESOURCES PLC               ,GB,AIM,,GB0031124638,ORD GBP0.01                             ,ZOX  ,1.540244594,\"220,034,942.00\",Basic Materials,Basic Resources,Mining,General Mining,1775,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n18-Jun-14,ZOLTAV RESOURCES INC               ,KY,AIM,,KYG9895N1198,ORD USD0.2 (DI)                         ,ZOL  ,31.88371185,\"141,705,386.00\",Oil & Gas,Oil & Gas,Oil & Gas Producers,Integrated Oil & Gas,537,ASQ1,AMQ1,GBX,,,,,,,,,,,,,,,,,,\r\n14-May-01,ZOO DIGITAL GROUP PLC              ,GB,AIM,,GB00B1FQDL10,ORD GBP0.15                             ,ZOO  ,2.8134586375,\"32,153,813.00\",Technology,Technology,Software & Computer Services,Software,9537,AIM ,AIM ,GBX,,,,,,,,,,,,,,,,,,\r\n23-Jun-14,ZOOPLA PROPERTY GROUP PLC          ,GB,UK Main Market,Premium Equity Commercial Companies,GB00BMHTHT14,ORD GBP0.001                            ,ZPLA,1246.71114786,\"417,658,676.00\",Consumer Services,Media,Media,Media Agencies,5555,STMM,25FS,GBX,,,,,,,,,,,,,,,,,,\r\n28-Feb-95,ZOTEFOAMS                          ,GB,UK Main Market,Premium Equity Commercial Companies,GB0009896605,ORD GBP 0.05                            ,ZTF ,117.47915091,\"44,415,558.00\",Basic Materials,Chemicals,Chemicals,Specialty Chemicals,1357,SSMM,SSC6,GBX,,,,,,,,,,,,,,,,,,\r\n6-Jul-00,ZYTRONIC                           ,GB,AIM,,GB0006971013,ORD GBP0.01                             ,ZYT  ,56.00122875,\"14,933,661.00\",Industrials,Industrial Goods & Services,Electronic & Electrical Equipment,Electronic Equipment,2737,AIMI,AIMT,GBX,,,,,,,,,,,,,,,,,,\r\n"
  },
  {
    "path": "p5-capstone/report.md",
    "content": "# Predicting Daily Adjusted Close Stock Prices\n### Machine Learning in Trading: An Exploratory Study\n\nJessica Yung, October 2016\n\nUdacity Machine Learning Nanodegree Capstone Project\n\n# I. Definition\n\n## I.1 Project Overview\n\n### Introduction\nPeople have used machine learning in trading for decades. Hedge funds, high-frequency trading shops and sole traders use all sorts of strategies, from Bayesian statistics to physics related strategies.\n\n### Scope of this project\nWe will investigate **using machine learning in trading equities**, specifically to **predict equity prices for a 7-day period**. Equities are stocks - shares of companies like Apple and Google that are publically listed on the stock exchange. That means any licensed stock broker can trade those stocks. By trading, we mean buying and selling these shares on the stock exchange.\n\nWe will only tackle trading equities and not other more complex financial products because calculating returns for those products is more complex and equities are sufficiently interesting.\n\n### Why trading is an interesting domain for machine learning\n1. Firstly, there are many non-engineered features. If we include only equities, we already have over 10,000 equities globally. That makes for at least 10,000 potential non-engineered features. \n\n2. Secondly, there are many datapoints. Even access to only daily trading information gives us 30 years * 365 days = over 10,000 datapoints for each of many stocks. (This is only an estimate because trading does not take place on Sundays in all non-Israeli exchanges.) If we were to look at intraday figures, there's even more data: in January 2009, an average of 881,609 trades were made per day in equities on the London Stock Exchange [(Source: LSE Group)](http://www.lseg.com/media-centre/news/corporate-press-releases/185-million-electronic-equity-trades-across-london-stock-exchange-group-order-books-january).\n\n3. It is also interesting because research in machine learning and statistics has affected how markets behave. There is no strategy or algorithm that will solve this problem or remain forever 'optimal' - if a profitable strategy is found, it may be copied by other people and so be priced in or it may be fought against or taken advantage of. This is more relevant to high-frequency trading than daily trading but nonetheless has an impact. \n\n### Aim of this project\n\nThe aim of this exploratory study is to get a feel for what types of features are involved in predicting stock prices and how different models perform in this setting. The challenges will be discussed in more detail in the Problem Statement.\n\nPredicting stock prices accurately is difficult: there are many factors that influence stock prices and a lot of noise.\n\nThis exploratory study does not aim to produce a state-of-the-art, better-than-benchmark-buy-and-hold (transaction costs included) trading strategy - that is extremely difficult and is a challenge even for top trading firms. \n\n### Data used in this project\n\nThere is one primary dataset for this project and two supplementary datasets.\n\n* The primary dataset is a CSV with all the daily stock prices from 1977 for stocks listed on the the London Stock Exchange. This dataset was downloaded from Quandl. \n* The first supplementary dataset is a spreadsheet listing the stocks currently listed on the London Stock Exchange with information such as what each listed company's stock symbol is and which sector they belong to. This spreadsheet was downloaded from the London Stock Exchange website.\n* The second supplementary dataset is a CSV with Open, High, Low, and Close data for the FTSE100 from April 1, 1984 to Sept 9, 2016. This data was scraped from Google Finance and is used for feature engineering.\n\nThe features and characteristics of the primary dataset will be discussed more thoroughly in Section II: Data Exploration.\n\n## I.2 Problem Statement\n\n### Problem\n\nBuild a stock price predictor that satifies:\n<table>\n<th>Category</th><th>Details</th>\n<tr><td>Input</td><td>Daily trade data over a `start_date - end_date`. Daily trade data consists of adjusted and unadjusted Open, High, Low, Close figures for a set of stocks S.</td></tr>\n<tr><td>Output</td><td><ul><li>Projected estimates of Adjusted Close prices for query dates for pre-chosen stock BP in S.</li><li>Results satisfy predicted stock value 7 days out is within +/- 5% of actual value, on average.</li></td></tr>\n</table>\n\nGlossary:\n* **Adjusted prices** are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.\n* **BP** is the stock symbol for British Petroleum, an energy company.\n\n### Interesting characteristics of this problem\nThere are a few interesting characteristics of this problem compared to previous projects in the Machine Learning Engineer Nanodegree.\n\n1. Predicting multiple outputs: We will predict the adjusted close prices for 7 days after the last input date.\n2. Extracting and engineering the input data as opposed to being given input data.\n3. We will be using time series data.\n\n### Challenges\n1. The model has to be run for dates not within the training set for the model to be 'fair'. But given there may be big shifts in how people view the markets from year to year, it may be hard for the model to generalise from one year to the next.\n2. Energy companies' stock prices are volatile so they may be harder to predict.\n\n### Analysis of Problem\n\nThis is a regression problem (as opposed to a classification problem) because we are predicting daily Adjusted Close prices for a stock. These prices are continuous.\n\nCompare this to a related problem: If this were high-frequency trading and we were trying to predict the stock price in the next nanosecond we could tackle price prediction as a binary classification problem instead (does the price go up or down?).\n\nIt's not immediately obvious what kind of model will be best.\n\nCharacteristic of problem: \n- Time-series data.\n- Noisy data\n- Datapoints (prices of different stocks) are not independent of each other -> Naive Bayes is not appropriate\n- Many features. (Daily open, high, low, adjusted close for many stocks) -> \n- Regression problem (continuous output).\n- Training cost or time: it is not critical to keep this lower than 12 hours because we are predicting daily prices based on stats from prior days' trading. \n- Prediction time: Again not critical to keep this low. Anything within an hour would do.\n\n### Strategy\nI intend to do the following:\n\n1. Explore the data\n- Come up with a basic model with which I can predict the next day's prices and then the next 7 days' prices as a benchmark\n- Try adding different features and using different algorithms\n    - Features include x-day moving averages of BP stocks, stocks in the oil industry, and indices such as the FTSE 100. \n- Assess which model is best using the metric described below.\n\n### Expected Solution\n\nThe solution will be 7 predicted prices for each trading day within 7 trading days after the last date in the input date range. We will compare the 7 predicted prices with the actual adjusted close prices.\n\n## I.3 Metrics\n\nWe will measure performance as the **root mean squared percentage error** (difference between the stock's actual and predicted Adjusted Close prices). \n\nReasoning: \n1. This represents the error between the actual price and the predicted price. \n2. We have to square it and then take the square root because if we don't square it, errors from overestimates and underestimates will cancel each other out.\n\nWe will also informally consider **the range of root mean squared percentage error** as a secondary metric - we want a model with lower error variance because a series of small good trades (gaining \\$1 ten times) can be more than cancelled out by a single large-magnitude bad trade (losing \\$50 once).\n\nWe will not consider transaction costs (you have to pay every time you trade and that will reduce profits).\n\n\n# II. Analysis\n\n## II.1 Data Exploration\n\n### Description of Primary Dataset\nThe primary dataset used is daily stock data for stocks on the London Stock Exchange (LSE). The date range for stock data varies depending on when the stock went public. The furthest date was in the year 1954. The most recent date in the dataset was 9 September 2016. The data was taken from Quandl's free access database.\n\nAll the data is in one comma-separated value file (CSV), with each row being one datapoint. There are over 14 million datapoints in the dataset. \n\nEach row has 14 columns. That means we have 14 features for each stock on every trading day since the year when the stock was tradable (from 1954 onwards). Unless otherwise indicated, the column values are all floats.\n\n<table>\n<th>Column</th><th>Format or accuracy if float</th><th>Meaning</th>\n<tr><td>Stock symbol</td><td>string</td><td>How the stock is represented on the London Stock Exchange. E.g. GOOGLE's stock symbol is GOOGL.</td></tr>\n<tr><td>Date</td><td>YYYY-MM-DD</td><td></td></tr>\n<tr><td>Open</td><td>given to 2 decimal places (2 d.p.)</td><td>Price of stock when the market opened on that day in GBP £.</td></tr>\n<tr><td>High</td><td>2 d.p.</td><td>Maximum price of the stock during the trading day in GBP £.</td></tr>\n<tr><td>Low</td><td>2 d.p.</td><td>Minimum price of the stock during the trading day in GBP £.</td></tr>\n<tr><td>Close</td><td>2 d.p.</td><td>Price of stock when the market closed on that day in GBP £.</td></tr>\n<tr><td>Volume</td><td>1 d.p.</td><td>The number of shares of that stock traded on that day.</td></tr>\n<tr><td>Ex-Dividend</td><td>1 d.p.</td><td>The value of the declared or upcoming dividend that will belong to the seller of the stock share rather than the buyer. Dividend is profits distributed to shareholders. If the upcoming dividend will be given to the buyer, Ex-Dividend = 0.</td></tr>\n<tr><td>Split Ratio</td><td>1 d.p.</td><td>A company may choose to split their stock. E.g. a 2.0 (2:1) split ratio means shareholders get two new shares for every share they hold. This halves the price to preserve the market capitalisation (total value) of the company.</td></tr>\n<tr><td>Adjusted Open</td><td>6 d.p.</td><td>Adjusted opening price (price of stock when the market opened on that day). Adjusted prices are prices amended to include any distributions and corporate actions such as stock splits (splitting one stock into two which would halve the price), dividends (giving stockholders cash as a fraction of profits) that occurred at any time before the next day's open.</td></tr>\n<tr><td>Adjusted High</td><td>6 d.p.</td><td>See Adjusted Open and High.</td></tr>\n<tr><td>Adjusted Low</td><td>6 d.p.</td><td>See Adjusted Open and Low.</td></tr>\n<tr><td>Adjusted Close</td><td>6 d.p.</td><td>See Adjusted Open and Close.</td></tr>\n<tr><td>Adjusted Volume</td><td>1 d.p.</td><td>See Adjusted Open and  Volume.</td></tr>\n</table>\n\nReference: [Definition of Ex-Dividend (Investopedia)](http://www.investopedia.com/terms/e/ex-dividend.asp)\n\n#### Data sample\n\n<table>\n<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\n<tr><td>0</td><td>A</td><td>1999-11-18</td><td>45.50</td><td>50.00</td><td>40.00</td><td>44.00</td><td>44739900.0</td><td>0.0</td><td>1.0</td><td>43.471810</td><td>47.771219</td><td>38.216975</td><td>42.038673</td><td>44739900.0</td></tr>\n<tr><td>1</td><td>A</td><td>1999-11-19</td><td>42.94</td><td>43.00</td><td>39.81</td><td>40.38</td><td>10897100.0</td><td>0.0</td><td>1.0</td><td>41.025923</td><td>41.083249</td><td>38.035445</td><td>38.580037</td><td>10897100.0</td></tr>\n<tr><td>2</td><td>A</td><td>1999-11-22</td><td>41.31</td><td>44.00</td><td>40.06</td><td>44.00</td><td>4705200.0</td><td>0.0</td><td>1.0</td><td>39.468581</td><td>42.038673</td><td>38.274301</td><td>42.038673</td><td>4705200.0</td></tr>\n<tr><td>3</td><td>A</td><td>1999-11-23</td><td>42.50</td><td>43.63</td><td>40.25</td><td>40.25</td><td>4274400.0</td><td>0.0</td><td>1.0</td><td>40.605536</td><td>41.685166</td><td>38.455832</td><td>38.455832</td><td>4274400.0</td></tr>\n<tr><td>4</td><td>A</td><td>1999-11-24</td><td>40.13</td><td>41.94</td><td>40.00</td><td>41.06</td><td>3464400.0</td><td>0.0</td><td>1.0</td><td>38.341181</td><td>40.070499</td><td>38.216975</td><td>39.229725</td><td>3464400.0</td></tr>\n</table>\n*Obtained using `df.head()`*\n\n### Description of supplementary dataset (FTSE100)\n\nI wanted to add features that corresponded to the general market trend and thought the FTSE100 would be a good representation. The FTSE100 as a single index was not included in my primary dataset, so I obtained the data by scraping Google Finance with a python script (see `google-finance-scraper.py`).\n\nThe supplementary dataset has Open, High, Low, Close data in the date range April 1, 1984 - September 9, 2016.\n\n### Defining Characteristics about Stock Data\n1. **Limit Down Circuit Breakers**: When the stock price falls by Limit Down during one trading day, trading curbs may kick in. This may mean no further trading of that stock is allowed on that day unless the trading prices are above the Limit Down. Curbs and Limit Downs vary by exchange.\n    - This reduces the maximum daily variation of stock prices.\n\n### Dataset Statistics \n\nThe summary statistics for the dataset are not too meaningful, but it gives us an idea of the **variance within the dataset**. The standard deviation of the adjusted close price is of magnitude 10^3 ($1000), and the standard deviation of adjusted volume is of magnitude 10^6 (1,000,000 shares). \n\nThe summary statistics suggest that the data is **positively skewed**. \n\n\n<table>\n<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\n<tr><td>mean</td><td>7.092291e+01</td><td>7.188109e+01</td><td>7.047024e+01</td><td>7.120251e+01</td><td>1.182026e+06</td><td>1.982789e-03</td><td>1.000210e+00</td><td>7.518079e+01</td><td>7.633755e+01</td><td>7.451613e+01</td><td>7.544570e+01</td><td>1.402925e+06</td></tr>\n<tr><td>std</td><td>2.193723e+03</td><td>2.220224e+03</td><td>2.191789e+03</td><td>2.206792e+03</td><td>8.868551e+06</td><td>3.370723e-01</td><td>2.165061e-02</td><td>2.266636e+03</td><td>2.295340e+03</td><td>2.261718e+03</td><td>2.279264e+03</td><td>6.620816e+06</td></tr>\n<tr><td>min</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>1.000000e-02</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td><td>0.000000e+00</td></tr>\n<tr><td>max</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>6.674913e+09</td><td>9.625000e+02</td><td>5.000000e+01</td><td>2.281800e+05</td><td>2.293740e+05</td><td>2.275300e+05</td><td>2.293000e+05</td><td>2.304019e+09</td></tr>\n</table>\n\nI have checked the count is constant across all columns, i.e. that there are no missing values.\n\n### Interesting observations: Abnormalities in dataset\nThe minimum Open, High, Low and Close are all zero. If a stock trades at a price of zero, it kind of doesn't exist. I will examine this in the Data Preprocessing section.\n\n### BP Statistics\n\nMore meaningful than the summary statistics for all 3,000+ stocks is the summary statistics for one stock. Since one of the stocks we are hoping to predict is that of BP (British Petroleum), let's examine the corresponding summary statistics.\n\n<table>\n<tr><th></th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th><th>Daily Variation</th></tr>\n<tr><td>mean</td><td>59.428433</td><td>59.908222</td><td>58.943809</td><td>59.446137</td><td>2.816082e+06</td><td>0.004626</td><td>1.000400</td><td>18.705367</td><td>18.855246</td><td>18.547576</td><td>18.707358</td><td>3.408274e+06</td><td>0.0</td></tr>\n<tr><td>std</td><td>20.589378</td><td>20.676885</td><td>20.513272</td><td>20.598500</td><td>7.217241e+06</td><td>0.048270</td><td>0.019987</td><td>14.127674</td><td>14.228791</td><td>14.011973</td><td>14.122609</td><td>7.532096e+06</td><td>0.0</td></tr>\n<tr><td>min</td><td>27.250000</td><td>27.850000</td><td>26.500000</td><td>27.020000</td><td>0.000000e+00</td><td>0.000000</td><td>1.000000</td><td>1.522366</td><td>1.528872</td><td>1.503109</td><td>1.522366</td><td>0.000000e+00</td><td>0.0</td></tr>\n<tr><td>25%</td><td>44.750000</td><td>45.162500</td><td>44.250000</td><td>44.770000</td><td>1.831500e+05</td><td>0.000000</td><td>1.000000</td><td>5.426399</td><td>5.493816</td><td>5.373302</td><td>5.442764</td><td>7.536000e+05</td><td>0.0</td></tr>\n<tr><td>50%</td><td>53.940000</td><td>54.360000</td><td>53.500000</td><td>53.940000</td><td>6.371500e+05</td><td>0.000000</td><td>1.000000</td><td>15.077767</td><td>15.165769</td><td>15.033179</td><td>15.099474</td><td>1.904100e+06</td><td>0.0</td></tr>\n<tr><td>75%</td><td>69.750000</td><td>70.230000</td><td>69.327500</td><td>69.795000</td><td>3.784475e+06</td><td>0.000000</td><td>1.000000</td><td>31.849522</td><td>32.207689</td><td>31.524772</td><td>31.889513</td><td>4.051675e+06</td><td>0.0</td></tr>\n<tr><td>max</td><td>147.120000</td><td>147.380000</td><td>146.380000</td><td>146.500000</td><td>2.408085e+08</td><td>0.840000</td><td>2.000000</td><td>50.669004</td><td>50.988683</td><td>50.039144</td><td>50.533702</td><td>2.408085e+08</td><td>0.0</td></tr>\n</table>\n\nI have checked the count is 10010 across all columns, i.e. that there are no missing values.\n\nThis is much better understood with a visualisation of the BP data.\n\n## II.2 Exploratory Visualisations\n\n### Open and Adjusted Open Prices\nLet's first get an idea of the open and adjusted open prices. This is equivalent to visualising the the close and adjusted close prices - the variable we want to predict - shifted by one day.\n\n<img src=\"images/bp-open-prices.png\" />\n<img src=\"images/bp-adj-open-prices.png\" />\n\n*Prices are in GBP £.*\n\n#### Observations\n1. **Adjusted vs non-adjusted figures** It is extraordinary: the adjusted open and the open are radically different for BP, whereas with stock 'A' in the first few rows of the df, Adj. Open and Open had similar values. This makes sense because some stocks that have few corporate actions e.g. stocks that don't have stock splits or give out dividends will require little value adjustment.\n    - Since we are predicting the Adjusted Close, my guess is that the Adjusted figures (Open, High, Low, Volume) will be more useful in predicting the adjusted price. The non-adjusted figures (specifically Volume) may still useful in predicting momentum.\n\n2. **Trend** The non-adjusted prices do not show an upward trend. The adjusted open prices show somewhat of an upward trend but it has been too volatile in recent years to draw any conclusions.\n\n3. **Volatility** The stock price looks volatile, which is expected for an oil stock. From the descriptive statistics, the mean daily percentage variation is 1.72% and the maximum daily percentage variation is 16.0%.\n\n### Volatility: Percentage Variation\n\nTo examine the volatility of BP stock, I constructed the features Percentage Variation and Adj. Percentage Variation, where\n\n`Percentage Variation = (High - Low)/Open * 100`.\n\n<img src=\"images/bp-percentage-variation.png\" />\n<img src=\"images/bp-adj-percentage-variation.png\" />\n\n#### Observations\nThe Adjusted Percentage Variation and Percentage Variation look similar. There does not seem to be marked trends. It is of note that the stocks are consistently volatile with typical percentage variation of 0-4% in recent years, punctuated with spikes of extremely volatile periods of up to 16% variation.\n\n## II.3 Algorithms and techniques\n\n\n### Algorithm\n\nI intend to use **linear regression**. \n\n#### Algorithm Description\n\nLinear Regression is a way of modelling data by observing data and constructing an equation that minimises error. This regression is linear because the equation takes the form\n$$\\hat y = \\sum \\beta_i x_i$$\n\nwhere $y$ is what we want to predict (stock prices) and $x_i$s are features such as the date. The hat on top of $y$ indicates it is an estimate.\n\nThat is, this regression is linear because the $x_i$s all have degree 1.\n\n\n#### Algorithm Justification\n1. I am using a **linear algorithm** because the the **signal-to-noise ratio in trading is low** and more complicated models seem like they would overfit.\n2. A linear regression is appropriate because this is a **regression problem** - that is, the output are continuous. \n    - Note that *regression* in linear regression does not mean the same thing as *regression* in a regression problem.\n\n#### Algorithm Parameters\nThere are only four parameters for `LinearRegression`:\n- `fit_intercept` is set to True by default; setting it to false assumes the data is centered and will not produce better results.\n- `normalize` normalizes the regressors X before regression. It is set to `False` by default.\n- `copy_X` alters whether or not X may be overwritten, which does not affect the result.\n- `n_jobs` can provide a speedup if the problem is large and you ask the algorithm to use more CPUs, but it will not change error measures.\n\nWithin these, there is only one parameter that it may be useful to adjust (`normalize`) to improve the error of the result.\n\n### Techniques\n\n1. **Time-series train-test split**\n    - We will train our model on what we'll call the **training set**, a subset of the data that we have.\n    - To make sure our model generalises, we need to test it on some data it has not seen before and evaluate how well it does predicting on that data. \n    - To do this, we need to set aside data for testing our model - the **test set**.\n    - Because our data is time series data (there is some ordering to it and the ordering influences prices), we cannot shuffle the data.\n    - If the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\n    - So we cannot use sklearn's `train_test_split` function which automatically shuffles the data. Instead, I will write my own function.\n2. **Time-series cross-validation**\n    - But testing on only one test set and training on only one training set isn't robust enough. What if the test or training sets we choose have special characteristics that aren't common to other datasets?\n    - To make our evaluation more robust so we choose the best model, it's better if we can run multiple train-test cycles. \n    - To do this, I wrote the function `execute()`. In this function, I set a number of train-test cycles (`steps`), a total length of the train-test data (`periods` datapoints) and a number of datapoints between the starting points of each consecutive train-test cycle (`buffer_step`).\n  \n\n## II.4 Benchmark\n\nThe benchmark given in the project outline was +/- 5% of the stock price 7 days out. That seems reasonable to start.\n\nThat is, our benchmark will be a **root mean squared percentage error of 5%**.\n\n# III. Methodology\n\n## III.1 Data Preprocessing\n\n### Minor edits\n1. On opening the CSV and sampling it with `df.head()`, I realised the CSV had no header. I added a header to the CSV:\n```python\ndf = pd.read_csv('~/lse-data/lse/WIKI_20160909.csv', header=None, names=header_names)\n```\nwhere `header_names` was an slightly edited header I'd obtained from downloading the data for an individual stock from Quandl.\n\n### Examining Abnormalities\n\nI noted above that there were datapoints with opening price, high, low and closing price of 0.0. Were these mistakes? On investigating the data, it is plausble these were not mistakes.\n\n<table>\n<tr><th></th><th>Symbol</th><th>Date</th><th>Open</th><th>High</th><th>Low</th><th>Close</th><th>Volume</th><th>Ex-Dividend</th><th>Split Ratio</th><th>Adj. Open</th><th>Adj. High</th><th>Adj. Low</th><th>Adj. Close</th><th>Adj. Volume</th></tr>\n<tr><td>1047193</td><td>ARWR</td><td>2002-10-11</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>65000.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>100.000000</td></tr>\n<tr><td>1047194</td><td>ARWR</td><td>2002-10-14</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>0.00</td><td>0.0</td><td>0.000000</td><td>0.000000</td></tr>\n<tr><td>7608936</td><td>LFVN</td><td>2003-02-21</td><td>0.0</td><td>0.01</td><td>0.0</td><td>0.01</td><td>27200.0</td><td>0.0</td><td>1.0</td><td>0.0</td><td>4.76</td><td>0.0</td><td>4.760000</td><td>57.142857</td></tr>\n</table>\n\nI've included three examples in the table above. The third example shows that the figures may not actually be zero but may be zero to one or two decimal places: the open and low prices were 0.0, but the high and close prices were 0.01.\n\nI assembled a list of stocks where the open or close was equal to 0 and will examine individual stocks on the list if they end up as features I'd like to use in my model.\n\n### Feature Engineering\n\n### 1. Daily and Percentage Variation\n\nReasoning: This is an indicator of how volatile prices have been. If the daily variation has been higher recently, that may mean there is a lot of uncertainty and that we can expect more fluctuations or that we shouldn't take big one-day changes too seriously when considering long-term predictions. \n\nI calculated the daily absolute and percentage variation (adjusted and unadjusted) for the entire data frame.\n\n### 2. Prices of related stocks (Oil stocks)\n\nReasoning: BP's stock price is affected by how people feel about oil in general. Thus prices of oil stocks may correlate positively or negatively (if they are direct competitors) with BP's prices.\n\nI obtained a list of oil companies listed on the LSE by searching for stocks with the same group code (537 for oil) in `list-of-all-securities-ex-debt.csv`.\n\nUnfortunately there was only one other oil stock on my list that I found in this database (`GAIA`), so instead of creating an aggregated dataframe, I only included `GAIA`'s data in my additional set of features.\n\nImprovement for future studies: Collect data from another data source to come up with a more informative feature.\n\n#### Adding GAIA Features\nThe GAIA trading dates started on 1999-10-29 whereas the BP trading dates started much earlier, so that cut out a large portion of the dataset. Data had to be taken out because it did not make sense to create proxy values for 20+ years' of volatile price data.\n\n**Complications** There was also a discrepancy in the trading dates. We have data for BP and GAIA on every trading day from 1999-10-29 to 2014-10-02, but beyond that the data for GAIA is incomplete. There was no information on GAIA trading on the second, fourth or fifth of October 2014 (whereas there was for BP). Thus our dataset is pared down even further to a size of 3754 as opposed to 10010 for BP. This is a huge cut.\n\n### 3. Prices of FTSE100\n\nReasoning: Stock prices are also affected by how people feel about the market in general. The FTSE100 is fairly representative of the performance of the market in general, so including it as a feature can help us account for that aspect.\n\n**Complications** There were 158 dates for which we had BP trading data but not FTSE trading data. (This is unexpected because the FTSE should have values on all trading days. The discrepancy is likely due to problems with the data source. This is unexpected because the data source for FTSE prices was Google Finance, which should be reliable.) \n\nBut because there were only 158 NaNs and they were spread thinly over 8000 datapoints, it made it impossible to truncate a large section with no NaNs that would be large enough to do multiple rounds of meaningful training and testing on. \n\nI thus proxied the missing prices by taking the means of the the FTSE prices from the trading day before and the trading day after. If those were also NaNs, I moved either one day forward or one day backward. (See `# Proxy remaining NaNs` in 1.2.2.3.) Since the FTSE does not usually fluctuate wildly, I considered the mean to be a reasonable proxy.\n\nAs with prices of oil stocks, an improvement would be to consult another data source to fill in the gaps.\n\n## III.2 Initial implementation\nI initially implemented the Linear Regression algorithm with the following basic features:\n* Adjusted Close prices on each of the 7 days prior to the first prediction date\n* Max Adjusted High and Min Adjusted Low for that 7-day period prior to the first prediction date.\n\n### Process:\n1. Construct dataframe `X` containing initial features and dataframe `y` with 'Adjusted Close' prices.\n    - This required some setting up to extract the relevant features from the dataset and put them in an appropriately formatted dataframe. This is in the first half of `prepare_train_test()` function in part 2.1 of `III. Methodology - Code.ipynb`.\n    - The `y` target `nday_prices` had prices for the next `n` days.\n2. Split `X` and `y` into training and test datasets.\n    - I wrote my own function to do this (initially in `train_test_split_noshuffle` before I absorbed it into `prepare_train_test()`) instead of using sklearn's `train_test_split`. This was because sklearn's function automatically shuffles the data. Shuffling the data is okay and desired for situations in which data is not ordered, but is not okay for time-series data. \n    - As stated in the *Algorithms and Techniques* section, if the data were shuffled, e.g. the adjusted close price for 1 Sept 2016 might be in the training set. We might then be asked to predict the adjusted close prices for the 7 days after 31 Aug 2016, which would include the price for 1 Sept 2016 which we'd have seen before. That's cheating.\n3. Train model on training data.\n    - Because there were multiple outputs to predict in `nday_prices` (the model had to forecast prices for each of the 7 trading days after the last date it was given), I wrapped `MultiOutputRegressor` from sklearn's `multioutput` module around my classifier.\n    - This is in the first half of the function `classify_and_metrics` in `2.2 Classifier` in `III. Methodology - Code.ipynb`.\n4. Ask model to predict prices on test features.\n5. Print metrics\n    - I included this in `classify_and_metrics()` using my helper functions `rmsp()` (root mean squared percentage error) and `print_metrics()`. See Section `2.2 Classifier` in `III. Methodology - Code.ipynb`.\n\n#### Refactoring\nI refactored the code so that I could run a full (1) train-test split, (2) train classifier, (3) test classifier and print metrics cycle using only one line. To do this, I wrapped all the functions those processes with the `execute()` function.\n\n### Initial Results\nThe results are shown below. I also tried using an SVM regression for comparison. \n\n#### Linear Regression\n<table>\n<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\n<tr><td>1</td><td>1.669</td></tr>\n<tr><td>2</td><td>2.422</td></tr>\n<tr><td>3</td><td>2.968</td></tr>\n<tr><td>4</td><td>3.407</td></tr>\n<tr><td>5</td><td>3.834</td></tr>\n<tr><td>6</td><td>4.230</td></tr>\n<tr><td>7</td><td>4.590</td></tr>\n</table>\n\nMean R2 score: 0.807. Ranged from 0.606 to 0.936.\n\n#### SVM.SVR\n<table>\n<th>Days after last training date</th><th>Mean Root mean squared daily percentage error (across 8 distinct train-test sets)</th>\n<tr><td>1</td><td>11.230</td></tr>\n<tr><td>2</td><td>11.460</td></tr>\n<tr><td>3</td><td>11.761</td></tr>\n<tr><td>4</td><td>12.022</td></tr>\n<tr><td>5</td><td>12.323</td></tr>\n<tr><td>6</td><td>12.667</td></tr>\n<tr><td>7</td><td>13.060</td></tr>\n</table>\nMean R2 score: -2.044. Ranged from -9.156 to 0.822.\n\nThe Linear Regression did surprisingly well, with a mean R2 score above 0.807 overall for 7-day predictions and a mean RMS percentage error of under 5% for forecasts 7 days away. \n\nThe SVM regression did horribly - it had a negative mean R2 score (-2.044) and negative median R2 score, which means it was worse than guessing randomly. It had a mean RMS percentage error of over 24% for all number-of-days ahead predicted.\n\nIt is impressive that the Linear Regression model did so well with such basic features.\n\n## III.4 Refinement\n\n### 1. Adjusting parameters\n\nAs discussed in Analysis: Algorithm Parameters, there is only one parameter that it may be useful to adjust (`normalize`).\n\nI ran the algorithm with `normalize=True` to see if it produced better results. The metrics returned were exactly the same as when, by default, `normalize=False`.\n\n### 2. Add features (Feature Selection)\n\nI then experimented with adding the features I'd engineered earlier. (See *Data Preprocessing: Feature Engineering* for more details on how these features came about.)\n\n#### 2.1 Adding more of the same type of features:\n\nIn the first implementation, I only used prices from the 7 days running up to the first prediction day. I then tried using prices from 10, 14, 21 and 30 days running up to the first prediction day. \n\nReasoning: If we have more data, it makes sense to use it if we are confident it will give us better results.\n\nTo do this, I changed the value of the parameter `days` in the function `execute`, which trains and tests the classifier and prints metrics. \n\n\n#### Mean Daily Error across 15 trials\n<table>\n<th>Day to predict</th><th>7d (used)</th><th>10d</th><th>14d</th><th>21d</th><th>30d</th><th>100d</th>\n<tr><td>1</td><td>1.669</td><td>1.732</td><td>1.729</td><td>1.746</td><td>1.784</td><td>1.924</td></tr>\n<tr><td>2</td><td>2.422</td><td>2.543</td><td>2.526</td><td>2.555</td><td>2.593</td><td>2.768</td></tr>\n<tr><td>3</td><td>2.968</td><td>3.138</td><td>3.103</td><td>3.113</td><td>3.152</td><td>3.370</td></tr>\n<tr><td>4</td><td>3.407</td><td>3.579</td><td>3.586</td><td>3.586</td><td>3.633</td><td>3.890</td></tr>\n<tr><td>5</td><td>3.834</td><td>3.939</td><td>4.002</td><td>3.991</td><td>4.048</td><td>4.355</td></tr>\n<tr><td>6</td><td>4.230</td><td>4.269</td><td>4.372</td><td>4.342</td><td>4.392</td><td>4.769</td></tr>\n<tr><td>7</td><td>4.590</td><td>4.543</td><td>4.702</td><td>4.658</td><td>4.705</td><td>5.163</td></tr>\n</table>\n\nWe can see that mean RMS percentage error is slightly smaller in one instance (using 10d instead of 7d to predict precisely 7 days ahead),but otherwise that mean RMS percentage error is greater as the number of days of data given increases.\n\nThis is because more days' of data in this case means more features (e.g. for 100 days' of data we have 102 features). This increases the risk of overfitting.\n\n\n#### 2.2 Adding GAIA (Oil Stock) Prices\n\nThere were far fewer datapoints to work with because of date inconsistencies (3753 datapoints vs 10010 for the BP-only model), so I decreased the step length (the difference between start dates) between consecutive trials to 200 from 500. This does not affect individual trial performance, but reduces the variety of data used for trials. We should bear this in mind when comparing performance of adding GAIA prices as features and not adding GAIA prices as features. \n\n<table>\n<th>Day to predict</th><th>7d (no GAIA)</th><th>7d (GAIA)</th><th>10d (no GAIA)</th><th>10d (GAIA)</th>\n<tr><td>1</td><td>1.669</td><td>1.744</td><td>1.732</td><td>1.751</td></tr>\n<tr><td>2</td><td>2.422</td><td>2.444</td><td>2.543</td><td>2.467</td></tr>\n<tr><td>3</td><td>2.968</td><td>2.938</td><td>3.138</td><td>2.978</td></tr>\n<tr><td>4</td><td>3.407</td><td>3.424</td><td>3.579</td><td>3.479</td></tr>\n<tr><td>5</td><td>3.834</td><td>3.881</td><td>3.939</td><td>3.946</td></tr>\n<tr><td>6</td><td>4.230</td><td>4.294</td><td>4.269</td><td>4.368</td></tr>\n<tr><td>7</td><td>4.590</td><td>4.702</td><td>4.543</td><td>4.816</td></tr>\n</table>\n\n*Trial information: (1) Not GAIA: Mean over 15 trials, buffer step = 500. \n(2) GAIA: Mean over 13 trials, buffer step = 200. 1000 periods used (800 to train, 200 to test) per trial*\n\nWhen considering 7 days' worth of data, adding GAIA features produces predictions with a similar mean RMS percentage error. The mean error is higher for 6 out of 7 days-ahead (the exception being 3 days ahead).\n\nWhen considering 10 days' worth of data, adding GAIA features performs slightly better for 2-4 days-ahead (0.08%, 0.16%, 0.1% improved) and slightly worse for all other days-ahead (0.02%, 0.01%, 0.1%, 0.27% worse). But these mean RMS percentage errors are all larger than the 7-day no-GAIA mean RMS percentage errors.\n\n**Action**: I conclude that adding GAIA features in this way does not reliably produce better results, likely because additional features increase the risk of overfitting.\n\n**Interpretation**: It makes sense because BP prices would not correlate perfectly in one direction or the other with GAIA prices: oil companies' stock prices incorporate sentiment about oil but companies are also often in different regions and compete against each other, muddying correlations.\n\n#### 2.3 Adding related features: FTSE100\n\nThe timespan used for no-FTSE and with-FTSE trials was similar (since we had over 8000 FTSE datapoints), so we can compare the two more readily than we could compare the no-GAIA and with-GAIA figures.\n\n<table>\n    <th>Day to predict</th><th>7d (no FTSE)</th><th>7d (FTSE)</th><th>10d (no FTSE)</th><th>10d (FTSE)</th>\n<tr><td>1</td><td>1.669</td><td>1.518</td><td>1.732</td><td>1.531</td></tr>\n<tr><td>2</td><td>2.422</td><td>2.222</td><td>2.543</td><td>2.230</td></tr>\n<tr><td>3</td><td>2.968</td><td>2.733</td><td>3.138</td><td>2.743</td></tr>\n<tr><td>4</td><td>3.407</td><td>3.179</td><td>3.579</td><td>3.187</td></tr>\n<tr><td>5</td><td>3.834</td><td>3.545</td><td>3.939</td><td>3.574</td></tr>\n<tr><td>6</td><td>4.230</td><td>3.857</td><td>4.269</td><td>3.910</td></tr>\n<tr><td>7</td><td>4.590</td><td>4.162</td><td>4.543</td><td>4.236</td></tr>\n</table>\n\n\n*Trial information: (1) Not FTSE: Mean over 15 trials, buffer step = 500. \n(2) FTSE: Mean over 15 trials, buffer step = 450. 1000 periods used (800 to train, 200 to test) per trial*\n\nFinally something that performs better than the initial model!\n\nAdding FTSE features makes the model perform better than not adding FTSE features when considering 7 days' or 10 days' worth of data. Using 7 days' worth of data is better than using 10 days' worth of data (reduces overfitting), but it's worth noting that adding FTSE features and using 10 days' worth of data is better than using 7 days' of data but not including FTSE data. \n\nThis is a significant improvement. Note that the percentage error reduction increases the further away the prediction is (0.4% reduction for 6-7 days ahead vs 0.15% reduction for 1 day ahead).\n\nImprovement (Implementation): Generalise functions `prepare_train_test_with_ftse()` so I don't have to write a function for each dataframe join.\n\n# IV. Results\n\n## IV.1 Model Evaluation and Validation\n\n### Model Choice\n\nThe final model is \n- Features:\n    - BP Adjusted Close, max BP Adjusted High, min BP Adjusted Low for 7 days prior to the first prediction date.\n    - FTSE Close, max FTSE High and min FTSE Low for 7 days prior to the first prediction date.\n- Classifier:\n    - Default Linear Regression (`sklearn.linear_model.LinearRegression`)\n- Target: \n    - Predict BP Adjusted Close prices for 7 days after the final training date.\n    \nThis model had the **lowest mean root mean squared percentage error** across over 10 trials (across timespans of around 30 years) out of all the models I tried.\n\nInsight: Most of the improvements I tried to make only made the model worse. This goes to show that added complexity doesn't necessarily make a model better, especially when that complexity contains much noise.\n\n### Generalisability\nWhen we evaluated the model in the previous section, each iteration of the model was run on 13-15 training and test sets. We then looked at the mean daily root mean squared percentage error. This **variation of input data** is to ensure that the model can generalise well and does not only perform well on one set of data.\n\nThere are two types of metrics we need to look at: mean performance and variance of performance. Both are encapsulated in mean daily RMS percentage error because (1) it measures the performance (error) and (2) it penalises larger errors more because we sum the squared percentage errors before taking the square root. Additionally, by observation, the error of our chosen model does not vary significantly from trial to trial.\n\n#### Performance Metrics\n\n<table>\n    <th>Day to predict</th><th>Mean root mean squared percentage error across 15 trials</th>\n<tr><td>1</td><td>1.518</td></tr>\n<tr><td>2</td><td>2.222</td></tr>\n<tr><td>3</td><td>2.733</td></tr>\n<tr><td>4</td><td>3.179</td></tr>\n<tr><td>5</td><td>3.545</td></tr>\n<tr><td>6</td><td>3.857</td></tr>\n<tr><td>7</td><td>4.162</td></tr>\n</table>\n\n## IV.2 Justification (Comparison with expectations)\n\nOverall, this model aligns with solution expectations and on average performs slightly better than the benchmark of predicting within +/- 5% of the stock's adjusted closing price 7 days after the last training date. The model has mean performance of 4.162% error predicting adjusted closing price 7 days ahead. \n\nThe solution gives a reasonably accurate predictions but it **is not significant enough** to reliably give advice on trades because a 5% error is significant in trading. There are also transaction costs with every trade, which would cut into profits.\n\n\n# V. Conclusion\n\n## V.1 Free-Form Visualisation\n\n### Plotting predictions compared with actual prices\n\nThis graph visualises the 7th-day predictions compared with the actual adjusted close prices.\nBy 7th-day predictions, I am referring to the price predicted for e.g. Sept 7 if we are given training data up till Aug 30th. The purpose is to see how predictions vary with actual prices. I picked 200 datapoints to visualise because visualising all the points at once does not provide much insight.\n\n<img src=\"images/freeform-viz-200-points.png\" />\n\nHere is the visualisation with all points for reference:\n\n<img src=\"images/freeform-viz-all-points.png\" />\n\n## V.2 Reflection\n\n### Summary\n\nIn this project, we predicted BP's stock price. \n\nInitially we used a linear regression only on BP stock prices from the past 7 days, which produced impressive results, with 7-day predictions having a root mean squared percentage error of 5.4%.\n\nIn this initial iteration, we perfomed the following steps:\n1. Import data (CSV) and format it as a Pandas Dataframe\n2. Create features  dataframe: Select features we wanted to use and put it into a separate dataframe\n3. Create target dataframe (Prices for 7 days following the last date provided in the features).\n4. Split into training and testing sets. (No shuffle because we are dealing with time series data.)\n5. Train chosen classifier.\n6. Predict test target.\n7. Evaluate test target and print evaluation metrics.\n\nAfter the initial iteration, I then repeated the process firstly with different classifiers (altering parameters, tried SVM regression) and then with new features (more days' worth of data, GAIA data, FTSE data). \n\nI then chose the model with the lowest mean root mean squared percentage error, which was a Linear Regression classifier trained on 7 days of BP and FTSE data (Close, max High and min Low prices. Adjusted for BP, not adjusted for FTSE).\n\n### Interesting Aspects of the Project\n1. **Coming up with new features from scratch as opposed to selecting them from a given set**. This resulted in much analysis paralysis because the universe of possible features is so large.\n2. **Collating data from different sources.** I wanted to use FTSE prices that weren't in the Quandl database I downloaded, so I wrote a Python script to scrape the data from Google Finance. I then had to combine this data with the BP price data. This was made more tedious because there were missing data values when I joined the two dataframes by dates, so I also had to **proxy data values**.\n2. **A simple model turned out to be better than several more complex models.** E.g. Linear Regression did better than SVM regression, and adding GAIA features or increasing the number of days' worth of data we considered both made increased RMS percentage error.\n\n### Difficult Aspects of the Project\n1. It was hard **selecting the algorithm** to use for this problem. \n    - It seemed as though any regression algorithm could work - and there are so many of them! I dealt with this by (1) first implementing an SVM regression to get the code to implement the algorithm down on the page so things would feel more concrete. Then I (2) chose the simplest algorithm that seemed to fit the problem and tried that.\n    - I was also conflicted as to whether or not I should use reinforcement learning. On the one hand there are profits that can act as rewards, but on the other hand trading would not impact the environment.\n2. **Putting different features together** in a dataframe took effort. \n    - Different stocks or indices had data for different dates (e.g. some had data for 1984-04-20, some didn't). I had to find these differences and decide what to do with missing data. \n3. There were **many possible features**. \n    - The project just got longer and longer and I hadn't even looked through half of the features I wanted to investigate or tried different algorithms. I decided to test out only a few features in this exploratory study and leave the rest for another study.\n    \nIt is worth noting that the interesting and difficult parts of this project overlapped.\n\n## V.3 Improvements\n\n<table>\n<th>Improvement</th><th>Expected Change</th>\n<tr><td>1. Try a wider selection of features.\n    - Stocks from other stock markets (e.g. NYSE)\n    - Company-specific figures such as P/E ratios</td><td>More accurate model</td></tr>\n<tr><td>2. Obtain and combine data from different data sources to minimise missing data\n    - e.g. FTSE100 prices because they must exist somewhere.</td><td>Increase number of datapoints with accurate data and so improve predictive range and capabilities</td></tr>\n<tr><td>3. Add measure of confidence for predictions (Probabilities)</td><td>Better idea of how reliable each prediction is so we can then recommend trades for high-confidence, postive-profit predictions.</td></tr>\n</table>\n\n### Things to Explore\n1. Try more algorithms (different classes).\n    - Different types of regressions\n    - Reinforcement Learning\n    - Deep Learning, Ensembles</td><td>Generically \n\n2. It would also be interesting to try this as a binary classification problem (predicting whether the price would go up or down) as opposed to predicting the exact price.\n\n### A Better Solution?\nGiven the openness of this problem and the large universe it is contained in, I am confident that better solutions exist. That is a beautiful characteristic of this problem - than many things (even things which are beyond the scope of financial figures and stock prices, such as Wikipedia page views) can be used as features or proxies for stock prices.\n"
  }
]